Назад в библиотеку

МОДЕЛИРОВАНИЕ ТРЕХОСНОГО ПОДВЕСА КАМЕРЫ КВАДКОПТЕРА DJI И РАДИОУПРАВЛЕНИЯ В СРЕДЕ ROS / GAZEBO

Авторы: Сагитов А. Г., Герасимов Ю.А., Магид Е.А.
Источник: Высшая Школа Информационных Технологий и Информационных Систем, Казанский (Приволжский) Федеральный Университет, Казань.

Аннотация

Сагитов А. Г., Герасимов Ю.А., Магид Е.А. — МОДЕЛИРОВАНИЕ ТРЕХОСНОГО ПОДВЕСА КАМЕРЫ КВАДКОПТЕРА DJI И РАДИОУПРАВЛЕНИЯ В СРЕДЕ ROS / GAZEBO.
В последние годы БЛА, такие как DJI Phantom 4, начали успешно использоваться в исследовательских и коммерческих приложениях. Несмотря на значительный прогресс в разработке алгоритмов управления, тестирование БЛА связано с риском повреждения относительно дорогостоящего оборудования. Для решения этой проблемами в симуляторе Gazebo доступны системы для моделирования квадроторных БЛА. Однако, существующие симуляции сильно упрощены и не моделируют коммерчески доступные БЛА. В этой статье мы представляем улучшенный пакеты моделирования квадроторного БЛА DJI Phantom, добавляя подвес и управление передатчиком RC



Введение

Беспилотные летательные аппараты (БЛА) - летательные роботы, которые управляются дистанционно или автономно встроенной системой управления. Использование беспилотных летательных аппаратов для гражданских целей неуклонно растет, и по мере развития технологии БЛА, мы ожидаем, что их использование скоро станет стандартной практикой для решения большого количества различных задач.

Непрерывное улучшение и миниатюризация камер позволили использовать готовое оборудование, объемом менее восьми кубических сантиметров, при этом весом менее 30 граммов и цене менее ста долларов США. Также стали доступны небольшие радиоуправляемые передатчики для управления БЛА, работающие на частоте 2,4 ГГц и обеспечивающие диапазоны управления более 10 км в условиях открытой местности. Используя такое оборудование, многие типы БЛА доступны в качестве платформы для решения задач сбора данных или локализации целей в реальном мире.

Тестирование прототипов БЛА по-прежнему включает в себя риски из-за возможных сбоев, приводящих к повреждению аппаратных компонентов вплоть до полной потери БЛА. Эти проблемы делают комплексное моделирование и имитацию БЛА приоритетным направлением. В целях уменьшения стоимости и риска тестирования системы при разработке системы управления полетом БЛА, система имитации полета с использованием подходов виртуального прототипа была рассмотрена с использованием инструмента Real-Time Workshop (Matlab) и операционной системы реального времени VxWorks[1]. Моделирование квадроторных БЛА обычно выполняется с использованием коммерческих инструментов, например, Matlab/Simulink. Для моделирования некоторыми научными группами используется игра X-plane 10 компании Laminar Research.

Хотя эти инструменты обеспечивают общую достоверную симуляцию, они все же требуют значительных усилий, необходимых для тестирования высокоуровневого управления с использованием датчиков. Кроме того, коммерческие симуляторы обычно имеют ограниченные возможности модификации и улучшения. Из-за этих ограничений открытая исходная структура ROS-Gazebo обеспечивает стандартное моделирование с использованием модульной архитектуры в исследованиях робототехники и облегчает модификацию симуляций. Одно из наиболее полных имитаций полета в ROS Gazebo принадлежит исследовательской группе из TU Darmstadt. Основным направлением являлось включение в моделирование внешних возмущений, таких как влияние ветра на динамику БЛА. Последующие работы велись по моделированию посадки БЛА на динамические платформы используя физическую модель БЛА Мейера [Meyer, 2012].

Другой способ - моделирование аппаратного цикла (Hardware-in-theloop, HIL), используемое для тестирования без необходимости реальных экспериментов с роботом. Использование моделирования HIL для тестирования платформы в режиме реального времени и реальной среды оказалось надежным подходом для тестирования критических свойств безопасности. Была представлена модель вертолета БЛА с использованием HIL, который показал экономическую эффективность для разработки общей эффективной системы управления и безопасности в.

