PID模糊控制在智能车中的应用.doc

上传人:紫竹语嫣 文档编号:5514261 上传时间:2020-05-27 格式:DOC 页数:7 大小:98KB
返回 下载 相关 举报
PID模糊控制在智能车中的应用.doc_第1页
第1页 / 共7页
PID模糊控制在智能车中的应用.doc_第2页
第2页 / 共7页
PID模糊控制在智能车中的应用.doc_第3页
第3页 / 共7页
PID模糊控制在智能车中的应用.doc_第4页
第4页 / 共7页
PID模糊控制在智能车中的应用.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《PID模糊控制在智能车中的应用.doc》由会员分享,可在线阅读,更多相关《PID模糊控制在智能车中的应用.doc(7页珍藏版)》请在三一文库上搜索。

1、PID模糊控制及其在智能车中的应用摘要:在智能车比赛过程中,小车需要不停的检测前方道路信息以及自身的行驶信息,在检测过程中会有复杂信息需要采集并多种干扰因素需要抗拒。将检测到的道路信息与自身行驶信息相结合,以确定下一步动作,直道就加速,入弯道就减速入弯,由弯入直再加速。在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微分控制,简称PID控制,又称PID调节。它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用PID

2、控制技术最为方便。即当我们不完全了解一个系统和被控对象或不能通过有效的测量手段来获得系统参数时,最适合用PID控制技术。PID控制,实际中也有PI和PD控制。PID控制器就是根据系统的误差,利用比例、积分、微分计算出控制量进行控制的。关键词:智能车;PID控制;检测;PID vague control and its application in smartcarAbstract: In a Smartcar game, there is a need for cars to detect the information of the front road and the car itself

3、. There will exist so much interference during the detection which are required to be resisted. Combining the two types of information, we can decide the next action: speed up when in straight road, speed down when go into a tortuous path and speed up again when it goes into the straight path. In an

4、 engineering project, the most widely used control principles are proportion, integration, differential, we call it PID for short or PID regulation. It becomes one of the main techniques for its simple structure, good stability, reliability for work, convenience for regulations. When it is impossibl

5、e for us to completely control the structure and parameter of the controlled subject, or we are unable to gain a exact math model, other techniques are hard to be put into apply, and the structure and parameter of the controller must be relied on the experience and scene, it is the best time to appl

6、y PID regulation. That is to say that when we do not gain enough information about a system or a controlled subject, or we cant achieve systemic parameter by effective methods, it is the right time to take PID technique. In practical, there are still PI control and PD control. PID control is a way t

7、o control according to the systematic deviation and proportion, integration and differential to calculate the controlled variable.0 引言本文以通俗的理解,以小车控制举例说明PID的一些理解。由于外界原因,小车的实际速度有时不稳定。其二,要让小车以最快的时间达达到既定的目标速度(小车通过PWM波来控制小车的速度)。其三,速度控制系统是闭环,才能满足整个系统的稳定要求,必竟速度是系统参数之一。PID控制,速度快,调节灵敏,能实现准确性,实时性,这样使智能车在比赛过程中

8、速度调整上升了一个高度。也为智能车在比赛过程中获得更好的名次做成了很大的贡献。1 PID简介1.1目前工业自动化水平已经成为衡量各行各业现代化水平的一个重要标志。同时,控制理论的发展也已经经历了古典控制理论,现代控制理论和智能控制理论三个阶段。智能控制的典型实例是模糊全自动洗衣机等。自动控制系统可分为开环控制系统和闭环控制系统。一个控制系统包括控制器,传感器,变送器,执行机构,输入输出接口。控制器的输出口经过输出接口,执行机构,加到被控系统上;控制系统的被控量,经过传感器,变送器,通过输入接口送到控制器。开环控制系统:开环控制系统(Open-loop control system)是指被控对象

