学习了下ROS,简单总结下。
其他博文见ROS系列
本文记录ROS逻辑视图。
ROS采用分布式设计思想,以节点为单位运行和处理数据。简要思想如上图:
服务器
:物理服务器Node
:运行节点,每个节点是一个可执行文件roscore
: 一种节点- 是ROS系统在本机的信息处理中枢,所有ROS消息都经由本机的
roscore
转发 - 每个物理服务器必须启动并保持其运行
- 是ROS系统在本机的信息处理中枢,所有ROS消息都经由本机的
NodeHandle
:ROS提供的类,节点的句柄,作为服务或话题的载体- ROS通过此类处理不同节点间的交互
- 销毁时自动回收资源
Service
: ROS的一种双向数据传输方式,必须由 NodeHandle 作为载体- Client端:访问服务的一端作为client按规定好的msg格式发送请求
- Server端:接收定义好的msg格式消息,并响应请求
Topic
:ROS提供的一种单身数据传输方式,必须由 NodeHandle 作为载体- 发布端(publisher) :按定义好的msg格式发布消息
- 订阅端(suscriber):接收定义好的msg格式的消息