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

k00. Обзор «UAV Python Pro»

k00. Обзор «UAV Python Pro»

UAV Python Pro · Конспект K00 · Модуль M0. Старт: профессия, карта курса, правила работы · Редакция 4.0

Нулевой урок курса Python для программиста беспилотных летательных аппаратов и робототехники. Мы ещё не ставим программы и не пишем рабочий код: собираем понятную картину — кто такой программист БПЛА, из каких частей состоит система дрона, где в ней живёт Python, почему сначала симулятор Copter, а плата Matek F405 VTOL — позже, и как мы учимся с ментором без опасных скачков.

Автопилот на полётном контроллере уже умеет удерживать аппарат в воздухе. Ваш Python не заменяет эту работу, а разговаривает с автопилотом на языке сообщений MAVLink: читает телеметрию и ставит задачи. Позже добавятся зрение и сопровождение цели, в том числе участки без GPS. Всё новое сначала отрабатывается в симуляторе SITL на Windows, без настоящих пропеллеров.

Содержание

1. Цели урока

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

  • объяснить, чем занимается программист беспилотников в нашем понимании профессии, и чем он не обязан быть;
  • перечислить основные части системы «дрон + программы» и указать, где в этой схеме живёт Python;
  • дать простые рабочие определения: полётный контроллер, MAVLink, наземная станция GCS, симулятор SITL, бортовой компьютер companion;
  • понять карту курса M0–M12, зачем нужны контрольные точки (гейты), почему сначала коптер в симуляторе, а Matek F405 VTOL — позже;
  • знать ритуал работы с ментором, маркеры отката и что писать, если фраза в конспекте непонятна;
  • принять правило безопасности: до специального допуска нет arm на реальном аппарате с установленными пропеллерами.
Что особенно важно запомнить: Python в этом курсе — не «язык, чтобы сделать сайт». Это инструмент, которым вы соединяете автопилот, датчики, логику задания и позже — камеру с распознаванием. Вы пишете программы, которые помогают дрону выполнять полезную работу и помогают человеку эту работу контролировать.
↑ К оглавлению

2. Словарь урока

Прочитайте словарь спокойно один раз до основного текста. Заучивать наизусть не нужно: достаточно узнать слово «в лицо», когда оно встретится ниже.

ТерминПростыми словами
БПЛА (UAV) Беспилотный летательный аппарат. В быту почти всегда говорят «дрон».
Полётный контроллер (FC) Маленькая плата-компьютер на раме. В полёте она очень часто читает датчики и подправляет моторы, чтобы аппарат не перевернулся и летел куда нужно. Целевая плата курса — Matek F405 VTOL.
Автопилот / прошивка ArduPilot Программа, которая постоянно работает внутри полётного контроллера. ArduPilot — известный открытый автопилот; есть варианты для коптера, самолёта, VTOL и других типов.
Companion computer «Компьютер-спутник» на борту рядом с полётным контроллером. У нас это Raspberry Pi: на нём удобно запускать Python, камеру и более «умные» алгоритмы.
GCS Ground Control Station — наземная станция: программа на земле с картой, «приборами», кнопками режимов, загрузкой маршрута и логами. Готовый пример — Mission Planner.
MAVLink Общий язык сообщений между автопилотом, землёй и Raspberry Pi. Это не программа с кнопками, а правила, как упаковывать данные в байты.
SITL Software In The Loop — автопилот запускается как программа на вашем ПК, без настоящего дрона. Главная безопасная песочница обучения.
Телеметрия Поток данных «как дела у дрона»: высота, скорость, батарея, режим полёта, координаты.
Команда Сообщение автопилоту «сделай действие»: взлети, сядь, смени режим, лети в точку.
Arm (арминг) Разрешение моторам вращаться. На живом аппарате с пропеллерами это опасная операция. В симуляторе — учебная и безопасная.
Режим полёта «Характер» поведения автопилота: висеть, лететь по точкам, возвращаться на старт и т.д.
Failsafe Заранее настроенный план на аварию: пропала связь, села батарея — например, вернуться домой или сесть.
VTOL Vertical Take-Off and Landing — взлёт и посадка «по-вертолётному» и полёт вперёд «по-самолётному». Плата Matek F405 VTOL как раз под такие схемы; в курсе VTOL идёт после освоения коптера в симуляторе.
↑ К оглавлению

