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

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

PID模糊控制及其在智能车中的应用摘要:在智能车比赛过程中,小车需要不停的检测前方道路信息以及自身的行驶信息,在检测过程中会有复杂信息需要采集并多种干扰因素需要抗拒。将检测到的道路信息与自身行驶信息相结合,以确定下一步动作,直道就加速,入弯道就减速入弯,由弯入直再加速。在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微分控制,简称PID控制,又称PID调节。它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用PID控制技术最为方便。即当我们不完全了解一个系统和被控对象﹐或不能通过有效的测量手段来获得系统参数时,最适合用PID控制技术。PID控制,实际中也有PI和PD控制。PID控制器就是根据系统的误差,利用比例、积分、微分计算出控制量进行控制的。关键词:智能车;PID控制;检测;PIDvaguecontrolanditsapplicationinsmartcarAbstract:InaSmartcargame,thereisaneedforcarstodetecttheinformationofthefrontroadandthecaritself.Therewillexistsomuchinterferenceduringthedetectionwhicharerequiredtoberesisted.Combiningthetwotypesofinformation,wecandecidethenextaction:speedupwheninstraightroad,speeddownwhengointoatortuouspathandspeedupagainwhenitgoesintothestraightpath.Inanengineeringproject,themostwidelyusedcontrolprinciplesareproportion,integration,differential,wecallitPIDforshortorPIDregulation.Itbecomesoneofthemaintechniquesforitssimplestructure,goodstability,reliabilityforwork,convenienceforregulations.Whenitisimpossibleforustocompletelycontrolthestructureandparameterofthecontrolledsubject,orweareunabletogainaexactmathmodel,othertechniquesarehardtobeputintoapply,andthestructureandparameterofthecontrollermustbereliedontheexperienceandscene,itisthebesttimetoapplyPIDregulation.Thatistosaythatwhenwedonotgainenoughinformationaboutasystemoracontrolledsubject,orwecan’tachievesystemicparameterbyeffectivemethods,itistherighttimetotakePIDtechnique.Inpractical,therearestillPIcontrolandPDcontrol.PIDcontrolisawaytocontrolaccordingtothesystematicdeviationandproportion,integrationanddifferentialtocalculatethecontrolledvariable.0引言本文以通俗的理解,以小车控制举例说明PID的一些理解。由于外界原因,小车的实际速度有时不稳定。其二,要让小车以最快的时间达达到既定的目标速度(小车通过PWM波来控制小车的速度)。其三,速度控制系统是闭环,才能满足整个系统的稳定要求,必竟速度是系统参数之一。PID控制,速度快,调节灵敏,能实现准确性,实时性,这样使智能车在比赛过程中速度调整上升了一个高度。也为智能车在比赛过程中获得更好的名次做成了很大的贡献。1PID简介1.1目前工业自动化水平已经成为衡量各行各业现代化水平的一个重要标志。同时,控制理论的发展也已经经历了古典控制理论,现代控制理论和智能控制理论三个阶段。智能控制的典型实例是模糊全自动洗衣机等。自动控制系统可分为开环控制系统和闭环控制系统。一个控制系统包括控制器,传感器,变送器,执行机构,输入输出接口。控制器的输出口经过输出接口,执行机构,加到被控系统上;控制系统的被控量,经过传感器,变送器,通过输入接口送到控制器。开环控制系统:开环控制系统(Open-loopcontrolsystem)是指被控对象的输出(被控制量)对控制器的输出没有影响。在这种控制系统中,不依赖将被控量反送回来以形成任何闭环回路闭环控制系统:(Closed-loopcontrolsystem)特点是系统被控对象的输出会反送回来影响控制器的输出,形成一个或多个闭环。闭环控制有正反馈和负反馈。若反馈信号与系统给定值信号相反,则称为负反馈,若极性相同,则称为正反馈。阶跃响应:是指一个阶跃输入加到系统上时,系统的输出。图1PID控制流程如图所示,其中,D(S)为控制器,完成PID控制规律。比例(P)控制器U(t)=pKe(t)比例+积分(PI)控制器U(t)=pK[e(t)+detTi0)(1]比例+积分+微分(PID)控制器U(t)=pK[e(t)+detTi0)(1+dttedTd)((]以上各式中,Kp—比例放大系数;Ti—积分时间;Td——微分时间1.2PID一般有两种:位置式PID和增量式PIDKpKi/sKds对象YU+++-+e图2位置式PIDPID算法表示为U(k)=Kpe(k)+Kikjje0)(Kd[e(k)-e(k-1)]+Uo式中U(k)第K个采样时刻的控制Kp比例放大系数Ki=TiKpTs积分放大系数Kd=TsKpTd微分放大系数Ts采样周期`图3增量PID算法增量式PID算法为△Uk=U(k)-U(k-1)=Kp{e(k)-e(k-1)+)]2()1(2)([)(kekekeTsTdkeTiTs}位置式PID的输出与过去的所有状态有关,计算时要对e(每一次的控制误差)进行累加,这个计算量非常大,而明没有必要。而且小车的PID控制器的输出并不是绝对数值,而是一个△,代表增多少,减多少。换句话说,通过增量PID算法,每次输出是PWM要增加多少或者减小多少,而不是PWM的实际值。因此,在小车控制中我们常用增量式PID控制。下面均以增量式PID说明.打个比方,如果现在的输出是1,目标输出是100,那么P的作用是以最快的速度达到100,把P理解为一个系数即可;关于I,通过高等数学的知识,0的积分才能是一个常数,I就是使误差为0而起调和作用;关于D,微分是求导数,导数代表切线是吧,切线的方向就是最快到至高点的方向。这样理解,最快获得最优解,那么微分就是加快调节过程的作用了。△Uk=A*e(k)+B*e(k-1)+C*e(k-2)这里KP是P的值,TD是D的值,1/Ti是I的值,都是常数,哦,还有一个T,T是采样周期,也是已知。而A,B,C是由PID换算来的,按这个公式,就可以简化计算量了,因为PID是常数,那么ABC可以用一个宏表示。这样看来,只需要求e(k)e(k-1)e(k-2)PID置位控制受控对象+——euyrPID增量式算法步进电机受控对象yur+_e就可以知道△Uk的值了,按照△Uk来调节PWM的大小就OK了。图4PID调节结果2PID参数调试1.负反馈自动控制理论也被称为负反馈控制理论。首先检查系统接线,确定系统的反馈为负反馈。例如电机调速系统,输入信号为正,要求电机正转时,反馈信号也为正(PID算法时,误差=输入-反馈),同时电机转速越高,反馈信号越大。其余系统同此方法。2.PID调试一般原则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调试完成。b.确定积分时间常数Ti比例增益P确定后,设定一个较大的积分时间常数Ti的初值,然后逐渐减小Ti,直至系统出现振荡,之后在反过来,逐渐加大Ti,直至系统振荡消失。记录此时的Ti,设定PID的积分时间常数Ti为当前值的150%~180%。积分时间常数Ti调试完成。c.确定积分时间常数Td积分时间常数Td一般不用设定,为0即可。若要设定,与确定P和Ti的方法相同,取不振荡时的30%。d.系统空载、带载联调,再对PID参数进行微调,直至满足要求3PID与智能车控制的联系小车调速及转向通过输出PWM波得占空比来控制。肯定不是线性的,外界因素那么多,没人能证明是线性的。如果是线性的,直接用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%还是不够,那么第三次你还会加1%吗?很有可能就加2%了。通过PID三个参数得到一个表达式:△PWM=a*△V1+b*△V2+c*△V3,abc是通过PID的那个长长的公式展开,然后约简后的数字,△V1,△V2,△V3此前第一次调整后的速度差,第二次调整后的速度差,第三次依次类推。一句话,PID要使当前速度达到目标速度最快,需要建立如何调整PWM和速度之间的关系。输入就是前次速度,前前次速度,前前前次速度。输出就是PWM应该增加或减小多少。就从控制效果来说,加入了PID控制后,小车的速度能够上一个台阶,因为空度的实时性与精度提高了。4PID小车控制例程//定义PID结构体//*****************************************************typedefstructPID{intSetPoint;//设定目标DesiredValuedoubleProportion;//比例常数ProportionalConstdoubleIntegral;//积分常数IntegralConstdoubleDerivative;//微分常数DerivativeConstintLastError;//Error[-1]intPrevError;//Error[-2]}PID;//*****************************************************//定义相关宏//*****************************************************#defineP_D

1 / 7
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功