结果
迁移 pinned mjlab v1.6.0 中现有 UniLab facade 已能完整表达的无-sensor reward terms:is_alive、is_terminated、joint_vel_l2、action_rate_l2、action_acc_l2、flat_orientation_l2、track_linear_velocity、track_angular_velocity、body_angular_velocity_penalty。
Scope
- source-aligned Torch→NumPy term 与公开 exports。
- typed context 补 action history 和 termination manager 只读 surface。
SceneEntityCfg joint/body selector、command name 与 RewardManager dt/weight 聚合 evidence。
- 缺失 command/entity capability、非法 std、shape/NaN/Inf 直接报错。
- 不迁移 torque/acceleration/power/limits:当前缺少对应正式 facade 或 backend evidence。
- 不迁移 contact/terrain/raycast reward,不接 production task、event/reset、Hydra、runner 或 IPC。
验收
- term 结构和数值除 import 与 Torch→NumPy 外保持 pinned source 语义。
- 请求不存在 command 或缺失 entity view 时 fail-closed,不 assert/zero/fallback。
- 热路径无 asset/XML/name 解析,无 Torch、IPC、runner 或 backend-private import。
- focused tests 与
make test-all 通过。
普通行为 child;预计 3–5 个文件、≤650 行,1 PR;base 为 dev/issue-1042-manager-based-api。
Umbrella: #1042
Depends on: #1061
结果
迁移 pinned mjlab v1.6.0 中现有 UniLab facade 已能完整表达的无-sensor reward terms:
is_alive、is_terminated、joint_vel_l2、action_rate_l2、action_acc_l2、flat_orientation_l2、track_linear_velocity、track_angular_velocity、body_angular_velocity_penalty。Scope
SceneEntityCfgjoint/body selector、command name 与RewardManagerdt/weight 聚合 evidence。验收
make test-all通过。普通行为 child;预计 3–5 个文件、≤650 行,1 PR;base 为
dev/issue-1042-manager-based-api。Umbrella: #1042
Depends on: #1061