3. Кто такой программист БПЛА

Представьте обычный дрон: рама, моторы, батарея, датчики и маленькая плата управления. Если дрон уже «умеет летать» под управлением автопилота, зачем программист?

Потому что «уметь летать» — только половина дела. В работе нужно, например:

  • автоматически загрузить маршрут из файла;
  • в полёте читать высоту, батарею и качество связи;
  • записать подробный лог для разбора;
  • на борту обработать картинку с камеры и сказать автопилоту: «цель слева, поверни и держи дистанцию»;
  • если пропал GPS — перейти на запасной способ ориентирования.

Программист БПЛА в смысле нашей профессии пишет программное обеспечение вокруг автопилота: на земле (наземная станция), на борту (Raspberry Pi), для полезной нагрузки (камера, алгоритмы) и для связки всего этого в одну систему.

Простыми словами: автопилот — это «инстинкты и рефлексы» дрона: не упасть, стабильно висеть, выполнить простую команду. Ваш Python — это «голова, которая ставит задачи» и «глаза» через камеру. Голова не должна вместо рефлексов дёргать каждой мышцей тысячи раз в секунду. Голова говорит «иди туда», а рефлексы решают, как крутить моторы.

На плате Matek F405 VTOL будет прошивка ArduPilot. Она уже умеет стабилизировать положение, держать высоту, менять режимы полёта, возвращаться на точку старта (часто это называют RTL — Return To Launch, «вернись к месту взлёта»). Мы не пишем с нуля эту «рефлекторную» программу внутри полётного контроллера. Мы пользуемся ею через язык сообщений MAVLink.

Грубая схема (детали будут позже):

[Вы и ваш Python на Windows]
        │  сообщения MAVLink (USB, сеть UDP или радио)
        ▼
[Полётный контроллер с ArduPilot]
        │  сигналы на регуляторы и моторы
        ▼
[Моторы, сервоприводы, датчики]

Отдельно на борту:
[Raspberry Pi + ваш Python] ──UART/USB──► [тот же полётный контроллер]
         │
         └── камера, зрение, свои логи, своя логика задания

Какие роли закрывает курс

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

РольЧто вы делаетеГде в курсе
Разработчик GCS Программы на земле: телеметрия, команды, маршруты, логи Windows, Python, Mission Planner как эталон; позже свой упрощённый GCS
Инженер companion Программы на Raspberry Pi: сервис, связь с автопилотом, камера, решения на борту Модуль M8
Инженер интеграции Стыковка портов, протоколов, параметров, безопасные проверки на столе M3, M4, M9
Дрон + зрение / ИИ Узнать объект, вести в кадре, сопровождать, участок маршрута без GPS Модуль M11

Чем мы в курсе не занимаемся

Границы курса: мы не делаем из вас автоматически конструктора рам, профессионального паяльщика силовых цепей «с нуля» и авиационного юриста. Курс не заменяет официальные правила полётов и разрешения вашей страны. Право — только обзорно позже. Железо — только в объёме, нужном для интеграции программ и безопасной проверки.
  • Не пишем свою прошивку автопилота вместо ArduPilot (настраиваем и общаемся с ней — да).
  • Не уходим с первого дня в глубокий ROS2.
  • Не делаем главной целью «пилотировать руками как на соревнованиях»: нужен автоматический контур через код.
  • Не обходим законы: только легальные учебные сценарии, симулятор и безопасный стенд.
Зачем вам этот раздел: чтобы не ждать от курса не того результата. Ваш путь — программная инженерия вокруг автопилота.
↑ К оглавлению

4. Из каких частей состоит система дрона

