Перейти к содержимому
189
Прошивка автопилота: выбор версии и процедура

Прошивка автопилота: выбор версии и процедура #08

Mission Planner для технического персонала · Урок 8 из 43 · Модуль 2. Ввод аппарата в эксплуатацию

Как выбрать версию прошивки, чем рискует тот, кто ставит beta, и как правильно провести саму процедуру заливки.

Обновление прошивки — это отдельная работа с полной перепроверкой на земле и тестовым полётом. Никогда не обновляйтесь в день ответственной задачи.

Содержание

1. Цели урока

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

  • чем различаются каналы Stable, Beta и Latest
  • что меняется при переходе между мажорными версиями
  • как устроен экран SETUP → Install Firmware и что делает каждая его ссылка
  • пошаговую процедуру заливки прошивки
  • как войти в режим загрузчика, если плата не определяется
  • что обязательно проверить сразу после обновления
↑ К оглавлению

2. Выбор версии прошивки

ArduPilot выпускает прошивки тремя каналами. В коде Mission Planner они называются OFFICIAL, BETA и DEV, в интерфейсе — Stable, Beta firmwares и Latest.

КаналКомуРиск
Stable Всем, кто выполняет реальные задачи Минимальный, проверено сообществом
Beta Тестировщикам, тем, кому нужна конкретная новая функция Известные ошибки исправляются, но неизвестные встречаются
Latest (master) Разработчикам Может не собраться, не взлететь, потерять калибровки

На июль 2026 года стабильными являются Copter 4.7.0 и Plane 4.7.0, вышедшие 21 июля 2026 года; предыдущая долгоживущая ветка — 4.6.x.

Не обновляйтесь перед вылетом: Правило, выведенное болью многих операторов: обновление прошивки — это отдельная работа с последующей полной перепроверкой на земле и тестовым полётом. Никогда не обновляйте прошивку в день ответственной съёмки или демонстрации.

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

Переход 4.5 → 4.6 → 4.7 обычно приносит:

  • новые поддерживаемые платы и периферию;
  • улучшения EKF3 и логики переключения источников навигации;
  • изменения в дефолтных значениях параметров;
  • иногда — переименование или удаление параметров.

При обновлении Mission Planner сохраняет существующие значения параметров, но новые параметры получают значения по умолчанию, а удалённые — исчезают. После обновления обязательно сохраните новый файл параметров и сравните с предыдущим.

В версии 4.7 прошло массовое переименование параметров. Единицы приведены к системе СИ, а группы получили единообразные префиксы: WPNAV_SPEED стал WP_SPD и перешёл из сантиметров в метры в секунду, RTL_ALT стал RTL_ALT_M, SYSID_THISMAVMAV_SYSID. Значения конвертируются автоматически при первой загрузке новой прошивки, но ваши записи, скрипты и чужие файлы настроек продолжают ссылаться на старые имена. Полный разбор — в уроке 7.
Отдельно проверьте предполётные проверки. Параметр ARMING_CHECK заменён на ARMING_SKIPCHK с обратным смыслом: старый перечислял проверки, которые надо выполнять, новый — которые надо пропустить. Автоматическая конверсия здесь может дать неожиданный результат. После перехода на 4.7 откройте CONFIG → Full Parameter List, найдите ARMING_SKIPCHK и убедитесь, что значение равно нулю, то есть ни одна проверка не пропускается.
↑ К оглавлению

3. Экран Install Firmware

Экран открывается в SETUP → Install Firmware. Основную площадь занимают иконки аппаратов, под ними — строка состояния и полоса прогресса, по краям — служебные ссылки.

Иконки аппаратов

Щелчок по иконке заливает последнюю стабильную прошивку для выбранного типа аппарата. Список типов задан в коде программы и соответствует сборкам на сервере ArduPilot.

