Что такое телеоперация и почему это важно?
Телеоперация — это дистанционное управление движениями робота в режиме реального времени. В контексте обучения роботов он служит конкретной и важной цели: он позволяет людям трансформировать свой физический интеллект в форму, на которой робот может учиться. Когда вы телеуправляете рукой, чтобы поднять объект, рука точно записывает, как вы его переместили — каждый угол сустава, скорость и состояние захвата с частотой 50 Гц. Эта запись становится демонстрацией. Достаточно демонстраций, и нейронная сеть научится воспроизводить ваше поведение без участия человека.
Качество вашей телеоперации напрямую определяет качество вашей политики. Плавные, последовательные и продуманные движения дают хорошие тренировочные данные. Резкие, неуверенные или непоследовательные движения сбивают модель с толку. Вот почему вы тратите полный модуль на телеоперацию, прежде чем записывать одну демонстрацию в модуле 4 — вам нужно овладеть навыками, прежде чем данные начнут подсчитываться.
Обзор систем телеоперации
Охватывает дистанционное управление виртуальной реальностью, тактильную обратную связь, архитектуру «лидер-последователь» и вопросы задержки. Прочтите перед Главой 3, если хотите понять все пространство дизайна. Открыть в библиотеке робототехники →
Настройка сеанса телеоперации
Подробная настройка практического сеанса описана на странице аппаратное обеспечение/открытое оружие/сбор данных. Следуйте инструкциям из раздела «Настройка телеоперации». Следующие шаги суммируют весь процесс:
-
Выберите способ телеоперации
Для этого пути используйте метод лидера-последователя (рекомендуется): вторая рука OpenArm действует как ведущая, и вы физически перемещаете ее, в то время как ведомая рука (ваша рука для сбора данных) отражает движение. Если у вас только одна рука, используйте дистанционное управление с клавиатуры с помощью SVRC SDK.
KeyboardTeleopкласс — медленнее, но работает. -
Запустить сервер телеоперации
Подключив оба плеча и работая ROS 2, запустите узел телеуправления:
ros2 launch openarm_teleop leader_follower.launch.py. Вы должны сразу увидеть зеркальное отображение состояния соединения в выводе терминала. Веб-интерфейс наlocalhost:8080/teleopпоказывает живую визуализацию. -
Установите скорость 30 % для первого сеанса.
Параметр скорости в файле запуска по умолчанию равен 100%. Для вашего первого сеанса установите
speed_scale:=0.3. Более медленная скорость дает вам больше времени на реакцию, снижает вероятность сбоев в работе суставов и обеспечивает более плавные демонстрации. Увеличьте до 60–80%, как только почувствуете себя комфортно. -
Практикуйте движение целевой задачи
Прежде чем что-либо записывать, потратьте 20–30 минут на практику движений, которые вы будете использовать в Главе 4. Стремитесь к одинаковым начальным и конечным положениям. Робот должен возвращаться в ту же исходную позу перед каждой попыткой. Последовательность — это то, что делает ваш набор данных обучаемым.
-
Запустите 5-минутный непрерывный сеанс
Телеработайте непрерывно в течение 5 минут без остановки, отключения или возникновения ошибки. Это подтверждает, что ваша рука, кабели и шина CAN достаточно стабильны для полноценного сеанса записи. Если во время этого теста манипулятор останавливается или выдает ошибку, проведите диагностику, прежде чем переходить к блоку 4.
Телеоперация в перчатках
Если у вас есть перчатка для передачи данных (например, Paxini Gen3 или перчатка Brainco), вы можете использовать ее как более естественный интерфейс телеоперации, который собирает данные на уровне пальцев. Это не требуется для демонстрации выбора и размещения на этом пути, но открывает возможности ловких манипуляций. Прочитать руководство по телеоперации в перчатках →
Часть 3 завершена, когда...
Вы можете дистанционно управлять рукой в течение 5 минут без перерывов, ошибок соединения или срабатываний ограничителей соединения. Рука плавно следует за рукой лидера (или за действиями с клавиатуры). Вы достаточно отработали движение «взять-и-поместить», чтобы выполнять его последовательно — одно и то же начальное положение, одно и то же конечное положение, одинаковое время захвата — по крайней мере, 8 раз из 10. Эта последовательность — это то, что вы берете в Модуль 4.