Планирование миссий

Кратко

Миссия (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 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 и спираль, области применения.

Обновлено: 2026-07-07