主要内容

高速公路变道

本示例展示了如何感知环绕视图信息,并将其用于设计高速公路驾驶场景下的自动变道机动系统。

简介

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

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

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

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

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

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

  • 探索其他场景—这些场景是在额外的条件下测试系统。

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

分区算法与测试台

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

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

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

探索试验台模型

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

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

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

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

open_system (“HighwayLaneChangeTestBench”

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

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

  • 场景与环境—用于模拟的场景、车辆、传感器和地图数据子系统。本例使用了五个视觉传感器、一个雷达传感器和一个INS传感器。

  • 环绕车辆传感器融合-子系统,从多个传感器融合检测产生轨道。

  • Planner配置参数—规划算法所需配置参数的子系统。

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

  • 变道控制器-指定路径跟踪控制器的子系统,该控制器生成控制命令,以沿生成的轨迹引导自我车辆。

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

  • 指标的评估—子系统,指定度量来评估系统级行为。

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

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

open_system (“HighwayLaneChangeTestBench/场景和环境”

  • 场景的读者Block配置驾驶场景并输出角色姿态,以控制目标车辆的位置。

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

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

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

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

子系统配置五个视觉传感器和一个雷达传感器来捕捉车辆的周围视图。这些传感器安装在ego飞行器的不同位置,以捕捉360度的视野。

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

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

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

自行车模型块实现了一个刚性的双轴单轨车身模型来计算纵向、横向和偏航运动。该块说明身体质量,气动阻力,和重量分布之间的轴由于加速和转向。详情请参见自行车模型(自动驾驶工具箱)。

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

open_system (“HighwayLaneChangeTestBench /指标评估”

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

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

有关如何使用Simulink Test自动验证度量的更多详细信息,请参见万博1manbetx高速公路变道自动化测试的例子。

探索算法模型

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

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

open_system (“SurroundVehicleSensorFusion”

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

  • 视觉检测级联块连接视觉检测。

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

  • 视觉和雷达探测级联块连接视觉和雷达探测。

  • 添加本地化信息block是一个MATLAB函数块,使用INS传感器估计的自我车辆姿态,将自我车辆的定位信息添加到级联检测中。这使得跟踪器能够在全局框架内进行跟踪,并最大限度地减小了车辆变道机动对轨道的影响。

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

有关该算法的详细信息,请参见使用Frenet参考路径的目标跟踪和运动规划的例子。

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

open_system (“HighwayLaneChangePlanner”

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

变道控制器参考模型模拟路径跟踪控制机制,保持自我车辆沿生成的轨迹行进,同时跟踪设定的速度。打开变道控制器参考模型。

open_system (“LaneChangeController”);

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

模拟和可视化系统行为

设置并运行HighwayLaneChangeTestBench仿真模型,以可视化的行为,系统在一个车道的变化。的可视化block在模型中创建了一个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_slowmoving场景_lc_02_slowmovingwithpassingcar场景_lc_03_disabledcar场景_lc_04_cutinwithbrake场景_lc_05_singlelanechange场景_lc_06_doublelanechange场景_lc_07_rightlanechange场景_lc_08_slowmovingcar_curved场景_lc_09_cutinwithbrake_curved场景_lc_10_singlelanechange_curved场景_lc_11_mergingcar_highwayentry场景_lc_12_cutincar_ushape场景_lc_14_doublelanechange_ushapescenario_LC_15_StopnGo_Curved(默认)

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

helperSLHighwayLaneChangeSetup (scenarioFcnName =“scenario_LC_10_SingleLaneChange_Curved”);

结论

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

再次启用MPC更新消息。

mpcverbosity (“上”);

另请参阅

(导航工具箱)

相关的话题