Чтобы техника не превращалась в кашу, разложим систему на пять этажей. «Этаж» — удобная метафора уровня. Каждый этаж стыкуется с соседним через провода, сеть или сообщения протокола.

Пять этажей системы

ЭтажЧто это простыми словамиПример в нашем курсеПишете ли вы это на Python?
1. Сила и исполнительные механизмы Батарея, регуляторы оборотов, моторы, сервоприводы Рама коптера; позже схема VTOL Нет, Python моторы напрямую не крутит
2. Полётный контроллер Бортовой компьютер + программа автопилота Matek F405 VTOL + ArduPilot Саму прошивку — нет; команды ей — да, через MAVLink
3. Канал связи Путь байтов: провод, USB, сеть, радио USB к Mission Planner; UDP в симуляторе; UART между Raspberry Pi и контроллером Да: открывать порт и сокет
4. Протокол сообщений Правила «как понимать байты» MAVLink Да: pymavlink, позже MAVSDK
5. Прикладные программы Логика оператора, бортовой сервис, зрение, сценарий задания Mission Planner, ваш GCS, сервис на Pi, модули ИИ Да — основная работа курса
Аналогия с умным принтером: моторы головки — этаж 1; электроника принтера — этаж 2; USB или Wi‑Fi — этаж 3; язык команд печати — этаж 4; программа «Печать» на компьютере — этаж 5. Аналогия помогает понять уровни. Но дрон опаснее принтера: ошибка на этаже 5 при плохой дисциплине может закрутить настоящие пропеллеры. Поэтому симулятор и правила arm обязательны.
Коротко:

  Моторы              ≈ то, что исполняет движение
  Полётный контроллер ≈ встроенный компьютер устройства
  MAVLink             ≈ язык запросов к устройству
  Ваш Python          ≈ программа, которая шлёт запросы и читает ответы
  SITL                ≈ устройство эмулируется на ПК

Примеры задач

Это не задания на сегодня, а «трейлеры» будущих модулей, чтобы этажи стали живыми.

Пример A. «Покажи текущую высоту»

Полётный контроллер шлёт телеметрию MAVLink. Скрипт на Python читает сообщение и печатает высоту. Этому учит модуль M5.

Пример B. «В симуляторе взлети на 10 метров и сядь»

Скрипт: дождаться сигнала «я жив», сменить режим, выполнить arm, взлёт, посадку. Это лаборатория K38 и гейт G4. На настоящих пропеллерах — только после допуска по безопасности.

Пример C. «На борту сам запустился сервис»

Raspberry Pi включился, система подняла ваш Python-сервис, сервис связался с полётным контроллером и отдаёт статус на землю. Модуль M8.

Пример D. «Вижу цель — лечу рядом; GPS пропал — запасная схема»

Камера, узнавание и ведение объекта, команды автопилоту; без GPS — локальные способы ориентирования (конспект K72). Модуль M11.

Типичные ошибки новичков

Ошибка 1. «Напишу свой автопилот целиком на Python»

Чтобы дрон не перевернулся, программа внутри полётного контроллера должна очень часто и очень вовремя читать датчики и подправлять моторы. Это похоже на удержание равновесия: если поправлять осанку раз в несколько секунд, вы уже упадёте. Такую быструю регулярную работу называют работой в режиме жёсткого реального времени (часто говорят realtime): опоздание здесь не «чуть неудобно», а «аппарат уже в крене».

Эту работу уже делает прошивка ArduPilot на плате Matek F405 VTOL. Python на Raspberry Pi и на Windows нужен для верхнего уровня задач: куда лететь, какой маршрут загрузить, кого сопровождать камерой, что записать в лог. Это важно, но не заменяет быстрый контур равновесия.

Если из медленного цикла Python напрямую «дёргать моторы как автопилот», команды будут опаздывать. Аппарат станет непредсказуемым и опасным. Правильно: Python ставит задачу → автопилот исполняет быстро и стабильно.

Зачем знать сейчас: чтобы не поставить ложную цель «переписать ArduPilot на Python» и сразу встать на правильный этаж.

Ошибка 2. «Сначала соберу сложный VTOL, код потом»

