ROS重要概念解析
1. 基础信息
1.1 消息格式
ROS中有两种消息格式,TCPROS基于TCP/IP,UDPROS基于UDP。其中,TCPROS在ROS中使用更为频繁。
1.2 构建文件
- CMakeLists.txt :ROS的构建系统Catkin默认使用CMake。每个包文件夹中的
CMakeLists.txt
文件指定了构建环境。 - package.xml :这是一个XML文件,包含了包的相关信息,如包名、作者、许可证以及依赖的包。
2. 消息通信
2.1 通信方式概述
ROS以节点为单位进行开发,节点是可执行程序的最小单元,旨在实现最大程度的可重用性。节点之间通过消息交换数据,共同构成一个大型程序。节点间的消息通信方式主要有以下三种:
- 主题(Topic) :提供单向的消息传输/接收。
- 服务(Service) :提供双向的消息请求/响应。
- 动作(Action) :提供双向的消息目标/结果/反馈。
此外,节点中使用的参数可以从节点外部进行修改,从更广泛的意义上来说,这也可视为一种消息通信。不同通信方式的特点对比见下表:
类型 | 特点 |
---|