9、的输出(被控制量)对控制器的输出没有影响。在这种控制系统中,不依赖将被控量反送回来以形成任何闭环回路闭环控制系统:(Closed-loop control system)特点是系统被控对象的输出会反送回来影响控制器的输出,形成一个或多个闭环。闭环控制有正反馈和负反馈。若反馈信号与系统给定值信号相反,则称为负反馈,若极性相同,则称为正反馈。阶跃响应:是指一个阶跃输入加到系统上时,系统的输出。Kpe+UYKi/s对象+-+Kds图1 PID控制流程如图所示,其中,D(S)为控制器,完成PID控制规律。比例(P)控制器U(t)=e(t)比例+积分(PI)控制器U(t)= e(t)+比例+积分+微分(

10、PID)控制器U(t)= e(t)+以上各式中,Kp比例放大系数; Ti积分时间; Td微分时间1.2 PID一般有两种:位置式PID和增量式PID+eyurPID置位控制受控对象图2 位置式PIDPID算法表示为 U(k)=Kpe(k)+KiKde(k)-e(k-1)+Uo式中U(k) 第K个采样时刻的控制 Kp 比例放大系数Ki= 积分放大系数Kd= 微分放大系数Ts 采样周期ye+步进电机u受控对象rPID增量式算法_图3 增量PID算法增量式PID算法为Uk=U(k)-U(k-1) =Kpe(k)-e(k-1)+位置式PID的输出与过去的所有状态有关,计算时要对e(每一次的控制误差)进

11、行累加,这个计算量非常大,而明没有必要。而且小车的PID控制器的输出并不是绝对数值,而是一个,代表增多少,减多少。换句话说,通过增量PID算法,每次输出是PWM要增加多少或者减小多少,而不是PWM的实际值。因此,在小车控制中我们常用增量式PID控制。下面均以增量式PID说明.打个比方,如果现在的输出是1,目标输出是100,那么P的作用是以最快的速度达到100,把P理解为一个系数即可;关于I,通过高等数学的知识,0的积分才能是一个常数,I就是使误差为0而起调和作用;关于D,微分是求导数,导数代表切线是吧,切线的方向就是最快到至高点的方向。这样理解,最快获得最优解,那么微分就是加快调节过程的作用了

12、。Uk=A*e(k)+B*e(k-1)+C*e(k-2)这里KP是P的值,TD是D的值,1/Ti是I的值,都是常数,哦,还有一个T,T是采样周期,也是已知。而A,B,C是由P I D换算来的,按这个公式,就可以简化计算量了,因为 P I D 是常数,那么A B C可以用一个宏表示。这样看来,只需要求e(k) e(k-1) e(k-2)就可以知道Uk的值了,按照Uk来调节PWM的大小就OK了。图4 PID调节结果2 PID参数调试1负反馈 自动控制理论也被称为负反馈控制理论。首先检查系统接线,确定系统的反馈为负反馈。例如电机调速系统,输入信号为正,要求电机正转时,反馈信号也为正(PID算法时,误

13、差=输入-反馈),同时电机转速越高,反馈信号越大。其余系统同此方法。 2PID调试一般原则 a.在输出不振荡时,增大比例增益P。 b.在输出不振荡时,减小积分时间常数Ti。 c.在输出不振荡时,增大微分时间常数Td。 3一般步骤 a.确定比例增益P 确定比例增益P 时,首先去掉PID的积分项和微分项,一般是令Ti=0、Td=0(具体见PID的参数设定说明),使PID为纯比例调节。输入设定为系统允许的最大值的60%70%,由0逐渐加大比例增益P,直至系统出现振荡;再反过来,从此时的比例增益P逐渐减小,直至系统振荡消失,记录此时的比例增益P,设定PID的比例增益P为当前值的60%70%。比例增益P

14、调试完成。 b.确定积分时间常数Ti 比例增益P确定后,设定一个较大的积分时间常数Ti的初值,然后逐渐减小Ti,直至系统出现振荡,之后在反过来,逐渐加大Ti,直至系统振荡消失。记录此时的Ti,设定PID的积分时间常数Ti为当前值的150%180%。积分时间常数Ti调试完成。 c.确定积分时间常数Td 积分时间常数Td一般不用设定,为0即可。若要设定,与确定 P和Ti的方法相同,取不振荡时的30%。 d.系统空载、带载联调,再对PID参数进行微调,直至满足要求3 PID与智能车控制的联系小车调速及转向通过输出PWM波得占空比来控制。肯定不是线性的,外界因素那么多,没人能证明是线性的。如果是线性的

15、,直接用P就可以了。比如在PWM=60%时,速度是2M/S,那么你要它3M/S,就把PWM提高到90%。因为90/60=3/2,这样一来太完美了。完美是不可能的。那么不是线性的,要怎么怎么控制PWM使速度达到即定的速度呢?即要快,又要准,又要狠。(即快准狠)系统这个速度的调整过程就必须通过某个算法调整,一般PID就是这个所用的算法。可能你会想到,如果通过编码器测得现在的速度是2.0m/s,要达到2.3m/s的速度,那么把PWM增大一点不就行了吗?是的,增大PWM多少呢?必须要通过算法,因为PWM和速度是个什么关系,对于整个系统来说,谁也不知道。要一点一点的试,加个1%,不够,再加1%还是不够,

