Skip to main content

Quick Start (Real Robot)

This guide walks you through controlling a real GR-3 robot using the Fourier Aurora SDK.


Login to the System

Local Login

Connect a monitor, keyboard, and mouse to the robot's chest computer. After boot, the user credentials are:

Username: robot name in lowercase (e.g., gr301aa0015)

Default password: fftai2015

Remote Login (SSH)

You can SSH into the robot's chest computer remotely.

Wired connection: Connect your PC to the robot via Ethernet and configure the PC's IPv4 settings:

  • IP address: 192.168.137.X (X should avoid conflicts with motor IPs)
  • Subnet mask: 255.255.255.0
  • Gateway: 192.168.137.1

Network Settings

Run the SSH command using the robot's serial number. For example, for robot GR301AA0015:

Bash
ssh gr301aa0015@192.168.137.220

Default password: fftai2015

Wireless connection: Connect your PC to the robot's Wi-Fi first. The SSID follows the format GR301AA0015_5G or GR301AA0015_2.4G, with password fftai,2015. Once connected, SSH in the same way as the wired method above.


Control the Robot

1. Joystick Control

warning

Joystick control is not yet available in the current release. We appreciate your patience — this feature is on our roadmap and will be opened in a future update. Stay tuned!

After Aurora starts, press LB + B on the gamepad. If you use the preinit script, the terminal will show a transition from Default to PdStand — the robot bends its legs and enters a standing posture while suspended.

Terminal Stand

Lower the robot from the lift and place it upright on the ground. The robot begins standing.

Stance

Press RB + A. The terminal transitions from PdStand to RLLocomotion:

Terminal Walk

Use the left joystick (vertical axis) to control forward/backward speed, and the right joystick for turning. Push the left stick forward — the robot walks.

Next Steps

This tutorial covers basic standing and walking. For more states and features, see the GR Controller.

2. Python Client Control

You can also control the robot programmatically using the Aurora Python client.

Install the Client

Open a new terminal (inside the Docker container or your local Python environment) and run:

Bash
sudo apt install python3-pip
pip install --force-reinstall /opt/fftai/fourier_aurora_client/*.whl
warning

Python version must be >= 3.9 if using a local environment.

If you are running the Python client from a virtual environment or from a remote host, several environment variables need to be set:

Bash
export FASTDDS_BUILTIN_TRANSPORTS=UDPv4
export FOURIERDDS_ROS_COMPATIBLE=true
export FOURIERDDS_USE_DISCOVERY_SERVER=false

Or set them inside a Python script:

Python
import os
from fourier_aurora_client import AuroraClient

os.environ["FASTDDS_BUILTIN_TRANSPORTS"] = "UDPv4"
os.environ["FOURIERDDS_ROS_COMPATIBLE"] = "true"
os.environ["FOURIERDDS_USE_DISCOVERY_SERVER"] = "false"

client = AuroraClient.get_instance(domain_id=123) # Aurora uses domain_id=123 by default
# rest of the code ...

Run the Quick Start Demo

Run the following example in your virtual environment:

Python
import os
import time
from fourier_aurora_client import AuroraClient

if __name__ == "__main__":

# Set up environment variables
os.environ["FASTDDS_BUILTIN_TRANSPORTS"] = "UDPv4"
os.environ["FOURIERDDS_ROS_COMPATIBLE"] = "true"
os.environ["FOURIERDDS_USE_DISCOVERY_SERVER"] = "false"

# Initialize client
client = AuroraClient.get_instance(domain_id=123, robot_name="gr3")
time.sleep(1)

# Use set_fsm_state() to switch FSM state. See the controller docs for the state mapping table.
cmd = input("Press Enter to switch to PdStand...")
client.set_fsm_state(2)
time.sleep(1.0)

# Use set_velocity_source() to set velocity command. For client velocity control, velocity source should be set to 2.
cmd = input("Press Enter to enter walk task...")
client.set_fsm_state(3)
time.sleep(1.0)
client.set_velocity_source(2)

# Use set_vel() to set velocity command.
cmd = input("Press Enter to walk...")
client.set_velocity(0.2, 0.0, 0.0, 3.0)
time.sleep(1.0)

client.close()
print("client usage demo completed successfully.")

The terminal will show matched communication topics (visible when using the preinit script):

Matched Matched 1

When prompted "Press Enter to switch to PdStand...", press Enter. The Aurora terminal transitions from Default to PdStand:

Terminal Stand 1

Place the robot on the ground — it begins standing:

Stance 1

When prompted "Press Enter to enter walk task...", press Enter. The terminal transitions to RLLocomotion:

Terminal Walk

When prompted "Press Enter to walk...", press Enter. The client sends a forward velocity command of 0.2 m/s via set_velocity, and the robot starts walking.