Вы находитесь на странице: 1из 7

Разработка автономной системы навигации для БПЛА

Нам необходимо, чтобы БПЛА автономно работали в неизвестных и динамичных средах, где им
необходимо полностью полагаться на бортовые датчики, чтобы понимать среду, в которой они
перемещаются, и эффективно выполнять свои задачи. Проблема автономной навигации обычно
может быть определена как способность транспортного средства достигать целевого
местоположения, избегая столкновений с окружающей средой без участия человека.
Типы БПЛА
БПЛА можно классифицировать на основе нескольких факторов, таких как размер, средний
взлетный вес, конфигурация управления, уровень автономности и т. д.
Классификация БПЛА по размеру:
• Micro: менее 250 г;
• Very Small: 0,25–2 кг;
• Small: 2–25 кг;
• Medium: 25–150 кг;
• Large: более 150 кг.
Большие БПЛА в основном используются в тактических и военных целях.
В зависимости от конфигурации управления БПЛА можно разделить на следующие категории (см.
рис. 1):
• single-rotor (однороторные): вертолет;
• multi-rotor (мультироторные) [19–24]: tricopter, quadrotor, hexacopter, etc.;
• fixed-wing (с неподвижным крылом);
• hybrid (гибридные);
• flapping wings (с машущим крылом): Ornithopters and Entomopters.
Однороторные летательные аппараты, такие как вертолеты, редко используются в качестве
платформ БПЛА. Мультикоптеры являются наиболее популярным выбором, когда речь идет о
маневренности. Мультикоптеры, такие как квадрокоптеры, гексакоптеры и октокоптеры с
роторами с фиксированным шагом, используют аналогичные динамические модели для
управления. Однако квадрокоптеры дешевле, быстрее и обладают высокой маневренностью, в то
время как гексакоптеры и октокоптеры могут предложить лучшую стабильность полета,
отказоустойчивость и большую грузоподъемность.
Уровни автономности БПЛА:
• Полностью автономный: БПЛА может выполнять делегированную задачу без участия человека,
при этом все решения принимаются на борту на основе наблюдений датчиков, адаптирующихся к
изменениям окружающей среды.
• Полуавтономный: человек-оператор необходим для высокоуровневого планирования миссии и
для взаимодействия во время движения, когда необходимы какие-то решения, которые БПЛА не
способен принять. Транспортное средство может поддерживать автономную работу между этими
взаимодействиями. Например, оператор может предоставить список путевых точек, чтобы
направить транспортное средство, где ему удастся безопасно двигаться к этим позициям с
возможностью обхода препятствий.
• Телеоперация: удаленный оператор полагается на обратную связь от бортовых датчиков для
перемещения транспортного средства либо путем прямой отправки управляющих команд, либо с
промежуточными целями без возможности обхода препятствий. Этот режим можно использовать в
приложениях за пределами прямой видимости (BLOS).
• Дистанционное управление: удаленный пилот необходим для ручного управления БПЛА без
обратной связи с датчиками, что может использоваться на линии прямой видимости (LOS).
Разработка полностью автономной системы:
На аппаратном уровне БПЛА в простейшем виде состоит из рамы, двигательной установки и
системы управления полетом (Flight Control System). Двигательная установка состоит из источника
энергии (например, аккумуляторов, топливных элементов, микродизелей и/или микрогазовых
турбин), приводов двигателей или электронных регуляторов скорости (ESC), двигателей
(например, бесщеточных двигателей постоянного тока), гребных винтов и/или поверхности
управления (элероны, закрылки, рули высоты и рули направления).
Система управления полетом — это просто встроенная система, состоящая из автопилота,
авионики и другого оборудования, непосредственно связанного с управлением полетом [14].
Например, основные датчики, критически важные для управления полетом, включают
инерциальные измерительные блоки (IMU), барометры/альтиметры и GNSS (для использования
вне помещений). Существующие коммерческие продукты предлагают полные системы,
объединяющие эти датчики, которые известны как эталонные системы ориентации (AHRS). Более
продвинутые решения включают в себя встроенную фильтрацию Калмана для объединения
данных со всех датчиков для обеспечения решений абсолютного позиционирования; они
называются инерциальными навигационными системами (ИНС). Следующим компонентом
является вычислительный блок (например, микроконтроллер), который обычно используется для
реализации логики автопилота для надежного и отказоустойчивого полета.
контроль. В идеале вычислительный блок должен быть подвержен ограничениям реального
времени. То есть его ответ должен быть детерминированным и в пределах заданных временных
ограничений. Как правило, FCS отвечает за вычисление низкоуровневых команд управления,
оценку состояния транспортных средств (высоту, положение, скорость и т. д.) на основе данных
датчиков, регистрацию критической информации для послеполетного анализа и взаимодействие с
компонентами более высокого уровня либо по проводному соединению. или через другие каналы
связи. Наличие FCS достаточно для обеспечения режима навигации с дистанционным
управлением, когда удаленный оператор может напрямую отправлять путевые точки и/или
команды управления. Также можно добиться полуавтономных операций в простых средах, где
методы реактивного управления с низкими вычислительными затратами реализованы в
автопилоте, чтобы обеспечить базовые возможности предотвращения столкновений.
В зависимости от задачи и условий окружающей среды, в БПЛА могут использоваться различные
типы датчиков. Примерами часто используемых датчиков являются камеры (монокулярные,
RGBD, тепловизионные, гиперспектральные и т. д.), датчики дальности (LiDAR, RADAR,
ультразвуковые) и другие датчики для конкретных задач (например, захваты, манипуляторы,
распылители и т. д.).
Стэк аппаратных и программных компонентов, используемых с БПЛА, приведен ниже.
Ground Control Station (Наземная станция управления) — это бортовой компьютер вне дрона,
который может каким-то образом связываться с дроном для сбора информации о его состоянии
(напряжение батареи, скорость дрона), а также отправлять команды дрону для выполнения
определенных действий, таких как приземление и т.д.
Вот так выглядит типичный стек дрона, если имеется физический дрон. Однако можно получить
полнофункциональный стек дронов, заменив аппаратное обеспечение дрона программным
обеспечением в цикле (SITL-software in the loop). Это симуляция дрона.

