主要内容

高速公路车道改变

这个例子展示了如何感知环绕视图信息,并利用它来设计高速公路驾驶场景下的自动变道机动系统。

简介

自动变道机动(LCM)系统使自我车辆能自动从一条车道移动到另一条车道。LCM系统为自动变道的纵向和横向控制动力学建模。LCM系统使用机载传感器扫描环境中最重要的物体(MIOs),识别避开这些物体的最佳轨迹,并沿着识别的轨迹驾驶自我飞行器。

这个例子展示了如何创建一个测试台架模型来测试LCM系统的传感器融合、规划器和控制器组件。本例使用5个视觉传感器和1个雷达传感器从自我车辆的周围视图检测其他车辆。它使用基于联合概率数据关联(JPDA)的跟踪器来跟踪来自这些多个传感器的融合检测。然后,变道规划器为轨道生成一个可行的轨迹,以协商由变道控制器执行的变道。在这个例子中,你:

  • 对算法和测试台架进行划分-将模型分为变道算法模型和试验台模型。算法模型实现了LCM系统的各个组成部分。测试台架包括算法模型和测试框架的集成。

  • 探索试验台模型-试验台模型包含测试框架,其中包括传感器和环境、自我车辆动力学模型和使用地面真相的指标评估。

  • 探索算法模型—算法模型是实现传感器融合、规划器和控制器组件构建变道应用程序的参考模型。

  • 模拟和可视化系统行为-模拟试验台模型,测试传感器融合和跟踪与规划和控制的集成,以在有多辆车的弯曲道路上执行变道机动。

  • 探索其他场景—这些场景在附加条件下测试系统。

您可以应用本例中使用的建模模式来测试您自己的LCM系统。

分区算法与试验台

该模型被划分为独立的算法模型和一个测试台架模型。

  • 算法模型——算法模型是实现单个组件功能的参考模型。

  • 试验台模型高速公路变道试验台指定用于测试算法模型的刺激和环境。

探索试验台模型

在本例中,您将使用系统级仿真试验台模型来探索基于概率传感器的LCM系统的行为。

要探索测试工作台模型,打开项目示例文件的工作副本。MATLAB®将文件复制到一个示例文件夹中,以便您可以编辑它们。

目录(fullfile (matlabroot,“工具箱”“开车”“drivingdemos”));helperDrivingProjectSetup (“HighwayLaneChange.zip”workDir = pwd);

打开系统级仿真测试台架模型。

open_system (“HighwayLaneChangeTestBench”

打开此模型运行helperSLHighwayLaneChangeSetup函数初始化道路场景drivingScenario对象。它还配置传感器配置参数,跟踪器设计参数,规划器配置参数,控制器设计参数,车辆模型参数,以及定义输入和输出所需的Simulink®总线信号HighwayLaneChangeTestBench模型。

试验台模型包含以下子系统:

  • 场景和环境-子系统,指定用于仿真的场景、车辆、传感器和地图数据。本例使用了五个视觉传感器、一个雷达传感器和一个INS传感器。

  • 环绕车辆传感器融合-子系统,融合来自多个传感器的检测产生航迹。

  • 计划配置参数—指定规划器算法所需配置参数的子系统。

  • 高速公路改道规划者——实现高速公路行车变道规划算法的子系统。

  • 车道改变控制器-指定路径跟随控制器的子系统,该控制器生成控制命令,使自我车辆沿着生成的轨迹行驶。

  • 车辆动力学-子系统,指定自我车辆的动态模型。

  • 指标的评估-子系统,指定评估系统级行为的指标。

高速公路改道规划者车道改变控制器,指标的评估子系统与系统中的子系统相同高速公路车道改变计划和控制器的例子。然而,高速公路变道规划器和控制器示例中的变道规划器使用场景中的地面真相信息来检测mio,而本示例中的变道规划器使用来自环绕车辆传感器融合的轨迹来检测mio。的车辆动力学子系统使用自行车模型块对自我车辆建模,并使用从车道改变控制器子系统。

场景和环境子系统使用场景的读者地块提供路网和车辆地面真实位置。该模块还输出高速公路车道变更规划算法所需的地图数据。该子系统输出来自视觉传感器的检测,来自雷达传感器的聚类,以及来自INS传感器的自我估计位置,这些都是传感器融合和跟踪算法所需的。打开场景和环境子系统。

open_system (“HighwayLaneChangeTestBench /场景和环境”

  • 场景的读者Block配置驾驶场景并输出动作姿势,控制目标车辆的位置。

  • 汽车世界Block将参与者的姿势从自我载体的坐标转换为世界坐标。

  • 视觉检测发电机Block使用相机传感器模型模拟物体检测。

  • 驾驶雷达数据发生器Block模拟基于统计模型的对象检测。它还输出聚类对象检测以供进一步处理。

  • INSBlock对来自惯性导航系统和全球卫星导航系统的测量数据进行建模,并输出融合测量数据。它输出自我车辆的噪声损坏的位置,速度和方向。

子系统配置五个视觉传感器和一个雷达传感器捕捉车辆的环绕视图。这些传感器被安装在自我飞行器的不同位置,以捕捉360度的视角。

鸟瞰的范围使用长方体表示显示传感器覆盖范围。雷达覆盖区域和探测区域为红色。视觉覆盖区域和探测区域为蓝色。

车辆动力学子系统使用自行车模型块来建模自我车辆。有关的详细信息车辆动力学子系统,看到高速公路车道后的例子。打开车辆动力学子系统。

open_system (“HighwayLaneChangeTestBench /车辆动力学”);

自行车模型块实现了一个刚性的双轴单轨车身模型,以计算纵向、横向和偏航运动。该块负责身体质量,空气阻力,和重量分配之间的轴由于加速和转向。有关更多细节,请参见自行车模型(自动驾驶工具箱)。

指标的评估子系统支持使用场景中的地面真相信息进行系统级度量评估。打开指标的评估子系统。

open_system (“HighwayLaneChangeTestBench /指标评估”

  • 碰撞检测子系统检测自我车辆与其他车辆的碰撞,并在检测到碰撞时停止模拟。子系统还计算TimeGap参数使用到前车的距离(车头时距)和自我车辆的纵向速度。这个参数是根据规定的限度进行评估的。

  • 混蛋指标子系统计算LongitudinalJerk而且LateralJerk参数分别为纵向速度和横向速度。这些参数是根据规定的限度进行评估的。

有关如何使用Simulink Test自动验证指标的更多细节,请参见高速公路车道改变的自动化测试的例子。

探索算法模型

该变道系统集成了环绕车辆传感器融合、变道规划器和车道跟踪控制器组件。

环绕车辆传感器融合算法模型融合了来自摄像机和雷达传感器的车辆检测,并使用中心级跟踪方法跟踪被检测的车辆。打开环绕车辆传感器融合算法模型。

open_system (“SurroundVehicleSensorFusion”

环绕车辆传感器融合模型以视觉传感器的车辆检测数据和雷达传感器的聚类数据为输入。

  • 视觉检测连接Block将视觉检测连接起来。

  • 从视觉中删除速度块是一个MATLAB函数块,用于从视觉检测中删除速度信息。

  • 视觉与雷达探测级联Block将视觉和雷达探测连接起来。

  • 添加定位信息块是一个MATLAB函数块,它将自我车辆的定位信息添加到使用INS传感器估计的自我车辆姿态的串联检测中。这使得跟踪器能够在全局框架内进行跟踪,并将自我车辆的变道机动对轨迹的影响降到最低。

  • helperJPDATrackerBlock执行融合和管理静止和移动物体的轨迹。跟踪器融合了包含在串联检测中的信息,并跟踪自我车辆周围的物体。它在弗莱奈坐标系中估计航迹。它使用mapInfo在Frenet坐标系下估计航迹。跟踪器然后输出一个已确认的跟踪列表。这些轨道在预测时间更新由一个数字时钟驱动场景和环境子系统。

有关算法的更多详细信息,请参见基于Frenet参考路径的目标跟踪与运动规划的例子。

高速公路变道规划器是高速公路变道系统的基本组成部分。该组件预计将处理不同的驾驶行为,以安全地驾驶自我车辆从一个点到另一个点。的高速公路改道规划者算法模型包含终端状态采样器、运动规划器和运动预测模块。终端状态采样器基于规划器参数和场景中自我车辆和其他车辆的当前状态对终端状态进行采样。运动预测模块对mio的未来运动进行预测。运动规划器对轨迹进行采样并输出最佳轨迹。打开高速公路改道规划者算法模型。

open_system (“HighwayLaneChangePlanner”

该算法模型实现了高速公路变道系统的主要算法。参考模型读取地图数据、参与者姿势(在世界坐标中)和计划器参数场景和环境子系统执行轨迹规划。该模型利用Frenet坐标系寻找自我载体周围的mio。然后,该模型对不同行为的终端状态进行采样,预测目标参与者的运动,生成多个轨迹。最后,该模型评估生成轨迹的成本,并检查碰撞可能性和运动学可行性,以估计最佳轨迹。有关更多详细信息,请参见生成代码的高速公路车道改变计划的例子。

车道改变控制器参考模型模拟了一种路径跟随控制机制,使自我车辆沿着生成的轨迹行驶,同时跟踪设定的速度。打开车道改变控制器参考模型。

open_system (“LaneChangeController”);

控制器调整自我车辆的纵向加速度和前转向角度,以确保自我车辆沿着生成的轨迹行驶。该控制器利用自适应模型预测控制(MPC)计算最优控制动作,同时满足速度、加速度和转向角度约束。有关集成高速公路车道变更规划器和控制器的更多详细信息,请参见高速公路车道改变计划和控制器的例子。

模拟和可视化系统行为

设置并运行HighwayLaneChangeTestBench在变道过程中可视化系统行为的仿真模型。的可视化模型中的块创建了一个MATLAB图,该图显示了场景的追逐视图和俯视图,并绘制了场景中的自我车辆、轨迹、采样轨迹、胶囊列表和其他车辆。

禁用MPC更新消息。

mpcverbosity (“关闭”);

配置HighwayLaneChangeTestBench模型来使用scenario_LC_15_StopnGo_Curved场景。

helperSLHighwayLaneChangeSetup (scenarioFcnName =“scenario_LC_15_StopnGo_Curved”);sim卡(“HighwayLaneChangeTestBench”);

在模拟过程中,模型将信号记录到基本工作区作为logsout.方法可以分析模拟结果并调试系统行为中的任何故障HelperAnalyzeLCSimulationResults对象。的visualizeSimulationData该方法的函数创建一个MATLAB图,并绘制场景的跟踪视图,以及检测和跟踪。有关此图的更多详细信息,请参见生成代码的高速公路车道改变计划的例子。运行函数并探索剧情。

visualizatonObj = HelperAnalyzeLCSimulationResults (logsout);visualizatonObj.visualizeSimulationData ()

探索其他场景

的系统行为scenario_LC_15_StopnGo_Curved场景,但是您可以使用相同的测试台架模型来探索其他场景。方法兼容的场景列表HighwayLaneChangeTestBench模型。

场景_ lc_01_慢移动场景_ lc_02_慢移动withpassingcar场景_ lc_03_disabledcar场景_ lc_04_ cutinwithbrake场景_ lc_05_单列车变轨场景_ lc_0_双列车变轨场景_ lc_07_右列车变轨场景_ lc_08_slowmovingcar _ curved场景_ lc_09_cutinwithbrake场景_ lc_10_单列车变轨场景_ lc_11_merge car_highwayentry场景_ lc_12_cutincar_highwayentry场景_ lc_13_disabledcar_ushape场景_ lc_14_双列车变轨场景_ lc_04_cutinwithbrake场景_ lc_07_右列车变轨场景_ lc_07_右列车变轨场景_ lc_08_右列车变轨场景_ lc_0_07_右列车变轨场景_ lc_08_右列车变轨场景_ lc_08_右列车变轨场景_ lc_10_cutinwithbrake场景_ lc_11_merge car_roadwayentry场景_ lc_12_cutincar_highwayentry场景_ lc_13_disabledcar_ushapescenario_LC_15_StopnGo_Curved(默认)

这些场景都是使用驾驶场景设计师并导出到一个场景文件。查看每个文件中的注释,了解每个场景中关于道路和车辆的更多细节。您可以配置HighwayLaneChangeTestBench模型和工作区来模拟这些场景helperSLHighwayLaneChangeSetup函数。例如,您可以使用此命令配置弯曲道路场景的模拟。

helperSLHighwayLaneChangeSetup (scenarioFcnName =“scenario_LC_10_SingleLaneChange_Curved”);

结论

在本例中,您设计并模拟了一个使用从周围视图感知到的信息的高速公路车道改变机动系统。该示例演示了如何集成传感器融合、规划器和控制器组件,以在闭环环境中模拟高速公路车道改变系统。该示例还演示了各种评估指标,以验证所设计系统的性能。如果您拥有Simulink Coder™许可证和Embedded Coder™许可证,您可以为嵌入式实时目标(ERT)生成算法模型的随时部署代码。

再次启用MPC更新消息。

mpcverbosity (“上”);

另请参阅

(导航工具箱)

相关的话题

Baidu
map