| name | two-steps-at-a-time |
| description | Climbs stairs two steps at a time with big knee lifts and a larger rise per stride, via a sequence that raises root.y in big increments. Use when a command mentions two steps at a time, take the stairs two at a time, bound up two steps, or skip a stair going up. |
| category | locomotion |
| disable-model-invocation | true |
| subskills | ["move-leg","walk","balance-and-posture"] |
two-steps-at-a-time
Climb with big strides skipping a step: high knee lift, plant, and a larger root.y+root.z rise per stride.
Composes: move-leg + walk + 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.
- Each stride: high knee (
UpLeg~95,Leg~95), plant, raise root.y ~0.36 and nudge z. Alternate legs.
durationMs ~2400.
Example
- "go up two steps at a time" ->
{"durationMs":2400,"say":"Two at a time!","sequence":{"loop":false,"frames":[{"t":0,"pose":{"LeftUpLeg":[95,0,0],"LeftLeg":[95,0,0],"RightUpLeg":[0,0,180],"RightLeg":[0,0,0]},"root":{"y":0,"z":0}},{"t":0.5,"pose":{"LeftUpLeg":[0,0,180],"LeftLeg":[0,0,0],"RightUpLeg":[95,0,0],"RightLeg":[95,0,0]},"root":{"y":0.36,"z":0.4}},{"t":1,"pose":{"RightUpLeg":[0,0,180],"RightLeg":[0,0,0]},"root":{"y":0.72,"z":0.8}}]}}
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.