使用自适应模型预测控制器模拟泳道保持辅助
模型预测控制工具箱/自动驾驶
这车道保持辅助系统块模拟一个车道保持辅助(LKA)系统,该系统通过调节前转向角来使EGO沿着直或弯曲道路的中心行进。控制器降低了自助式车辆相对于车道中心线的横向偏差和相对偏航角。块使用自适应模型预测控制(MPC)来计算最佳控制动作,同时满足转向角约束。
要自定义控制器,例如使用高级MPC功能或修改控制器初始条件,单击创建党的子系统。
曲率
——道路曲率道路曲率,指定为1/R., 在哪里R.为曲线半径,单位为米。
道路曲率为:
当道路向全球坐标系的正Y轴弯曲时为正。
当道路向全球坐标系负Y轴弯曲时为负。
直路零。
控制器将道路曲率模拟为具有预览的测量干扰。您可以将曲率指定为:
标量信号 - 指定电流控制间隔的曲率。控制器在预测地平线上使用此曲率值。
长度小于或等于的矢量信号预测地平线-指定当前和预测的曲率值跨越预测水平。如果向量的长度小于预测视界,则控制器使用向量中的最终曲率值来计算剩余的预测视界。
纵向速度
- 自我车辆速度EGO车辆速度在M / s中。
横向偏差
-自我车辆横向偏差自我车辆横向偏离米的中心线。
相对偏航角
-从车道中心线的角度自车纵轴角度,以弧度计,从车道中心线。
最小转向角
- 最小前转向角最小的前转向角度限制弧度。当最小转向角度在运行时变化时,使用这个输入端口。
要启用该端口,请选择使用外部来源为最小转向角范围。
最大转向角度
-最大前转向角度弧度的最大前转向角约束。当最大转向角在运行时变化时,使用此输入端口。
要启用该端口,请选择使用外部来源为最大转向角度范围。
启用优化
—控制器优化使能信号控制器优化使能信号。当此信号是:
非零,控制器执行优化计算并生成一个转向角控制信号。
为0时,控制器不进行优化计算。在这种情况下转向角输出信号保持在禁用优化时的值。控制器继续更新其内部状态估计值。
要启用此端口,请选择使用外部信号启用或禁用优化范围。
外部控制信号
- 转向角适用于自我车辆弧度的实际转向角适用于自我车辆。控制器使用该信号来估计自我车辆模型状态。当施加到EGO车辆的控制信号与由模型预测控制器计算的最佳控制信号不匹配时,使用此输入端口。例如,当以下时,可能会发生这种不匹配
这车道保持辅助系统不是主动控制器。当控制器未激活时,保持准确状态估计可防止控制器时控制信号中的凸起。
转向致动器失败,并且不向EGO车辆提供正确的控制信号。
要启用此端口,请选择在PFC和其他控制器之间使用外部控制信号进行无压力转移范围。
车辆动力学矩阵A
- EGO车辆预测模型的状态矩阵自我车辆预测模型的状态矩阵。状态矩阵中的行数对应于预测模型中的状态数。这个矩阵必须是平方的。
由此定义的自我车辆预测模型车辆动力学矩阵A那车辆动力学矩阵B,车辆动力学矩阵C必须是最小的。
要启用此端口,请选择用汽车模型范围。
车辆动力学矩阵B
-自我车辆预测模型的输入状态矩阵自我车辆预测模型的输入状态矩阵。这个信号中的行数必须与信号中的行数匹配车辆动力学矩阵A。
由此定义的自我车辆预测模型车辆动力学矩阵A那车辆动力学矩阵B,车辆动力学矩阵C必须是最小的。
要启用此端口,请选择用汽车模型范围。
车辆动力学矩阵C
- EGO车辆预测模型的状态到输出矩阵自我车辆预测模型的状态 - 输出矩阵。此信号中的列数必须与行数匹配车辆动力学矩阵A。
由此定义的自我车辆预测模型车辆动力学矩阵A那车辆动力学矩阵B,车辆动力学矩阵C必须是最小的。
要启用此端口,请选择用汽车模型范围。
转向角
- 前转向角控制信号由控制器产生的弧度中的前转向角控制信号。前转向角是前轮胎从车辆的纵向轴线的角度。转向角朝向自助载体的正横向轴线是正的。
用汽车模型
- 使用状态空间矩阵定义自我车辆模型从
(默认)|在
选择此参数以定义MPC控制器使用的自我车辆模型的状态空间矩阵。该模型是从弧度的前转向角度到横向速度以米为单秒的横向速度,并且每秒弧度角度率的横向速度。有关自助式车辆模型的更多信息,请参阅自我车辆预测模型。
要定义初始的内部模型,请指定一种那B.,C状态矩阵。内部模型必须是一个最小的实现,没有直接的馈通,并且维度一种那B.,C必须是一致的。
通常,自我车辆转向模型是速度依赖的,因此,它随时间而变化。要在运行时更新内部模型,请使用车辆动力学那车辆动力学B,车辆动力学C输入端口。
选择此参数将清除使用车辆参数范围。
块参数:modeltype. |
类型:字符串,字符向量 |
默认:“使用车辆参数” |
总质量
- 自我车辆质量1575.
(默认)|正标量kg中的自我车辆质量。
要启用该参数,请选择使用车辆参数范围。
块参数:VehicleMass |
类型:字符串,字符向量 |
默认:“1575” |
偏航惯性矩
- 关于EGO车辆垂直轴的惯性矩2875
(默认)|正标量车辆垂直轴的转动惯量,单位为Kg·m2。
要启用该参数,请选择使用车辆参数范围。
块参数:VehicleYawInertia |
类型:字符串,字符向量 |
默认:“2875” |
从重心到前轮胎的纵向距离
- 从自我车辆质量到前轮胎的距离1.2
(默认)|正标量从自我车辆质量到其前轮胎的距离以米,沿着车辆的纵向轴线测量。
要启用该参数,请选择使用车辆参数范围。
块参数:LengthToFront |
类型:字符串,字符向量 |
默认:“1.2” |
从重心到后轮胎的纵向距离
- 从自助式汽车距离其后轮胎的距离1.6
(默认)|正标量从汽车质心到后轮的距离,以米为单位,沿汽车纵轴测量。
要启用该参数,请选择使用车辆参数范围。
块参数:LEGHTTOREAR. |
类型:字符串,字符向量 |
默认:“1.6” |
转弯前轮胎的刚度
- 前轮胎僵硬19000
(默认)|正标量N / RAD中的前轮胎刚度,定义为前轮胎上的侧向力与轮胎的角度与车辆的纵向轴线之间的关系。
要启用该参数,请选择使用车辆参数范围。
块参数:FrontTireStiffness |
类型:字符串,字符向量 |
默认:“19000” |
后轮胎的转弯刚度
-后轮胎刚度33000
(默认)|正标量N / RAD中的后轮胎刚度,定义为后轮胎上的侧向力与轮胎的角度与车辆的纵向轴线之间的关系。
要启用该参数,请选择使用车辆参数范围。
块参数:后卫 |
类型:字符串,字符向量 |
默认:“33000” |
一种
-自我车辆预测模型的初始状态矩阵自我车辆预测模型的初始状态矩阵。状态矩阵中的行数对应于预测模型中的状态数。这个矩阵必须是平方的。
初始的自我车辆预测模型定义一种那B.,C必须是最小的。
通常情况下,自我汽车模型会随着时间的推移而变化。要在运行时更新状态矩阵,请使用车辆动力学输入端口。
要启用该参数,请选择用汽车模型范围。
块参数:Egomodelmatrixa. |
类型:字符串,字符向量 |
默认:“[-4.4021,-12.4603; 1.3913,-5.1868]” |
B.
-自我车辆预测模型的初始输入状态矩阵自我车辆预测模型的初始输入到状态矩阵。此参数中的行数必须与行数匹配一种。
初始的自我车辆预测模型定义一种那B.,C必须是最小的。
通常情况下,自我汽车模型会随着时间的推移而变化。要在运行时更新输入到状态矩阵,请使用车辆动力学B输入端口。
要启用该参数,请选择用汽车模型范围。
块参数:Egomodelmatrixb. |
类型:字符串,字符向量 |
默认:“[24.1270; 15.8609]” |
C
-自我车辆预测模型的初始状态-输出矩阵自我汽车预测模型的初始状态-输出矩阵。此参数中的列数必须与中的行数匹配一种。
初始的自我车辆预测模型定义一种那B.,C必须是最小的。
通常情况下,自我汽车模型会随着时间的推移而变化。要在运行时更新状态到输出矩阵,请使用车辆动力学C输入端口。
要启用该参数,请选择用汽车模型范围。
块参数:Egomodelmatrixc. |
类型:字符串,字符向量 |
默认:“[1,0; 0,1]” |
初始纵向速度
-自我车的初始速度15
(默认)|正标量在m/s范围内启用车道保持辅助时自我车辆模型的初始速度。这个速度可以不同于实际自我车辆的初始速度。
笔记
例如,初始速度非常小每股收益
,可以为控制器对象模型产生非最小实现,从而导致错误。例如,要防止这个错误,可以将初始速度设置为一个较大的值1E-3
。
块参数:InitialLongvel. |
类型:字符串,字符向量 |
默认:“15” |
模型输入和输出之间的运输滞后
-自我车辆模型的总运输滞后0.
(默认)|非负标量总运输滞后,τ,在自我车辆模型中以秒为单位。该滞后包括执行器,传感器和通信滞后。对于每个输入输出通道,传输滞后近似于:
块参数:TransportLag |
类型:字符串,字符向量 |
默认:“0” |
最小转向角
- 最小前转向角-0.26
(默认)|标量之间-π/ 2
和π/ 2
最小的前转向角度限制弧度。
如果最小转向角度随时间而变化,则添加最小转向角通过选择来输入端口到块使用外部来源。
该参数必须小于最大转向角度范围。
块参数:最薄的 |
类型:字符串,字符向量 |
默认:“-0.26” |
最大转向角度
-最大前转向角度0.26
(默认)|标量之间-π/ 2
和π/ 2
弧度的最大前转向角约束。
如果最大转向角随时间变化,则添加最大转向角度通过选择来输入端口到块使用外部来源。
此参数必须大于最小转向角范围。
块参数:最大限度 |
类型:字符串,字符向量 |
默认:“0.26” |
采样时间
- 控制器采样时间0.1
(默认)|正标量控制器采样时间,以秒为单位。
块参数:TS. |
类型:字符串,字符向量 |
默认:“0.1” |
预测地平线
-控制器预测视界10
(默认)|正整数控制器预测水平步长。控制器预测时间是采样时间和预测视界的乘积。
块参数:PredictionHorizon |
类型:字符串,字符向量 |
默认:“30” |
控制器行为
-闭环控制器性能0.5
(默认)|标量之间0.
和1
闭环控制器的性能。默认参数值提供一个平衡的控制器设计。指定:
较小的值产生更强大的控制器,具有更平滑的控制操作。
较大的值会产生更具侵略性的控制器,响应时间更快。
修改该参数时,修改后的信息立即应用到控制器上。
块参数:ControllerBehavior. |
类型:字符串,字符向量 |
默认:“0.5” |
使用次优解决方案
-在指定的迭代次数后应用次最优解从
(默认)|在
配置控制器以在指定的最大迭代次数后应用次优解,保证控制器的最坏情况执行时间。
有关更多信息,请参见次优的QP解决方案。
选择此参数后,指定最大迭代次数范围。
块参数:次优 |
类型:字符串,字符向量 |
默认:“关闭” |
最大迭代次数
-最大优化迭代10
(默认)|正整数最大控制器优化迭代次数。
要启用该参数,请选择使用次优解决方案范围。
块参数:maxiter. |
类型:字符串,字符向量 |
默认:“10” |
使用外部信号启用或禁用优化
—添加优化端口从
(默认)|在
要添加启用优化输入端口到块,选择此参数。
块参数:OptMode. |
类型:字符串,字符向量 |
默认:“关闭” |
在LKA和其他控制器之间使用外部信号进行无压力转移
—增加外部控制信号输入接口从
(默认)|在
要添加外部控制信号输入端口到块,选择此参数。
块参数:轨迹码头 |
类型:字符串,字符向量 |
默认:“关闭” |
创建党的子系统
-创建自定义控制器生成自定义LKA子系统,您可以修改应用程序。自定义控制器的控制器配置数据将导出到MATLAB®工作区作为结构。
您可以将自定义控制器子系统修改为:
修改默认MPC设置或使用高级MPC功能。
修改控制器默认初始条件。
默认的自我车辆预测模型为如下状态空间模型:
在这里:
V.X是汽车的纵向速度。在模拟开始时,这种速度等于纵向速度的初始条件范围。在运行时,这种速度等于纵向速度输入信号。
m是总质量范围。
一世Z.是偏航惯性矩范围。
L.F是从重心到前轮胎的纵向距离范围。
L.R.是从重心到后轮胎的纵向距离范围。
CF是转弯前轮胎的刚度范围。
CR.是后轮胎的转弯刚度范围。
该模型的输入是弧度中的转向角,输出是每秒以米为单位的横向速度,并且每秒弧度的横摆率。
要定义不同的自我车辆预测模型,请选择用汽车模型参数,并指定初始状态空间模型。然后,指定使用状态空间矩阵的运行时值车辆动力学那车辆动力学B,车辆动力学C输入信号。
控制器通过增强自我车辆动力学模型,建立内部预测模型。增广模型将道路曲率作为测量的干扰输入信号。
默认情况下,模型预测控制器假设自我车辆的初始条件如下:
纵向速度等于初始纵向速度范围。
横向速度为零。
转向角度为零。
偏航角速率为零。
如果模型中的初始条件与这些条件不匹配,则转向角输出可以在模拟开始时表现出初始凹凸。
修改控制器初始条件以匹配您的模拟,创建一个自定义车道保持控制系统,在块选项卡,单击“创建党的子系统。
有一个对应于MATLAB的代码:
ejecute el comandoinsuciéndoloen la Ventana de comandos de matlab。los navegadores网站没有adminiten comandos de matlab。
你也可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获取最佳网站性能。其他MathWorks国家网站未优化您的位置。