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

此示例演示如何使用自适应巡航控制系统阻断的Simuli金宝appnk和演示了控制目标和该块的约束。

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

让addpath(完整文件(matlabroot,“例子”“货币政策委员会”“主要”));

自适应巡航控制系统

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

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

  • 间距控制:自我汽车保养从引导车的安全距离。

ACC系统决定使用基于实时雷达测量的模式。例如,如果引车太近,ACC系统从速度控制切换为间距控制。类似地,如果铅汽车进一步距离,ACC系统从间距控制到速度控制开关。换句话说,ACC系统使得在驾驶员设定的速度自我驾车出行,只要它保持一定的安全距离。

下列规则用于确定ACC系统的操作模式:

  • 如果$ {D_相对} \ GEQ D_ {}安全$,然后速度控制模式是有效的。控制目标是跟踪驾驶者设定的速度,$ {V_集合} $

  • 如果$ {D_相对} <D_ {}安全$,则间距控制模式是有效的。控制目标是保持安全距离,$ {D_安全} $

金宝appSimulink模型的引导车和自我汽车

铅汽车和汽车自我的动态建模在Simulink。金宝app打开Simulin金宝appk模型。

MDL ='mpcACCsystem';open_system (mdl)

为了接近真实的驾驶环境,在模拟过程中,前车的加速度会随着正弦波的变化而变化。自适应巡航控制系统块输出一个针对小轿车的加速度控制信号。

定义采样时间,TS,仿真持续时间,Ť, 片刻之间。

t = 0.1;T = 80;

对于ego车辆和lead车辆,加速度和速度之间的动力学模型为:

$$ G = \压裂{1} {S(0.5秒+ 1)} $$

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

指定自我汽车线性模型。

G_ego = TF(1,[0.5,1,0]);

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

x0_lead = 50;前车初始位置% (m)v0_lead = 25;%铅汽车的初始速度(米/秒)x0_ego = 10;% ego car初始位置(m)v0_ego = 20;车辆初始速度% (m/s)

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

ACC系统使用Simulink中的自适应巡航控制系统模块建模。金宝app到ACC系统块中的输入是:

  • 驱动程序设定的速度$ {V_集合} $

  • 时间空隙T_}{差距识别美元

  • 自我车的速度$ {V_自我} $

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

  • 相对速度导致汽车美元V_ {rel} $(从雷达)

ACC系统的输出是ego car的加速度。

引车和小我车之间的安全距离是小我车速度的函数,$ {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”对象的“Model.Noise”属性是空的。假设在每个测得的输出信道的白噪声。

绘制仿真结果。

mpcACCplot(logsout,D_default,t_gap,v_set)

在第一个3秒,以达到驾驶员设定速度,自我汽车加速在全油门。

从3秒到13秒,前车慢慢加速。结果,为了保持与前车的安全距离,ego车加速的速度变慢了。

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

从25到45秒,导致汽车速度变慢,然后再加速。自我汽车保养从引导车的安全距离,通过调整其速度,如图所示距离情节。

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

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

在整个模拟中,控制器保证两台车之间的实际距离超过设定的安全距离。当实际距离足够大,则该控制器确保自主车辆跟随驾驶员设定速度。

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

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

也可以看看

相关的话题