主要内容

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

这个例子展示了如何使用自适应巡航控制系统Simulink®万博1manbetx中的块,并演示此块的控制目标和约束。

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

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

自适应巡航控制系统

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

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

  • 间距控制:ego轿厢与主轿厢保持安全距离。

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

以下规则用于确定ACC系统的工作模式:

  • 如果$D{rel}\geq D{safe}$,则速度控制模式激活。控制目标是跟踪驾驶员设定的速度,$V_{set}$

  • 如果$D{rel}<D{safe}$,则间距控制模式处于活动状态。控制目标是保持安全距离,$D{safe}$

万博1manbetxLead Car和Ego Car的Simulink模型

在Simulink中对lead car和ego car进行了动力学建模。打开Simulink模型。万博1manbetx

mdl=“mpcACCsystem”;open_system (mdl)

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

定义采样时间,Ts,和模拟持续时间,T,以秒为单位。

t = 0.1;T = 80;

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

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

它近似于油门体的动力学和车辆的惯性。

指定汽车的线性模型。

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

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

x0_铅=50;%导车起始位置(m)v0_lead = 25;%先导车的初始速度(m/s)x0_=10;自我车初始位置(m)v0_=20;自我车初始速度% (m/s)

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

ACC系统使用Simulink中的自适应巡航控制系统模块进行建模。ACC系统块的输入为:万博1manbetx

  • 驱动器设定速度$V_{set}$

  • 时差T_}{差距识别美元

  • 汽车的速度$V_{ego}$

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

  • 相对于先导车的相对速度美元V_ {rel} $(来自雷达)

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

引导车和自我车之间的安全距离是自我车速度的函数,$V_{ego}$:

$$D{safe}=D{default}+T{gap}\times V{ego}$$

哪里$D{default}$是静止默认间距和T_}{差距识别美元是车辆之间的时间间隔。指定的值$D{default}$,单位为米T_}{差距识别美元,以秒为单位。

t_gap = 1.4;D_default = 10;

指定驱动器设置的速度,单位为米/秒。

v_集=30;

考虑到车辆动力学的物理限制,加速度受距离限制(3 2)(m/s^2)。

阿明•伊戈=-3;amax_ego=2;

在此示例中,自适应巡航控制系统块的默认参数与仿真参数匹配。如果模拟参数与默认值不同,则相应地更新块参数。

仿真分析

运行仿真。

sim卡(mdl)
-->将模型转换为离散时间。-->假设添加到测量输出通道#2的输出干扰为积分白噪声。假设测量的输出通道#1没有增加干扰。-->“mpc”对象的“Model.Noise”属性为空。假设每个测量输出通道上存在白噪声。

绘制仿真结果。

mpcACCplot(对数输出、D_默认值、t_间隙、v_设置)

在前3秒钟内,为了达到驾驶员设定的速度,ego汽车以全油门加速。

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

从13秒到25秒,ego汽车保持驾驶员设定的速度,如图所示速度情节。然而,随着前车速度的降低,间隔误差在20秒后开始趋近于0。

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

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

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

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

从MATLAB路径中删除示例文件夹,关闭Simulink模型。万博1manbetx

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

另见

相关的话题