四足机器人
概述
四足机器人(Quadruped Robot)是当前最成熟的足式机器人形态之一。与双足机器人相比,四足具有天然的静态稳定性(三足以上支撑时重心可保持在支撑多边形内),使其在非结构化地形上的移动更加可靠。近年来,强化学习的引入使四足机器人从只能缓慢行走进化到能完成极限跑酷动作。
为什么选择四足形态
- 稳定性:四条腿提供更大的支撑多边形,天然比双足更稳定
- 负载能力:躯干水平放置,适合搭载传感器和工具
- 地形适应:可跨越沟壑、攀爬斜坡、穿越碎石
- 成熟度:从控制理论到 RL 训练都有成熟的解决方案
步态基础
步态模式
四足机器人的步态由四条腿的相位关系定义。每条腿有两种状态:支撑相(stance) 和 摆动相(swing)。
| 步态 | 接地腿数 | 占空比 | 特点 | 速度 |
|---|---|---|---|---|
| Walk(慢步) | 3 | ~75% | 始终有三足着地,静态稳定 | 最慢 |
| Trot(对角步) | 2 | ~50% | 对角腿同步,最常用步态 | 中等 |
| Pace(同侧步) | 2 | ~50% | 同侧腿同步,侧向摇摆大 | 中等 |
| Bound(跳跃步) | 0-2 | ~30% | 前后腿对同步,有腾空相 | 快 |
| Gallop(奔跑) | 0-3 | ~20-30% | 四腿依次着地,有腾空相 | 最快 |
步态的相位表示:每条腿的摆动起始时刻相对于步态周期 \(T\) 的比例称为相位偏移 \(\phi_i\):
\[
\text{Trot:} \quad \phi = [0, 0.5, 0.5, 0] \quad \text{(左前、右前、左后、右后)}
\]
\[
\text{Walk:} \quad \phi = [0, 0.5, 0.75, 0.25]
\]
中央模式发生器(CPG)
CPG 是一种受生物启发的节律运动生成模型。它通过耦合振荡器网络生成协调的肢体运动模式,无需高层持续指令。
Hopf 振荡器模型:
\[
\dot{x}_i = \alpha(\mu - r_i^2)x_i - \omega_i y_i + \sum_j w_{ij} x_j
\]
\[
\dot{y}_i = \alpha(\mu - r_i^2)y_i + \omega_i x_i + \sum_j w_{ij} y_j
\]
其中:
- \(r_i = \sqrt{x_i^2 + y_i^2}\):振幅
- \(\mu\):控制极限环半径
- \(\omega_i\):角频率,控制步态频率
- \(w_{ij}\):耦合权重,决定腿间相位关系
- \(\alpha\):收敛速率
耦合矩阵用于定义步态模式。以 Trot 为例:
\[
W_{trot} = \begin{bmatrix} 0 & -1 & -1 & 1 \\ -1 & 0 & 1 & -1 \\ -1 & 1 & 0 & -1 \\ 1 & -1 & -1 & 0 \end{bmatrix}
\]
正耦合表示同相位,负耦合表示反相位。
graph TD
subgraph CPG网络
LF[左前腿振荡器] -->|反相| RF[右前腿振荡器]
LF -->|反相| LH[左后腿振荡器]
LF -->|同相| RH[右后腿振荡器]
RF -->|同相| LH
RF -->|反相| RH
LH -->|反相| RH
end
subgraph 输出
LF --> LF_joint[左前关节轨迹]
RF --> RF_joint[右前关节轨迹]
LH --> LH_joint[左后关节轨迹]
RH --> RH_joint[右后关节轨迹]
end
CMD[速度指令] --> LF
CMD --> RF
CMD --> LH
CMD --> RH
稳定性分析
ZMP 与支撑多边形
对于四足机器人,ZMP(零力矩点) 必须位于由着地脚构成的支撑多边形内部,机器人才能保持动态稳定。
\[
\mathbf{p}_{ZMP} = \frac{\sum_i m_i(\ddot{z}_i + g)\mathbf{r}_i - \sum_i m_i \ddot{\mathbf{r}}_i z_i}{\sum_i m_i(\ddot{z}_i + g)}
\]
稳定裕度定义为 ZMP 到支撑多边形边界的最短距离:
\[
SM = \min_{e \in \text{edges}} d(\mathbf{p}_{ZMP}, e)
\]
摆腿轨迹规划
常用贝塞尔曲线或抛物线生成摆腿轨迹,需要满足:
- 抬腿高度足够越障
- 着地速度尽量小(减少冲击)
- 平滑过渡(避免关节速度/加速度突变)
强化学习运动控制
训练流程
graph LR
A[仿真环境<br/>Isaac Gym / MuJoCo] --> B[并行采样<br/>数千个环境实例]
B --> C[策略网络<br/>MLP / GRU]
C --> D[PPO 更新]
D --> B
C --> E[域随机化]
E --> F[Sim-to-Real<br/>部署到真实机器人]
subgraph 奖励设计
R1[速度跟踪]
R2[能量惩罚]
R3[姿态惩罚]
R4[脚部接触模式]
R5[动作平滑性]
end
R1 --> D
R2 --> D
R3 --> D
R4 --> D
R5 --> D
奖励函数设计
典型的四足运动奖励函数:
reward = (
# 正向奖励
w_vel * exp(-||v_actual - v_cmd||^2 / sigma_v) # 速度跟踪
+ w_alive * 1.0 # 存活奖励
# 惩罚项
- w_energy * sum(|tau * dq|) # 能量消耗
- w_torque * sum(tau^2) # 关节力矩
- w_action * sum(|a_t - a_{t-1}|) # 动作平滑
- w_orient * ||euler_body||^2 # 躯干姿态偏差
- w_z * (z_body - z_target)^2 # 身体高度
- w_slip * sum(|v_foot| * f_contact)# 脚底滑动
)
师生蒸馏框架
教师策略:拥有特权信息(精确地形高度图、摩擦系数、外力等),在仿真中达到最优性能。
学生策略:仅使用真实可获取的传感器(IMU、关节编码器、可选的深度相机),通过蒸馏学习教师行为。
\[
\mathcal{L}_{distill} = \mathbb{E}\left[\|{\pi_{student}(o_t) - \pi_{teacher}(o_t, o_t^{priv})}\|^2\right]
\]
地形适应与盲运动
盲运动(Blind Locomotion)
仅依靠本体感知(关节角度、IMU)而不使用任何视觉/深度信息的运动控制。通过足够的域随机化,盲策略可以处理许多地形:
- 中等坡度(< 25度)
- 楼梯(已知大致高度)
- 碎石和不平地面
关键观察:历史信息是盲运动成功的关键。使用 GRU/LSTM 处理观测序列,隐式估计地形特征。
视觉辅助运动
结合深度相机或 LiDAR 的高度图,可处理更极端的地形:
- 跳跃间隙
- 踩踏石
- 高台阶
代表性平台
| 平台 | 开发者 | 重量 | 特点 | 价格/定位 |
|---|---|---|---|---|
| Spot | Boston Dynamics | ~32 kg | 商用级,Spot SDK,模块化载荷 | ~$75K,工业巡检 |
| Go2 | 宇树科技 (Unitree) | ~15 kg | 消费级,带 LiDAR,SDK 开放 | ~$1,600 起 |
| B2 | 宇树科技 (Unitree) | ~60 kg | 工业级,大负载,全地形 | 工业定价 |
| B2-W | 宇树科技 (Unitree) | ~70 kg | 轮腿混合,兼顾效率和越障 | 工业定价 |
| ANYmal | ANYbotics (ETH) | ~50 kg | 工业巡检,RL 运动控制先驱 | 工业定价 |
| Vision 60 | Ghost Robotics | ~51 kg | 军事/安防,IP67 防护 | 国防定价 |
| DR01 | 深圳行者科技 (DeepRobotics) | ~50 kg | 国产四足,工业巡检 | 工业定价 |
| CyberDog 2 | 小米 | ~8.9 kg | 消费级,搭载 NX,开源友好 | ~$3,000 |
Unitree Go2 详解
Go2 是当前性价比最高的四足研发平台:
- 计算平台:Jetson Orin NX(可选)
- 传感器:3D LiDAR、前置深度相机、超广角摄像头
- 续航:约 1-2 小时
- SDK:提供 C++/Python SDK,支持底层关节控制
- 社区:大量开源项目基于 Go2 平台
里程碑成果
ETH "Learning Agile Motor Skills" (2019)
- 首次在真实四足机器人(ANYmal)上展示 RL 学到的敏捷运动
- 执行器网络(actuator network)建模电机动态
- 从仿真直接迁移到真实,无需微调
CMU "Extreme Parkour" (2023)
- 在 Unitree A1 上实现极限跑酷:跳高台、跨间隙、跳跃障碍
- 视觉输入 + RL 策略
- 使用课程学习逐步增加障碍难度
- 展示了 RL 四足运动的上限
ETH "Legged Gym" / NVIDIA Isaac Lab
- 开源的四足/人形 RL 训练框架
- 支持数千个并行仿真环境(GPU 加速)
- 已成为足式机器人 RL 研究的标准基础设施
timeline
title 四足机器人 RL 运动控制关键进展
2017 : ETH ANYmal 首次 Sim-to-Real
2019 : "Learning Agile Motor Skills"<br/>敏捷运动控制
2020 : Legged Gym 开源
2021 : RMA 自适应运动<br/>隐式地形估计
2022 : 盲运动翻越困难地形<br/>师生蒸馏框架
2023 : CMU Extreme Parkour<br/>极限跑酷
2024 : Isaac Lab 发布<br/>统一训练平台
控制架构总览
graph TB
subgraph 高层规划
A[任务目标] --> B[路径规划<br/>A*/RRT]
B --> C[速度指令<br/>vx, vy, yaw_rate]
end
subgraph 中层策略
C --> D{策略类型}
D -->|传统| E[CPG + 模型控制]
D -->|学习| F[RL 策略网络]
E --> G[足端轨迹]
F --> G
end
subgraph 底层控制
G --> H[逆运动学]
H --> I[关节 PD 控制器]
I --> J[电机驱动]
end
subgraph 感知
K[IMU] --> F
L[关节编码器] --> F
M[深度相机] --> F
N[LiDAR] --> B
end
J --> O[四足机器人]
O --> K
O --> L
延伸阅读
- Bellicoso et al., "Dynamic Locomotion Through Online Nonlinear Motion Optimization for Quadrupedal Robots", IEEE RA-L, 2018
- Hwangbo et al., "Learning Agile and Dynamic Motor Skills for Legged Robots", Science Robotics, 2019
- Kumar et al., "RMA: Rapid Motor Adaptation for Legged Robots", RSS, 2021
- Zhuang et al., "Robot Parkour Learning", CoRL, 2023
相关笔记: