Skip to content

Animation: hybrid RL + animation controller and MuJoCo harness (workstream C) - #55

Open
Clancey wants to merge 2 commits into
apirrone:v2from
Clancey:clancey-hybrid-animation-controller
Open

Clancey wants to merge 2 commits into
apirrone:v2from
Clancey:clancey-hybrid-animation-controller

Conversation

@Clancey

@Clancey Clancey commented Sep 2, 2026

Copy link
Copy Markdown

Summary

  • Adds a transport-independent HybridController that fuses standing/RL walking targets with downstream animation layers and final joint safety limiting.
  • Adds gait phase tracking, constrained mode transitions, ONNX policy wrapping, focused pytest coverage, and a 50 Hz MuJoCo harness with headless regression reporting.

Layering and safety

The controller creates the base target from the stand pose or RL policy using true measured state, then updates/mixes animation, gates leg authority based on commanded speed, bounds leg offsets to 0.15 rad, and applies the safety limiter last. Large leg offsets at speed can tip the duck, so leg animation authority smoothly declines to a floor while walking and is exactly zero in or transitioning to/from dock mode.

Policy feedback invariant

previous_action fed to ONNX is always the policy's own raw action, never animation-blended joint targets. Animation remains strictly downstream; feeding blended output back would make the policy observe commands it never made and destabilize gait.

Validation

python -m pytest animation/runtime/tests -q passes (9 tests). MuJoCo and onnxruntime installed cleanly. The full harness run waits on workstream A's duck_anim.player, mixer, and safety modules; until then it exits with a clear dependency message rather than silently running without animation safety.

Clancey and others added 2 commits September 1, 2026 22:45
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant