# 让机器人动起来：从“算出来”到“练出来”

传统控制（基于动力学模型）与强化学习（在仿真中试错）两种运动控制范式的对比，以及 Sim-to-Real 迁移为何是当前最大的工程瓶颈

> 运动控制 · 强化学习 · Sim-to-Real · 四足机器人 · 约 5 分钟 · 07 月 10 日

## 本篇要点

1. 传统控制把机器人运动写成数学方程，在结构化环境中精准可靠，但模型永远无法完美覆盖真实世界的摩擦力、关节柔性、电池电压等不确定性。
2. 强化学习让机器人在仿真中自主探索，靠域随机化（Domain Randomization）应对环境变化，但面临动态平衡（需500Hz控制频率）、Sim-to-Real鸿沟、样本效率三大难题。
3. 2025年的前沿架构是混合的：强化学习策略生成高级动作指令，底层关节控制仍由基于模型的方法执行，兼顾灵活性与实时安全性。

---

前两篇我们聊了莫拉维克悖论——为什么"走路"比"下棋"难得多——以及机器人如何通过传感器融合和SLAM"看懂"周围环境。但看懂只是第一步：**知道"我在哪、周围有什么"之后，机器人怎么决定腿往哪儿迈、用多大的力？**

这个问题比听起来难得多。这篇我们来看两种截然不同的回答：一种是让机器人"算出来"（传统控制），另一种是让机器人"练出来"（强化学习）。以及，为什么从"练"到"用"之间还有一道巨大的鸿沟。

## 算出来：给机器人写一本物理教科书

传统控制的第一反应是：**把机器人的运动写成数学方程。**

想象一个四足机器人。工程师会把它简化成一个"单刚体模型"——忽略腿的细节质量，只考虑躯干的质量、惯性和四条腿末端产生的接触力。然后，根据牛顿第二定律和欧拉方程，写出躯干在三维空间中的加速度与接触力之间的关系：

$$m\ddot{\mathbf{p}} = \sum\mathbf{f}_i + m\mathbf{g}$$

$$\mathbf{I}\dot{\boldsymbol{\omega}} + \boldsymbol{\omega} \times (\mathbf{I}\boldsymbol{\omega}) = \sum(\mathbf{r}_i \times \mathbf{f}_i)$$

有了这个模型，就可以用**模型预测控制（MPC）**来规划未来几十毫秒内的动作：在每个控制周期，MPC在计算机上"快进"模拟，找出一组最优的接触力分配和关节力矩，让机器人跟踪期望的速度和姿态。同时，一个**全身控制器（WBC）**将这些力分配到每个关节，保证不违反摩擦锥、关节限位等物理约束。[1]

这套方法在结构化环境中表现出色——平整地面、固定步态、已知载荷。但问题在于：**物理模型永远是不完美的。** 摩擦力会随地面材质变化，关节的柔性无法精确建模，电池电压下降会影响电机出力——"写死的方程"无法覆盖所有这些不确定性。当机器人需要在碎石堆上奔跑、在湿滑地面上急停、或被突然推一把时，模型与现实的偏差就会累积，直至摔倒。[2]

## 练出来：让机器人"吃一堑长一智"

强化学习的思路完全不同：**不写方程，让机器人自己探索。**

在仿真环境中，一个四足机器人被赋予一个简单的目标——"向前走，越快越好，别摔倒"——和一个奖励函数：前进速度给正奖励，摔倒给负奖励，消耗过大能量也给负奖励。然后，机器人随机地尝试各种动作，神经网络（策略网络）不断调整参数，让奖励越来越高。

这个过程类似于动物学习走路：婴儿不会先学力学方程，他通过无数次摔倒和爬起，让大脑中的神经网络找到"什么动作能保持平衡"的规律。

2024年，MIT的研究团队用强化学习在仿真中训练了一个四足控制器，让Mini Cheetah机器人达到了**3.9米/秒**的奔跑速度——超过了此前所有基于模型控制（MPC）的记录。而且，这个控制器能应对草地、冰面、碎石等多种地形，被人踢一脚也能迅速恢复平衡。[3]

关键秘诀是**域随机化（Domain Randomization）**：在仿真训练中，每次都随机改变地面摩擦力、电机强度、传感器噪声、延迟时间等参数。机器人被训练成"不管环境怎么变都能跑"，而不是"在特定参数下跑"。这样，当它被部署到真实世界时，现实中的各种不确定性对它来说只是"另一种随机化参数"。

## 但"练出来"也有自己的难题

强化学习解决了"模型不精确"的问题，但它带来了三个新问题：

