智能汽车控制策略及其PID 算法分析作者:王保磊机电1103-11221077目录背景简介一.智能汽车竞赛简介: (1)系统建立二.控制策略: (1)2.1:理论分析 (2)2.2 : PID 控制规律的离散化 (3)2.3 : matlab 分析 (4)2.4 :系统校正 (9)总结三.总结: (14)一.智能汽车竞赛简介。
全国大学生“飞思卡尔”杯智能汽车竞赛是在规定的模型汽车平台上,使用飞思卡尔半导体公司的 8 位、 16 位微控制器作为核心控制模块,通过增加道路传感器、电机驱动电路以及编写相应软件,制作一个能够自主识别道路的模型汽车,按照规定路线行进,以完成时间最短者为优胜。
因而该竞赛是涵盖了控制、模式识别、传感技术、电子、电气、计算机、机械等多个学科的比赛。
摄像头组比赛规则:采用模拟或数字摄像头对赛道信息进行采集,通过硬件二值化并进行软件信息处理,获得赛道信息,采用规定的舵机和电机控制小车的行走。
相同的赛道,竞速,完成赛道时间短的队伍获胜。
下图为赛道示意图和实际赛道照片。
为保证小车一直沿着黑色引导线快速行驶,系统主要的控制对象是小车的转向和车速。
即应使小车在直道上以最快的速度行驶。
在进入弯道的时刻尽快减速,且角度的转向要适合弯道的曲率,确保小车平滑地转弯,并在弯道中保持恒速。
从弯道进入直道时,小车的舵机要转向至中间,速度应该立即得到提升,直至以最大的速度行进。
为实现上述控制思想,我们采用不同的控制方法来控制小车的转角和速度。
下图为小车的实物模型:二.控制策略。
2.1:理论分析:Ov7620 数字摄像头采集到的赛道信息为采集点灰度值,这些灰度值与设定的阀值进行比较转化为二进制信息,利用这些二进制信息可以确定赛道黑线位置,进而确定小车当前位置及理想通过曲线。
求得理想通过曲线上各点的斜率进而确定赛道类型,通过算法控制电机转速,以保证小车安全通过赛道防止侧翻和打滑。
计算小车的当前位置横坐标值即摄像头视野中线与理想通过曲线与横坐标交点的差值。
利用该差值控制舵机转角进而控制小车转向,在前进过程中向理想通过曲线靠拢。
通过以上分析,系统的模型可基本建立。
如图所示矩形ABCD代表 ov7620 摄像头的采集范围。
令: e=X2-X1。
将 e 作为系统的输入变量即偏差,计算该偏差的值利用PID 算法计算出输出 U 的值, U 为当前输出控制舵机的PWM 值与上次的差值。
根据该差值可得控制舵机转角的 PWM 值。
以上模型可以抽象为解决以 e 为输入函数, U 为输出函数的系统稳定问题。
由以上分析得到了舵机的控制信号,及解决了小车的转向难题。
解决小车的速度问题方法与此类似。
根据理想通过曲线上不同点的斜率与适当阀值进行比较确定赛道类型,进而控制小车电机的 PWM 信号达到车速控制目的。
其控制算法亦可用PID 算法。
本文仅对小车的舵机 PID 算法进行分析研究。
接下来就是系统传递函数的建立。
2.2 PID 控制规律的离散化。
PID 控制器是一种线性调节器,这种调节器是将系统的给定值r 与实际输出值y 构成的控制偏差 c r y 的比例(P)、积分(I)、微分(D),通过线性组合构成控制量,所以简称 PID 控制器。
连续控制系统中的模拟PID 控制规律为:u(t )1tT Dde(t ) K p [ e(t )e(t )dt]T I0dt(式 1)式中 u(t) 是控制器的输出,e(t ) 是系统给定量与输出量的偏差,K P是比例系数, T I是积分时间常数, T D是微分时间常数。
其相应传递函数为:1T D s)G ( s) K p (1T I s(式 2)在系统中加入积分环节,微分环节会达到不同的调节效果。
如下进行介绍。
比例调节器、积分调节器和微分调节器的作用:(1)比例调节器:比例调节器对偏差是即时反应的,偏差一旦出现,调节器立即产生控制作用,使输出量朝着减小偏差的方向变化,控制作用的强弱取决于比例系数K P。
比例调节器虽然简单快速,但对于系统响应为有限值的控制对象存在静差。
加大比例系数K P可以减小静差,但是, K P过大时,会使系统的动态质量变坏,引起输出量振荡,甚至导致闭环系统不稳定。
(2)比例积分调节器:为了消除在比例调节中的残余静差,可在比例调节的基础上加入积分调节。
积分调节具有累积成分,只要偏差 e 不为零,它将通过累积作用影响控制量u ,从而减小偏差,直到偏差为零。
如果积分时间常数T I大,积分作用弱,反之为强。
增大T I将减慢消除静差的过程,但可减小超调,提高稳定性。
引入积分词节的代价是降低系统的快速性。
(3)比例积分微分调节器:为了加快控制过程,有必要在偏差出现或变化的瞬间,按偏差变化的趋向进行控制,使偏差消灭在萌芽状态,这就是微分调节的原理。
微分作用的加入将有助于减小超调,克服振荡,使系统趋于稳定。
由于计算机系统是一种采样控制系统,只能根据采样时刻的偏差值计算控制量,因此,利用外接矩形法进行数值积分,一阶后向差分进行数值微分,当采样周期为T 时,T i T Du i e j(e i e i 1 )]K p [e iTT I j 0(式 3)如果采样周期足够小,这种离散逼近相当准确。
上式中u i为全量输出,它对应于被控对象的执行机构第 i 次采样时刻应达到的位置,因此,上式称为PID 位置型控制算式。
可以看出,按上式计算 u i时,输出值与过去所有状态有关。
当执行机构需要的不是控制量的绝对数值,而是其增量时,可导出下面的公式:u i u i u i 1K p [e i e i 1T e i T D(e i2e i 1e i 2)]T I T(式 4)u i u i 1K p [ e i e i 1T e i T D(e i2e i 1e i 2)]T I T(式 5)式 4 称为增量型PID 控制算式;式 5 称为递推型PID 控制算式;增量型控制算式具有以下优点:(1)计算机只输出控制增量,即执行机构位置的变化部分,因而误动作影响小;(2)在 i 时刻的输出u i,只需用到此时刻的偏差,以及前一时刻,前两时刻的偏差e i 1、e i 2,和前一次的输出值u i 1,这大大节约了内存和计算时间;(3)在进行手动—自动切换时,控制量冲击小,能够较平滑地过渡;控制过程的计算机要求有很强的实时性,用微型计算机作为数字控制器时,由于字长和运算速度的限制,必须采用必要的方法来加快计算速度。
下面介绍简化算式的方法。
按照式 5表示的递推型PID 算式,计算机每输出一次u i,要作四次加法,两次减法,四次乘法和两次除法。
若将该式稍加合并整理写成如下形式:u i u i 1K p (1T T D2T D T De i 2 T I T)e i K p (1)e i 1 K pT Tu i 1a0e i a1 e i 1a2 e i 2(式 6)式中系数 a0、a1、a2可以离散算出,从而加快了算法程序的运算速度。
按式 6 编制的数字控制器的程序框图如下图所示。
由于输出信号U 作为舵机 PWM 值的变化量,小车实际位置与理想通过曲线与横坐标交点的差值 e 作为输入误差值,选择增量式 PID算法。
因此其传递函数为增量式PID 传递函数。
输出与输入的关系为u i u i u i 1 K p [ e i e i 1T T D(e i 2e i 1e i 2 )],其e i中 Kp*T/Ti=Ki, Kp*Td/T=Kd 其传递函数为: G( s) =Kp+Ki/s+Kd*s.2.3 matlab 分析。
系统的输入函数是不确定的,因为对于小车循迹的过程中在某一时刻的偏差对应一个PWM 差值,影响下一时刻的信息采集,采集的的信息经过二值化处理进行计算可得下一时刻的偏差,该偏差不仅受上一次输出值的影响还受外界环境的影响,是一个不确定的值,因此输入函数是不确定的。
在这里仅对小车做静态的PID 算法分析,即设定输入函数为一定值。
进行 matlab 分析如下:设定传递函数为G(s)=10/[s(s^2+3s+2)].编写以下程序:clear;num=10;den=conv([1,0],[1,3,2]);G1=tf(num,den);figure;step(feedback(G1,1));figure;margin(G1);grid;在matlab 中运行,可得下图图像:由该图可知系统是不稳定的。
其bode 图为:2.4 系统校正。
为使系统变为稳定系统现增加一PID 调节环节,此时系统传递结构框图变为:在 matlab 中编写以下程序:clear;Kp=8;Ki=12;Kd=1.90;s=tf( 's' );Gb=Kp*(Ki*Kd*s*s+Ki*s+1)/(Ki*s);figure;margin(G1*Gb);grid;figure;step(feedback(G1*Gb,1));G1=G1*Gb;接下来要做的是调节PID 参数,使系统变得稳定。
工程上确定PID 参数的方法为试凑法,具体实现如下:(1 )先整定比例部分:将比例系数K p由小调大,并观察相应的系统响应趋势,直到得到反应快、超调小的响应曲线。
如果系统没有静差或静差已小到允许范围之内,同时响应曲线已较令人满意,那么只须用比例调节器即可,最优比例系数也由此确定。
( 2)如果在比例调节的基础上系统的静差不能满足设计要求,则须加入积分环节。
整定时一般先置—个较大的积分时间系数T I,同时将第一步整定得到的比例系数K p缩小一些(比如取原来的 80%),然后减小积分时间系数使在保持系统较好的动态性能指标的基础上,系统的静差得到消除。
在此过程中,可以根据响应曲线的变化趋势反复地改变比例系数K p和积分时间系数 T I从而实现满意的控制过程和整定参数。
( 3)如果使用比例积分控制器消除了偏差,但动态过程仍不尽满意,则可以加入微分环节,构成 PID 控制器。
在整定时,可先置微分时间系数T D为零,在第二步整定的基础上,增大微分时间系数 T D,同时相应地改变比例系数K p和积分时间系数T I,逐步凑试,以获得满意的调节效果和控制参数。
值得一提的是, PID 三个参数可以互相补偿,即某一个参数的减小可由其他参数增大或减小来补偿。
因此用不同的整定参数完全可以得到相同的控制效果,这也决定了 PID 控制器参数选取的非唯一性。
另外,对无自平衡能力的对象,则不应包含积分环节,即只可用比例或比例微分控制器。
在实时控制过程中,只要被控对象的主要性能指标达到了设计要求,就可以选定相应的控制器参数为最终参数。
目前,工程上仍广泛使用实验方法和经验方法来整定PID的调整参数,称为PID参数的工程整定方法。
这种方法的最大优点在于整定参数不必依赖被控对象的数学模型。