更新!整理出《ROS机器人编程》第六章ppt讲义版配套培训视频(划到最下端),请对照书籍P128-147页学习。
【说明】除了第5章介绍的输入型命令外,还有各种其他工具可以帮助用户使用ROS。应该指出,这些GUI工具是对输入型命令工具的补充。如果包括ROS用户个人发布的工具,那么 ROS工具的数量很庞大。其中,本章讨论的工具是对于ROS编程非常有用的辅助工具。
【说明】RViz是ROS的三维可视化工具。它的主要目的是以三维方式显示ROS消息,可以将数据进行可视化表达。例如,可以无需编程就能表达激光测距仪(LRF)传感器中的传感器到障碍物的距离,RealSense、Kinect或Xtion等三维距离传感器的点云数据(PCD, Point Cloud Data),从相机获取的图像值等。
另外,利用用户指定的多边形(polygon)支持各种表现形式,交互标记 (Interactive Markers)可以表达接收来自用户节点的命令和数据并互交的过程。在 ROS中,机器人以URDF(Unified Robot Description Format,统一机器人描述格式)描述,它可以表示为三维模型,并且每个模型可以根据自由度进行移动或驱动,因此可以用于仿真或控制。
【说明】从Kinect获取人的骨骼后控制机器人的画面
【说明】从Intel RealSense获取的距离、红外线数据、颜色图像值
【说明】1、3D视图(3D view): 指屏幕的黑色部分。它是可以用三维方式查看各种数据的主屏幕。3D视图的背景颜色、固定框架、网格等可以在左侧显示的全局选项(Global Options)和网格(Grid)项目中进行详细设置。
2、显示屏(Displays): 左侧的显示屏是从各种话题当中选择用户所需的数据的视图的区域。如果单击屏幕左下方的[Add],选择屏幕将如上图所示。目前有大约30种不同的显示屏可供选择,我们将在下面的描述中详细介绍。
3、菜单(Menu): 菜单位于顶部。用户可以选择保存或读取显示屏状态的命令,还可以选择各种面板。
4、工具(Tools): 工具是位于菜单下方的按钮,允许用户用各种功能按键选择多种功能的工具,例如 Interact、Move Camera、Select,Focus Camera、Measure、2D Pose Estimate、2D Navigation Goal 以及Publish Point等。
5、视图(Views): 设定三维视图的视点
6、时间(Time): 显示当前时刻(wall time)、ROS Time以及他们各自经过的时间。这主要用于仿真,如果需要重新启动,请点击底部的[Reset]按钮。
【说明】使用RViz的过程中最常用的菜单应该是显示屏菜单。该显示屏菜单用于选择三维视图(3D View)画面所显示的信息,各项目的说明请参照上表。
【说明】除了三维可视化工具RViz之外,ROS还为机器人开发提供各种GUI工具。例如,有一 个将每个节点的层次结构显示为图形,且显示当前节点和话题状态的graph;将消息显示为二维图形的plot,等。从ROS Fuerte版本开始,这些GUI开发工具被称为rqt,它集成了30多种工具,可以作为一个综合的GUI工具来使用。另外,RViz也被集成到rqt的插件中,这使rqt成为ROS的一个不可缺少的GUI工具。
另外,顾名思义,rqt是基于Qt开发的,而Qt是一个广泛用于计算机编程的GUI编程的跨平台框架,用户可以方便自由地添加和开发插件。本节介绍rqt插件中的rqt_image_ view、rqt_graph、rqt_plot和rqt_bag。
【说明】以上解释了如何安装和使用rqt工具。尽管我们没有描述本节中的所有插件,但我们建 议读者尝试一下这里举的几个例子。它并不像ROS节点一样直接处理机器人或传感器,但 是可以用作帮助进行数据的存储、修改和分析的辅助工具。
原创声明:本篇文档为原创文档。欢迎转发转载引用,请注明出处。
喜欢本文请关注微信公众号“京天机器人”
Donghu Robot Laboratory, 2nd Floor, Baogu Innovation and Entrepreneurship Center,Wuhan City,Hubei Province,China
Tel:027-87522899,027-87522877