VTOL сложнее коптера: больше режимов и параметров, выше цена ошибки. Без симулятора и понимания MAVLink отладка на живом железе дорогая и опасная.

Порядок курса: Python и база → коптер в SITL → надёжный код MAVLink → Raspberry Pi → Matek F405 VTOL на стенде по чек-листу.

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

5. Три опоры: MAVLink, SITL и GCS

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

MAVLink (Micro Air Vehicle Link) — открытый протокол обмена сообщениями между автопилотом, наземной станцией и бортовым компьютером.

Простыми словами: это не программа с окошками, а договорённость о формате. Какими байтами передать «я жив», «высота 12 метров», «взлети», «пункт маршрута номер 3».

В Python чаще всего будем использовать библиотеку pymavlink. Позже сравним с MAVSDK. Пока достаточно идеи: и Mission Planner, и ваш скрипт говорят с автопилотом на одном языке.

Идея обмена (ещё не код урока):

1) Контроллер шлёт HEARTBEAT («я включён, я такого-то типа…»).
2) Скрипт читает и понимает: связь есть.
3) Скрипт шлёт команду (например, запрос на arm).
4) Контроллер отвечает ACK: «выполнил» или «отказал, потому что…».

SITL

SITL — Software In The Loop, «программное обеспечение в контуре». На практике: программа автопилота работает на вашем компьютере, физика полёта упрощённо моделируется. Настоящих моторов нет, зато есть почти тот же обмен MAVLink.

На старте: ArduCopter SITL (мультикоптер) и Mission Planner на Windows. Ваш Python подключается по сети UDP (часто порт 14550) почти так же, как позже к живому аппарату.

Зачем SITL, если есть Matek: чтобы ошибаться дёшево. Неверная команда в симуляторе — строка в логе. На столе с пропеллерами — риск для людей и рамы.

GCS

GCS (Ground Control Station) — программа на земле: карта, «приборы», режимы, загрузка маршрута, логи.

Готовые GCS: Mission Planner (наш основной инструмент на Windows) и, например, QGroundControl. Позже вы соберёте свой упрощённый GCS на Python. Mission Planner останется эталоном для прошивки, параметров и логов.

Как это связано по этапам курса

ЭТАП 1 — только Windows
  Mission Planner ──UDP──► ArduCopter SITL
  Ваш Python      ──UDP──► ArduCopter SITL
  (один и тот же MAVLink)

ЭТАП 2 — Raspberry Pi
  Python на Pi ──UART──► Matek F405 VTOL (ArduPilot)
  Python на Pi ──Wi‑Fi/UDP──► ноутбук на земле

ЭТАП 3 — акцент на VTOL
  Те же идеи MAVLink и Python,
  другая аэродинамика и более строгие проверки
Практический вывод: если скрипт правильно работает в SITL через MAVLink, переход к железу — в основном смена способа подключения (например, UDP на последовательный порт), плюс калибровки и дисциплина безопасности. Это не «учить профессию заново».

Частые путаницы

ПутаницаКак правильно
«Mission Planner и есть MAVLink» Mission Planner — программа (GCS). MAVLink — язык, на котором она (и ваш Python) говорит с автопилотом.
«SITL — игрушка с другим протоколом» В SITL тот же MAVLink. Поэтому на нём и учат профессию.
«Raspberry Pi заменяет полётный контроллер» Pi дополняет контроллер. Если Python на Pi упал, failsafe на автопилоте должен спасти аппарат (например, RTL или посадка).
↑ К оглавлению

6. Карта курса, гейты, Copter и ИИ

Курс состоит из 12 модулей M0…M12 и конспектов K00…K80. Ниже — зачем такой порядок.

Модули M0–M12

