汽车运动控制系统仿真

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、摘要 2

二、课程设计任务 3

1.问题描述 3 2.设计要求 3

三、课程设计内容 4

1、系统的模型表示 4

2、利用Matlab进行仿真设计 4

3、利用Simulink进行仿真设计 9 总结与体会 10 参考文献 10

本课题以汽车运动控制系统的设计为应用背景,利用MATLAB语言对其进行设计与仿真.首先对汽车的运动原理进行分析,建立控制系统模型,确定期望的静态指标稳态误差和动态指标搬调量和上升时间,最终应用MATLAB环境下的.m 文件来实现汽车运动控制系统的设计。其中.m文件用step函数语句来绘制阶跃响应曲线,根据曲线中指标的变化进行P、PI、PID校正;同时对其控制系统建立Simulink进行仿真且进行PID参数整定。仿真结果表明,参数PID控制能使系统达到满意的控制效果,对进一步应用研究具有参考价值,是汽车运动控制系统设计的优秀手段之一。

关键词:运动控制系统PID仿真稳态误差最大超调量

一、课程设计任务

1. 问题描述

如下图所示的汽车运动控制系统,设该系统中汽车车轮的转动惯量可以忽略不计,并且假定汽车受到的摩擦阻力大小与汽车的运动速度成正比,摩擦阻力的方向与汽车运动的方向相反,这样,该汽车运动控制系统可简化为一个简单的质量阻尼系统。

根据牛顿运动定律,质量阻尼系统的动态数学模型可表示为:

⎩⎨⎧==+v

y 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)

同时,系统的数学模型也可写成如下的状态方程形式:

⎪⎩⎪⎨⎧=+-=v

y 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 )控制器的设计

采用比例积分控制的系统闭环传递函数可表示为:

I

P 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 控制的系统闭环传递函数为:

I

P 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)

相关文档
最新文档