以下是talker.py脚本内容,功能是发布一个名为talker的节点(node)到名为chatter话题(topic)上: 1 #!/usr/bin/env python 2 # license removed for brevity 3 import rospy 4 from std_msgs.msg import String 5 6 def talker(): 7 pub = rospy.Publisher('chatter', String, queue_size=10) # chatter是topic的名称,string是消息类型,queue_size是为了防止subscriber的接受速度跟不上publisher的发布速度而限制消息排队数量 8 rospy.init_node('talker', anonymous=True)#初始化节点,名为talker,anonymous=True确保在节点talker后面加上一个数字,其名称是唯一的 9 rate = rospy.Rate(10) # 发布消息的频率为10hz 10 while not rospy.is_shutdown():#发布节点的模板代码,在ros窗口没有被controlC或关闭掉时,执行以下: 11 hello_str = "hello world %s" % rospy.get_time()#消息名和消息内容 12 rospy.loginfo(hello_str)#将消息写入log并调用rosout函数输出 13 pub.publish(hello_str)#发布消息 14 rate.sleep()#在不需要发布的时候休眠,从而满足所需要的发布频率 15 16 if __name__ == '__main__':#执行talker函数,除非ros中断 17 try: 18 talker() 19 except rospy.ROSInterruptException: 20 pass
ros publish node by python/用Python编写一个简单的ROS消息发布节点
最新推荐文章于 2024-09-12 23:34:09 发布
本文介绍了一个名为Talker的ROS节点实现方式,该节点通过发布消息到名为chatter的话题上来进行工作。文章详细展示了Talker节点的代码实现,并解释了其中关键部分的功能,包括消息类型设置、发布频率控制等。
摘要由CSDN通过智能技术生成