ros publish node by python/用Python编写一个简单的ROS消息发布节点

本文介绍了一个名为Talker的ROS节点实现方式,该节点通过发布消息到名为chatter的话题上来进行工作。文章详细展示了Talker节点的代码实现,并解释了其中关键部分的功能,包括消息类型设置、发布频率控制等。
摘要由CSDN通过智能技术生成
以下是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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值