ArduPilot: первичная настройка самолёта

Обновлено: 2026-11-12
На этой странице

ArduPilot: первичная настройка самолёта

Первичная настройка ArduPilot Plane: прошивка, обязательные параметры, калибровки, режимы и failsafe. Названия параметров — по актуальным стабильным версиям Plane (4.5+); в старых прошивках часть параметров называется иначе (примеры ниже).

1. Прошивка

Шаг 1. Попробуйте прошить/обновить прямо из GCS

По одной лишь модели платы заранее не понять, что на ней сейчас стоит — поэтому вместо попытки угадать сразу пробуем штатную установку прошивки, каждая GCS по своей документированной процедуре (порядок действий у станций разный, путать нельзя):

  • Mission Planner — подключите плату USB-кабелем к компьютеру. В выпадающем списке COM-портов (у кнопки Connect) выберите AUTO или свой порт и выставьте скорость 115200 — но саму кнопку Connect пока не нажимайте. Откройте Setup → Install Firmware, выберите Plane и свою плату. Планировщик сам попробует определить плату и может попросить отключить/переподключить её — следуйте подсказкам на экране.
  • QGroundControl — сначала отключите от аппарата все USB- и телеметрийные соединения и снимите питание батареи, откройте Vehicle Setup → Firmware, и только после этого подключите устройство USB-кабелем напрямую к компьютеру (не через хаб). Обратный порядок (сначала подключить, потом открыть страницу) — не тот, что описан в документации QGC, и результат по нему не гарантирован.

Установка прошла (в Mission Planner — статус внизу справа экрана последовательно показывает «erase…», «program…», «verify…» и «Upload Done»; в QGC — прогресс-бар доходит до конца и устройство перезагружается и переподключается) — на плате теперь Plane, идите на Шаг 3.

GCS не увидела автопилот несмотря на точное соблюдение порядка выше (в Mission Planner — плата не опознаётся даже после переподключения; в QGC — плата не предлагается на экране Firmware после подключения по инструкции) — вероятно, на плате ещё нет ArduPilot-совместимого бутлоадера. Идите на Шаг 2.

Источники процедур: ArduPilot — Loading Firmware (порядок для Mission Planner) и QGroundControl — Loading Firmware (порядок и предупреждение про отключение USB для QGC).

Шаг 2. Первая заливка бутлоадера через DFU (только если Шаг 1 не прошёл)

Источник этого шага описывает такие платы как «many smaller boards targeted for multicopter racing applications», на которых часто уже стоит другая прошивка («often have another autopilot software pre-installed»). GCS в этом шаге не участвует — заливка идёт сторонней DFU-утилитой:

  1. На firmware.ardupilot.org откройте тип аппарата (Plane) → канал сборки (stable или beta) → папку вашей платы, и скачайте файл *_with_bl.hex.
  2. Переведите плату в DFU-режим (удерживая кнопку/перемычку BOOT при подаче питания) и залейте файл через DFU-утилиту (например, STM32CubeProgrammer).
  3. После этого вернитесь к Шагу 1 — плата должна опознаваться GCS как обычная ArduPilot-плата.

Источник шагов — Loading Firmware onto boards without existing ArduPilot firmware.

Шаг 3. Обязательная настройка после прошивки

Подключитесь к GCS по USB (MAVLink) и пройдите разделы обязательной настройки (Mandatory Hardware в Mission Planner) — это раздел 2 ниже.

2. Обязательные калибровки

  1. Accel Calibration — 6 положений; плюс Calibrate Level в рабочем положении платы. Если FC стоит с поворотом — сначала AHRS_ORIENTATION.
  2. Compass — если подключён (обычно в модуле GPS): Onboard Mag Calibration, вращение по всем осям. Для самолёта компас желателен, но Plane умеет держать курс и по GPS.
  3. Radio Calibration — диапазоны стиков и тумблеров.
  4. Servo Output — назначение выходов: SERVOn_FUNCTION (Aileron/Elevator/Rudder/Throttle; для крыла — ElevonLeft/ElevonRight, для V-tail — VTailLeft/VTailRight). Реверсы — SERVOn_REVERSED, триммеры — SERVOn_TRIM. Правильность стабилизации проверяется в FBWA: наклоните самолёт — рули должны парировать наклон.
  5. ESC/Airspeed — калибровка регулятора по инструкции производителя; если стоит трубка Пито — ARSPD_TYPE и предполётная калибровка нуля.

