| name | lateral-lunge-walk |
| description | Travels sideways with repeated side lunges, sinking into one leg then pushing to the next, via a translating sequence. Use when a command mentions lateral lunge walk, traveling side lunges, side-to-side lunges, or walking lateral lunges. (For a single in-place side lunge, use side-lunge.) |
| category | locomotion |
| disable-model-invocation | true |
| subskills | ["move-leg","shift-weight","balance-and-posture"] |
lateral-lunge-walk
Step wide to the side, sink into that leg, push off, repeat — traveling laterally. Translate root while OMITTING faceDeg so the heading holds.
Composes: move-leg + shift-weight + 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. Step x; do NOT set faceDeg.
- Lead leg bends deep (
UpLeg~40 abducted,Leg70) with a root.y-0.2 sink; the other stays straight.
durationMs ~2800.
Example
- "do lateral lunges across" ->
{"durationMs":2800,"say":"Side lunge, travel.","sequence":{"loop":false,"frames":[{"t":0,"pose":{"RightUpLeg":[40,0,-140],"RightLeg":[70,0,0],"LeftUpLeg":[0,0,180]},"root":{"x":0.5,"y":-0.2}},{"t":0.5,"pose":{"RightUpLeg":[0,0,180],"RightLeg":[0,0,0]},"root":{"x":1,"y":0}},{"t":1,"pose":{"RightUpLeg":[40,0,-140],"RightLeg":[70,0,0]},"root":{"x":1.5,"y":-0.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.