主要内容

采用模型预测控制的自适应巡航控制系统

此示例显示了如何使用自适应巡航控制系统模块,并演示了该模金宝app块的控制目标和约束。

将示例文件夹添加到MATLAB®路径中。

目录(fullfile (matlabroot,'例子''MPC''主要的'));

自适应巡航控制系统

配备有自适应巡航控制(ACC)的车辆(EGO CAR)具有诸如雷达的传感器,可测量与前车辆(铅轿厢)的前车辆的距离,$ d_ {rel} $.传感器还测量引线车的相对速度,美元V_ {rel} $.ACC系统有以下两种运行模式:

  • 速度控制:自我汽车以驾驶者设定的速度行驶。

  • 间距控制:自我车与引导车保持安全距离。

ACC系统根据实时雷达测量来决定使用哪种模式。例如,如果引导车太近,ACC系统从速度控制切换到间距控制。同样,如果前车距离较远,ACC系统将从间距控制切换到速度控制。换句话说,ACC系统使ego汽车以驾驶员设定的速度行驶,只要它保持安全距离。

ACC系统运行模式的判断原则如下:

  • 如果美元D_ {rel} \组D_{安全}$,则速度控制模式是主动的。控制目标是跟踪驾驶者设定的速度,美元V_{集}$

  • 如果美元D_ {rel} < D_{安全}$,则间距控制模式激活。控制目标是保持安全距离,美元D_{安全}$

金宝appLead Car和Ego Car的Simulink模型

在Simulink中建立了铅车和自我车的动力学模型。金宝app打开Simulin金宝appk模型。

mdl =“mpcACCsystem”;Open_System(MDL)

为了近似现实的驾驶环境,引线轿厢的加速度根据模拟期间的正弦波而变化。自适应巡航控制系统块输出自助式汽车的加速度控制信号。

定义采样时间,Ts和仿真持续时间,T,在几秒钟内。

ts = 0.1;t = 80;

对于EGO车辆和铅载体,加速度和速度之间的动态被建模为:

$$ G = $ frac{1}{s(0.5s+1)

这近似了节流阀体和车辆惯性的动态。

为ego car指定线性模型。

G_ego =特遣部队(1,[0.5,1,0]);

指定两个车辆的初始位置和速度。

x0_lead = 50;铅轿车的%初始位置(M)v0_lead = 25;导车初速度% (m/s)x0_ego = 10;自我汽车(M)的初始职位v0_ego = 20;自助式汽车的初始速度(m / s)

自适应巡航控制系统模块的配置

在Simulink中采用自适应巡航控制系统模块对ACC系统进行建模。金宝appACC系统块的输入如下:

  • 司机让速度美元V_{集}$

  • 时间差距$ t_ {gap} $

  • 自我汽车的速度美元V_{自我}$

  • 到铅轿车的相对距离$ d_ {rel} $(雷达)

  • 相对于前车的速度美元V_ {rel} $(雷达)

ACC系统的输出是自助式汽车的加速度。

引线车与自助式汽车之间的安全距离是自我汽车速度的函数,美元V_{自我}$

$ $ D_{安全}= D_{默认}+ T_{差距}\识别V_{自我}$ $

在哪里美元D_{默认}$停顿是否是默认的间距和$ t_ {gap} $就是车辆之间的时间间隔。指定的值美元D_{默认}$,以米,和$ t_ {gap} $,在几秒钟内。

t_gap = 1.4;d_default = 10;

指定M / s中的驱动程序集速度。

v_set = 30;

考虑到车辆动态的物理限制,加速度被限制在范围内[-3,2](米/秒^ 2)。

amin_ego = 3;amax_ego = 2;

对于这个例子,自适应巡航控制系统块的默认参数与仿真参数匹配。如果模拟参数与默认值不同,则相应地更新块参数。

仿真分析

运行仿真。

sim (mdl)
——>模型转换为离散时间。——>假设添加到测量输出通道2上的输出扰动为集成白噪声。假设对测量的输出通道#1没有增加任何干扰。——>”模式。mpc对象的Noise属性为空。假设每个测量输出通道上都有白噪声。

绘制仿真结果。

mpcACCplot (logsout D_default、t_gap v_set)

在最初的3秒内,为了达到驾驶者设定的速度,“自我”赛车会全速加速。

从3到13秒,铅轿厢缓慢加速。结果,为了保持与铅轿车的安全距离,自助式汽车以较慢的速度加速。

从13秒到25秒,自我汽车保持驾驶者设定的速度,如图所示速度阴谋。但是,随着铅轿厢降低速度,间距误差在20秒后开始旋转0。

从25秒到45秒,领先的车减速,然后再次加速。自我车通过调整速度来保持与领先车的安全距离,如图所示距离情节。

从45到56秒,间距误差在上面0.因此,自我车再次达到驾驶者设定的速度。

从56到76秒,重复从25到45个间隔的减速/加速序列。

在整个仿真过程中,控制器确保两车之间的实际距离大于设定的安全距离。当实际距离足够大时,控制器保证自我车辆遵循驾驶者设定的速度。

从MATLAB路径删除示例文件文件夹,然后关闭Simulink模型。金宝app

rmpath(fullfile(matlabroot,'例子''MPC''主要的'));bdclose (mdl)

另请参阅

相关话题