第七届全国大学生智能汽车邀请赛技术报告
5.7 实物图
5.4 PID控制
5.4.1 PID简介
在过程控制中,按偏差的比例(P)、积分(I)和微分(D)进行控制的
P控制器(亦称PID调节器)是应用最为广泛的一种自动控制器。它具有原理简单,易于实现,适用面广,控制参数相互独立,参数的选定比较简单等优点;而且在理论上可以证明,对于过程控制的典型对象──“一阶滞后+纯滞后”与“二阶滞后+纯滞后”的控制对象,PID控制器是一种最优控制。PID调节规律是连续系统动态品质校正的一种有效方法,它的参数整定方式简便,结构改变灵活(PI、PD、?)。 参数的选择:
①比例系数P对系统性能的影响:比例系数加大,使系统的动作灵敏,速度加快,稳态误差减小;P偏大,振荡次数加多,调节时间加长;P太大时,系统会趋于不稳定;P太小,又会使系统的动作缓慢。P可以选负数,这主要是由执行机构、传感器以及控制对象的特性决定的。如果P的符号选择不当对象测量值就会离控制目标的设定值越来越远,如果出现这样的情况P的符号就一定要取反。同时要注意的是,力控的策略控制器的PID控制块的P参数是PID控制中的增益。
②积分控制I对系统性能的影响:积分作用使系统的稳定性下降,I小
25
第五章 软件系统设计与实现
(积分作用强)会使系统不稳定,但能消除稳态误差,提高系统的控制精度。
③微分控制D对系统性能的影响:微分作用可以改善动态特性,D偏大时,超调量较大,调节时间较短;D偏小时,超调量也较大,调节时间也较长;只有D合适,才能使超调量较小,减短调节时间。 PID表达式分为位置式和增量式。
离散化PID的位置式:
U(t)=Kp*e(t)+Ki*Σe(t)+Kd*(e(t)-e(t-1));
离散化PID的增量式:
△U(t)=Kp*(e(t)-e(t-1))+Ki*Σe(t)+Kd*(e(t)-2*e(t-1)
+e(t-2));
5.4.2 舵机控制
车的前瞻为1m,充分利用了摄像头的优势,而且保证图像的准确性。 智能车上的舵机控制是开环控制,而且更多的是要求快速反应,所以我们选择PD控制。从硬件上,我们对舵机以7V的直流电压供电,控制频率为50Hz。
由于赛道类型的不断变化,我们的舵机控制模式也在不断变化,参数也在变化。远近行的变化不能适应D控制的方法,所以对于D控制,我们选择了固定行,也就用某一固定行的中点位置和图像的实际中点位置的差值,作为D控制的依据。通过实际测试和实验,我们选择了第三十三行作为固定行,实际距离大概50cm。这样对于大S和直角弯的控制都一定改善。 程序代码:
direction=(int)(center-kp1_R*(ROWS-control_hang)+kd1*D +servo_add2);
5.4.3 电机控制
为了确保小车的加减速性能,我们采用了一定带宽内的PID控制和棒棒
26
第七届全国大学生智能汽车邀请赛技术报告
控制的结合。就是在当前速度小于某一个值时,给100%占空;大于某个值时,给反转或者0%占空;在这个区域范围内就用PID控制。这样,就能使小车在直道以高速行驶,遇到弯道及时减速,并且在弯道以某一个较低的速度恒速行驶。实验证明,这样的控制不仅在弯道能速度稳定,而且加减速及时。
电机PID控制代码:
out=(int)(last_pwm+(int)(Kp*((speed_set-speed_now)
-(speed_set0-speed_last0))))+(int)(Ki*(speed_set-speed_now) +(int)(Kd*((speed_set-speed_now)-2*(speed_set0-speed_last0) +(speed_set1-speed_last1))));
27
第六章 调试软件
第六章 调试软件
6.1 开发工具
程序开发在组委会提供的CodeWarrior IDE下进行,Code Warrior是由Metrowerks公司提供的专门面向Freescale所有MCU与DSP嵌入式应用开发的软件工具。其中包括集成开发环境IDE、处理器专家、全芯片仿真、可视化参数显示工具、项目工程管理、C 交叉编译器、汇编器、链接器以及调试器。其中在本设计中主要使用集成开发环境和调试器,即IDE和hiwave。 现代单片机具有很强的在线编程和调试功能,Freescale S12系列单片机就具有BDM(Background Debug Mode)功能,可以实现在线程序下载和在线背景调试功能。使用清华大学Freescale MCU/DSP 应用开发研究中心开发的BDM for S12,配合CodeWarrior的hiwave.exe在线调试器,即可实现从程序下载到在线调试的完整功能。
图6.1 编译软件界面
6.2 MultiViewer
为了观察摄像头采集图像的直观效果,我们还采用MultiViewer作为辅
28
第七届全国大学生智能汽车邀请赛技术报告
助开发调试工具。
MultiViewer(简称MTV)是网视迅基于IP网络专业的远程网络视频管理客户端软件,支持图像和语音双向传输,可以通过任何IP网络进行数字视频的管理,可以简化复杂网络结构的前端远程视频管理;
MTV配合“网视迅”全系列的远程视频服务器、网络摄像机,有效地结合CCD,无限延伸视频,包括:微波无线网络摄像机、网络摄像机、CDMA无线网络摄像机、微波无线网络视频服务器、网络视频服务器、CDMA无线网络视频服务器; MTV 软件在Windows XP/2003 上运行,MTV分布式结构可以同时直播个管理自多个Media services的视频流,并可同时存储图像信息。与传统的DVR系统相比,MTV不需要从监控中心大规模铺设电缆到前端监控点。还可以在任意指定的网上分布存贮,提供在多个地点用全双工方式存储和观看任何镜头图像和操作报警的功能。
图6.2 图像
29