rospy.Subscriber的语法
时间: 2024-10-10 21:04:51 浏览: 32
`rospy.Subscriber` 是 Robot Operating System (ROS) 的 Python API 中的一个关键组件,它用于从指定的主题(subtopic)订阅数据。其基本语法如下:
```python
subscriber = rospy.Subscriber(topic_name, message_type, callback_function)
```
这里参数解释如下:
1. `topic_name`: 要订阅的主题名,它是 ROS 网络中的节点通过发布/订阅通信的基本单元。
2. `message_type`: 数据类型,通常是一个 ROS 消息类型,如 `std_msgs/String`, `sensor_msgs/Image` 等。这是你需要接收的数据结构。
3. `callback_function`: 回调函数,当接收到主题上发布的消息时,这个函数会被自动调用。回调函数通常接受两个参数,一个是刚刚接收到的消息实例,另一个是发送该消息的最后一个时间戳。
例如,订阅一个字符串类型的消息并打印出来:
```python
def print_message(data):
print(f"Received message: {data.data}")
rospy.init_node('subscriber_node')
subscriber = rospy.Subscriber("my_topic", std_msgs.String, print_message)
rospy.spin() # 阻塞进程直到ROS关闭
```
阅读全文