Введение
Качественные данные — основа современной робототехники. Без них невозможно обучить нейросеть уверенно схватывать предметы, собирать детали или выполнять сложные сборочные операции. Однако сбор таких данных до сих пор остаётся узким местом: коммерческие системы закрыты, проприетарные форматы несовместимы, а каждое новое исследование вынуждено изобретать собственный пайплайн. В июле 2026 года команда исследователей представила проект Grabette — открытую систему для записи данных манипуляции роботов, которая призвана решить эту проблему. Подробности опубликованы в блоге Hugging Face Источник.
Grabette — это не просто очередной датасет, а полноценная инфраструктура: от аппаратного обеспечения до форматов хранения. Её главная цель — унифицировать процесс сбора данных и сделать их доступными для всех участников сообщества робототехники. В этой статье разберём, как устроена система, чем она отличается от существующих решений и почему это может стать важным шагом для индустрии.
Что такое Grabette и зачем он нужен
Разработчики Grabette исходили из простой предпосылки: манипуляционные данные должны быть стандартизированы и открыты. В отличие от, например, наборов данных для компьютерного зрения (ImageNet, COCO), в робототехнике до сих пор нет общепринятого формата для записи движений манипулятора, силы захвата и показаний датчиков. Каждая лаборатория использует свои проприетарные протоколы, что затрудняет воспроизведение результатов и сравнение алгоритмов.
Grabette предлагает комплексное решение:
- аппаратный модуль для сбора данных с нескольких сенсоров одновременно;
- программное обеспечение для синхронизации и хранения;
- открытый формат данных на основе HDF5;
- интеграцию с популярными фреймворками (ROS 2, PyBullet, MuJoCo).
Важно, что система разработана как open source — все исходные коды и чертежи доступны на GitHub под лицензией MIT. Это означает, что любой исследователь может не только использовать готовую сборку, но и адаптировать её под свои задачи.
Ключевые особенности системы
1. Многомодальный сбор данных
Grabette позволяет одновременно записывать:
- положение и ориентацию звеньев манипулятора (через энкодеры или трекинг);
- силу и моменты в каждом сочленении (шестиосевые датчики силы/момента);
- тактильную обратную связь (от резистивных или ёмкостных сенсоров);
- видео с нескольких камер (глубинные и RGB);
- данные с микрофона (акустика контакта).
Все потоки синхронизируются с точностью до 1 миллисекунды — критически важно для обучения моделей, которые должны понимать причинно-следственные связи между действием и реакцией.
2. Открытый формат HDF5
В отличие от бинарных логов, которые сложно парсить, Grabette использует иерархический формат данных HDF5 (Hierarchical Data Format). Файл представляет собой древовидную структуру, где каждая ветвь соответствует определённому датчику или временному отрезку. Такой формат поддерживается большинством языков программирования (Python, C++, Julia) и легко читается без дополнительных библиотек.
Пример структуры файла:
/experiment_01/
/scene_config (JSON-метаданные: объекты, тип манипулятора)
/joint_states (временной ряд: positions, velocities, torques)
/force_sensor (силы и моменты по осям x,y,z)
/cameras/
/camera_left (изображения, timestamps)
/depth_sensor (глубинные карты)
/gripper_status (ширина захвата, сила сжатия)
3. Встраиваемое аппаратное обеспечение
Разработчики опубликовали полные чертежи и BOM (Bill of Materials) для сборки Grabette-устройства. В основе лежит микроконтроллер ESP32-S3 (доступный и дешёвый), который агрегирует данные от датчиков и передаёт их по Wi-Fi или USB на хост-компьютер. Система поддерживает горячее подключение — датчики можно добавлять без перезагрузки.
Для интеграции с роботами используются стандартные интерфейсы: GPIO, I2C, SPI и CAN bus. Это позволяет подключать Grabette к большинству промышленных и образовательных манипуляторов — от Franka Emika Panda до UR5 и бюджетных моделей от Dobot.
4. Программное обеспечение и ROS 2
Основная библиотека написана на Python и C++ с биндингами. Для ROS 2 (Robot Operating System) предоставляется готовый пакет, который превращает Grabette в ноду — топики публикуются в стандартном формате sensor_msgs и trajectory_msgs. Таким образом, данные можно сразу использовать для обучения в симуляции или для воспроизведения движений на реальном роботе без конвертации.
Кроме того, в репозитории содержатся примеры для:
- вывода данных в реальном времени (RViz);
- записи демонстраций с помощью Teach Pendant;
- автоматической разметки объектов (с помощью сегментации YOLOv8).
Как Grabette сравнивается с существующими решениями
| Критерий | Grabette | Проприетарные системы (KUKA iiwa, Universal Robots) | Другие open-source решения (e.g., ROS bag) |
|---|---|---|---|
| Стоимость | Бесплатно (open source) | Лицензии до $10 000/год | Бесплатно, но без аппаратной части |
| Многомодальность | Из коробки: сила, тактил, аудио, видео | Часто только joint states и force | Требуется ручная интеграция |
| Готовность к обучению | Прямая загрузка в PyTorch/TensorFlow | Требуется конвертация | Зависит от формата |
| Аппаратная поддержка | Любые датчики через GPIO/I2C/SPI/CAN | Только встроенные сенсоры | Нет аппаратной части |
| Синхронизация | 1 мс (аппаратная метка времени) | Обычно 10-100 мс | Программная, до 50 мс |
Очевидно, что Grabette выигрывает по открытости и гибкости, особенно для исследовательских групп с ограниченным бюджетом.
Практический пример: обучение навыку сборки
Допустим, вы хотите научить робота собирать конструктор LEGO. Для этого необходимо записать движения человека, который манипулирует деталями. С Grabette процесс выглядит так:
1. Установите датчики на перчатку оператора (тактильные сенсоры на пальцах, IMU на запястье) и камеру над рабочим столом.
2. Запустите запись через grabette record --task assembly_lego.
3. Выполните сборку вручную — система автоматически сохранит все движения, силу захвата, видео и звук щелчков.
4. После записи запустите скрипт grabette export --format h5 — данные готовы.
5. Обучите нейросеть (например, поведенческое клонирование через Diffusion Policy) на полученном наборе.
Такой пайплайн уже протестирован в лаборатории авторов — модель, обученная на 50 демонстрациях, достигла 83% успешных сборок без дополнительной дообучения в симуляции.
Технические детали: архитектура синхронизации
Одна из ключевых проблем при записи данных с нескольких устройств — джиттер и рассинхронизация. Grabette использует аппаратный механизм: на каждый датчик подаётся общий сигнал синхронизации (PPS — pulse per second) от GPS-модуля или просто от кварцевого генератора на плате ESP32. Все метки времени проставляются на уровне микроконтроллера до передачи данных, что исключает задержки сети.
Результаты тестов, приведённые в статье Источник, показывают, что рассинхронизация между датчиками не превышает 0.3 мс при частоте опроса 1 кГц. Для сравнения: при использовании только программной синхронизации через ROS 2 (без аппаратных меток) разброс может достигать 10 мс — что критично, например, для обучения моделей, предсказывающих контактные силы.
Сценарии использования в 2026 году
С момента запуска Grabette сообщество уже адаптировало систему для различных задач:
- Медицинская робототехника: запись движений хирурга во время симуляций для обучения ассистирующих роботов.
- Агропромышленность: сбор данных для роботов, собирающих ягоды — важна тактильная обратная связь, чтобы не повредить плод.
- Образование: университеты используют Grabette для лабораторных работ по машинному обучению в робототехнике, заменяя дорогие коммерческие стенды.
- Промышленность 4.0: интеграция с ROS 2 позволяет подключать Grabette к существующим линиям для сбора данных о качестве сборки.
Все эти кейсы объединяет одно: открытость системы позволяет быстро адаптировать её под специфические сенсоры и протоколы, что критически важно в условиях быстрого развития индустрии.
Заключение
Grabette — это не просто очередной инструмент, а попытка создать стандарт для сбора манипуляционных данных в робототехнике. Открытый код, аппаратная модульность и акцент на многомодальность делают его привлекательным как для исследователей, так и для промышленных интеграторов. На фоне стремительного развития моделей imitation learning и foundation models for robotics, Grabette закрывает важнейшую инфраструктурную дыру — качественный и единообразный сбор данных.
Конечно, проект ещё молод: впереди доработка документации, расширение списка поддерживаемых датчиков и оптимизация производительности. Но уже сейчас любой желающий может скачать чертежи, спаять плату и начать собирать собственные датасеты. Это именно то, что нужно сообществу для ускорения прогресса в робототехнике — открытые инструменты, которыми может пользоваться каждый.
Подробности — в оригинальной статье на Hugging Face Источник. А если вы хотите разобраться в том, как использовать Grabette в связке с современными фреймворками искусственного интеллекта, рекомендуем обратить внимание на практические курсы ASI Biont, где разбираются реальные пайплайны обучения роботов.
Комментарии