您正在阅读的是旧版本但仍受支持的 ROS 2 文档。 Jazzy.
RViz 用户指南
目标 了解 RViz
辅导水平: 中级
时间 25 分钟
背景介绍
RViz 是机器人操作系统(ROS)框架的三维可视化器。
安装或构建 rviz
按照 安装说明 操作系统来安装 RViz。
启动
不要忘记为设置文件提供源代码。
消息来源 /opt/ros/humble/setup.bash
然后启动展示台
玫瑰2 运行 rviz2 rviz2
首次启动 RViz 时,您将看到此窗口:

中间的黑色大窗口是 3D 视图(空的,因为什么都看不到)。左侧是 "显示 "列表,会显示已加载的任何显示。现在它只包含全局选项和一个网格,我们稍后再讨论。右侧是其他一些面板,具体介绍如下。
显示屏
显示屏是在三维世界中绘制某样东西的设备,在显示屏列表中可能有一些可用的选项。例如点云、机器人状态等。
添加新的显示屏
要添加显示屏,请单击底部的添加按钮:

这样就会弹出新的显示对话框:

顶部的列表包含显示类型。该类型详细说明了该显示屏将可视化哪类数据。中间的文本框给出了所选显示类型的描述。最后,必须为显示屏命名。例如,如果您的机器人上有两个激光扫描仪,您可以创建两个 激光 扫描
显示屏名为 "激光底座 "和 "激光头"。
显示属性
每个显示屏都有自己的属性列表。例如

显示状态
每个显示屏都有自己的状态,以帮助您了解一切是否正常。状态可以是 好的
, 警告
, 错误
或 残疾
.状态会通过背景颜色显示在显示标题中,并在状态类别中显示(如果显示已展开):

"(《世界人权宣言》) 现状
类别也会扩展,以显示特定的状态信息。这些信息在不同的显示屏上会有所不同,而且信息应该是不言自明的。
内置显示屏类型
名称 |
说明 |
使用的信息 |
---|---|---|
轴 |
显示一组坐标轴 |
|
努力 |
显示机器人每个旋转接头所承受的力 |
|
照相机 |
从摄像机的角度创建一个新的渲染窗口,并在其上叠加图像。 |
|
网格 |
沿平面显示二维或三维网格 |
|
网格单元 |
从网格中绘制单元格,通常是从成本图中的障碍物绘制单元格。 导航 一叠 |
|
图片 |
用图像创建一个新的渲染窗口。与相机显示屏不同,该显示屏不使用 CameraInfo |
|
互动标记 |
显示来自一个或多个交互式标记服务器的 3D 物体,并允许鼠标与之交互 |
|
激光扫描 |
显示激光扫描数据,并提供不同的渲染模式、累积等选项。 |
|
地图 |
在地平面上显示地图。 |
|
标记 |
允许程序员通过主题显示任意原始图形 |
visualization_msgs/msg/Marker, visualization_msgs/msg/MarkerArray |
路径 |
显示从 导航 一叠 |
|
点 |
将点绘制成一个小球体。 |
|
姿势 |
将姿势绘制成箭头或轴线。 |
|
姿势阵列 |
绘制箭头 "云",姿势数组中的每个姿势对应一个箭头 |
|
点云(2) |
显示点云数据,并提供不同的渲染模式、累积等选项。 |
|
多边形 |
用线条绘制多边形的轮廓。 |
|
测距 |
累积一段时间内的测距姿势。 |
|
范围 |
显示代表声纳或红外测距传感器测距结果的锥形。版本:电+ |
|
机器人模型 |
显示机器人的正确姿势(由当前 TF 变换定义)。 |
|
TF |
显示 tf2 转换等级。 |
|
扳手 |
将扳手画成箭头(力)和箭头+圆圈(扭矩) |
|
扭转 |
以箭头(线性)和箭头 + 圆圈(角度)的形式绘制扭曲图像 |
配置
不同的显示器配置通常适用于展示台的不同用途。例如,对完整的 PR2 有用的配置并不一定对测试车有用。为此,展示台允许你加载和保存不同的配置。
配置包含
显示屏及其属性
工具属性
三维可视化的视角和设置
意见小组
展示台中有多种不同类型的摄像机。

摄像机类型包括不同的摄像机控制方式和不同的投影类型(正射与透视)。
轨道相机(默认)
轨道相机只需围绕一个焦点旋转,同时始终注视该点。当你移动相机时,焦点会被想象成一个小圆盘:

