Introduction
The Go2 robot can perform a number of actions. This can be done via the app or via the WebRTC connection.
Actions
Using my modified go2_webrtc_connect package from here, you can list and execute the available actions:
% go2action --list
BackFlip - Perform a back flip (advanced)
BalanceStand - Enter a balanced standing pose with enhanced stability
Content - Contented/relaxed gesture
Dance1 - Dance routine 1
Dance2 - Dance routine 2
FrontFlip - Perform a front flip (advanced)
FrontJump - Jump forward
FrontPounce - Forward pounce
Handstand - Enter a handstand pose (advanced)
Heart - Heart gesture with legs
Hello - Greeting gesture
LeftFlip - Perform a left flip (advanced)
RecoveryStand - Recover from a fall and return to standing
RiseSit - Rise the body from sitting pose
Scrape - Scraping motion with the forelegs
Sit - Sit down
StandDown - Lower body to rest (safe stand down)
StandUp - Stand up from sitting/lying to a stable stance
Stretch - Full-body stretch sequence
Sit Down
% go2action Sit --monitor
🔌 Initializing robot connection...
🔗 Connecting to robot...
🕒 WebRTC connection : 🟡 started (21:30:21)
🕒 Signaling State : 🟡 have-local-offer (21:30:21)
🕒 ICE Gathering State : 🟡 gathering (21:30:21)
🕒 ICE Gathering State : 🟢 complete (21:30:21)
🕒 ICE Connection State : 🔵 checking (21:30:21)
🕒 Peer Connection State : 🔵 connecting (21:30:21)
🕒 Signaling State : 🟢 stable (21:30:21)
🕒 ICE Connection State : 🟢 completed (21:30:21)
🕒 Peer Connection State : 🟢 connected (21:30:21)
INFO:root:Validation succeed
🕒 Data Channel Verification: ✅ OK (21:30:21)
✅ Connected to robot successfully!
📊 Setting up state monitoring...
✅ State monitoring enabled
🤖 State #1: Mode=0, Progress=0, Gait=0, Height=0.315m, Roll=0.012, Pitch=-0.018, Yaw=-0.003
📋 Current motion mode: mcf
🎯 Executing command: Sit
🤖 State #45: Mode=0, Progress=0, Gait=0, Height=0.316m, Roll=0.009, Pitch=-0.015, Yaw=-0.015
🤖 State #46: Mode=0, Progress=0, Gait=0, Height=0.316m, Roll=0.019, Pitch=-0.002, Yaw=-0.017
🤖 State #51: Mode=0, Progress=0, Gait=0, Height=0.315m, Roll=0.029, Pitch=-0.033, Yaw=-0.013
🤖 State #52: Mode=0, Progress=0, Gait=0, Height=0.321m, Roll=0.035, Pitch=-0.073, Yaw=-0.017
🤖 State #53: Mode=0, Progress=0, Gait=0, Height=0.329m, Roll=0.044, Pitch=-0.145, Yaw=-0.025
🤖 State #54: Mode=0, Progress=0, Gait=0, Height=0.335m, Roll=0.061, Pitch=-0.233, Yaw=-0.035
🤖 State #55: Mode=0, Progress=0, Gait=0, Height=0.338m, Roll=0.083, Pitch=-0.307, Yaw=-0.051
🤖 State #56: Mode=0, Progress=0, Gait=0, Height=0.336m, Roll=0.079, Pitch=-0.378, Yaw=-0.066
🤖 State #57: Mode=0, Progress=0, Gait=0, Height=0.328m, Roll=0.082, Pitch=-0.459, Yaw=-0.073
🤖 State #58: Mode=0, Progress=0, Gait=0, Height=0.316m, Roll=0.046, Pitch=-0.534, Yaw=-0.060
🤖 State #59: Mode=0, Progress=0, Gait=0, Height=0.302m, Roll=0.016, Pitch=-0.617, Yaw=-0.034
🤖 State #60: Mode=0, Progress=0, Gait=0, Height=0.281m, Roll=-0.010, Pitch=-0.685, Yaw=-0.003
🤖 State #61: Mode=0, Progress=0, Gait=0, Height=0.271m, Roll=0.003, Pitch=-0.749, Yaw=0.005
🤖 State #62: Mode=0, Progress=0, Gait=0, Height=0.258m, Roll=0.002, Pitch=-0.826, Yaw=-0.007
🤖 State #63: Mode=0, Progress=0, Gait=0, Height=0.247m, Roll=-0.004, Pitch=-0.873, Yaw=-0.027
🤖 State #64: Mode=0, Progress=0, Gait=0, Height=0.242m, Roll=-0.010, Pitch=-0.895, Yaw=-0.023
🤖 State #65: Mode=0, Progress=0, Gait=0, Height=0.242m, Roll=-0.023, Pitch=-0.888, Yaw=-0.020
🤖 State #66: Mode=0, Progress=0, Gait=0, Height=0.243m, Roll=-0.023, Pitch=-0.875, Yaw=-0.024
🤖 State #68: Mode=0, Progress=0, Gait=0, Height=0.243m, Roll=-0.013, Pitch=-0.862, Yaw=-0.035
🤖 State #70: Mode=0, Progress=0, Gait=0, Height=0.244m, Roll=-0.004, Pitch=-0.860, Yaw=-0.046
🤖 State #76: Mode=0, Progress=0, Gait=0, Height=0.245m, Roll=0.003, Pitch=-0.859, Yaw=-0.056
🤖 State #116: Mode=0, Progress=0, Gait=0, Height=0.246m, Roll=0.003, Pitch=-0.870, Yaw=-0.058
✅ Command Sit executed successfully
🕒 Signaling State : ⚫ closed (21:30:28)
🕒 ICE Connection State : ⚫ closed (21:30:28)
🕒 Peer Connection State : ⚫ closed (21:30:28)
🕒 WebRTC connection : 🔴 disconnected (21:30:28)
✅ WebRTC connection closed successfully
You can record the movement of the robot and plot it in a nice graph with the following command:
% python extract.py --log_file log.txt

You can find the script here.
Perform a back flip
BackFlip action
Content
Contented/relaxed gesture
Dance1
Dance routine 1

Dance2
Dance routine 2

FrontFlip
Perform a front flip (advanced)
FrontJump

FrontPounce

Heart
Heart gesture with legs
Hello
Greeting gesture

LeftFlip
Perform a left flip (advanced)

RecoveryStand
Recover from a fall and return to standing
Scrape
Scraping motion with the forelegs
StandDown
Lower body to rest (safe stand down)

StandUp
Stand up from sitting/lying to a stable stance

Stretch
Full-body stretch sequence
