Руководство по установке Booster K1

Полная пошаговая настройка робота-гуманоида Booster K1 — от распаковки до первых шагов и интеграции платформы с телеоператором.

1

Безопасность и подготовка рабочего пространства

Критическое предупреждение о безопасности Booster K1 представляет собой полноразмерного гуманоида весом более 40 кг. Падение может привести к серьезным травмам людей и материальному ущербу. Никогда не эксплуатируйте K1 без присутствия обученного наблюдателя. Во время испытаний при ходьбе все наблюдатели должны находиться на расстоянии не менее 2 м от робота.

Требования к рабочему пространству

  • Минимальная площадь помещения: 3 м × 3 м чистая, твердая, ровная поверхность
  • Высота потолка: Минимум 2,2 м
  • Никаких препятствий в радиусе действия в режиме ПРОГУЛКА
  • Аварийная остановка: Перед включением питания убедитесь, что пульт дистанционного управления заряжен и находится в пределах досягаемости.
  • Подъемное приспособление: Требуется для разработки режима CUSTOM — робот должен быть приостановлен перед входом в управление на уровне суставов.

Контрольный список распаковки

  • Осмотрите все 22 соединения на предмет повреждений при транспортировке — осторожно перемещайте каждое вручную во влажном состоянии.
  • Убедитесь, что кабель Ethernet включен в комплект поставки и на вашей рабочей станции есть свободный проводной порт.
  • Полностью зарядите пульт дистанционного управления перед первым использованием.
  • Прочтите руководство по эксплуатации Booster Robotics K1, входящее в комплект поставки.
2

Последовательность включения и загрузки

Перед включением Убедитесь, что робот находится в вертикальном положении, устойчив и ваше рабочее пространство свободно. K1 загружается в режиме DAMP — все соединения будут пассивно совместимыми. Не подавайте команды на изменение режима, пока не подтвердите подключение SDK.

Настройте интерфейс Ethernet

Проводной IP-адрес K1 по умолчанию: 192.168.10.102. Настройте проводной сетевой интерфейс вашего компьютера на:

  • IP-адрес: 192.168.10.10
  • Маска подсети: 255.255.255.0
  • Шлюз: 192.168.10.1

Проверьте подключение

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

Проверьте статус загрузки через SSH

ssh booster@192.168.10.102   # password: 123456
booster-cli launch -c status   # confirm service is running
Беспроводной вариант Настройте Wi-Fi через приложение Booster — робот получит динамический IP. Используйте этот IP-адрес вместо 192.168.10.102 для подключений SDK.
3

Установка SDK и первое подключение

Установите Booster SDK

Официальный Python SDK распространяется на PyPI и требует Python 3.8 или более поздней версии.

pip install booster_robotics_sdk_python --user

Первое подключение SDK и чтение статуса

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}")

Управление службой роботов (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

Базовый тест на локомоцию

Опасность падения гуманоида Держите всех людей на расстоянии не менее 2 м от робота. Во время начальных испытаний на движение всегда держите руку на аварийной остановке. Не пытайтесь развивать боковую скорость выше 0,3 м/с, пока робот не будет хорошо откалиброван на поверхности пола.

Последовательность смены режимов: ВЛАЖНОСТЬ → ПОДГОТОВКА → ПРОГУЛКА.

Всегда соблюдайте именно эту последовательность. Никогда не пропускайте ПОДГОТОВКУ и не переходите сразу от ВЛАЖНОСТИ к ПРОГУЛКЕ.

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)

Параметры скорости ходьбы

The client.walk(forward, lateral, angular) звонок принимает:

  • вперед: от −0,5 до +0,5 м/с (положительный = вперед)
  • боковой: от −0,5 до +0,5 м/с (положительный = вправо)
  • угловой: от −1,0 до +1,0 рад/с (положительный = поворот налево)

Ярлыки пульта дистанционного управления

  • ЛТ + СТАРТ: Войдите в режим подготовки
  • РТ+А: Войдите в режим ПРОГУЛКИ (из PREP)
  • ЛТ + НАЗАД: Войдите в режим DAMP
  • Левый джойстик: Направление ходьбы · Правый джойстик: Повернуть
  • D-Pad: Движение головы

Предопределенные действия (режим ПРОГУЛКА)

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

Манипуляции с руками

Контроль позы головы

Управляйте поворотом головки (±90°) и наклоном (от −40° до +30°) с помощью set_head_pose(yaw_rad, pitch_rad). Сначала преобразуем градусы в радианы:

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 — прямое совместное управление

Режим CUSTOM требует физической поддержки. Входите в ПОЛЬЗОВАТЕЛЬСКИЙ режим только в том случае, если робот подвешен на подъемном приспособлении. Все 22 шарнира управляются напрямую — контроллер баланса высокого уровня обходится. Неправильное использование может привести к падению робота.
# 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

Встроенные режимы агента

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

Сбор данных и платформа Teleop

The k1_agent.py Скрипт соединяет Booster K1 с платформой RoboticsCenter через WebSocket, обеспечивая удаленное управление, совместный мониторинг и сбор демонстрационных данных из браузера.

Установите и запустите агент

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

Телеметрия, передаваемая агентом (по умолчанию 8 Гц)

  • Углы суставов для 6 первичных суставов в градусах (j1–j6)
  • Состояние двигателя: положение, частота вращения, температура каждого двигателя.
  • Компоненты скорости ходьбы: vx, vy, wz
  • Процент заряда батареи и строка текущего режима
  • Имя активного агента (по умолчанию / Soccer / Dance / HiChat)
  • Метка времени в миллисекундах для выравнивания кадра
Сбор логов для отладки Подключитесь к роботу по SSH и запустите: booster-cli log -st YYYYMMDD-HHMMSS -et YYYYMMDD-HHMMSS -o /home/booster/Documents
← Назад к обзору Полные характеристики →

Нужна помощь с настройкой?

Наша команда может провести вас через первоначальный ввод в эксплуатацию в Маунтин-Вью или удаленно.