1. 四足机器人通用运动控制的核心挑战

在机器人运动控制领域,四足机器人因其出色的地形适应能力而备受关注。然而,开发一个能在不同形态机器人上通用的运动策略面临着三大核心挑战:

1.1 形态多样性带来的控制难题

现代四足机器人从12kg的Unitree A1到50kg的ANYmal,在质量分布、关节配置、执行器特性等方面存在显著差异。这种形态多样性导致:

  • 惯性参数差异:不同机器人的质量分布直接影响运动动力学
  • 运动学结构差异:膝关节前伸(X型)和后伸(A型)构型需要不同的步态模式
  • 执行器特性差异:电机扭矩和响应速度不同需要调整控制策略

1.2 仿真到现实的鸿沟

仿真训练与真实硬件部署之间存在显著差异,主要体现在:

  • 执行器动态:仿真中的理想电机模型与真实电机的非线性特性
  • 接触力学:仿真中的简化接触模型与真实复杂的地面交互
  • 传感器噪声:仿真中的理想传感器与真实传感器的噪声和延迟

1.3 PD增益参数的适配问题

关节的PD(比例-微分)控制器增益直接影响运动稳定性和响应速度:

  • 传统方法需要为每个机器人手动调整PD增益
  • 不同形态机器人需要完全不同的增益参数组合
  • 缺乏通用的增益参数映射方法

2. 基于强化学习的通用运动策略框架

2.1 马尔可夫决策过程建模

我们将四足机器人的运动控制问题建模为马尔可夫决策过程(MDP):

  • 状态空间s:包含基座姿态、关节位置/速度、历史观测等
  • 动作空间a:12个关节的目标位置(四足机器人通常有3个主动关节/腿×4腿)
  • 奖励函数R:设计包含线性速度跟踪、朝向保持、能量效率等多项指标

目标是通过策略π最大化累积折扣奖励: J(π) = E[∑γ^t R(s_t,a_t)],其中γ∈[0,1)为折扣因子

2.2 非对称Actor-Critic架构

采用改进的MorAL框架,包含三个核心模块:

  1. 估计器网络(红色):

    • 输入:机器人状态历史(包含基座朝向、关节位置偏差等)
    • 输出:估计的基座线速度和形态参数
    • 新增:基座质心位置估计,提升稳定性
  2. 执行器网络(蓝色):

    • 输入:估计的基座速度+形态参数+当前状态
    • 输出:12个关节的目标位置
    • 动作噪声:高斯分布(μ=0, σ=0.6)
  3. 评价器网络(蓝色):

    • 输入:特权信息(真实的接触状态、摩擦系数等)
    • 输出:状态价值估计
    • 用途:引导策略梯度更新

2.3 奖励函数设计

采用加权多目标奖励机制,主要包含:

  • 正向奖励: • 基座线速度跟踪(权重3.0) • 基座角速度跟踪(权重1.5)

  • 负向惩罚: • 基座高度偏差(权重-20.0) • 关节加速度(权重-2×10^-7) • 足端滑动(权重-0.2)

这种设计鼓励机器人保持稳定步态同时高效完成移动指令。

3. 机器人配置采样与PD增益优化策略

3.1 参考模型与参数化表示

基于四种典型四足机器人建立参考模型:

  1. Unitree A1 (12kg) - 轻型敏捷
  2. Unitree Aliengo - 中型通用
  3. ANYmal B - 早期研究平台
  4. ANYmal C - 现代工业级

每个机器人建模为刚体系统,参数包括:

  • 质量参数:基座、大腿、小腿质量
  • 运动学参数:关节偏移、足端位置
  • 动力学参数:摩擦系数、PD增益

3.2 三种核心采样策略对比

3.2.1 线性/多项式映射采样
  • 原理:将机器人总质量映射到PD增益 • 线性映射:Kp = α·m + β • 多项式映射:Kp = a·m² + b·m + c
  • 优点:计算简单,物理意义明确
  • 缺点:难以适应非线性动力学
3.2.2 性能自适应滤波
  • 原理:根据策略表现动态调整采样范围 • 成功率高时扩大采样范围 • 成功率低时缩小采样范围
  • 调整准则: if 线性速度跟踪 > 0.65 && 零速保持 > 0.55 → 扩大范围 if 线性速度跟踪 < 0.55 || 零速保持 < 0.40 → 缩小范围
  • 优点:自动适应学习进度
3.2.3 均匀随机采样
  • 原理:在预设范围内均匀采样PD增益
  • 实现:Kp ∼ U[Kp_min, Kp_max], Kd ∼ U[Kd_min, Kd_max]
  • 优点:覆盖全面,避免局部最优
  • 缺点:可能包含无效组合

3.3 基于粒子滤波的高级采样

