首先修改 settings.json 文件
Screenshot from 2022-06-02 21-31-22.png
發(fā)布方實現(xiàn):
#! /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) #此處第二個參數(shù)為發(fā)布消息的類型遂鹊,Person
p = Person() #創(chuàng)建Person類型的消息
p.name = "Lucky_E"
p.age = 1
p.height = 1.73
rate = rospy.Rate(1) #設置發(fā)布頻率
while not rospy.is_shutdown():
pub.publish(p)
rospy.loginfo("姓名為:%s,年齡為:%d,身高為:%.2f",p.name,p.age,p.height)
rate.sleep()
訂閱方實現(xiàn):
#! /usr/bin/env python
import rospy
from ros_pub_sub.msg import Person
def doMsg(p):
rospy.loginfo("接收到的內(nèi)容為:%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 目錄 執(zhí)行 chmod +x *.py
修改CmakeLists.txt 文件
Screenshot from 2022-06-02 21-49-39.png
運行結果如下:
Screenshot from 2022-06-02 21-53-26.png