基于MATLAB的汽车驾驶控制系统仿真研究

时间:2022-10-19 11:54:07

基于MATLAB的汽车驾驶控制系统仿真研究

由Carnegie Melon大学开发的MATLAB软件,为控制系统的设计与仿真提供了一个强有力的工具。由于该软件具有易使用、矩阵运算功能强、控制理论丰富且含有CAD应用程序集等特点,MATLAB已成为国际控制领域内最流行的控制系统的计算机辅助设计软件。随着社会的发展,汽车已成为现代社会的主要交通工具之一。笔者借助MATLAB工具对汽车驾驶控制系统进行仿真分析,研究影响汽车驾驶控制系统性能的主要因素,为汽车的设计和性能的改善提供科学依据。

一、汽车驾驶控制系统建模

汽车驾驶控制系统是典型的反馈控制系统,是整个汽车的核心部分。其主要目的就是对汽车行驶的速度进行合理控制,系统的主要工作原理是:速度操纵机构的位置改变,用以设置汽车行驶的速度;测量汽车的当前速度,并求取它与指定速度的差值;由速度差值信号驱动汽车产生相应的牵引力,并由此牵引力改变汽车的速度直到其速度稳定在指定的速度为止。

1.系统数学模型

(1)速度操纵机构的位置变换器。位置变换器是汽车驾驶控制系统的输入部分,目的是将速度操纵机构的位置转换为相应的速度,它们的数学关系如下:

v=ax+b,x∈[0,1]

其中,c为速度操纵机构的位置,v为与之相应的速度,a,b为常数。

(2)行驶控制器。行驶控制器是整个控制系统的核心部分,其功能是根据汽车当前速度与指定速度的差值,产生相应的牵引力。行驶控制器为一典型的PID控制器,其数学表述为:

积分环节:x(n)=x(n-1)+u(n)

微分环节:d(n)=u(n)-u(n-1)

系统输出:y(n)Pu(n)+Ix(n)+Dd(n)

其中,u(n)为系统的输入,相当于汽车当前速度与指定速度的差值;y(n)为系统的输出,相当于汽车的牵引力; x(n)为系统中的状态。P、I、D为PID控制器的比例、积分与微分控制参数。

(3)汽车动力机构。汽车动力机构是行驶控制系统的执行机构,其功能是在牵引力的作用下改变汽车速度,使其达到指定的速度。牵引力与速度之间的数学表述为:

F=mv・+bv

其中,F为汽车的牵引力,m为汽车的质量,v为汽车速度,b为阻力因子。

2.系统仿真模型

按照上述的汽车驾驶控制系统的数学模型,在MATLAB中分别建立汽车位置变换器、行驶控制器、汽车动力机构的Simulink仿真子模型;然后,建立整个汽车驾驶控制系统的仿真模型。

二、系统参数设置与仿真分析

1.参数设置

在建立系统仿真模型后,就可按照系统的要求,设置系统的模块参数和仿真参数如下:

(1)速度操纵机构的位置变速器。Slider Gain模块作用是对位置变速器的输入信号x的范围进行限制,其参数最小值设为0、最大值设为1,初始值设为0.55;Gain模块,增益取值设为50;Constant1模块,常数取值设为45。

(2)汽车动力机构子系统模型。Gain模块取值为1/m,设为1/1000;Gain1模块取值为b/m,设为20/1000;Integrator积分模块是用来汽车动力机构,初始状态设为0,即汽车初速度值为0。

(3)行驶控制器子系统模型。Delay模块用来实现行驶控制器(即PID控制器),初始状态设为0,采样时间设为0.02s。

系统仿真时间范围设置为从0到500s,选择变步长连续求解器,系统其他模块及仿真参数均使用MATLAB默认取值。

2.系统定量仿真及分析

建立汽车驾驶控制系统的目的就是使汽车的速度在较短的时间内平稳地达到指定的速度。根据上述建立的仿真模型及参数设置,对系统进行定量仿真分析。使用两组不同的PID控制参数,对系统进行定量仿真。从仿真结果可以看出,当汽车驾驶控制参数P=1、I=0.01、D=0时,汽车的速度并非直接达到指定速度,而是经过一个振荡衰减过程,最后逐渐过渡到指定速度;从参数P=5、I=0.005、D=2时的仿真结果可以看出,适当增加控制器的P、D值,减小I值可以改善系统的性能。

3.系统定性仿真分析

行驶控制器是汽车驾驶控制系统中最重要的部分,行驶控制器是一个典型的PID反馈控制器。从系统定量仿真及分析得知,增加控制器的P、D值,减小I值可以改善系统的性能。笔者下面通过对PID值定性研究,分析对系统性能的动态影响。

为动态研究比例环节P值对系统性能的影响,编写MATLAB函数Vary_P.m如下:(此处I、D值固定,I=0.01,D=0)

for p=0:5:25 %设置比例环节p的不同取值;

[t,x,y]=sim(‘bus_driving_system’)%对系统仿真

subplot(3.2,p/5+1) %绘制系统仿真结果

plot(t,y)

ylabel([‘P=’,num2str(p)])

end

在MATLAB命令窗口下执行函数Vary_P.m将得到仿真结果,从中可以看出:对于取值较大的比例调节器P,汽车速度的过渡时间较小,且变化平稳(仿真结果曲线无振荡且光滑)。由此可以得出,增加比例调节器的取值,可以有效改善汽车驾驶控制系统的动态性能。

同理,为动态研究微分环节D值对系统性能的影响,编写MATLAB函数Vary_D.m如下:(此处P、I值固定,I=0.01,P=1)

for d=0:5:25 %设置微分环节D的不同取值

[t,x,y]=sim(‘bus_driving_system’)%对系统仿真

subplot(3.2,d/5+1) %绘制系统仿真结果

plot(t,y)

ylabel([‘D=’,num2str(d)])

end

在MATLAB命令窗口下执行函数Vary_D.m将得到仿真结果。从中可以看出,随着微分比例环节D值的变化,汽车的速度都要经历一个振荡衰减过程才能逐渐过渡到指定的速度。由此可以得出,增加微分调节器的取值,对改善汽车驾驶控制系统的动态性能影响不大。

同理,为动态研究积分环节I值对系统性能的影响,编写MATLAB函数Vary_I.m如下:(此处P、D值固定,D=0,P=1)

m=0 %控制所有图绘制在一个窗口

for i=0.005:0.005:0.3 %设置积分环节D的不同取值

[t,x,y]=sim(‘bus_driving_system’) %对系统仿真

subplot(3,2,m/5+1) %绘制系统仿真结果

plot(t,y)

ylabel([‘I=’,num2str(i)] )

m=m+5

end

在MATLAB命令窗口下执行函数Vary_I.m将得到仿真结果。从中可以看出,随着微分比例环节I值的增大,汽车的速度要经历一个比较大的振荡衰减过程才能逐渐过渡到指定的速度。由此可以得出,减小积分调节器的取值能有效改善汽车驾驶控制系统的动态性能影响。

在MATLAB环境下,通过对汽车驾驶控制系统进行定量(静态)和定性(动态)两种仿真及分析,从中得出对汽车驾驶控制系统,其比例调节器P和积分调节器I的改变对系统的动态性能影响较大,而微分调节器D对系统的动态性能影响不大;适当增加参数P值、减小I值,可明显改善系统的性能。笔者认为,研究结果为汽车的设计和性能的改善提供了一定科学依据。

(作者单位:安徽科技贸易学校)

上一篇:在CAD教学中如何培养学生的空间想象能力 下一篇:《内科学》考试分析