Skip to content

DeltaLimitApprover rejects delta pose modes with clampable rotation deltas #143

Description

@jeqcho

DeltaLimitApprover raises ValueError for any pose mode whose rotation_repr is not in {none, rot6d} (approver.py: _POSE_MODES includes eef_delta_pose; the check fires before bounds or max_delta are consulted). For ABSOLUTE pose modes that is sound: per-dim clamping of absolute euler orientations has wraparound and axis-coupling problems. But for DISPLACEMENT modes (eef_delta_pose, eef_delta_pos) the per-dim quantities are small rotation deltas, and clamping them per-dim is well defined.

Consequences today, hit while designing inspect-robots-widowx (BridgeData V2 speaks 7-D xyz+euler deltas):

  • conformance's guardrail probe turns the ValueError into a doctor error, so any euler-delta embodiment is reported non-conformant.
  • cli catches the ValueError and silently degrades every CLI run to clamp-only; --max-action-delta cannot restore delta limiting.

Proposal: restrict the rotation-repr rejection to absolute pose modes; for displacement modes, treat rotation dims like any other bounded displacement dim.

Workaround adopted by inspect-robots-widowx v1 (yam precedent): declare rotation_repr="none" with droll/dpitch/dyaw dim_labels. Once this lands in a release, widowx can declare euler_xyz honestly and bump its pin.

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