| name | crab-walk-backward |
| description | Crab-walks backward in a belly-up reverse tabletop on the hands and feet, keeping facing, via a low translating sequence. Use when a command mentions crab walk backward, reverse crab walk, backward crab, or crab walk in reverse. (For sideways crab walking, use crab-walk.) |
| category | locomotion |
| disable-model-invocation | true |
| subskills | ["move-arm","move-leg","move-torso"] |
crab-walk-backward
A belly-up crab (hips lifted, hands behind, knees bent) shuffling backward. Translate root while OMITTING faceDeg so the heading holds.
Composes: move-arm + move-leg + move-torso
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. Keep root.y~-0.4.
- Lean the torso back (
Spine-X~20), arms reaching back to the floor, knees bent ~90 with the hips lifted; shuffle hands and feet backward.
durationMs ~2600.
Example
- "crab walk backward" ->
{"durationMs":2600,"say":"Reverse crab!","sequence":{"loop":false,"frames":[{"t":0,"pose":{"Spine":[-20,0,0],"LeftUpperArm":[0,0,140],"RightUpperArm":[0,0,-140],"LeftUpLeg":[80,0,0],"LeftLeg":[90,0,0],"RightUpLeg":[80,0,0],"RightLeg":[90,0,0]},"root":{"y":-0.4,"z":-0.4}},{"t":0.5,"pose":{"Spine":[-20,0,0]},"root":{"y":-0.4,"z":-0.9}},{"t":1,"pose":{"Spine":[0,0,0],"LeftUpperArm":[0,0,90],"RightUpperArm":[0,0,-90],"LeftUpLeg":[0,0,180],"RightUpLeg":[0,0,180],"LeftLeg":[0,0,0],"RightLeg":[0,0,0]},"root":{"y":0,"z":-1.4}}]}}
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.