Стек программ, использующихся для программирования дрона:

- ARDUPILOT – низкоуровневая прошивка для управления летательным аппаратом


- MAVLINK – для коммуникации между разными программами
- MAVProxy - высокоуровневый метод управления и наблюдения БПЛА
- DRONEKIT - для моделирования БПЛА как объекта объектно-ориентированного
программирования в Python
Dronekit — это программное обеспечение, которое взаимодействует с дроном через MAVLINK.
Это не графический интерфейс, это просто пакет, который вы можете импортировать в скрипт
Python и управлять дроном с помощью протокола MAVLINK и Python. Таким образом, в 50
строках кода вы можете указать дрону взлететь, пройти 20 метров и затем приземлиться. С
помощью Dronekit вы можете рассматривать Ardupilot или px4 как API, управляющий дроном.
Что нужно знать:

 Базовые команды Linux (cd, mkdir, rm, gedit)


 Базовые знания Python
Вместо настоящего дрона, мы будем использовать смоделированный дрон (SITL), который будет
использовать наш полетный стек и позволит нам тестировать любой код, который мы
разрабатываем.
Модули, связанные с мобильностью, являются основными компонентами, необходимыми для
обеспечения навигации без столкновений. Модульная структура для автономной навигации,
состоит из следующих модулей/подсистем.

