高速公路车道变换

这个例子说明了如何模拟公路行驶的情况下的自动车道变更操纵系统。

介绍

一种自动车道变更操作(LCM)系统使自身车辆从一个车道自动移动到另一条车道。在LCM系统模型用于自动车道改变纵向和横向的控制动态特性。一个LCM系统感测用于使用车载传感器最重要的对象(MIOS),识别最佳轨迹避免这些目的和阉牛沿着该轨迹自身车辆的环境中。

这个例子展示了如何设计和测试的LCM系统的规划器和控制器组件。在这个例子中,车道改变规划使用从场景地面真实信息来检测MIOS。然后,它产生一个可行的轨迹协商由所述车道变换控制器所执行的车道改变。在这个例子中,您可以:

  1. 探索试验台型号:该模型包含规划,控制,车辆动态,传感器,和度量来评估功能。

  2. 模型中的车道改变规划子系统:该子系统包含一个简单的行为层以及运动计划器。行为层构成运动计划通过考虑MIO信息来生成最佳轨迹。

  3. 模型变换车道控制器子系统:该子系统用于基于所生成的轨迹中的自主车辆产生控制命令。

  4. 模拟和可视化系统行为:该试验台模型被配置以测试计划和控制的融合,在多辆一条直路进行车道变更操作。

  5. 探索其他方案:这些方案的其他的条件下测试该系统。

您可以应用在这个例子中用来测试的LCM系统自己的策划者和控制部件的造型图案。

探索试验台型号

在这个例子中,你使用的系统级仿真测试平台模型,探索规划者和控制器组件的行为车道变更操作的系统。打开系统级仿真测试平台模型。

