机器人学综述与主要内容
历史综述
机器人学(Robotics)是一门融合机械工程、电气工程、计算机科学与人工智能的交叉学科。其发展历程可以大致分为三个阶段:
工业机器人时代(1960s-1990s)
- 1961年:Unimate 成为第一台投入工业生产的机器人,在通用汽车的装配线上工作
- 1969年:斯坦福大学 Victor Scheinman 设计了 Stanford Arm,成为电动机器人臂的先驱
- 1970s-1980s:PUMA(Programmable Universal Machine for Assembly)系列机器人广泛应用于制造业
- 特点:固定基座、预编程轨迹、重复性任务(焊接、喷涂、搬运)
- 代表算法:PTP(Point-to-Point)控制、PID调节、轨迹插值
移动机器人时代(1990s-2010s)
- 1997年:NASA 的 Sojourner 火星车成功登陆火星
- 2000s:DARPA Grand Challenge 推动自动驾驶技术发展
- 2004年:iRobot Roomba 开创消费级服务机器人市场
- 2005年:Boston Dynamics 的 BigDog 展示了动态平衡四足行走
- 特点:自主导航、环境感知、动态运动控制
- 关键技术:SLAM、路径规划、视觉里程计
智能机器人时代(2010s-至今)
- 2013年:Boston Dynamics Atlas 展示了人形机器人的高动态运动
- 2016年:AlphaGo 引发 AI 革命,深度学习渗透到机器人各个领域
- 2020s:大模型(LLM)赋能机器人,实现自然语言交互与任务规划
- 特点:学习与自适应、多模态感知、人机协作
- 关键技术:深度强化学习、Sim-to-Real、基础模型(Foundation Models)
非学习方法
虽然机器人学习是如今的研究主流,但在过去几十年的机器人发展历史中,许多机器人系统完全不依赖学习算法就实现了极强的能力。经典方法在可靠性、可解释性和安全性方面仍然具有不可替代的优势。
经典控制理论的重大成就
| 成就 | 核心方法 | 年代 |
|---|---|---|
| 阿波罗11号登月 | 轨迹优化 + 鲁棒控制 | 1969 |
| 火星车自主导航 | 路径规划 + 视觉里程计 | 1997-至今 |
| Boston Dynamics Atlas | 轨迹优化 + MPC + 全身控制 | 2013-至今 |
| 工业机器人焊接 | 逆运动学 + PID控制 | 1970s-至今 |
| 手术机器人 da Vinci | 主从遥操作 + 运动缩放 | 2000-至今 |
经典方法 vs 学习方法
- 经典方法优势:可解释性强、安全保障明确、不需要大量数据、实时性好
- 学习方法优势:适应性强、能处理高维感知、可应对难以建模的场景
- 趋势:两者深度融合——用学习方法处理感知与高层决策,用经典方法保障底层安全
Kinematics(运动学)
运动学研究机器人关节运动与末端执行器位姿之间的几何关系,不考虑力和力矩。
正运动学(Forward Kinematics)
给定所有关节角度 \(\mathbf{q} = [q_1, q_2, \ldots, q_n]^T\),求末端执行器的位姿 \(\mathbf{T}_{0n}\)。
DH参数法(Denavit-Hartenberg Convention):
每个关节由4个参数描述:
| 参数 | 含义 |
|---|---|
| \(\theta_i\) | 关节角(绕 \(z_{i-1}\) 轴旋转) |
| \(d_i\) | 连杆偏移(沿 \(z_{i-1}\) 轴平移) |
| \(a_i\) | 连杆长度(沿 \(x_i\) 轴平移) |
| \(\alpha_i\) | 连杆扭转角(绕 \(x_i\) 轴旋转) |
每个关节的齐次变换矩阵:
正运动学的总变换:\(T_{0n} = A_1 A_2 \cdots A_n\)
逆运动学(Inverse Kinematics)
给定末端执行器的目标位姿 \(\mathbf{T}_{target}\),求关节角度 \(\mathbf{q}\)。这是一个从任务空间到关节空间的映射,通常比正运动学困难得多。
解析法(Analytical/Closed-Form):
- 适用于特殊结构(如 6-DOF 带球形手腕的机械臂)
- 利用几何关系和代数方程直接求解
- 优点:速度快、精度高
- 缺点:只适用于特定构型
数值法(Numerical Methods):
- 雅可比迭代法:利用雅可比矩阵 \(J(\mathbf{q})\) 建立关节速度与末端速度的关系
通过迭代 \(\Delta \mathbf{q} = J^{\dagger} \Delta \mathbf{x}\) 逼近目标(\(J^{\dagger}\) 为伪逆)
- CCD(Cyclic Coordinate Descent):逐关节优化,常用于动画和游戏
- FABRIK(Forward And Backward Reaching Inverse Kinematics):基于几何启发的高效算法
Dynamics(动力学)
动力学研究力/力矩与运动之间的关系,是机器人控制的核心基础。
拉格朗日方程(Lagrangian Formulation)
基于能量方法,定义拉格朗日量 \(L = T - V\)(动能 - 势能):
整理为标准形式:
其中:
- \(M(\mathbf{q})\):质量/惯性矩阵(正定对称)
- \(C(\mathbf{q}, \dot{\mathbf{q}})\):科里奥利力和离心力矩阵
- \(G(\mathbf{q})\):重力项
- \(\boldsymbol{\tau}\):关节力矩向量
牛顿-欧拉方程(Newton-Euler Formulation)
基于力/力矩平衡的递推方法,计算效率为 \(O(n)\)(n 为关节数):
- 正向递推(从基座到末端):计算每个连杆的速度、加速度
- 反向递推(从末端到基座):计算每个关节的力和力矩
相比拉格朗日方法,牛顿-欧拉方法在实时控制中更常用,因为计算复杂度低。
动力学仿真
常用的机器人动力学仿真器:
| 仿真器 | 特点 | 适用场景 |
|---|---|---|
| MuJoCo | 高效接触动力学、GPU加速 | RL训练、灵巧操作 |
| PyBullet | 开源免费、易于上手 | 快速原型验证 |
| Isaac Sim | NVIDIA GPU加速、逼真渲染 | Sim-to-Real |
| Gazebo | ROS集成、社区活跃 | 移动机器人 |
| Drake | 优化为核心、数学严谨 | 操作规划 |
Perception(感知)
SLAM(Simultaneous Localization and Mapping)
SLAM 是移动机器人的核心问题:在未知环境中,同时构建地图并定位自身。
EKF-SLAM(扩展卡尔曼滤波 SLAM):
- 将机器人位姿和所有路标位置合并为一个大状态向量
- 使用 EKF 进行预测和更新
- 缺点:计算复杂度 \(O(n^2)\)(n 为路标数),不适合大规模环境
- 状态向量:\(\mathbf{x}_t = [\mathbf{r}_t, \mathbf{m}_1, \mathbf{m}_2, \ldots, \mathbf{m}_n]^T\)
FastSLAM(粒子滤波 SLAM):
- 使用粒子滤波估计机器人轨迹
- 每个粒子维护独立的路标地图(EKF)
- 利用 Rao-Blackwellization 分解,降低复杂度
- FastSLAM 2.0 在提议分布中加入最新观测,提高效率
视觉 SLAM:ORB-SLAM、LSD-SLAM、VINS-Mono 等
视觉里程计(Visual Odometry)
通过连续图像帧之间的特征匹配,估计相机(机器人)的运动:
- 特征提取(ORB, SIFT, SuperPoint)
- 特征匹配
- 运动估计(本质矩阵 / PnP)
- 局部优化(Bundle Adjustment)
点云处理
- 3D点云配准:ICP(Iterative Closest Point)算法
- 点云分割:PointNet / PointNet++ 等深度学习方法
- 3D目标检测:VoxelNet、PointPillars
- 传感器融合:激光雷达 + 相机的多模态融合
Control(控制)
PID 控制
最经典的反馈控制方法:
- P(比例):当前误差
- I(积分):累积误差(消除稳态误差)
- D(微分):误差变化率(预测趋势、抑制振荡)
调参方法:Ziegler-Nichols法、试凑法、自动调参
LQR(线性二次调节器)
对于线性系统 \(\dot{\mathbf{x}} = A\mathbf{x} + B\mathbf{u}\),最小化二次代价函数:
最优控制律为 \(\mathbf{u} = -K\mathbf{x}\),其中 \(K = R^{-1}B^T P\),\(P\) 由 Riccati 方程求解。
- Q 矩阵:状态偏差的惩罚权重
- R 矩阵:控制量的惩罚权重
- LQR 提供了最优的线性状态反馈控制
MPC(模型预测控制)
MPC 在每个时间步求解有限时域的最优控制问题:
核心优势:
- 自然处理约束(关节限位、力矩限制、障碍物回避)
- 可以处理非线性系统
- 滚动时域优化,具有一定鲁棒性
常用求解器:OSQP、IPOPT、acados、CasADi
Planning(规划)
路径规划
| 算法 | 类型 | 特点 |
|---|---|---|
| A* | 图搜索 | 最优性保证、需要离散化 |
| D / D Lite | 增量搜索 | 适合动态环境、可重规划 |
| PRM | 采样 | 多查询高效、预处理阶段耗时 |
| RRT | 采样 | 单查询高效、高维空间友好 |
| RRT* | 采样 | 渐近最优、收敛较慢 |
轨迹优化
轨迹优化在满足动力学和约束条件下,生成平滑的运动轨迹:
- CHOMP(Covariant Hamiltonian Optimization for Motion Planning):基于梯度的轨迹优化,利用代价函数的协变梯度
- STOMP(Stochastic Trajectory Optimization for Motion Planning):无需梯度,通过随机采样探索轨迹空间
- TrajOpt:基于序列凸优化(Sequential Convex Optimization)
- iLQR / DDP:基于动力学模型的迭代优化方法
与 AI 规划的交叉
交叉引用
机器人规划与 AI 规划有密切联系。关于 AI 中的搜索算法、启发式方法和决策规划,请参阅:
- 经典 AI 搜索算法(A*、蒙特卡洛树搜索)
- 强化学习中的规划(Model-Based RL、MCTS)
- 大模型赋能的任务规划(SayCan、Code as Policies)
现代机器人规划越来越多地结合学习方法:
- 运动基元学习(Movement Primitives):DMP、ProMP
- 学习型代价函数:通过示范学习或逆强化学习获取规划的代价函数
- 端到端规划:直接从感知到动作的神经网络规划器
- LLM + 规划:利用大语言模型进行高层任务分解,底层仍使用经典运动规划
参考资料
- Siciliano et al., Robotics: Modelling, Planning and Control, Springer
- Lynch & Park, Modern Robotics: Mechanics, Planning, and Control, Cambridge University Press
- Thrun, Burgard & Fox, Probabilistic Robotics, MIT Press
- LaValle, Planning Algorithms, Cambridge University Press