☰
解码 GEAR-SONIC 奖励函数与终止条件:跟踪误差、防抖惩罚与域随机化如何协同
2026/10/17 13:50:03 网站建设 项目流程

【免费下载链接】GEAR-SONIC

项目地址:https://ai.gitcode.com/hf_mirrors/nvidia/GEAR-SONIC
点击查看免费下载

GEAR-SONIC 是 NVIDIA 推出的自然人形机器人全身控制(Whole-Body Control)基础模型,仅凭一套统一策略就能驱动 Unitree G1 完成行走、跑步、跳跃、匍匐与双手操作。它的关键,就藏在训练配置中的奖励函数(rewards)、终止条件(terminations)与域随机化(domain randomization)三者的协同设计里。本文带你完整拆解这三者如何共同塑造出一个"既精准跟踪、又丝滑自然、还 sim-to-real 鲁棒"的运动策略。

一、先看整体:策略网络在整个管线中的位置

上图是 SONIC 的端到端数据流:输入接口(键盘/手柄/VR)或 Kinematic Planner 生成运动参考,Motion Manager 组织成多帧未来目标,最后交给由强化学习训练出的Policy网络输出关节动作。Policy 的"性格"——多精准、多平滑、多抗扰动——完全由训练时的奖励、终止与随机化配置决定。

三个官方 checkpoint 均附带完整训练配置,可直接打开研读:

  • 默认版:sonic_release/config.yaml
  • 低延迟遥操版:low_latency/config.yaml
  • v1.1 版:sonic_v1_1/config.yaml

训练平台为 Isaac Lab(sim_type: isaacsim),采用 PPO + 4096 并行环境(num_envs: 4096),sim_dt: 0.005、decimation: 4,对应 50 Hz 控制频率。

二、跟踪误差奖励:用"高斯衰减"搭出容差漏斗

SONIC 的奖励主体是 6 项"跟踪误差"奖励,全部以高斯衰减形式计算(误差越小奖励越接近 1,std即容差带宽):

奖励项权重std(容差)作用
tracking_vr_5point_local+2.00.1躯干 + 双腕等 5 个关键点位置,权重最高
tracking_relative_body_pos+1.00.314 个身体部位相对位置
tracking_relative_body_ori+1.00.4身体部位相对朝向
tracking_body_linvel+1.01.0身体线速度
tracking_body_angvel+1.03.14身体角速度
tracking_anchor_pos/tracking_anchor_ori+0.50.3 / 0.4骨盆(锚点)位置与朝向
tracking_vr_2wrists_local_ori+0.40.1双腕朝向(低延迟版 / v1.1)

权重梯度设计意图一目了然:上肢关键点(操作精度)> 身体相对位姿 > 整体速度 > 骨盆锚点;std则按任务难度从 0.1(腕部毫米级精度)放宽到 3.14(角速度大幅容差),形成一条"容差漏斗"。

完整定义见 low_latency/config.yaml#L624-L737。

三、防抖惩罚:让动作"丝滑"而不是"抽搐"

高跟踪权重天然会催生高频抖动——策略用快速小幅摆动去"硬凑"误差。SONIC 用一组负权重平滑项与之对冲:

惩罚项权重关键参数抑制对象
anti_shake_ang_vel−0.005阈值 1.5,作用于左右腕 +head_link腕部/头部高频抖动(遥操观感的关键)
action_rate_l2−0.1全关节相邻步动作跳变,整体平滑
feet_acc−2.5e−6仅*ankle*关节脚踝加速度冲击,减少顿挫
undesired_contacts−0.1力阈值 1 N,脚/腕/肘豁免膝、肘、躯干等意外落地碰撞
joint_limit−10.0全部 29 自由度逼近期望限位,最强硬约束
energy_consumption−0.0001全机器人能耗(低延迟版特有)

注意anti_shake_ang_vel的"阈值 1.5":只有当腕/头角速度显著超过参考的部分才被惩罚,慢动作不受影响。这正是"跟踪精度"与"观感自然"之间的精细权衡——5 点位置拿 2.0 的高权重保精度,防抖拿 1.5 的高阈值保自然。

四、终止条件:五道"失败边界"闸门

奖励告诉策略"哪里更好",终止条件则定义"哪里算失败",episode 立即结束并重置,形成离散负信号:

