2022-06-02 ROS通信机制 话题通信 自定义msg Python篇

首先修改 settings.json 文件

Screenshot from 2022-06-02 21-31-22.png

发布方实现:

#! /usr/bin/env python
import rospy
from ros_pub_sub.msg import Person   #从功能包导入 Person

if __name__ == "__main__":
    rospy.init_node("pub")
    pub = rospy.Publisher("chatter",Person,queue_size = 10)  #此处第二个参数为发布消息的类型,Person

    p = Person()  #创建Person类型的消息 

    p.name = "Lucky_E"
    p.age = 1
    p.height = 1.73
  
    rate = rospy.Rate(1)  #设置发布频率

    while not rospy.is_shutdown():
        pub.publish(p)
        rospy.loginfo("姓名为:%s,年龄为:%d,身高为:%.2f",p.name,p.age,p.height)
        rate.sleep()


订阅方实现:

#! /usr/bin/env python

import rospy
from ros_pub_sub.msg import Person

def doMsg(p):
  rospy.loginfo("接收到的内容为:%s,%d,%.2f",p.name,p.age,p.height)

if __name__ == "__main__":
  rospy.init_node("sub")
  sub = rospy.Subscriber("chatter",Person,doMsg,queue_size = 10)
  rospy.spin()

终端下进入 scripts 目录 执行 chmod +x *.py

修改CmakeLists.txt 文件

Screenshot from 2022-06-02 21-49-39.png

运行结果如下:

Screenshot from 2022-06-02 21-53-26.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容