Тип в манифестеПрошивкаАппарат
Copter ArduCopter Мультироторы
HELICOPTER ArduCopter (Heli) Вертолёты классической схемы
FIXED_WING ArduPlane Самолёты, в том числе VTOL в режиме QuadPlane
GROUND_ROVER Rover Колёсные и гусеничные машины, катера
SUBMARINE ArduSub Подводные аппараты
ANTENNA_TRACKER AntennaTracker Следящие антенны
При подключённом аппарате экран выглядит иначе. Пока установлено MAVLink-соединение, вместо иконок аппаратов отображается сообщение: «You cannot load new firmware while connected via MAVLink. Please press the Disconnect button at top right to end the connection». Из всех элементов остаётся только Bootloader Update. Это касается и симулятора SITL: подключение к нему — такое же MAVLink-соединение. Чтобы увидеть экран целиком, нужно нажать DISCONNECT.

Программа не хранит список прошивок внутри себя: при открытии экрана она скачивает манифест с сервера firmware.ardupilot.org. Пока манифест загружается, ссылки «All Options» и «Beta firmwares» недоступны — это нормально, дождитесь появления подписи с версией.

Служебные ссылки экрана

СсылкаЧто делаетКогда нужна
All Options Полный список сборок: все версии, все платы, все каналы Нужна конкретная версия, а не последняя стабильная
Beta firmwares Переключает иконки на бета-канал Тестирование новой функции до релиза
Load custom firmware Заливка локального файла .apj или .hex Файл скачан вручную либо собран самостоятельно
Force Bootloader Отправляет команду перезагрузки в загрузчик заранее, до выбора прошивки Плата не переходит в загрузчик автоматически
Bootloader Update Обновление самого загрузчика Требуется редко, по указанию производителя платы
Status и полоса прогресса Ход загрузки и заливки Наблюдение за процессом
Bootloader Update — не рутинная операция. Загрузчик отвечает за саму возможность прошить плату. Неудачное обновление превращает контроллер в кирпич, который оживает только через DFU и программатор. Трогайте этот пункт, только если так сказано в инструкции производителя или в описании конкретной проблемы.
↑ К оглавлению

4. Процедура прошивки

Ключевой момент, в котором чаще всего путаются: USB остаётся подключённым всё время. Плату не нужно ни отсоединять заранее, ни выдёргивать в процессе. Программа сама переводит контроллер в режим загрузчика по команде и сама находит его заново.

  1. Снимите винты и отключите силовую батарею. Прошивка выполняется только по USB, питание от батареи при этом не нужно.
  2. Подключите USB и соединитесь обычным способом кнопкой CONNECT.
  3. Сохраните текущие параметры: CONFIG → Full Parameter List → Save to file. Это возможно только пока связь есть.
  4. Нажмите DISCONNECT. Кабель не трогайте — порт должен освободиться, но плата остаётся подключённой.
  5. Откройте SETUP → Install Firmware и дождитесь, пока подгрузится список прошивок с сервера.
  6. Убедитесь, что в правом верхнем углу выбран нужный COM-порт.
  7. Нажмите на иконку аппарата или выберите конкретную версию через All Options.
  8. Подтвердите запрос и не трогайте кабель до конца процесса. Следите за строкой Status и полосой прогресса.
  9. После сообщения об успешной загрузке подключитесь кнопкой CONNECT.
Почему нельзя оставаться подключённым кнопкой CONNECT: при заливке программа должна сама открыть COM-порт и говорить с загрузчиком платы напрямую. Если порт занят обычным MAVLink-соединением, прошивальщик его не получит. Поэтому перед заливкой соединение разрывают — но именно программно, кнопкой DISCONNECT, а не выдёргиванием кабеля.
Что делает программа за вас: сначала она проверяет, не находится ли плата уже в режиме загрузчика. Если нет — открывает порт, дожидается сигнала heartbeat и отправляет команду перезагрузки в загрузчик. Контроллер перезапускается, на несколько секунд пропадает с прежнего COM-порта и появляется снова уже как устройство-загрузчик. Всё это время кабель остаётся в разъёме.
Просьба отключить и подключить USB — признак того, что что-то пошло не так. Сообщение «Please unplug the board and reconnect» появляется, только если программа не смогла достучаться до платы за три секунды: не нашла heartbeat или не получила ответ на команду перезагрузки. Тогда действительно нужно вынуть кабель и вставить снова — программа продолжит поиск платы в течение 30 секунд. При штатной работе этого сообщения быть не должно.
Не отключайте USB во время записи. Прерывание на этапе программирования оставляет плату с повреждённой прошивкой. Восстанавливается это через режим загрузчика, но проще не доводить: закройте лишние программы, не трогайте кабель и не переводите ноутбук в спящий режим.

