一、安装rviz
rviz是ROS自带的可视化工具,可以展示机器人的运动状态、传感器数据等信息。使用rviz前,需要安装ROSwiki中规定的软件版本。在终端输入以下命令:
sudo apt-get update
sudo apt-get install ros-"$ROS_DISTRO"-rviz
其中 "$ROS_DISTRO" 是你所使用的ROS发行版名称, 如: indigo、kinetic、melodic等。
二、启动rviz
启动rviz前,需要先运行rosmaster:
roscore
然后在新的终端窗口中输入以下命令启动rviz:
rosrun rviz rviz
可以看到一个包含各种控件的窗口在屏幕上打开了。
三、配置rviz
在rviz中,我们需要配置机器人的运动状态和传感器信息的展示。一般来说,配置可以通过以下三种方式进行:
1. 按照模板配置
rviz提供了一些预设的模板,可以通过 File -> Open Config 开启。其中,模板包括RobotModel、PointCloud2、Image等。
2. 配置新机器人模型
首先在终端输入以下命令:
rosrun tf tf_monitor
此命令将检测您的TF树(tf tree),并为您提供其叶子节点。TF是ROS中的一个重要概念,tf tree包含了随时间而变化的所有坐标系,是移动机器人和现场安置传感器的重要链接。 在 rviz 的 Fixed Frame 部分输入tf_monitor输出的基坐标系名称,进行配置。
接着,您需要添加“机器人模型”插件。在rviz窗口中,选择add -> RobotModel。这样就能看到一个模型的3D效果图。如果该模型没有预先定义好,那可以根据robot description参数文件来指定。
3. 配置新插件
如果模板和机器人模型都不能满足您的需要, 我们需要在rviz中手动配置新的插件。
在rviz窗口中,选择add,弹出插件列表。列表中包含了许多rviz自带的插件。选择您需要配置的插件,比如 RobotModel、 LaserScan等等。在配置过程中,rviz会提示你输入相关参数。更多插件使用方式可以参考ROSwiki中rviz的使用方法。
四、rviz快捷键
在rviz中,为了方便使用,提供了许多快捷键。以下是一些常用的快捷键:
- Ctrl + S: 保存配置文件
- Ctrl + O: 打开配置文件
- Ctrl + Q: 关闭rviz
- Ctrl + W: 关闭所有显示工具,除了Fixed Frame和Tool properties
- Ctrl + F: 聚焦在当前屏幕中最近选中的对象上
- Shift + 1: 切换工具栏
- Shift + 2: 切换位置栏
- Shift + 3: 切换模型描述栏
五、rviz插件编写
rviz的插件是ROS插件librviz结构的具体实现,允许用户以RViz的窗口显示自己的ROS消息。如果在rviz中没有找到合适的插件,可以自己编写一个。
一个基本插件包含以下文件:
- CMakeLists.txt: 建立一个库或ROS包,可从catkin中继承
- package.xml: 必需。描述ROS包,依赖及提供的功能等
- plugin_description.xml: 必须的。说明插件的参数
- my_plugin.h: 必须的。包含插件的类声明
- my_plugin.cpp: 必须的。包含插件的类定义
- my_plugin.ui: 可选的。插件的界面说明,在GUI实现某些必需的交互时使用
更多插件编写方式可以参考ROSwiki中rviz_plugin_tutorials教程。
六、rviz和rosbag
rosbag是ROS中常用数据记录和播放工具,可以将广泛的ROS消息记录在磁盘上,并能够在需要时进行回放,rviz可以与ROSbag配合使用。具体步骤如下:
- 启动rosmaster:roscore
- 在新的终端窗口中输入以下命令启动rviz:rosrun rviz rviz
- 用urd里的机器人替代Rviz缺省的Turtlebot。这可以通过在终端输入以下命令简单完成。在执行此命令之前确保Turtlebot软件已经被安装了:roslaunch urdf_tutorial display.launch model:=robots/magni.urdf.xacro
- 在新的终端窗口中,输入以下ROSbag命令并开始保存rosbag数据:rosbag record -a
- 等待记录一些数据,然后按 Ctrl+C 停止
- 使用rviz,可以用各种消息的visulization进行rviz的配置。
- 启动回放模型并播放之前保存的rosbag数据。在新的终端中输入以下命令:rosbag play
结语
rviz是ROS自带的可视化工具,可以为机器人的运动状态、传感器数据等信息做可视化展示。本文介绍了rviz的基本安装、启动、配置、快捷键使用、插件编写和rviz与rosbag的配合使用方法。希望对您使用ROS的工作有所帮助。