欢迎来到天天文库
浏览记录
ID:51469501
大小:347.50 KB
页数:7页
时间:2020-03-25
《智能车PID的算法推荐.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、PID(ProportionalIntegralDerivative)控制是最早发展起来的控制策略之一,由于其算法简单、鲁棒性(稳定性)好和可靠性高,被广泛应用于工业过程控制,尤其适用于可建立精确数学模型的确定性控制系统。模拟PID控制系统原理框图PID是一种线性控制器,它根据给定值rin(k)与实际输出值yout(k)的差值e(t)构成控制方案,利用运放实现模拟PID的一个例子:式中:以上为典型模拟PID应用例子。关于各调节器的作用说明:♥比例调节器P1、起调节作用与输出量和给定量的差成正比,有差就有调节
2、作用,所以他的调节结果总是有差存在,这种调节不可消除差,所以叫这种调节为有静差调节;2、但这种调节作用快,能很快减小误差,是最常用的一种调节器!3、积分I调节慢,所以PI是最常用的一种搭配!♥积分调节器I1、是给定量与输出量的差对时间的积分,在电路里就是用给定量与输出量的差给电容充电,只要时间足够长,电容器的电压总会到达给定量,使输出量与给定量的差为零;2、积分调节器是一种无静差调节器,意思是说可调节到给定值,做到精确、准确输出; ♥ 微分控制调节器D1、,这种控制总是以输出量与给定量的差的变化率成正比,差
3、变化越剧烈,调节作用越大,差变化越平稳,调节作用越弱;2、这种微分调节作用,使得输出量平稳而很少波动;3、这种微分调节作用,对输出量的变化、波动产生强烈的阻尼、抑制的作用,就像摩擦力的作用;数字式PID应用:增量式PID的算式为:如果换换成智能车里的方向控制就变为:Pwm_offset=PWMMiddle+PID_P*(error-last_error)+PID_I*(error)+PID_D*(error+pre_error-2*last_error);其中:error=middle-offset,注意这
4、个公式里的offset应该有正负之分,左右偏移的值互为相反。这样自然就确定了最后的方向。PWMMiddle为舵机正向时的值。转换成智能车里的速度控制信息就变为:pwmtemp=PWMDTY23+PID_P*(error-last_error)+PID_I*(error)+PID_D*(error+pre_error-2*last_error);其中error=speed_v(期望速度)-infrared_value7(即时速度);PWMDTY23是PWM中的静态参数。即速度等于零(或者是等于某个安全速度)的
5、参数。由上述代码中,speed_v表示标准速度(期望速度),infrared_value7表示经编码器计算出的即时速度值,通过计算它们的差值error,再利用增量PID控制算法计算出pwmtemp,再对pwmtemp进行处理,最后PID程序处理的结果是给出一个PWM信号,而这个信号就是驱动电机的,当error大,即标准速度和即时速度相差的比较多时,pwmtemp的绝对值相对比较大,则给电机的PWM信号相对较大,这样电机转速相对较快;反之,电机转速则相对较慢。由此可以看出,PID算法主要的功能是,在闭环系统中
6、,利用即时速度的反馈,使得即时速度逼近标准速度的时间尽量变短,这样小车就可以根据路径识别得出的速度标准值,及时调整自己的速度,以适应各种路况。例如,小车正在直道上行进,而且直道的时速应该是各种赛道中最快的,当系统的路径识别算法察觉到前方出现弧度大的弯道后,系统会根据事先调试的结果,给出大弧度弯道的速度标准值,然后PID算法根据速度标准值speed_v和即时速度反馈值infrared_value7对电机的输入信号PWM进行及时调整,反映到实际中,就是小车及时减速并顺利通过弯道。在增量式PID处理的过程中,有一
7、个步骤需要注意,即在算完△u(k)后,需要把它赋值给电机控制对应的PWM通道信号,这时要判断该△u(k)的值,如果它小于0,则把PWM信号赋值为0,如果它大于PWM信号的最大值,即大于PWM整个周期所对应的数值时,要把PWM信号赋值为该最大值。在上述控制里面没有关于轨迹偏离信息,实际上就处理不了有关由于轨道偏移而导致的速度变化问题。那么,怎么样才能将加进来。这里就要考虑speed_v这个标准速度(期望速度),即:speed_v=speed-offset(i)*x这样,我们的期望值就成了一个随着偏移量变化而变
8、化的参数。余下的问题就是对有关参数进行整定了。一定要测试加实际运行来调整。对于速度问题可以考虑两个要点:方向制动和正向处理(不加反向制动),在返向制动里要考虑计算出来的值为负数。1.2.反向制动算法要使赛车在较短的时间完成比赛,速度自然越高越好,显然速度太高弯道是过不去的,如果以弯道的极限速度匀速跑,又浪费了直道的时间。所以最佳的策略是直道以较高的速度跑,到弯道时再尽快将速度降下来。在入弯减速时如果只靠赛道的摩擦
此文档下载收益归作者所有