Skip to content

locomotion·

⏱ 45s

Walking, turning, posture — the dangerous stuff. Every command needs explicit user approval in the agent loop.

Robot can fall

Clear floor, operator within reach, ~500 ms stop latency. See safety.

intent call
walk 30 cm g1_walk_forward(distance=0.3, speed=0.2)
turn 90° g1_turn(angle_rad=1.57, yaw_rate=0.4)
strafe right g1_move_velocity(vx=0, vy=0.2, vyaw=0, duration=2)
stop (safe) g1_stop_move()
squat → stand g1_safe_squat_to_stand()
lie → stand g1_safe_lie_to_stand()
damp (safe) g1_set_fsm(1)

🎙 voice-driven walking, live·

Strands bidirectional speech-to-speechg1_move_velocity → the G1 steps. Spoken command in, motion out, in real time.

walk forward
walk backward

clamps·

axis unit safe range
vx m/s 0.1 – 0.3
vy m/s ±0.1 – 0.2
vyaw rad/s ±0.3
duration s 0.1 – 10.0 (capped)

Only duration is hard-clamped; velocities pass through — keep them small.

a walk, start to finish·

sequenceDiagram
    autonumber
    participant U as 🗣️ user
    participant A as 🧠 neon
    participant F as 🎛️ FSM
    participant L as 🚶 LocoClient

    U->>A: "walk forward 30 cm"
    A->>A: g1_get_state() · check fsm · battery
    A-->>U: confirm? (approval gate)
    U->>A: "yes"
    A->>F: g1_set_fsm(501)
    F-->>A: fsm=501 ready
    A->>L: Move(0.2,0,0) 1.5s → stop
    A-->>U: ✅ walked · fsm=501

safety model gestures walk recipe