ROS是如何设计的 ROS客户端库

描述

实现通信的代码在ros_comm包中,如下。

其中clients文件夹一共有127个文件,看来是最大的包了。

现在我们来到了ROS最核心的地带。

通信

通信

客户端这个名词出现的有些突然,一个机器人操作系统里为什么需要客户端。

原因是,节点与主节点master之间的关系是client/server,这时每个节点都是一个客户端(client),而master自然就是服务器端(server)。

那客户端库(client libraries)是干什么的?就是为实现节点之间通信的。

虽然整个文件夹中包含的文件众多,但是我们如果按照一定的脉络来分析就不会眼花缭乱。

节点之间最主要的通信方式就是基于消息的。为了实现这个目的,需要三个步骤,如下。

弄明白这三个步骤就明白ROS的工作方式了。这三个步骤看起来是比较合乎逻辑的,并不奇怪。

消息的发布者和订阅者(即消息的接收方)建立连接;

发布者向话题发布消息,订阅者在话题上接收消息,将消息保存在回调函数队列中;

调用回调函数队列中的回调函数处理消息。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分