主要内容

自适应巡航控制系统

模拟使用模型预测控制器的自适应巡航控制系统

  • 自适应巡航控制系统

库:
模型预测控制工具箱/自动驾驶

描述

自适应巡航控制系统块模拟自适应巡航控制系统(ACC)系统跟踪一组速度和保持一个安全距离导致车辆的纵向加速度通过调整自我。块计算最优控制行为同时满足安全距离,速度和加速度约束使用模型预测控制(MPC)。

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

港口

输入

全部展开

自我车辆速度选点m / s。当没有车辆,控制器跟踪速度。

安全领导车辆之间的时间间隔在几秒钟内和自我。这个时间差距是用来计算的最小安全距离约束。有关更多信息,请参见安全距离后

自我车辆速度米/秒。

导致车辆和自我之间的距离在米车辆。计算这个信号,减去自我车辆位置的车辆位置。

在米每秒的速度差异导致车辆和自我。计算这个信号,减去自我车辆速度导致车辆速度。

最低自我车辆纵向加速度约束在m / s2。使用这个输入端口时,在运行时最小加速度变化。

依赖关系

要启用这个端口,选择使用外部源纵向加速度最小参数。

最大的自我车辆纵向加速度约束在m / s2。使用这个输入端口时,在运行时最大加速度的变化。

依赖关系

要启用这个端口,选择使用外部源最大纵向加速度参数。

控制器优化启动信号。当这个信号是:

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

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

依赖关系

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

实际纵向加速度m / s2应用于自我。控制器使用这个信号估计自我车辆模型。使用这个输入端口,当控制信号应用于自我车辆不匹配最优控制信号计算模型预测控制器。这种不匹配可能发生时,例如:

  • 自适应巡航控制系统不是主动控制器。维护一个精确的状态估计时,控制器不积极防止颠簸在控制信号控制器变得活跃。

  • 加速致动器失败,不提供正确的控制信号到自我。

依赖关系

要启用这个端口,选择使用外部控制信号之间的无扰转移ACC和其他控制器参数。

输出

全部展开

加速控制信号在m / s2生成的控制器。

参数

全部展开

参数选项卡

自我的汽车模型

自我的线性模型车辆纵向加速度的纵向速度,指定为一个线性时不变模型或线性系统辨识工具箱模型。控制器创建其内部预测模型,向自我的车辆动力学模型。

编程使用

块参数:EgoModel
类型:字符串,特征向量
默认值:“特遣部队(1,[0.5,1,0])”

初始速度米/秒的自我车辆模型,可以不同于实际的自我车辆初始速度。

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

编程使用

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

领导之间的最小间距米车辆和自我。这个值对应于目标自我和引导车辆之间的相对距离,当自我车辆速度为零。

这个值是用来计算:

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

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

编程使用

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

最大的自我车辆纵向速度米/秒。

编程使用

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

最低自我车辆纵向加速度约束在m / s2

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

编程使用

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

最大的自我车辆纵向加速度约束在m / s2

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

编程使用

块参数:MaxAcceleration
类型:字符串,特征向量
默认值:“2”
模型预测控制器的设置

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

编程使用

块参数:Ts
类型:字符串,特征向量
默认值:“0.1”

控制器预测地平线的步骤。控制器预测时间的产品样本和预测地平线。

编程使用

块参数:PredictionHorizon
类型:字符串,特征向量
默认值:“30”

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

  • 较小的值产生一个更健壮的控制器与平滑控制行动。

  • 大的值产生一个更激进的控制器和更快的响应时间。

当你修改这个参数,应用于控制器立即改变。

编程使用

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

块选项卡

配置控制器应用一个次优的解决方案在一个指定的最大数量的迭代,保证控制器的最坏执行时间。

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

依赖关系

在选择该参数指定最大迭代次数参数。

编程使用

块参数:次优的
类型:字符串,特征向量
默认值:“关闭”

最大数量的控制器优化迭代。

依赖关系

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

编程使用

块参数:麦克斯特
类型:字符串,特征向量
默认值:“10”

添加启用优化输入端口,选择该参数。

编程使用

块参数:optmode
类型:字符串,特征向量
默认值:“关闭”

选择要添加这个参数外部控制信号输入端口。

编程使用

块参数:trackmode
类型:字符串,特征向量
默认值:“关闭”

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

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

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

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

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

算法

全部展开

扩展功能

C / c++代码生成
使用仿真软件生成C和c++代码®编码器™。金宝app

PLC的代码生成
使用仿真软件生成结构化文本代码®PLC编码器™。金宝app

版本历史

介绍了R2018a