主要内容

自适应巡航控制系统

用模型预测控制器模拟自适应巡航控制

  • 图书馆:
  • 模型预测控制工具箱/自动驾驶

  • 自适应巡航控制系统块

描述

自适应巡航控制系统块模拟追踪设定速度的自适应巡航控制(ACC)系统,通过调节EGO车辆的纵向加速来维持与铅车辆的安全距离。该块使用模型预测控制(MPC)来满足安全距离,速度和加速度约束的同时计算最佳控制动作。

要自定义控制器,例如使用高级MPC功能或修改控制器初始条件,单击创建ACC子系统

港口

输入

全部展开

自我车辆速度设定,单位为米/秒。当没有前导车辆时,控制器跟踪这个速度。

在铅载体和自助车辆之间的秒为单位安全时间间隙。该时间间隙用于计算距离约束的最小安全。有关更多信息,请参阅安全距离后

自我车辆速度,单位为米/秒。

前车与自我车之间的距离,以米为单位。要计算这个信号,需要从领先的车辆位置中减去自我车辆位置。

铅车辆和自助式车辆之间每秒米的速度差异。为了计算该信号,从引线车速中减去自我车辆速度。

M / s中的最小自助式纵向加速度约束2.当最小加速度在运行时变化时,请使用此输入端口。

依赖性

要启用此端口,请选择使用外部源为了最小纵向加速参数。

M / S中最大的自我车辆纵向加速度约束2.当最大加速在运行时发生变化时,请使用此输入端口。

依赖性

要启用此端口,请选择使用外部源为了最大纵向加速参数。

控制器优化使能信号。当此信号是:

  • 非零时,控制器执行优化计算并生成纵向加速度控制信号。

  • 零,控制器不执行优化计算。在这种情况下,纵向加速度输出信号保持在禁用优化时的值。控制器继续更新其内部状态估计值。

依赖性

要启用该端口,请选择使用外部信号来启用或禁用优化参数。

M / s中的实际纵向加速度2应用于自我载体。控制器利用该信号估计自我车辆模型的状态。当应用于自我车辆的控制信号与模型预测控制器计算出的最优控制信号不匹配时,使用该输入端口。这种不匹配可能发生在以下情况:

  • 自适应巡航控制系统不是主用控制器。当控制器处于非主动状态时,保持准确的状态估计可防止控制器变为主动状态时控制信号中的颠簸。

  • 加速执行器失效,不能提供正确的控制信号给自我车辆。

依赖性

要启用该端口,请选择使用外部控制信号在ACC和其他控制器之间进行无压力转移参数。

输出

全部展开

加速度控制信号m/s2由控制器生成。

参数

全部展开

参数选项卡

自我车辆模型

从自我车辆纵向加速到其纵向速度的线性模型,指定为LTI模型或线性系统识别工具箱模型。控制器通过增强自我车辆动态模型来创建内部预测模型。

程序使用

块参数:EgoModel
类型:字符串,字符向量
默认:“TF(1,[0.5,1,0])”

自我车辆模型的M / S中的初始速度,可以与实际的自我车辆初始速度不同。

该值用于配置模型预测控制器的初始条件。有关更多信息,请参阅初始条件

程序使用

块参数:InitialEgoVelocity
类型:字符串,字符向量
默认:“20”

引线车辆和自助式车辆之间的米数最小间隔。当EGO车辆速度为零时,该值对应于自我和铅载体之间的目标相对距离。

该值用于计算:

  • 距离最低安全。有关更多信息,请参阅安全距离后

  • 控制器初始条件。有关更多信息,请参阅初始条件

程序使用

块参数:DefaultSpacing
类型:字符串,字符向量
默认:“10”

最大自我车辆纵向速度,单位为米/秒。

程序使用

块参数:MaxVelocity
类型:字符串,字符向量
默认:“50”
自适应巡航控制器约束

M / s中的最小自助式纵向加速度约束2

如果最小加速随时间变化而变化,则添加最小纵向加速输入端口的块通过选择使用外部源

程序使用

块参数:MinAcceleration
类型:字符串,字符向量
默认:“-3”

M / S中最大的自我车辆纵向加速度约束2

如果最大加速度随时间变化,则加最大纵向加速输入端口的块通过选择使用外部源

程序使用

块参数:maxacceleration.
类型:字符串,字符向量
默认:“2”
模型预测控制器设置

控制器采样时间,以秒为单位。

程序使用

块参数:TS.
类型:字符串,字符向量
默认:“0.1”

控制器预测水平步长。控制器预测时间是采样时间和预测视界的乘积。

程序使用

块参数:predictionhorizo​​n.
类型:字符串,字符向量
默认:“30”

闭环控制器性能。默认参数值提供平衡控制器设计。指定A:

  • 更小的值产生更鲁棒的控制器和更平滑的控制动作。

  • 较大的值会产生更具侵略性的控制器,响应时间更快。

修改此参数时,更改将立即应用于控制器。

程序使用

块参数:ControllerBehavior.
类型:字符串,字符向量
默认:“0.5”

块标签

将控制器配置为在指定的最大迭代次数之后应用次优解决方案,这保证了控制器的最坏情况执行时间。

有关更多信息,请参阅次优QP解决方案

依赖性

选择此参数后,指定最大迭代次数参数。

程序使用

块参数:次优
类型:字符串,字符向量
默认:“离开”

最大控制器优化迭代次数。

依赖性

要启用此参数,请选择使用次优解决方案参数。

程序使用

块参数:maxiter.
类型:字符串,字符向量
默认:“10”

要添加启用优化输入端口到块,选择此参数。

程序使用

块参数:optmode
类型:字符串,字符向量
默认:“离开”

选择此参数以添加外部控制信号块的输入端口。

程序使用

块参数:trackmode
类型:字符串,字符向量
默认:“离开”

生成一个自定义ACC子系统,您可以为您的应用程序修改它。自定义控制器的配置数据被导出到MATLAB®工作空间作为一个结构。

您可以修改自定义控制器子系统:

  • 修改默认MPC设置或使用高级MPC功能。

  • 修改控制器默认初始条件。

  • 使用不同的应用程序设置,例如自定义安全跟随距离定义。

算法

全部展开

扩展能力

C / c++代码生成
使用Simulink®Coder™生成C和C ++代码。万博1manbetx

PLC代码生成
使用Simulink®PLC Coder™生成结构化文本代码。万博1manbetx

在R2018A介绍