rospy.init_node('listener', anonymous=True) rospy.Subscriber("chatter", String, callback) rospy.spin()添加注释
时间: 2024-03-26 10:42:24 浏览: 106
dom-event-handler:通用DOM事件处理程序,为类方法实现EventListener接口
```
# 初始化ROS节点,节点名为'listener',anonymous=True指定节点名后加上一个随机数
rospy.init_node('listener', anonymous=True)
# 订阅名为'chatter'的主题,消息类型为String,当有消息发布到该主题时,调用回调函数callback
rospy.Subscriber("chatter", String, callback)
# 进入循环,保持节点的运行
rospy.spin()
```
这段代码使用了ROS的Python客户端库rospy,用于编写ROS节点的Python程序。其中,通过`rospy.init_node()`函数初始化ROS节点,并指定节点名。anonymous=True的设置可以让ROS为节点名称添加唯一的后缀,以避免多个同名节点之间的冲突。
接下来,使用`rospy.Subscriber()`函数订阅一个名为“chatter”的主题,主题的消息类型为String。当有新的消息发布到该主题时,会调用名为“callback”的回调函数。回调函数通常用于处理接收到的消息。这段代码中,回调函数名为callback,需要自定义实现。
最后,使用`rospy.spin()`函数来保持节点的运行,该函数将进入一个无限循环,等待回调函数被调用。当有新的消息到来时,回调函数将被调用执行。
阅读全文