M0   Старт: курс, Windows, знакомство с Mission Planner
M1   Python с нуля (ускоренно, но глубоко) до мини-проекта
M2   Математика дрона: координаты, углы, расстояние на карте
M3   Протоколы: UART, UDP/TCP, I2C/SPI, CAN, разбор байтов
M4   SITL Copter + Mission Planner + логи           → гейт G3
M5   MAVLink и pymavlink (ядро)                     → гейт G4
M6   Миссии, режимы, логика сценария                → гейт G5
M7   MAVSDK и аккуратная архитектура программ
M8   Raspberry Pi companion                         → гейт G6
M9   Matek F405 VTOL на стенде                      → гейт G7
M10  Датчики и модули
M11  ИИ: узнать / вести / сопровождать + без GPS    → гейт G8
M12  Три проекта и портфолио                        → гейт G9

В модуле M2 появятся формулы. Мы пишем их в LaTeX. Пример формата (смысл разберём в M2) — расстояние на плоскости:

\[ d = \sqrt{(x_2 - x_1)^2 + (y_2 - y_1)^2} \]

На сайте формула должна отрисоваться, если подключён MathJax или KaTeX. Рядом с любой формулой в курсе всегда будет словесное пояснение.

Почему сначала Copter, а не сразу VTOL

  • У учебного коптера в SITL проще набор режимов на старте.
  • Легче впервые понять arm, взлёт, висение, возврат домой, полёт по точкам.
  • Язык MAVLink тот же; VTOL добавляет раму и параметры, а не «другой MAVLink».
  • Плата Matek F405 VTOL — цель модуля M9, когда софт уже твёрдый.

ИИ-фокус курса (зафиксировано)

  • Идентификация — понять, что за объект перед камерой (в объёме курса).
  • Трекинг — не терять объект от кадра к кадру.
  • Сопровождение — превратить положение в кадре в команды автопилоту.
  • Маршрут без GPS — локальные координаты, оптический поток, визуальные маркеры и другие запасные подходы (K72), плюс понятный failsafe, если оценка положения развалилась.

Что такое гейты

Гейт — контрольная точка навыка: не «пролистал текст», а «умею сделать и объяснить». Без гейта не прыгаем в следующий опасный слой — особенно в живое железо и в связку «зрение → моторы».

ГейтЧто должно получаться на деле
G0 На Windows установлено и проверено рабочее окружение
G1 Своя небольшая Python-утилита с тестами и учебной заглушкой связи
G2 UDP-обмен и разбор учебного бинарного кадра
G3 SITL Copter, Mission Planner подключён, учебный лог сохранён
G4 pymavlink в SITL: arm → взлёт → посадка
G5 Из Python загружается и выполняется миссия
G6 На Raspberry Pi работает сервис со связью MAVLink
G7 Matek F405 VTOL проверен на стенде по чек-листу
G8 Учебный конвейер: идентификация, трек, сопровождение и участок без GPS
G9 Портфолио из трёх проектов

Ошибки планирования учёбы

Не перескакивайте сразу к MAVLink «потому что интересно»: без уверенного Python (M1) и без байтов, портов и сокетов (M3) MAVLink превращается в слепое копирование чужих скриптов. Знакомое можно Skip, «сложное впереди» — нельзя.
Не тащите зрение до стабильного управления из кода: сначала гейты G4–G5, потом модуль ИИ. Иначе при любом сбое будут винить «нейросеть», хотя не умеют надёжно отправить и подтвердить команду.
↑ К оглавлению

7. Как мы учимся с ментором

Три блока каждого шага

В каждом ответе ментора один и тот же каркас — общая картина без ощущения «нас куда-то несёт».

БлокВопросЗачем
Что сделано Какой результат уже зафиксирован? Общая память; не спорим, проходили ли тему
Что планируем Куда идём в ближайшие шаги? Виден горизонт на один–три шага
Что делаем прямо сейчас Какое одно действие сейчас? Не распыляемся на пять дел

Маркеры и откат

Ментор тоже может ошибиться: неверно назвать плату, сжать фразу до нечитаемой, дать шаг не в том порядке. Для этого есть маркеры.

