前馈-改进PID算法在智能车控制上的应用
扫描二维码
随时随地手机看文章
1 引言
智能车系统是一个时变且非线性的系统,采用传统PID算法的单一的反馈控制会使系统存在不同程度的超调和振荡现象,无法得到理想的控制效果。本文将前馈控制引入到了智能车系统的控制中,有效地改善了系统的实时性,提高了系统的反应速度[1];并且根据智能车系统的特点,对数字PID算法进行了改进,引入了微分先行和不完全微分环节,改善了系统的动态特性;同时,利用模糊控制具有对参数变化不敏感和鲁棒性强的特点[2],本文将模糊算法与PID算法相结合,有效地提高了智能车的适应性和鲁棒性,改善了系统的控制性能。
2 改进PID算法
智能车的控制是由飞思卡尔公司的S12芯片完成,所以对智能车的控制要采用计算机控制方法。本文针对智能车控制的特殊性,对传统数字PID算法做了一些改进,这样可以更好地满足智能车控制的需要。
2.1不完全微分PID
将微分环节引入智能车的方向和速度控制,明显地改善了系统的动态性能,但对于误差干扰突变也特别敏感,对系统的稳定性有一定的不良影响。为了克服上述缺点,本文在PID算法中加入了一阶惯性环节[3] ,不完全微分PID算法结构如图1所示。
图1 不完全微分PID算法机构图
将一阶惯性环节直接加到微分环节上,可得到系统的传递函数为:
(1)
将(1)式的微分项推导并整理,得到方程如下:
(2)
式中, ,由系统的时间常数 和一阶惯性环节时间常数 决定的一个常数。
为了编程方便,可以将2-2式写成如下形式:
(3)
式中,。
分析式(3)可知,引入不完全微分以后,微分输出在第一个采样周期内被减少了,此后又按照一定比例衰减[3][4]。实验表明,不完全微分有效克服了智能车的偏差干扰给速度控制带来的不良影响,具有较好的控制效果。图2为不完全微分PID算法的程序流程图。
2.2 微分先行PID
由于智能车在跑道上行驶时,经常会遇到转弯的情况,所以智能车的速度设定值和方向设定值都会发生频繁的变化,从而造成系统的振荡。为了解决设定值的频繁变化给系统带来的不良影响,本文在智能车的速度和方向控制上引入了微分先行PID算法,其特点是只对输出量进行微分,即只对速度测量值和舵机偏转量进行微分,而不对速度和方向的设定值进行微分。这样,在设定值发生变化时,输出量并不会改变,而被控量的变化相对是比较缓和的,这就很好地避免了设定值的频繁变化给系统造成的振荡,明显地改善了系统的动态性能。
图3是微分先行PID控制的结构图,微分先行的增量控制算式如下。
(4)
图2 不完全微分PID算法的程序流程图
图3 微分先行PID控制结构图
3 前馈控制的应用
由于智能车的跑道宽度有限制,所以在经过急转弯的时候,如果速度和方向控制不及时,智能车就可能冲出跑道。由于前馈控制是开环控制,所以前馈控制的响应速度很快。将前馈控制引入到智能车的控制中,能够提高舵机和伺服电机的反应速度,改善智能车系统的动态性能。
3.1 智能车控制系统结构
智能车的控制主要体现在两个方面:一方面是方向的控制,也就是对舵机的控制;另一方面是对速度的控制,也就是对伺服电机的控制。舵机的数学模型较为简单,具有很好的线性特征,只采用前馈控制;智能车的速度控制相对复杂一些,速度模型无法准确建立,采用前馈-改进PID算法进行控制。智能车的控制系统结构如图4所示。
图4中, 和 分别是舵机和伺服电机数学模型。从图中可以看出,智能车的方向控制和速度控制是相互独立的,而且它们都是由路线偏差决定的。舵机转角与路线偏差之间的对应关系是根据舵机的数学模型得到的,在速度控制回路中,既包括反馈回路,又包括前馈环节,伺服电机的控制量是在前馈补偿基础上,再由增量式PID算法计算得到。
图4 智能车的控制系统结构
3.2 在方向控制中的应用
智能车对方向的控制有两点要求:在直道上,方向保持稳定;在转弯处,需要方向变化准确而且迅速。只有这样,才能保证智能车在跑道上高速、稳定地运行。为了提高方向控制的鲁棒性,本文还对路线偏差进行了模糊化处理。图5是智能车方向模糊前馈控制的结构图,图中和分别是直道和弯道两种情况下的前馈控制函数。
图5 智能车方向控制系统结构图
3.3 在速度控制中的应用
为了使智能车在直道上以较快速度运行,在转弯时,防止智能车冲出跑道,则必须将智能车的速度降低,这就要求智能车的速度控制系统具有很好的加减速性能。当智能车经过连续转弯的跑道时,路线偏差的频繁变化会造成速度设定的频繁变化,这会引起速度控制系统的振荡,并且微分环节对误差突变干扰很敏感,容易造成系统的不稳定。为了解决上述存在的问题,本文对数字PID算法进行了改进,将不完全微分和微分先行引入到PID算法中,大大改善了速度控制系统的动态性能。
图6 智能车速度控制系统结构图
图6是智能车速度控制系统结构图。由于赛道路况和智能车的姿态会经常变化,所以速度控制系统的模型也是不定的,为了提高系统的适应性,本文速度控制系统中采用了模糊PID算法。将速度设定和实际速度进行模糊分档[5][6],通过调试得到不同情况下相对最优的PID参数,保证了速度控制系统在不同情况下都有较好的控制效果。
4 结论
本文提出的前馈-改进PID算法是智能车控制的有效方法,该算法使智能车系统不仅具有很好的动态性能和反应速度,而且改善了系统的适应性和鲁棒性,使智能车能够在不同的跑道上以较快的速度运行。实验表明:本文提出的控制算法有效地提高了智能车的性能,在同样的跑道上运行时,采用了新算法的智能车比采用传统PID算法反馈控制的智能车的速度有所提高,运行一圈的时间平均减少了3.2秒,并且本文提出的算法也使智能车运行的稳定性得到改善,提高了智能车对跑道的适应性。该方法具有很好的应用前景。