В последние годы фреймворк ROS стал де-факто стандартом для многих связанных с робототехникой научных групп, не исключая нашу группу. Единственным недостатком симулятора ROS / Gazebo являются высокие требования к ресурсам CPU и графических карт. Альтернативой Gazebo для 3D-моделирования является программное обеспечение виртуальной экспериментальной платформы для робототехники V-REP, которое можно совместить с использованием ROS.

В рамках нашего научно-исследовательского проекта по взаимодействию гусеничного беспилотного наземного робота «Сервосила Инженер» и группы БЛА предполагается задействовать квадкоптеры DJI Phantom 4, и нами были рассмотрены совместимые с этой моделью симуляторы. Хотя существует официальный симулятор DJI (DJI GO), он является закрытым продуктом и имеет существенные ограничения. Использование пакета hector_quadrotor в среде Gazebo позволяет одновременно моделировать различные аспекты БЛА, такие как динамика полета, инерциальные измерительные устройства (ИИУ), камеры, сложные условия полета и т.д., и позволяет с модифицировать модель БЛА DJI Phantom для увеличения реалистичности. Пакет hector_quadrotor был разработан для БЛА Гектор Квадротор, и содержит аппаратное описание URDF для квадроторного БЛА, его диспетчеров полета и файлы для запуска моделирования квадротора в Gazebo. При использовании пакета hector_quadrotor мы столкнулись с несколькими проблемами. Во-первых, камера, встроенная в БЛА, закреплена на базе квадротора без подвеса, поэтому стабилизация видео отсутствует. Во-вторых, отсутствует модуль для управления моделируемым БЛА при помощи радиопередатчика.

1. Подвес

При движении БЛА в неблагоприятных условиях возникают вибрации, нарушающие стабильность видеопотока. Основным способом достижения стабильного видеопотока БЛА является использование карданного подвеса для камеры. Подвес - это регулируемый держатель для камеры или инструмента, предназначенный для поддержания постоянного уровня устройства, несмотря на внешние факторы, т.е. стабилизирующий и антивибрационный аппарат. Подвес стабилизирует камеру БЛА при движении и гарантирует качественный видеопоток. При использовании бортовой стабилизированной камеры, БЛА может выполнять аэрофотосъемку для выполнения различных миссий, таких как, например, отслеживание цели или мониторинг окружающей среды при помощи фотограмметрии[2], что требует качественного программного обеспечения для управления подвесом камеры. Механика подвеса проста: он состоит из концентрических колец, которые поворачиваются под прямым углом вокруг камеры, что помогает поддерживать устройство во время движения БЛА.

DJI Phantom 4 имеет стабилизированный подвес камеры, представленный на рисунке 1. Двигатели на каждой из трех осей позволяют прибору оставаться неподвижным и без вибраций при движении БЛА. Если БЛА вращается по часовой стрелке, подвес автоматически поворачивает камеру на соответствующий угол против часовой стрелки, обеспечивая постоянный видеосигнал.

Рис. 1. Подвес DJI Phantom 4

Рис. 1. Подвес DJI Phantom 4

На основе технической спецификации подвеса DJI, мы построили 3D- модель подвеса в формате URDF (рисунок 2) в системе автоматизированного проектирования SolidWorks. Необходимые физические параметры модели были заданы из технических характеристик реального подвеса. Использована физическая модель подвеса, описанная в работе. Для выполнения стабилизации, необходимо получить значения углов подвеса камеры в соответствующей системе координат. При помощи ИИУ, измеряются значения и используются расчеты для оценки позиционирования и ориентации - крена, тангажа и рыскания.

Используя приемник GPS, мы получаем данные о высоте, положении и ориентации БЛА; объединяя их с показателями ИИУ, рассчитываются отношения между системой координат БЛА и глобальной системой координат. По этим расчётам создается сигнал ШИМ для управления контроллером подвеса камеры в нужном положении, чтобы реализовать стабилизацию камеры. Следует подчеркнуть, что данные ИИУ иногда имеют значительную погрешность, которая может повлиять на решение систем уравнения для определения ориентации и направления. Поэтому необходима начальная калибровка ИИУ, и такая возможность критична для БЛА, задачи которого предполагают сложные маневры.

Рис. 2. Трехмерная модель подвеса

Рис. 2. Трехмерная модель подвеса

Мы модифицировали оригинальный пакет hector_quadrotor, включив модель каркаса и применив совместный state_publisher в сочетании со статическим transformation_publisher для построения дерева преобразований. Мы также реализовали управление подвесом, используя пакет ros_control.