«Маркер»                      → снимок SNAP перед рискованным шагом
«Откат к CHECKPOINT-K05»      → вернуть состояние после урока K05
«Blocker»                     → стоп, пока не разберём проблему
«Skip»                        → тема знакома, чек-лист отмечу, идём дальше
«Не понял фразу: …»           → переписать материал простым языком
  • CHECKPOINT-Knn — конспект nn пройден, практика принята.
  • CHECKPOINT-Gn — закрыт гейт n.
  • SNAP-... — снимок «как есть».
  • FIX-... — исправление ошибки ментора; у файла растёт номер редакции.

Сейчас активен SNAP-20260810-START. Уже применены FIX по плате F405, по языку и по формату вёрстки сайта. После закрытия этого урока поставим CHECKPOINT-K00.

Правила практики и ссылок

  • Задания — только на уже пройденном. Внешний факт — только с конкретной проверенной ссылкой от ментора, не «погуглите».
  • Знакомое можно Skip, но чек-лист лучше пройти глазами.
  • Конспект на сайте — источник правды: нашли ошибку — правим fragment и пишем FIX.
  • Установку Python, PyCharm и Git начинаем в K01. В K00 программы ставить не нужно.

Правила безопасности

Закон курса: пока ментор явно не открыл допуск к настольным проверкам с силовой частью (модуль M9, чек-лист K60), запрещён arm на реальном аппарате с установленными пропеллерами на запитанной силовой цепи. SITL — безопасная песочница. На столе: пропеллеры сняты, руки и лицо вне плоскости винтов, литиевые батареи — по правилам обращения. Алгоритмы зрения и ИИ не получают права выполнять arm: включение моторов — решение человека и отдельного слоя безопасности, а не «выход нейросети».

Типичные ошибки учёбы

Только читать и не закрывать чек-лист: если пункт нельзя объяснить вслух простыми предложениями, урок ещё не закрыт. Это нормально — вернитесь к разделу или задайте вопрос.
Молча «починить у себя»: тогда конспект и ваша картина мира расходятся. Пишите номер урока, что ожидали, что увидели, какую фразу не поняли.
Про темп: «непрерывный поток» и «по максимуму» не значат «перепрыгиваем гейты». Значит: без искусственных пауз, но каждый кирпич кладём ровно. Быстрее всего идёт тот, кто реже переделывает фундамент.

Публикация уроков на сайте

Уроки выкладываются на technobee.ru (Joomla, YOOtheme, ZOO), доступ по логину. Стили — с сайта. Формат вёрстки — как у ваших уроков Mission Planner: оглавление-аккордеон, таблицы в uk-overflow-auto, блоки ok-inline / note-inline / danger-inline, формулы LaTeX.

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

8. Практика

В K00 практика без установки программ. Ответы — в блокнот. Сверяйте смысл, не дословное совпадение с эталоном.

Блок 1. Карта системы

Задача 1. Пять этажей

Перечислите пять этажей из раздела 4. Укажите, на каком этаже живёт Python-сервис на Raspberry Pi и через какие этажи он говорит с полётным контроллером.

Эталон смысла:
1) сила и исполнительные механизмы
2) полётный контроллер с автопилотом
3) канал связи
4) протокол MAVLink
5) прикладные программы

Python на Raspberry Pi — этаж 5.
С этажом 2 он говорит через этажи 3 и 4.

Задача 2. Зачем SITL, если есть Matek

Одним абзацем объясните, зачем симулятор при наличии (или ожидании) Matek F405 VTOL.

Эталон смысла:
SITL гоняет тот же класс автопилота и тот же MAVLink на компьютере
без риска для людей и рамы. На нём отлаживают скрипты, маршруты и логи.
На Matek переносят уже проверенную логику, меняя в основном подключение
и соблюдая безопасность.

Задача 3. MAVLink и Mission Planner

В чём разница? Можно ли работать без Mission Planner?

Эталон смысла:
MAVLink — язык (протокол) сообщений.
Mission Planner — одна из программ GCS, которая этим языком пользуется.
Без MP можно: свой Python или другая GCS. MP всё равно нужен как эталон,
прошивка, параметры, логи и удобный SITL на Windows.

