Matlab汽车运动控制系统设计.docx
- 文档编号:7084395
- 上传时间:2023-01-17
- 格式:DOCX
- 页数:21
- 大小:421.34KB
Matlab汽车运动控制系统设计.docx
《Matlab汽车运动控制系统设计.docx》由会员分享,可在线阅读,更多相关《Matlab汽车运动控制系统设计.docx(21页珍藏版)》请在冰豆网上搜索。
Matlab汽车运动控制系统设计
1绪论
1.1选题背景与意义
汽车已经成为人们日常生活不可缺少的代步交通工具,在汽车发达国家,旅客运输的60%以上,货物运输的50%以上由汽车来完成,汽车工业水平和家庭平均拥有汽车数量已经成为衡量一个国家工业发达程度的标志。
进行汽车运动性能研究时.一般从操纵性、稳定性和乘坐舒适性等待性着手。
但近年来.随着交通系统的日趋复杂,考虑了道路环境在内的汽车运动性能开始受到关注。
因此,汽车运动控制系统的研究也显得尤为重要,在文中,首先对汽车的运动原理进行分析,建立控制系统简化模型,确定期望的静态指针(稳态误差)和动态指针(超调量和上升时间)。
然后对汽车运动控制系统进行设计分析。
从而确定系统的最佳静态和动态指针。
2论文基本原理分析
2.1.1汽车运动横向控制
(1)绝对位置的获得方法
汽车横向方向的控制使用GPS(全球定位系统)的绝对位置信息。
GPS信息的精度与采样周期、时间滞后等有关。
为提高GPS的数据精度和平滑数据.采用卡尔曼滤波对采样数据进行修正。
GPS的采样周期为200ms相对应控制的周期采用50ms。
另外考虑通信等的滞后、也需要进行补偿,采用航位推测法(deadreckoning)解决此问题。
通过卡尔曼滤波和航位推测法推算出的值作为汽车的绝对位置使用来控制车速、横摆角速度等车辆的状态量。
GPS的数据通过卡尔曼滤波减少偏差、通过航位推测法进行误差和迟滞补偿.提高了位置数据推算的精度。
(2)前轮转角变化量的算出方法
这里对前轮目标转角变化量(
)的算出方法作简要说明,横方向控制采用预见控制,可以从现在汽车的状态预测经过时间
秒后的汽车位置,由
秒后的预测位置和目标路径
的位置可以算出
秒后为沿着目标路径行驶所需要的汽车横摆角速度
。
这个数值前回馈或者从与现在值的目标路径的误差的反馈来推算前轮目标转角变化量(式
(1)).
式
(1)
式中
为控制周期,
根据与现在目标路径的误差
最小的原则来求解。
2.1.2汽车运动纵方向的控制
建立一个合理的传动系统模型是设计高性能汽车纵向运动控制系统的基础。
目前纵向运动控制器设计过程中采用的传动系统简化模型主要有两类:
一类是忽略传动系统的部分动态特性得到简化模型:
另一类是通过对输入输出特性辨识得到简化模型。
本文借鉴文献,忽略传动系统的部分动态特性,将车辆简化为两轮模型,对于前轮驱动车辆,整车受力如图1所示。
前后车轮运动方程分别为
上式中
和
,分别为前后轮转动惯量(左右轮之和),
为后轮转速,
和
分别为前后车轮的垂直载荷(左右轮之和),
和
分别为前后轮切向力(左右轮之和),r为车轮半径,f为滚动阻力系数。
对于汽车纵向运动控制系统,不会出现非常大的加减速度,采用线性化轮胎模型,得到切向力与滑移率关系为:
。
式中
为轮胎纵向刚度,s为滑移率。
驱动时s=l-v/(r),制动时s=l-(r)/v。
认为风阻
作用于汽车质心,则前后轮垂直载荷分别为
式中M为整车品质;a和b分别为前后轴到质心的距离,L=a+b;
为质心至地面的高度。
整车运动方程为
式中
风阻系数,A为等效迎风面积。
发动机转矩、发动机转速、涡轮转速、半轴转矩、前后轮转速、车速7状态的非线性传动系统模型,在低频带内,发动机动态对传动系统特性基本无影响,如果控制系统只涉及较低频段.可以忽略发动机动态。
忽略了半轴、轮胎滑移以及载荷转移和发动机转矩,只包括发动机转速、车速2个状态。
飞轮运动方程为
整车运动方程为
2.2汽车运动控制系统的模型简化分析
考虑图2所示的汽车运行控制系统。
如果忽略车轮的转动惯量.并且假定汽车受到的摩擦阻力大小与运动速度成正比,方向与汽车运动方向相反,则该系统可以简化成简单的质量阻尼系统。
根据牛顿运动定律,该系统的模型(亦即系统的运动力方程)表示为:
(3-1)
其中,u为汽车的驱动力。
为了得到控制系统的传递函数,对式(3-1)进行Laplace变换。
假定系统的初始条件为零,则动态系统的Laplace变换为:
由于系统输出是汽车的运动速度,用Y(S)替代V(s),得到:
因此.汽车运动控制系统模型的传递函数为:
2.3汽车控制系统PID控制器的校正
根据阶跃响应曲线.利用串联校正的原理.以及参数变化对系统响应的影响,对静态和动态性能指针进行具体的分析,最终设计出满足我们需要的控制系统。
系统在未加入任何校正环节时的开环传递函数,在MATLAB环境下对系统未加校正时开环阶跃响应曲线进行仿真.绘制如图3阶跃响应曲线,图中系统的开环响应曲线未产生振荡,其上升时间约100秒,稳态误差达到98%,远不能满足跟随设定值的要求。
图3
图4
(1)首先选择P校正,也就是在系统中加入一个比例放大器,为了大幅度降低系统的稳态误差,同时减小上升时间。
P校正后系统的闭环传递函数为:
此时控制系统的稳态值为
。
本系统的比例增益
。
即稳态值为800/(50+800)=O.941,这样可以把系统的稳态误差降低到0.06左右。
加入P校正后控制系统的死循环阶跃响应曲线如图3所示。
图中,系统的稳态值约为0.941.稳态误差约为5.9%,这和最初的设计要求仍有差距,并且上升时间在7秒左右,不能达到设计的需要。
因此我们选择PI校正。
(2)加入PI校正器后系统的闭环单位反馈传递函数为:
考虑到
的作用.我们可以大幅度降低
,取
,在MATLAB环境下仿真得出的系统响应曲线如图4(中)所示。
从图4(中)中可以得知,加入PI校正后系统的上升时间有所下降,但仍大于5秒。
同时又产生了另一个问题,系统的超调量达到了26.43%.这是使用积分器带来的副作用。
因此适当地加入微分量。
(3)可以选择PD校正,此时系统的闭环单位反馈传递函数为:
鉴于
对上升时间和稳态误差影响不大.我们在P校正的基础上.将
降低少许,给出
=10。
系统响应曲线如图4(中)所示。
(4)加入PID校正,此时系统的闭环单位反馈传递函数为:
,
和
的选择一般先根据经验确定一个大致的范围,然后通过MATLAB绘制的图形逐步校正。
这里我们取
=700,
=100,
=100。
得到加入PLD校正后系统的死循环阶跃响应如图4(右)所示。
从图4(右)中可以得出,系统的静态指针和动态指针,已经很好的满足了设计的要求。
上升时间小于5s,超调量小于8%,约为6.67%。
图5
根据系统的性能指针和一些基本的整定参数的经验,选择不同的PID参数进行模拟,最终确定满意的参数。
这样做一方面比较直观,另一方面计算量也比较小,并且便于调整。
2.4汽车运动控制系统根轨迹校正的设计过程
为了减小系统的稳态误差,同时尽量减小超调量和上升时间的变化,达到满意的效果,我们需要从相位的角度来考虑,改变控制器的结构,从而想到相位滞后器的作用。
相位滞后器的传递函数为:
这样.整个系统的死循环传递函数就变成了:
滞后控制器的零极点应设计成紧靠在一起,这样控制系统的稳态误差将减小
/
倍。
根据上面的分析,将
设计成-0.3,而
等于-0.03。
图6图7
得到的根轨迹如图7中。
在实轴的-0.35的位置附近选择期望点,得到图7所示的系统阶跃响应曲线。
从图7中可以得知,这时的稳态误差已经满足设计要求。
出现的少量超调亮是加入之滞后控制器的结果。
死循环系统的超调量约为7.64%,满足小于8%的设计要求,上升时间约为2.5秒,以及稳态误差都已经满足设计要求。
3对论文采用的理论和方法进行研究
本论文利用MATLAB对简化后的汽车运动控制系统进行仿真,由于文中没有具体过程,图形也不能分辨精确值,扩写时我进行具体分析并按照自己的理解进行仿真。
文中简化后的汽车运动控制系统的开环传递函数为
,其开环传递为一阶惯性系统。
而全文没有提及汽车的质量m(经过后面的仿真,选取m值为800。
)由于文中图形的分辨率问题,不能从文中读出精确值,仿真结果只能接近源图形,但已经足够完成要求,即对汽车运动控制简化模型的PID校正。
3.1.1汽车运动控制简化模型传递函数仿真设计
对原开环传递函数
利用MATLAB进行单位阶跃输入响应的仿真。
仿真程序如下:
b=50;m=800;
t=[0:
0.1:
120];
y=[1];u=[mb];
sys0=tf(y,u);[y1,t]=step(sys0,t);sys1;
plot(t,y1);grid;
xlabel('Time(seconds)'),ylabel('StepResponse')
仿真结果图形如图8,图中上升时间明显偏大,大约60秒,而且稳态误差有98%,远远不能满足论文中的要求,但原文中没有对要求进行统一,所以下文中我选定上升时间小于5秒,超调量8%,稳态误差小于2%。
图8闭环传递函数
单位阶跃输入响应
3.1.2汽车运动控制系统P校正函数仿真设计
论文对开环传递函数进行PID校正,文中是通过三步尝试得到最终PID校正参数。
首先要减小系统的上升时间,进行P校正,即在开环系统中加入比例放大环节
,P校正后系统的闭环传递环数为
按文中数据取kp=800,原系统b=50,m=800。
利用MATLAB进行闭环系统的单位阶跃输入响应仿真。
仿真程序如下:
kp=800;b=50;m=800;
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')
仿真结果图形如下图9
图9闭环传递函数
单位阶跃输入响应
具体分析:
令
比较系数得T=16/17,一阶系统的阶跃响应是一个按指数规律单调上升的过程,其动态性能指标中不存在超调量、峰值时间、上升时间等项。
按一阶系统的过渡过程时间定义:
,计算得
,当增大系统的开环放大系数
会使T减小,
减小。
经过P校正后上升时间明显减小,但稳态误差约为5.9%,还是不能满足要求。
3.1.3汽车运动控制系统PI校正函数仿真设计
利用PI校正改进系统,PI控制不仅给系统引进一个纯积分环节,而且还引进一个开环零点。
纯积分环节提高了系统的型别,从而有效的改善系统的稳态性能,但稳定性会有所下降。
所以,比例加积分环节可以在对系统影响不大的前提下,有效改善系统的稳态性能。
PI校正后的闭环传递环数为:
利用MATLAB进行闭环系统的单位阶跃输入响应仿真程序如下:
b=50;m=800;kp=200;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')
仿真结果图形如下图10
图10闭环传递函数
单位阶跃输入响应
仿真结果分析:
此系统为具有一个零点的二阶系统,零点对此系统的动态性能分析参考教材《自动控制原理》分析如下:
把上式写成为
系统的单位阶跃响应
=
=
不难发现,
根据拉氏变换的微分定理
由于
,故
是典型二阶系统的单位脉冲响应(乘以系数
)。
一般情况下,零点的影响是使响应迅速且具有较大的超调量,正如图所示。
零点越靠近极点,对阶跃响应的影响越大。
3.1.4汽车运动控制系统PD校正函数仿真设计
加入PD控制校正,闭环传递函数为
利用MATLAB进行闭环系统的单位阶跃输入响应
仿真程序如下:
b=50;m=800;kp=200;kd=10;
t=[0:
0.5:
20];
y=[kdkp];u=[m+kdb+kp];
sys3=tf(y,u);[y3,t3]=step(sys3,t);
plot(t3,y3);grid;
xlabel('Time(seconds)'),ylabel('StepResponse')
图11闭环传递函数
单位阶跃输入响应
系统单位阶跃响应的上升时间约为10秒,稳态误差为20%,稳态误差过大,需要继续校正。
3.1.5汽车运动控制系统PID校正函数仿真设计
对原系统进行PID校正,加入PID控制环节后传递函数为
利用MATLAB进行闭环系统的单位阶跃输入仿真,经过多次比较取得kp=700,ki=100,kd=100。
与论文结果一致。
程序如下:
b=50;m=800;kp=700;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')
仿真阶跃输入响应结果如下
图12闭环传递函数
单位阶跃输入响应
观察图7,上升时间约3.5秒,超调量约5%,满足校正要求,虽然继续增大比例放大器系数,阶跃响应可以无限接近阶跃函数,但实际应用中由于实际器件限制
不可能无限大。
3.2汽车运动控制系统相位滞后器校正研究及仿真
首先分析P校正后系统的闭环传递环数为:
由margin函数可得系统的bode图如图13,由图像显示系统稳定。
MATLAB仿真程序如下:
m=800;b=50;kp=800;
num=[kp];den=[mb+kp];
sys=tf(num,den);
margin(sys)
图13P校正后的系统bode图
相位滞后器的传递函数为:
其bode图如图14,MATLAB仿真程序如下:
p=0.03,z=0.3
num=[1z];den=[1p];
sys0=tf(num,den);
margin(sys0)
图14相位滞后器的bode图
这样.整个系统的死循环传递函数就变成了:
利用MATLAB仿真其bode图,程序如下:
b=50;m=800;kp=700;
z=0.3;p=0.03;
y=[kpkp*z];u=[mb+p+kpb*p+p*kp];
sys5=tf(y,u);margin(sys5)
仿真图形为下图图15
图15相位滞后器校正后的bode图
由图10可以看出,由原传递函数和相位滞后器串联而成的系统的对数坐标时,两环节对数坐标的纵坐标相加减即可。
但相位滞后器校正的有点在于中、高频幅值的衰减,使系统的截止频率
左移(下降),从而获得足够的相角裕量。
滞后校正的副作用是相角滞后,给系统附加一个负值相角,一致在一定程度上影响了其优点的发挥。
原汽车运动控制系统传递函数本来就是一个惯性系统,是稳定系统,所以相位滞后校正效果没有PID校正好。
加入滞后控制器后的闭环阶跃响应曲线用MATLAB仿真,程序如下:
kp=700;b=50;m=800;
z=0.3;p=0.03;
t=[0:
0.1:
30];y=[kpkp*z];u=[mb+m*p+kpb*p+kp*z];
sys52=tf(y,u);[y,t]=step(sys52,t);
plot(t,y);grid;
xlabel('Time(seconds)'),ylabel('StepResponse')
图16加入滞后控制器后的系统闭环阶跃响应曲线
观察图像,系统闭环阶跃响应上升时间约为4.3秒,超调量约10%,超调量偏大,没有PID校正的效果好。
3.3汽车运动控制系统相位滞后器校正研究及仿真
根据给定的要求
,利用
的关系可以求得
。
为了留有余地,取
。
故
。
再由
按
所期望的闭环主导极点为
利用MATLAB根轨迹仿真得原传递函数根轨迹如下图11
图17系统根轨迹图
观察图像不难发现,此根轨迹于闭环主导极点无交点。
需要加入一个零点和一个极点,且极点闭零点更靠近虚轴。
图18
结论
从该系统的设计我们可以看到,应用PID控制是比较有效的,而且基本不用分析被控对象的机理,又根据
,
,
的参数特性以及MATLAB绘制的节约响应曲线进行设计即可。
在MATLAB环境下,我们可以根据方针曲线来选择PID参数。
根轨迹是设计SISO系统控制器非常有效的方法,利用作图的手段来求出闭环极点的分布,避免了复杂的数学计算过程。
通过根轨迹图,我们可以很容易的看出系统中摸个参数的变化对系统的闭环极点产生什么影响,进而如何影响系统的动态性能。
该方法简便快捷,结果准确可靠,他是控制系统设计的优秀手段之一。
本文创新点:
在MATLAB环境下对汽车运动控制系统进行PID和根轨迹的设计和校正。
参考文献
[1]藤岡健彦,石田兼一.ITSの福祉车岡への適用[A].AD2VAN—TY2000Symposium講演論文集[C].日本東京,2000.27—30.
[2]前学,藤岡健彦.DGPSを利用した絕對位置情報に基づく自勤車の自動運動.aに關する研究[A].日本機械學會論文集[c].川崎:
日本機械學會,1999,2:
371—378.
[3]KyongsuY,YoungjooC,SejinL.AThrottleBrakeControlLawforVehicleIntelligentCruiseControl[J]FISITAWorldAutomotive
Congress.2000:
320—328.
[4]XuZ,IoannouP.AdaptiveThrottleControlforSpeedTracking[J].
VehicleSystemDynamics,1994,(23):
126-130.
[5]胡寿松.自动控制原理(第四版)[M].北京:
科学出版社,2001,4:
124—166.
[6]李友善.自动控制原理[M].北京:
国防工业出版社,1987,6:
102-200.
[7]张军锋,吴海峰.基于MatlabFIS工具箱的模糊自整定PID控制系统设计与实现[J].微电脑信息,2004,6:
23—25.
[8]高国燊.自动控制原理(第二版)[M].广州:
华南理工大学出版社,2005,5:
89—91.
(注:
可编辑下载,若有不当之处,请指正,谢谢!
)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Matlab 汽车 运动 控制系统 设计