Guia de Configuração do Booster K1
Configuração passo a passo completa para o robô humanoide Booster K1 — desde a abertura da caixa até os primeiros passos de caminhada e integração de teleop na plataforma.
Preparação de Segurança e Espaço de Trabalho
Requisitos de espaço de trabalho
- Área mínima do piso: Superfície clara, dura e nivelada de 3 m × 3 m
- Altura do teto: Mínimo de 2,2m
- Sem obstáculos dentro do raio de operação durante o modo CAMINHAR
- Parada de emergência: Certifique-se de que o controle remoto está carregado e ao alcance antes de ligar
- Dispositivo de elevação: Necessário para o desenvolvimento do modo PERSONALIZADO — o robô deve ser suspenso antes de entrar no controle de nível de junta
Lista de verificação de desembalagem
- Inspecione todas as 22 juntas em busca de danos de transporte — mova cada uma gentilmente à mão no estado ÚMIDO
- Verifique se o cabo Ethernet está incluído e se sua estação de trabalho possui uma porta com fio livre
- Carregue completamente o controle remoto antes do primeiro uso
- Leia o Manual de Instruções do Booster Robotics K1 incluído na caixa
Ligar e Sequência de Inicialização
Configure sua interface Ethernet
O IP com fio padrão do K1 é 192.168.10.102Configure a interface de rede com fio do seu computador para:
- Endereço IP:
192.168.10.10 - Máscara de sub-rede:
255.255.255.0 - Gateway:
192.168.10.1
Verifique a conectividade
ping 192.168.10.102 # should respond with <5ms latency on wired
Inspecione o status de inicialização via SSH
ssh booster@192.168.10.102 # password: 123456 booster-cli launch -c status # confirm service is running
Instalação do SDK e primeira conexão
Instale o SDK Booster
O SDK oficial do Python é distribuído no PyPI e requer Python 3.8 ou posterior.
pip install booster_robotics_sdk_python --user
Primeira conexão do SDK e leitura de status
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}")
Gerencie o serviço do robô (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
Teste Básico de Locomoção
Sequência de transição de modo: DAMP → PREP → WALK
Sempre siga esta sequência exata. Nunca pule o PREP ou vá diretamente de DAMP para 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)
Parâmetros de velocidade de caminhada
A client.walk(forward, lateral, angular) chamada aceita:
- para frente: −0,5 a +0,5 m/s (positivo = para frente)
- lateral: −0,5 a +0,5 m/s (positivo = para a direita)
- angular: −1,0 a +1,0 rad/s (positivo = virar à esquerda)
Atalhos do controle remoto
- LT + INÍCIO: Entre no modo PREP
- RT + A: Entrar no modo CAMINHAR (a partir do PREP)
- LT + VOLTAR: Entre no modo DAMP
- Stick esquerdo: Direção da caminhada · Stick direito: Virar
- D-Pad: Movimento da cabeça
Ações predefinidas (modo ANDAR)
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
Manipulação de Braço
Controle de pose da cabeça
Controle de yaw da cabeça (±90°) e pitch (−40° a +30°) usando set_head_pose(yaw_rad, pitch_rad). Converta graus para radianos primeiro:
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)
Modo PERSONALIZADO — controle direto das articulações
# 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
Modos de agente integrados
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
Coleta de dados e Teleop da plataforma
A k1_agent.py O script conecta o Booster K1 à plataforma RoboticsCenter via WebSocket, permitindo operação remota, monitoramento de articulações e coleta de dados de demonstração a partir de um navegador.
Instale e inicie o agente
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
Telemetria transmitida pelo agente (8 Hz padrão)
- Ângulos das articulações para 6 articulações primárias em graus (j1–j6)
- Estados do motor: posição, RPM, temperatura por motor
- Componentes da velocidade de caminhada: vx, vy, wz
- Porcentagem da bateria e string do modo atual
- Nome do agente ativo (Padrão / Futebol / Dança / HiChat)
- Timestamp em milissegundos para alinhamento de quadros
booster-cli log -st YYYYMMDD-HHMMSS -et YYYYMMDD-HHMMSS -o /home/booster/Documents