open_system('HighwayLaneChangeTestBench'

打开这一模式运行helperSLHighwayLaneChangeSetup脚本初始化使用道路的情况drivingScenario对象在底座的工作区。它也配置用于定义输入和输出所需要的控制器的设计参数,车辆模型的参数,和Simulink的总线信号金宝appHighwayLaneChangeTestBench模型。

该试验台模型包含以下几个子系统。

  1. 传感器和环境规定了道路,车辆,以及用于模拟传感器。

  2. 车道改变规划指定行为和轨迹规划自主车辆。

  3. 车道变换控制器指定以下控制器,其产生控制命令以沿着生成的轨迹操纵自主车辆的路径。

  4. 车辆动态车型使用的自车辆自行车模型并更新从所接收的命令使用它的状态车道变换控制器

  5. 公制评估指定度量来评估系统水平的行为。

车辆动态子系统基于在所用的子系统公路车道追踪例。这个例子的重点是车道改变规划车道变换控制器子系统。

传感器和环境子系统用途方案读卡器视觉检测发电机块提供车道变更操纵系统所需的路网,车辆地面实况的位置,和车道检测。打开传感器和环境子系统。该子系统还输出由车道改变计划器所需要的参考路径。

open_system(“HighwayLaneChangeTestBench /传感器和环境”

方案读卡器块被配置为读取drivingScenario从基部的工作空间对象。它使用这个对象来读取演员数据和车道信息。它发生在自车辆信息进行闭环仿真。在自主车辆坐标车道和演员的这个块输出地面实况信息。

视觉检测发电机块提供车道检测相对于所述自身车辆在其识别车辆的帮助呈现在自我车道和邻接车道。

车道改变规划子系统使用从车道检测视觉检测发电机从块和地面实况演员或车辆姿态方案读卡器为自动车道变更操作执行轨迹规划。

模范里改变规划

车道改变规划子系统使用一简单的行为层配置运动计划运动计划负责生成轨迹车道变更操作。打开车道改变规划子系统。

open_system(“HighwayLaneChangeTestBench /巷改变规划”

  1. 查找MIOS子系统找到最重要的对象相对于所述自身车辆的当前状态。

  2. 简单的行为层子系统指定运动计划的策划者行为。

  3. 运动计划子系统用途trajectoryOptimalFrenet和MIO信息进行路径规划。

查找MIOS子系统使用地面实况车辆姿态来计算MIO信息相对于所述自身车辆。存在于前部或后部自身车辆的车辆被认为是MIOS。所述MIOS也可以在相邻车道中所示下图。

简单的行为层通过使用当前自身车辆状态信息计算所述终端的状态,权重和偏差值子系统提供配置规划器的行为。打开简单的行为层子系统。

open_system(“HighwayLaneChangeTestBench /车道改变规划/简单的行为层”

  • EstimateCurrentEgoState块使用System对象™,HelperEstimateCurrentEgoState,计算自身车辆的横向和纵向位置。这个计算是使用自车辆和车道检测的当前状态,在标架空间完成。它还计算关于相邻车道可用性(NoLeftLane,NoRightLane)相对于从参考路径偏移自主车辆位置和偏移信息。

  • LongitudinalSampler块限定了纵向规划水平,如示于以下图中。它配置用于定义基于到输入纵向位置的距离计划者行为的可能的纵向终端状态。输入纵向位置是基于到目标点的距离计算。

  • LateralSampler块定义的横向规划水平,如示于以下图中。它配置可能的横向终端状态基于相邻车道可用性(NoLeftLane,NoRightLane)限定所述计划者行为。

  • VelocitySampler块配置可能速度终端状态用于定义计划者行为。它被设置为在该模型中的默认配置。

  • AccelerationSampler块配置可能加速度终端状态用于定义计划者行为。它被设置为在该模型中的默认配置。

  • 权重总线定义了可以被配置为改变由规划器生成的轨迹分布的属性。这些被设置为默认值在这个模型中值。

运动计划参考模型通过使用计划者行为,方案信息,和MIO信息生成的轨迹。打开运动计划参考模型。

open_system('MotionPlanner'

  • 脉冲发生器块定义了一个重新计划期间轨迹发生器块。默认值被设置为1秒。

  • 轨迹发生器块产生一个基于MIOS,参考路径,并且指定的计划者行为最佳轨迹。这个块使用的系统对象,HelperTrajectoryGenerator,产生所需的轨迹。此系统对象是使用实施trajectoryOptimalFrenet。它采用使用状态更新的验证信息,MIO。多个轨迹样本验证使用状态验证和最优轨迹识别动态碰撞。

  • 各国提取从所生成的轨迹块提取路径信息。

  • 路径分析器块估计航向角,发现路径上的适当点,以遵循。生成的路径必须符合道路形状。路径上的该参考点是所使用的车道变换控制器子系统。

型号车道变换控制器

车道变换控制器参考模型以下,保持自主车辆行驶沿着生成的轨迹,同时跟踪一组速度控制机构模拟路径。这样做时,控制器调节两个纵向加速度和所述自主车辆的前转向角。控制器,同时满足速度,加速度,以及使用自适应模型预测控制(MPC)的转向角的限制计算最佳的控制动作。打开车道变换控制器参考模型。

open_system('LaneChangeController'

  • 虚拟巷中心子系统创建从路径点的虚拟车道。虚拟通道通过所要求的格式相匹配路径跟踪控制器块。

  • 预览曲率要求的子系统转换轨迹曲率输入路径跟踪控制器

  • 路径跟踪控制器块使用路径跟踪控制系统从模型预测控制工具箱™阻塞。

路径跟踪控制器块保持车辆在高速公路的车道标记内行进,同时保持用户设定的速度。该控制器包括:合并自主车辆的纵向和横向的控制:

  • 纵向控制维持自主车辆的用户设置的速度。

  • 横向控制保持自身车辆通过调节自身车辆的转向沿车道的中心线行驶。

探索评估指标

公制评估子系统使用下述度量LCM系统的评估系统水平的行为。打开度量评估子系统。

open_system(“HighwayLaneChangeTestBench /指标评估”

  • DetectCollision块检测与其他车辆的自主车辆的碰撞,并且如果检测到碰撞停止模拟。

  • DetectLeadVehicle块计算自我和铅的车辆,其被用于计算之间的进展时间空隙

  • 时间空隙使用到引线车辆(进展)和自身车辆的纵向速度的距离被计算,并且它针对规定的限度进行评价。

  • LongitudinalJerk利用纵向速度被计算并针对规定的限值进行评价。

  • LateralJerk值是使用针对规定限值评价横向速度来计算。

仿真和可视化系统行为

建立并运行HighwayLaneChangeTestBench仿真模型车道变更时可视化系统的行为。在该可视化在模型块创建鸟的眼图表显示的车道信息,自车辆,自我的轨迹,和其他车辆的情况。配置HighwayLaneChangeTestBench模型中使用scenario_LC_06_DoubleLaneChange场景。

helperSLHighwayLaneChangeSetup(“scenario_LC_06_DoubleLaneChange”

模拟模型,持续5秒。为了减少命令窗口输出,首先关闭MPC更新消息。

mpcverbosity(“关”);SIM(“HighwayLaneChangeTestBench”“停止时间”“5”);

8秒运行模拟。轨迹计算较慢的铅车辆导航左右。

SIM(“HighwayLaneChangeTestBench”“停止时间”“8”);

13秒运行模拟。车辆继续在左侧车道直行。

SIM(“HighwayLaneChangeTestBench”“停止时间”“13”);

探索其他方案

在上一节中,您探索的系统行为scenario_LC_06_DoubleLaneChange场景。下面是与兼容的方案的列表HighwayLaneChangeTestBench模型。

scenario_LC_01_SlowMoving scenario_LC_02_SlowMovingWithPassingCar scenario_LC_03_DisabledCar scenario_LC_04_CutInWithBrake scenario_LC_05_SingleLaneChange scenario_LC_06_DoubleLaneChange [默认] scenario_LC_07_RightLaneChange scenario_LC_08_SlowmovingCar_Curved scenario_LC_09_CutInWithBreak_Curved scenario_LC_10_SingleLaneChange_Curved

这些方案是使用创建驾驶场景设计师并出口到场景文件。检查在每个场景中的道路和车辆的详细信息,在每个文件中的注释。您可以配置HighwayLaneChangeTestBench和工作区,以模拟使用这些场景helperSLHighwayLaneChangeSetup功能。例如,您可以配置模拟曲线道路场景。

helperSLHighwayLaneChangeSetup(“scenario_LC_10_SingleLaneChange_Curved”

结论

这个例子说明了如何使用车辆的理想位置以及车道检测模拟高速公路车道变更操作。

再次启用MPC更新消息。

mpcverbosity('上');

也可以看看

相关话题