Этапы заливки и что видно на экране

Строка Status над полосой прогресса показывает текущий этап. Названия в ней английские, вот что они означают.

Надпись в StatusЧто происходитТиповая длительность
Downloading from internet Скачивается файл прошивки для вашей платы 10–60 с
Reading Hex File Программа разбирает скачанный файл Секунды
Look for HeartBeat Поиск живого автопилота на порту перед перезагрузкой До 3 с
Reboot to Bootloader Отправлена команда перезагрузки в режим загрузчика Мгновенно
Scanning comports Плата перезапускается, программа ищет её заново на всех портах До 30 с
Identify и Connecting Плата найдена, определяется её тип и ревизия Секунды
Program 1/N Очистка памяти и запись прошивки. Счётчик показывает прогресс по блокам 30–120 с
Upload complete Запись завершена и проверена
Полоса замерла в начале записи — это не зависание. Перед программированием контроллер очищает флеш-память, и на некоторых платах это занимает до полуминуты без видимого прогресса. Ждите не менее двух минут, прежде чем считать процесс неудачным.
Проверка типа платы: если файл прошивки не подходит к обнаруженному контроллеру, программа не станет его заливать, а продолжит искать подходящее устройство на других портах. Так что залить прошивку от чужой платы по ошибке не получится — но и «ничего не происходит» может означать именно несовпадение типа.

Если плата не определяется

Порядок действий от простого к сложному:

  1. Смените кабель. Кабели без линий данных, рассчитанные только на зарядку, — самая частая причина.
  2. Смените порт USB, предпочтительно на встроенный, а не через хаб.
  3. Проверьте, что порт виден в диспетчере устройств и выбран в правом верхнем углу программы.
  4. Если появилось сообщение с просьбой отключить и подключить плату — сделайте это: выньте кабель, вставьте обратно и не мешайте программе, у неё есть 30 секунд на поиск.
  5. Нажмите Force Bootloader на экране Install Firmware: программа отправит команду перезагрузки в загрузчик заранее.
  6. Переведите плату в загрузчик вручную: зажмите кнопку DFU или Boot при подключении USB, либо дважды нажмите Reset. Плата определится как отдельное устройство.
  7. Скачайте файл .apj напрямую с firmware.ardupilot.org и залейте через Load custom firmware.
Проверка кабеля за десять секунд: подключите аппарат и посмотрите, появился ли новый COM-порт в списке. Если светодиоды на плате горят, а порта нет — кабель заряжает, но не передаёт данные. Такой кабель надо просто отложить в сторону, а не искать проблему в плате.

Смена типа аппарата

Переход с Copter на Plane или Rover — это заливка другой прошивки. Все параметры при этом сбрасываются: наборы параметров у прошивок разные. Планируйте это как настройку с нуля.

Сохранённый файл параметров не поможет. Файл от ArduCopter нельзя применить к ArduPlane: значительная часть имён просто не существует в другой прошивке, а совпадающие по имени параметры могут иметь другой смысл. После смены типа аппарата придётся заново пройти все калибровки из SETUP → Mandatory Hardware.
↑ К оглавлению

5. Что делать сразу после прошивки

Обновление не заканчивается полосой прогресса. Минимальный набор проверок перед тем, как считать аппарат готовым:

  1. Подключиться и убедиться, что в заголовке окна указана ожидаемая версия прошивки.
  2. Сохранить новый файл параметров: CONFIG → Full Parameter List → Save to file.
  3. Сравнить его с сохранённым до обновления через Compare Params и осознанно принять изменения дефолтов.
  4. Проверить ARMING_SKIPCHK или ARMING_CHECK — предполётные проверки должны быть включены.
  5. Проверить SETUP → Mandatory Hardware: не сбросились ли калибровки акселерометра и компаса.
  6. Проверить назначение выходов в Servo Output и режимы полёта в Flight Modes.
  7. Прогнать тест моторов со снятыми винтами.
  8. Выполнить тестовый полёт в простом режиме, не приступая сразу к ответственной задаче.
