Guide de configuration du Booster K1
Configuration complète étape par étape pour le robot humanoïde Booster K1 — du déballage aux premières étapes de marche jusqu'à l'intégration téléop de la plateforme.
Sécurité et préparation de l'espace de travail
Exigences relatives à l'espace de travail
- Surface minimale au sol : 3 m × 3 m surface claire, dure et plane
- Dégagement au plafond : Minimum 2,2 m
- Aucun obstacle dans le rayon de fonctionnement en mode WALK
- Arrêt d'urgence : Assurez-vous que la télécommande est chargée et à portée de main avant de la mettre sous tension
- Dispositif de levage : Requis pour le développement en mode PERSONNALISÉ — le robot doit être suspendu avant d'entrer dans le contrôle au niveau des articulations
Liste de contrôle de déballage
- Inspectez les 22 joints pour déceler tout dommage causé par le transport ; déplacez-les doucement à la main dans un état HUMIDE.
- Vérifiez que le câble Ethernet est inclus et que votre poste de travail dispose d'un port filaire libre
- Chargez complètement la télécommande avant la première utilisation
- Lisez le manuel d’instructions du Booster Robotics K1 inclus dans la boîte
Séquence de mise sous tension et de démarrage
Configurez votre interface Ethernet
L'adresse IP filaire par défaut du K1 est 192.168.10.102. Configurez l'interface réseau filaire de votre ordinateur sur :
- Adresse IP :
192.168.10.10 - Masque de sous-réseau :
255.255.255.0 - Porte :
192.168.10.1
Vérifier la connectivité
ping 192.168.10.102 # should respond with <5ms latency on wired
Inspecter l'état de démarrage via SSH
ssh booster@192.168.10.102 # password: 123456 booster-cli launch -c status # confirm service is running
Installation du SDK et première connexion
Installez le SDK Booster
Le SDK Python officiel est distribué sur PyPI et nécessite Python 3.8 ou version ultérieure.
pip install booster_robotics_sdk_python --user
Première connexion au SDK et lecture de l'état
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}")
Gérer le service robot (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
Test de locomotion de base
Séquence de transition de mode : HUMIDE → PREP → WALK
Suivez toujours cette séquence exacte. Ne sautez jamais la PREP et ne passez jamais directement de HUMIDE à 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)
Paramètres de vitesse de marche
Le client.walk(forward, lateral, angular) l'appel accepte :
- avant : −0,5 à +0,5 m/s (positif = avant)
- latérale: −0,5 à +0,5 m/s (positif = droite)
- angulaire: −1,0 à +1,0 rad/s (positif = tourner à gauche)
Raccourcis de la télécommande
- LT + DÉBUT : Passer en mode PRÉP
- RT + A : Entrez en mode MARCHE (à partir de PREP)
- LT + RETOUR : Entrez en mode HUMIDE
- Stick gauche : Sens de marche · Stick droit : Tourner
- D-Pad : Mouvement de la tête
Actions prédéfinies (mode MARCHE)
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
Manipulation des bras
Contrôle de la pose de la tête
Commandez le lacet (±90°) et le tangage (−40° à +30°) de la tête en utilisant set_head_pose(yaw_rad, pitch_rad). Convertissez d'abord les degrés en radians :
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)
Mode PERSONNALISÉ — contrôle conjoint direct
# 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
Modes d'agent intégrés
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
Collecte de données et plateforme Teleop
Le k1_agent.py Le script relie le Booster K1 à la plate-forme RoboticsCenter via WebSocket, permettant un fonctionnement à distance, une surveillance conjointe et une collecte de données de démonstration à partir d'un navigateur.
Installer et lancer l'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
Télémétrie diffusée par l'agent (8 Hz par défaut)
- Angles de joint pour 6 joints primaires en degrés (j1–j6)
- Etats du moteur : position, RPM, température par moteur
- Composantes de vitesse de marche : vx, vy, wz
- Pourcentage de batterie et chaîne de mode actuel
- Nom de l'agent actif (par défaut / Football / Danse / HiChat)
- Horodatage en millisecondes pour l'alignement des images
booster-cli log -st YYYYMMDD-HHMMSS -et YYYYMMDD-HHMMSS -o /home/booster/Documents