УДК 004.946 Дата подачи статьи: 01.08.22, после доработки: 05.08.22
DOI: 10.15827/0236-235X.139.348-361 2022. Т. 35. № 3. С. 348-361
Удаленное управление роботизированным устройством с использованием технологий виртуальной реальности
B.В. Кугуракова 1, к.т.н, доцент, vlada.kugurakova@gmail.com
М.Р. Хафизов 1, ст преподаватель, младший научный сотрудник, mrimsh@mrimsh.ru
C.А. Кадыров 1, студент,, kadyrovsamat16@gmail.com Е.Ю. Зыков 1, к.ф.-м..н., доцент, Evgeniy.Zykov@fcpfu.ru
1 Казанский (Приволжский) федеральный университет, г. Казань, 420008, Россия
Предметом исследования является возможность телеуправления роботизированным устройством с использованием технологии виртуальной реальности (VR). Данная концепция разрабатывается с целями создания более нативного способа удаленного управления устройством, а также более удобной передачи изображения для оператора, что особенно актуально в экстремальных ситуациях.
Дан анализ технологий интеллектуальных систем управления и рассмотрены примеры реализации использования технологий виртуальной реальности в телеробототехнике, благодаря чему выделены общая структура системы удаленного управления и основные проблемы, стоящие в рамках реализации настоящего проекта. На основе проведенного анализа разработана и реализована универсальная программно-аппаратная платформа телеуправления на платформе Unity.
Представлена архитектура приложения и рассмотрены требования, изначально предъявляемые к нему, с целью обойти ограничения беспроводного канала связи в задаче управления роботом в реальном времени при помощи VR-гарнитур. Реализована система управления выбором направления перемещения роботизированной единицы с использованием при этом одного из VR-контроллеров. Подробно рассмотрены реализованные алгоритмы получения качественного стереоскопического зрения в устройствах виртуальной реальности и методика синхронизация удаленного поворота стереопары, а также описана система передачи команд.
Проведены эксперименты по использованию реализованной системы для проверки соответствия ее необходимым требованиям с целью получения надлежащего качества. Измерено время отклика системы и произведена минимизация задержек в канале связи.
Разработанное программное обеспечение для телеуправления роботизированной единицей при помощи гарнитуры виртуальной реальности обеспечивает возможность устойчивого телеуправления удаленной роботизированной техникой.
Ключевые слова: виртуальная реальность, телеуправление, робототехника, киберболезнь.
В последнее десятилетие происходит как бурное развитие технологий виртуальной реальности (Virtual Reality, VR), так и расширение использования искусственного интеллекта (ИИ) для автономных робототехниче-ских устройств (РТУ). В то время как активно развиваются VR, автономные РТУ продолжают сталкиваться с рядом проблем. VR используется как способ удаленного управления разнообразными робототехническими устройствами без использования ИИ с разными целями: от помощи людям с ограниченными возможностями до управления сложной техникой в отдаленной местности. При этом возможно одновременное многооператорное телеуправление одним устройством.
Задача, поставленная авторами, - разработать технологию для подключения к РТУ, находящемуся на любом расстоянии, но при наличии
доступа к Интернету, а также реализовать механизмы его пилотирования и наблюдения за окружающей обстановкой с использованием VR. Для достижения поставленной цели и создания пилотного решения для удаленного управления РТУ при использовании технологии VR необходимо решить задачи по разработке:
- алгоритмов передачи видеопотока с роботизированного устройства в стереоизображение для проецирования в гарнитурах VR;
- интерфейса управления роботизированным устройством внутри виртуального пространства;
- ПО для управления роботизированной единицей посредством применения технологий VR, дающее возможность удаленного управления устройством и наблюдения за окружающей обстановкой посредством камер, находящихся на самом устройстве и являющихся его частью.
Решение этих задач направлено на создание подходов для дальнейших исследований по использованию VR для удаленного мониторинга и телеуправления большим спектром РТУ.
Средства телеуправления и удаленного мониторинга РТУ
Существуют два типа систем дистанционного управления РТУ: супервизорные и диалоговые (интерактивные). При супервизорном управлении на пульте управления оператора имеются дисплейное видео, другие устройства и приборы отображения обстановки в рабочем пространстве робота. Оператор, наблюдая за обстановкой и действиями робота, принимает решения о подаче тех или иных управляющих команд в зависимости от ситуации. Выдача человеком команд роботу может осуществляться различными способами, например, подачей кодового признака программы на выполнение определенной операции, а затем заменой его на кодовый признак другой программы и т.д. В зависимости от возможностей робота отдельные программы могут соответствовать достаточно простым частям операции, которую должен выполнить робот, или же всей сложной операции в целом. В других случаях супервизорная команда может выражаться в виде целеуказания. Например, на сенсорном экране указывается точка, в которую должен переместиться хват манипулятора робота и взять там заданный предмет. Оба канала дистанционной связи (информационный и управляющий) должны быть снабжены микропроцессорными устройствами для обработки информации с целью ее
наилучшего отображения на пульте оператора и для формирования программ и целеуказа-тельных сигналов управления по командам.
Обобщенная структурная схема системы управления движением показана на рисунке 1, схема системы автономного управления - на рисунке 2.
Анализ реализованных проектов роботизированных комплексов ведущих мировых производителей позволяет выделить общую архитектуру ПО, которая состоит из следующих операций:
- получение и обработка данных с датчиков;
- объединение и согласование полученных данных;
- обработка изображений;
- определение характеристик препятствий, дорожных условий и транспортных средств в направлении движения;
- определение характеристик дорожного полотна;
- построение цифровой карты;
- позиционирование РТУ и определение текущего состояния системы;
- принятие решений;
- управление исполнительными устройствами и системами;
- ведение журнала полученных данных для их последующего анализа.
В системах управления роботизированных комплексов (рис. 3) ПО имеет два уровня: нижний, который отвечает за взаимодействие с датчиками и исполнительными устройствами, и верхний, обеспечивающий непосредственно реализацию алгоритма управления машиной [1].
Рис. 1. Обобщенная структурная схема системы управления движением роботизированного устройства
Fig. 1. A generalized block diagram of the motion control system for a robotic device
Рис. 2. Обобщенная схема системы автономного управления движением РТУ Fig. 2. A generalized scheme of the autonomous motion control system for robotic devices
Рис. 3. Обобщенная схема дистанционного управления конкретным РТУ Fig. 3. A generalized scheme of specific robotic devices remote control
Использование УЯ для телеуправления. Практика использования технологий VR для мониторинга и дистанционного управления РТУ связана с системами планирования манипулированием с разделяемой автономией, такими как система «человек в контуре» [2]. Для достижения результата нужно использовать расширение этого подхода на общие наборы ограничений в параллельной многооператорной среде [3]. Существует несколько способов отображения состояния робота для пользователя и сопоставления вводимых им данных с роботом, которые можно разделить на две основные категории: эгоцентрические и робоцен-трические. В эгоцентрических моделях человек является центром виртуального мира и фактически обитает в том же пространстве, что и робот [2, 4]. В робоцентрической модели вир-
туальной портальной системы человек и робот разделены виртуальным пространством. Согласно этой модели, человек находится около виртуальной модели робота и управляет им [3].
Авторы [5] отмечают, что VR может быть инструментом, позволяющим серьезно обновить подходы к телеуправлению и предлагающим надежную архитектуру создания разнообразных роботизированных систем. Технологии VR проложили путь в телеробототехнике благодаря своему потенциалу в решении классических задач ранних схем двусторонней связи ведущий-ведомый. Как и любая технология, VR имеет ряд проблем. Например, задержка передачи сигнала может преодолеваться с помощью предиктивных дисплеев [6] или программных методов; каждый из этих подходов имеет множество решений по имплементации.
Рассмотрим некоторые примеры реализации телеуправления. Транспортировка и манипулирование громоздкими объектами или сборка сложных конструкций под водой (рис. 4) требуют совместной работы нескольких единиц автономного подводного транспорта. Проект TWINBOT (TWIN roBOTs) предлагает решение для совместного подводного вмешательства [7].
Другой пример представлен в [8]: оператор видит то, что видит робот-центавр (рис. 5), и управляет его руками, как собственными. Трансформируемая конструкция робота позволяет ему перемещаться по местности и четко выполнять операции. Многостороннее управление дает роботу несколько вариантов работы, поэтому задача может быть либо решена одним человеком, либо разделена между несколькими людьми. Эта совместная функция позволяет оператору прикрыть другого члена
Рис. 5. Механическая конструкция TeleBot-R2 Fig. 5. A mechanical construction of TeleBot-R2
бригады в случае отказа какого-либо конкретного элемента управления. Кроме того, робот имеет полуавтономную функциональность и возможность обнаружения множества объектов на базе искусственного интеллекта, что упрощает работу операторов.
в) г)
Рис. 4. Примеры реализации телеуправления: а) приближение роботов к трубе, б) приближение к точкам захвата, в) одновременное закрытие захватов, г) совместная транспортировка трубы (под водой)
Fig. 4. Examples of remote control implementation: а) robots approaching a pipe, б) approaching the grip points, в) simultaneous closing of the grips, г) joint transportation of a pipe (under water)
Проблемы использования виртуальных гарнитур. Системы телеуправления отображением с VR-гарнитурами (HMD, или VR-шлем) становятся популярным средством обратной визуальной связи для систем дистанционного управления роботами. Однако пользователи часто страдают от временных двунаправленных задержек видеокадров, вызванных задержкой и ограниченной пропускной способностью сетей беспроводной связи.
С увеличением населения и развитием технологий растет количество антропогенных стихийных бедствий, таких как радиоактивные и химические аварии, которые невероятно сложны для ликвидации, в первую очередь, из-за большой опасности и малой доступности для ликвидаторов [9, 10]. Уже достаточно давно для работы с такими сложными объектами используют роботизированные телесистемы, управляемые человеком [11-13]. В этих системах пользователь обычно получает информацию об объектах из двухмерных изображений, передаваемых на мониторы с помощью камер, прикрепленных к радиоуправляемому роботу. Визуальные данные - наиболее интуитивно понятная форма информации при наблюдении за окружающей средой, особенно если они предоставляются в виде трехмерного (стереоскопического) изображения, а не плоской двухмерной картинки. В этом случае пользователь может с достаточно большой точностью определять расстояние до ближайших объектов, а также другие физические параметры, такие как объем, размер, ширина и т.д.
Большинство VR-шлемов имеет встроенные инерциальные измерительные блоки (IMU), которые определяют ориентацию в пространстве головы пользователя. Ориентация головы используется для захвата определенной области зрения пользователя (FOV), что может передаваться на управляющий блок робота для контроля камеры, а в некоторых случаях для контроля движения робота [14]. Однако в ситуации с HMD-телеуправлением существует ряд проблем (рис. 6): временная задержка, ограниченная полоса пропускания сети, большие размеры стереоскопических изображений, приводящие к задержкам и потере пакетов, резкие изменения положения робота, особенно при работе на пересеченной местности.
Изменяющаяся частота кадров, исчезновение некоторых кадров, дерганное изображение могут вызывать киберболезнь [15], причем эта проблема особенно усугубляется в ситуациях, когда положение камеры изменяется в зависи-
мости от положения головы оператора, из-за задержки при повороте камеры.
Проблема задержек в системе дистанционного управления исследовалась на протяжении десятилетий, особенно для обеспечения стабильности соединения и прозрачности действий двусторонних тактильных систем. Было изучено множество алгоритмов управления, таких как алгоритмы пассивного управления на основе волновых переменных, модифицированные алгоритмы для обращения к постоянным и алгоритмы с изменяющимися временными задержками [16-18]. Несмотря на достигнутые успехи, такие методы сложно применять в системах обратной визуальной связи из-за их комплексной природы.
Использование данных облака точек или изображений для построения виртуальных миров (а не изображений с камеры робота) может сократить проблемы с эффектом задержки [19, 20]. Однако такие методы требуют наличия больших вычислительных мощностей или дорогих датчиков.
Эффект задержки можно уменьшить, если спрогнозировать движение головы пользователя. Тогда дистанционно управляемый робот будет опережать движения пользователя. В [21] прогнозирование движения головы пользователя было исследовано для уменьшения задержки в HMD при отображении VR. Однако применять такие прогнозы трудно, поскольку в случае чрезвычайных ситуаций при передаче данных ожидаются большие задержки и потеря пакетов. Существует ряд научно-инженерных исследований, посвященных предиктивным моделям, созданным для «смягчения» задержек в телеоперационных системах. Положение и ориентация манипуляторов роботов предсказывались кинематиче-
▲ A kinematic model of (he A A robol neck-camera module
human head-neck complex for the 3D vision feedback.
Рис. 6. Пример передачи движения с IMU шлема на камеру робота
Fig. 6. An example of transferring motion from the helmet IMU to robot's camera
скими моделями, которые отображались на дисплее оператора. Это позволяло сократить время решения задач по стратегии «двигаться и ждать» [6] или повышения точности манипуляций [18].
Однако в этих исследованиях не учитывалось движение головы пользователя, поскольку системы вывода информации состояли из обычных мониторов. В [22] предложен способ прогнозирующего отображения, предлагающего изображение в реальном времени на основе анализа направления движения телеуправляемого транспортного средства, но он не был внедрен в реальную систему. В [6] предложены методы работы HMD с телеуправляемым роботом, основанные на предиктивном анализе положения головы оператора для управления камерами робота в пространстве. Кроме того, в этом исследовании описаны возможности борьбы с задержками, способствующие уменьшению признаков киберболезни. Также авторам удалось создать предиктивный дисплей и модульную роботизированную систему, имитирующую кинематическую модель человеческой шеи. Для минимизации состояний кибер-болезни был разработан специализированный прогнозирующий алгоритм отображения, анализирующий геометрию камеры, а также движения пользователя и робота. Предсказанное изображение для текущей ориентации головы пользователя строилось с учетом различия между текущей ориентацией головы пользователя и отложенной ориентацией камеры. В результате были компенсированы временные задержки в кадрах, пользователь видел цельный видеопоток без прерываний и искажений. Таким образом, этот алгоритм прост в реализации, не требователен к производительности, а также позволяет не пользоваться дорогими дальномерами.
Реализация системы телеуправления
Функциональность роботизированных единиц. Для реализации системы телеуправления авторы использовали несколько роботизированных устройств, оснащенных UNIX-по-добной операционной системой на базе ядра Linux. Одно устройство было оснащено двумя IP-камерами для реализации механизма сте-реозрения (рис. 7), другое - гусеничным механизмом для передвижения в пространстве (рис. 8). Эксперименты осуществлялись и с другими устройствами.
Эксперименты. Было проведено несколько экспериментов: получение качественного стереоизображения через гарнитуру VR; управление «головой» робота, оснащенной парой стереокамер, для получения иммерсивного виртуального окружения; телеуправление передвижением робота с полным эффектом присутствия; телеуправление одним роботом с наблюдением через пару камер другого робота.
Для реализации механизма удаленного управления РТУ были учтены следующие требования:
- получаемый видеопоток должен передаваться максимально быстро и без каких-либо задержек;
Рис. 7. Роботизированная единица (без колес) со стереопарой
Fig. 7. A robotic unit (no wheels) with a stereo pair
Рис. 8. Роботизированная единица c гусеничным механизмом
Fig. 8. A robotic unit with a caterpillar mechanism
- видеопотоки с обеих камер должны быть упакованы в один поток и разбираться уже на конечном устройстве для предотвращения рас-синхронизации изображений, подаваемых на левый и правый глаза;
- изображения, передаваемые в шлем VR, должны конвертироваться в формат стереозре-ния и корректно отображаться на дисплее;
- управление РТУ должно осуществляться интуитивно понятным и естественным образом;
- в связи с наличием на рынке большого количества VR-устройств разного типа приложение должно обладать кроссплатформенно-стью.
Чтобы получаемый видеопоток передавался максимально быстро, необходимо использовать самые быстрые протоколы передачи данных. Таковым является протокол для передачи данных по 1Р-сети UDP, так как в нем реализован минимальный механизм, необходимый для передачи данных, поскольку у него нет накладных расходов на установку и разрыв соединения.
Изображение, транслируемое в шлем, должно распределяться на дисплей так, чтобы создавалось ощущение погружения в VR. Реализовать это можно посредством распределения камер на разные линзы VR-шлема и настройки их соответствующим образом для создания эффекта стереозрения.
Под интуитивно понятным управлением подразумевается управление, которое будет работать реалистично с точки зрения имитации поведения реального человека: для того чтобы посмотреть, что находится слева, необходимо повернуть голову налево, а чтобы посмотреть, что находится справа, необходимо повернуть голову направо, и т.д. Аналогично и для управ-
ления передвижением: оно должно быть простым и доступным как для опытного пользователя технологий VR, так и для начинающего. Ввиду соображений практичности и безопасности управление перемещением должно быть реализовано с использованием контроллеров VR. Правильнее будет реализовать данную механику, используя стик на VR-контроллере. (Стики и триггеры - чувствительные элементы контроллера, они базируются в большинстве случаев на потенциометрах и редко - на датчиках Холла. Благодаря им можно регулировать силу нажатия и перемещать камеру в широком диапазоне значений.)
Выбор средств реализации и проектирование архитектуры. Для реализации самого приложения, которое в дальнейшем будет применяться для удаленного управления РТУ, был использован игровой движок Unity - кросс-платформенная среда разработки двух- и трехмерных приложений и игр, обладающая значительной гибкостью и производительностью и позволяющая эффективно работать с графикой, звуком, анимацией и сценариями различной сложности. Приложения, созданные в Unity, подходят для операционных систем Windows, Linux, macOS, iOS, Android и ряда других. Также у Unity есть гибкий инструментарий для работы с виртуальной и дополненной реальностями. Несмотря на то, что Unity ориентирован на трехмерные игры и приложения, он поддерживает работу в том числе и с двухмерной графикой, что позволяет осуществлять конвертацию плоского (двухмерного) изображения, получаемого с РТУ, в трехмерное, то есть в стереозрение.
Архитектура приложения представлена на рисунке 9. Для корректной работы приложения добавлен мультимедиа фреймворк, использую-
Рис. 9. Архитектура приложения Fig. 9. An application architecture
щий систему типов GObject и являющийся по сути ядром мультимедийных приложений, таких как видеоредакторы, потоковые серверы и медиапроигрыватели. С помощью этого фреймворка роботизированная единица получает видеоизображение RTSP с установленных на нем камер и отправляет на внешний сервер по UDP в формате H264. Внешний сервер, в свою очередь, принимает видео по UDP и создает TCP-сервер для возможности удаленного подключения и получения видео.
Одна из двух используемых роботизированных единиц оснащена IP-камерами, способными передавать RTSP-видео. В свою очередь, внедренный в систему мультимедиа фреймворк позволяет обеспечивать получение этого RTSP-видео и реализовать его передачу на внешний сервер. Передача видеопотока от мультимедиа фреймворка на внешний сервер происходит через протокол UDP, так как он не требует заранее установленного соединения и позволяет обеспечить более высокую скорость передачи данных. Именно поэтому UDP предпочтительнее для программ, воспроизводящих потоковое видео. Передача данных с внешнего сервера на ПК пользователя происходит уже через TCP для обеспечения надежности передачи и осуществления контроля процесса обмена, что гарантирует минимизацию риска потерь при передаче. Затем при помощи скриптов на С# получаем видео от ПК и перенаправляем его в Unity. С помощью компонентов с координатами объектов и донастройки собственных координатных систем и математических алгоритмов реализуются системы управления стереопарой и гусеничным механизмом движения.
Реализация стереозрения. Для воспроизведения стереозрения, чтобы в VR-шлеме появился эффект объемной среды, а не просто плоских картинок, была использована система слоев Unity, где изображение с одной камеры представляется как один слой, а изображение с другой - как другой слой. Слоям были даны соответствующие названия - Left Eye и Right Eye (см. http://www.swsys.ru/uploaded/image/2022-3/2022-3-dop/24.jpg). Затем были использованы две камеры, каждая из которых имитирует глаз пользователя. Это необходимо для реализации системы, при которой отображение одного из слоев направляется в левый дисплей виртуального шлема, а другого - в правый, чтобы в разных дисплеях не отображалось ничего, кроме этих самых разделенных слоев (см. http://www. swsys.ru/uploaded/image/2022-3/2022-3 -dop/25. jpg).
Для настройки принципа работы полотен, принимающих изображение (чтобы выдать им слой, соответствующий разделению на левый/ правый глаз), необходимо указать камеру для рендера и разрешение экрана (см. http://www. swsys.ru/uploaded/image/2022-3/2022-3-dop/26. jpg).
После того как полотна, слои и камеры корректно настроены, реализуется механизм стереозрения, заключающийся в том, что IP-каме-ра, находящаяся слева, транслирует видеопоток в левый дисплей VR-шлема, а IP-камера, находящаяся справа, - в правый дисплей VR-шлема. Затем за счет стыковки этих видеопотоков получается общая картина, отображаемая в виртуальном пространстве.
Синхронизация поворота стереопары. Система управления камерами РТУ действует таким образом, что, получая на вход данные об изменении положения головы в пространстве, приложение отправляет РТУ запрос о соответствующем изменении местоположения камер.
Функционирует этот процесс при помощи кватернионов, использующихся в Unity для представления вращений. В рамках реализации механизма управления поворотами стереопары необходимо настроить систему так, чтобы можно было получать данные о поворотах виртуального шлема и затем уже настраивать обновление поворота стереопары. Для этого был использован компонент Transform (см. http:// www.swsys.ru/uploaded/image/2022-3/2022-3-dop/27.jpg), хранящий позицию, вращение, размер и информацию о «родителях» и «детях» игрового объекта. Любой игровой объект всегда включает в себя этот компонент, его невозможно удалить, как и невозможно создать какой-либо игровой объект без него.
Из компонента Transform можно получать данные об изменении Rotation посредством параметра eulerAngles, который используется для представления вращения в мировом пространстве. При этом с учетом свойства eulerAngles для установки поворота важно помнить, что предоставляемые для описания поворота значения координат X, Y и Z не сохраняются в повороте. Вместо этого значения координат преобразуются во внутренний формат Quaternion, о котором речь шла выше.
Исходя из этого, можно понять, что для реализации механизма управления РТУ поворотами головы, необходимо преодолеть некоторые трудности получения данных о повороте в виде углов Эйлера в градусах и их конвертации в привычные углы поворота.
Учитывая, что VR включает в себя игровой объект, используемый как смещение камеры, необходимо настроить работу системы так, чтобы, получая Transform объекта CameraOffset (для чего была проведена конвертация его rotation.x и rotation.y в eulerAngles), можно математически преобразовать полученные значения в стандартные углы поворота.
Получая покадрово обновляющиеся переменные, содержащие стандартные углы поворота, округленные до целого числа, реализована система управления поворотами IP-камер через цикл:
- обращение к компоненту Transform объекта CameraOffset;
- получение поворота в виде углов Эйлера в градусах;
- конвертация углов Эйлера в обычные углы в градусах;
- округление значения до целого числа;
- запрос на движение камерами по каждой из осей X и Y на полученное количество градусов.
Выбор направления перемещения. Для реализации механизма управления передвижением РТУ в пространстве была использована другая роботизированная единица, оснащенная гусеничным механизмом движения и имеющая два мотора (то есть данная система функционирует в тракторном формате): движение прямо -оба мотора включаются прямо; движение назад - оба мотора включаются назад; движение влево - правый мотор включается вперед, а левый назад; движение вправо - левый мотор включается вперед, а правый назад.
Поскольку функциональную составляющую приложения необходимо настроить так, чтобы воспроизводить все описанные выше манипуляции моторами посредством VR-кон-троллеров, для управления использован имеющийся на контроллере thumb-stick, обладающий возможностью отклоняться в четырех направлениях от центральной точки своего позиционирования на контроллере (рис. 10).
Для настройки взаимодействия таким образом, чтобы при отклонении стика в какую-либо сторону стало возможным управление передвижением РТУ, была создана система координат внутри стика, представляющая собой векторы (x, y) и их значения в диапазоне [-1; 1]. После этого остается только настроить систему так, чтобы при отклонении стика в разных направлениях пользователи отправляли запросы, соответствующие направлению этого отклонения, и вызывали команды движения моторов.
Разработанная система телеуправления удаленным РТУ состоит из трех частей: гарнитура VR Oculus Quest 2, гусеничное роботизированное устройство и роботизированное устройство, оснащенное парой камер на площадке с несколькими степенями свободы. Гарнитура использует технологию отслеживания масштаба помещения, позволяя пользователю перемещаться в трехмерном пространстве и использовать ручные контроллеры с отслеживанием движения для взаимодействия с окружающей средой.
Изображения рабочих сценариев робота могут быть получены и отображены в режиме реального времени с камер РТУ (рис. 11). Когда оператор фиксирует на контроллере кнопку thumb-stick, происходит выбор направления движения РТУ, который продолжается, пока она нажата.
Синхронизация передвижения одного из конечных эффекторов робота (например, захват) вслед за движением ручного контроллера для достижения желаемой цели манипуляции реализована позже и решается аналогично алгоритмам, представленным в [23].
Оценка времени отклика. При оценке синхронности передвижения стереопары на уда-
Рис. 10. Real-time управление роботом Fig. 10. Real-time robot control
f U J «
Рис. 11. Изображение, полученное от робота Fig. 11. An image received from a robot
ленном устройстве (РТУ) с получением изображения на VR-гарнитуре необходимо провести эксперименты при расположении РТУ в разных локациях с различной скоростью интернета.
Большая часть экспериментов по оценке времени отклика проводилась с использованием общедоступной интернет-сети университета. Согласно замерам, задержка в передаче видеопотока составила порядка 300 мс, а в передаче сигналов для управления передвижением РТУ - 100 мс.
Задержка обновления данных о местоположении головы оператора была настроена вручную - камеры РТУ передвигались на актуальные местоположения головы оператора каждую секунду, что позволило не перегружать систему огромным количеством поступающих запросов и не вызывать перегрузок.
Передача команд. Для управления передвижением РТУ была разработана система, позволяющая управлять роботизированной единицей, используя при этом один из VR-кон-троллеров. Система функционирует так, что при наличии двух моторов взаимодействие с ними осуществляется в зависимости от того, в каком направлении необходимо выполнить движение. Аналогично можно реализовать и управление прочими манипуляторами РТУ, если таковые присутствуют на устройстве и настроены необходимым образом.
Итак, РТУ должно включать в себя API для возможного использования передачи и приема команд, чтобы была возможность отправлять запросы на действия контроллеров. Большинство современных систем VR имеют несколько доступных для взаимодействия кнопок, поэтому можно настроить систему так, чтобы при управлении, допустим, ШитЬ^йск'ом левой руки манипулятор передвигался в пространстве, а при нажатии Button One или Button Two манипулятор совершал захваты или разжимал хватку. Если манипуляторов и других систем, которыми нужно управлять, больше, чем стандартных кнопок, то остается возможность использовать интерфейс (как дигиетический, так и недигиетический) - например, в видимой зоне появляется виртуальная панель управления с набором необходимых инструментов.
Заключение
В работе представлены основные моменты реализации алгоритмов стереозрения на Unity на основе получаемого видеопотока в режиме
реального времени и управления удаленной роботизированной единицей на основе получаемых команд в режиме реального времени: повороты гусеничными/колесными устройствами (треками), повороты площадкой (головой), на которой установлены две видеокамеры (стереопара), передвижение всего робота вперед и назад, одновременные независимые повороты треками и головой робота.
Описаны проведенные эксперименты с получением качественного стереоизображения через гарнитуру VR, а также телеуправление передвижением робота с полным эффектом присутствия и телеуправление одним роботом с наблюдением через пару камер другого робота.
Разработанное ПО допускает возможность расширения функционала для реализации на удаленном РТУ таких разнообразных узкоспециализированных задач в той же парадигме, как управление дополнительными манипуляторами (щупами, клешнями, захватами, ковшами и т.п.), а также получение в реальном времени дополнительной информации с дополнительно установленных датчиков (лидаров или дальномеров, тепловизоров и т.п.) или дополнительных камер (например, работающих в ИК-режиме), что позволяет обеспечить широкое практическое использование созданной системы.
Эффект задержки при изменении положения головы оператора, вследствие чего могут появиться симптомы киберболезни, можно уменьшить, если спрогнозировать движение головы пользователя.
В дальнейшем можно будет перенастроить систему так, чтобы она могла предполагать вектор движения головы пользователя и тем самым действовала на опережение в рамках изменения положения камер в пространстве, что позволит уменьшить задержку, не создавая при этом больших нагрузок в плане передачи запросов, и реализовать тем самым более плавные механизмы движения головой. Проведенные эксперименты показывают убедительные результаты работы созданной системы телеуправления с использованием HMD. Тем не менее, для внедрения в реальные проекты с длительным использованием гарнитур VR и в реальной операционной деятельности, такой, например, как управление сельскохозяйственной техникой на протяжении рабочей смены, необходимо:
- реализовать предиктивные модели для «смягчения» задержек при телеуправлении;
- оптимизировать методы пользовательского ввода (кручение головой);
- оценить результаты экстраполяции;
- предложить контрмеры для уменьшения киберболезни с подстройкой под уникальные особенности пользователя.
Разработанный функционал был успешно протестирован в ряде экспериментов с конкретными роботизированными устройствами, удаленными от оператора. Планируются его дальнейшее активное использование, развитие и масштабирование.
Работа выполнена за счет средств Программы стратегического академического лидерства Казанского (Приволжского) федерального университета («ПРИОРИТЕТ-2030»).
Литература
1. Клебанов Д.А., Кузнецов И.В., Бигель Н.В. Принципы построения системы дистанционного и автономного управления карьерным самосвалом // Горная Промышленность. 2013. № 4. C. 8.
2. Lipton J.I., Fay A.J., Rus D. Baxter's homunculus: Virtual reality spaces for teleoperation in manufacturing. IEEE Robotics and Automation Letters, 2018, vol. 3, no. 1, pp. 179-186. DOI: 10.1109/lra.2017. 2737046.
3. Whitney D., Rosen E., Ullman D., Phillips E., Tellex S. ROS reality: A virtual reality framework using consumer-grade hardware for ROS-enabled robots. Proc. IEEE/RSJ Int. Conf. IROS, 2018, pp. 1-9. DOI: 10.1109/IROS.2018.8593513.
4. Zhang T., McCarthy Z., Jowl O., Lee D., Chen X., Goldberg K., Abbeel P. Deep imitation learning for complex manipulation tasks from virtual reality teleoperation. Proc. IEEE ICRA, 2018, pp. 5628-5635. DOI: 10.1109/ICRA.2018.8461249.
5. Kheddar A., Neo E., Tadakuma R., Yokoi K. Enhanced teleoperation through virtual reality techniques. In: Springer Tracts in Advanced Robotics, 2007, vol. 31, pp. 139-159. DOI: 10.1007/978-3-540-71364-7_10.
6. Jung Y., Han K., Bae J. A tele-operated display with a predictive display algorithm. IEEE Access, 2019, vol. 7, pp. 154447-154456. DOI: 10.1109/ACCESS.2019.2948879.
7. de la Cruz M., Casan G., Sanz P., Marin R. Preliminary work on a virtual reality interface for the guidance of underwater robots. Robotics, 2020, vol. 9, no. 4, art. 81. DOI: 10.3390/ROBOTICS9040081.
8. Lin X., Mahmud S., Roman S., Shaker A., Law Z., Lin M., Kim J. Design of a novel transformable centaur robot with multilateral control interface for search and rescue missions. Proc. V Int. Conf. CACRE, 2020, pp. 200-205. DOI: 10.1109/CACRE50138.2020.9230311.
9. Bevere L., Sharan R., Barrett S., Honegger C. Natural catastrophes and man-made disasters in 2016. Swiss Re Institute, 2017, 30 p. URL: https://www.swissre.com/dam/jcn75ec4a3a-ab68-4730-89b5-77012de5cfd8/LuciaBevere_Analysis+of+2016+losses+and+lessons+learned.pdf (дата обращения: 29.06.2022).
10. Guha-Sapir D., Hoyois P., Wallemacq P., Below R. Annual disasterstatistical review 2016: The numbers and trends. CRED, 2017, 80 p.
11. Lim J., Lee I., Shim I. et al. Robot system of DRC-HUBO+ and control strategy of team KAIST in DARPA robotics challenge finals. J. of Field Robotics, 2017, vol. 34, pp. 802-829. DOI: 10.1002/rob.21673.
12. Yi S., McGill G., Vadakedathu L., He Q., Ha I. et al. Team THOR's entryin the DARPA robotics challenge trials 2013. J. of Field Robotics, 2015, vol. 32, no. 3, pp. 315-335. DOI: 10.1002/rob.21555.
13. Johnson M., Shrewsbury B., Bertrand S., Calvert D., Wu T., Duran D., Stephen D. et al. Team IHMC's lessons learned from the DARPA robotics challenge: Finding data in the rubble. J. of Field Robotics, 2017, vol. 34, no. 2, pp. 241-261. DOI: 10.1002/rob.21674.
14. Martins H., Oakley I., Ventura R. Design and evaluation of a head-mounted display for immersive 3D teleoperation of field robots. Robotica, 2015, vol. 33, no. 10, pp. 2166-2185. DOI: 10.1017/S02635747 1400126X.
15. St. Pierre M.E., Banerjee S., Hoover A.W., Muth E.R. The effects of0.2Hz varying latency with 20 -100 ms varying amplitude on simulator sickness in a helmet mounted display. Displays, 2015, vol. 36, pp. 1-8. DOI: 10.1016/j.displa.2014.10.005.
16. Sun D., Naghdy F., Du H. Wave-variable-based passivity control of four-channel nonlinear bilateral teleoperation system under TimeDelays. IEEE/ASME Transactions on Mechatronics, 2016. vol. 21, no. 1, pp. 238-253. DOI: 10.1109/tmech.2015.2442586.
17. Sun D., Naghdy F., Du H. Neural network-based passivity control of teleoperation system under time-varying delays. IEEE Transactions on Cybernetics, 2017, vol. 47, no. 7, pp. 1666-1680. DOI: 10.1109/TCYB. 2016.2554630.
18. Yang C., Wang X., Li Z., Li Y., Su C. Teleoperation control based on combination of wave variable and neural networks. IEEE Transactions on Systems, Man and Cybernetics: Systems, 2017, vol. 47, no. 8, pp. 2125-2136. DOI: 10.1109/TSMC.2016.2615061.
19. Schwarz M., Rodehutskors T., Droeschel D., Beul M., Schreiber M. et al. NimbRo rescue: Solving disaster-response tasks with the mobile manipulation robot momaro. J. of Field Robotics, 2017, vol. 34, no. 2, pp. 400-425. DOI: 10.1002/rob.21677.
20. Theofilis K., Orlosky J., Nagai Y., Kiyokawa K. Panoramic view reconstruction for stereoscopic tele-operation of a humanoid robot. Proc. IEEE-RAS Int. Conf. on Humanoid Robots, 2016, pp. 242-248. DOI: 10.1109/HUMANOIDS.2016.7803284.
21. Wu J., Ouhyung M. On latency compensation and its effects on head motion trajectories in virtual environments. The Visual Computer, 2000, vol. 16, pp. 79-90. DOI: 10.1007/s003710050198.
22. Brudnak M.J. Predictive displays for high latency teleoperation. Proc. NDIA Ground Vehicle Systems Engineering and Technology Symposium, 2016, pp. 1-16.
23. Liu N., Lu T., Cai Y., Lu J. et al. Design of virtual reality teleoperation system for robot complex manipulation. Proc. 2019 CAC, 2019, pp. 1789-1793. DOI: 10.1109/CAC48633.2019.8997211.
Software & Systems Received 01.08.22, Revised 05.08.22
DOI: 10.15827/0236-235X.139.348-361 2022, vol. 35, no. 3, pp. 348-361
Remote control of a robotic device using virtual reality
V. V. Kugurakova l, Ph.D. (Engineering), Associate Professor, Head of Laboratory, vlada. kugurakova@gmail.com
M.R. Khafizov 1, Senior Lecturer, mrimsh@mrimsh.ru
S.A. Kadyrov 1, Graduate Student, kadyrovsamat16@gmail.com
E.Yu. Zykov 1, Ph.D. (Physics and Mathematics), Associate Professor, Head of Laboratory, Evgeniy. Zykov@kpfu. ru
1 Kazan Federal University, Kazan, 420008, Russian Federation
Abstract. The subject of this paper is the possibility of remote control of a robotic device using the virtual reality technology. This concept is being developed in order to create a more native way to control a device remotely, as well as a more convenient image transmission for an operator, which is especially relevant in extreme situations.
The paper presents the analysis of intelligent control system technologies and the examples of implementing virtual reality technologies in tele-robotics. This helped to highlight the overall structure of the remote control system and to show the main implementation problems of this project. This analysis has become a base for development and implementation of a universal hardware and software telecontrol platform on the Unity platform.
The paper presents the application architecture and considers the requirements initially imposed on it in order to bypass the wireless channel limitations in the task of the real-time robot control using VR headsets. There is an implemented control system for selecting the direction of moving a robotic unit using one of the VR controllers. The paper considers implemented algorithms for obtaining high-quality stereoscopic vision in virtual reality devices, as well as the technique for synchronizing the remote rotation of a stereo pair. Moreover, there is a description of a command transmission system.
The experiments of the implemented system were conducted in order to verify if it meets the necessary requirements to obtain the proper quality. The authors have measured the response time of the system and minimized the delay in the communication channel.
The developed software for robotic unit telecontrol using a virtual reality headset provides the possibility of stable telecontrol of remote robotic equipment.
Keywords: virtual reality, telecontrol, robotics, cybersickness.
Acknowledgements. This paper has been supported by the Kazan Federal University Strategic Academic Leadership Program ("PRIQRITY-2030").
References
1. Klebanov D.A., Kuznecov I.V., Bigel N.V. Principles of building a system of remote and autonomous management of a dump truck. Russian Mining Industry, 2013, no. 4, p. 8 (in Russ.).
2. Lipton J.I., Fay A.J., Rus D. Baxter's homunculus: Virtual reality spaces for teleoperation in manufacturing. IEEE Robotics and Automation Letters, 2018, vol. 3, no. 1, pp. 179-186. DOI: 10.1109/lra.2017. 2737046.
3. Whitney D., Rosen E., Ullman D., Phillips E., Tellex S. ROS reality: A virtual reality framework using consumer-grade hardware for ROS-enabled robots. Proc. IEEE/RSJ Int. Conf. IROS, 2018, pp. 1-9. DOI: 10.1109/IROS.2018.8593513.
4. Zhang T., McCarthy Z., Jowl O., Lee D., Chen X., Goldberg K., Abbeel P. Deep imitation learning for complex manipulation tasks from virtual reality teleoperation. Proc. IEEEICRA, 2018, pp. 5628-5635. DOI: 10.1109/ICRA.2018.8461249.
5. Kheddar A., Neo E., Tadakuma R., Yokoi K. Enhanced teleoperation through virtual reality techniques. In: Springer Tracts in Advanced Robotics, 2007, vol. 31, pp. 139-159. DOI: 10.1007/978-3-540-71364-7_10.
6. Jung Y., Han K., Bae J. A tele-operated display with a predictive display algorithm. IEEE Access, 2019, vol. 7, pp. 154447-154456. DOI: 10.1109/ACCESS.2019.2948879.
7. de la Cruz M., Casan G., Sanz P., Marin R. Preliminary work on a virtual reality interface for the guidance of underwater robots. Robotics, 2020, vol. 9, no. 4, art. 81. DOI: 10.3390/ROBOTICS9040081.
8. Lin X., Mahmud S., Roman S., Shaker A., Law Z., Lin M., Kim J. Design of a novel transformable centaur robot with multilateral control interface for search and rescue missions. Proc. VInt. Conf. CACRE, 2020, pp. 200-205. DOI: 10.1109/CACRE50138.2020.9230311.
9. Bevere L., Sharan R., Barrett S., Honegger C. Natural catastrophes and man-made disasters in 2016. Swiss Re Institute, 2017, 30 p. Available at: https://www.swissre.com/dam/jcn75ec4a3a-ab68-4730-89b5-77012de5cfd8/LuciaBevere_Analysis+of+2016+losses+and+lessons+learned.pdf (accessed June 29, 2022).
10. Guha-Sapir D., Hoyois P., Wallemacq P., Below R. Annual disasterstatistical review 2016: The numbers and trends. CRED, 2017, 80 p.
11. Lim J., Lee I., Shim I. et al. Robot system of DRC-HUBO+ and control strategy of team KAIST in DARPA robotics challenge finals. J. of Field Robotics, 2017, vol. 34, pp. 802-829. DOI: 10.1002/rob.21673.
12. Yi S., McGill G., Vadakedathu L., He Q., Ha I. et al. Team THOR's entryin the DARPA robotics challenge trials 2013. J. of Field Robotics, 2015, vol. 32, no. 3, pp. 315-335. DOI: 10.1002/rob.21555.
13. Johnson M., Shrewsbury B., Bertrand S., Calvert D., Wu T., Duran D., Stephen D. et al. Team IHMC's lessons learned from the DARPA robotics challenge: Finding data in the rubble. J. of Field Robotics, 2017, vol. 34, no. 2, pp. 241-261. DOI: 10.1002/rob.21674.
14. Martins H., Oakley I., Ventura R. Design and evaluation of a head-mounted display for immersive 3D teleoperation of field robots. Robotica, 2015, vol. 33, no. 10, pp. 2166-2185. DOI: 10.1017/S02635747 1400126X.
15. St. Pierre M.E., Banerjee S., Hoover A.W., Muth E.R. The effects of0.2Hz varying latency with 20-100 ms varying amplitude on simulator sickness in a helmet mounted display. Displays, 2015, vol. 36, pp. 1-8. DOI: 10.1016/j.displa.2014.10.005.
16. Sun D., Naghdy F., Du H. Wave-variable-based passivity control of four-channel nonlinear bilateral teleoperation system under TimeDelays. IEEE/ASME Transactions on Mechatronics, 2016, vol. 21, no. 1, pp. 238-253. DOI: 10.1109/tmech.2015.2442586.
17. Sun D., Naghdy F., Du H. Neural network-based passivity control of teleoperation system under time-varying delays. IEEE Transactions on Cybernetics, 2017, vol. 47, no. 7, pp. 1666-1680. DOI: 10.1109/TCYB. 2016.2554630.
18. Yang C., Wang X., Li Z., Li Y., Su C. Teleoperation control based on combination of wave variable and neural networks. IEEE Transactions on Systems, Man and Cybernetics: Systems, 2017, vol. 47, no. 8, pp. 2125-2136. DOI: 10.1109/TSMC.2016.2615061.
19. Schwarz M., Rodehutskors T., Droeschel D., Beul M., Schreiber M. et al. NimbRo rescue: Solving disaster-response tasks with the mobile manipulation robot momaro. J. of Field Robotics, 2017, vol. 34, no. 2, pp. 400-425. DOI: 10.1002/rob.21677.
20. Theofilis K., Orlosky J., Nagai Y., Kiyokawa K. Panoramic view reconstruction for stereoscopic teleoperation of a humanoid robot. Proc. IEEE-RAS Int. Conf. on Humanoid Robots, 2016, pp. 242-248. DOI: 10.1109/HUMANOIDS.2016.7803284.
21. Wu J., Ouhyung M. On latency compensation and its effects on head motion trajectories in virtual environments. The Visual Computer, 2000, vol. 16, pp. 79-90. DOI: 10.1007/s003710050198.
22. Brudnak M.J. Predictive displays for high latency teleoperation. Proc. NDIA Ground Vehicle Systems Engineering and Technology Symposium, 2016, pp. 1-16.
23. Liu N., Lu T., Cai Y., Lu J. et al. Design of virtual reality teleoperation system for robot complex manipulation. Proc. 2019 CAC, 2019, pp. 1789-1793. DOI: 10.1109/CAC48633.2019.8997211.
Для цитирования
Кугуракова В.В., Хафизов М.Р., Кадыров С.А., Зыков Е.Ю. Удаленное управление роботизированным устройством с использованием технологий виртуальной реальности / / Программные продукты и системы. 2022. Т. 35. № 3. С. 348-361. DOI: 10.15827/0236-235X.139.348-361.
For citation
Kugurakova V.V., Khafizov M.R., Kadyrov S.A., Zykov E.Yu. Remote control of a robotic device using virtual reality. Software & Systems, 2022, vol. 35, no. 3, pp. 348-361 (in Russ.). DOI: 10.15827/ 0236-235X. 139.348-361.