基于MATLAB&SIMULINK开发自动驾驶系统第三讲之鸟瞰范围内可视化传感器数据和物体跟踪
Bird's-Eye Scope可将来自Simulink模型的信号可视化,这些信号代表了驾驶场景的各个方面。使用该鸟瞰视图,可以分析:
- 视觉、雷达和激光雷达传感器的传感器覆盖率。
- 传感器探测的周围目标和车道边界。
- 场景中移动物体的跟踪
这个例子展示了如何在仿真过程中在作用域上显示这些信号并分析这些信号。
打开模型和鸟瞰视图
打开一个包含传感器探测和跟踪信号的模型。该模型在"在Simulink中使用合成雷达和视觉数据进行传感器融合 "示例中使用。同时将该模型的文件文件夹添加到MATLAB搜索路径中。
addpath(genpath(fullfile(matlabroot,'examples','driving')))
open_system('SyntheticDataSimulinkExample')
从Simulink工具条打开鸟瞰视图。在 Review Results 下,单击 Bird's-Eye Scope。
3.1 查找信号
当 第一次打开 Bird's-Eye Scope 时,范围画布是空白的,不显示任何信号。要从打开的模型中找到可以显示的信号,在鸟瞰视图工具条上,单击 "查找信号"。鸟瞰视图会更新框图,自动找到模型中的信号。
左侧窗格列出了鸟瞰视图发现的所有信号。这些信号根据它们在模型中的来源进行分组。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
在仿真之前,但在点击查找信号之后,鸟瞰视图画布会显示除非被控执行器和所有传感器覆盖信号之外的所有地面真值信号。在仿真之前,目标执行器以及探测和跟踪下的信号不会显示。其他适用信号中的信号在仿真期间不显示。如果想让鸟瞰视图显示特定的信号,请在仿真前将它们移到适当的组中。如果不存在适当的组,请创建一个组。
3.2 运行仿真
单击 "运行",从 "鸟瞰视图 "内仿真模型。鸟瞰视图画布显示探测和跟踪。要显示图例,请在范围工具条上单击 "图例"。
在仿真过程中,可以执行这些操作。
- 检查探测、跟踪、传感器覆盖区域和被控车辆行为。默认视图以车辆坐标显示仿真,并以被控车辆为中心。要查看被控车辆周围更广的区域,或者要查看场景的其他部分,在鸟瞰视图工具条上,单击世界坐标。世界坐标视图窗口显示整个场景,被控车辆被圈起来。这个圆圈不是传感器覆盖区域。要返回到默认的的任何一个窗口的显示,将指针移到窗口上,在右上角,单击出现的主页按钮。
- 更新信号属性。要访问信号的属性,首先从左侧窗格中选择信号。然后,在鸟瞰视图工具条上,单击 "属性"。例如,使用这些属性,可以显示或隐藏传感器覆盖区域或探测。此外,要突出显示某些传感器覆盖区域, 可以更改其颜色或透明度。
- 更新 Bird's-Eye Scope(鸟瞰视图)设置,例如更改 "车辆坐标视图 "窗口的轴限制或更改信号名称的显示。在范围工具条上,单击 "设置"。在仿真过程中,不能更改 "跟踪位置选择器 "和 "跟踪速度选择器 "设置。
仿真结束后, 可以为下一次仿真隐藏某些探测或跟踪。在左侧窗格中,在 "探测 "或 "跟踪 "下,右键单击要隐藏的信号。然后,选择 "移动到其他适用 "将该信号移动到 "其他适用信号 "组。要隐藏传感器覆盖区域,请在左窗格中选择相应的信号,并在 "属性 "选项卡上清除 "显示传感器覆盖 "参数。仿真过程中不能隐藏地面真值信号。
3.3 组织信号组(可选)
要进一步组织信号,可以重新命名信号组或将信号移动到新的组。例如, 可以将 "视觉 "和 "雷达 "子组重命名为 "车头 "和 "车尾"。然后可以根据需要拖动信号,将它们移动到基于新的信号组的适当组中。组名称。当 将信号拖动到新组时,信号的颜色会改变,以匹配分配给其组的颜色。
不能重命名或删除左窗格中的顶层组,但 可以重命名或删除任何子组。如果删除一个子组,它的信号就会移动到顶层组。
3.4 更新模型和重新运行仿真
运行仿真后,修改模型并检查更改如何影响鸟瞰视图上的可视化。例如,在模型的传感器仿真子系统中,打开两个视觉探测生成器块。这些块的传感器指数分别为1和2。在每个块的 "测量 "选项卡上,将 "最大探测范围(m) "参数减少到50。要查看传感器覆盖范围如何变化,请重新运行仿真。
当修改块参数时, 可以重新运行仿真,而不必再次查找信号。如果添加或删除块、端口或信号线,那么必须在重新运行仿真之前再次单击查找信号。
3.5 保存和关闭模型
保存并关闭模型。Bird's-Eye Scope 的设置也会被保存。
如果重新打开模型和 Bird's-Eye Scope,范围画布最初是空白的。
单击 "查找信号 "可再次查找信号并查看保存的信号属性。例如,如果在上一步中缩小了探测范围,范围画布将显示此缩小的范围。
当完成仿真模型后,从MATLAB搜索路径中删除模型文件文件夹。
rmpath(genpath(fullfile(matlabroot,'examples','driving')))