Перейти к содержимому

Урок 7 из 43 · Модуль 1. Система параметров ArduPilot

Mission Planner для технического персонала · Урок 7 из 43 · Модуль 1. Основы: интерфейс и протокол

Всё поведение автопилота определяется таблицей из тысячи с лишним параметров. Учимся читать их имена, работать с файлами настроек и переносить конфигурации.

Имена параметров строятся по схеме «префикс подсистемы + функция». Научившись их разбирать, вы будете понимать назначение незнакомого параметра ещё до чтения описания.

Содержание

1. Цели урока

После этого урока вы будете понимать:

  • как расшифровывать имена параметров по префиксам
  • как работать с файлами .param и применять их частично
  • какие параметры нельзя переносить между аппаратами
  • что такое MAVFtp и почему он ускоряет подключение
↑ К оглавлению

2. Система параметров ArduPilot

Всё поведение автопилота определяется таблицей параметров, хранящейся в энергонезависимой памяти контроллера. Их от 900 до 1500 в зависимости от прошивки и включённых функций.

Анатомия имени параметра

Имена строятся по принципу «префикс подсистемы + функция»:

ATC_RAT_RLL_P
│   │   │   └── коэффициент P
│   │   └────── ось roll (крен)
│   └────────── rate controller (контур угловой скорости)
└────────────── Attitude Control (управление ориентацией)
INS_HNTCH_FREQ
│   │     └──── центральная частота
│   └────────── Harmonic Notch (гармонический режекторный фильтр)
└────────────── Inertial Sensors (инерциальные датчики)
BATT2_CAPACITY
│   │  └─────── ёмкость
│   └────────── второй экземпляр монитора батареи
└────────────── Battery monitor
Text

Основные префиксы, которые нужно узнавать с первого взгляда:

Префикс Подсистема Типичное применение
ATC_ Attitude Control PID контуров углов и угловых скоростей
PSC_ Position Control Контуры положения и скорости (Copter)
INS_ Inertial Sensors Гироскопы, акселерометры, фильтрация
AHRS_ Attitude Heading Reference System Ориентация платы, магнитное склонение
EK3_ EKF3 Настройка расширенного фильтра Калмана
GPS_ GNSS Тип приёмника, автопереключение, RTK
COMPASS_ Магнитометры Смещения, приоритеты, декларация
MOT_ Motors Пределы тяги, кривая газа, PWM
SERVOn_ Выходы Функция, диапазон, реверс каждого канала
RCn_ Каналы приёмника Диапазоны, реверс, назначение
FS_ / BATT_FS_ Failsafe Реакции на отказы
WPNAV_ Waypoint Navigation Скорости и ускорения в миссии (Copter)
TECS_ Total Energy Control Связка «высота — скорость» (Plane)
NAVL1_ / NPFG_ Навигация по траектории (Plane) Агрессивность выхода на линию пути
Q_ QuadPlane Всё, что касается вертикального взлёта у самолётов
LOG_ Логирование Что и когда писать в бортовой лог
SR0_SR3_ Stream Rates Частоты потоков телеметрии по портам
SERIALn_ Последовательные порты Протокол и скорость каждого порта
BRD_ Board Настройки платы, safety switch, питание периферии
SCR_ Scripting Встроенные Lua-скрипты
Метаданные параметров: Каждый параметр в прошивке снабжён описанием, диапазоном, единицами измерения и признаком «требуется перезагрузка». Mission Planner загружает эти метаданные и показывает их как подсказку. Если подсказка пустая — программа не смогла скачать описание для вашей версии прошивки; проверьте интернет-соединение или обновите Mission Planner.
↑ К оглавлению

3. Работа с файлами параметров

Файл .param — обычный текстовый файл вида:

#NOTE: 28.07.2026 14:32:11 Saved from Mission Planner 1.3.83
ATC_ANG_PIT_P,7.500000
ATC_ANG_RLL_P,7.500000
ATC_ANG_YAW_P,4.500000
ATC_RAT_PIT_D,0.004200
ATC_RAT_PIT_I,0.098000
ATC_RAT_PIT_P,0.098000
INS_GYRO_FILTER,20.000000
INS_HNTCH_ENABLE,1.000000
INS_HNTCH_FREQ,96.000000
MOT_THST_HOVER,0.283100
Text

Из этого следуют полезные приёмы.

Частичное применение. Можно создать файл с десятком строк и загрузить его — Mission Planner применит только перечисленные параметры, остальные не тронет. Это удобно для типовых наборов: «фильтрация для 7-дюймовых винтов», «набор failsafe для съёмочных полётов».

Diff между конфигурациями. Любой инструмент сравнения текста покажет, чем отличаются два аппарата или две настройки одного аппарата.

Версионирование. Файлы параметров отлично ложатся в git. Для парка аппаратов это лучший способ отслеживать историю настроек.

Схема именования бэкапов: Используйте единый формат: [аппарат]_[дата]_[этап].param. Например, hexa900_2026-07-28_after_autotune.param. Через полгода вы не вспомните, что означало params_new_2_final.param.

