Booster K1 Setup Guide

Complete step-by-step setup for the Booster K1 humanoid robot — from unboxing through first walking steps to platform teleop integration.

1

Safety & Workspace Preparation

Critical Safety Warning The Booster K1 is a full-size humanoid weighing over 40 kg. A fall can cause serious injury to people and damage to property. Never operate the K1 without a trained spotter present. Keep all observers at least 2 m back from the robot during walking tests.

Workspace requirements

  • Minimum floor area: 3 m × 3 m clear, hard, level surface
  • Ceiling clearance: Minimum 2.2 m
  • No obstacles within the operating radius during WALK mode
  • Emergency stop: Ensure the remote controller is charged and within reach before powering on
  • Lifting fixture: Required for CUSTOM mode development — the robot must be suspended before entering joint-level control

Unboxing checklist

  • Inspect all 22 joints for shipping damage — move each gently by hand in DAMP state
  • Verify Ethernet cable is included and your workstation has a free wired port
  • Charge the remote controller fully before first use
  • Read the Booster Robotics K1 Instruction Manual included in the box
2

Power On & Boot Sequence

Before powering on Confirm the robot is upright, stable, and your workspace is clear. The K1 boots into DAMP mode — all joints will be passively compliant. Do not command any mode changes until you have confirmed SDK connectivity.

Configure your Ethernet interface

The K1's default wired IP is 192.168.10.102. Set your computer's wired network interface to:

  • IP address: 192.168.10.10
  • Subnet mask: 255.255.255.0
  • Gateway: 192.168.10.1

Verify connectivity

ping 192.168.10.102   # should respond with <5ms latency on wired

Inspect boot status via SSH

ssh booster@192.168.10.102   # password: 123456
booster-cli launch -c status   # confirm service is running
Wireless option Configure WiFi via the Booster App — the robot will receive a dynamic IP. Use that IP instead of 192.168.10.102 for SDK connections.
3

SDK Installation & First Connection

Install the Booster SDK

The official Python SDK is distributed on PyPI and requires Python 3.8 or later.

pip install booster_robotics_sdk_python --user

First SDK connection and status read

import booster

client = booster.BoosterClient("192.168.10.102")
status = client.get_robot_status()

print(f"Mode:    {status.mode}")
print(f"Battery: {status.battery_percentage:.1f}%")
print(f"IMU:     {status.imu_status}")

Manage the robot service (SSH)

booster-cli launch -c start     # start service
booster-cli launch -c stop      # stop service
booster-cli launch -c restart   # restart service

cat /opt/booster/version.txt    # check firmware version
4

Basic Locomotion Test

Humanoid fall hazard Keep all people at least 2 m from the robot. Maintain a hand on the emergency stop at all times during initial locomotion tests. Do not attempt lateral speeds above 0.3 m/s until the robot is well-calibrated on your floor surface.

Mode transition sequence: DAMP → PREP → WALK

Always follow this exact sequence. Never skip PREP or go directly from DAMP to WALK.

import booster
import time

client = booster.BoosterClient("192.168.10.102")

# Step 1: Enter PREP — robot stands and holds position
client.change_mode(booster.Mode.PREP)
time.sleep(3)   # IMPORTANT: wait full 3s for balance stabilization
print("Robot standing in PREP mode.")

# Step 2: Enter WALK mode
client.change_mode(booster.Mode.WALK)
time.sleep(2)

# Step 3: Walk forward slowly
client.walk(0.2, 0.0, 0.0)   # forward 0.2 m/s
time.sleep(3)
client.walk(0.0, 0.0, 0.0)   # stop

# Return to standing
client.change_mode(booster.Mode.PREP)

Walking velocity parameters

The client.walk(forward, lateral, angular) call accepts:

  • forward: −0.5 to +0.5 m/s (positive = forward)
  • lateral: −0.5 to +0.5 m/s (positive = right)
  • angular: −1.0 to +1.0 rad/s (positive = turn left)

Remote controller shortcuts

  • LT + START: Enter PREP mode
  • RT + A: Enter WALK mode (from PREP)
  • LT + BACK: Enter DAMP mode
  • Left stick: Walk direction · Right stick: Turn
  • D-Pad: Head movement

Predefined actions (WALK mode)

client.play_action("wave")            # wave hand
client.play_action("handshake")       # handshake
client.play_action("bow")             # bow
client.play_action("fortune_cat")     # fortune cat pose
client.play_action("new_year_dance")  # new year dance
client.play_action("rock_dance")      # rock dance
5

Arm Manipulation

Head pose control

Control head yaw (±90°) and pitch (−40° to +30°) using set_head_pose(yaw_rad, pitch_rad). Convert degrees to radians first:

import math

def deg2rad(d): return d * math.pi / 180.0

# Look 30° left and 10° down
client.set_head_pose(deg2rad(30), deg2rad(-10))

# Return to center
client.set_head_pose(0.0, 0.0)

CUSTOM mode — direct joint control

CUSTOM mode requires physical support Only enter CUSTOM mode with the robot suspended on a lifting fixture. All 22 joints are directly controllable — the high-level balance controller is bypassed. Improper use will cause the robot to fall.
# Enter CUSTOM mode from PREP only, with robot on lifting device
client.change_mode(booster.Mode.CUSTOM)

# Joint indexing: j1=head_yaw, j2=head_pitch, j3–j22=body joints
# Refer to K1 Instruction Manual for full joint map

Built-in agent modes

client.enter_agent("default")   # Booster default agent
client.enter_agent("soccer")    # soccer agent
client.enter_agent("hi_chat")   # conversational AI agent
client.enter_agent("dance")     # dance agent
6

Data Collection & Platform Teleop

The k1_agent.py script bridges the Booster K1 to the RoboticsCenter platform via WebSocket, enabling remote operation, joint monitoring, and demonstration data collection from a browser.

Install and launch the agent

pip install websockets

# Real hardware
python k1_agent.py \
  --backend wss://your-backend.run.app \
  --session YOUR_SESSION_ID \
  --node-id k1-lab-01 \
  --telemetry-hz 8

# Mock mode — no K1 hardware required
python k1_agent.py \
  --backend ws://localhost:8000 \
  --session test-session \
  --mock

Telemetry streamed by the agent (8 Hz default)

  • Joint angles for 6 primary joints in degrees (j1–j6)
  • Motor states: position, RPM, temperature per motor
  • Walk velocity components: vx, vy, wz
  • Battery percentage and current mode string
  • Active agent name (Default / Soccer / Dance / HiChat)
  • Millisecond timestamp for frame alignment
Collect logs for debugging SSH into the robot and run: booster-cli log -st YYYYMMDD-HHMMSS -et YYYYMMDD-HHMMSS -o /home/booster/Documents
← Back to Overview Full Specifications →

Need Help with Setup?

Our team can walk you through initial commissioning in Mountain View or remotely.