
文章插图
接:ROS的几个重要概念:节点、消息、主题、服务
上文主要介绍了ROS的几个重要概念:节点(node)、消息(message)、主题(topic)、服务(service) 。
- 节点(node):独立的计算执行进程;
- 消息(message):信息数据,节点通过消息完成沟通;
- 主题(topic):每个消息都必须发布到相应的主题,通过主题实现ROS计算图网络中的路由转发;
- 服务(service):一种同时使用请求和响应的同步消息交换机制;
1、节点功能包中创建的每个可执行程序在启动加载到系统进程中后,该进程就是一个ROS节点 。
ROS提供的处理节点的工具,用于节点信息、状态、可用性等的查询操作:
- rosnode list:列出当前活动节点
- rosnode info <node_name>:输出指定节点的信息
- rosnode kill <node_name>:结束指定节点
- rosnode ping <node_name>:测试节点的网络连通性
- rosnode cleanup:将无法访问的节点的信息清除
- rosnode machine <host_name>:列出指定计算机上运行的节点
如果整个ROS系统中没有节点管理器,就不会有节点、消息、服务之间的通信 。
节点管理器相关的命令行工具,就是roscre 。
- roscore:启动节点管理器,加载ROS节点管理器和其他ROS核心组件 。

文章插图
2、消息节点通过消息完成彼此的沟通,消息是一个节点发动给其他节点的信息数据 。
ROS提供的获取消息的命令工具:
- rosmsg list:列出所有消息
- rosmsg show <message_type>:显示指定的消息
- rosmsg users <message_type>:搜索使用该消息的代码文件
- rosmsg md5 <message_type>:显示消息的MD5求和结果
- rosmsg package <package_name>:列出功能包的所有消息
通过主题进行消息路由,不需要节点之间直接连接,意味着发布节点和订阅节点之间不需要知道彼此是否存在,保证了发布节点与订阅节点之间的解耦 。
ROS提供的操作主题的命令工具:
- rostopic list:列出当前活动主题
- rostopic info <topic_name>:输出主题的信息
- rostopic echo <topic_name>:显示主题中的消息数据
- rostopic hz <topic_name>:显示主题的发布频率
- rostopic bw <topic_name>:显示主题所使用的带宽
- rostopic type <topic_name>:输出主题发布的消息类型
- rostopic find <message_type>:按照消息类型查找主题

文章插图
4、参数服务器参数服务器(parameter server)能够使数据通过关键词存储在一个系统的核心位置 。通过使用参数,就能够在节点运行时动态配置节点或改变节点的工作任务 。
参数服务器是可通过网络访问的共享的多变量字典,节点使用此服务器来存储和检索运行时的参数 。
ROS中关于参数服务器的命令行工具:
- rosparam list:列出参数服务器中的所有参数;
- rosparam get <param_name>:获取参数值
- rosparam set <param_name> <value>:设定参数值
- rosparam delete <param_name>:从参数服务器删除参数
- rosparam load <file>:将文件中的参数加载到参数服务器
- rosparam dump <file>:将参数服务器中的参数保存到文件
消息记录包是一种用于存储数据的重要机制,它可以帮助记录一些难以收集的传感器数据,然后通过反复回放数据进行算法的性能开发和测试 。
ROS创建的消息记录包文件以*.bag为扩展名,可以播放、停止、后退操作该文件,便于算法调试 。
ROS提供的消息记录包相关的命令行工具:
- rosbag info <bag_file>:显示数据包的信息
- rosbag record <topic_name>:记录指定的topic
- rosbag record -a:记录所有的topic
推荐阅读
- 基于WPF的串口调试工具
- 好茶的存仓条件,普洱茶的储存条件
- 那些前端开发需要掌握的:Vuex基础使用方法
- 喝大麦茶的好处,喝大麦茶坏处
- 菊花茶清新淡雅,薄荷塘古树茶的特点
- 荷叶泡茶的作用有哪些,荷叶泡茶的功效与作用有哪些
- 壶承是做什么用的,茶仓是做什么用的
- 橘皮茶的制作方法,九味资生茶
- 菊花茶和玫瑰茶的区别,荷叶玫瑰菊花茶的做法
- 苹果炒蟹柳的做法