引入Sequential Importance Resampling (SIR)粒子滤波:

  1. 初始化:在参数空间均匀分布粒子
  2. 评估:计算每个粒子的重要性权重 w_k = 1/2·(Tr_lin + Tr_zero) 其中Tr_lin和Tr_zero分别为线速度跟踪和零速保持成功率
  3. 重采样:按权重保留高性能参数区域
  4. 扩散:在保留粒子附近随机游走生成新样本

这种方法能自动聚焦到高性能参数区域,同时保持足够探索。

4. 训练实施与参数配置

4.1 强化学习算法配置

使用PPO(近端策略优化)算法,关键参数:

  • 折扣因子γ:0.997
  • 并行环境数:450
  • 批量大小:60750
  • 学习率:自适应调整
  • 策略网络:[512,256,128] MLP
  • 估计器网络:[512,256,64] MLP

4.2 训练基础设施

  • 硬件:8核CPU@4GHz + NVIDIA RTX 4090
  • 物理引擎:RaiSim仿真器
  • 训练时间:约34小时(50k训练步)

4.3 域随机化设置

为提升仿真到现实的迁移能力,随机化以下参数:

  • 动力学参数: • 质量:±15%基值 • 惯量:±10%基值
  • 环境参数: • 地面摩擦:0.5-1.2 • 足端高度:±2cm
  • 控制参数: • PD增益:±5%扰动 • 控制延迟:10-30ms

5. 仿真与硬件验证结果

5.1 仿真性能基准测试

在RaiSim中测试不同采样策略的成功率(SR* = 1 - 提前终止率):

采样策略 A1成功率 ANYmal成功率
粒子滤波(自适应) 92.3% 89.7%
均匀采样(SR=1) 88.5% 85.2%
线性映射 90.1% 72.4%
多项式映射 89.8% 75.6%

结果显示自适应粒子滤波在大型机器人上优势更明显。

5.2 抗扰动能力测试

对基座施加水平扰动力,测量策略鲁棒性:

抗扰动力测试曲线 (注:此处应为实际论文中的曲线图描述)

  • 粒子滤波策略能承受最大2.5倍扰动
  • 均匀采样策略在2倍扰动时成功率下降30%

5.3 硬件零样本部署

在ANYmal C上的实测结果:

5.3.1 速度跟踪性能
采样策略 X轴RMSE Y轴RMSE 转向RMSE
粒子滤波 0.1101 0.0663 0.2267
均匀采样 0.0983 0.0922 0.2294
5.3.2 状态估计精度
采样策略 X轴误差 Y轴误差 Z轴误差
粒子滤波 0.1345 0.1242 0.0857
均匀采样 0.1007 0.1039 0.0537

结果表明两种策略都能实现稳定的硬件部署,各有所长。

6. 工程实践经验与技巧

6.1 PD增益选择原则

  • Kp范围经验值: • 髋关节:30-100 N·m/rad • 膝关节:50-150 N·m/rad • 踝关节:20-80 N·m/rad
  • Kd与Kp的比例: • 通常Kd ≈ 0.1-0.5×Kp • 过高会导致抖动,过低则阻尼不足

6.2 训练加速技巧

  1. 课程学习:
    • 初期限制速度指令范围
    • 逐步扩大指令空间
  2. 早期终止:
    • 检测自碰撞立即终止回合
    • 设置-0.25的终止惩罚
  3. 观察量标准化:
    • 不同量纲观测值归一化到[-1,1]

6.3 硬件部署注意事项

  1. 安全检查:
    • 限制最大关节力矩
    • 设置紧急停止条件
  2. 状态估计:
    • 融合IMU与运动学信息
    • 添加低通滤波器(截止频率~20Hz)
  3. 指令平滑:
    • 对速度指令进行一阶滞后滤波
    • 典型时间常数0.1-0.3秒

7. 常见问题与解决方案

7.1 训练不稳定问题

症状 :奖励值剧烈波动 可能原因

  1. 学习率过高
  2. 批量大小不足
  3. 奖励函数设计不合理 解决方案
  • 采用自适应学习率
  • 增大批量大小(至少数万个样本)
  • 检查各奖励项量级是否平衡

7.2 仿真到现实性能下降

症状 :仿真表现良好但硬件上失败 可能原因

  1. 域随机化不足
  2. 执行器模型不匹配
  3. 延迟未建模 解决方案
  • 增加电机动力学随机化
  • 在仿真中添加10-30ms随机延迟
  • 使用更高精度的执行器模型

7.3 特定地形适应困难

症状 :在斜坡或不平地面表现差 可能原因

  1. 训练地形多样性不足
  2. 足端接触判断不准确
  3. 状态估计误差累积 解决方案
  • 在训练中添加随机地形
  • 改进接触检测算法
  • 增强状态估计器的地形感知能力

在实际项目中,我们发现采用自适应粒子滤波采样策略,配合适度的域随机化,能够训练出在12kg到50kg不同四足机器人上都能稳定运行的通用运动策略。这种方法显著减少了针对不同机器人的重复训练成本,使单一策略的跨平台部署成为可能。

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