终止项阈值触发逻辑
anchor_pos0.15 m(自适应)骨盆相对参考高度偏差过大(摔倒/下坠)
anchor_ori_full0.2 rad骨盆朝向倾斜过度
ee_body_pos0.15 m(自适应)双脚或双腕偏离参考位
foot_pos_xyz0.2 m双脚位置偏差超限
time_out—动作片段正常播完(非失败)

见 low_latency/config.yaml#L738-L786。

亮点是threshold_adaptive: true配合down_threshold: 0.75与root_height_threshold: 0.5:当参考动作本身"趴得低"(如匍匐、下蹲起身)时,绝对高度差阈值会自适应放宽,避免策略被"合理但贴地"的动作误杀。配合 10 sepisode_length_s,让低难度片段能完整跑通以积累正样本。

五、域随机化:铺平 Sim-to-Real 的"鲁棒性保险"

奖励与终止定义了任务本身,域随机化则保证策略在真机上面对传感器噪声、执行器漂移、载荷变化时依然可靠。SONIC 的随机化分两层:

1) 物理层事件(events,启动时生效):

事件随机范围应对的真实差异
physics_material静摩擦 0.3–1.6、动摩擦 0.3–1.2、恢复系数 0–0.5地毯 / 瓷砖 / 木地板
add_joint_default_pos全关节 ±0.01 rad关节零点装配漂移
base_com躯干质心 x ±0.025、y/z ±0.05 m电池与载荷分布
randomize_rigid_body_mass手腕 / 躯干质量 ×0.8–2.5手持工具、背包

2) 外力扰动(仅训练时生效,train_only_events):

  • push_robot:每 4–6 秒给基座注入一次随机速度(x/y ±0.5、z ±0.2 m/s,yaw 角速度 ±0.78 rad/s),模拟人碰撞、踢碰等意外;评估时关闭,避免干扰评测。

3) 参考命令增广(commands.motion):位置 ±0.05 m、yaw ±0.2 rad、速度 ±0.5 m/s、关节 ±0.1 rad,并开启freeze_frame_aug(冻结帧增广)与 0.5 概率上肢姿态融合,让策略学会"容忍不完美参考"。见 low_latency/config.yaml#L787-L880 与 low_latency/config.yaml#L337-L380。

此外,训练启用修正版自适应采样(adaptive_sampling,bin_size: 50、uniform_sampling_rate: 0.1、pre_failure_sample_window: 200):失败会被归因到重置前跟踪的动作游标所在片段,系统自动对高失败率片段加权过采样——难例学得快,收敛效率显著提升。

六、三者协同:一套"塑形 — 边界 — 鲁棒"闭环

把三层设计叠在一起看,分工非常清晰:

  1. 奖励函数做连续塑形:高斯衰减 + 权重梯度,把"像人一样自然"量化为可微的优化目标;
  2. 终止条件设离散边界:摔倒、倾倒、脚腕失控立即断 episode,防止策略学到"晃着也能活"的坏梯度;
  3. 域随机化拓宽分布:摩擦、质量、外力、参考噪声全维度扰动,迫使策略学到对失配鲁棒而非"背答案"。

三者互为制衡:没有终止,奖励会奖励"摇摇晃晃但不倒"的投机解;没有防抖惩罚,高跟踪权重必然产出抽搐动作;没有域随机化,训练曲线漂亮的策略一上真机就翻车。GEAR-SONIC 正是靠这套闭环,让一个策略统一覆盖行走、奔跑、匍匐、跳跃与双手协作,成为可落地的人形全身控制基础模型。

七、相关文件速查

文件用途
low_latency/config.yaml低延迟变体完整训练配置(奖励 / 终止 / 事件)
low_latency/observation_config.yaml低延迟观测定义
low_latency/model_config.yaml低延迟网络结构
sonic_release/config.yaml默认变体训练配置
sonic_v1_1/config.yamlv1.1 头向归一化变体配置
config.json官方发布清单(下载入口)

【免费下载链接】GEAR-SONIC

项目地址:https://ai.gitcode.com/hf_mirrors/nvidia/GEAR-SONIC
点击查看免费下载

相关推荐

上一篇:小红书批量下载终极指南:XHS-Downloader完整使用教程
下一篇:现代视频字幕提取解决方案:本地化智能处理工作流

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询