Skip to content

Go2 Robot - Actions

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
Sit Action

You can find the script here.

Perform a back flip

BackFlip action

Content

Contented/relaxed gesture

Dance1

Dance routine 1

Dance1

Dance2

Dance routine 2

Dance2

FrontFlip

Perform a front flip (advanced)

FrontJump

Front Jump

FrontPounce

Front Pounce

Heart

Heart gesture with legs

Hello

Greeting gesture

Hello

LeftFlip

Perform a left flip (advanced)

Left Flip

RecoveryStand

Recover from a fall and return to standing

Scrape

Scraping motion with the forelegs

StandDown

Lower body to rest (safe stand down)

StandDown

StandUp

Stand up from sitting/lying to a stable stance

StandUp

Stretch

Full-body stretch sequence

Stretch