S2: MBA 通用 locomotion reward/termination term 库沉淀
父 roadmap:#1389
目标
对照 mjlab 内置 term 库,把 locomotion 通用 reward/termination term 沉淀到共享层(envs/mdp/ 或 tasks/locomotion/common/,呼应 #1371 契约),消除各 task 私有重复实现,覆盖 legacy 配方的步态质量激励缺口。
背景
mjlab 内置而 UniLab 缺失或 task 私有的 term:
| term |
mjlab 出处 |
UniLab 现状 |
feet_air_time(窗口计数形态:单脚悬空 ∈(t_min, t_max) 才计分) |
tasks/velocity/mdp/rewards.py |
仅 min-cap 塑形(microduck 私有 foot_air_time_biped) |
feet_clearance / feet_swing_height / feet_slip |
同上 |
无 |
angular_momentum_penalty |
同上 |
无(root_angmom 传感器已在 microduck.xml) |
joint_pos_limits(soft limit 越界) |
envs/mdp/rewards.py |
无 |
posture/variable_posture(per-joint std 高斯核 class term) |
同上 |
无通用版 |
nan_detection 终止 |
envs/mdp/terminations.py |
依赖全局 nan guard,无显式 term |
数据源均可复用现有 entity data API(body_link_pos_w/body_link_lin_vel_w、contact 读数),平坦地形免 raycast,无新 backend 依赖。
范围
验收
- 逐 term 单测 + 与 mjlab 语义的数值对照;至少一个 task owner yaml 实际引用共享 term。
规模
~400 LOC。长期维护点:共享 term 语义变更需同步所有引用 task。
S2: MBA 通用 locomotion reward/termination term 库沉淀
父 roadmap:#1389
目标
对照 mjlab 内置 term 库,把 locomotion 通用 reward/termination term 沉淀到共享层(
envs/mdp/或tasks/locomotion/common/,呼应 #1371 契约),消除各 task 私有重复实现,覆盖 legacy 配方的步态质量激励缺口。背景
mjlab 内置而 UniLab 缺失或 task 私有的 term:
feet_air_time(窗口计数形态:单脚悬空 ∈(t_min, t_max) 才计分)tasks/velocity/mdp/rewards.pyfoot_air_time_biped)feet_clearance/feet_swing_height/feet_slipangular_momentum_penaltyroot_angmom传感器已在 microduck.xml)joint_pos_limits(soft limit 越界)envs/mdp/rewards.pyposture/variable_posture(per-joint std 高斯核 class term)nan_detection终止envs/mdp/terminations.py数据源均可复用现有 entity data API(
body_link_pos_w/body_link_lin_vel_w、contact 读数),平坦地形免 raycast,无新 backend 依赖。范围
sensor_reward_terms语义)。验收
规模
~400 LOC。长期维护点:共享 term 语义变更需同步所有引用 task。