《 无人驾驶原理与实践》一2.8ROS Action

举报
华章计算机 发表于 2019/06/02 20:27:39 2019/06/02
【摘要】 本书摘自《 无人驾驶原理与实践》一书中的第二章,第2.8节,编著是申泽邦 雍宾宾 周庆国 李良 李冠憬

2.8ROS Action

       ROS中还有一种通信机制,叫作动作(Action),与服务类似,但它提供了更多的操作,包括客户端主动取消(Cancel)服务器的任务等,服务器在处理过程中实时反馈信息(Feedback)。类似于服务,动作也往往被定义在以action为后缀的文件中,文件格式为“Goal(目标),分割线,Result(结果),分割线,Feedback(反馈)”。实际上,从ROS内部实现来看,ROS中的动作就是通过一组话题来实现的。图211展示了Action机制的内容。

image.png

2.9ROS中的常用工具

       前文使用了一些ROS自带的工具(包括rqt_graph和Rviz),本节将具体介绍ROS中常用的工具,包括Rviz、rqt、TF坐标转换系统、URDF和SDF。

2.9.1Rviz

       作为ROS中的3D可视化工具,Rviz通过订阅当前的话题(如图像、点云等)将话题上的消息可视化。如果无人车/机器人包含多个摄像头,并能提供多个摄像头图像输入显示,在Rviz中,通过添加显示插件(Display Plugin)即能够可视化我们想要显示的信息。Rviz中自带的显示插件如图212所示。

image.png

       通过Display栏下的Add按钮即可添加显示插件,既可以按照类型添加,也可以通过当前主题中的消息类型添加。在完成显示插件配置之后,可以通过保存Rviz的配置文件,使得下一次打开Rviz时不必再次手动添加。除了自带的显示插件以外,还可以自定义以及扩展Rviz显示插件。使用rosrun rviz rviz可启动Rviz,也可以将该节点写到launch文件中以启动。

2.9.2rqt

ROS的rqt是一个基于Qt开发框架的工具,包含了大量的绘制组件和调试工具,可通过rosrun rqt_gui rqt_gui来启动rqt的用户界面。如图213所示,rqt本身已经包含了非常多的调试工具,但仍然可以自定义和扩展rqt插件。

image.png

       rqt中常用的插件包括rqt_image_view(显示图像)、rqt_multiplot(绘制二维图)、rqt_graph(显示当前ROS的Node图)、rqt_console(显示ROS终端调试打印消息)、rqt_bag(对rosbag文件进行图形化播放控制)等。还可以通过rqt工具查看Topic的内容和数据,甚至在rqt里运行Rviz。这些工具的使用方法都非常简单,在此不赘述,有兴趣的读者可以自行查看rqt工具包。rqt工具集合见图214。

image.png

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。