| name | climb-stairs |
| description | Climbs up stairs via a sequence that raises a knee, plants, and steps the body up and forward (root.y rises, root.z advances). Use when a command mentions climb stairs, go upstairs, walk up the steps, ascend, take the stairs up, or head up a staircase. |
| category | locomotion |
| disable-model-invocation | true |
| subskills | ["walk","move-leg"] |
climb-stairs
Ascend a staircase — each step raises a knee, plants, and lifts the body up and forward. A sequence whose root.y and root.z both increase step by step (use a moveTo first to reach the foot of the stairs, then this).
How
- Use a
sequence with loop:false (frame root is ABSOLUTE — y and z both grow; compute forward from state.position+state.faceDeg, here origin facing +Z).
- Each step: raise a knee (
UpLeg:[70,0,0],Leg:[70,0,0]), then plant it (legs to rest) while root.y and root.z step up. Alternate legs.
durationMs ~2400–2800.
Example
- "go up the stairs" (at x:0,z:0,faceDeg:0) ->
{"durationMs":2600,"say":"Up the stairs.","sequence":{"loop":false,"frames":[{"t":0,"pose":{"LeftUpLeg":[70,0,0],"LeftLeg":[70,0,0],"RightUpLeg":[0,0,180],"RightLeg":[0,0,0]},"root":{"y":0,"z":0}},{"t":0.33,"pose":{"LeftUpLeg":[0,0,180],"LeftLeg":[0,0,0]},"root":{"y":0.18,"z":0.3}},{"t":0.66,"pose":{"RightUpLeg":[70,0,0],"RightLeg":[70,0,0]},"root":{"y":0.18,"z":0.5}},{"t":1,"pose":{"RightUpLeg":[0,0,180],"RightLeg":[0,0,0]},"root":{"y":0.36,"z":0.8}}]}}