需要相对科学的设计智能测的速度控制器,就要先测量车模的传递函数。
车模传递函数的测量方法
给电机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的最大加速度,还有点想打滑,可能是我的轮子磨的不好吧。

这是我实际测量的响应曲线,和仿真差距不是很大,说明这个设计很成功。

通过这种仿真加实际测量的方法,能够更清楚的可视化调车过程中的问题,提高调车的效率和我们对理论知识的理解。

智能车速度控制器设计相关推荐

  1. 第十七届智能车竞赛LOGO设计

    简 介: 在(2021-12-27)进行的修改和确认.在上述第三种方案基础上,给出了选择,修改意见. 关键词: 智能车竞赛,LOG #mermaid-svg-1MVTFcNiESAORYcp .lab ...

  2. 第十六届智能车竞赛赛道设计第一版本

    简 介: 对于第十六届智能车竞赛赛道设计给出了最初第一版本的设计方案. 关键词: 智能车竞赛,赛道设计 §01 智能车竞赛赛道 1.比赛赛道形式   在 第十六届智能车竞赛 中包括有八个竞速赛赛题组, ...

  3. 基于51单片机的智能加湿控制器设计

    引言 在当下经济不断发展,科学不断进步,人类不断进化的今时今日,人们对生活品质 的要求也随之发生变化.而空气质量对人们生活的影响越来越深,湿度作为影响空气质 量的重要指标之一,对人们的生活有重要的影响 ...

  4. 基于单片机(STM32F103ZE)的智能家居集成控制器设计

    目 录 1.引言 1 1.1 智能家居的简介 1 1.2 国内外的现状及发展趋势 1 1.3 本课题研究的目的和意义 3 1.4 本课题研究的基本内容 3 1.5 本章小结 3 2.系统的总体方案设计 ...

  5. 【PCB学习笔记】绘制智能车四层板 --- PCB设计规则设置及手工布线

    PCB电路板应该大部分跟电打过交道的工科生都不会陌生.作为一个电控选手,我对PCB板也非常熟悉,并且也上过相关的实验课程,也有模电数电的基础.但是由于一直专注在代码层面,负责机器人的控制算法,仿真的实 ...

  6. 基于RT-Thread操作系统的 基础四轮组智能车设计与实践

    学 校: 同济大学 队伍名称: 智行·龙卷风 参赛队员: 杨怡,韦炳宇,许泽华 带队教师: 张志明,余有灵 §01 引言 1.1全国大学生智能车竞赛介绍 全国大学生智能汽车竞赛是以智能汽车为研究对象的 ...

  7. 智能车竞赛技术报告 | 智能车视觉 - 南京邮电大学 - 栅库砸车跑路队

    学 校:南京邮电大学  队伍名称:删库砸车跑路队 参赛队员:刘乐      孙锐      甘翠      带队教师:江兵      刘烨      第一章 方案设计   本章主要介绍智能汽车系统总体 ...

  8. 第十六届全国大学生智能车竞赛技术报告 | 单车拉力组- 上海海事大学-骑摩托的蒙娜丽莎

    简 介: 本文设计的智能车系统以 STC16F40K128微控制器为核心控制单元,通过车体前方的电感检测赛道电磁信息,通过编码器检测智能车的实时速度,利用陀螺仪检测小车姿态,使用PID 控制算法调节电 ...

  9. 智能车竞赛技术报告 | 智能车视觉 - 青岛科技大学 - 飞猪

    学 校:青岛科技大学 队伍名称:飞猪     参赛队员:于辰     国家宇    胡东哲    带队教师:邢关生    陈为     第一章 引言   随着时代的前进和科技的进步,电子科技的发展越发 ...

最新文章

  1. matlab中基本函数的用法
  2. matlab里符号的写法,Matlab中特殊符号的写法
  3. 对cookie与session的理解
  4. go 根据输入类型执行对应的方法_Go 每日一库之 sqlc
  5. 好久没有来CSDN了,这段时间比较忙。。
  6. python成绩区间曲线图_Python重现论文图表之【包含置信区间的折线柱状图】
  7. VMware网卡配置
  8. ImageFieldFile:XXXX is not JSON serializable
  9. linux脚本自动 输入命令,Linux脚本自动输入密码
  10. IE降级命令(以IE11为例)_原水_新浪博客
  11. VSCode 摸鱼神器,确定不试一下?
  12. 你的CRM系统为什么用不起来?
  13. ssh连接Linux机器一直让输入密码
  14. Tiled结合Unity做地图——Tiled2Unity
  15. 309. Best Time to Buy and Sell Stock with Cooldown**
  16. 基于采样的路径规划算法RRT和代码实现
  17. 【C++ set的基本操作】
  18. Java中if语句详解
  19. Mozilla准备推付费版Firefox浏览器
  20. 微型计算机 运算器的功能,微型机运算器的主要功能

热门文章

  1. 杰理之修改提高摄像头源视频输出帧率,确定摄像头源输出高帧率【篇】
  2. nike blazer schweiz hinter dem Handtuch
  3. YOLO v5 python版本TensorRT推理
  4. 【通信】基于短波通信系统仿真matlab源码含 GUI
  5. php 整形转浮点型,整型与浮点型相互转换
  6. hbase 源码分析 (14) spit 过程
  7. 社交新零售系统开发介绍
  8. 烤仔观察 | 风口上的“大哥”——黄立成
  9. 用sqlyog导入mysql中文数据乱码问题
  10. 2D网络游戏开发(网络篇)(四)