| name | reverse-lunge-walk |
| description | Performs walking reverse lunges, stepping each leg back into a lunge so the body travels backward, via a translating sequence. Use when a command mentions reverse lunge walk, walking reverse lunges, step-back lunges, or backward lunge walk. |
| category | locomotion |
| disable-model-invocation | true |
| subskills | ["move-leg","bend-knees","balance-and-posture"] |
reverse-lunge-walk
Step one leg back into a lunge and sink, then the other — traveling backward. Translate root while OMITTING faceDeg so the heading holds.
Composes: move-leg + bend-knees + 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.
- Rear leg extends back onto the toe (
UpLeg~-25,Foot60); front knee bends; sink root.y-0.25.
durationMs ~2800.
Example
- "do reverse lunges" ->
{"durationMs":2800,"say":"Reverse lunges.","sequence":{"loop":false,"frames":[{"t":0,"pose":{"LeftUpLeg":[-25,0,0],"LeftLeg":[70,0,0],"LeftFoot":[60,0,0],"RightUpLeg":[40,0,0],"RightLeg":[80,0,0]},"root":{"z":-0.5,"y":-0.25}},{"t":0.5,"pose":{"LeftUpLeg":[0,0,180],"LeftLeg":[0,0,0],"LeftFoot":[90,0,0],"RightUpLeg":[0,0,180],"RightLeg":[0,0,0]},"root":{"z":-1,"y":0}},{"t":1,"pose":{"RightUpLeg":[-25,0,0],"RightLeg":[70,0,0],"RightFoot":[60,0,0],"LeftUpLeg":[40,0,0],"LeftLeg":[80,0,0]},"root":{"z":-1.5,"y":-0.25}}]}}
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.