Организация движения по маршруту в условиях отсутствия сигналов систем глобального позиционирования - DRONE520/RF-BAS-COMMON GitHub Wiki
1. Введение
В современном мире технологии устройств для воздушной съемки стремительно развиваются, и их применение охватывает различные области, включая сельское хозяйство, транспорт, службы безопасности, мониторинг окружающей среды и многое другое. Основной компонент, обеспечивающий навигацию и управление полетом, — это системы глобального позиционирования (GPS). Однако существует множество ситуаций, когда сигнал GPS может быть недоступен или ненадежен. В таких условиях возникает необходимость в альтернативных методах навигации.
1.1. Проблемы с GPS
Сигналы GPS могут быть недоступны или ненадежны по следующим причинам:
- Местоположение: В городских условиях высокие здания могут блокировать сигналы GPS, создавая так называемые «городские каньоны». Это приводит к многолучевым эффектам, когда сигнал приходит от нескольких спутников с разными задержками.
- Климатические условия: Дождь, снег и облачность могут ухудшить качество сигнала GPS, что приводит к потере точности.
- Интерференция: Электронные устройства, работающие в том же частотном диапазоне, что и GPS, могут создавать помехи, что особенно актуально для военных и промышленных приложений.
- Физические препятствия: Закрытые помещения, подземные конструкции и местности с плотной растительностью могут блокировать сигнал GPS.
1.2. Альтернативные методы навигации
Из-за этих ограничений необходимо разрабатывать альтернативные методы и технологии для обеспечения надежной навигации и организации движения устройства. Основные методы, которые могут быть использованы, включают:
- Инерциальные измерительные устройства (IMU): Используют акселерометры и гироскопы для определения изменения положения и ориентации.
- Визуальная одометрия: Использует изображения, полученные с камер, для оценки перемещения и ориентации устройства.
- Лидары: Используют лазерные лучи для определения расстояния до объектов, что позволяет создавать трехмерные карты окружающей среды.
- Ультразвуковые и инфракрасные датчики: Используются для определения расстояния до ближайших объектов и предотвращения столкновений.
2. Аппаратура и ПО полетного контроллера Pixhawk
2.1. Общая информация о Pixhawk
Pixhawk — это открытая платформа для управления полетом, разработанная для использования в различных типах летательных аппаратов. Она включает в себя специальное аппаратное обеспечение и программное обеспечение, которые работают вместе, чтобы обеспечить высокую степень автономности и управления.
2.2. Ключевые компоненты Pixhawk
Внешний вид ПК Pixhawk4 с перечислением назначения его модулей представлен на рисунке:
Рис. 1. Полётный контроллер Pixhawk 4
- Силовой модуль 1
- Силовой модуль 2
- Телеметрия 1 (подключение радиомодемов для связи с компьютером)
- USB (подключение к компьютеру (есть еще боковое гнездо со стандартным микро-юсб разъемом)
- Телеметрия 2 (система наложения полетных показателей на видеокартинку при полетах по камере)
- Цифровая шина для подключения устройств стандарта CAN
- Разъем подключения внешнего компаса
- Шина CAN2 (сеть контроллера)
- Выход S.Bus для сервоприводов
- Входной сигнал приемника радиоуправления (PPM)
- Основные выходы (выход I/O PWM)
- UART и 12C (для дополнительного GPS)
- Вход приемника радиоуправления (DSM/SBUS)
- Вход захвата и вход ADC
- Модуль GPS
- Шина SPI (последовательный периферийный интерфейс)
- Выходы AUX (выход FMU PMU) Программное обеспечение PX4 построено на операционной системе Nuttx, и его общая структура показана на рисунке: В соответствии с работой программного обеспечения PX4, его можно разделить на четыре уровня:
- API приложения: этот интерфейс предоставляется разработчикам, например, для использования ROS (Операционная система реального времени) или DroneAPI (DroneAPI - это библиотека Python для управления объектами, которую можно запускать отдельно на бортовом компьютере или других устройствах. Общаясь с платой управления полетом через последовательный порт или по беспроводной сети), этот слой разработан так, чтобы быть максимально простым, плоским и скрывать его сложность.
- Прикладная структура: это сборка по умолчанию (узел) для базового управления полетом. Например, управление ротором, управление вертолетом, управление самолетом и т. д., а также оценка местоположения, командное управление, навигационное управление и т. д.
- Библиотеки: этот уровень содержит все системные библиотеки и основные функции управления трафиком. Такие как математическая библиотека, управляющая библиотека, библиотека MAV и так далее.
- Операционная система: последний уровень обеспечивает поддержку операционной системы, такую как планирование задач, драйверы оборудования, сеть, UAVCAN и отказоустойчивые системы.
Сборка ПО бортового контроллера Pixhawk
Для модифицирования и дальнейшей сборки прошивки ПК в архитектуре Pixhawk4 предусмотрен PX4 Autopilot – так называемый «полетный стек» (в оригинале flight stack), представляющий из себя открытый исходный код, выложенный в виде git-репозитория и доступный для скачивания и модификации любому пользователю. Данный стек является основной частью общей платформы, включающей также наземную станцию управления QGroundControl, оборудование Pixhawk и библиотеку MAVSDK для интеграции с компьютерами, камерами и сторонним оборудованием по протоколу MAVLink. Сборка прошивки для ПК используемой нами версии (Pixawk4 v.1.12.3) осуществляется следующим образом (на примере Ubuntu-подобной ОС):
- Клонируется репозиторий PX4 Autopilot путем ввода команды:
- При необходимости в склонированный код вносятся изменения
- Собирается билд (прошивка) кода вместе с изменениями путем ввода команды:
make px4_fmu-v5_default
- По окончании вывода в консоль прогресса сборки прошивки она будет сформирована в виде бинарного файла
- Для загрузки полученного билда в ПК необходимо подключить его к компьютеру, на котором производилась сборка через USB порт и ввести команду:
make px4_fmu-v4_default upload
Процесс загрузки также выводится в консоль до окончания прошивки ПК собранным билдом.
3. Навигационные параметры, режимы навигации полетного контроллера Pixhawk
3.1. Режимы навигации
Pixhawk поддерживает несколько режимов навигации, которые позволяют адаптироваться к различным условиям полета:
- Режим стабилизации: Контроллер автоматически поддерживает устойчивое положение аппарата, используя данные от сенсоров. Это особенно полезно в условиях ветра, когда требуется поддерживать курс и высоту. Оператор может вмешиваться в управление, но контроллер будет помогать сохранять стабильность.
- Автономный режим: Устройство следует заранее заданному маршруту, полагаясь на предустановленные параметры. В этом режиме можно задавать точки маршрута (waypoints), которые аппарат должен последовательно пройти. Данный режим используется для выполнения задач, таких как аэрофотосъемка, мониторинг и патрулирование.
- Режим следования по координатам: Позволяет задавать конкретные координаты, к которым должно двигаться устройство. Это позволяет выполнять точные задачи, такие как доставка или поиск.
- Режим следования за объектом: В этом режиме устройство может автоматически следовать за движущимся объектом, используя данные с камер и других сенсоров для отслеживания.
3.2. Навигационные параметры
Навигационные параметры, используемые контроллером, включают:
- Высота полета: Контроллер может поддерживать заданную высоту, что критично для выполнения определенных задач, таких как съемка или мониторинг.
- Скорость: Управление скоростью полета позволяет оператору адаптировать аппарат к различным условиям и задачам.
- Координаты точки назначения: Задаются в виде GPS-координат (широта и долгота) и используются для навигации.
- Угол наклона и ориентация: Позволяют контролировать, в каком направлении направлен нос аппарата. Это важно для выполнения маневров и корректировки курса.
4. Модификация ПО полетного контроллера Pixhawk
4.1. Необходимость модификации
Для повышения устойчивости навигации в условиях отсутствия GPS необходимо внести изменения в программное обеспечение Pixhawk. Это связано с тем, что стандартные алгоритмы полета ориентированы на использование GPS в качестве основного источника данных о положении.
4.2. Модификации программного обеспечения
К таким модификациям могут относиться:
- Интеграция дополнительных сенсоров и камер: Использование лидаров и камер для определения положения и ориентации устройства. Это позволяет обеспечить высокую точность навигации и создать 3D-карты местности.
- Разработка алгоритмов: Необходимо разработать алгоритмы, которые используют данные о движении из IMU и визуального потока для создания модели окружающей среды. Например, это может включать в себя алгоритмы для обработки сигналов от различных сенсоров и их интеграции в единую навигационную систему.
- Фильтрация данных: Реализация методов фильтрации и обработки данных, таких как фильтры Калмана, для повышения точности оценок положения и минимизации ошибок. Фильтры обеспечивают комбинирование данных с различных сенсоров и улучшают надежность определяемого положения. В проекте в качестве пульта управления устройства используется приложение QGroundControl. Оно позволяет не только подавать команды и получать данные телеметрии, но и загружать прошивку автопилота, задавать последовательность действий (миссии) и управлять в ручном режиме.
Рис. 2. Интерфейс программы QGroundControl
QGroundControl — это мощная и интуитивно понятная платформа для управления воздушным устройством, которая идеально подходит для работы с контроллерами полета, такими как Pixhawk 4. Эта программа предоставляет пользователям возможность не только управлять полетами, но и настраивать их, планировать миссии и анализировать данные.
- Установка и настройка
Первым шагом в использовании QGroundControl является его установка. Программа доступна для различных операционных систем, включая Windows, macOS и Linux. После установки необходимо подключить устройство к компьютеру через USB-кабель или по беспроводной сети. QGroundControl автоматически обнаружит подключенный контроллер Pixhawk 4 и предложит пользователю настроить параметры.
- Интерфейс и функциональность
Интерфейс QGroundControl на главном экране отображает карту, на которой можно видеть текущее местоположение устройства, а также его статус. Пользователи могут легко настраивать параметры полета, такие как высота, скорость и маршрут, просто перетаскивая точки на карте.
- Планирование миссий
Одной из ключевых функций QGroundControl является возможность планирования миссий. Пользователи могут задавать точки маршрута, устанавливать параметры съемки для фотокамер и даже настраивать автоматические действия, такие как взлет и посадка. Это делает QGroundControl идеальным инструментом для выполнения сложных задач, таких как аэрофотосъемка, мониторинг сельскохозяйственных угодий или инспекция инфраструктуры.
- Мониторинг и управление
Во время полета QGroundControl предоставляет пользователю всю необходимую информацию о состоянии устройства: уровень заряда батареи, высоту, скорость и другие параметры. Это позволяет оператору принимать обоснованные решения в реальном времени и обеспечивать безопасность полета. В случае возникновения непредвиденных ситуаций, таких как потеря сигнала, QGroundControl может автоматически вернуть устройство на место старта.
Подключение к QGroundControl
- Подключение через USB 1.1. Подключение с контроллером Pixhawk4 к компьютеру с помощью USB-кабеля. 1.2. Запуск QGroundControl. 1.3. Подключение и установка соединения происходит автоматически.
- Подключение через радиомодем (например, Holybro Telemetry Radio) 2.1. Подключение радиомодема к Pixhawk и установка его на устройство. 2.2. Подключение другого модема к компьютеру. 2.3. Запуск QGroundControl и выбор соответствующего COM-порт.
Настройка параметров устройства
- Первоначальная настройка
После подключения устройства к QGroundControl:
Перейти в раздел "Настройки" и настроить важнейшие параметры для оптимальной работы устройства. Важно обратить внимание на следующие ключевые аспекты:
- Параметры управления – выбор режимов полета, подходящих для конкретных задач.
- Параметры безопасности – установка высоты возврата и определение зон полета для обеспечения безопасности в процессе использования.
- Калибровка сенсоров – проведение калибровки акселерометров, магнитометров и гироскопов для достижения точности и надежности работы устройства.
Такая настройка позволит максимально эффективно использовать все возможности устройства и обеспечит безопасность во время полетов.
Калибровка
- Калибровка акселерометров: Следовать инструкциям на экране для вращения устройства в разных направлениях с целью калибровки акселерометров.
- Калибровка магнитометров: Произвести вращение устройства в виде восьмёрки для калибровки магнитометров.
- Планирование миссий
Создание маршрута
-
Перейти в раздел "Миссии" (Mission).
-
Использовать инструмент для рисования маршрута, чтобы задать точки (waypoints) на карте:
-
Установить высоту, скорость и другие параметры для каждой точки.
-
Добавить команды, такие как съемка фото или видео на определённых точках. Сохранение миссии После создания маршрута сохранить миссию для дальнейшего использования. Управление полетом
-
Запуск полета 1.1. Убедиться, что все системы работают корректно, и устройство находится в безопасном месте. 1.2. Нажать кнопку "Запуск" (Takeoff) в QGroundControl для начала автоматизированного полета. 1.3. Устройство поднимется в воздух и начнет следовать заданному маршруту.
-
Ручное управление 2.1. Для перехода в ручной режим (Manual Mode) использовать переключатели на пульте управления или интерфейс QGroundControl. Мониторинг полета
-
Данные в реальном времени QGroundControl отображает данные о текущем состоянии устройства, включая:
-
Высоту
-
Скорость
-
Направление
-
Статус батареи
-
Сигналы от сенсоров
-
Запись полета
QGroundControl может записывать данные полета для последующего анализа.
- Завершение полета
3.1. Автоматическое возвращение
При установленных параметрах возврата устройства автоматически вернется на место старта по завершении миссии или при низком заряде батареи.
3.2. Приземление
Для ручного приземления требуется нажать кнопку "Приземление" (Land) в QGroundControl. При ручном управлении устройством используется пульт FlySky I6.
Рис. 3. Пульт управления FlySky I6
Пульт управления FlySky I6 является популярным выбором среди пользователей радиоуправляемых моделей. При использовании с QGroundControl, этот пульт предлагает ряд возможностей и функций, которые могут значительно улучшить управление полетом. Вот основные возможности FlySky I6 в сочетании с QGroundControl: Возможности FlySky I6 с QGroundControl
- Подключение через приемник:
FlySky I6 может быть подключен к QGroundControl через приемник, который обеспечивает связь между пультом и устройством. Это позволяет использовать пульт для управления полетом в ручном режиме.
- Ручное управление:
В случае необходимости, пользователи могут переключаться на ручное управление, что позволяет более точно контролировать устройство в сложных условиях или при возникновении непредвиденных ситуаций.
- Настройка каналов:
FlySky I6 имеет возможность настройки различных каналов, что позволяет пользователю назначать определенные функции (например, управление камерой, изменение режима полета и т.д.) на различные переключатели и стики.
- Интерфейс настройки:
С помощью QGroundControl можно настроить параметры управления, такие как чувствительность стиков, диапазон движения и другие параметры, что позволяет адаптировать управление под индивидуальные предпочтения пользователя.
- Индикация состояния:
QGroundControl предоставляет информацию о состоянии устройства, включая уровень заряда батареи, высоту, скорость и другие параметры, что позволяет пользователю принимать более обоснованные решения во время полета.
- Запись данных:
Используя QGroundControl, можно записывать данные полета, что позволяет анализировать производительность устройства и вносить изменения в настройки управления на основе собранной информации.
- Поддержка различных режимов полета:
FlySky I6 может быть настроен для работы с различными режимами полета (например, режимы стабилизации, акробатики и др.), что расширяет возможности управления устройства.
4.3. Примеры модификаций
- Использование визуальной одометрии: Алгоритмы, основанные на обработке изображений, могут отслеживать изменения в окружающей среде, позволяя устройству ориентироваться без GPS. Это может включать в себя использование методов машинного обучения для распознавания объектов и отслеживания их перемещения.
- Интеграция с ROS (Robot Operating System): Позволяет использовать широкий спектр алгоритмов обработки данных и управления, что значительно расширяет возможности системы. ROS предоставляет инструменты для работы с сенсорами, а также для разработки сложных алгоритмов навигации и управления.
5. Навигационные параметры, режимы навигации полетного контроллера Pixhawk с модифицированным ПО
5.1. Расширенные возможности навигации
С модифицированным ПО возможности навигации значительно расширяются. Рассмотрим некоторые из них:
- Использование данных с камер:
В режиме автономного полета устройство может использовать данные с камер для корректировки курса в реальном времени. Это позволяет аппарату более точно определять свое положение и избегать препятствий. Системы компьютерного зрения могут выявлять и классифицировать объекты в реальном времени, что позволяет принимать более обоснованные решения о маневрах.
- Создание карты местности:
Возможность создания карты местности с использованием данных визуальной одометрии. Это позволяет устройству ориентироваться в пространстве и планировать маршрут на основе имеющейся информации о местности.Создание карт может быть использовано для дальнейшего анализа и оптимизации маршрутов, что особенно полезно в агрономии и городском планировании.
- Поддержка дополнительных режимов:
Реализация режимов слежения за объектом или автоматического избегания препятствий. Эти режимы делают устройство более адаптивным и безопасным в сложных условиях. Например, режим автоматического избегания препятствий может использовать данные с лидаров и ультразвуковых датчиков для принятия решений о маневрировании.
5.2. Примеры применения
- Агрокомплекс: Использование подобных устройств для мониторинга состояния сельскохозяйственных культур в условиях отсутствия GPS, например, осуществление анализа состояния растений и выявление проблемных участков.
- Городская среда: Устройства, использующие визуальную навигацию для доставки пакетов в условиях плотной застройки, могут адаптироваться к изменяющимся условиям и избегать столкновений с препятствиями.
- Спасательные операции: В условиях, где GPS недоступен, устройства могут использовать визуальные данные для поиска и спасения людей в сложных условиях, таких как леса или горные районы.
6. Заключение
Организация движения по маршруту в условиях отсутствия сигналов GPS является сложной задачей, требующей интеграции различных технологий и модификации существующего программного обеспечения. Использование полетного контроллера Pixhawk в сочетании с дополнительными сенсорами и алгоритмами обработки данных открывает новые горизонты для автономной навигации. Ключевым аспектом успешного выполнения поставленных задач является непрерывное развитие технологий и методов, что позволит обеспечить высокую степень надежности и безопасности в полетах. В будущем, внедрение машинного обучения и искусственного интеллекта в системы навигации устройства может существенно улучшить их автономность и адаптивность к меняющимся условиям, открывая новые возможности для применения в различных областях.
6.1. Перспективы развития
- Интеграция ИИ и машинного обучения: Разработка алгоритмов, которые смогут адаптироваться к новым условиям в реальном времени, может революционизировать автономные системы.
- Совершенствование сенсоров: Новые технологии, такие как квантовые сенсоры, могут повысить точность определения положения и ориентации.
- Разработка стандартов: Установление международных стандартов для рассматриваемых систем может помочь в их более широком принятии и интеграции в различные сферы.
- Этика и безопасность: Необходимость разработки этических норм и правил безопасности для использования устройств в различных целях.
Таким образом, дальнейшие исследования и разработки в области навигации устройств для воздушной съемки будут способствовать улучшению их функциональных возможностей и расширению области применения.