Skip to content

MBA: event/DR term 补齐(body impulse / push 角速度 / fail-closed 放开) #1399

Description

@TATP-233

S3: MBA event/DR term 补齐(body impulse / push 角速度 / fail-closed 放开)

父 roadmap:#1389

目标

补齐 UniLab MBA EventManager 的 term 覆盖面与 fail-closed 限制,对照 mjlab envs/mdp/events.pydr/ 引擎。

背景

UniLab 现状(src/unilab/envs/mdp/events.pysrc/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)。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions