主题
(一)从强化学习说起
1 名词认识
| 术语 | 定义说明 |
|---|---|
| 智能体(Agent) | 决策与学习的主体,负责感知环境状态、执行动作并优化策略 |
| 环境(Environment) | 智能体所处的交互场景,接收动作并反馈状态与奖励 |
| 状态(State, S) | 环境的实时刻画,是智能体决策的输入依据 |
| 动作(Action, A) | 智能体在特定状态下可执行的决策集合 |
| 奖励(Reward, R) | 环境对动作的反馈信号,分为正奖励(符合目标)与负奖励(偏离目标) |
| 策略(Policy, π) | 智能体的决策规则,定义状态到动作的映射关系(确定性/概率性) |
| 值函数(Value Function) | 量化状态/动作的长期价值,为策略优化提供依据 |
| 马尔可夫决策过程(MDP) | 强化学习的核心建模框架,满足马尔可夫性(未来状态仅依赖当前状态) |
2 核心流程
- 状态感知:智能体通过传感器或接口获取当前环境状态$s_t$($t$为时刻),明确决策的基础输入;
- 动作选择:基于当前策略π,从动作空间A中选择动作$a_t$(确定性策略直接输出动作,概率性策略输出动作分布);
- 环境反馈:动作$a_t$作用于环境后,环境转移至新状态$s_{t+1}$,并返回即时奖励$r_{t+1}$;
- 策略更新:智能体利用($s_t$, $a_t$, $r_{t+1}$, $s_{t+1}$)四元组信息,通过值函数估计或策略梯度等方法更新策略参数,优化决策逻辑;
- 终止判断:若$s_{t+1}$为终止状态(如任务完成、失败),则结束当前轨迹并重启交互;否则重复步骤1-4,持续迭代。
为实现长期收益最大化,需定义累积回报(Return, $G_t$),表示从时刻t开始的所有未来奖励的加权和,公式如下:
$$G_t = R_{t+1} + \gamma R_{t+2} + \gamma^2 R_{t+3} + ... = \sum_{k=0}^{\infty} \gamma^k R_{t+k+1}$$
其中,γ为折扣因子(0<γ≤1),核心作用是调节未来奖励的重要性:
- γ→1时:智能体高度重视长期奖励,适合需要长期规划的场景(如资源调度);
- γ→0时:智能体更关注即时奖励,适合短期决策场景(如简单机械控制)。
3 价值函数
状态价值函数:在状态s下,遵循策略π时的期望累积回报,公式为
$$V^\pi(s) = \mathbb{E}_\pi(G_t | S_t = s)$$
对应的贝尔曼期望方程(递归形式):
$$V^\pi(s) = \sum_a \pi(a|s) \sum_{s'} P(s'|s,a)(R(s,a,s') + \gamma V^\pi(s'))$$
含义:当前状态的价值 = 所有可能动作的期望价值之和,每个动作的价值包含即时奖励和下一状态的折扣价值。
动作价值函数:在状态s下执行动作a后,遵循策略π的期望累积回报,公式为:
$$Q^\pi(s,a) = \mathbb{E}_\pi(G_t | S_t = s, A_t = a)$$
对应的贝尔曼期望方程:
$Q^\pi(s,a) = \sum_{s'} P(s'|s,a)(R(s,a,s') + \gamma \sum_{a'} \pi(a'|s')Q^\pi(s',a'))$
状态价值函数是动作价值函数的期望,即
$V^π(s) = ∑_a π(a|s)Q^π(s,a)$。
(二)机器人控制的发展
1 Model-Based
在深度学习介入之前,控制是一门基于物理和优化的严谨学科。其核心逻辑是:**只要我对物理世界的描述足够准确,我就能计算出完美的控制量。**早期的控制策略通常将机器人的每个关节视为独立的系统。PID 控制通过误差反馈(比例、积分、微分)将关节维持在目标角度。这种方法忽略了多关节之间的动力学耦合。例如,四足机器人在挥腿时,髋关节的运动会产生离心力影响膝关节,简单的 PID 无法处理这种全身性的动态平衡。
为了解决耦合问题,WBC 应运而生。它引入了浮动基座动力学(Floating Base Dynamics)。通过构建动力学方程,WBC 可以在满足接触力约束的前提下,统一计算所有关节的扭矩。利用二次规划(QP),WBC 可以给任务排优先级:保证不摔倒 > 躯干姿态 > 摆动腿轨迹。
MPC是经典控制的巅峰,也是 MIT Cheetah 系列的核心算法。WBC 只关注当下,而 MPC 关注“未来”。它通常使用简化模型,预测未来 0.5 秒内的状态变化,从而计算出最优的足端反力。但是,MPC 高度依赖模型的准确性。一旦环境参数发生突变且超出模型的鲁棒性范围,控制就会失效。
GitHub - mit-biomimetics/Cheetah-Software
2 Learning-based
当传统控制在复杂非结构化地形面前步履维艰时,强化学习提供了一条“不求甚解,但求有效”的新路径。
现在的基准方案通常基于 Isaac Gym / Isaac Lab 仿真环境,利用 PPO算法。我们不再需要求解雅可比矩阵或动力学方程。我们将状态(关节位置、速度、IMU数据)输入神经网络,网络直接输出目标关节位置(PD Setpoints)。由于整个控制流程相对不可控,Reward Shaping成为了早期 RL 的噩梦。为了让机器人不摔倒且走得像样,工程师需要手动调整几十项奖励系数。
https://github.com/isaac-sim/IsaacGymEnvs
https://github.com/isaac-sim/IsaacLab
在仿真里训练好的策略,直接部署到真机往往会失败。此时,两大关键技术解决了这个问题:一是域随机化,即在训练时随机化物理参数,逼迫策略学会适应各种极端情况;二是RMA ,即引入“教师-学生”架构。Teacher Policy在仿真中有“上帝视角”,能看到环境参数,负责走出完美轨迹。Student Policy在真机上运行,只能通过本体感知的历史数据,去“猜测”环境特征并模仿 Teacher 的决策。
3 Data-based
MMC (Mimic / Motion Imitation) 这是机器人动作自然化的里程碑。这一阶段的代表作是 Xue Bin Peng 等人的 DeepMimic (2018)。
https://github.com/xbpeng/DeepMimic
与其让 AI 自己瞎琢磨怎么走,不如直接给它参考答案。
- 参考数据 (Reference Motion):输入人类或动物的动捕数据(Mocap Data)。
- 追踪奖励 (Tracking Reward):
$$r_t = \exp(- \alpha \sum | \hat{q}_t - q_t^{ref} |^2 )$$
RL 的奖励不再仅仅是“有没有走到终点”,而是关节角度和参考动作的误差。
DeepMimic 证明了物理模拟的角色可以完美复现回旋踢、侧空翻等高难度动作,让机器人第一次拥有了生物感,特别是对于人形机器人来说是一次巨大的突破。但其也存在局限。 首先是强同步限制,Mimic 强行要求机器人在 时刻必须做时刻的动作。如果机器人被推了一下,慢了半拍,它为了减小误差会产生非常不自然的加速;另外是泛化性差,我们必须为每一个动作准备精确的动捕数据。如果没有对应的数据,机器人就不知道怎么动。
AMP (Adversarial Motion Priors) 是 Mimic 思想的自然进化。它不再通过计算欧氏距离来强迫机器人模仿。它引入了一个判别器,类似于 GAN。通过观看一堆真实的动作片段,判断当前的动作是“真的”还是“假的”。而策略网络则尽力走出能骗过判别器的步伐。AMP 不需要机器人时刻对应参考动作的时间戳。只要你的动作风格属于这个数据集,判别器就会给高分。当机器人被踢一脚时,它不需要急着回正到某一帧参考动作,而是可以即兴发挥,只要恢复过程符合生物动力学特征即可。
(三)机器人强化学习的简单理解与实现
关于系统性教学可看以下课程:
- 学习课程
【强化学习的数学原理】课程:从零开始到透彻理解(完结) 这部分的知识点及其复杂,建议配合AI使用。例如:
要在无经验的情况下跑通整个流程,建议利用聪明一点的AI。gemini pro/claude等等都挺合适的。此阶段除非为了学习算法本身,否则不要试图徒手实现算法。我们要学会站在巨人的肩膀上使用成熟的框架。
1 什么是PPO?(Proximal Policy Optimization,近端策略优化)
PPO是OpenAI于2017年提出的一种强化学习算法,在学术分类上属于策略梯度类算法。其核心目标是优化策略网络,使智能体(如机器人)能够根据当前环境观测信息,输出可最大化累积奖励的动作决策。
PPO的核心价值的在于解决了强化学习领域的经典痛点——策略更新幅度过大导致的训练崩溃问题。在传统策略梯度算法训练过程中,若发现某一动作可带来较高奖励,往往会对策略参数进行大幅调整。但机器人系统动力学特性复杂,这种剧烈参数更新极易导致模型性能断崖式下降。为解决该问题,PPO引入了精妙的“剪切(Clipping)”机制,其核心目标函数数学表达式如下:
$$L^{CLIP}(\theta) = \hat{\mathbb{E}}_t \left[ \min(r_t(\theta) \hat{A}_t, \text{clip}(r_t(\theta), 1 - \epsilon, 1 + \epsilon) \hat{A}_t) \right]$$
该机制的核心逻辑可通俗解读为:为策略更新施加约束边界,即便某一优化方向收益显著,也强制新策略与旧策略的差异控制在预设邻域(Proximal)内,从而实现稳定、持续的训练迭代,避免训练过程中出现性能骤降。
2 为何PPO成为机器人强化学习的主流选择
在机器人领域,尤其是足式机器人控制场景中,PPO几乎成为标配算法。这并非因为其在单一性能维度上最优,而是其在训练稳定性、工程易用性与计算效率三者之间实现了最优平衡,完美适配足式机器人的控制需求。
首先,足式机器人控制涉及复杂的物理动力学模型,若采用普通强化学习算法优化,参数更新幅度过大易导致机器人姿态突变、失衡等问题。PPO的剪切机制通过限制每一轮参数更新的幅度,采用“小步快跑”的迭代模式,大幅降低了策略崩溃(Policy Collapse)的风险,保障训练过程的稳定性。
其次,足式机器人的关节控制属于高维连续控制任务,PPO算法天然擅长处理此类场景,能够输出平滑、连续的关节控制指令,这对保障电机使用寿命、提升控制精度至关重要。同时,PPO训练所得模型具备较强的鲁棒性,对环境噪声(如地面轻微打滑、传感器数据延迟等)具有良好的抗干扰能力,更易实现从仿真到真实环境的落地。
最后,PPO具备高效的大规模并行训练能力。当前足式机器人强化学习训练普遍采用多智能体并行仿真模式,通过显卡同时驱动数千甚至数万智能体同步训练。尽管PPO属于On-policy算法,样本利用率理论上低于Off-policy算法,但其并行训练架构简洁高效,能够显著缩短训练周期,适配大规模并行仿真的工程需求。
3 RSL_rl:足式机器人强化学习高效算法库
rsl_rl是目前足式机器人强化学习领域应用最广泛、效率最高的算法库之一,其核心优势在于针对大规模并行仿真场景进行了底层深度优化,能够最大化释放硬件算力,提升训练效率。
传统强化学习库(如Stable Baselines3)在处理数千个环境并行训练时,CPU与GPU之间会产生频繁的数据交互,带来显著的PCIe通信开销,制约训练效率提升。rsl_rl的核心优化点在于实现了显存内部数据流的闭环:从Isaac Gym仿真环境生成的Observations、Rewards,到PPO算法的梯度计算、参数更新,全流程均在GPU内通过张量操作完成,彻底减少了CPU与GPU之间的数据传输开销,大幅提升了样本吞吐率。
rsl_rl专门针对NVIDIA Isaac Gym、Isaac Lab等主流机器人仿真平台开发,提供了高度适配的工程化接口与功能,降低了开发者的集成成本。向量化环境接口支持数以万计的Agents同时在线采样,高效支撑大规模并行训练;解耦式PPO实现将策略网络与价值网络进行有效解耦,支持非对称输入架构——即价值网络可输入特权信息,而策略网络仅依赖传感器观测数据输出动作,适配机器人控制的实际需求。
rsl_rl采用模块化架构设计,具备高度的灵活性与易用性,适配不同场景下的足式机器人控制需求。其支持多层感知机、Transformer等多种骨干网络,方便用户根据实际需求自定义观测向量与网络结构;同时内置针对主流四足机器人的相关资产,方便直接测试使用。
https://github.com/leggedrobotics/rsl_rl
4 HIMloco:本项目使用的改进算法框架
HIMloco(Hierarchical Internal Model for Locomotion,分层内部模型 locomotion框架)是在PPO算法核心与rsl_rl算法库基础上,针对足式机器人复杂场景应用提出的增强型控制框架。其核心目标是解决足式机器人在非结构化复杂环境下的盲视运动(Blind Locomotion)问题,以及强化模型从仿真到现实(Sim-to-Real)的泛化能力。
HIMloco的技术改进核心聚焦于提升信息表征与传递效率,通过优化信息利用逻辑增强机器人的环境适配能力。传统PPO训练中,机器人通常仅基于当前本体感知状态输出控制动作,难以捕捉环境的动态特性与潜在信息。HIMloco引入显式的内部模型(IM),通过历史本体感知数据(如关节角度、角速度、IMU惯性测量数据等)提取环境特性表征。该隐向量可编码摩擦力、地面坡度、外部力干扰等无法直接观测的环境信息,为机器人动作决策提供更全面的依据。尽管rsl_rl原生支持Actor-Critic非对称输入架构,但HIMloco进一步强化了该机制的信息蒸馏能力,实现“训练阶段赋能-部署阶段轻量化”的目标:训练阶段(Teacher)算法可获取“上帝视角”的特权信息,如精确地形高度图、足底接触力、障碍物质量等;部署阶段(Student):机器人通过内部模型(IM),仅依靠历史传感器数据序列即可重构特权信息的核心表征,本质上是将高阶环境感知能力蒸馏到轻量化的传感器反馈决策逻辑中,无需依赖额外感知设备。
HIMloco将机器人控制策略划分为两个层级,实现功能分工与压力分流:高层网络聚焦环境感知与全局决策,负责处理环境特性表征信息并生成参考轨迹或控制指令;底层网络专注于高频动力学补偿与电机精准控制,负责将高层指令转化为平滑的关节驱动信号。该分层结构大幅降低了单个神经网络的学习压力,提升了复杂地形下机器人运动的稳定性与响应速度。