Что не переносится между аппаратами

Файл параметров нельзя целиком заливать на другой экземпляр даже той же модели. Индивидуальны:

  • калибровки акселерометров INS_ACC*OFFS_*, INS_ACC*SCAL_*;
  • калибровки компасов COMPASS_OFS_*, COMPASS_DIA_*, COMPASS_ODI_*;
  • калибровка приёмника RCn_MIN, RCn_MAX, RCn_TRIM;
  • калибровка датчика тока BATT_AMP_PERVLT, BATT_VOLT_MULT;
  • зависший от конкретной сборки MOT_THST_HOVER.
Клонирование настроек: Перенося конфигурацию с аппарата на аппарат, залейте файл целиком, а затем обязательно заново выполните все калибровки из Mandatory Hardware. Чужие смещения акселерометра — прямой путь к уводу в сторону при взлёте.
↑ К оглавлению

4. MAVFtp и скорость обмена

Начиная с ArduPilot 4.1, Mission Planner использует MAVFtp — файловый протокол поверх MAVLink — для загрузки таблицы параметров одним блоком вместо тысячи отдельных пакетов. Это ускоряет подключение в разы, особенно на медленном радиоканале.

Если параметры грузятся мучительно долго, проверьте:

  • SERIALx_PROTOCOL = 2 (MAVLink 2) на используемом порту — MAVFtp требует второй версии протокола;
  • в CONFIG → Planner включена опция использования MAVFtp;
  • модем не режет длинные пакеты (в настройках SiK должен быть включён MAVLink framing).
↑ К оглавлению

5. Команды и подтверждения

Когда вы нажимаете кнопку в интерфейсе, программа отправляет COMMAND_LONG или COMMAND_INT. Автопилот отвечает COMMAND_ACK с кодом результата.

Код ответа Значение
ACCEPTED Команда принята и выполняется
TEMPORARILY_REJECTED Сейчас нельзя, попробуйте позже (например, идёт калибровка)
DENIED Команда запрещена в текущем состоянии
UNSUPPORTED Прошивка не знает такой команды
FAILED Попытка выполнения не удалась

Mission Planner показывает результат всплывающим окном или строкой в Messages. Если команда «не сработала» и никакого сообщения нет — скорее всего, она вообще не дошла: проверьте канал.

↑ К оглавлению

6. Практика

Задания выполняются в симуляторе SITL и не требуют реального аппарата. Выполните их до перехода к следующему уроку.

Задание 7.1. Исследование потока

Выполняется в симуляторе SITL, реальный аппарат не требуется.

  • Подключитесь к симулятору и откройте Ctrl+F → Mavlink Inspector.
  • Зафиксируйте фактические частоты ATTITUDE, GLOBAL_POSITION_INT, VFR_HUD.
  • Измените частоты потоков в CONFIG → Planner и убедитесь, что Inspector отражает изменения.
  • Найдите сообщение EKF_STATUS_REPORT и разберите его поля.

Задание 7.2. Работа с параметрами

Выполняется в симуляторе SITL, реальный аппарат не требуется.

  • Сохраните полный набор параметров симулятора в файл.
  • Создайте вручную текстовый файл из трёх строк, меняющих WPNAV_SPEED, WPNAV_ACCEL и RTL_ALT.
  • Загрузите его и убедитесь, что изменились только эти три значения (Compare Params).
  • Составьте список параметров, которые нельзя переносить между аппаратами, и объясните почему.
↑ К оглавлению

7. Проверьте себя

Сформулируйте ответ своими словами, прежде чем сверяться со справочником ответов (последняя статья курса).

  1. Почему MAVLink не гарантирует доставку сообщений и как при этом обеспечивается надёжная передача миссии?
  2. Что произойдёт, если два аппарата в одном радиоканале будут иметь одинаковый SYSID_THISMAV?
  3. Расшифруйте по частям имена параметров PSC_VELXY_I, EK3_SRC1_YAW, Q_ASSIST_SPEED.
  4. В каких случаях полезно загружать файл параметров, содержащий лишь несколько строк?
  5. Какую роль играет MAVFtp и от чего зависит его работоспособность?
↑ К оглавлению

8. Чек-лист самопроверки

Урок освоен, если каждый пункт выполнен на практике:

  • Узнаю основные префиксы: ATC_, INS_, MOT_, EK3_, FS_
  • Сохранён бэкап параметров с осмысленным именем файла
  • Знаю, какие калибровочные параметры индивидуальны для экземпляра
  • Умею применить файл из нескольких строк, не трогая остальное
Результат: все пункты выполнены — переходите к следующему уроку.
↑ К оглавлению

9. Что дальше

  • Предыдущий урок: 6. Протокол MAVLink: как аппарат разговаривает со станцией
  • Следующий урок: 8. Прошивка автопилота: выбор версии и процедура
  • Полный перечень тем — в статье «Содержание курса».
↑ К оглавлению
  • Четверг, 30 июля 2026