3.2.3 stage_ros2设置窗体
stage 窗体由菜单栏和模拟世界的视图组成。我们可以放大和缩小视图,并滚动视图以查看模拟世界的更多内容。模拟的机器人设备、障碍物等被渲染为彩色多边形。窗体中还可以实现各种传感器和执行器模型的数据和配置的可视化。菜单则具有用于控制呈现哪些数据和配置的选项。本节我们将介绍如何设置以及操作stage窗体。
1.设置窗体
设置窗体相关参数,可以在stage_sim.launch.py文件中添加如下内容:
# 配置窗体参数
window
(
size [ 700.000 700.000 ] # 窗体尺寸(以 像素 为单位)
scale 35 # 缩放比
center [ 0 0 ] # 地图相对于窗体的偏移量(以 米 为单位)
rotate [ 0 0 ] # 地图旋转角度
show_data 1 # 是否显示传感器数据 1=on 0=off
)
上述代码创建了一个窗体对象,该窗体分辨率为700*700,使用了35倍缩放比,后续加载的地图相对于窗体无偏移无旋转且会以可视化的方式显示传感器数据。
2.编译执行
构建功能包并执行launch文件后,运行结果如下。
3.窗体参数
摘要和默认值
window
(
size [ 400 300 ]
# camera options
center [ 0 0 ]
rotate [ 0 0 ]
scale 1.0
# perspective camera options
pcam_loc [ 0 -4 2 ]
pcam_angle [ 70 0 ]
# GUI options
show_data 0
show_flags 1
show_blocks 1
show_clock 1
show_footprints 0
show_grid 1
show_trailarrows 0
show_trailrise 0
show_trailfast 0
show_occupancy 0
show_tree 0
pcam_on 0
screenshots 0
)
详解
speedup <int>
Stage 将尝试以实时的这个倍数运行。如果设置为 -1,Stage 将尽可能以最快速度运行,并且不会尝试跟踪实时时间。
size [<width:int><height:int> ]
窗口的大小(以像素为单位)。
center [<x:float><y:float> ]
窗口中心的位置,使用世界坐标表示(以米为单位)。
rotate [<pitch:float><yaw:float> ]
相对于垂直向上的角度,旋转角度(以度为单位)。
scale<float>
世界坐标到像素坐标的比例(窗口缩放)。
pcam_loc [<x:int><y:int><z:int> ]
透视摄像机的位置(以米为单位)。
pcam_angle [<pitch:float><yaw:float> ]
透视摄像机的垂直和水平角度。
pcam_on<int>
是否启用透视摄像机(0/1)。
4.操作窗体
滚动视图
在背景上左键单击并拖动以移动你对世界的视图。
缩放视图
滚动鼠标滚轮可放大或缩小鼠标光标处的位置。
保存世界
你可以保存当前世界中所有事物的位置,使用“文件/保存”菜单项。警告:保存的位置将覆盖当前的世界文件。在保存之前,先复制你的世界文件,以保留旧的位置。另外,可以使用“文件/另存为”菜单项将其保存到一个新的世界文件中。
暂停和恢复时钟
按下“p”键可以暂停或恢复模拟。按下“.”(句号)键可以运行一个模拟步骤。按住“.”键可以重复多次步进。步进会让模拟暂停,所以按下“p”键可以恢复运行。可以在世界文件中使用“paused”属性来设置初始的暂停/运行状态。
选择模型
可以通过点击左键来选择模型。通过按住Shift键并点击多个模型,也可以选择多个模型。选择的模型可以通过拖动来移动,或者通过按住右键并移动鼠标来旋转。点击世界中的空白位置可以清除选择。在清除选择后,最后选中的单个模型将被保存为影响特定模型的几个视图选项的目标。
视图选项
视图菜单提供了许多影响世界渲染方式的功能。在每个选项的右侧,通常有一个按键快捷键,可快速切换相关选项。
“Data”选项(快捷键'd')可切换传感器数据可视化。滤波器数据选项(快捷键Shift+'d')打开对话框,可启用或禁用特定传感器的可视化。对话框中的“Visualize All”选项可切换是否为所有模型启用传感器可视化,还是仅为当前选择的模型启用。
“Follow”选项可保持视图始终在最后选择的模型上。
“Perspective camera”选项可以从正交视图切换到透视视图。
保存截图
要保存世界的一系列截图,从视图菜单中选择“Save screenshots”选项以开始录制图像,然后再次从菜单中选择该选项以停止。