ROS学习04.ROS中的常用组件( 五 )


ROS针对机器人系统的可视化需求 , 为用户提供了一款显示多种数据的三维可视化平台——rviz 。
rviz是一款三维可视化工具 , 很好地兼容了各种基于ROS软件框架的机器人平台 。在rviz中 , 可以使用XML对机器人、周围物体等任何实物进行尺寸、质量、位置、材质、关节等属性的描述 , 并且在界面中呈现出来 。同时 , rviz还可以通过图形化方式 , 实时显示机器人传感器的信息、机器人的运动状态、周围环境的变化等 。总而言之 , rviz可以帮助开发者实现所有可监测信息的图形化显示 , 开发者也可以在rviz的控制界面下 , 通过按钮、滑动条、数值等方式控制机器人的行为 。
4.4.1 安装并运行rviz
rviz已经集成到桌面完整版的ROS中 , 如果已经成功安装桌面完整版的ROS , 可以直接跳过这一步 。否则 , 使用如下命令安装:
sudo apt-get install ros-melodic-rviz
安装完成后 , 分别在终端运行如下命令 , 启动ROS和rviz平台:
roscorerosrun rviz rviz
启动rviz主界面:
图4-10 rviz的主界面
rviz主界面主要包含以下几个部分:
4.4.2 数据可视化
假设需要可视化的数据以对应的消息类型发布 , 我们在rviz中使用相应的插件订阅该消息即可实现显示 。
添加需要显示数据的插件 。
点击rviz界面左侧下方的“Add”按钮 , rviz会将默认支持的所有数据类型的显示插件罗列出来 。
图4-11 rviz默认支持的显示插件
在上图所示的列表中选择需要的数据类型插件 , 然后在“ Name”文本框中填入一个唯一的名称 , 用来识别显示的数据 。
2. 添加完成后 , rviz左侧的中会列出已经添加的显示插件
点击插件列表前的加号 , 可以打开一个属性列表 , 根据需求设置属性 。一般情况下 , “Topic”属性较为重要 , 用来声明该显示插件所订阅的数据来源 。如果订阅成功 , 在中间的显示区应该会出现可视化后的数据 。
图4-12 点云数据的详情
如果显示有问题 , 请检查属性区域的“”状态 。有四种状态:OK、、Error和 , 如果显示的状态不是OK , 那么请查看错误信息 , 并仔细检查数据发布是否正常 。
图4-13 显示插件的信息 4.4.3 插件扩展机制
rviz是一个三维可视化平台 , 默认可以显示如表4-1所示的通用类型数据 , 其中包含坐标轴、摄像头图像、地图、激光等数据 。
rviz默认支持显示的数据类型详见《ROS机器人开发实际》4.4.3节 。
并且作为一个平台 , rviz支持插件扩展机制 , 为默认显示的数据提供相应的插件 。如果需要添加其他数据的显示 , 也可以通过编写插件的形式进行添加 。我们甚至可以基于rviz打造一款自己的人机交互软件 。
4.5 仿真环境
是一个功能强大的三维物理仿真平台 , 具备强大的物理引擎、高质量的图形渲染、方便的编程与图形接口 , 最重要的还有其具备开源免费的特性 。虽然中的机器人模型与rviz使用的模型相同 , 但是需要在模型中加入机器人和周围环境的物理属性 , 例如质量、摩擦系数、弹性系数等 。机器人的传感器信息也可以通过插件的形式加入仿真环境、以可视化的方式显示 。