ros再学习之话题通讯

从创建工作空间开始

因为与c++有点不同,所以这边要单独区分在这里插入图片描述
使用python编写的ros节点可以直接运行,这边的编译是为了让这个新建软件包进入ros软件列表中,以便后面运行节点时ros能在软件包中找到这个软件包,这个编译只运行一次就行

发布方python实现

ros大管家

大管家负责处理发布订阅信息
在这里插入图片描述

新建通讯的python文件

功能包下新建目录scripts存放python文件
在这里插入图片描述

发布方具体代码

在这里插入图片描述

为文件添加可执行权限

在这里插入图片描述

订阅方实现

1. 主要这里回调函数可以自己定义,并且回调函数可以接受信息,
2.rospy.spin()函数允许节点在没有显式循环的情况下保持活动状态,并在等待消息到达时响应它们。它会阻塞当前线程,直到节点被关闭。
3.这里的发布订阅方其实就是一个一个节点,是一个节点像另外一个节点通信

在这里插入图片描述

订阅方代码

在这里插入图片描述

相互关系及结果

在这里插入图片描述

集成为launch文件

在这里插入图片描述

总结

1.总之发布方与订阅方是随时可以向rospy大管家申请的对象,其就像是消息与节点的一个连线,发布与订阅的区别就是连线箭头方向不同,发布方从信息指向节点,而订阅方从节点指向信息
2.其中发布方通过发表对象的publish方法发送具体信息,而发表的信息类型则由发布对象定义时决定,订阅方则通过回调函数对接受的信息处理,并结合发布方发布出去,这个体现了节点与节点之间通讯的机制,即一个节点订阅上一个节点信息,然后再发布到下一个节点。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值