智能车速度控制器设计
需要相对科学的设计智能测的速度控制器,就要先测量车模的传递函数。
车模传递函数的测量方法
给电机25%的占空比让车在直道上行走,直致速度基本稳定。测量并这一过程中的数据,导入MATLAB。
下图黑色就是是我测量的车模开环响应去线。
然后这里默认车模为二阶模型,进行传递函数的试凑,这里我只会试凑,还没有更好的办法,有的话可以告知我。
通过试凑得到的车模传递函数。
clear
clc
%运行次数
round_time = 650;
%时基
ts = 0.02;
%位置
pos = 1:1:round_time;
%时间轴
times = pos*ts;
y = zeros(1,round_time);time = load('time3.mat');
value = load('value3.mat');
time = time.time;
value = value.value;
time = time*0.02;
value = value*0.00876*50;
plot(time,value,'black');
diff_value = diff(value)/ts;
L = size(value);
L = L(1);
diff_value(L) = 0;ylabel('速度cm/s');
xlabel('时间/s');sys=tf(2.31,[0.12,2.45,2.3]) %建立被控对象传递函数
dsys = c2d(sys,ts,'z');
[num,den] = tfdata(dsys,'v');for i=posif(i>2)u(i) = 121;y(i) = -den(2)*y(i-1)-den(3)*y(i-2)+num(2)*u(i-1)+num(3)*u(i-2);end
end
hold on
plot(times,y)
plot(times,u,'r')
hold off
figure(2)
plot(time,diff_value,'black');
这是试凑和导入数据用的M文件,修改sys=tf(2.31,[0.12,2.45,2.3]) 这句话里面的数据,直至绘制的曲线和实测数据相差不多,车模的传递函数大概就测量出来了。
PID控制器的仿真设计和实际运行
然后再MATLAB中进行PID控制器的仿真运行,带入刚刚测得小车的传递函数,设计好的参数,再写入实际小车就可以了。
clear
clc
slect = 1;
%运行次数
round_time = 5000;
%步进
step = 5;
%时基
ts = 0.02;
%位置
pos = 1:1:round_time;
%时间轴
times = pos*ts;
u = zeros(1,round_time);
y = zeros(1,round_time);
error = zeros(1,round_time);
for i=posif i > 2
%%
%PID控制error(i) = input(i) - y(i-1);I = I + error(i);u(i) = 2.5 * error(i) +0.06* I + 2.0*(error(i) - error_1);if(u(i) > 980)u(i) = 980;else if(u(i) < -980)u(i) = -980;endendy(i) = -den(2)*y(i-1)-den(3)*y(i-2)+num(2)*u(i-1)+num(3)*u(i-2);error_1 = error(i);end
end
diff_y = diff(y)/ts;
diff_y(round_time) = 0;
figure(1);
plot(times,diff_y);
figure(2);
plot(times,input,times,y);
通过不断的调试PID参数,使仿真的阶跃响应达到理想的快速性和超调量时基本可以下载程序,测量车的实际响应曲线进行对比。
仿真的阶跃响应图
这里一定要注意,这条蓝色曲线,取的系统输出的差分值,因此这里代表的是加速度,因为实际中赛道的摩擦力不是无限的,所以必须保证这条曲线的最大峰值不超过实际的摩擦力,这里是2.5m/s^2的最大加速度,还有点想打滑,可能是我的轮子磨的不好吧。
这是我实际测量的响应曲线,和仿真差距不是很大,说明这个设计很成功。
通过这种仿真加实际测量的方法,能够更清楚的可视化调车过程中的问题,提高调车的效率和我们对理论知识的理解。
智能车速度控制器设计相关推荐
- 第十七届智能车竞赛LOGO设计
简 介: 在(2021-12-27)进行的修改和确认.在上述第三种方案基础上,给出了选择,修改意见. 关键词: 智能车竞赛,LOG #mermaid-svg-1MVTFcNiESAORYcp .lab ...
- 第十六届智能车竞赛赛道设计第一版本
简 介: 对于第十六届智能车竞赛赛道设计给出了最初第一版本的设计方案. 关键词: 智能车竞赛,赛道设计 §01 智能车竞赛赛道 1.比赛赛道形式 在 第十六届智能车竞赛 中包括有八个竞速赛赛题组, ...
- 基于51单片机的智能加湿控制器设计
引言 在当下经济不断发展,科学不断进步,人类不断进化的今时今日,人们对生活品质 的要求也随之发生变化.而空气质量对人们生活的影响越来越深,湿度作为影响空气质 量的重要指标之一,对人们的生活有重要的影响 ...
- 基于单片机(STM32F103ZE)的智能家居集成控制器设计
目 录 1.引言 1 1.1 智能家居的简介 1 1.2 国内外的现状及发展趋势 1 1.3 本课题研究的目的和意义 3 1.4 本课题研究的基本内容 3 1.5 本章小结 3 2.系统的总体方案设计 ...
- 【PCB学习笔记】绘制智能车四层板 --- PCB设计规则设置及手工布线
PCB电路板应该大部分跟电打过交道的工科生都不会陌生.作为一个电控选手,我对PCB板也非常熟悉,并且也上过相关的实验课程,也有模电数电的基础.但是由于一直专注在代码层面,负责机器人的控制算法,仿真的实 ...
- 基于RT-Thread操作系统的 基础四轮组智能车设计与实践
学 校: 同济大学 队伍名称: 智行·龙卷风 参赛队员: 杨怡,韦炳宇,许泽华 带队教师: 张志明,余有灵 §01 引言 1.1全国大学生智能车竞赛介绍 全国大学生智能汽车竞赛是以智能汽车为研究对象的 ...
- 智能车竞赛技术报告 | 智能车视觉 - 南京邮电大学 - 栅库砸车跑路队
学 校:南京邮电大学 队伍名称:删库砸车跑路队 参赛队员:刘乐 孙锐 甘翠 带队教师:江兵 刘烨 第一章 方案设计 本章主要介绍智能汽车系统总体 ...
- 第十六届全国大学生智能车竞赛技术报告 | 单车拉力组- 上海海事大学-骑摩托的蒙娜丽莎
简 介: 本文设计的智能车系统以 STC16F40K128微控制器为核心控制单元,通过车体前方的电感检测赛道电磁信息,通过编码器检测智能车的实时速度,利用陀螺仪检测小车姿态,使用PID 控制算法调节电 ...
- 智能车竞赛技术报告 | 智能车视觉 - 青岛科技大学 - 飞猪
学 校:青岛科技大学 队伍名称:飞猪 参赛队员:于辰 国家宇 胡东哲 带队教师:邢关生 陈为 第一章 引言 随着时代的前进和科技的进步,电子科技的发展越发 ...
最新文章
- matlab中基本函数的用法
- matlab里符号的写法,Matlab中特殊符号的写法
- 对cookie与session的理解
- go 根据输入类型执行对应的方法_Go 每日一库之 sqlc
- 好久没有来CSDN了,这段时间比较忙。。
- python成绩区间曲线图_Python重现论文图表之【包含置信区间的折线柱状图】
- VMware网卡配置
- ImageFieldFile:XXXX is not JSON serializable
- linux脚本自动 输入命令,Linux脚本自动输入密码
- IE降级命令(以IE11为例)_原水_新浪博客
- VSCode 摸鱼神器,确定不试一下?
- 你的CRM系统为什么用不起来?
- ssh连接Linux机器一直让输入密码
- Tiled结合Unity做地图——Tiled2Unity
- 309. Best Time to Buy and Sell Stock with Cooldown**
- 基于采样的路径规划算法RRT和代码实现
- 【C++ set的基本操作】
- Java中if语句详解
- Mozilla准备推付费版Firefox浏览器
- 微型计算机 运算器的功能,微型机运算器的主要功能