主要内容

车道改变协助使用非线性模型预测控制

这个例子展示了如何设计一个前馈控制器使用多级非线性模型预测控制(MPC)。在本例中,您:

  1. 审查控制算法,它结合了一个定制的斯达路径规划算法和前馈控制器设计使用模型预测控制工具箱™软件。

  2. 设计一个多级非线性MPC控制器自动车道改变。

  3. 测试的闭环控制系统仿真软件使用驾驶®模型场景使用自动驾驶的工具箱™软件生成的。万博1manbetx

介绍

车道改变辅助控制系统自动引导自我车辆时相邻车道前面有另一辆车移动慢,如下列图所示。

车道改变控制器在这个例子的目的是工作时自我在直路行驶在一个恒定的速度,但它可以扩展到其他驾驶场景以适当的修改。

在这个例子中:

  1. 驾驶场景是用来模拟环境要求巷变化发生的这样一个情况。导出的场景中创建和使用驾驶场景设计师应用自动驾驶的工具箱。

  2. 基于这个场景中,一个离散的入住率网格填充,然后使用一个无碰撞路径规划计划参考路径自我。

  3. 一旦生成参考路径,控制器执行自动车道改变策略通过控制自我车辆的转向角跟踪的横向位置规划路径。

仿真软件模型的概述万博1manbetx

打开仿真软件模型。万博1manbetx

mdl =“LaneChangeExample”;open_system (mdl)

该模型包含四个主要组件:

  1. 非线性MPC——车道改变控制器,控制自我车辆的转向角

  2. 车辆和环境——自我的运动车辆模型和环境模型

  3. 占用网格生成器,生成一个离散网格,包含自我车辆周围的环境和汽车的信息

  4. 斯达路径规划-计划自我的无碰撞路径车辆考虑其他车辆的动态行为

在车辆和环境子系统、车辆动力学子系统模型使用自行车的车辆动力学模型——自动驾驶的速度输入块的工具箱。

打开这个模型运行helperLCSetUp初始化脚本,它使用的数据模型模型,如车辆模型参数,控制器的设计参数,道路场景中,和周围的汽车。万博1manbetx

这个示例的多级非线性MPC控制器设计使用createNLmpcObjLC函数,它叫的helperLCSetUp脚本。该控制器使用中定义的状态方程vehicleStateFcnLC.m和控制自我车辆的转向角。

情节场景与自我的道路和汽车车辆会遇到。

情节(场景)

图包含一个坐标轴对象。坐标轴对象包含13个补丁,类型的对象。

下面的图显示了一个放大的部分。

模拟模型的场景。模拟模型打开鸟瞰的阴谋世界坐标占用网格自我的观点。的占用网格显示了表示前面的道路和车辆自我车辆,包括计划路径作为白线。

= sim (mdl);

图占用网格包含一个坐标轴对象。坐标轴对象与标题自我透视图包含一个类型的对象的形象。

图巷变化状态图包含一个坐标轴对象。坐标轴对象与标题世界坐标包含2线类型的对象。这个对象表示车道边界。

在仿真过程中,鸟瞰情节用蓝色显示计划的路径。

绘制的结果模拟和描述自我车辆周围的环境,还可以使用鸟瞰的范围(自动驾驶工具箱)。鸟瞰的范围是一个模型级,您可以打开从仿真软件将来发布的可视化工具。万博1manbetx在模拟选项卡,在审查结果,点击鸟瞰的范围。打开范围后,通过点击设置信号找到信号。一旦信号设置和仿真运行时,您可以查看车道改变操作执行的自我的车辆世界坐标的观点鸟瞰的范围。

图控制器的性能。

plotLCResults

图包含2轴对象车道改变性能。坐标轴对象1标题转向角包含一个类型的对象。该对象代表转向角。坐标轴对象与标题2跟踪性能包含2线类型的对象。这些对象代表自我的侧卧位车辆,计划轨迹。

图中显示车道改变控制器的性能。

  • 转向角情节表明自我车辆的转向角遵循的标准车道改变策略。

  • 跟踪性能情节表明,多级非线性MPC控制器一个令人满意的工作跟踪的横向位置参考路径从斯达路径规划。

控制器运行多个测试场景

这个例子包含一个额外的测试场景。来验证控制器的性能,您可以测试多个场景和优化控制器参数的控制器如果表现不令人满意。这样做:

  1. 通过改变选择场景scenarioIdhelperLCSetUp。使用额外的场景中,集scenarioId = 2

  2. 通过运行配置仿真参数helperLCSetUp

  3. 模拟模型与所选择的场景。

  4. 评估使用的控制器性能plotLCResults

  5. 调整控制器参数如果表现不令人满意。

结论

这个例子展示了如何实现一个集成自主车道改变控制器与参考路径生成直路斯达的路径规划和测试它在驾驶仿真软件使用情况下使用自动驾驶工具箱生成软件。万博1manbetx

另请参阅

|

相关的话题