当前位置:文档之家› 汽车运动控制系统仿真

汽车运动控制系统仿真

一、摘要 2二、课程设计任务 31.问题描述 3 2.设计要求 3三、课程设计内容 41、系统的模型表示 42、利用Matlab进行仿真设计 43、利用Simulink进行仿真设计 9 总结与体会 10 参考文献 10本课题以汽车运动控制系统的设计为应用背景,利用MATLAB语言对其进行设计与仿真.首先对汽车的运动原理进行分析,建立控制系统模型,确定期望的静态指标稳态误差和动态指标搬调量和上升时间,最终应用MATLAB环境下的.m文件来实现汽车运动控制系统的设计。

其中.m文件用step函数语句来绘制阶跃响应曲线,根据曲线中指标的变化进行P、PI、PID校正;同时对其控制系统建立Simulink进行仿真且进行PID参数整定。

仿真结果表明,参数PID控制能使系统达到满意的控制效果,对进一步应用研究具有参考价值,是汽车运动控制系统设计的优秀手段之一。

关键词:运动控制系统 PID仿真稳态误差最大超调量一、课程设计任务1. 问题描述如下图所示的汽车运动控制系统,设该系统中汽车车轮的转动惯量可以忽略不计,并且假定汽车受到的摩擦阻力大小与汽车的运动速度成正比,摩擦阻力的方向与汽车运动的方向相反,这样,该汽车运动控制系统可简化为一个简单的质量阻尼系统。

根据牛顿运动定律,质量阻尼系统的动态数学模型可表示为:⎩⎨⎧==+vy u bv v m 系统的参数设定为:汽车质量m =1000kg ,比例系数b =50 N ·s/m ,汽车的驱动力u =500 N 。

根据控制系统的设计要求,当汽车的驱动力为500N 时,汽车将在5秒内达到10m/s 的最大速度。

由于该系统为简单的运动控制系统,因此将系统设计成10%的最大超调量和2%的稳态误差。

这样,该汽车运动控制系统的性能指标可以设定为:上升时间:t r <5s ;最大超调量:σ%<10%;稳态误差:e ssp <2%。

2.设计要求1.写出控制系统的数学模型。

2.求系统的开环阶跃响应。

3.PID 控制器的设计(1)比例(P )控制器的设计(2)比例积分(PI )控制器的设计(3)比例积分微分(PID )控制器的设计利用Simulink 进行仿真设计。

