name: walk-a-circle description: Walks a full circular loop and returns to the start, via a sequence of root waypoints around a circle with a tangent facing. Use when a command mentions walk in a circle, walk a loop, do a circle, or circle around and come back. category: locomotion disable-model-invocation: true subskills: [walk, turn-and-face]
walk-a-circle
Trace a circle on the floor back to start, the heading staying tangent to the path.
Composes: walk + turn-and-face
How
- Use a
sequencewithloop:false. Framerootis ABSOLUTE; compute the travel axis fromstate.position+state.faceDeg(0=+Z, 90=+X). The example assumes origin facing +Z. - Place 4-5
rootwaypoints around a circle, settingfaceDegtangent (0, 90, 180, 270, 360). durationMs~5000.
Example
- "walk in a circle" ->
{"durationMs":5000,"say":"Walking in a circle.","sequence":{"loop":false,"frames":[{"t":0,"root":{"x":0,"z":0,"faceDeg":0}},{"t":0.25,"root":{"x":1,"z":1,"faceDeg":90}},{"t":0.5,"root":{"x":0,"z":2,"faceDeg":180}},{"t":0.75,"root":{"x":-1,"z":1,"faceDeg":270}},{"t":1,"root":{"x":0,"z":0,"faceDeg":360}}]}}
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.