课程进度 44% · 第6/12章第6/12章 · 标签 1/4
— 1 —
ROS基础
ROS(Robot Operating System)是开源的机器人操作系统框架,提供分布式通信、硬件抽象、设备驱动、工具库等功能。ROS采用节点-话题-服务的通信架构。
通信机制
- 话题(Topic):异步发布/订阅通信
- 服务(Service):同步请求/响应通信
- 动作(Action):带反馈的长时间任务
— 2 —
ROS2发布节点
python
1
# ROS2发布节点示例
2
import rclpy
3
from rclpy.node import Node
4
from std_msgs.msg import String
5
6
class Talker(Node):
7
def __init__(self):
8
super().__init__('talker')
9
self.pub = self.create_publisher(String, 'topic', 10)
10
self.timer = self.create_timer(0.5, self.callback)
11
def callback(self):
12
msg = String()
13
msg.data = 'Hello ROS2'
14
self.pub.publish(msg)
15
16
rclpy.init()
17
rclpy.spin(Talker())
18
rclpy.shutdown()