主要内容

车道保持辅助系统

使用自适应模型预测控制器模拟lane-keeping援助

  • 车道保持辅助系统

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

描述

车道保持辅助系统块模拟车道保持辅助系统(党的)使一个自我中心的汽车旅行直或弯曲的道路通过调整前转向角。控制器的横向偏差和相对偏航角降低自我车辆的车道中心线。块计算最优控制的行为同时满足转向角约束使用自适应模型预测控制(MPC)。

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

港口

输入

全部展开

道路曲率,指定为1 /R,在那里R在米的半径曲线。

道路曲率:

  • 积极的道路曲线向积极的Y轴全球坐标系统。

  • -当道路曲线向- Y轴的全球坐标系统。

  • 零的直路。

控制器模型的道路曲率测量扰动与预览。您可以指定曲率作为:

  • 标量信号——指定的电流控制间隔的曲率。控制器使用这个曲率值预测地平线。

  • 矢量信号长度小于或等于预测地平线参数指定当前和预测的曲率值预测地平线。如果向量的长度小于预测地平线,然后控制器使用最后的曲率值向量中剩下的预测地平线。

自我车辆速度米/秒。

自我车辆横向偏差米中心线的车道。横向偏差e1是积极的自我车辆时右边的中心线和消极的自我车辆时左边的中心线。

自我车辆纵轴角弧度的中心线,定义为:

e 2 = θ e θ c

在这里,θe是自我车辆角度和θc中心线的角度,这两个角度定义在全局坐标系。

最低前转向角约束的弧度。使用这个输入端口时的最小转向角在运行时不同。

依赖关系

要启用这个端口,选择相应的使用外部源参数。

最大转向角约束的弧度。使用这个输入端口时,在运行时最大转向角的变化。

依赖关系

要启用这个端口,选择相应的使用外部源参数。

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

  • 非零,控制器执行优化计算和生成一个转向角控制信号。

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

依赖关系

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

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

  • 车道保持辅助系统不是主动控制器。维护一个精确的状态估计时,控制器不积极防止颠簸在控制信号控制器变得活跃。

  • 转向传动机构失败,不提供正确的控制信号到自我。

依赖关系

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

自我状态矩阵的预测模型。系统状态矩阵的行数对应的状态数的预测模型。这个矩阵必须广场。

自我预测模型所定义的车辆动力学矩阵,车辆动力学矩阵B,车辆动力学矩阵C必须是最小的。

依赖关系

要启用这个端口,选择用汽车模型参数。

Input-to-state矩阵自我预测模型。在这个信号的行数必须匹配的行数车辆动力学矩阵

自我预测模型所定义的车辆动力学矩阵,车辆动力学矩阵B,车辆动力学矩阵C必须是最小的。

依赖关系

要启用这个端口,选择用汽车模型参数。

State-to-output矩阵自我预测模型。这个信号的列数必须匹配的行数车辆动力学矩阵

自我预测模型所定义的车辆动力学矩阵,车辆动力学矩阵B,车辆动力学矩阵C必须是最小的。

依赖关系

要启用这个端口,选择用汽车模型参数。

输出

全部展开

前转向角弧度由控制器产生控制信号。前面的转向角的角度是前轮胎纵轴的车辆。转向角为正走向自我的积极横向轴车辆。

参数

全部展开

参数选项卡

自我的车辆

选择这个参数来定义自我MPC控制器通过指定所使用的车辆模型属性自我的工具。自我从前面车辆模型是线性模型转向角的横向速度和偏航角速率。有关更多信息,请参见自我车辆预测模型

定义车辆模型、块指定以下参数:

  • 总质量

  • 偏航惯性矩

  • 前轮胎纵向距离重心

  • 纵向重心距离后方轮胎

  • 转弯前轮胎的刚度

  • 转弯后轮胎的刚度

自我车辆模型的更多信息,见自我车辆预测模型

选择这个参数了用汽车模型参数。

编程使用

块参数:ModelType
类型:字符串,特征向量
默认值:“使用车辆参数”

选择该参数定义了状态矩阵的自我MPC控制器所使用的车辆模型。这个模型是线性模型从前面转向角的弧度横向速度米/秒和偏航角速率弧度每秒。自我车辆模型的更多信息,见自我车辆预测模型

