方法为:先找出―小S型‖道最左边和最右边的坐标值,然后将最左边和最右边的坐标值相加之后再除以2,就得到了―小S型‖道的正中心坐标,智能车就可以沿着这个方向前进,而不需要转弯。但是,由于CMOS图像传感器扫描到的图像可能出线误差,那么智能车就有可能产生误判,而冲出赛道。因此为了保险起见,必须当―小S型‖道足够小时,才能采用直接冲的办法。通过本智能车的调试,建议当―S型‖道最靠左的黑线和最靠右的黑线之间相差的距离不大于40到50厘米才能采用这种算法。
4.3.8 起跑线的方向控制算法
起跑线的作用是让智能车可以在跑完两圈以后自动停车,也即是第三次检测到时,当检测到的次数不足三次时,应该直接忽略,当检测次数到达三次时就应该直接停车,也不应该影响到智能车的方向控制。
4.4速度控制方案
4.4.1 速度控制的重要性
要想智能车以最短的时间跑完整个赛道,不但要求优越的方向控制算法,让智能车尽量走更近的路,转更少的弯。而且对于速度控制算法也有很高的要求,智能车在行驶过程中,不能够完全匀速,在直道上应该提速,而在弯道上应该减速。
在智能车沿着黑线行驶的过程中,速度不能够恒定不变,而应该根据道路的具体形状进行适当的调整。当然,最好的方法是让智能车始终以最快的速度通过整个赛道,但是如果速度始终调得太高,当小车遇到急弯或者是圆道时必然无法转过来,就会冲出赛道。因此不能够始终给最快的速度。然而,如果速度调得始终过低,就无法以最短的时间通过赛道。因此,速度应该要随着检测到的道路形状变化而变化。例如当前方道路为直道或类似直道时,应该将PWM波提得最高,让通过主电机的电流达到最大,从而让智能车以最快的速度行驶。
第 22 页
当进入弯道时,应该将PWM波降到最低,让通过主电机的反向电流达到最大,从而让智能车以最短的时间将速度降到理想状态。
4.4.2 速度控制的算法设计
智能车速度控制的总体思路与智能车方向控制的思路完全相同,也是将道路的形状进行分类,对于不同的类给以不同的速度。而在某一时刻给出智能车的理想运行速度以后,采用棒-棒控制与PID控制相结合的算法实现对智能车的速度调节,以最短的时间使智能车达到这一理想速度。从而实现希望智能车的速度完全由道路情况所控制。
智能车速度控制的程序流程图如图4.6所示。
第 23 页
开始采集黑线坐标对黑线坐标进行校正对赛道分为许多段分别计算出各段赛道的弯曲程度识别道路的形状根据赛道形状给出智能车的理想速度检测智能车的当前速度设定一个比较阈值实测速度与理想速度之差是否超过该设定值NOYES采用棒-棒控制进行调速采用PID控制算法进行调速结束
图4.6 智能车速度控制总体流程图
第 24 页
4.5 棒-棒控制算法
4.5.1 棒-棒控制算法简介
棒-棒控制的基本思路是当检测到的输出量大于理想输入量时,就急剧将控制量增加到最大,让输出量以最快的速度减少,当检测到的输出量小于理想的输入量时,就急剧将控制量降低到最小,让输出量以最快的速度减少。
4.5.2 棒-棒控制算法用于该赛车系统
本赛车系统的速度控制采用了棒-棒控制与PID控制相结合的方式。其基本思路为:智能车的理想速度由当前的道路信息决定。当光电编码器检测到的速度与理想速度相差较远时,采用棒-棒控制;当光电编码器检测到的速度与智能车的理想速度逐渐接近以后,就采用PID控制。对主电机的控制是通过一个H桥,将H桥的两个口分别接单片机的两个管脚,在本系统中,H桥的两端分别接单片机口中的PTP3和PTP1,当PTP1为高电平,PTP3为高电平时,主电机全速正转,当PTP1为低电平,PTP3为低电平时,主电机全速反转。采用棒-棒控制进行速度控制的原理就是检测智能车的当前速度,如果当前速度低于理想的速度,就PTP3置为高电平,从PTP1口输出一路占空比很高的PWM波,电机就能以最大的加速度升速。反之,就把PTP3置为高电平,从PTP1口输出一路占空比很大的PWM波,从而让电机以最大的加速度降速。
4.5.3 棒-棒控制与PID控制两种方法结合的必要性
棒-棒控制算法由于其快速性非常好,而本赛车系统的速度调节也正好要求很好的快速性,因而在本智能车的调速过程中用到了棒-棒控制算法也就理所当然,但是,棒-棒控制算法在用于本赛车调速时也存在着一定的不足,由于主电机的数学模型为一个惯性环节,存在着一定时间的延时,因此如果仅仅使用棒-棒控制一种算法可能导致超调,也不可能达到稳定,且在任何时刻通过主电机的电流都始终为最大,只是在不同的时刻可能会出现一正一反。正是出现一正一反的这种情况,对主电机以及主电机驱动电路的冲击最大,
第 25 页
既造成整个智能车功耗的增加,又可能导致主电机及主电机驱动芯片因电流冲击过大而烧坏。因而在智能车的实际检测速度与理想速度接近时,可以采用PID控制算法,这样就既能实现调速的快速性,又能实现速度的平稳性,降低智能车的整体功耗,达到很好的调速效果。
4.6 PID控制算法
4.6.1 PID控制算法简介
PID控制是工程实际中应用最为广泛的调节器控制规律。问世至今70多年来,它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。单位反馈的PID控制原理框图如图4.7所示。
R+-eControlleruPlantY
图4.7 单位反馈的PID控制原理图
单位反馈e代表理想输入与实际输出的误差,这个误差信号被送到控制器,控制器算出误差信号的积分值和微分值,并将它们与原误差信号进行线性组合,得到输出量u。
1u(t)?kP[e(t)?TI对应的模拟PID调节器的传递函数为
?t0e(t)dt?TDde (4.6) dtD(s)?U(s)1?KP(1??TDs) (4.7) E(s)TIs1其中,KP为比例增益,KP与比例带?成倒数关系即KP?间常数,TD为微分时间常数,u(t)为控制量,e(t)为偏差。
?,TI为积分时
第 26 页