基于matlab的汽车运动控制系统设计仿真

申明敬告: 本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。

文档介绍

基于matlab的汽车运动控制系统设计仿真

课程设计题目汽车运动控制系统仿真设计学院计算机科学与信息工程学院班级2010级自动化班小组成员姜木北:2010133***指导教师吴2013年12月13日15\n汽车运动控制系统仿真设计10级自动化2班姜鹏2010133234目录摘要2一、课设目的3二、控制对象分析32.1、控制设计对象结构示意图32.2、机构特征3三、课设设计要求3四、控制器设计过程和控制方案44.1、系统建模44.2、系统的开环阶跃响应44.3、PID控制器的设计54.3.1比例(P)控制器的设计64.3.2比例积分(PI)控制器设计84.3.3比例积分微分(PID)控制器设计9五、Simulink控制系统仿真设计及其PID参数整定105.1利用Simulink对于传递函数的系统仿真105.1.1输入为600N时,KP=600、KI=100、KD=100115.1.2输入为600N时,KP=700、KI=100、KD=100115.2PID参数整定的设计过程125.2.1未加校正装置的系统阶跃响应:125.2.2PID校正装置设计13六、收获和体会13参考文献1415\n摘要本课题以汽车运动控制系统的设计为应用背景,利用MATLAB语言对其进行设计与仿真.首先对汽车的运动原理进行分析,建立控制系统模型,确定期望的静态指标稳态误差和动态指标搬调量和上升时间,最终应用MATLAB环境下的.m文件来实现汽车运动控制系统的设计。其中.m文件用step函数语句来绘制阶跃响应曲线,根据曲线中指标的变化进行P、PI、PID校正;同时对其控制系统建立Simulink进行仿真且进行PID参数整定。仿真结果表明,参数PID控制能使系统达到满意的控制效果,对进一步应用研究具有参考价值,是汽车运动控制系统设计的优秀手段之一。关键词:运动控制系统PID仿真稳态误差最大超调量15\n汽车运动控制系统仿真设计一、课设目的针对具体的设计对象进行数学建模,然后运用经典控制理论知识设计控制器,并应用Matlab进行仿真分析。通过本次课程设计,建立理论知识与实体对象之间的联系,加深和巩固所学的控制理论知识,增加工程实践能力。二、控制对象分析2.1、控制设计对象结构示意图图1.汽车运动示意图2.2、机构特征汽车运动控制系统如图1所示。忽略车轮的转动惯量,且假定汽车受到的摩擦阻力大小与运动速度成正比,方向与汽车运动方向相反。根据牛顿运动定律,该系统的模型表示为:(1)其中,u为汽车驱动力(系统输入),m为汽车质量,b为摩擦阻力与运动速度之间的比例系数,为汽车速度(系统输出),为汽车加速度。对系统的参数进行如下设定:汽车质量m=1200kg,比例系数b=60N·s/m,汽车的驱动力u=600N。三、课设设计要求当汽车的驱动力为600N时,汽车将在5秒内达到10m/s的最大速度。由于该系统为简单的运动控制系统,因此将系统设计成10%的最大超调量和2%的稳态误差。这样,该汽车运动控制系统的性能指标设定为:上升时间:<5s;最大超调量:<10%;稳态误差:<2%。1.写出控制系统的数学模型。15\n1.求系统的开环阶跃响应。2.PID控制器的设计(1)比例(P)控制器的设计(2)比例积分(PI)控制器的设计(3)比例积分微分(PID)控制器的设计3.利用Simulink进行仿真设计。四、控制器设计过程和控制方案质量m摩擦力bv驱动力u速度v加速度4.1、系统建模为了得到控制系统传递函数,对式(1)进行拉普拉斯变换,假定系数的初始条件为零,则动态系统的拉普拉斯变换为既然系统输出是汽车的速度,用Y(s)替代v(s),得到(2)由于系统输出是汽车的运动速度,用Y(S)替代V(s),得到:(3)该控制系统汽车运动控制系统模型的传递函数为:(4)由此,建立了系统模型。4.2、系统的开环阶跃响应根据我们建立的数学模型,我们从系统的原始状态出发,根据阶跃响应曲线,利用串联校正的原理,以及参数变化对系统响应的影响,对静态和动态性能指标进行具体的分析,最终设计出满足我们需要的控制系统。具体设计过程如下:15\n根据前面的分析,我们已经清楚了,系统在未加入任何校正环节时的传递函数,见表达式(4),下面我们绘制原始系统的阶跃响应曲线,相应的程序代码如下:clear;m=1200;b=60;num=[1];den=[m,b];disp('Ôϵͳ´«º¯Îª:')printsys(num,den);t=0:0.01:120;step(10*num,den,t);axis([012000.2]);title('ϵͳÊä³ö');xlabel('Time-sec');ylabe1('Response-vahie');grid;text(45,0.7,'Ôϵͳ')得到的系统开环阶跃响应如图所示。从图2中可以看出,系统的开环响应曲线未产生振荡,属于过阻尼性质。这类曲线一般响应速度都比较慢。果然,从图和程序中得知,系统的上升时间约100秒,稳态误差达到98%,远不能满足跟随设定值的要求。这是因为系统传递函数分母的常数项为50,也就是说直流分量的增益是1/50。因此时间趋于无穷远,角频率趋于零时,系统的稳态值就等于1/50=0.02。为了大幅度降低系统的稳态误差,同时减小上升时间,我们希望系统各方面的性能指标都能达到一个满意的程度,应进行比例积分微分的综合,即采用典型的PID校正。4.3、PID控制器的设计我们通过数学模型建立模拟PID控制系统如下图:15\n模拟PID控制系统])()(1)([)(0dttdeTdtteTteKtuDtIP++=ò模拟PID控制器的微分方程为:Kp为比例系数;TI为积分时间常数;TD为微分时间常数。取拉氏变换,整理后得PID控制器的传递函数为:其中:——积分系数;——微分系数。在本题中可知系统的传递函数为:4.3.1比例(P)控制器的设计首先选择P校正,即在系统中加入一个比例放大器,也就是在系统中加入一个比例放大器,为了大幅度降低系统的稳态误差,同时减小上升时间。P校正后系统的闭环传递函数为:按文中数据我们取kp=600,原系统b=60,m=1200。利用MATLAB15\n进行闭环系统的单位阶跃输入响应仿真。仿真程序如下:kp=600;b=60;m=1200;t=[0:0.1:7];y=[kp];u=[mb+kp];sys1=tf(y,u);[y1,t]=step(sys1,t);sys1;plot(t,y1);grid;xlabel('Time(seconds)'),ylabel('StepResponse')具体分析:令比较系数得T=16/17,一阶系统的阶跃响应是一个按指数规律单调上升的过程,其动态性能指标中不存在超调量、峰值时间、上升时间等项。按一阶系统的过渡过程时间定义:,计算得,当增大系统的开环放大系数会使T减小,减小。经过P校正后上升时间明显减小,但稳态误差约为4.9%,还是不能满足要求,也不能再5秒内上升到稳定。15\n4.3.2比例积分(PI)控制器设计利用PI校正改进系统,PI控制不仅给系统引进一个纯积分环节,而且还引进一个开环零点。纯积分环节提高了系统的型别,从而有效的改善系统的稳态性能,但稳定性会有所下降。所以,比例加积分环节可以在对系统影响不大的前提下,有效改善系统的稳态性能。PI校正后的闭环传递环数为:利用MATLAB进行闭环系统的单位阶跃输入响应仿真程序如下:b=60;m=1200;kp=300;ki=70;t=[0:1:45];y=[kpki];u=[mb+kpki];sys2=tf(y,u);[y2,t2]=step(sys2,t);plot(t2,y2);grid;xlabel('Time(seconds)'),ylabel('StepResponse')仿真结果图形如下图仿真结果分析:此系统为具有一个零点的二阶系统,零点对此系统的动态性能分析参考教材《自动控制原理》分析如下:15\n把上式写成为系统的单位阶跃响应==不难发现,,根据拉氏变换的微分定理由于,故是典型二阶系统的单位脉冲响应(乘以系数)。一般情况下,零点的影响是使响应迅速且具有较大的超调量,正如图所示。零点越靠近极点,对阶跃响应的影响越大。(1)比例积分微分(PID)控制器的设计4.3.3比例积分微分(PID)控制器设计对原系统进行PID校正,加入PID控制环节后传递函数为利用MATLAB进行闭环系统的单位阶跃输入仿真,经过多次比较取得kp=600,ki=100,kd=100.程序代码为:b=60;m=1200;kp=600;15\nki=100;kd=100;t=[0:0.1:50];y=[kdkpki];u=[m+kdb+kpki];sys4=tf(y,u);[y4,t4]=step(sys4,t);plot(t4,y4);grid;xlabel('Time(seconds)'),ylabel('StepResponse')text(25,9.5,'Kp=600Ki=100Kd=100')PID仿真阶跃输入响应结果如下从图中和程序运行结果中可以清楚的知道,系统的静态指标和动态指标,已经很好的满足了设计的要求。上升时间小于5s,超调量小于8%,约为6.67,具体值可由程序计算出。满足校正要求,虽然继续增大比例放大器系数,阶跃响应可以无限接近阶跃函数,但实际应用中由于实际器件限制KP不可能无限大。五、Simulink控制系统仿真设计及其PID参数整定利用MATLAB的Simulink仿真系统进行汽车控制系统的系统仿真,首先在Simulink仿真系统中画出系统仿真图,如图5-1所示。图5-1二阶系统仿真图5.1利用Simulink对于传递函数的系统仿真建立的是路程s时间t的坐标图,传递函数为:15\n选择T=0.1s来进行验证。对PID控制器中的三个参数KP、KI、KD也利用试凑法进行设定。5.1.1输入为600N时,KP=600、KI=100、KD=100得到如下图:图5-1.1从图6-1.1中可以看到仿真达到的最大值约为10.25,则最大超调误差为2%远小于10%;由于100s远大于5s,所以我们可以取50s处为无穷远点,读图可知在50s处的值为10,所以其稳态误差为0.4%远小于2%;另外系统在5s时就达到了10m/s,满足题设要求。5.1.2输入为600N时,KP=700、KI=100、KD=100得到如下图:图5-1.215\n从图6-1.2中可以看到仿真达到的最大值约为5.14,则最大超调误差为0.07%远小于10%;在30s处的值为5,所以其稳态误差为0;另外系统在5s时就达到了5m/s,符合题设要求。5.2PID参数整定的设计过程从系统的原始状态出发,根据阶跃响应曲线,利用串联校正的原理,以及参数变化对系统响应的影响,对静态和动态性能指标进行具体的分析,最终设计出满足我们需要的控制系统。具体设计过程如下:5.2.1未加校正装置的系统阶跃响应:系统在未加入任何校正环节时的传递函数表达式为G(s)=1/(1200s+60),相应的程序代码如下:num=[1];den=[120060];printsys(num,den);G=tf(num,den)bode(G)得到的系统阶跃响应如图6-2.1所示。从图中可以看出,系统的开环响应曲线未产生振荡,属于过阻尼性质。为了大幅度降低系统的稳态误差,同时减小上升时间,我们希望系统各方面的性能指标都能达到一个满意的程度,应进行比例积分微分的综合,即采用典型的PID校正。图5-2.1未加入校正装置时系统的阶跃响应曲线15\n5.2.2PID校正装置设计对于本例这种工程控制系统,采用PID校正一般都能取得满意的控制结果。此时系统的闭环传递函数为:=Kp,Ki和Kd的选择一般先根据经验确定一个大致的范围,然后通过MATLAB绘制的图形逐步校正。程序代码为:num0=[560040];den0=[100565040];G=tf(num0,den0)[num,den]=cloop(G);得到加入PID校正后系统的闭环阶跃响应如图5-2.2所示。从图3和程序运行结果中可以清楚的知道,系统的静态指标和动态指标,上升时间小于5s,超调量小于10%。图5-2.2PID校正后系统的闭环阶跃响应曲线六、收获和体会15\n从该设计我们可以看到,对于一般的控制系统来说,应用PID控制是比较有效的,而且基本不用分析被控对象的机理,只根据Kp,Ki和Kd的参数特性以及MATLAB绘制的阶跃响应曲线进行设计即可。在MATLAB环境下,我们可以根据仿真曲线来选择PID参数。根据系统的性能指标和一些基本的整定参数的经验,选择不同的PID参数进行仿真,最终确定满意的参数。这样做一方面比较直观,另一方面计算量也比较小,并且便于调整。通过这次试验,我懂得了更多的知识,虽然刚开始时好多都不懂。但是经过和同学的讨论,在各位老师的悉心培育下,对MATLAB的Simulink仿真有了更深的理解。参数的设定也是一个麻烦的过程,采样周期的选择既不能过大也不能过小,经过分析,最终选择T=0.1S,另外,为满足题目要求,对PID控制器中的三个参数KP、KI、KD利用试凑法进行设定,这里只能根据系统以及三个参数的特性,反复的试凑,直到满足要求。再试凑的过程中我发现饱和器saturation对系统特性曲线也有很大影响,通过试凑,在一阶中,我选择了最大限制参数为12000,二阶中,输入500N时最大限制参数设为40000,输入10N时为75000。这次实验的目的在最终的努力下,终于做到了。虽然很困难,但是也是值得的。也让我们更懂得了团结的重要。同学一起互相帮助很重要。也多谢老师给我们足够的耐心。以后对于专业知识,我还是会更努力学习的。参考文献[1]阮毅,陈伯时.电力拖动自动控制系统.北京:机械工业出版社,2009[2]李国勇等.计算机仿真技术与CAD.北京:电子工业出版社,2008[3]王正林等.MATLAB/Simulink与控制系统仿真,电子工业出版社,2012[4]涂植英等.自动控制原理.重庆大学出版社,2005[5]苏金明,阮沈勇编著.MATLAB6.1使用指南[M].北京:电子工业出版社,2002,1.[6]赵文峰等编著.MATLAB控制系统设计与仿真[M].西安:电子科技大学出版社,2002,3.15
查看更多

相关文章

您可能关注的文档