主要内容

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

控件的实例自适应巡航控制系统模块,并演示了该模金宝app块的控制目标和约束。

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

目录(fullfile (matlabroot,“例子”“货币政策委员会”“主要”));

自适应巡航控制系统

配备自适应巡航控制系统(ACC)的车辆(ego car)具有雷达等传感器,可以测量与同一车道上前面车辆(lead car)的距离。美元D_ {rel} $。传感器还能测量领头车的相对速度,美元V_ {rel} $。ACC系统有以下两种工作模式:

  • 速度控制:ego汽车以驾驶员设定的速度行驶。

  • 间距控制:小车与前车保持安全距离。

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

确定ACC系统运行模式的规则如下:

  • 如果$D_{rel} \geq D_{safe}$,则速度控制模式处于激活状态。控制目标是跟踪驾驶员设定的速度,美元V_{集}$

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

金宝appLead Car和Ego Car的Simulink模型

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

mdl =“mpcACCsystem”;open_system (mdl)

为了近似真实的驾驶环境,在模拟过程中,领头车的加速度根据正弦波变化。自适应巡航控制系统块输出一个加速控制信号的自我汽车。

定义采样时间,Ts、模拟持续时间;T,在几秒钟内。

Ts = 0.1;T = 80;

对于自我车辆和领先车辆,加速度和速度之间的动力学建模为:

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

它近似于节流阀体的动力学和车辆惯性。

为小轿车指定线性模型。

G_ego = tf(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_}{差距识别美元

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

  • 与领头车的相对距离美元D_ {rel} $(雷达)

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

ACC系统的输出是小车的加速度。

领头车和自我车之间的安全距离是自我车速度的函数,美元V_{自我}$

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

在哪里美元D_{默认}$静止的默认间距是和吗T_}{差距识别美元是车辆之间的时间间隔。为美元D_{默认}$,单位是米,和T_}{差距识别美元,在几秒钟内。

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”对象的“噪声”属性为空。假设每个测量输出通道存在白噪声。

绘制仿真结果。

mpcACCplot (logsout D_default、t_gap v_set)

在最初的3秒内,为了达到驾驶员设定的速度,ego汽车会全速加速。

从3秒到13秒,领头车缓慢加速。因此,为了保持与领头车的安全距离,自我车以较慢的速度加速。

从13秒到25秒,自我汽车保持驾驶员设定的速度,如图速度情节。然而,当领头车减速时,间隔误差在20秒后开始接近0。

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

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

从56秒到76秒,重复从25秒到45秒的减速/加速顺序。

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

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

rmpath (fullfile (matlabroot,“例子”“货币政策委员会”“主要”));bdclose (mdl)

另请参阅

相关的话题