机器人学基础与 ROS 2 快速入门

机器人学基础与 ROS 2 入门

机器人 = 感知(传感器)+ 决策(算力与算法)+ 执行(电机与机构)。ROS 2 是把它们粘在一起的“操作系统”。

一、必备数学直觉

  • 坐标变换:机器人在世界坐标中的位置与姿态(欧拉角 / 四元数)
  • 运动学:正运动学算末端位置,逆运动学反推关节角
  • 线代功底:平移旋转矩阵、齐次坐标

二、ROS 2 的核心概念

  • 节点(Node):一个可执行进程
  • 话题(Topic):发布/订阅式通信,一对多、异步
  • 服务(Service):请求/响应式,适合同步调用
  • 参数(Parameter):运行时配置

三、跑通第一个例子

source /opt/ros/humble/setup.bash
ros2 run demo_nodes_cpp talker    # 终端 1:持续发布
ros2 run demo_nodes_cpp listener   # 终端 2:订阅打印

四、写一个自己的发布节点

import rclpy
from rclpy.node import Node
from std_msgs.msg import String

class Talker(Node):
    def __init__(self):
        super().__init__('talker')
        self.pub = self.create_publisher(String, 'chatter', 10)
        self.create_timer(1.0, self.tick)
    def tick(self):
        msg = String(); msg.data = 'hello ros2'
        self.pub.publish(msg)

rclpy.init()
rclpy.spin(Talker())

五、仿真先行

真机调试昂贵且危险,先用 Gazebo 在虚拟环境验证算法,再搬到真机。学会 ROS 2,就拿到了机器人的“驾驶舱”。

评论(6)