RVIZ2
一、介绍
RVIZ2是ROS2中一个非常重要且常用的数据可视化工具。可以将我们调试机器人过程中的各种数据(图像数据、三维点云数据、地图数据、TF数据、机器人模型数据等等……)以更直观的形式可视化显示出来。RVIZ2还支持自定义插件以显示自定义数据的可视化。注:RVIZ2是将已有的数据可视化出来。
二、配置介绍
1. 全局配置
作用:配置作该配置用于设定RVIZ2显示的整体配置,如基参考系设置、背景颜色设置、刷新频率等。
Fixed Frame:所有数据相对于进行显示的参考框架。是所有数据显示的基框架。其存在的意义是使得所有数据能够在同一参考坐标系框架下进行展示,保证所有数据的基本参考框架的一致性。
Background Color:场景背景颜色。
Frame Rate:RVIZ2的图像刷新帧率,较高的帧率提供更流畅的动画效果,但需要更多的计算资源。一般设置为30FPS。
2. 地面网格配置
作用:该配置用于设置可视化网格地面相关的配置,以供用户进行参考,帮助用户估计移动的距离和比例。
Reference Frame:定义网格相对于哪个坐标框架进行显示。
Plane Cell Count:设置网格的单元格数量。
Normal Cell Count:3D的Z轴维度数。
Cell Size:每个单元格的大小。
Color:网格线的颜色。
Alpha:网格线的透明度。
Plane:坐标线的铺开形式,是沿XY轴面、XZ轴面亦或是YZ轴面。
Offset:网格平面相对于参考坐标系框架的平移距离。
3. 地图配置
作用:该配置用于设置我们加载的地图中的相关参数。
Topic:设置用于订阅地图数据的ROS2话题名称。
Update Topic:指定接收增量更新地图数据的 ROS 话题名称。
通过增量更新,RViz2 只接收和处理变化的部分数据,而不是完整的地图,从而提高效率。常见的话题名称是 /map_updates
。
Alpha:设置地图的透明度。
Color Scheme:定义地图的颜色方案。
不同的颜色方案可以帮助用户更容易地区分地图中的障碍物和自由空间。常见的颜色方案有 map
(原始颜色)、costmap
(代价值地图)等。
Draw Behind:决定地图是否绘制在其他元素的后面。开启这个选项可以确保地图不会遮挡其他重要的可视化元素,例如路径规划线路或机器人位置。
Resolution:地图的分辨率,通常以米/像素为单位。(不可编辑项)
Width:地图的宽度,以米为单位。(不可编辑项)
Height:地图的高度,以米为单位。(不可编辑项)
Position:设置地图在 RViz2 场景中的位置。(不可编辑项)
Orientation:设置地图在 RViz2 场景中的方向。(不可编辑项)
Use Timestamp:决定是否使用消息中的时间戳来确定地图的显示时间。启用此选项可以确保地图显示与时间戳同步,这对于时序一致性非常重要。特别是在处理实时数据时,这个选项可以帮助确保地图显示与数据的采集时间一致。
4. 机器人模型配置
作用:该配置用于设置我们要显示的机器人模型的相关参数。
Visual Enabled:是否显示机器人模型的可视化视觉部分,即外观、颜色等等。
Collision Enabled:是否显示机器人的碰撞框架模型,使用此项可以可视化碰撞框架。
Mass Properties:是否显示机器人的质量属性,执行、惯性等参数。
Update interval:设置机器人模型的更新时间间隔,单位为秒。调整更新间隔可以控制机器人模型的刷新频率。较短的间隔提供更及时的更新,但可能增加系统负载;较长的间隔可以减少系统负载,但更新可能不够及时。
Alpha:设置机器人模型的透明度。
Description Source:指定机器人模型描述文件的来源。
Description Topic:指定发布机器人模型描述的ROS2话题名称。
TF Prefix:设置机器人模型的 TF 框架前缀。当在同一环境中存在多个机器人实例时,使用 TF 前缀可以避免框架名称冲突。前缀会添加到所有 TF 框架名称的前面,从而区分不同的机器人实例。
5. 里程计配置
作用:该配置选项用于显示和配置里程计数据,里程计数据通常包括机器人的位置和方向信息。以下是 Odometry
配置中的各个属性的详细解释:
Topic:指定订阅的里程计数据的 ROS2 话题的名称。
Position Tolerance:定义位置的容差范围。设置位置容差可以过滤掉微小的位置变化,防止由于噪声引起的频繁更新。比如只有当位置变化超过指定的容差范围时,才会更新显示。
Angle Tolerance:定义角度的容差范围。设置角度容差可以过滤掉微小的方向变化,防止由于噪声引起的频繁更新。比如只有当角度变化超过指定的容差范围时,才会更新显示。
Keep:指定保留的里程计数据的数量。设置保留数据的数量可以控制显示的历史路径的长度。较大的值会显示更长的历史路径,但也会增加系统负载。
Shape:定义里程计数据的显示形状。选择不同的形状(例如箭头、轴、点等)可以改变数据的视觉效果,以适应不同的可视化需求。常见的形状选项包括 Arrow
、Axes
、Flat Arrows
等。
Covariance:显示里程计数据中的协方差信息。协方差信息表示位置和方向的不确定性,启用此选项可以在视觉上显示这些不确定性,帮助用户理解传感器数据的精度和置信度。显示的协方差通常以椭圆(位置)和扇形(方向)表示。
6. TF配置
作用:该配置选项用于显示和配置变换关系。变换关系用于表示机器人及其环境中的各种坐标系之间的关系。以下是 TF
配置中的各个属性的详细解释:
Show Names:是否显示各个待变换关系坐标系的名称。
Show Axes:是否显示各个待变换坐标系关系的坐标轴。启用此选项可以在视图中显示每个待变换关系坐标系的坐标轴(通常为红色、绿色和蓝色,分别表示 x、y、z 轴),帮助用户理解各个坐标系的方向和位置。
Show Arrows:控制是否显示各个待变换关系坐标系的方向箭头。启用此选项可以在视图中显示每个待变换关系坐标系的方向箭头,有助于理解各个坐标系的方向。
Marker Scale:设置待变换关系坐标系标记的缩放比例。调整标记的缩放比例可以改变待变换关系坐标系的视觉大小,便于在不同的缩放级别下查看。较大的缩放比例使待变换关系坐标系在视图中更明显。
Update Interval:定义待变换关系坐标系数据更新的时间间隔,以秒为单位。
Frame Timeout:指定在没有接收到新数据后待变换关系坐标系失效的时间,以秒为单位。设置这个值可以确保在长时间没有接收到新的变换数据时,将其从视图中移除,从而避免显示过时的数据。
Frames:所有待变换关系坐标系的列表。
Tree:控制是否显示待变换关系坐标系的层次结构树。启用此选项可以在专门的窗口中显示待变换关系坐标系的层次结构树,帮助用户以更直观的方式查看和管理所有待变换关系坐标系的关系。
7. 雷达配置
作用:该配置用于显示和配置激光雷达扫描的数据。
Topic:发布雷达数据的雷达话题。
Selectable:控制是否可以选择激光扫描点。设定由激光雷达产生的点云点是否可以被选中。
Style:定义激光扫描数据的显示样式。
选择不同的样式可以改变激光扫描数据的视觉效果,以适应不同的可视化需求。常见的样式包括 Points
、Billboards
、Flat Squares
等。
Size(m):设置激光扫描点的大小,以米为单位。调整点的大小可以改变激光扫描数据在视图中的视觉表现,使其在不同的缩放级别下清晰可见。较大的点可以使远处的数据更明显。
Alpha:设置激光扫描点的透明度。
Decay Time:定义激光扫描数据在视图中保持的时间,以秒为单位。
Position Transformer:激光扫描数据中的每个点代表了激光束击中的位置。但有时,我们希望对这些点的位置进行进一步处理,以便更好地展示或分析数据。比如,我们可以把激光扫描数据的坐标转换成相对于某个特定点或坐标系的位置,从而更清晰地了解激光扫描数据的位置关系。假设我们想要将激光扫描数据的坐标转换成相对于机器人底盘中心的位置,以便更准确地表示障碍物的位置。这时,我们可以使用 Position Transformer
来执行这个转换操作。
Color Transformer:除了位置外,激光扫描数据中的每个点通常还包含了一些其他的信息,比如激光强度或距离。我们可以利用这些额外信息来调整激光点的颜色,从而更好地展示数据的特点。假设我们希望根据激光点的强度或距离来调整其颜色,以突出显示激光数据中的不同特性。例如,我们可以使用 Color Transformer
来将激光点的颜色设置成与其强度或距离成正比的方式,使强度或距离更大的点显示为更鲜艳或更深的颜色,以便更直观地理解数据。
8. 点云配置
作用:用于显示三维空间中的点云数据。
Topic:所订阅的产生 PointCloud2 数据的 ROS 话题名称。
Selectable:是否可以选择点云中的点。
Style:定义点云数据的显示样式。
选择不同的样式可以改变点云数据的视觉效果,以适应不同的可视化需求。常见的样式包括 Points
、Billboards
、Flat Squares
等。
Size(m):设置点云中点的大小,以米为单位。
Alpha:设置点云的透明度。
Decay Time:定义点云数据在视图中保持的时间,以秒为单位。
Position Transformer:选择用于变换点云中点位置的方法。
Color Transformer:选择用于变换点云中点颜色的方法。