从创建工作空间开始
因为与c++有点不同,所以这边要单独区分
使用python编写的ros节点可以直接运行,这边的编译是为了让这个新建软件包进入ros软件列表中,以便后面运行节点时ros能在软件包中找到这个软件包,这个编译只运行一次就行
发布方python实现
ros大管家
大管家负责处理发布订阅信息

新建通讯的python文件
功能包下新建目录scripts存放python文件

发布方具体代码

为文件添加可执行权限

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

订阅方代码

相互关系及结果

集成为launch文件

总结
1.总之发布方与订阅方是随时可以向rospy大管家申请的对象,其就像是消息与节点的一个连线,发布与订阅的区别就是连线箭头方向不同,发布方从信息指向节点,而订阅方从节点指向信息
2.其中发布方通过发表对象的publish方法发送具体信息,而发表的信息类型则由发布对象定义时决定,订阅方则通过回调函数对接受的信息处理,并结合发布方发布出去,这个体现了节点与节点之间通讯的机制,即一个节点订阅上一个节点信息,然后再发布到下一个节点。
本文介绍了如何使用Python在ROS(RobotOperatingSystem)环境中创建发布方和订阅方节点,包括创建工作空间、编写python代码、添加可执行权限,以及通过回调函数处理消息和集成到launch文件。重点讲解了发布与订阅的区别和节点间通讯的机制。
1758

被折叠的 条评论
为什么被折叠?



