gestures·
⏱ 45s
Every arm gesture, dispatched through g1_arm_action(action=...).
auto-release needs FSM 500/501/801
| action | key | · | action | key |
|---|---|---|---|---|
| face wave | 'face wave' |
· | hug | 'hug' |
| high wave | 'high wave' |
· | clap | 'clap' |
| shake hand | 'shake hand' |
· | hands up | 'hands up' |
| high five | 'high five' |
· | right hand up | 'right hand up' |
| heart | 'heart' |
· | reject | 'reject' |
| right heart | 'right heart' |
· | x-ray | 'x-ray' |
| kiss | 'two-hand kiss' |
· | left/right kiss | 'left kiss' / 'right kiss' |
👋 wave, live·
Triggered from the dashboard — g1_arm_action('high wave') on the real robot.
what happens under the hood·
- FSM gate — not in
{500,501,801}? auto-transition or refuse (rc=7404). - Arm mutex — locks
rt/armsdk(single-writer). Never parallelize arm calls. - Dispatch —
G1ArmActionClient.ExecuteAction(id). - Auto-release — action id 99 back to neutral.
See FSM + errors for the state machine.