广西大学学士学位论文
的输出量。
当前车速 计算e(n) 计算d0e(n) 计算d1e(n?1) 计算d0e(n)?d1e(n?1) 计算d2e(n?2) 计算?u(n) 更新e(n?1),e(n?2)
图3.4 增量型PID算法的程序流程如
3.2 减速电机的PID控制算法
车速采用闭环控制,由P1D控制器调节,其输入量为目标速度值与当前速度值的差值,目标速度根据当前的路况信息以及路况更迭信息确定,PID
29
广西大学学士学位论文
调节器的输出即为与行进电机转速成比例的数值,经处理后,得到与所需速度相对应的PWM脉宽信号。
根据赛道的不同路况信息,系统采用不同的速度给定值,并且在同一路况下,根据赛车水平偏差量和水平偏差速度对速度给定值进行修正,保证其平稳而快速地行驶。给定速度修正值计算如下:
Vel?com_V?Vp?Vd (式3-8)
Vp?HP?enVd?Hd? (式3-9)
en?en?1T (式3-10)
上述公式中,Vel为给定速度的修正值,也就相当于期望的速度值;com_V为不同路况的给定速度值,由编程人员根据实验数据给定;e为黑色引导线与车体中轴线的水平偏差量;Kp为偏差系数;Kd为偏差变化率系数;T为路面信息的采样周期。从式(3-7)、(3-9)可以看出,偏差e愈大,Vp
en? e就愈大,Vel的值就愈小;当 n ?1 时,Vd为负(表明小车的水平偏差正
在减小),Vel的值就增大,车速就增大,当 e n ? en ? el的值就1时,Vd正,V减小,车速就减小。通过速度修正算法可以根据当前的路况信息给定小车期望得到的速度值,确保小车不会因为在转弯时由于车速过快而冲出赛道,或者在直线时不能保证全速前进[28]。
确定了给定速度的修正值Vel后,PID调节器的输入取在一定采样周期内经速度传感器采集的三个实时速度值与给定速度修正值差值的线性和,即:
由公式(3-7)可得
E i ? d 0 E i ? d ? d 2 E i ? 2 (式3-11) ?E1i?1 其中:
Ei?Vel?Vn;
;
30
Ei?1?Vel?V(n?1)
广西大学学士学位论文
Ei?2?Vel?V(n?2)d0?Kp(1?TTi?TdT);
;
)d1??Kp(1?2TdT;
d2?KTdpT;
上述公式中,Ei为实时速度采集值与对应于实时路况的给定速度修正值之差;Kp为比例系数;T为速度采样周期;Ti为积分环节时间常数;Td为微分环节时间常数。这些系数可调,具体大小由实验确定。
在以上算法中,在根据不同的路况给定速度值com_V之前,首先利用道路识别传感器识别出当前的小车所处的路况信息,经过(3-8)式的算法得到速度修正值Vel,即为我们所期望小车当前的速度。
增量式 PID 控制算法与位置式 PID 算法(3-4)相比,计算量小的多,因此在实际中得到广泛的应用。而位置式 PID控制算法也可以通过增量式控制算法推出递推计算公式:
法。
uk?uk?1??u (式3-12)
式(3-12)就是目前在计算机控制中广泛应用的数字递推 PID控制算位置式算法每次输出与整个过去状态有关,计算式中要用到过去偏差的累加值,容易产生较大的积累误差。而增量式只需计算增量,当存在计算误差或精度不足时,对控制量计算的影响较小。
3.3 转向舵机的控制算法
首先,使用红外发射/接收管阵列作为位置信息的提取装置,认为其返回状态的信息对应于赛车的实际位置,并通过它与理想状态的偏差,得到当前误差的相对值。其次,被控对象仅限于赛车的舵机,控制量为期望的舵机
31
广西大学学士学位论文
转角。具体编写程序时,首先将采集到的不同位置传感器的状态信息的模拟量转换成相应引导线偏离车体中轴线的偏差量[29]。然后对该偏差值进行位置式PD控制算法处理(由于无需考虑赛车之走过的路线,舍弃I控制),得出此时偏差所对应的转向舵机转角的PWM脉宽,对舵机进行控制,其控制算法为
P_??KP(en?1en?en?1TD) (式3-13)
式(3-13)中,P_θ为黑线位置对应的PWM脉宽,可调参数T为采样周期, T、Kp和Td值由实验确定。
为了更灵活地控制舵机的转角,还可以通过比较本次与上一次车体偏差的大小,对舵机的转角作进一步校正。其舵机转角校正算法为:
SteerPWM?P_??lined?linep?Kc (式3-14)
式中,StecrPWM为最终输入舵机的PWM脉宽;Kc为舵机调整系数;lined值为+l或-1,代表引导线的移动方向;linep的值为+l或-1,代表引导线相对车体的中轴线的左右位置。其选择规则如表3-2所示。
表3-2参数选择规则
黑线偏移 边,向外偏 边,向内偏 边,向外偏 边,向内偏 舵机的要求 偏角度 偏角度 偏角度 偏角度 lined +1 -1 -1 +1 linep +1 +1 -1 -1 给定θ 大于P_θ 小于P_θ 小于P_θ 小于P_θ 黑线在车左舵机增大左黑线在车左舵机减小左黑线在车右舵机增大右黑线在车右舵机减小右当引导线与车体中轴线的本次偏差大于上一次偏差时,表明引导线在继续外偏,应使舵机在偏离的方向上加大原有转角,使车体更快的调整到正确的方向上;反之,当本次偏差小于上一次偏差时,表明引导线内偏且车体正在逐渐调整位置中,可以适当减小舵机原有转角使赛车更加平滑地运动至引导线的中心线位置。
32