Step 1: Power On and Boot Sequence
The K1 has a defined boot sequence. Do not interrupt it.
- Verify the K1 is on the safety mat and in the center of the 3 m × 3 m clear area.
- Spotter takes position with e-stop in hand.
- Connect the Ethernet cable from your host PC to the K1's Ethernet port.
- Connect power. The K1's LED will begin a boot sequence — do not touch the robot during this phase.
- Wait approximately 60 seconds for the boot sequence to complete. You will see a final LED state indicating ready status.
Step 2: Network Configuration
# Configure your PC's Ethernet interface
sudo ip addr flush dev eth0
sudo ip addr add 192.168.10.10/24 dev eth0
sudo ip link set eth0 up
# Verify connectivity
ping -c 4 192.168.10.102
If ping does not respond, verify: (1) the K1 is fully booted, (2) the Ethernet cable is seated at both ends, (3) you are using the correct network interface name (use ip link show to list interfaces).
Step 3: SSH into the K1
ssh booster@192.168.10.102
# Default password: booster123 (change this in production)
# Verify services are running
sudo systemctl status booster_control.service
The control service should be active and running. If not, check journalctl -u booster_control.service -n 50 for error messages.
Step 4: Install the SDK on Your Host PC
python3 -m venv ~/.venvs/booster-k1
source ~/.venvs/booster-k1/bin/activate
pip install booster_robotics_sdk_python
Step 5: Read Joint States
Your first SDK interaction. This reads joint state only — no motion commands yet.
from booster_robotics_sdk import BoosterRobot, RobotMode
robot = BoosterRobot(ip="192.168.10.102")
robot.connect()
# Confirm current mode
state = robot.get_state()
print(f"Mode: {state.mode}")
assert state.mode == RobotMode.DAMP, "Robot is not in DAMP mode — stop here"
# Read all joint positions
print(f"Joint positions (rad): {state.joint_positions}")
print(f"IMU euler (deg): {state.imu_euler}")
robot.disconnect()
Step 6: First Command — Confirm DAMP Behavior
DAMP mode means zero-torque / low-impedance. In DAMP, you can gently move the robot's limbs by hand. Verify this before moving to Unit 2.
# Confirm DAMP is active
robot.connect()
robot.set_mode(RobotMode.DAMP)
state = robot.get_state()
print(f"Mode after set: {state.mode}") # Should print: DAMP
robot.disconnect()
With DAMP confirmed, gently push one of the arm joints. You should feel very low resistance. Do not push limb joints to their end-stops.
Unit 1 Complete When...
You can ping 192.168.10.102, the SDK connects and reads joint state without errors, mode shows DAMP, and you have confirmed DAMP behavior by gently moving a limb. Log the output of state.joint_positions — you will compare this in Unit 2.