Блок 2. Безопасность и маршрут

Задача 4. Порядок этапов

Расставьте: bench Matek VTOL; Python M1; Copter SITL; UART Raspberry Pi; первый взлёт-посадка через pymavlink.

Эталон:
1) Python M1
2) Copter SITL (M4)
3) pymavlink взлёт-посадка (M5, G4)
4) Raspberry Pi и UART (M8)
5) bench Matek F405 VTOL (M9, G7)

Задача 5. Фраза для отката

Что напишете ментору, если в K18 пример с сетью не сходится с конспектом и вы не хотите идти дальше?

Эталон смысла:
«Blocker по K18, раздел про UDP. Ожидал …, получил ….
Откат к CHECKPOINT-K17, пока не разберём. Нужен FIX в конспекте.»

Задача 6. ИИ-фокус и запрет arm

Четыре элемента ИИ-фокуса. Почему зрение не должно само делать arm?

Эталон смысла:
1) идентификация  2) трекинг  3) сопровождение  4) участок без GPS

Arm включает готовность моторов. Ошибка распознавания или сбой камеры
не должны подавать питание на силовую часть. Arm — решение человека
и safety-слоя, не прямой выход модели.

Задача 7. Упал Python на Raspberry Pi

Учебный сценарий: в полёте завис бортовой Python. Что должно спасти аппарат?

Эталон смысла:
Failsafe на полётном контроллере (например RTL или посадка).
Companion — помощник. Контроллер — последняя линия доверия.
↑ К оглавлению

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

Сформулируйте ответ своими словами, затем сверьте с эталонами практики в разделе 8 и с текстом урока.

  1. Чем программист БПЛА в нашем курсе отличается от «человека, который собирает раму»?
  2. Назовите пять этажей системы и этаж, на котором живёт Python на Raspberry Pi.
  3. Почему Python не должен заменять прошивку автопилота на полётном контроллере?
  4. Чем MAVLink отличается от Mission Planner?
  5. Зачем нужен SITL, если есть Matek F405 VTOL?
  6. Почему в курсе сначала Copter, а VTOL — позже?
  7. Перечислите четыре линии ИИ-фокуса.
  8. Что такое гейт и зачем G4 до работы с железом?
  9. Какие фразы вы напишете ментору при ошибке в конспекте и при желании откатиться?
  10. Почему алгоритмам зрения нельзя давать право arm?
↑ К оглавлению

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

Урок освоен, если каждый пункт вы можете объяснить вслух простыми предложениями:

  • Объясняю роль программиста БПЛА и границы курса
  • Перечисляю пять этажей и указываю, где Python
  • Отличаю MAVLink от Mission Planner
  • Объясняю SITL и зачем он при наличии железа
  • Понимаю разницу GCS (земля) и companion (Raspberry Pi)
  • Обосновываю порядок Copter → Matek F405 VTOL
  • Называю, где в карте курса ядро MAVLink и где модуль ИИ
  • Понимаю смысл гейтов G0–G9
  • Перечисляю ИИ-фокус: идентификация, трекинг, сопровождение, без GPS
  • Знаю ритуал «сделано / планируем / сейчас»
  • Умею использовать Marker, Откат, Blocker, Skip, «Не понял фразу»
  • Принимаю: без допуска нет arm с пропеллерами; ИИ не делает arm
  • Развёрнуто объясняю, почему Python не заменяет автопилот на FC
Результат: уверенно закрыты не меньше 11 пунктов из 13, задачи практики сверены по смыслу — напишите ментору K00 чек-лист закрыт. После этого ставим CHECKPOINT-K00 и переходим к K01 (установка Python, PyCharm Pro и Git на Windows) в этой же вёрстке.
↑ К оглавлению

11. Что дальше

  • Следующий конспект: K01 · Окружение Windows: Python, PyCharm Pro, Git
  • Целевая плата курса: Matek F405 VTOL (модуль M9)
↑ К оглавлению

 

 

Понедельник, 10 августа 2026
k00. Обзор «UAV Python Pro»