其中clients文件夹一共有127个文件,看来是最大的包了。
现在我们来到了ROS最核心的地带。
客户端这个名词出现的有些突然,一个机器人操作系统里为什么需要客户端。
原因是,节点与主节点master之间的关系是client/server,这时每个节点都是一个客户端(client),而master自然就是服务器端(server)。
那客户端库(client libraries)是干什么的?就是为实现节点之间通信的。
虽然整个文件夹中包含的文件众多,但是我们如果按照一定的脉络来分析就不会眼花缭乱。
节点之间最主要的通信方式就是基于消息的。为了实现这个目的,需要三个步骤,如下。
弄明白这三个步骤就明白ROS的工作方式了。这三个步骤看起来是比较合乎逻辑的,并不奇怪。
消息的发布者和订阅者(即消息的接收方)建立连接;
发布者向话题发布消息,订阅者在话题上接收消息,将消息保存在回调函数队列中;
调用回调函数队列中的回调函数处理消息。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
通信
+关注
关注
18文章
5938浏览量
135748 -
客户端
+关注
关注
1文章
288浏览量
16637 -
ROS
+关注
关注
1文章
276浏览量
16930
发布评论请先 登录
相关推荐
在Android中使用ROS
由于ROS提供了Android的对应的开发库,我们可以方便的在Android中开发相应的ROS客户端程序。下面介绍一下在Android中使用ROS
发表于 05-16 19:16
超详细 ROS安装教程
:ROS Kinetic Kame博主分别用过 Indigo 和 Kinetic,其实在使用过程中差距并不大,除了极少数第三方库,只支持 Indigo版本,毕竟 Kinetic 刚刚发布,存在一些
发表于 05-16 19:35
ROS与STM32是如何进行通信的
角速度、实际线速度STM32端ROS端之前运行的ROS项目都是在终端编译,用vim或者gedit修改代码,很不方便,函数跳转查看都没办法实现。所以今天先安装一个IDE试试
发表于 08-11 07:25
做ROS与树莓派进行通信
成了两个类而已。asio_server类运行于树莓派上作为服务器,asio_client运行于PC上作为客户端。刚开始写的代码仅仅是客户端发送,服务器端接收这么简单。但后来一想,树莓派不是还要返回数据给R...
发表于 09-06 07:26
什么是ROS?ROS产生、发展和壮大的原因和意义
机器人操作系统(ROS)入门(嵌入式系统应用开发)一、ROS 基本问题1. 什么是 ROS2. ROS 产生、发展和壮大的原因和意义二、安装 ROS
发表于 12-17 06:08
怎样通过ROS Arduino程序去点亮LED灯呢
roscore:然后,运行rosserial客户端应用程序, 其中为你安装rosserial的工作空间,确保使用正确的串口:最后,你可以使用rostopic转换你的LEd状态。原作者:liuyu-419812
发表于 07-07 10:43
基于FreeRTOS的micro(微型)ROS
。 一、关于ROS ROS:Robot Operating System,,即机器人操作系统。 和普通OS不一样的是,ROS主要是针对机器人,是基于操作系统之上,提供一系列程序库和工具
ROS与STM32通信
角速度、实际线速度STM32端ROS端之前运行的ROS项目都是在终端编译,用vim或者gedit修改代码,很不方便,函数跳转查看都没办法实现。所以今天先安装一个IDE试试
发表于 12-24 19:00
•11次下载
深度解析开源无人机ROS开发方案
rospy 是 ROS 的纯 Python 客户端库。rospy 客户端 API 使 Python 程序员能够快速与 ROS主题、服务和参数
发表于 07-08 17:02
•2590次阅读
ROS的扩展有哪些方法
也是毫不夸张的。 ROS的扩展即ROS universe,是全球范围的代码,有不同国家的ROS社区组织开发和维护。 有的是库代码,如OpenCV、PCL等;
ros的基本概念是什么
基本概念: ROS是一个用于在不同进程间匿名的发布、订阅、传递信息的中间件。 ROS2系统的核心部分是ROS网络(ROS Graph)。 ROS
评论