二、课程设计内容1.系统的模型表示假定系统的初始条件为零,则该系统的Laplace 变换式为:⎩⎨⎧==+)()()()()(s V s Y s U s bV s msV 即 )()()(s U s bY s msY =+ 则该系统的传递函数为:b ms s U s Y +=1)()( 如果用Matlab 语言表示该系统的传递函数模型,相应的程序代码如下: num=1;den=[1000,50];sys=tf(num,den)同时,系统的数学模型也可写成如下的状态方程形式:⎪⎩⎪⎨⎧=+-=vy u m v m b v 1如果用Matlab 语言表示该系统状态空间模型,相应的程序代码如下: A=-50/1000;B=1/1000;C=1;D=0;sys=ss(A,B,C,D)2. 利用Matlab 进行仿真设计I .求系统的开环阶跃响应在Matlab 命令窗口输入相应的程序代码,得出该系统的模型后,接着输入下面的指令:step(u*sys)可得到该系统的开环阶跃响应曲线,如下图所示:从图上可看出该系统不能满足系统设计所要求达到的性能指标,需要加上合适的控制器。

II .PID 控制器的设计PID 控制器的传递函数为: s K s K s K s K s K K I P D D I P ++=++2在PID 控制中,比例(P )、积分(I )、微分(D )这三种控制所起的作用是不同的。

下面分别讨论其设计过程。

(1)比例(P )控制器的设计增加比例控制器之后闭环系统的传递函数为:)()()(P P K b ms K s U s Y ++= 由于比例控制器可以改变系统的上升时间,现在假定Kp =100,观察一下系统的阶跃响应。

在MATLAB 命令窗口输入指令:num=100;den=[1000,150];sys=tf(num,den);step(500*sys)上升时间为40s 远远大于5s ,不能满足设计要求,稳态误差为(500-333)/500远远大于2%,因此系统不满足设计要求若减小汽车的驱动力为10N ,重新进行仿真,仿真结果为:num=100;den=[1000,150];sys=tf(num,den);step(10*sys)如果所设计的比例控制器仍不能满足系统的稳态误差和上升时间的设计要求,则可以通过提高控制器的比例增益系数来改善系统的输出。

例如把比例增益系数Kp从100提高到10000重新计算该系统的阶跃响应,结果为:程序:num=10000;den=[1000,10050];sys=tf(num,den);step(10*sys)此时系统的稳态误差接近为零,系统上升时间也降到了0.5s以下。

这样做虽然满足了系统性能要求,但实际上该控制过程在现实中难以实现。

因此,引入比例积分(PI)控制器来对系统进行调节。

(2)比例积分(PI )控制器的设计采用比例积分控制的系统闭环传递函数可表示为:IP I P K s K b ms K s K s U s Y ++++=)()()(2 增加积分环节的目的是减小系统的稳态误差,假设比例系数Kp =600,积分系数K I =1,编写相应的MATLAB 程序代码如下:num=[600,1];den=[1000,650,1];sys=(num,den)可以调节控制器的比例和积分系数来满足系统的性能要求。

例如选择比例系数K P =800,积分系数K I =40时,可得系统阶跃响应曲线为:num=[800,40];den=[1000,850,40];sys=(num,den);step(500*sys)可见,此时的控制系统已经能够满足系统要求达到的性能指标设计要求。

但此控制器无微分项,而对于有些实际控制系统往往需要设计完整的PID 控制器,以便同时满足系统的动态和稳态性能要求。

(3)比例积分微分(PID )控制器的设计采用PID 控制的系统闭环传递函数为:IP D I P d K s K b s K m K s K s K s U s Y ++++++=)()()()()(22 假设该控制器的比例系数K P =1,积分系数K I =1,微分系数K D =1,编写MATLAB 程序代码如下:num=[1,1,1];den=[1001,51,1];sys=(num,den)运行上述程序,并且调整PID控制器的控制参数,直到控制器满足系统设计的性能指标要求为止。

num=[10,650,50];den=[1010,700,50];sys=tf(num,den);step(500*sys)最后,选择K P=650,K I =50,K D=10,此时系统的阶跃响应曲线如下:从图中可以看出该系统能够满足设计的总体性能要求。

3.利用Simulink进行仿真设计I.求系统的开环阶跃响应利用Simulink建立系统阶跃响应模型,如下图所示。

双击Step模块,设置模块属性:跳变时间为0;初始值为0;终止值为10;采样时间为0。

单击◢按钮开始仿真,双击Scope模块,可得系统阶跃响应曲线。

II.PID控制器的设计在Simulink的模型窗口建立一个包含PID控制器的闭环系统阶跃响应模型,如图所示:分别双击Kp、Ki、Kd模块设定比例、积分、微分系数,点击◢按钮开始仿真,双击Scope模块,观察系统的阶跃响应曲线,直到满足要求为止。

最终选取K P= 680 ,K I= 50 ,K D= 15 ,此时控制器能满足系统设计所要求达到的性能指标,Simulink仿真的汽车运动PID控制系统的阶跃响应曲线如下:总结与体会通过实验对一个汽车运动控制系统进行实际设计与仿真,掌握控制系统性能的分析和仿真处理过程,熟悉用Matlab和Simulink进行系统仿真的基本方法。

从该设计我们可以看到,对于一般的控制系统来说,应用PID控制是比较有效的,而且基本不用分析被控对象的机理,只根据Kp,Ki和Kd的参数特性以及MATLAB绘制的阶跃响应曲线进行设计即可。

在MATLAB环境下,我们可以根据仿真曲线来选择PID参数。

根据系统的性能指标和一些基本的整定参数的经验,选择不同的PID参数进行仿真,最终确定满意的参数。

这样做一方面比较直观,另一方面计算量也比较小,并且便于调整。

通过这次试验,我懂得了更多的知识,虽然刚开始时好多都不懂。

但是经过和同学的讨论,在各位老师的悉心培育下,对MATLAB的Simulink仿真有了更深的理解。

设计系统的控制器之前要观察该系统的开环阶跃响应,采用阶跃响应函数step( )来实现,如果系统不能满足所要求达到的设计性能指标,需要加上合适的控制器。

然后再按照仿真结果进行PID控制器参数的调整,使控制器能够满足系统设计所要求达到的性能指标。

通过此次课程设计,使我们对基本知识掌握的更加的扎实,掌握了一些控制仿真方面的知识,在做的过程中也遇到了一些问题,不断的尝试,不断的修改,努力做好此次课程设计。

通过自己动手实验,使知识掌握的更加的牢固,更加方面自己理解。

参考文献[1] 阮毅,陈伯时.电力拖动自动控制系统. 北京:机械工业出版社,2009[2] 李国勇等.计算机仿真技术与CAD. 北京:电子工业出版社,2008[3] 王正林等.MATLAB/Simulink与控制系统仿真,电子工业出版社,2012[4] 涂植英等.自动控制原理.重庆大学出版社,2005。

相关主题