控制装置
鼠标左键:单击并拖动,围绕焦点旋转。
鼠标中键:单击并拖动可在摄像机的上下矢量形成的平面内移动焦点。移动的距离取决于焦点--如果焦点上有一个物体,您点击它的顶部,它就会停留在您的鼠标下方。
鼠标右键:单击并拖动可放大/缩小焦点。向上拖动放大,向下拖动缩小。
滚轮:放大/缩小焦点
FPS(第一人称)摄像机
FPS 摄像头是第一人称摄像头,因此它的旋转效果就像你在用头观看一样。
控制装置
鼠标左键:点击并拖动旋转。按住 Control 键可选中鼠标下的物体并直接观察。
鼠标中键:点击并拖动,沿着摄像机的上下矢量形成的平面移动。
鼠标右键:单击并拖动可沿着摄像机的前向矢量移动。向上拖动向前移动,向下拖动向后移动。
滚轮:前进/后退。
自顶向下正字法
自上而下的正视摄像机始终沿着 Z 轴(在机器人框架中)向下俯视,是一种正视图,这意味着物体不会随着距离的增加而变小。
控制装置
鼠标左键:单击并拖动可绕 Z 轴旋转。
鼠标中键:单击并拖动摄像机沿 XY 平面移动。
鼠标右键:单击并拖动可缩放图像。
滚轮:缩放图像。
XY 轨道
与轨道相机相同,聚焦点仅限于 XY 平面。
控制装置
参见轨道照相机。
第三人称追随者
摄像机对目标帧保持恒定的视角。与 XY Orbit 相反,如果目标帧偏移,摄像机就会转向。例如,在对有拐角的走廊进行 3D 贴图时,这将非常方便。
控制装置
参见轨道照相机。
自定义视图
通过视图面板还可以创建不同的命名视图,这些视图可以保存并在不同视图之间切换。视图由目标帧、摄像机类型和摄像机姿态组成。单击视图面板上的 "保存 "按钮即可保存视图。

视图包括
查看控制器类型
视图配置(位置、方向等;每种视图控制器类型可能不同。)
目标框架
视图是按用户保存的,而不是保存在配置文件中。
坐标框架
RViz 使用 tf 变换系统将数据从到达时的坐标框架变换到全局参考框架。在可视化工具中,有两个坐标框架需要了解,即目标框架和固定框架。
固定框架
这两个框架中更重要的是固定框架。固定框架是用来表示 世界
框架。这通常是 地图
或 世界
或类似的东西,但也可以是你的里程测量框架。
如果错误地将固定框架设置为机器人的基座,那么机器人所看到的所有物体都会出现在机器人的前方,与机器人的相对位置一致。为了获得正确的结果,固定框架不应相对于世界移动。
如果更改固定框架,当前显示的所有数据将被清除,而不是重新转换。
目标框架
目标帧是摄像机视图的参考帧。例如,如果您的目标帧是地图,您将看到机器人在地图上行驶。如果目标帧是机器人的底座,那么机器人将停留在原地,而其他物体则相对于机器人移动。
工具
展示台的工具栏上有许多工具可供使用。下文将简要介绍这些工具。你可以在帮助 -> 显示帮助面板中找到更多信息。

互动
通过该工具,您可以与可视化环境进行交互。您可以点击对象,然后根据其属性简单地选择它们、移动它们等等。
键盘快捷键 i
移动摄像机
移动摄像机工具是默认工具。选择该工具并在 3D 视图中单击后,视角会根据您在 "移动摄像机 "选项中选择的选项和摄像机类型发生变化。 意见
面板。参见前一节 意见 小组
了解更多信息。
键盘快捷键 m
选择
选择工具允许您选择 3D 视图中显示的项目。它支持单点选择以及单击/拖动框选择。您可以使用 Shift 键添加选区,使用 Ctrl 键删除选区。如果想在选择的同时移动摄像机,而不切换回移动摄像机工具,可以按住 Alt 键。移动 f
键将镜头对准当前选择。


键盘快捷键 s
对焦相机
聚焦摄像机可让您在显像器中选择一个位置。然后,摄像机将通过改变方向而非位置来对焦该点。
键盘快捷键 c
测量
使用测量工具,您可以测量可视化界面中各点之间的距离。激活工具后的第一次点击将设置测量的起点,第二次点击将设置测量的终点。测量得出的距离将显示在 RViz 窗口的底部。但请注意,测量工具仅适用于可视化窗口中实际渲染的对象,无法在空白空间中使用。

键盘快捷键 n
二维姿势估计
通过该工具,您可以设置一个初始姿态,为定位系统播种(发送到 初始提案
ROS 主题)。点击地平面上的某个位置并拖动以选择方向。输出主题可在 工具 属性
面板。

该工具与 导航 一叠
键盘快捷键 p
发布点
通过发布点工具,您可以在可视化窗口中选择一个对象,该工具会根据框架发布该点的坐标。结果会像测量工具一样显示在底部,但也会发布在 点击点
主题。
键盘快捷键 u
时间
在模拟器中运行时,时间面板非常有用,因为它可以让您查看 ROS 时间的流逝情况,以及与之相对的 墙壁 时钟
(又称真实)时间已过。时间面板还可以重置展示台的内部时间状态,从而重置所有显示屏和 tf 的内部数据缓存。

如果不是在模拟中运行,时间面板基本上没有什么用处。在大多数情况下,可以关闭时间面板,您可能根本不会注意到(除了为 rviz 的其他部分增加了一些屏幕空间)。