主要内容

自适应巡航控制系统使用极值寻求控制

这个例子展示了如何使用一个极值寻求控制实现自适应巡航控制系统(ESC)的方法。在这个例子中,我们的目标是做一个自我在一组汽车旅行速度,同时保持一定的安全距离领先汽车通过控制纵向加速和刹车。

自适应巡航控制系统

自适应巡航控制系统(ACC)是一个系统旨在帮助车辆保持安全距离和后留在速度限制。车辆配备一个ACC系统(自我汽车)使用雷达测量相对距离(<年代pan class="inlineequation"> D r e l )和相对速度(<年代pan class="inlineequation"> V r e l )领先的汽车。ACC系统旨在维护所需的巡航速度(<年代pan class="inlineequation"> V 年代 e t )或保持一个相对安全的距离(<年代pan class="inlineequation"> D 年代 一个 f e 从领先的汽车)。开关的控制目标是基于以下条件决定的。

  • 如果<年代pan class="inlineequation"> D r e l > D 年代 一个 f e ,ACC系统遵循所需的参考巡航速度由司机指挥。

  • 如果<年代pan class="inlineequation"> D r e l < D 年代 一个 f e ,ACC系统控制自我车的相对位置对领导的车。

下面的例子使用了相同的自我和汽车模型<一个href="//www.tianjin-qmedu.com/help/mpc/ug/adaptive-cruise-control-using-model-predictive-controller.html" data-docid="mpc_ug#mw_5d3362c7-033d-4773-a8e5-5f3d303a9c10" class="a">自适应巡航控制系统使用模型预测控制(模型预测控制工具箱)

实现了车辆纵向动力学作为一个简单的二阶线性模型。

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

配置ACC参数的例子。

D_default = 10;<年代pan style="color:#228B22">%默认间距(m)t_gap = 1.4;<年代pan style="color:#228B22">%的时间差距(s)v_set = 30;<年代pan style="color:#228B22">%司机让速度(米/秒)amin_ego = 3;<年代pan style="color:#228B22">%最小加速度司机安慰(m / s ^ 2)amax_ego = 2;<年代pan style="color:#228B22">司机安慰%最大加速度(m / s ^ 2)t = 0.1;<年代pan style="color:#228B22">%样本时间(年代)Tf = 150;<年代pan style="color:#228B22">% (s)持续时间

指定的初始位置和速度领先汽车和自我的车。

x0_lead = 50;<年代pan style="color:#228B22">%初始引导车位置(m)v0_lead = 25;<年代pan style="color:#228B22">%初始引导车速度(米/秒)x0_ego = 10;<年代pan style="color:#228B22">%初始自我汽车位置(m)v0_ego = 20;<年代pan style="color:#228B22">%初始自我汽车速度(米/秒)

ACC使用极值寻求控制

一个极值寻找控制器达到令人满意的控制性能,通过调整控制参数实时最大化的目标函数。对于这个示例,使用以下目标函数,取决于相对距离、安全距离、相对速度,并设置速度。

J = - - - - - - d ( D r e l - - - - - - D 年代 一个 f e ) 2 + v ( v r e l - - - - - - v 年代 e t ) 2

在这里,<年代pan class="inlineequation"> d 和<年代pan class="inlineequation"> v 是目标函数权重距离误差和速度误差项,分别。

Qd = 0.5;Qv = 1;

极值寻求控制器适应以下控制器收益。

  • K x e r r ——位置误差增益

  • K v e r r ——速度误差增益

  • K v r e l ——相对速度增益

为获得指定初始猜测值。

Kverr = 1;<年代pan style="color:#228B22">% ACC速度误差Kxerr = 1;<年代pan style="color:#228B22">% ACC间距误差增益Kvrel = 0.5;<年代pan style="color:#228B22">% ACC相对速度增益

指定极值寻求控制参数

万博1manbetx仿真软件控制设计软件实现了ESC算法使用<一个href="//www.tianjin-qmedu.com/help/slcontrol/ug/extremumseekingcontrol.html" data-docid="slcontrol_ug#mw_657bb3f5-7571-4541-b420-831f9c51dd2e" class="a">极值寻求控制块。配置参数这一块。

指定的参数来优化(三个控制器的收益)。控制器使用一个单独的每个参数调谐回路。

N = 3;

指定的初始条件参数更新集成商通过扩展初始值对每个参数的学习速率lr

lr = 0.02 * (1 2 3);IC = [Kverr、Kxerr Kvrel];

通过指定配置解调和调制信号的频率(ω)、阶段(phi_1phi_2)和振幅(一个b)。每个参数都必须使用不同的频率。对于这个示例,使用相同的调制和解调相位和振幅参数。

ω= 0.8 * (5、7、8);<年代pan style="color:#228B22">%迫使频率(rad / s)一个= 0.01;<年代pan style="color:#228B22">%解调振幅b = 0.5 * lr;<年代pan style="color:#228B22">%调制振幅phi_1 = 0;<年代pan style="color:#228B22">%解调相位(rad)phi_2 =π/ 4;<年代pan style="color:#228B22">%调制相位(rad)

使用一个低通滤波器去除高频噪声的解调信号和一个高通滤波器来消除偏见的摄动目标函数的信号。为这些过滤器指定截止频率。

omega_lpf = 0.04;omega_hpf = 0.01;

模拟自适应巡航控制系统

模拟ESC自适应巡航控制,打开ExtremumSeekingControlACC模型。

mdl =<年代pan style="color:#A020F0">“ExtremumSeekingControlACC”;open_system (mdl)

植物动力学和客观子系统包含ACC模型和计算的目标函数ESC算法。

open_system ([mdl<年代pan style="color:#A020F0">/植物动力学和客观的])

模拟模型。在仿真过程中,导致汽车速度呈现正弦变化。因此,自我汽车必须调整其速度进行补偿。

sim (mdl);

下面的图显示了铅和自我之间的相对距离汽车和安全距离。

  • 安全距离随着自我汽车速度的改变而改变。

  • 自我和铅之间的相对距离汽车偶尔下降略低于安全距离。这个结果是因为ACC系统实施的相对距离用软约束。

open_system ([mdl<年代pan style="color:#A020F0">' /植物动力学和客观/仿真结果/距离”])

看待自我,导致汽车的速度随着自我汽车速度。保持安全距离ACC系统调整自我的车速度领先汽车速度的变化。当汽车速度大于设定速度,自我汽车停止跟踪领先汽车速度和邮轮的速度。

open_system ([mdl<年代pan style="color:#A020F0">' /植物动力学和客观/仿真结果/速度的])

接下来的情节显示了ESC寻求优化的成本函数在搜索最优控制收益。

open_system ([mdl<年代pan style="color:#A020F0">' /植物动力学和客观/仿真结果/成本的])

视图控制器产生的收益,它适应的模拟。情节是顶部<年代pan class="inlineequation"> K v e r r 中间的情节<年代pan class="inlineequation"> K x e r r ,情节是底部<年代pan class="inlineequation"> K v r e l 。获得值的波动由于调制信号的极值寻求控制块。

open_system ([mdl<年代pan style="color:#A020F0">' /植物动力学和客观的收益])

bdclose (<年代pan style="color:#A020F0">“ExtremumSeekingControlACC”)

另请参阅

相关的话题