16、那么第三次你还会加1%吗?很有可能就加2%了。通过PID三个参数得到一个表达式:PWM=a *V1+b *V2+c *V3,a b c是通过PID的那个长长的公式展开,然后约简后的数字,V1 ,V2 ,V3 此前第一次调整后的速度差 ,第二次调整后的速度差,第三次依次类推。一句话,PID要使当前速度达到目标速度最快,需要建立如何调整PWM和速度之间的关系。输入就是前次速度,前前次速度,前前前次速度。输出就是PWM应该增加或减小多少。就从控制效果来说,加入了PID控制后,小车的速度能够上一个台阶,因为空度的实时性与精度提高了。4 PID小车控制例程 /定义PID结构体/*typedef stru

17、ct PID int SetPoint; /设定目标 Desired Value double Proportion; /比例常数 Proportional Const double Integral; /积分常数 Integral Const double Derivative; /微分常数 Derivative Const int LastError; /Error-1 int PrevError; /Error-2 PID;/*/定义相关宏/*#define P_DATA 100#define I_DATA 0.6#define D_DATA 1#define HAVE_NEW_VELO

18、CITY 0X01/*/声明PID实体/*static PID sPID;static PID *sptr = &sPID;/*/PID参数初始化/*void IncPIDInit(void)sptr-LastError = 0; /Error-1sptr-PrevError = 0; /Error-2sptr-Proportion = P_DATA; /比例常数 Proportional Constsptr-Integral = I_DATA; /积分常数Integral Constsptr-Derivative = D_DATA; /微分常数 Derivative Constsptr-Se

19、tPoint =100; 目标是100/*/增量式PID控制设计/*int IncPIDCalc(int NextPoint) int iError, iIncpid; /当前误差 iError = sptr-SetPoint - NextPoint; /增量计算 iIncpid = sptr-Proportion * iError /Ek项 - sptr-Integral * sptr-LastError /Ek1项 + sptr-Derivative * sptr-PrevError; /Ek2项 sptr-PrevError = sptr-LastError; sptr-LastErro

20、r = iError; /存储误差,用于下次计算 return(iIncpid); /返回增量值Int g_CurrentVelocity;Int g_Flag;void main(void)DisableInterruptInitMCu();IncPIDInit();g_CurrentVelocity=0; /全局变量也初始化g_Flag=0; /全局变量也初始化EnableInterrupt;While(1)if (g_Flag& HAVE_NEW_VELOCITY)PWMOUT+= IncPIDCalc(CurrentVelocity);g_Flag&= HAVE_NEW_VELOCIT

21、Y;/*/采样周期T/*Interrrupt TIME voidCurrentVelocity =GetCurrentVelocity;g_Flag|= HAVE_NEW_VELOCITY;5结论没有一种控制算法比PID调节规律更有效、更方便的了。现在一些时髦点的调节器基本源自PID。甚至可以这样说:PID调节器是其它控制调节算法的妈。 因为PID解决了自动控制理论所要解决的最基本问题,既系统的稳定性、快速性和准确性。调节PID的参数,可实现在系统稳定的前提下,兼顾系统的带载能力和抗扰能力,同时,在PID调节器中引入积分项,系统增加了一个零积点,使之成为一阶或一阶以上的系统,这样系统阶跃响应的

22、稳态误差就为零。由于自动控制系统被控对象的千差万别,PID的参数也必须随之变化,以满足系统的性能要求。它具有原理简单,易于实现,适用面广,控制参数相互独立,参数的选定比较简单等优点;而且在理论上可以证明,对于过程控制的典型对象“一阶滞后纯滞后”与“二阶滞后纯滞后”的控制对象,其调节规律是连续系统动态品质校正的一种有效方,是一种最优控制。参考文献1. Freescale Company.MC9S12XS Family Reference Manual, Rev. 1.09,2009.92. 卓晴,黄开胜,邵贝贝.学做智能车.北京-北京航空航天大学出版社.20073. 仇慎谦.PID调节规律和过程控制南京-江苏科学技术出版社4. 尹怡欣,陶永华.新型PID控制及其应用.北京-机械工业出版社.1998

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/环境 > 建筑资料


经营许可证编号:宁ICP备18001539号-1