Существующие методы навигации для автономных мобильных роботов в целом можно разделить
на преднамеренные (глобальное планирование), основанные на датчиках (локальное
планирование) и гибридные.
Преднамеренные подходы требуют полного знания окружающей среды, представленной в виде
карты. После этого можно использовать методы глобального планирования пути для поиска
безопасных и оптимальных путей.
Классические алгоритмы планирования пути можно разделить на:
• Методы поиска (например, Дейкстры, A∗, D∗ и т. д.);
• Потенциальные полевые методы (например, навигационная функция, планировщик волнового
фронта и т. д.);
• Геометрические методы (например, клеточная декомпозиция, обобщенные диаграммы Вороного,
графы видимости и т. д.);
• Методы на основе выборки (например, PRM, RRT, RRT*, FMT, BIT и т. д.);
• Методы, основанные на оптимизации (PSO, генетические алгоритмы и т.д.)
Эти методы могут найти наиболее оптимальные пути, но им необходимо полное осведомленность
об окружающей среде, что является невозможным в случае работы в неизвестных и динамических
средах.
С другой стороны, методы на основе датчиков полагаются непосредственно на текущие измерения
датчиков или краткую историю наблюдений датчиков (т. е. локальную карту) для планирования
безопасных путей в режиме реального времени. Планирование, как правило, может быть лишь на
небольшой период вперед, или оно может выполняться в каждом цикле обновления управления.
Методы на основе датчиков предлагают решения с высокой вычислительной
производительностью, что делает их подходящими для задач навигации в неизвестных и
динамических средах. Эти методы не генерируют глобальных оптимальных решений, так как не
используют полные знания об окружающей среде во время движения; однако можно найти
локально оптимальные решения. На практике принято жертвовать оптимальностью ради скорости
вычислений, особенно при рассмотрении микро-БПЛА с быстрой динамикой и ограниченной
вычислительной мощностью.
Гибридные подходы сочетают в себе как преднамеренные, так и сенсорные методы для создания
более продвинутого навигационного поведения, использующего преимущества обоих классов. Они
основаны на локальном планировании с малой задержкой или реактивном управлении для
преодоления неизвестных и динамических препятствий, при этом используется метод глобального
планирования высокого уровня для управления транспортным средством с использованием
накопленных знаний об окружающей среде.
Моделирование и управление БПЛА
Для проектирования БПЛА необходимо иметь достоверную математическую модель, в которой
отражается движение БПЛА. Как правило, такая модель состоит из двух основных частей:
кинематики и динамики. Кинематические уравнения в основном выводятся для представления
геометрических аспектов движения в трехмерном пространстве путем определения взаимосвязей
перемещения и вращения между различными системами координат. Динамика может быть
получена путем применения законов Ньютона для движущегося твердого тела для вывода
линейных уравнений и уравнений углового момента. Применение законов Ньютона требует
определения инерциальной системы отсчета I. С другой стороны, анализ сил и крутящих
моментов, действующих на транспортное средство, необходимо проводить относительно системы
координат, прикрепленной к движущемуся транспортному средству (т. е. системы координат,
закрепленной на теле B). Очевидно, что различные типы БПЛА будут иметь некоторые различия в
своих динамических уравнениях в зависимости от конфигурации приводов и других внешних сил
и моментов, действующих на аппарат.
Матрица вращения между инерциальной системой координат и системой координат, привязанной
к телу, может использоваться для определения положения/ориентации БПЛА. Также часто
используются другие представления, такие как углы Эйлера (т. е. крен φ, шаг θ и рыскание ψ) и
кватернионы qϵI R4 . Кватернионы более эффективны с точки зрения вычислений и не имеют
проблемы блокировки карданного подвеса, в то время как углы Эйлера легче понять физически и
их можно разделить на отдельные степени свободы при некоторых предположениях для простоты.

Пусть вектор угла Эйлера равен , и рассмотрим кватернионный вектор


Ниже приведен пример, рассматривающий порядок вращения ZYX.

Где

представляет собой поворот от системы отсчета, связанной с телом, к инерциальной


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

Вам также может понравиться