Планирование миссий
Кратко
Миссия (mission), или полётное задание, — заранее составленная последовательность пунктов, которую автопилот БПЛА выполняет без участия пилота: взлететь, пройти цепочку точек, отснять территорию, вернуться и сесть. Задание готовится на земле в наземной станции — QGroundControl или Mission Planner, — передаётся на борт по протоколу MAVLink и выполняется одним из автономных полётных режимов.
Для чего используется
Миссии превращают аппарат из радиоуправляемой модели в инструмент, который выполняет работу по плану и повторяет её сколько угодно раз одинаково:
- Площадная съёмка и фотограмметрия — маршрут «змейкой» над полем или карьером с равномерным перекрытием снимков; из них затем собирают ортофотоплан или трёхмерную модель.
- Обследование линейных объектов — полёт коридором вдоль дороги, трубопровода или ЛЭП (шаблон Corridor Scan в QGroundControl).
- Облёт сооружений — круговое сканирование здания или вышки для инспекции и 3D-реконструкции (Structure Scan).
- Мониторинг: научные обзоры относят к типовым применениям маршрутов покрытия наблюдение, точное земледелие, ликвидацию последствий бедствий и отслеживание лесных пожаров.
Как работает
Из чего состоит задание
Пункты миссии — не только точки на карте. Стандарт MAVLink делит команды на три типа, и эту же логику используют автопилоты:
- навигационные (
MAV_CMD_NAV_*) — лететь к путевой точке (waypoint), барражировать, сесть; - действия (
MAV_CMD_DO_*) — сменить скорость, сделать снимок, управлять камерой; - условия (
MAV_CMD_CONDITION_*) — выждать время или дождаться события, прежде чем выполнять следующие действия.
Высота каждой точки задаётся одним из трёх способов: относительно домашней точки, абсолютно (над уровнем моря) или над рельефом.
Особая роль у домашней точки (home): автопилот запоминает её в момент постановки на охрану (arming) и использует как цель возврата RTL. Наземная станция при офлайн-планировании показывает «планируемую» домашнюю точку для оценки маршрута и времени полёта, но фактическую точку прошивка установит только при армировании — они могут не совпасть.
Передача на борт
Миссия загружается по MAVLink диалогом с подтверждением: станция объявляет количество пунктов (MISSION_COUNT), аппарат по одному запрашивает их (MISSION_REQUEST_INT), станция отвечает пунктами (MISSION_ITEM_INT — координаты передаются целыми числами, широта и долгота умножаются на 10⁷), в конце аппарат подтверждает приём (MISSION_ACK). Таймауты и повторные запросы делают передачу надёжной даже на радиоканале с потерями — недоставленный пункт будет запрошен снова.
Тем же протоколом на борт передаются ещё два независимых плана: геозона (geofence) — граница, за которую нельзя вылетать (или внутрь которой нельзя влетать), и rally-точки — запасные точки возврата.
Выполнение
ArduPilot выполняет миссию в режиме Auto, PX4 — в режиме Mission; обоим нужно глобальное позиционирование (GNSS). Поведение автопилотов в деталях различается:
- PX4 хранит миссию на SD-карте, перед стартом проверяет её выполнимость и отклоняет план, конфликтующий с геозоной. Пункт взлёта поднимает аппарат минимум на высоту
MIS_TAKEOFF_ALT; если миссия запущена уже в воздухе, взлётные пункты выполняются как обычные точки. Миссию можно поставить на паузу, загрузить новую прямо в полёте и продолжить с текущей точки. Когда пункты закончились, летящий аппарат зависает. - ArduPilot штатно хранит около 650 точек, а с параметром
BRD_SD_MISSIONпереносит задание на SD-карту — до 64 КБ, свыше 4000 точек. Copter и Rover при снятии с охраны сбрасывают миссию на первый пункт; Plane сохраняет место в задании (поведение настраивается параметромMIS_RESTART).
Потеря связи во время миссии обрабатывается механизмами Отказоустойчивость (failsafe): в PX4 реакцию на пропажу радиоуправления задаёт параметр NAV_RCL_ACT — продолжать висеть, вернуться домой или прекратить полёт.
Запасные точки возврата
Rally-точки страхуют возврат: если они заданы, при RTL аппарат ArduPilot летит не к домашней точке, а к ближайшей rally-точке — самолёт над ней барражирует, коптер садится. Точка учитывается, только если она ближе лимита RALLY_LIMIT_KM; когда все запасные точки слишком далеко, аппарат возвращается к home. Штатные лимиты — 10 точек у Plane и 6 у Copter (на современных платах может быть больше); высоты rally-точек отсчитываются от домашней точки, а параметры высоты возврата RTL_ALT к ним не применяются.
Маршруты покрытия территории
За автоматической «змейкой» наземных станций стоит задача coverage path planning — построить маршрут, проходящий через каждую точку заданной области. Базовые решения — параллельные галсы туда-обратно (boustrophedon, «газонокосилка») и спираль; более сложные методы разбивают область на ячейки и оптимизируют порядок их обхода.
Основные компоненты
- Наземная станция — редактор задания: QGroundControl (Plan View), Mission Planner (Flight Plan) и другие.
- Полётное задание — последовательность пунктов: навигация, действия, условия.
- Домашняя точка — точка армирования, цель возврата RTL.
- Геозона — виртуальная граница полётной зоны, включающая или исключающая, полигональная или круговая.
- Rally-точки — запасные точки возврата.
- Протокол миссий MAVLink — надёжная доставка всех трёх планов на борт.
Примеры
- Съёмка поля в QGroundControl: шаблон Survey строит сетку по нарисованному полигону, рассчитывая её из параметров камеры — размера сенсора, разрешения и фокусного расстояния. Перекрытие снимков настраивается отдельно вдоль и поперёк галсов; можно зафиксировать высоту (разрешение на местности вычислится) или, наоборот, требуемое разрешение (вычислится высота). Дополнительно задаются угол сетки, вынос разворотов за границу полигона, повторный облёт под углом 90° и следование рельефу с заданным допуском.
- Mission Planner: путевая точка добавляется кликом по карте, спец-пункты (Loiter, RTL, Land, Takeoff) — через контекстное меню; инструмент Survey (Grid) строит «змейку» по полигону. Задание записывается в аппарат кнопкой Write, читается кнопкой Read и сохраняется в файлы (включая KML и SHP).
- Статистика перед вылетом: Plan View показывает профиль рельефа вдоль маршрута, дистанцию, расчётное время полёта и расход батареи — ошибки плана видны до взлёта.
Связанные темы
- MAVLink
- Полётные режимы
- Отказоустойчивость (failsafe)
- QGroundControl
- Mission Planner
- ArduPilot
- PX4
- GNSS
Источники
- MAVLink Developer Guide — протокол миссий: диалог загрузки, MISSION_ITEM_INT, типы планов (миссия, геозона, rally), классы команд.
- ArduPilot Documentation — команды миссии, режим Auto, домашняя точка, ёмкость хранилища, rally-точки.
- PX4 User Guide — режим Mission: требования, хранение на SD-карте, проверка выполнимости, поведение при взлёте и завершении.
- QGroundControl Guide — Plan View, шаблоны Survey / Corridor Scan / Structure Scan, перекрытия, геозоны и rally-точки, статистика миссии.
- Mission Planner Documentation — экран Flight Plan, режимы высоты, Survey (Grid), запись/чтение задания.
- Cabreira et al. Survey on Coverage Path Planning with UAVs (Drones, 2019) — задача покрытия, паттерны boustrophedon и спираль, области применения.