| name | gallop-backward |
| description | Gallops backward with a lopsided one-leg-leads bound while facing forward, via a translating sequence. Use when a command mentions gallop backward, backward gallop, bound backward, or canter in reverse. |
| category | locomotion |
| disable-model-invocation | true |
| subskills | ["move-leg","balance-and-posture"] |
gallop-backward
A bouncy backward gallop keeping the same lead leg. Translate root while OMITTING faceDeg so the heading holds.
Composes: move-leg + balance-and-posture
How
- Use a
sequence with loop:false. Frame root is ABSOLUTE; compute the travel axis from state.position+state.faceDeg (0=+Z, 90=+X). The example assumes origin facing +Z. Make z more negative; do NOT set faceDeg.
- Same lead leg up each bound (
UpLeg~55,Leg~50); pop root.y~0.12, land 0.
durationMs ~2400.
Example
- "gallop backward" ->
{"durationMs":2400,"say":"Galloping back!","sequence":{"loop":false,"frames":[{"t":0,"pose":{"RightUpLeg":[55,0,0],"RightLeg":[50,0,0]},"root":{"y":0.12,"z":-0.5}},{"t":0.33,"pose":{"RightUpLeg":[0,0,180],"RightLeg":[0,0,0]},"root":{"y":0,"z":-1}},{"t":0.66,"pose":{"RightUpLeg":[55,0,0],"RightLeg":[50,0,0]},"root":{"y":0.12,"z":-1.6}},{"t":1,"pose":{"RightUpLeg":[0,0,180],"RightLeg":[0,0,0]},"root":{"y":0,"z":-2.2}}]}}
Limits & posture
Keep ≥1 foot grounded except at a jump's airborne apex; stay inside human joint ranges and keep weight over the support — see balance-and-posture.