自适应巡航控制系统
模拟使用模型预测控制器的自适应巡航控制系统
库:
模型预测控制工具箱/自动驾驶
描述
的自适应巡航控制系统块模拟自适应巡航控制系统(ACC)系统跟踪一组速度和保持一个安全距离导致车辆的纵向加速度通过调整自我。块计算最优控制行为同时满足安全距离,速度和加速度约束使用模型预测控制(MPC)。
定制你的控制器,例如使用高级MPC功能或修改控制器初始条件,点击创建ACC子系统。
例子
港口
输入
设置速度- - - - - -自我车辆速度定位点
负的标量
自我车辆速度选点m / s。当没有车辆,控制器跟踪速度。
时间差距- - - - - -安全的时间差距
负的标量
安全领导车辆之间的时间间隔在几秒钟内和自我。这个时间差距是用来计算的最小安全距离约束。有关更多信息,请参见安全距离后。
纵向速度- - - - - -自我的车辆速度
负的标量
自我车辆速度米/秒。
相对距离- - - - - -导致车辆和自我之间的距离
积极的标量
导致车辆和自我之间的距离在米车辆。计算这个信号,减去自我车辆位置的车辆位置。
相对速度- - - - - -速度差异导致车辆和自我
标量
在米每秒的速度差异导致车辆和自我。计算这个信号,减去自我车辆速度导致车辆速度。
纵向加速度最小- - - - - -最低自我车辆加速度
消极的标量
最低自我车辆纵向加速度约束在m / s2。使用这个输入端口时,在运行时最小加速度变化。
依赖关系
要启用这个端口,选择使用外部源为纵向加速度最小参数。
最大纵向加速度- - - - - -最大的自我车辆加速度
积极的标量
最大的自我车辆纵向加速度约束在m / s2。使用这个输入端口时,在运行时最大加速度的变化。
依赖关系
要启用这个端口,选择使用外部源为最大纵向加速度参数。
启用优化- - - - - -控制器优化启动信号
标量
控制器优化启动信号。当这个信号是:
非零,控制器执行优化计算和生成一个纵向加速度控制信号。
零,控制器不执行优化计算。在这种情况下,纵向加速度输出信号仍在价值优化时禁用。控制器继续更新其内部状态估计。
依赖关系
要启用这个端口,选择使用外部信号来启用或禁用优化参数。
外部控制信号- - - - - -纵向加速度应用于自我
标量
实际纵向加速度m / s2应用于自我。控制器使用这个信号估计自我车辆模型。使用这个输入端口,当控制信号应用于自我车辆不匹配最优控制信号计算模型预测控制器。这种不匹配可能发生时,例如:
的自适应巡航控制系统不是主动控制器。维护一个精确的状态估计时,控制器不积极防止颠簸在控制信号控制器变得活跃。
加速致动器失败,不提供正确的控制信号到自我。
依赖关系
要启用这个端口,选择使用外部控制信号之间的无扰转移ACC和其他控制器参数。
输出
纵向加速度- - - - - -加速度控制信号
标量
加速控制信号在m / s2生成的控制器。
参数
参数选项卡
自我的汽车模型从纵向加速度纵向速度线性模型- - - - - -自我的汽车模型
特遣部队([0.5,1,0])
(默认)| |线性系统辨识工具箱™模型线性时不变模型
自我的线性模型车辆纵向加速度的纵向速度,指定为一个线性时不变模型或线性系统辨识工具箱模型。控制器创建其内部预测模型,向自我的车辆动力学模型。
编程使用
块参数:EgoModel |
类型:字符串,特征向量 |
默认值:“特遣部队(1,[0.5,1,0])” |
初始条件为纵向速度- - - - - -自我车辆模型的初始速度
20.
(默认)|负的标量
初始速度米/秒的自我车辆模型,可以不同于实际的自我车辆初始速度。
这个值是用于配置模型预测控制器的初始条件。有关更多信息,请参见初始条件。
编程使用
块参数:InitialEgoVelocity |
类型:字符串,特征向量 |
默认值:“20” |
最大速度- - - - - -最大纵向速度
50
(默认)|积极的标量
最大的自我车辆纵向速度米/秒。
编程使用
块参数:MaxVelocity |
类型:字符串,特征向量 |
默认值:“50” |
纵向加速度最小- - - - - -最低自我车辆加速度
3
(默认)| -标量
最低自我车辆纵向加速度约束在m / s2。
如果最小加速度变化随着时间的推移,添加纵向加速度最小通过选择输入端口块使用外部源。
编程使用
块参数:MinAcceleration |
类型:字符串,特征向量 |
默认值:“3” |
最大纵向加速度- - - - - -最大的自我车辆加速度
2
(默认)|负的标量
最大的自我车辆纵向加速度约束在m / s2。
如果最大加速度变化随着时间的推移,添加最大纵向加速度通过选择输入端口块使用外部源。
编程使用
块参数:MaxAcceleration |
类型:字符串,特征向量 |
默认值:“2” |
样品时间- - - - - -控制器样品时间
0.1
(默认)|积极的标量
控制器样品时间以秒为单位。
编程使用
块参数:Ts |
类型:字符串,特征向量 |
默认值:“0.1” |
预测地平线- - - - - -控制器预测地平线
10
(默认)|正整数
控制器预测地平线的步骤。控制器预测时间的产品样本和预测地平线。
编程使用
块参数:PredictionHorizon |
类型:字符串,特征向量 |
默认值:“30” |
控制器的行为- - - - - -闭环控制器的性能
0.5
(默认)|标量之间0
和1
闭环控制器的性能。默认参数值提供了一个平衡的控制器设计。指定:
较小的值产生一个更健壮的控制器与平滑控制行动。
大的值产生一个更激进的控制器和更快的响应时间。
当你修改这个参数,应用于控制器立即改变。
编程使用
块参数:ControllerBehavior |
类型:字符串,特征向量 |
默认值:“0.5” |
块选项卡
使用次优的解决方案- - - - - -应用指定数量的迭代后次优的解决方案
从
(默认)|在
配置控制器应用一个次优的解决方案在一个指定的最大数量的迭代,保证控制器的最坏执行时间。
有关更多信息,请参见次优的QP解决方案。
依赖关系
在选择该参数指定最大迭代次数参数。
编程使用
块参数:次优的 |
类型:字符串,特征向量 |
默认值:“关闭” |
最大迭代次数- - - - - -最大优化迭代
10
(默认)|正整数
最大数量的控制器优化迭代。
依赖关系
要启用该参数,选择使用次优的解决方案参数。
编程使用
块参数:麦克斯特 |
类型:字符串,特征向量 |
默认值:“10” |
使用外部信号来启用或禁用优化- - - - - -为使优化添加端口
从
(默认)|在
添加启用优化输入端口,选择该参数。
编程使用
块参数:optmode |
类型:字符串,特征向量 |
默认值:“关闭” |
使用外部信号无扰ACC和其他控制器之间转移- - - - - -添加外部控制信号输入端口
从
(默认)|在
选择要添加这个参数外部控制信号输入端口。
编程使用
块参数:trackmode |
类型:字符串,特征向量 |
默认值:“关闭” |
创建ACC子系统- - - - - -创建自定义控制器
按钮
生成一个定制的ACC子系统,您可以为您的应用程序修改。自定义控制器的配置数据导出到MATLAB®工作空间结构。
您可以修改自定义控制器子系统:
修改默认MPC设置或者使用高级MPC功能。
修改默认的控制器的初始条件。
使用不同的应用程序设置,如自定义安全距离的定义。
算法
安全距离后
默认情况下,模型预测控制器计算后的安全距离约束;也就是最低铅和自我车辆之间的相对距离,为:
在这里:
D年代是默认间距参数。
GT是时间差距输入信号。
VE是纵向速度输入信号。
定义一个不同的安全距离约束后,创建一个定制的巡航控制系统,块选项卡上,单击创建ACC子系统。
初始条件
默认情况下,模型预测控制器假定初始条件如下:
纵向速度自我车辆和车辆平等初始条件为纵向速度参数值。
自我车辆纵向加速度为零。
导致车辆之间的相对距离和自我车辆:
在这里:
D年代是默认间距参数。
GT时间差距,被认为是吗
1.4
。VE是初始纵向速度参数。
如果在你的模型初始条件这些条件不匹配,纵向加速度输出可以表现出一个初始碰撞的模拟。
修改控制器初始条件来匹配你的仿真,创建一个定制的巡航控制系统,块选项卡上,单击创建ACC子系统。
扩展功能
C / c++代码生成
使用仿真软件生成C和c++代码®编码器™。金宝app
PLC的代码生成
使用仿真软件生成结构化文本代码®PLC编码器™。金宝app
版本历史
介绍了R2018a
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。