Два файла параметров — обязательная привычка: аппарат_дата_before_fw470.param и аппарат_дата_after_fw470.param. Сравнение этих двух файлов — единственный способ увидеть, что именно поменяла новая прошивка в вашей конфигурации. Через месяц вы этого уже не восстановите.
↑ К оглавлению

6. Практика

Первое задание выполняется без аппарата и без симулятора — нужен только компьютер с интернетом. Второе выполняется в симуляторе SITL.

Задание 8.1. Изучение экрана Install Firmware

Выполняется в отключённом состоянии. Ни аппарат, ни симулятор не требуются, но нужен интернет.

  • Запустите Mission Planner и не подключайтесь: ни кнопкой CONNECT, ни к симулятору.
  • Откройте SETUP → Install Firmware и дождитесь, пока подписи под иконками аппаратов сменятся с пустых на версии прошивок.

8-1-inst_fw_39b66.png

  • Найдите на экране все шесть служебных элементов: All Options, Beta firmwares, Load custom firmware, Force Bootloader, Bootloader Update и строку Status.
  • Откройте All Options и найдите стабильную версию для своей платы. Запишите точное имя файла прошивки.
  • Переключитесь на Beta firmwares и сравните предложенные версии со стабильным каналом.
  • Теперь подключитесь к SITL и снова откройте SETUP → Install Firmware. Прочитайте текст, который появится вместо иконок, и объясните, почему так сделано.

Задание 8.2. Сравнение версий по параметрам

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

  • Подключитесь к симулятору и сохраните полный набор параметров в файл с именем, содержащим версию прошивки.
  • Найдите в CONFIG → Full Parameter List параметры скорости по маршруту запросом WPNAV|WP_SPD. Определите, какая схема имён действует в вашей сборке.
  • Проверьте значение ARMING_CHECK или ARMING_SKIPCHK и объясните, что оно означает.
  • Включите галочку None Default и составьте список параметров, отличающихся от заводских.
Саму прошивку в симуляторе залить нельзя. SITL — это программная модель автопилота, у неё нет флеш-памяти и загрузчика. Отработать процедуру заливки можно только на реальной плате, даже на самой дешёвой отладочной. Изучить экран, список версий и поведение интерфейса симулятор не мешает — это и есть содержание первого задания.

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

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

  1. Чем различаются каналы Stable, Beta и Latest и кому предназначен каждый?
  2. Почему нельзя обновлять прошивку в день ответственной задачи?
  3. Что происходит с параметрами при обновлении: какие сохраняются, какие получают значения по умолчанию, какие исчезают?
  4. Зачем нужна ссылка All Options, если иконка аппарата и так заливает прошивку?
  5. Почему при подключении к аппарату или к симулятору экран Install Firmware показывает не иконки, а текстовое сообщение?
  6. Нужно ли отключать USB-кабель перед заливкой прошивки и почему?
  7. В каком случае программа просит отключить и снова подключить плату, и о чём это говорит?
  8. Плата не определяется по USB. Назовите порядок действий от простого к сложному.
  9. Почему при смене типа аппарата с Copter на Plane не поможет сохранённый файл параметров?
↑ К оглавлению

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

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

  • Установлена актуальная стабильная версия прошивки
  • Найдены все служебные ссылки экрана Install Firmware
  • Сохранён файл параметров до и после обновления
  • Файлы сравнены через Compare Params, изменения дефолтов осознаны
  • Проверено, что предполётные проверки после обновления не отключены
  • Понимаю, что USB остаётся подключённым всю прошивку, а соединение разрывается кнопкой DISCONNECT
  • Знаю, что делать, если плата не определяется по USB
Результат: все пункты выполнены — переходите к следующему уроку.
↑ К оглавлению

9. Что дальше

↑ К оглавлению
  • мод. : Вторник, 08 сентября 2026
Прошивка автопилота: выбор версии и процедура