基于MATLAB的汽车运动控制系统设计仿真.doc
《基于MATLAB的汽车运动控制系统设计仿真.doc》由会员分享,可在线阅读,更多相关《基于MATLAB的汽车运动控制系统设计仿真.doc(15页珍藏版)》请在冰点文库上搜索。
课程设计
题目
汽车运动控制系统仿真设计
学院
计算机科学与信息工程学院
班级
2010级自动化班
小组成员
姜木北:
2010133***
指导教师
吴
2013
年
12
月
13
日
汽车运动控制系统仿真设计
10级自动化2班姜鹏2010133234
目录
摘要 2
一、课设目的 3
二、控制对象分析 3
2.1、控制设计对象结构示意图 3
2.2、机构特征 3
三、课设设计要求 3
四、控制器设计过程和控制方案 4
4.1、系统建模 4
4.2、系统的开环阶跃响应 4
4.3、PID控制器的设计 5
4.3.1比例(P)控制器的设计 6
4.3.2比例积分(PI)控制器设计 8
4.3.3比例积分微分(PID)控制器设计 9
五、Simulink控制系统仿真设计及其PID参数整定 10
5.1利用Simulink对于传递函数的系统仿真 10
5.1.1输入为600N时,KP=600、KI=100、KD=100 11
5.1.2输入为600N时,KP=700、KI=100、KD=100 11
5.2PID参数整定的设计过程 12
5.2.1未加校正装置的系统阶跃响应:
12
5.2.2PID校正装置设计 13
六、收获和体会 13
参考文献 14
摘要
本课题以汽车运动控制系统的设计为应用背景,利用MATLAB语言对其进行设计与仿真.首先对汽车的运动原理进行分析,建立控制系统模型,确定期望的静态指标稳态误差和动态指标搬调量和上升时间,最终应用MATLAB环境下的.m文件来实现汽车运动控制系统的设计。
其中.m文件用step函数语句来绘制阶跃响应曲线,根据曲线中指标的变化进行P、PI、PID校正;同时对其控制系统建立Simulink进行仿真且进行PID参数整定。
仿真结果表明,参数PID控制能使系统达到满意的控制效果,对进一步应用研究具有参考价值,是汽车运动控制系统设计的优秀手段之一。
关键词:
运动控制系统PID仿真稳态误差最大超调量
汽车运动控制系统仿真设计
一、课设目的
针对具体的设计对象进行数学建模,然后运用经典控制理论知识设计控制器,并应用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.写出控制系统的数学模型。
2.求系统的开环阶跃响应。
3.PID控制器的设计
(1)比例(P)控制器的设计
(2)比例积分(PI)控制器的设计
(3)比例积分微分(PID)控制器的设计
4.利用Simulink进行仿真设计。
四、控制器设计过程和控制方案
质量m
摩擦力bv
驱动力u
速度v
加速度
4.1、系统建模
为了得到控制系统传递函数,对式
(1)进行拉普拉斯变换,假定系数的初始条件为零,则动态系统的拉普拉斯变换为既然系统输出是汽车的速度,用Y(s)替代v(s),得到
(2)
由于系统输出是汽车的运动速度,用Y(S)替代V(s),得到:
(3)
该控制系统汽车运动控制系统模型的传递函数为:
(4)
由此,建立了系统模型。
4.2、系统的开环阶跃响应
根据我们建立的数学模型,我们从系统的原始状态出发,根据阶跃响应曲线,利用串联校正的原理,以及参数变化对系统响应的影响,对静态和动态性能指标进行具体的分析,最终设计出满足我们需要的控制系统。
具体设计过程如下:
根据前面的分析,我们已经清楚了,系统在未加入任何校正环节时的传递函数,见表达式(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控制系统如下图:
模拟PID控制系统
]
)
(
)
(
1
)
(
[
)
(
0
dt
t
de
T
dt
t
e
T
t
e
K
t
u
D
t
I
P
+
+
=
ò
模拟PID控制器的微分方程为:
Kp为比例系数;TI为积分时间常数;TD为微分时间常数。
取拉氏变换,整理后得PID控制器的传递函数为:
其中:
——积分系数;
——微分系数。
在本题中可知系统的传递函数为:
4.3.1比例(P)控制器的设计
首先选择P校正,即在系统中加入一个比例放大器,也就是在系统中加入一个比例放大器,为了大幅度降低系统的稳态误差,同时减小上升时间。
P校正后系统的闭环传递函数为:
按文中数据我们取kp=600,原系统b=60,m=1200。
利用MATLAB进行闭环系统的单位阶跃输入响应仿真。
仿真程序如下:
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秒内上升到稳定。
4.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')
仿真结果图形如下图
仿真结果分析:
此系统为具有一个零点的二阶系统,零点对此系统的动态性能分析参考教材《自动控制原理》分析如下:
把上式写成为
系统的单位阶跃响应
=
=
不难发现,,根据拉氏变换的微分定理
由于,故
是典型二阶系统的单位脉冲响应(乘以系数)。
一般情况下,零点的影响是使响应迅速且具有较大的超调量,正如图所示。
零点越靠近极点,对阶跃响应的影响越大。
(1)比例积分微分(PID)控制器的设计
4.3.3比例积分微分(PID)控制器设计
对原系统进行PID校正,加入PID控制环节后传递函数为
利用MATLAB进行闭环系统的单位阶跃输入仿真,经过多次比较取得kp=600,ki=100,kd=100.
程序代码为:
b=60;
m=1200;
kp=600;
ki=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的坐标图,传递函数为:
选择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.2
从图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未加入校正装置时系统的阶跃响应曲线
5.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校正后系统的闭环阶跃响应曲线
六、收获和体会
从该设计我们可以看到,对于一般的控制系统来说,应用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