主要内容

轨道车辆在仿真软件中使用激光雷达数据万博1manbetx

这个例子向您展示了如何使用测量跟踪车辆从激光雷达传感器安装在车辆的自我。由于高分辨率激光雷达传感器的功能,每个传感器的扫描包含大量的点,一般称为点云。中的示例演示了工作流处理点云模型和跟踪对象。万博1manbetx在本例中使用的激光雷达数据记录从高速公路驾驶场景。你使用记录数据跟踪车辆联合概率数据关联(JPDA)追踪和交互多模型(IMM)的方法。密切遵循的例子使用激光雷达跟踪车辆:从点云来跟踪列表MATLAB®的例子。

设置

在本例中使用的激光雷达数据可以在以下链接:https://ssd.mathworks.com/万博1manbetxsupportfiles/lidar/data/TrackVehiclesUsingLidarExampleData.zip

下载数据文件到当前的工作目录。如果你想将文件放置到一个不同的文件夹,修改目录名称在随后的指令。

%如果无法加载数据。如果~ (“lidarData_1.mat”,“文件”)dataUrl =“https://ssd.mathworks.com/万博1manbetxsupportfiles/lidar/data/TrackVehiclesUsingLidarExampleData.zip”;datasetFolder = fullfile (pwd);解压缩(dataUrl datasetFolder);结束

模型的概述

load_system (“TrackVehicles万博1manbetxSimulinkExample”);set_param (“TrackVehicles万博1manbetxSimulinkExample”,“SimulationCommand”,“更新”);open_system (“TrackVehicles万博1manbetxSimulinkExample”);

激光雷达和图像数据阅读器

激光雷达数据和图像数据阅读器模块实现使用MATLAB系统(万博1manbetx模型)块。的代码块定义的helper类,HelperLidarDataReaderHelperImageDataReader分别。图像和激光雷达数据读者从垫文件读取记录数据和输出的参考图像和点的位置分别点云。

边界框探测器

如前所述,原始数据从传感器包含大量的点。这个原始数据必须预处理提取感兴趣的对象,如汽车、自行车和行人。使用边界框的预处理完成探测器。边界框探测器也实现为一个MATLAB系统™块定义为一个辅助类,HelperBoundingBoxDetectorBlock。它接受的点云边界框的位置作为输入和输出检测对应的障碍。图表显示了边界框探测器的过程模型和计算机视觉工具箱™函数用于实现每一个过程。它还显示了块的参数控制每一个过程。

块输出检测和分割的信息万博1manbetxSimulink.Bus(万博1manbetx模型)对象命名detectionBussegmentationBus。这些公共汽车使用helper函数基工作区中创建helperCreateDetectorBus中指定的PreLoadFcn回调。看到模型的回调(万博1manbetx模型)关于回调函数的更多信息。

跟踪算法

跟踪算法实现利用联合概率数据关联(JPDA)跟踪器,它使用一个交互多模型(IMM)的方法来跟踪目标。IMM滤波器实现的helperInitIMMFilter,它被指定为“过滤器”初始化函数参数的块。在这个例子中,IMM滤波器配置为使用两个模型,一个恒定的速度长方体模型和一个常数周转周期长方体模型。长方体的尺寸定义为常数的模型估计在状态转换关系及其演变在时间校正阶段的过滤器。下面的动画显示效果混合的恒定速度和不断周转周期不同概率模型在预测阶段的过滤器。

IMM滤波器过滤时自动计算每个模型的概率与检测纠正。下面的动画显示了估计的轨迹和变道时模型的概率事件。

状态转换的详细描述和测量模型,指的是“目标状态和传感器测量模型”部分的MATLAB的例子。

追踪块选择的复选框“使所有跟踪输出”和“启用探测追踪id输入”输出所有追踪追踪和计算他们的探测概率的函数的状态。

计算检测能力

使用一块计算检测能力的实现MATLAB函数(万博1manbetx模型)块。块计算探测TrackIDs跟踪程序的输入和输出数组2列。第一列代表的TrackIDs追踪和第二列指定的概率由传感器和限位框检测器检测。

可视化

可视化的块还使用MATLAB实现系统块定义和使用HelperLidarExampleDisplayBlock。块使用RunTimeObject参数块来显示他们的输出。看到在模拟块数据的访问(万博1manbetx模型)为进一步的信息关于如何访问块在模拟输出。

检测和跟踪总线对象

如前所述,不同块的输入和输出是由总线对象。你可以想象每个总线使用的结构式编辑器(万博1manbetx模型)。以下图片显示总线结构的检测和跟踪。

检测

detectionBus输出一个嵌套总线对象2元素,NumDetections检测

第一个元素,NumDetections,是检测的数量。第二个元素检测是一个固定大小的总线对象代表所有检测。第一个NumDetections总线对象的元素代表电流的检测。注意到总线的结构是相似的objectDetection类。

跟踪

总线类似于检测总线。这是一个嵌套的巴士,NumTracks定义了公共汽车和跟踪的数量跟踪定义一个固定大小的痕迹。轨道的大小是由块参数“最大数量的轨道”。

第二个元素跟踪是一个总线对象定义的trackBusTracks。这车是自动创建的追踪块通过总线名称指定为前缀。注意到总线的结构是相似的objectTrack类。

结果

探测器和追踪算法配置完全一样了使用激光雷达跟踪车辆:从点云来跟踪列表MATLAB的例子。运行模式后,你可以想象结果图。下面的动画显示的结果时间0到4秒。轨道是由绿色边框。这个边界框检测由橙色的边界框。检测也有橙色点,代表点云分割障碍。所示的分段地紫色。裁剪或丢弃的点云所示蓝色。注意跟踪对象是能够保持其形状和运动中心的定位检测到车辆的可见部分。这说明了偏移量和收缩效应测量的建模功能。

close_system (“TrackVehicles万博1manbetxSimulinkExample”);

总结

这个例子展示了如何使用一个JPDA追踪与IMM滤波器使用激光雷达传感器来跟踪对象。您了解了如何将原始点云预处理为传统的追踪器,生成检测假设一个检测/对象/传感器扫描。您还了解了如何使用一个长方体模型来描述扩展对象JPDA所追踪的追踪。