rospy.Subscriber()的回调函数怎么传出参数
时间: 2023-07-12 11:36:05 浏览: 122
函数参数的传递
在ROS中,rospy.Subscriber()的回调函数可以接收一个参数,这个参数即为该话题发布的消息。在回调函数中,可以通过该参数来获取发布的数据。
例如,以下是一个订阅名为“/my_topic”的话题,并将收到的数据打印出来的示例代码:
```python
import rospy
from std_msgs.msg import String
def callback(data):
rospy.loginfo(rospy.get_caller_id() + "I heard %s", data.data)
def listener():
rospy.init_node('listener', anonymous=True)
rospy.Subscriber("my_topic", String, callback)
rospy.spin()
if __name__ == '__main__':
listener()
```
在上述代码中,回调函数callback接收一个参数data,它是一个String类型的消息。在回调函数中,我们可以通过data.data来获取该消息的具体内容,并将其打印出来。
因此,传递参数的方式是通过回调函数的参数来完成的。
阅读全文