**第一，动态平衡本身就是一道难关。** 四足机器人奔跑时，有一半时间悬空（腾空相），没有任何腿支撑身体。它必须利用躯干的角动量来维持姿态，在落地的一瞬间用正确的腿角度吸收冲击并产生推力。这要求控制频率至少达到**500Hz**（每2毫秒一次）——而目前的VLA大模型（如RT-2）的控制频率只有1–3Hz，差了三个数量级。这就是为什么纯粹靠"大模型"走路的机器人还没有出现：大脑太快，但小脑太慢，控制回路跟不上物理世界的节奏。[4]

**第二，仿真到现实（Sim-to-Real）的鸿沟。** 这是最大的实际问题。一个在仿真中达到99%成功率的策略，部署到真实机器人上，成功率可能骤降到70%甚至更低。[5]

原因很具体：仿真中的"完美"摩擦模型与真实地面不同，仿真中的电机没有延迟和回差，仿真中的传感器没有噪声和漂移，仿真中的碰撞是刚体碰撞但真实物体有变形。这些差异——被统称为"现实鸿沟"——让仿真中学到的动作在真机上走样。[5]

![仿真到真实迁移的工作流程：在Isaac Sim中训练策略，再部署到Boston Dynamics Spot真机](https://developer-blogs.nvidia.com/wp-content/uploads/2024/06/workflow-locomotion-policy-training-framework-isaac-sim-isaac-lab.jpg)

弥合这道鸿沟，主流方法除了前面说的域随机化，还有**系统辨识**（用真实数据校准仿真参数）和**教师-学生蒸馏**（在仿真中给教师模型"特权信息"——如地面的精确摩擦力，再让学生模型只依赖真机可用的传感器信号，模仿教师的行为）。[6]

**第三，安全与样本效率。** 强化学习需要数百万次试错——在仿真中跑几秒就行，但在真机上，摔倒一次就可能损坏硬件。所以"先在仿真中练、再迁移到真机"几乎是唯一可行的路径，但迁移本身成了新的瓶颈。

## 小结：算和练，不是二选一

回到这个问题：让机器人动起来，到底该"算出来"还是"练出来"？

2025年的答案是**两者都要**。最前沿的架构是混合的：强化学习训练的策略生成高级动作指令（比如"下一脚迈到坐标(0.5, 0.3)处"），而底层的关节控制（比如"用多大扭矩才能让脚准确落到那里"）仍然由基于模型的控制方法执行，以保证实时性和安全性。[2]

运动控制是具身智能最"硬"的部分：它没有捷径，不能靠堆数据就解决，必须理解物理、接触和实时性。下一篇，我们进入更具体的实践层面——四足机器人如何学会"翻越障碍"？

## 来源

1. [SVRC: 机器人学习与经典控制——何时使用各自 — 经典控制与机器人学习的对比分析，含混合架构实践指导](https://www.roboticscenter.ai/zh/blog/robot-learning-vs-classical)
2. [How Quadruped and Humanoid Robots Stay Balanced — 腿式机器人平衡控制的完整堆栈分析，含接触建模与控制频率关键性](https://thomasthelliez.com/blog/how-quadruped-and-humanoid-robots-stay-balanced/)
3. [Rapid Locomotion via Reinforcement Learning — MIT Mini Cheetah 用强化学习实现 3.9m/s 奔跑速度](https://agility.csail.mit.edu/)
4. [DeepMind RT-2: New Model Translates Vision and Language into Action — VLA 模型控制频率 1–3Hz 与运动控制需求的差距](https://deepmind.google/blog/rt-2-new-model-translates-vision-and-language-into-action/)
5. [合成数据训练的机器人，为何到真实场景就'翻车'？ — Sim-to-Real 鸿沟的三大根源与行业数据](https://xingyun3d.csdn.net/6a3203a2c4c55d4c9e8faaa4.html)
6. [面向机器人系统的虚实迁移强化学习综述 — 域随机化、系统辨识、教师-学生蒸馏等迁移方法的系统梳理](https://jos.org.cn/html/2024/2/7006.htm)

---

原文：https://pangzhengboyin.com/articles/robot-control-planning-vs-learning-3714e979

> **庞征博引** · 想学的，慢慢都会
>
> 庞征博引是把想学的东西写成连载的 AI 学习工具。说出想学什么，它会先了解你的基础，再把主题写成一篇篇 5–10 分钟能读完的文章；边读边问，接下来学什么跟着你走。这篇就是这样写出来的。
>
> 开始你自己的连载 → https://pangzhengboyin.com
