S3: MBA event/DR term 补齐(body impulse / push 角速度 / fail-closed 放开)
父 roadmap:#1389
目标
补齐 UniLab MBA EventManager 的 term 覆盖面与 fail-closed 限制,对照 mjlab envs/mdp/events.py 与 dr/ 引擎。
背景
UniLab 现状(src/unilab/envs/mdp/events.py、src/unilab/managers/event_manager.py):
apply_body_impulse / 外力力矩 event term 缺失——backend 层 apply_body_force 能力已在(mujoco 实现于 mujoco/backend.py:1292),缺的是 MBA term。
push_by_setting_velocity 只支持线速度 delta,角速度 fail-closed(events.py:942-946);mjlab 支持全 6 维。
- model-field 写入只允许 mode=reset(events.py:229-237);
min_step_count_between_reset>0 不可用;startup-mode model-field DR 未放开。
- mjlab 的
pseudo_inertia(物理一致惯量联合随机化,Rucker & Wensing 2022,10 参数 Cholesky 参数化)无对应物,legacy microduck 配方在用。
范围
- 新增
apply_body_impulse class term(cooldown→trigger→sustain→expire 生命周期状态机,mode=step,支持偏心施力),或按验收需求先做外力力矩 term。
push_by_setting_velocity 放开角速度分量(mujoco 后端 _apply_body_linear_velocity_delta 对应扩展)。
- 评估并放开 startup-mode model-field DR 与
min_step_count_between_reset>0(按各后端能力 fail-closed 粒度)。
pseudo_inertia:评估工作量后决定纳入本切片或记录为后续项。
- 不做:per-world gravity DR(mjlab 也未做,
opt.gravity 嵌套 struct 不在字段扩展遍历内)。
验收
- 契约测试 + mujoco 后端 effect 测试(改字段后物理行为可观测变化)。
规模
~300 LOC(不含 pseudo_inertia)。
S3: MBA event/DR term 补齐(body impulse / push 角速度 / fail-closed 放开)
父 roadmap:#1389
目标
补齐 UniLab MBA EventManager 的 term 覆盖面与 fail-closed 限制,对照 mjlab
envs/mdp/events.py与dr/引擎。背景
UniLab 现状(
src/unilab/envs/mdp/events.py、src/unilab/managers/event_manager.py):apply_body_impulse/ 外力力矩 event term 缺失——backend 层apply_body_force能力已在(mujoco 实现于mujoco/backend.py:1292),缺的是 MBA term。push_by_setting_velocity只支持线速度 delta,角速度 fail-closed(events.py:942-946);mjlab 支持全 6 维。min_step_count_between_reset>0不可用;startup-mode model-field DR 未放开。pseudo_inertia(物理一致惯量联合随机化,Rucker & Wensing 2022,10 参数 Cholesky 参数化)无对应物,legacy microduck 配方在用。范围
apply_body_impulseclass term(cooldown→trigger→sustain→expire 生命周期状态机,mode=step,支持偏心施力),或按验收需求先做外力力矩 term。push_by_setting_velocity放开角速度分量(mujoco 后端_apply_body_linear_velocity_delta对应扩展)。min_step_count_between_reset>0(按各后端能力 fail-closed 粒度)。pseudo_inertia:评估工作量后决定纳入本切片或记录为后续项。opt.gravity嵌套 struct 不在字段扩展遍历内)。验收
规模
~300 LOC(不含 pseudo_inertia)。