举例说明一个ROS启动文件
时间: 2024-10-05 17:01:25 浏览: 31
ROS (Robot Operating System) 的启动文件通常是一个名为`main.cpp`或`main.py`的脚本,它负责初始化ROS节点并启动程序的功能。以下是一个简单的Python ROS启动文件示例:
```python
#!/usr/bin/env python
import rospy
from std_msgs.msg import String
# 初始化ROS节点
def start_node():
rospy.init_node('my_node', anonymous=True)
# 创建一个发布者,用于发布字符串消息
publisher = rospy.Publisher('my_topic', String, queue_size=10)
# 设置回调函数处理接收到的消息
def message_listener(msg):
print(f"Received message: {msg.data}")
# 订阅主题,并设置回调
sub = rospy.Subscriber('some_topic', String, message_listener)
# 等待消息循环结束
rospy.spin()
if __name__ == '__main__':
try:
start_node()
except rospy.ROSInterruptException:
pass
```
在这个例子中,`start_node`函数首先初始化了一个名为'my_node'的匿名ROS节点,然后创建了一个发布者和一个订阅者,分别对应'topic1'和'some_topic'。当从'some_topic'接收到消息时,会调用`message_listener`函数来处理。
阅读全文