定义初始的内部模型,指定一个,B,C状态矩阵。内部模型必须最小实现,没有直接引线,和的尺寸一个,B,C必须是一致的。

通常,自我车辆转向模型是数值,因此,它随着时间的变化。更新内部模型在运行时,使用车辆动力学,车辆动力学B,车辆动力学C输入端口。

选择这个参数了使用车辆参数参数。

编程使用

块参数:ModelType
类型:字符串,特征向量
默认值:“使用车辆参数”

自我汽车质量公斤。

依赖关系

要启用该参数,选择使用车辆参数参数。

编程使用

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

自我车辆垂直轴的惯性矩公斤·m2

依赖关系

要启用该参数,选择使用车辆参数参数。

编程使用

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

自我车辆质心距离的前轮胎米,沿纵向轴线的测量工具。

依赖关系

要启用该参数,选择使用车辆参数参数。

编程使用

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

自我车辆质心的距离后轮胎的米,沿纵向轴线的测量工具。

依赖关系

要启用该参数,选择使用车辆参数参数。

编程使用

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

前轮胎刚度在N / rad,定义为侧向力之间的关系在前面轮胎和轮胎的纵轴的角度。

依赖关系

要启用该参数,选择使用车辆参数参数。

编程使用

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

后轮胎刚度在N / rad,定义为对后方轮胎侧向力之间的关系和轮胎的纵轴的角度。

依赖关系

要启用该参数,选择使用车辆参数参数。

编程使用

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

自我车辆预测模型的初始状态矩阵。系统状态矩阵的行数对应的状态数的预测模型。这个矩阵必须广场。

最初的自我定义的预测模型一个,B,C必须是最小的。

通常,自我车辆模型随着时间的不同而不同。在运行时更新状态矩阵,使用车辆动力学输入端口。

依赖关系

要启用该参数,选择用汽车模型参数。

编程使用

块参数:EgoModelMatrixA
类型:字符串,特征向量
默认值:“(-4.4021,-12.4603,1.3913,-5.1868)”

最初的自我input-to-state矩阵预测模型。在这个参数的行数必须匹配的行数一个

最初的自我定义的预测模型一个,B,C必须是最小的。

通常,自我车辆模型随着时间的不同而不同。在运行时更新input-to-state矩阵,使用车辆动力学B输入端口。

依赖关系

要启用该参数,选择用汽车模型参数。

编程使用

块参数:EgoModelMatrixB
类型:字符串,特征向量
默认值:“[24.1270,15.8609]”

最初的自我state-to-output矩阵预测模型。这个参数的列数必须匹配的行数一个

最初的自我定义的预测模型一个,B,C必须是最小的。

通常,自我车辆模型随着时间的不同而不同。在运行时更新state-to-output矩阵,使用车辆动力学C输入端口。

依赖关系

要启用该参数,选择用汽车模型参数。

编程使用

块参数:EgoModelMatrixC
类型:字符串,特征向量
默认值:“[1,0,0,1]”

自我车辆模型的初始速度,当lane-keeping协助启用m / s。这个速度可以不同于实际的自我车辆初始速度。

请注意

例如,一个非常小的初始速度每股收益,可以产生一个nonminimal控制器装置模型的实现,导致一个错误。为了防止这个错误,设置初始速度为更大的值,例如1 e - 3

编程使用

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

总运输延迟,τ在几秒钟内,自我车辆模型。这个延迟包括致动器、传感器和通信落后。对于每个输入输出通道,来近似传输滞后:

1 τ 年代 + 1

编程使用

块参数:TransportLag
类型:字符串,特征向量
默认值:“0”
车道保持控制器的约束

最低前转向角约束的弧度。

如果最低操舵角变化随着时间的推移,添加最小转向角通过选择输入端口块使用外部源

依赖关系

该参数必须小于最大转向角参数。

编程使用

块参数:MinSteering
类型:字符串,特征向量
默认值:“-0.26”

最大转向角约束的弧度。

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

依赖关系

该参数必须大于最小转向角参数。

编程使用

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

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

编程使用

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

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

编程使用

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

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

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

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

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

编程使用

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

块选项卡

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

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

依赖关系

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

编程使用

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

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

依赖关系

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

编程使用

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

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

编程使用

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

添加外部控制信号输入端口,选择该参数。

编程使用

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

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

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

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

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

算法

全部展开

扩展功能

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

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

版本历史

介绍了R2018a