3. Минимальный набор параметров Plane

Параметр Смысл
AIRSPEED_CRUISE крейсерская воздушная скорость, м/с (до 4.5 — TRIM_ARSPD_CM, см/с)
AIRSPEED_MIN / AIRSPEED_MAX границы скоростного диапазона (до 4.5 — ARSPD_FBW_MIN/MAX)
TRIM_THROTTLE крейсерский газ, %
SCALING_SPEED скорость, на которой масштабируются усиления (≈ крейсер)
ROLL_LIMIT_DEG, PTCH_LIM_MAX_DEG, PTCH_LIM_MIN_DEG ограничения крена и тангажа в стабилизированных режимах
RTL_ALTITUDE высота возврата в RTL
WP_LOITER_RAD радиус круга в LOITER/RTL, м
LOG_BITMASK что писать в бортовой лог
SERVO_AUTO_TRIM автотримминг серв в полёте (см. ниже)

Значения скоростей берите из аэродинамического расчёта модели (крейсер и скорость сваливания с запасом ~30%), а не «по умолчанию».

4. Режимы полёта

Назначаются в Flight Modes (параметры FLTMODE1..6, канал — FLTMODE_CH). Рабочий набор для самолёта:

Режим Что делает
MANUAL прямое управление рулями, без стабилизации
FBWA стабилизация: стики задают крен/тангаж в пределах лимитов. Основной режим первых полётов
FBWB как FBWA + автоматическое удержание высоты и скорости
CRUISE как FBWB + удержание путевого курса — режим «дальних перелётов»
LOITER кружение вокруг точки включения
RTL возврат к точке дома (или rally point) и кружение над ней
AUTO полёт по миссии из waypoints (планируется в GCS)
TAKEOFF автовзлёт: набор заданной высоты с удержанием курса
AUTOTUNE как FBWA, но с автоподбором усилений (см. ниже)

Рекомендация на первые вылеты: MANUAL / FBWA / RTL на трёхпозиционном тумблере.

5. Failsafe

Plane использует двухступенчатую схему (short/long):

  • THR_FAILSAFE = 1 — включает детект потери RC (по throttle ниже THR_FS_VALUE или по флагу протокола приёмника).
  • FS_SHORT_ACTN — действие при кратковременной потере (по умолчанию CIRCLE — кружить и ждать восстановления линка).
  • FS_LONG_ACTN — действие после FS_LONG_TIMEOUT секунд (по умолчанию RTL).
  • FS_GCS_ENABL — failsafe при потере телеметрии GCS (для полётов «по земной станции»).
  • Батарейный failsafe: BATT_LOW_VOLT / BATT_LOW_MAH и действие BATT_FS_LOW_ACT (предупреждение/RTL/посадка); критический порог — BATT_CRT_VOLT / BATT_FS_CRT_ACT.

Обязательная наземная проверка (без пропеллера): выключите передатчик и убедитесь в переходе в CIRCLE → RTL по HUD земной станции.

6. Arming checks (предполётные проверки)

