首先修改 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