Система дистанционного управления мобильным РТК через виртуальный интерфейс с эффектом присутствия
![Система дистанционного управления мобильным РТК через виртуальный интерфейс с эффектом присутствия](/projects/bachelor/hero.webp)
Аннотация
В данной работе представлено описание возможной реализации дистанционного управления мобильным робототехнического комплекса с использованием технологии виртуальной реальности. Для увеличения возможностей оператора был разработан макет из стереопары RGB камер, установленных на двухосевой подвес, а в качестве устройства для погружения в виртуальную среду был использован шлем виртуальной реальности HTC Vive Pro. Сама виртуальная среда воспроизводилась с помощью среды разработки Unity3D. Таким образом оператор получал видеоизображение окружающей среды со стереоскопическим эффектом, а двухосевой подвес повторял движения головы оператора для большего эффекта телеприсутствия.
Система управления
Выбор двигателя был осуществлен на основе проведения ряда опытов, по результатам которых были получены рабочие частоты и амплитудные значения скорости и ускорения в двух плоскостях: вертикальном и горизонтальном. Синтез корректирующего устройства проведен для привода горизонтального вращения частотным методом. Раработка платы управления проводилсь с учетом установки её в непосредственной близости к исполнительному двигателю. Однако для разработки макета использовались уже готовые привода с аналогичными характеристиками.
Двухосевой подвес
В качестве стереокамеры используется модуль стереозрения TrackingCam от компании «Прикладная робототехника». В качестве приводов используются сервоприводы Dynamixel MX–28T и MX-64T. Детали распечатаны на 3D принтере.
![3D модель подвеса](/projects/bachelor/gimbal-3D.webp)
![Подвес в сборе](/projects/bachelor/gimbal-real.webp)
Обработка изображений
Вся экосистема проекта разработа с помощью ROS1. Для получения данных с камер запускается нода, которая эмулирует работу alive-запросов, по которым камера отдает кадры с камер, а полученные кадры отправлет топики. Стереопара калибруется средствами ROS, а обработка изображений с помощью библиотеки OpenCV.
![Вид с левой камеры и карта глубины](/projects/bachelor/depth.webp)
Unity3D
Для связи C#-скриптов с топиками ROS в данном решении используется библиотека ROS#. Благодаря переписаному шейдеру получилось рендерить текстуру объекта для каждого глаза по отдельности. От шлема в приводы по UART передавались команды для синхронизации поворота головы оператора и подвеса. В интерфейсе допольнительно демонстрировалась карта глубины.
![Cтереоскопический вид в VR шлеме](/projects/bachelor/stereo.webp)
Итог
По итогу получилось увеличить возможности оператора, предоставляя ему не только реконфигурируемы интерфейс управления за счет программного кода, но и увеличить информативность операторы за счет использования новых способов отображения данных.