Урок 6 из 43 · Модуль 1. Протокол MAVLink: как аппарат разговаривает со станцией
Mission Planner для технического персонала · Урок 6 из 43 · Модуль 1. Основы: интерфейс и протокол
Понимание протокола объясняет почти все «странности» в поведении программы: задержки, потери, зависшую телеметрию и конфликты в групповых полётах.
MAVLink не гарантирует доставку телеметрии: потерянный пакет просто теряется. Именно поэтому вы всегда видите прошлое, а не текущее состояние аппарата.
Содержание
1. Цели урока
После этого урока вы будете понимать:
- чем MAVLink 2 отличается от первой версии
- какие сообщения передаются и с какой частотой
- как работает адресация SYSID и почему это важно в группе
- как пользоваться MAVLink Inspector для оценки канала
2. Зачем оператору знать про MAVLink
MAVLink (Micro Air Vehicle Link) — это протокол обмена сообщениями между аппаратом и наземной станцией. Понимание его устройства нужно не ради теории: почти все «странности» в поведении Mission Planner объясняются свойствами протокола.
Основные характеристики:
- бинарный, компактный: типовой пакет 10–60 байт;
- без гарантии доставки: потерянный пакет просто теряется, повторной передачи нет (кроме параметров и миссий, где протокол выше уровнем);
- потоковый: телеметрия передаётся периодически с заданной частотой, а не по запросу;
- адресуемый: каждый узел имеет
SYSID(идентификатор системы) иCOMPID(идентификатор компонента).
| Версия | Особенности |
|---|---|
| MAVLink 1 | Заголовок 6 байт, контрольная сумма 2 байта, до 255 типов сообщений. Устарел |
| MAVLink 2 | Заголовок 10 байт, расширяемые поля, подпись пакетов, до 16 777 215 типов сообщений. Стандарт с ArduPilot 3.6 |
Параметр SERIALx_PROTOCOL = 2 включает MAVLink 2 на соответствующем порту, = 1 — MAVLink 1.
3. Ключевые сообщения
Знание нескольких типов сообщений позволяет читать вывод MAVLink Inspector (Ctrl+F → Mavlink Inspector) и понимать, что происходит в канале.
| Сообщение | Содержимое | Частота |
|---|---|---|
HEARTBEAT | Тип аппарата, режим, статус армирования | 1 Гц, обязательно |
ATTITUDE | Крен, тангаж, курс и угловые скорости | 4–10 Гц |
GLOBAL_POSITION_INT | Широта, долгота, высота, скорости | 3–5 Гц |
GPS_RAW_INT | Сырые данные GNSS, тип решения, HDOP, число спутников | 2–5 Гц |
SYS_STATUS | Напряжение, ток, остаток, загрузка процессора, состояние датчиков | 2 Гц |
VFR_HUD | Сводка для HUD: скорость, высота, курс, газ | 4 Гц |
STATUSTEXT | Текстовые сообщения — то, что видно во вкладке Messages | По событию |
PARAM_VALUE | Значение одного параметра | При запросе |
MISSION_ITEM_INT | Один пункт миссии | При обмене миссией |
COMMAND_LONG / COMMAND_INT | Команда аппарату (arm, takeoff, set mode) | По действию |
RC_CHANNELS | Положения каналов пульта | 2–5 Гц |
SERVO_OUTPUT_RAW | Выходы на ESC и сервоприводы | 2–5 Гц |
VIBRATION | Уровни вибрации по осям и счётчики clipping | 1–2 Гц |
EKF_STATUS_REPORT | Дисперсии оценок фильтра | 2 Гц |
ATTITUDE на 10 Гц, а Inspector показывает 3 Гц, канал перегружен — уменьшайте частоты потоков или повышайте air speed модема.4. Идентификаторы систем
Каждый узел в сети MAVLink имеет адрес. Для одиночного аппарата это неважно, но как только на площадке появляется второй борт или компаньон-компьютер, адресация становится критичной.
| Параметр | Смысл | Значение по умолчанию |
|---|---|---|
SYSID_THISMAV | Идентификатор данного аппарата | 1 |
SYSID_MYGCS | Идентификатор наземной станции, команды от которой принимаются | 255 |
SYSID_ENFORCE | Игнорировать пакеты от чужих SYSID | 0 (выключено) |
SYSID_THISMAV (1, 2, 3…). Иначе Mission Planner будет получать телеметрию от нескольких бортов, считая её одним аппаратом: HUD начнёт «прыгать», а команды уйдут не туда. Для полётов в группе включайте также SYSID_ENFORCE = 1.5. Чек-лист самопроверки
Урок освоен, если каждый пункт выполнен на практике:
- Знаю назначение HEARTBEAT, ATTITUDE, STATUSTEXT
- Умею открыть MAVLink Inspector и оценить фактические частоты
- Понимаю роль SYSID_THISMAV при полётах нескольких аппаратов
6. Что дальше
- Предыдущий урок: 5. Экраны PLAN, SETUP и CONFIG
- Следующий урок: 7. Система параметров ArduPilot
- Полный перечень тем — в статье «Содержание курса».
- Четверг, 30 июля 2026