Руководство по настройке VLAI L1
Полная пошаговая настройка VLAI L1 — от распаковки до калибровки с двумя руками, навигации по мобильной базе и сбора данных.
Сборка и проверка
Контрольный список распаковки
- Осмотрите оба рычага 7-DOF на наличие повреждений при транспортировке — вручную проверьте, чтобы все соединения свободно двигались.
- Убедитесь, что оба захвата 8 Нм собственной разработки надежно закреплены.
- Осмотрите мобильные базовые колеса — оба ведущих колеса должны вращаться свободно, без заеданий.
- Убедитесь, что подъемная стойка плавно скользит по всему диапазону (106–162 см).
- Убедитесь, что кабель Ethernet и адаптер питания находятся в коробке.
- Прочтите руководство по безопасности VLAI L1, включенное в пакет документации.
Требования к рабочему пространству
- Минимальная площадь помещения: 2 м × 2 м, чистая, ровная поверхность
- След робота: 46 см Ш × 60 см Д — оставьте зазор со всех сторон
- Вылет руки: 63 см на каждую руку — убедитесь, что в вытянутых руках нет препятствий в пределах досягаемости
- Власть: Стандартная розетка 110 В/220 В в радиусе 2 м
Установка SDK и настройка сети
Требования
- Python 3.10+ (рекомендуется 3.11)
- Уровень разработчика или выше (молодежный уровень не включает доступ к SDK)
- L1 включен и подключен к той же локальной сети (Ethernet или Wi-Fi 5 ГГц)
Установите SDK
pip install roboticscenter
Подключитесь и откройте телеоп-панель браузера
rc connect --device l1 # Terminal prints: Session ready → https://platform.roboticscenter.ai/session/RC-XXXX-XXXX # Open the URL in any browser to access the full teleop panel
Потоковая передача совместных данных через Python
from roboticscenter import L1Robot
robot = L1Robot.connect()
print(robot.session_url)
for frame in robot.stream():
joints = frame.data['joints']
print(f"Left: {joints['left_arm']}")
print(f"Right: {joints['right_arm']}")
print(f"Base: {frame.data['base']}")
rc connect --device l1 --mock чтобы начать полностью смоделированный сеанс L1. Все методы SDK, панель телеоперации браузера и запись данных работают одинаково в макетном режиме, что полезно для конвейеров CI и прототипирования рабочих процессов перед отправкой вашего устройства.
Двойная калибровка
В рычагах L1 используется протокол двигателя MIT с двойной обратной связью и управлением FOC. Калибровка устанавливает исходные положения и проверяет полную точность ±0,02 мм.
Проверьте совместные состояния ROS2
ros2 topic list
ros2 topic echo /joint_states # verify all 16 DOF are publishing
Запустите MoveIt2 для планирования движения.
ros2 launch l1_moveit l1_moveit.launch.py
# Opens RViz with full dual-arm URDF, collision checking, and Cartesian planning
Калибровка исходного положения
- На панели MoveIt2 RViz перейдите к Планирование вкладка
- Выберите дом названная цель для обеих рук
- Нажмите Планировать и выполнять — руки должны перейти в нейтральное выдвинутое положение
- Убедитесь, что совместные состояния соответствуют ожидаемой домашней конфигурации в терминале.
Калибровка захвата
# Open grippers fully ros2 topic pub /left_gripper/cmd std_msgs/Float32 "{data: 0.0}" ros2 topic pub /right_gripper/cmd std_msgs/Float32 "{data: 0.0}" # Close to 50% — verify 8Nm grippers engage smoothly ros2 topic pub /left_gripper/cmd std_msgs/Float32 "{data: 0.5}" ros2 topic pub /right_gripper/cmd std_msgs/Float32 "{data: 0.5}"
Мобильная базовая навигация
Тест диска с клавиатурой WASD
Откройте панель телеоператора браузера и используйте клавиши WASD для управления дифференциальной базой. Масштабирование скорости регулируется с помощью ползунка на панели (10%, 50%, 100%).
# Or command directly via ROS2 Twist ros2 topic pub /base/cmd_vel geometry_msgs/Twist \ "{linear: {x: 0.3, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 0.0}}" # Stop ros2 topic pub /base/cmd_vel geometry_msgs/Twist \ "{linear: {x: 0.0, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 0.0}}"
Тест диапазона подъема
Используйте вертикальный ползунок на панели телеоптики браузера, чтобы проверить полный диапазон подъема (106–162 см) при скорости 30 мм/с. Убедитесь, что движение плавное во всем диапазоне, без заеданий и скрежетаний.
# Monitor lift height ros2 topic echo /lift/state # current height in meters
Первая задача манипуляции
Элементы управления телеоптической панелью браузера
- Вид с двумя руками: 3D-визуализация обеих рук с 7 степенями свободы в реальном времени — углы суставов, положение рабочего органа (6D) и состояние захвата с частотой обновления <10 мс.
- Переключатель режима рабочего органа: Переключение для каждой руки независимо: захват (по умолчанию 8 Нм), ловкая рука или присоска.
- Каналы с камер: Нагрудная камера (Разработчик+), наручные камеры слева/справа (Разработчик Макс)
Простой выбор и размещение с помощью MoveIt2.
from roboticscenter import L1Robot robot = L1Robot.connect() # Move left arm to approach pose robot.left_arm.move_to(x=0.45, y=0.15, z=0.30, roll=0, pitch=90, yaw=0) # Open left gripper robot.left_arm.gripper.open() # Move down to grasp robot.left_arm.move_to(x=0.45, y=0.15, z=0.05, roll=0, pitch=90, yaw=0) # Close gripper to grasp robot.left_arm.gripper.close(force=0.6) # Lift robot.left_arm.move_to(x=0.45, y=0.15, z=0.35, roll=0, pitch=90, yaw=0)
Телеоперация в виртуальной реальности (Developer Pro и Max)
Подключите гарнитуру, совместимую с OpenXR, и запустите rc vr --session RC-XXXX-XXXX чтобы сопоставить позу контроллера руки непосредственно с конечным исполнительным органом каждой руки в декартовом пространстве, с тактильной обратной связью, пропорциональной предполагаемой контактной силе.
Сбор данных и конвейер в один клик
Каждый rc connect сессия — это именованная единица сбора данных. Сессии автоматически загружаются в рабочую область Fearless Platform при закрытии — ручной экспорт не требуется.
Что захватывается за кадр
- Совместные данные — Положение, скорость и усилие для всех 16 степеней свободы при частоте ~ 500 Гц с микросекундными метками времени.
- Потоки с камеры — RGB на груди (Developer+), RGB на запястье (Developer Max) — с меткой времени и синхронизацией с данными суставов в течение ±1 мс.
- Сила/контакт — Оценка силы челюсти захвата по току двигателя
- Базовое состояние — Одометрия колес, линейная/угловая скорость, высота подъема
- Действия оператора — Необработанный поток телеоптических команд для имитации обучения.
Маркировка эпизодов во время сбора
- Нажимать Космос на панели браузера, чтобы отметить границы эпизода
- Нажимать L чтобы аннотировать текущий кадр пользовательской строкой метки
Агент ROS2 для облачного моста
# Run on the L1's onboard computer to bridge topics to the platform
python l1_robot_agent.py \
--backend wss://platform.roboticscenter.ai \
--session RC-XXXX-XXXX \
--ros2
Форматы экспорта наборов данных
Очищенные и аннотированные сеансы экспортируются в формат LeRobot (манифест HDF5 + JSON), RLDS или необработанный JSONL + MP4. Используйте Данные вкладка на платформе для настройки экспорта и загрузки.