ROS学习笔记---ros的通信机制
1,ROS的结点和结点管理器
视频的链接:【古月居】古月·ROS入门21讲 | 一学就会的ROS机器人入门教程_哔哩哔哩_bilibili
2,ROS的通信机制
ros通信机制包含两种模式,话题和服务两种方式
RPC是指远程过程调用,也就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据。
2.1 话题通信
可以使用下面的方式理解,两个结点间传输数据的管道叫做话题,传输的数据类型是消息。话题是两个结点之间的一种通信方式,是异步且单向的。一端到另一端称为从发布者到订阅者。消息是要说明话题发的数据类型是什么样的。
如上图黄色部分,相机结点(发布者)发布图像数据(话题),格式RGB图像(消息),订阅者是图像处理结点,就是两个结点的话题是相机发送了一个RGB格式的图像,过程是单向且异步的
话题通信的缺点:
是一种异步通信,订阅者到底有没有拿到数据也不知道,有可能阻塞了拿不到,但是发布者不知道。
2.2服务通信
话题通信可以理解为时写信,服务通信可以理解为是打电话,双向的状态全知
如上面的图中的黄色部分所示:相机结点和图像处理结点,使用服务通信的方式。图像处理结点发送请求,要求图像数据传入,相机收到指令,回复并将图像数据传过去;
客户端(图像处理)提需求,服务端(相机)提供客户需求对应的解决结果,服务是请求一次服务一次。
两者的区别为:
3、ROS中的参数
参数更多是设置一些不变的参数,不适合储存动态变化的参数
4.ROS文件系统的构成
ROS学习笔记---ros的通信机制相关推荐
- ROS学习笔记-多机器人通信(1)-实现两台机器通信
ROS是一个分布式的计算环境.一个正在运行的ROS可以在多个机器人之间分布成几十甚至上百个节点.取决于系统的配置方式,任何节点可能需要随时与任何其他节点进行通信,为实现使用同一个master控制多台机 ...
- ROS学习笔记-ROS订阅和发布节点
一个简单的ROS包,一个发布者,一个订阅者 刚开始学习ROS,参考网上的资料完成了测试节点的编写,记录一下. 个人习惯在home/Develop目录中做开发,于是在Develop目录下面创建了一个RO ...
- ROS学习笔记-ROS语音识别与语音输出[2]
说明:代码部分是基于古月居前辈的例程,在此对胡老师表示感谢!! 语音识别与输出功能框图: main()函数: int main(int argc, char* argv[]) {// 初始化ROSro ...
- ROS学习笔记-ROS语音识别与语音输出[1]
说明:代码部分是基于古月居前辈的例程,在此对胡老师表示感谢!! 语音识别功能框图: 调用过程: roscore rosrun robot_voice iat_publish rostopic pub ...
- ROS学习笔记------ROS机器人系统设计-----基础编程 day 7 2019/3/2 帅某(URDF机器人建模,urdf功能包的建立,urdf相关模型建立代码已经上传)
URDF机器人建模 相关urdf代码链接: https://download.csdn.net/download/weixin_43262513/10990016 1.urdf介绍 URDF(Unif ...
- ROS学习笔记(八): ROS通信架构
ROS学习笔记(八): ROS通信架构 文章目录 01 Node & Master 1.1 Node 1.2 Master 1.3 启动master和node 1.4 rosrun和rosno ...
- ROS学习笔记(1):发布者和订阅者
ROS学习笔记(1):publishers and subscribers 1.ros通信简介 2.C++中的类与对象 3.publishers/subscribers 4.常用指令 1.ros通信简 ...
- ROS学习笔记(一)补充篇 参考创客制造
我将ROS的CPP部分分成7个部分: 1.基础的node param 2.动态调节参数 3.关于TF变换 4.actionlib 5.插件技术 6.movebase 7.nodelet技术 前言 相比 ...
- 随想录(ros学习笔记)
[ 声明:版权所有,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] ros,全称robot operating system.说它是操作系统,其实也不全对,因为它实 ...
- ROS学习笔记基础2(基础知识和ROS架构)
ROS学习笔记1(基础知识和ROS架构) 文章目录 ROS学习笔记1(基础知识和ROS架构) 1. 什么是ROS 2. ROS和其他机器人平台有什么不同 3. ROS架构组成 3.1 文件系统级别 3 ...
最新文章
- Poj2420 A Star not a Tree? 模拟退火算法
- IE 中的一些脚本问题
- NMS(Non-maximum suppression)非极大抑制
- String转为byte[] ,byte[]转为String,byte[]与String的相互转换
- (转)嘉信理财推出全新智能投顾平台
- Android 百度地图搜索框实现,仿百度地图街景实现
- Eclipse超级好看的主题,极力推荐
- 经典Hive-SQL面试题及答案
- Python 全栈打造某宝客微信机器人
- 微信小程序转发到朋友圈
- python3手机版画图软件_Python实现画图软件功能方法详解
- python行与行之间必须对齐_Python中列名及其对应行的对齐
- vue实现导入表格数据【纯前端实现】
- 如何做云班课上的计算机作业,云班课不分组怎么提交作业
- 小程序实现分享朋友圈
- C#执行js中的函数的问题,以sohu邮箱登陆密码js的MD5为例
- 利用Python实现模糊查找
- AT命令的简单介绍和使用
- Excel·VBA按列拆分工作表、工作簿
- 计算机主板i3 i5区别,装机那些事儿之挑选适合自己的CPU;i3/i5/i7的区别
热门文章
- 逻辑强化(03)真假推理 知识练习
- ArcBlock 问答 | 扎实打造影响整个区块链生态的产品
- Browserslist:caniuse-lite is outdated. Please run next command `npm update`
- 我的数学学习回忆录——一个数学爱好者的反思(二)
- bug:Bus error的解决方法(zz)
- php视频边下边播,PHP + NGINX 控制视频文件播放,并防止文件下载
- wordpress调用the_excerpt()不带p标签
- 深入理解JS的delete
- 《动手学习深度学习》第二天
- 学习笔记-Wood‘s anomalies