Радиоуправление

Управление БЛА осуществляется по линии радиосвязи. Обычно радиоконтроллер состоит из радиопередатчика, управляемого (теле)оператором, и БЛА. Сформированная ими система управления с открытым контуром отправляет команду через радиопередатчик и принимает команду приемником на стороне БЛА. Передатчик отправляет данные на основе нажатых кнопок на устройстве управления оператора, которые закодированы и заданы в качестве входных данных для БЛА. Современные RC-передатчики оснащены специальным разъемом для обучения методом ведущее-ведомое устройство (Master-Slave). Ведомый RC-передатчик (Slave) подключается к ведущему (Master) кабелем, а ведущий передатчик имеет специальный переключатель, при включении которого управление выполняется дочерней консолью[3]. При этом, оператор ведущего передатчика может взять ведомый передатчик под контроль в любой момент времени. Используя эту функцию, мы реализовали управление моделируемым БЛА при помощи RC-контроллера. Мы используем 9-канальный передатчик Turnigy 9X (рисунок 3), который имеет разъем для кабеля в виде 3,5 мм контактного разъема, что позволяет получить доступ к выходному сигналу передатчика с помощью кабеля на микрофонный вход компьютера при запуске симуляции. Значения уровня каждого канала кодируется фазово-импульсной модуляцией.

Рис. 3. Передатчик Turnigy 9X

Рис. 3. Передатчик Turnigy 9X

Одним из основных осложнений использования импульсной модуляции положения является то, что приемник должен синхронизировать локальные часы с началом каждого кода. Это действие обычно выполняется как дифференциальная импульсная модуляция, когда каждое положение импульса кодируется относительно предыдущего импульса. Он реализован таким образом, что приемник должен только измерять разницу от прибытия следующих импульсов. Он выполнялся таким образом, чтобы ошибки символа влияли только на соседние, так что ошибка в измерении задержки отдельного импульса повлияет только на два импульса. Ширина канальных импульсов зависит от положения джойстика; ширина импульса между канальными импульсами составляет 300 мкс, а полный цикл - 22,5 мс. Чтобы прочитать эти импульсы, был создан скрипт на языке Python с использованием библиотеки PyAudio (оболочка Python поверх PortAudio). Скрипт считывает информацию, поступающую от гнезда микрофона, и разделяет полученный с гнезда микрофона сигнал на временные отрезки. Последовательно проходя по отрезкам сигнала, скрипт находит ширину и логические уровни отрезков[4]. В темы симулируемого БЛА записываются декорированные из отрезков управляющие команды. Если ширина положительного импульса больше, чем максимальная ширина импульса канала, это синхронный сигнал.

Выводы

В данной работе представлен подход к моделированию DJI Phantom 4 в среде Gazebo с использованием модифицированного пакета hector_quadrotor. К существующей модели был добавлен функциональный подвес для камеры и возможность управления квадротором с радиопередатчика, что позволяет проводить более реалистичную симуляцию. В нашей будущей работе мы планируем продолжить доработку пакета hector_quadrotor ROS, делая его более подходящим для моделирования DJI Phantom 4 в среде ROS / Gazebo. Планируется интегрировать новую модель БЛА в нашу предыдущую работу, чтобы иметь возможность моделировать гетерогенную группу, состоящую из гусеничного робота «Сервосила Инженер» и DJI Phantom 4 в симуляторе Gazebo.

Список литературы

1. K. Cho, J. Shin, and T. Kuc, “Design of quadrotor controller for emergency situation using xplane,” // 12th Int. Conf. on Ubiquitous Robots and Ambient Intelligence, Oct 2015, pp. 311–314.
2. W. Kaidi , L. Chuntao, C. Peng, and F. Ying, “Design of real-time and multi-task UAV simulation system based on rapid prototyping,” // IEEE Chinese Guidance, Navigation and Control Conference, Aug 2016, pp. 930–936.
3. M. A. Olivares-Mendez, P. Campoy, I. Mellado-Bataller, and L. Mejias, “See-and-avoid quadcopter using fuzzy control optimized by crossentropy,” // IEEE Int. Conf. on Fuzzy Systems, June 2012, pp. 1–7.
4. N. Koenig and A. Howard, “Design and use paradigms for gazebo, an open-source multi-robot simulator,” // IEEE/RSJ Int. Conf. on Intelligent Robots and Systems, vol. 3, Sept 2004, pp. 2149–2154 vol.3.