Skip to main content

LeggedLab

Reward

任务达成奖励 (Task Tracking)

这部分奖励通过指数函数(exp)计算,目的是让机器人精准地遵循给定的速度指令。

  • xy轴线速度跟踪 (track_lin_vel_xy_exp): 鼓励机器人按指令的前后左右速度移动。
  • z轴角速度跟踪 (track_ang_vel_z_exp): 鼓励机器人按指令的转向速度旋转。

步态与接触约束 (Gait & Contact)

这是人形机器人最关键的部分,用于塑造其走路的姿态(步态)。

  • 空载时间 (feet_air_time): 正向奖励。鼓励机器人在行走时有明显的“腾空阶段”,防止拖着脚走。
  • 飞行惩罚 (fly): 负向奖励。虽然鼓励腾空,但如果两只脚同时离地太久(变成跳跃或摔倒),会受到惩罚。
  • 足底滑动惩罚 (feet_slide): 惩罚脚掌在接触地面时的水平位移,减少“溜冰”现象。
  • 不必要接触 (undesired_contacts): 惩罚除脚踝以外的身体部位(如膝盖、躯干)碰到地面。
  • 脚部过近 (feet_too_near): 惩罚两脚靠得太近,防止左右脚发生碰撞。
  • 绊倒惩罚 (feet_stumble): 惩罚脚部侧面撞击障碍物。
  • 触地力惩罚 (feet_force): 防止脚掌落地力量过大(重踏),保护硬件。

姿态平稳与能量消耗 (Smoothness & Energy)

这部分主要是为了让动作看起来更“像人”,并减少硬件损耗。

  • 身体定向 (body_orientation_l2 & flat_orientation_l2): 强制躯干(Torso)保持垂直,防止过度前倾或后仰。
  • 线/角速度平稳 (lin_vel_z_l2, ang_vel_xy_l2): 惩罚 z 轴(垂直方向)的剧烈晃动和 xy 平面的剧烈翻滚。
  • 能量与功耗 (energy): 惩罚过大的电机转矩和电流消耗。
  • 动作变化率 (action_rate_l2): 惩罚相邻帧动作输出的剧烈变化,使动作更平滑。
  • 关节加速度 (dof_acc_l2): 减少关节的剧烈震动。

关节位置约束 (Joint Configuration)

  • 限位惩罚 (dof_pos_limits): 关节接近物理极限位置时给予惩罚。
  • 关节偏差惩罚 (joint_deviation_…): 分别针对髋部、手臂和腿部。这会给机器人一个“默认姿态”的拉力,防止它在行走时出现奇怪的手臂摆动或极端的关节弯曲。