| name | backpedal-and-turn |
| description | Backpedals a few steps then plants, turns, and runs off the other way, via a sequence that moves root back then sweeps faceDeg. Use when a command mentions backpedal and turn, drop back then turn and run, defensive backpedal and break, or backpedal then sprint. |
| category | locomotion |
| disable-model-invocation | true |
| subskills | ["walk","turn-and-face","balance-and-posture"] |
backpedal-and-turn
Retreat square for a few steps, then plant, flip the heading 180, and burst forward.
Composes: walk + turn-and-face + 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.
- Beats: backpedal (
z negative, facing held), plant + turn (faceDeg+180), drive forward (z continues).
durationMs ~2000.
Example
- "backpedal then turn and go" ->
{"durationMs":2000,"say":"Backpedal, turn, go!","sequence":{"loop":false,"frames":[{"t":0,"pose":{"Spine":[8,0,0],"LeftUpLeg":[35,0,0],"LeftLeg":[30,0,0]},"root":{"z":-0.6,"faceDeg":0}},{"t":0.4,"pose":{"RightUpLeg":[35,0,0],"RightLeg":[30,0,0],"LeftUpLeg":[0,0,180],"LeftLeg":[0,0,0]},"root":{"z":-1.2,"faceDeg":0}},{"t":0.6,"pose":{"Spine":[0,0,0]},"root":{"z":-1.2,"faceDeg":180}},{"t":1,"pose":{"LeftUpLeg":[0,0,180],"RightUpLeg":[0,0,180]},"root":{"z":-1.8,"faceDeg":180}}]}}
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.