Перед взлётом ArduPilot запускает набор проверок и не даст армироваться, пока они не пройдены, — защита от банальных ошибок (не откалиброван компас, нет GPS-фикса, разряжена батарея и т.п.).

  • ARMING_CHECK — битовая маска, что именно проверять; по умолчанию 1 (All) — проверяется всё сразу: барометр, компас, GPS-фикс, IMU, параметры, RC-калибровка, напряжение платы, батарея, логирование, hardware safety switch и др. На земле, для точечной диагностики, отдельные пункты можно временно отключить битовой маской — но перед реальным полётом верните 1.
  • Причина отказа армирования видна в статус-баре (HUD) Mission Planner при попытке армирования — текстовое сообщение вида «PreArm: Compass not calibrated»; читайте его, а не гадайте, что не так.
  • Safety switch — на платах семейства Pixhawk/Cube есть физическая кнопка/индикатор: мигает — можно нажать и армировать; требование её нажатия включается/выключается параметром BRD_SAFETYENABLE.
  • Способ армирования — по умолчанию через GCS (Actions → Arm/Disarm в Mission Planner) либо стиками (газ вниз + руль направления вправо, удержание пару секунд), последнее регулируется ARMING_RUDDER.
  • Проверяйте армирование/дизармирование без пропеллера при первом включении каждого нового режима или после смены параметров.

7. AUTOTUNE и автотримминг

  • AUTOTUNE — отдельный полётный режим: летайте с резкими короткими дачами по крену и тангажу несколько минут; прошивка подбирает FF/P/I/D для каждой оси. Агрессивность — AUTOTUNE_LEVEL (по умолчанию 6). Усиления сохраняются по завершении настройки оси и при выходе из режима.
  • SERVO_AUTO_TRIM = 1 — автопилот в полёте постепенно переносит установившиеся поправки в триммеры серв (аналог ручного триммирования).

8. Первый вылет

  1. Дождитесь GPS 3D fix и записи home point (HUD покажет число спутников).
  2. Армирование пройдёт только при зелёных arming checks (см. выше) — на этом этапе обычно всплывают забытые калибровки.
  3. Взлёт в MANUAL (или TAKEOFF/бросок в FBWA), набор безопасной высоты.
  4. Проверка FBWA: поведение, триммирование, реакция на стики.
  5. AUTOTUNE на высоте.
  6. Проверка RTL с видимой дистанции.
  7. После полёта — скачайте и просмотрите лог (см. Логи и разбор полётов).

9. Бэкап параметров и налёт в Ангаре

Настроенный борт стоит сохранить: полный список параметров — это и страховка от случайного сброса, и способ сравнить «до/после» автотюна. Платформа делает это прямо из браузера, без Mission Planner:

  1. Заведите борт в Ангаре и откройте его карточку → вкладка «Полётный контроллер». Если полётный контроллер ещё не заведён, нажмите «Опознать полётный контроллер по USB» — ArduPilot-плата опознаётся по MAVLink, и форма создания откроется уже заполненной (плата, версия прошивки, UID микроконтроллера).
  2. Подключите плату по USB (десктопный Chrome/Edge, адрес сайта по HTTPS; Mission Planner и другие программы, занимающие порт, закройте) и нажмите «Забэкапить настройки с полётного контроллера». Платформа запросит полный список параметров (PARAM_REQUEST_LIST), дозапросит потерянные кадры и сохранит файл .param к борту; в статусе виден ход «прочитано N из M». Поле «Комментарий» рядом — подпись снимка («после AUTOTUNE»).
  3. Скачать отдаёт тот же .param — его открывают Mission Planner (Config → Full Parameter List → Load from file) и QGroundControl. Восстановление из Ангара в плату не делается — платформа ArduPilot только читает; записывайте параметры наземной станцией.
  4. Два снимка сравниваются кнопкой «Сравнить» построчно по именам параметров: что добавилось, что изменилось (было → стало), что пропало.

Заодно с каждым подключением платформа подтягивает налёт борта: у ArduPilot это параметр STAT_FLTTIME (суммарное время в полёте, прошивка ведёт его сама и сохраняет между включениями); дистанцию и расход ArduPilot в параметрах не хранит, поэтому у такого борта растёт только время. Налёт считается приростом с прошлой синхронизации, поэтому повторное подключение без полёта ничего не добавит, а сброс параметров (STAT_RESET) или замена платы счётчик борта не обнулят. Беспроводная синхронизация (Bluetooth) для ArduPilot не поддерживается — только USB.

См. также

Источники