name: move-leg
description: Poses one or both legs by flexing/extending the hip, knee, and ankle and abducting the leg sideways — for kicking, lifting a knee, kneeling, squatting/crouching, stepping, stomping, pointing or spreading a leg. Use whenever a command mentions legs, knee(s), thigh, hip (as a joint), kick, squat, crouch, kneel, lunge, stomp, step, or balancing on one leg. (For going to a place use walk; for sitting on a seat use sit-and-stand.)
category: lower-body
disable-model-invocation: true
move-leg
Atomic primitive for the leg chain per side: {Side}UpLeg (hip),
{Side}Leg (knee), {Side}Foot (ankle), {Side}Toe. Side ∈ Left, Right.
Angles are ABSOLUTE local euler [x,y,z] deg, XYZ. A leg joint's local +Y
points down the bone toward the foot, so leg axes are NOT world-aligned — use
the calibrated numbers below.
Rest (standing, legs straight down)
*UpLeg:[0,0,180], *Leg:[0,0,0], *Foot:[90,0,0], *Toe:[0,0,0].
Ground truth: sit (hip & knee both flexed ~90°)
LeftUpLeg:[90,0,0], LeftLeg:[90,0,0], RightUpLeg:[90,0,0], RightLeg:[90,0,0]
→ thigh swings FORWARD to horizontal (UpLeg:[90,0,0]), shin hangs DOWN
(Leg:[90,0,0]). This pose is the reference for any flexed hip+knee. Use it with
a root drop to actually sit on a seat (see sit-and-stand).
Joint roles
- Hip flexion (swing thigh forward / lift knee):
UpLegX toward90(thigh forward, horizontal). Smaller = thigh still angled down; larger (~120) = thigh above horizontal (high knee). Combine with knee bend. - Knee:
LegX.0= straight;~90= bent (paired with a forward thigh as insit). Knees flex one way only — keepLegX in0..150, never negative. - Ankle:
Footrest[90,0,0](sole flat, foot forward). Toes DOWN / point / tiptoe: X below 90 (e.g.[60,0,0]). Toes UP / dorsiflex: X above 90 (e.g.[120,0,0]). - Abduction (spread leg out to the side):
UpLegZ away from rest. LEFT leg: Z from180toward90(e.g.[0,0,135]= 45° out to the left). RIGHT leg: Z from-180/180toward-90(e.g.[0,0,-135]= 45° out to the right).
Recipes (substitute the Side)
- Lift / raise one knee (stand on the other leg): that side
UpLeg:[90,0,0], Leg:[90,0,0](thigh horizontal, shin down). Keep the support leg at rest; seebalance-and-posturefor the weight shift. - Kick forward: quick
sequence— wind up (knee bent,UpLeg:[45,0,0], Leg:[90,0,0]) then snap out (UpLeg:[90,0,0], Leg:[0,0,0]). - Squat / crouch / bend your knees: BOTH legs partially flexed +
drop the body. e.g.
pose:{LeftUpLeg:[55,0,0],LeftLeg:[70,0,0],RightUpLeg:[55,0,0],RightLeg:[70,0,0]},root:{y:-0.30}. Deeper crouch → larger angles androot.y~-0.45. - Kneel: one leg deeply flexed under, the other knee forward; drop
root.y~-0.35. - Stomp: short
sequencelifting one foot (knee raise) then planting it (back to rest) — keep loop small (1–2).
Worked Actions
- "lift your right knee" →
{"durationMs":700,"pose":{"RightUpLeg":[90,0,0],"RightLeg":[90,0,0]},"say":"Knee up."} - "do a squat" →
{"durationMs":900,"pose":{"LeftUpLeg":[55,0,0],"LeftLeg":[70,0,0],"RightUpLeg":[55,0,0],"RightLeg":[70,0,0]},"root":{"y":-0.3},"say":"Squatting."} - "point your left foot" →
{"durationMs":600,"pose":{"LeftFoot":[60,0,0]}}
Limits & posture
Keep at least one foot grounded unless explicitly jumping. Hips 60..120-30..120
flexion, knees 0..150 (no hyperextension), ankles `. For two-leg moves (squat/crouch) stay symmetric and lower root.yso the feet appear planted (seebalance-and-posture`). Emit only the joints you change.