ROS是机器人开发的事实标准。从学术研究到工业应用,ROS无处不在。
ROS是什么
ROS不是传统意义的操作系统,而是一套机器人软件框架,提供:进程间通信、硬件抽象、包管理、可视化工具。
核心概念
节点(Node):独立运行的进程,各司其职。话题(Topic):节点间的消息通道,发布/订阅模式。服务(Service):请求/响应模式的通信。消息(Message):结构化数据类型。
ROS2 vs ROS1
ROS2是新一代,改进了:实时性支持、无需roscore、安全机制、跨平台。新项目推荐直接学ROS2(Humble或Iron)。
# ROS2 Python发布者示例
import rclpy
from std_msgs.msg import String
def main():
rclpy.init()
node = rclpy.create_node('publisher')
pub = node.create_publisher(String, 'topic', 10)
msg = String(); msg.data = 'Hello ROS2'
pub.publish(msg)