Перейти к содержимому
Ответы на контрольные вопросы курса

Ответы на контрольные вопросы курса

Mission Planner для технического персонала · Урок 43 из 43 · Модуль 5. Справочные материалы

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

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

Содержание

1. Урок 3. Подключение к аппарату: USB, радио, сеть

Вопросы к уроку: Подключение к аппарату: USB, радио, сеть

1. Все контуры стабилизации и навигации выполняются на полётном контроллере автономно, с частотой до 400 Гц. Наземная станция лишь отправляет команды и принимает телеметрию. При потере связи автопилот продолжает выполнять текущий режим; реакция определяется параметром FS_GCS_ENABLE, и по умолчанию во многих конфигурациях она отсутствует.

2. Миссия — это десятки пунктов, параметры — тысяча с лишним записей. Кроме того, миссия передаётся по протоколу с подтверждением каждого элемента, а параметры в старой схеме шли отдельными пакетами PARAM_VALUE. MAVFtp существенно ускорил загрузку параметров, передавая их одним блоком.

3. NetID (иначе модемы не образуют пару) и Air Speed (иначе рассинхронизация физического уровня). Скорость последовательного порта должна совпадать между модемом и подключённым к нему устройством, но у наземного и бортового модема она может различаться.

4. Падение txbuf означает переполнение буфера передачи: данных генерируется больше, чем канал способен передать. Действия: снизить частоты потоков телеметрии в CONFIG → Planner и повысить Air Speed модема (при достаточном качестве связи).

5. ZIP-версия не требует прав администратора, не трогает системный реестр, позволяет держать несколько версий одновременно и мгновенно откатиться к заведомо рабочей копии, если после обновления что-то сломалось.

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

2. Урок 4. Экран DATA: полётный экран оператора

Вопросы к уроку: Экран DATA: полётный экран оператора

1. Всего вкладок четырнадцать. В режиме Basic видно десять: скрыты Actions, Status, Servo/Relay и Scripts — те, что нужны для настройки и диагностики. В режиме Advanced видно тринадцать: появляются все служебные вкладки, а вместо упрощённой Actions (Simple) показывается полная Actions. Набор задаётся в CONFIG → Planner → Layout.

2. Панель показывает дисперсии оценок фильтра: Velocity, Pos Horiz, Pos Vert, Compass, Terrain Alt. Значение 0,9 в поле Compass Variance означает, что фильтр почти не доверяет магнитометру: курс по компасу сильно расходится с курсом, вычисленным по движению. Причины — магнитные помехи, плохая калибровка, влияние тока силовых проводов.

3. Префикс PreArm означает проваленную предполётную проверку: команда армирования ещё не отправлялась, автопилот сам сообщает, что не готов. Префикс Arm означает отказ уже на самой команде армирования. Разница важна при диагностике: в первом случае ищут причину в состоянии систем, во втором — в условиях конкретного режима.

4. Красный цвет означает, что условие пункта не выполнено прямо сейчас — например, напряжение батареи ниже заданного порога. Взлететь это не помешает: PreFlight не блокирует армирование, это дисциплина оператора, а не система защиты. Галочка справа — отметка оператора, она не связана с автоматической проверкой.

5. Команда Disarm, отправленная в полёте, при определённых условиях мгновенно останавливает моторы. ArduPilot защищается от этого, но защита срабатывает не во всех режимах и состояниях. Для прекращения полёта существуют RTL и LAND. Особой осторожности требуют три пункта списка Do Action: Terminate_Flight отключает управление полностью и роняет аппарат, Do_Parachute выпускает парашют, Format SD Card стирает карту вместе со всеми логами.

6. На мультироторе выходы с 1 по 4 — это моторы, и ручное управление ими с этой вкладки заблокировано намеренно. Проверять моторы нужно через SETUP → Optional Hardware → Motor Test, где есть контроль оборотов и таймер. Перед любыми проверками снимите винты.

7. Скрипты вкладки Scripts выполняются на компьютере оператора и управляют аппаратом снаружи, через телеметрию. Lua-скрипты автопилота лежат на SD-карте в каталоге APM/scripts/ и работают внутри полётного контроллера. Обрыв связи останавливает сценарий станции, но не влияет на бортовой скрипт.

8. Подменю Mass отправляет команды всем подключённым аппаратам одновременно: Arm, Arm(Force), GUIDED, AUTO, TAKEOFF, Fly To. Пункт Arm(Force) вдобавок пропускает предполётные проверки, то есть армирует аппарат, который сам себя считает неготовым. В одиночной работе этой веткой пользоваться незачем.

9. Кривая nav_roll — крен, заданный автопилотом, roll — фактический. Они должны идти вплотную с небольшим запаздыванием. Заметное отставание означает вялый отклик регуляторов, колебания вокруг заданной — перебор с коэффициентами. Правая ось нужна, когда на одном графике выводятся величины разного масштаба: без неё кривая напряжения рядом с углами в градусах выродится в прямую линию.

10. Журнал .tlog пишет наземная станция: он содержит только то, что дошло по радиоканалу, зато с текстовыми сообщениями и в реальном темпе — по нему разбирают, что видел оператор. Бортовой .bin пишет автопилот на свою карту: он полнее и с более высокой частотой записи, без пропусков связи — по нему разбирают, что делал аппарат.

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

3. Урок 5. Экраны PLAN, SETUP и CONFIG

Вопросы к уроку: Экраны PLAN, SETUP и CONFIG

1. Distance — полная длина маршрута с учётом всех точек. Prev — расстояние от курсора до предыдущей точки. AZ — азимут от предыдущей точки на курсор в градусах, где 0 соответствует северу. Home — расстояние от курсора до точки дома. Счётчики обновляются при движении курсора и позволяют прикинуть дальность, не открывая измерительных инструментов.

2. Обычная запись подтверждает приём каждого пункта миссии, Write Fast отправляет их потоком без построчного подтверждения. На нестабильном радиоканале часть команд может потеряться незаметно. Чтение обратно кнопкой Read — единственный надёжный способ убедиться, что в памяти автопилота лежит именно ваш маршрут: программа сообщит об успехе записи даже тогда, когда до аппарата дошла лишь часть пунктов.

3. В режиме Absolute высота отсчитывается от уровня моря, а не от точки взлёта. Если площадка расположена на высоте 587 метров, а в миссии указано 100, аппарат попытается снизиться почти на полкилометра. Подтверждение — защита от самой дорогой ошибки планирования.

4. Страница рассчитывает около двух десятков параметров по четырём исходным числам, главное из которых — диаметр винта в дюймах. От него зависят частота фильтра гироскопа INS_GYRO_FILTER, фильтры регуляторов, пределы углового ускорения и коэффициент компенсации нелинейности тяги. Остальные три числа — количество ячеек батареи и напряжения заряженной и разряженной ячейки — задают пороги защиты по напряжению.

5. Страница записывает всего три параметра: INS_LOG_BAT_MASK, INS_LOG_BAT_CNT и LOG_BITMASK. Это подготовка к пакетной записи сырых данных гироскопов в лог, а не включение анализатора спектра и не настройка фильтра. Сам режекторный фильтр настраивается параметрами INS_HNTCH_* уже после анализа записанного лога.

6. Поле Rate Roll P соответствует параметру ATC_RAT_RLL_P, поле Gyro в группе Basic Filters — параметру INS_GYRO_FILTER, поле Altitude Hold P — параметру PSC_POSZ_P, в прошивках 4.7 и новее PSC_D_POS_P.

7. Отдельного пункта нет, потому что дерево префиксов встроено в саму страницу CONFIG → Full Parameter List как левая панель. Она сворачивается и разворачивается кнопкой со стрелкой; выбор ветки фильтрует таблицу справа.

8. Изменить значение в колонке Value, нажать Write Params, убедиться, что подсветка изменения исчезла, при наличии в описании пометки о необходимости перезапуска перезагрузить автопилот, затем нажать Refresh Params и проверить записанное значение.

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

4. Урок 6. Протокол MAVLink: как аппарат разговаривает со станцией

Вопросы к уроку: Протокол MAVLink: как аппарат разговаривает со станцией

1. Телеметрия передаётся потоком без гарантии доставки и с конечной частотой: значение уходит с борта, идёт по радиоканалу и отрисовывается уже с задержкой. Потерянный пакет не переспрашивается, следующий придёт через доли секунды. Поэтому на экране всегда состояние аппарата на некоторый момент в прошлом, а не текущее.

2. MAVLink 1 имеет заголовок 6 байт и до 255 типов сообщений. MAVLink 2 — заголовок 10 байт, расширяемые поля, подпись пакетов и до 16 777 215 типов сообщений. Версия переключается параметром SERIALx_PROTOCOL: значение 2 включает MAVLink 2, значение 1 — первую версию. Правится в SETUP → Mandatory Hardware → Serial Ports или в CONFIG → Full Parameter List.

3. Сообщения сгруппированы в потоки, и частота задаётся сразу всей группе. Вибрации передаются сообщением VIBRATION в потоке EXTRA3 вместе с EKF_STATUS_REPORT, BATTERY_STATUS, WIND и RANGEFINDER. Поднять частоту только вибраций невозможно — ускорится вся группа, а вместе с ней вырастет нагрузка на канал.

4. Цифра означает номер канала связи, а не физического порта. Первый набор относится к USB, второй обычно к первому телеметрийному порту. Подняв частоты «для радио», легко по ошибке нагрузить USB-канал и не увидеть эффекта в поле. Проверять фактический результат нужно в MAVLink Inspector.

5. Параметры адресации правятся только в CONFIG → Full Parameter List — специальной страницы для них нет. Поиск по SYSID может ничего не дать, потому что в прошивках 4.7 и новее группа переименована: SYSID_THISMAV стал MAV_SYSID, SYSID_MYGCSMAV_GCS_SYSID. Надёжный приём — ввести оба варианта через вертикальную черту: SYSID|MAV_SYSID.

6. Идентификатор станции управляет тремя вещами: срабатыванием GCS-failsafe, приёмом RC-override и приёмом ручного управления, в том числе с джойстика. Телеметрию аппарат при этом продолжает отправлять всем, и обычные команды принимает. Полная блокировка чужих пакетов включается отдельно: SYSID_ENFORCE = 1, в новых прошивках — бит 0 в MAV_OPTIONS.

7. Параметр аппарата задаёт, какой идентификатор автопилот ждёт от станции. Поле CONFIG → Planner → GCS ID задаёт, каким идентификатором представляется сама программа; это настройка Mission Planner, она не пишется в автопилот. При расхождении картина выглядит загадочно: телеметрия идёт и HUD живой, но джойстик не работает и GCS-failsafe не срабатывает.

8. Каждому борту назначается уникальный идентификатор аппарата: SYSID_THISMAV, в новых прошивках MAV_SYSID — значения 1, 2, 3 и так далее. Иначе станция получит смешанный поток и будет считать несколько бортов одним аппаратом. Для группы дополнительно включают строгую проверку: SYSID_ENFORCE = 1 либо MAV_OPTIONS = 1.

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

5. Урок 7. Система параметров ArduPilot

Вопросы к уроку: Система параметров ArduPilot

1. Все параметры без исключения доступны в CONFIG → Full Parameter List. Специализированные страницы — Extended Tuning, GeoFence, Initial Tune Parameters, User Params — правят те же значения, но показывают лишь небольшую их часть под понятными подписями и с проверкой диапазонов. Полный список даёт доступ ко всему, но без интерпретации.

2. PSC_VELXY_I — Position Control, контур горизонтальной скорости, интегральный коэффициент; в прошивках 4.7 и новее называется PSC_NE_VEL_I. EK3_SRC1_YAW — EKF3, первый набор источников, источник курса. Q_ASSIST_SPEED — QuadPlane, скорость, ниже которой включается помощь подъёмных моторов.

3. Разработчики ArduPilot периодически переименовывают параметры, приводя единицы к системе СИ и делая префиксы единообразными. Крупнейшая переработка прошла в версии 4.7. Значения при обновлении прошивки переносятся автоматически, но имена в статьях и чужих конфигурациях остаются старыми. Искать нужно по обоим вариантам сразу, вводя их через вертикальную черту, например WPNAV|WP_SPD.

4. Параметр не только переименован, но и переведён в другие единицы: WPNAV_SPEED задавался в сантиметрах в секунду, WP_SPD — в метрах в секунду. Значение 1000, перенесённое напрямую, означает попытку лететь со скоростью километр в секунду. Прошивка обрежет его по верхней границе диапазона, но настройка окажется не той, что задумана.

5. Это не переименование, а инверсия смысла: ARMING_CHECK перечисляет проверки, которые нужно выполнять, а ARMING_SKIPCHK — те, которые нужно пропустить. Автоматическая конверсия при обновлении может дать неверный результат, а ошибка означает молча отключённые предполётные проверки.

6. Для применения типового набора настроек, не затрагивая индивидуальные калибровки: наборы фильтрации под конкретные винты, стандартный набор failsafe для организации, набор навигационных скоростей под тип задачи. Mission Planner применит только перечисленные в файле строки, остальные параметры не тронет.

7. Кнопка Load from file только подставляет значения из файла в таблицу на экране, подсвечивая изменённые строки. В автопилоте при этом остаются прежние значения — они записываются лишь по нажатию Write Params. Это удобно: между загрузкой и записью можно просмотреть, что именно изменится.

8. MAVFtp передаёт таблицу параметров одним блоком вместо тысячи отдельных пакетов, многократно ускоряя подключение. Требует MAVLink 2 (SERIALx_PROTOCOL = 2), поддержки со стороны прошивки версии 4.1 и новее и модема, не разрывающего длинные пакеты. Отдельной галочки в интерфейсе нет — механизм включается автоматически.

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

6. Урок 9. Конфигурация рамы и ориентация контроллера

Вопросы к уроку: Конфигурация рамы и ориентация контроллера

1. Stable — проверенные релизы для реальной эксплуатации. Beta — кандидаты в релиз, с известными и неизвестными ошибками. Latest — ежедневная сборка из master, может не работать вовсе. Beta оправдана, когда нужна конкретная новая функция и есть возможность тщательно всё проверить.

2. При обновлении новые параметры получают значения по умолчанию, удалённые исчезают, у некоторых меняются дефолты. Сравнение файлов до и после показывает все эти изменения и позволяет сознательно принять или скорректировать их.

3. FRAME_CLASS и FRAME_TYPE. Проверка — через Motor Test со снятыми винтами: порядок отклика моторов и направление вращения сверяются с диаграммой на сайте ArduPilot.

4. Включение мультироторной части в прошивке ArduPlane. Порождает два независимых набора настроек: самолётный (TECS, L1/NPFG, RLL_RATE_*) и мультироторный (Q_A_*, Q_P_*, Q_WP_*), которые настраиваются раздельно.

5. Калибровка акселерометра определяет смещения в системе координат, уже развёрнутой согласно AHRS_ORIENTATION. Изменение ориентации после калибровки делает записанные смещения бессмысленными.

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

7. Урок 12. Монитор батареи и итоговая проверка перед полётом

Вопросы к уроку: Монитор батареи и итоговая проверка перед полётом

1. Accel Calibration — полная шестипозиционная процедура, определяющая смещения и масштабы по всем осям. Calibrate Level — только AHRS_TRIM_X/Y, учёт наклона установки платы. Второй достаточно при небольшом уводе в ALT_HOLD, когда в остальном аппарат ведёт себя нормально.

2. Hard-iron сдвигает центр облака точек от нуля, сохраняя форму сферы. Soft-iron деформирует сферу в эллипсоид, оставляя центр примерно на месте.

3. Внутренний компас расположен рядом с силовой электроникой и подвержен помехам от токов. Когда два компаса дают расходящиеся показания, EKF получает противоречивые данные и вынужден их взвешивать, что ухудшает оценку курса. Один надёжный источник лучше двух конфликтующих.

4. MOT_SPIN_ARM — минимальные обороты после армирования, чтобы аппарат не полз по земле. MOT_SPIN_MIN — минимальные обороты в полёте: при быстром снижении моторы не должны останавливаться полностью, иначе теряется управляемость. Второе значение заметно выше первого.

5. По залитой при зарядке ёмкости: полетайте до заметного расхода, запишите показанное автопилотом потребление, зарядите батарею зарядным устройством с подсчётом ёмкости и скорректируйте BATT_AMP_PERVLT в пропорции реальная/показанная.

6. Включает использование напряжения с компенсацией просадки: автопилот оценивает внутреннее сопротивление батареи и вычисляет напряжение без нагрузки. Решает проблему ложных срабатываний failsafe на пиках тяги.

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

8. Урок 15. Армирование: проверки и отказы

Вопросы к уроку: Армирование: проверки и отказы

1. STABILIZE не использует GPS, компас и контуры положения. Нормальное поведение в нём означает, что механика, вибрации и базовый тюнинг в порядке, и проблему следует искать в навигации. Плохое поведение в STABILIZE указывает на механику или PID.

2. В LOITER стик задаёт скорость перемещения, аппарат ведёт себя «как на рельсах» и активно тормозит. В POSHOLD стик задаёт угол наклона, как в STABILIZE, а удержание включается при отпускании. POSHOLD ощущается более «ручным» и предпочтителен для динамичного пилотирования.

3. RTL летит по прямой на высоте RTL_ALT, в прошивках 4.7 и новее — RTL_ALT_M в метрах вместо сантиметров. SMART_RTL возвращается по упрощённому записанному треку, повторяя пройденный путь. Второй предпочтителен при полётах среди препятствий — между зданиями, под мостом, в лесу — куда прямой путь домой ведёт через препятствие.

4. Валидное решение по положению от EKF, загруженная миссия минимум с одним пунктом, и первой командой должна быть TAKEOFF (при взлёте с земли).

5. При отказе GPS или деградации навигационного решения режимы, требующие положения, недоступны. Если первая позиция — LOITER, пилот в критической ситуации переключится в режим, в который автопилот откажется переходить.

6. Сложить значения битов нужных проверок. Например, для «все, кроме логирования» проще исходить из полной маски и вычесть бит 1024, либо перечислить нужные биты по отдельности. Значение 1 (All) включает все проверки разом.

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

9. Урок 17. Оценка аппарата после первого полёта

Вопросы к уроку: Оценка аппарата после первого полёта

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

2. Крен вправо (наклон вправо), крен влево, тангаж вперёд (приподнимается хвост), руддер вправо (попытка развернуться вправо). Все реакции проверяются на 20–30 % газа без отрыва от земли.

3. Означает, что для висения требуется 58 % тяги — аппарат перегружен. Запас на манёвр и ветер отсутствует, отказ мотора фатален. Действия: снизить массу, поставить более крупные винты или более мощные моторы.

4. Clipping означает, что акселерометр вышел за диапазон измерения, и данные за этот момент потеряны безвозвратно. Фильтрация обрабатывает уже полученные данные и не может восстановить отсутствующие. Устраняется только механически.

5. Проблема компаса: аппарат описывает круги увеличивающегося радиуса (toilet bowl), при этом углы отрабатываются нормально. Проблема тюнинга: колебания или вялость видны уже в STABILIZE, а расхождение DesRoll/Roll присутствует независимо от режима.

6. В MANUAL автопилот не вмешивается, и любая ошибка триммирования или реверса приводит к немедленному сваливанию. В FBWA автопилот удерживает углы в заданных пределах и выравнивает самолёт при отпущенных стиках.

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

10. Урок 19. Гармонический режекторный фильтр (notch)

Вопросы к уроку: Гармонический режекторный фильтр (notch)

1. D-составляющая вычисляет производную ошибки. Дифференцирование усиливает высокочастотные составляющие пропорционально частоте, поэтому шум гироскопа на 100 Гц усиливается в разы сильнее полезного сигнала на 5 Гц.

2. Режекторный фильтр вырезает узкую полосу вокруг частоты помехи, почти не влияя на фазу в полосе полезного сигнала. Понижение частоты ФНЧ подавляет всё выше среза, внося значительную задержку и снижая устойчивость контура.

3. По газу (MODE = 1) — просто, без дополнительного оборудования, точность средняя. По ESC-телеметрии (MODE = 3) — самая высокая точность, требует регуляторов с телеметрией. По встроенному FFT (MODE = 4) — точно и без дополнительного железа, но нагружает процессор.

4. Мягкий подвес даёт системе «масса — демпфер» низкую собственную частоту (5–15 Гц), попадающую в полосу полезного сигнала. Акселерометры регистрируют колебания платформы как реальные ускорения аппарата, и EKF получает искажённые данные.

5. SMAX ограничивает скорость изменения выхода регулятора и автоматически снижает усиление при достижении предела. Это защита от высокочастотной раскачки, которая может возникнуть при агрессивных коэффициентах, подобранных AUTOTUNE.

6. Механическая проблема видна по уровню VIBE и наличию clipping — фильтрация на них не влияет. Проблема фильтрации проявляется как высокочастотное дрожание моторов и «звон» при нормальном уровне VIBE, и устраняется настройкой notch.

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

11. Урок 22. Ручной тюнинг и оценка качества по логу

Вопросы к уроку: Ручной тюнинг и оценка качества по логу

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

2. Избыток P даёт быстрые колебания с частотой 5–15 Гц, воспринимаемые как дрожание и слышимые в звуке моторов. Избыток I даёт медленную раскачку с периодом 1–3 секунды, особенно заметную после манёвра или при ветре.

3. AUTOTUNE измеряет отклик аппарата на тестовые воздействия. При нефильтрованных вибрациях измеренный отклик содержит шум, и алгоритм интерпретирует его как склонность к колебаниям, занижая коэффициенты.

4. Новые коэффициенты не сохранятся, но аппарат будет летать с ними до дизармирования. Для сохранения нужно приземлиться и дизармироваться, находясь в режиме AUTOTUNE.

5. ATT.DesRoll против ATT.Roll — отставание не более 0,1 с, заброс не более 10 %. RATE.RDes против RATE.R — точность отработки угловой скорости. RCOU — отсутствие постоянного дрожания на пределах. VIBE — не должна вырасти.

6. Определяет «агрессивность» выхода на линию пути: чем больше значение, тем мягче навигация. При «рыскании» по маршруту значение увеличивают, при широких срезках поворотов — уменьшают.

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

12. Урок 24. Съёмочные миссии: генератор Survey и настройка триггера

Вопросы к уроку: Съёмочные миссии: генератор Survey и настройка триггера

1. Обычная точка означает движение по прямой с торможением на углах. Spline-точка задаёт гладкую кривую без остановок. Обычные точки нужны для аэрофотосъёмки (постоянная скорость на галсе), spline — для видеосъёмки и плавного движения камеры.

2. Relative (относительно HOME), Absolute (над уровнем моря), Terrain (над рельефом). Terrain опасен тем, что требует данных рельефа на борту: при их отсутствии поведение непредсказуемо и зависит от TERRAIN_FOLLOW.

3. \( \mathrm{GSD} = \dfrac{H \cdot p}{f \times 100} \), где H — высота в метрах, размер пикселя в микрометрах, f — фокусное расстояние в миллиметрах. Зависит от размера матрицы, разрешения и фокусного расстояния.

4. Hot shoe даёт сигнал о фактическом срабатывании затвора. Без неё координаты записываются в момент отправки команды, тогда как реальный снимок происходит на 50–200 мс позже. На скорости 10 м/с это ошибка привязки 0,5–2 метра.

5. На нестабильном канале запись может пройти частично. Read — единственный способ убедиться, что в памяти автопилота лежит именно тот маршрут, который вы планировали.

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

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

13. Урок 26. Failsafe: реакции на отказы и организация безопасности

Вопросы к уроку: Failsafe: реакции на отказы и организация безопасности

1. FENCE_ACTION = 1 инициирует RTL или LAND, прерывая текущую задачу. FENCE_ACTION = 4 (Brake or Land) не позволяет пересечь границу, останавливая аппарат у неё, но не прерывая режим. Второе удобнее для рабочих полётов у границы участка.

2. Напряжение сильно зависит от текущего тока, температуры и износа батареи, поэтому момент срабатывания «плавает». Остаток ёмкости, вычисляемый интегрированием тока, даёт гораздо более предсказуемое поведение при откалиброванном датчике.

3. Снять винты, армировать аппарат, поднять газ до 30 %, выключить передатчик. Автопилот должен зафиксировать failsafe и перейти в заданный режим. Проверяется вся цепочка «передатчик — приёмник — автопилот».

4. Аппарат останется в последней заданной точке GUIDED и будет висеть до полного разряда батареи, после чего сработает батарейный failsafe (если настроен) или аппарат упадёт.

5. Критический уровень батареи. Логика проста: без энергии не работает ничто, и попытки решать другие задачи бессмысленны.

6. При отказе одного мотора квадрокоптер теряет управляемость полностью. Гексакоптер сохраняет управление по крену и тангажу (с потерей контроля по рысканию), октокоптер — практически полное управление, что позволяет выполнить контролируемую аварийную посадку.

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

14. Урок 28. RTK, дальномеры и оптический поток

Вопросы к уроку: RTK, дальномеры и оптический поток

1. Предсказание по данным IMU (интегрирование ускорений и угловых скоростей) — точно на коротком интервале, но с накоплением ошибки. Коррекция по измерениям GPS, компаса, барометра — компенсирует накопленный дрейф, но приходит реже и с шумом.

2. Фильтр почти не доверяет компасу: расхождение между курсом по магнитометру и курсом, вычисленным по направлению движения. Причины: магнитные помехи в конструкции, неверная калибровка, влияние тока силовых проводов.

3. GSF (Gaussian Sum Filter) сопоставляет направление ускорения аппарата с направлением его движения по данным GPS и восстанавливает курс. Работает только при движении, требует манёвров для сходимости и непригоден для висения на месте с самого старта.

4. RTK Float — целочисленная неоднозначность фазы несущей не разрешена, точность 10–50 см. RTK Fixed — разрешена, точность 1–3 см. Float неустойчив, поскольку решение продолжает поиск и может как перейти в Fixed, так и деградировать.

5. RTK даёт точные координаты антенны в момент измерения. Для привязки снимка нужно также знать точный момент срабатывания затвора (hot shoe), смещение антенны относительно матрицы (GPS_POS1_X/Y/Z) и учесть задержки в системе.

6. Дальномер — без знания высоты угловое смещение картинки нельзя перевести в линейную скорость. Также требуется текстурированная поверхность (над однотонным полом или водой поток не работает) и достаточное освещение.

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

15. Урок 31. Методика разбора инцидента

Вопросы к уроку: Методика разбора инцидента

1. Когда аппарат утерян или разрушен и SD-карту невозможно извлечь. Телеметрийный лог остаётся на компьютере и позволяет восстановить хронологию событий до момента потери связи.

2. Сырые данные IMU занимают 100–300 МБ за десять минут полёта. Карта быстро заполняется, после чего логи перестают писаться вовсе, а при включённой проверке логирования блокируется армирование.

3. RCOU.C1Cn во время ровного висения: в исправном аппарате линии идут рядом. Постоянное расхождение более 10–15 % указывает на смещённый центр масс, погнутый луч или ослабленный мотор.

4. При отказе мотора: резкое изменение в одном канале RCOU, компенсация остальными, немедленное расхождение DesRoll/Roll, вращение по yaw. При разряде: плавное падение BAT.Volt, постепенный рост всех каналов RCOU, срабатывание failsafe.

5. Акселерометр вышел за диапазон измерения, данные за эти моменты потеряны. EKF получает пробелы в оценке ускорений, что ведёт к ошибкам определения положения и высоты — вплоть до неконтролируемого набора высоты или ухода в сторону.

6. Хронология, сообщения, питание, навигация, механика, управляемость, гипотеза. Хронология идёт первой, потому что без точной временной привязки события невозможно понять, что было причиной, а что следствием.

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

16. Урок 33. SITL из командной строки и отработка сценариев

Вопросы к уроку: SITL из командной строки и отработка сценариев

1. Достоверно: логика прошивки, поведение режимов, реакция на отказы, работа миссий, тайминги failsafe. Недостоверно: реальные вибрации конкретной сборки, точная аэродинамика, электромагнитные помехи, качество сборки и износ компонентов.

2. Через параметры SIM_OPOS_LAT, SIM_OPOS_LNG, SIM_OPOS_ALT, SIM_OPOS_HDG, либо опцией --custom-location при запуске sim_vehicle.py.

3. SIM_ENGINE_FAIL задаёт номер мотора (нумерация с нуля), SIM_ENGINE_MUL — множитель его тяги: 0 означает полный отказ, промежуточные значения — частичную потерю мощности.

4. Ускоряет ход симуляции в заданное число раз. Полезна при проверке длинных съёмочных миссий и при отладке логики failsafe по батарее, где нужно дождаться реального расхода энергии.

5. Когда важна точность аэродинамики (самолёты, вертолёты), нужна фотореалистичная картинка для алгоритмов компьютерного зрения, или требуется моделирование взаимодействия с окружением (препятствия, посадочные площадки, ROS-интеграция).

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

17. Урок 35. Подвесы, обход препятствий, точная посадка и группы

Вопросы к уроку: Подвесы, обход препятствий, точная посадка и группы

1. Lua — простая бортовая логика, реагирующая на состояние автопилота: проверки, драйверы простой периферии, нестандартные последовательности. Компаньон-компьютер — всё, что требует вычислительных ресурсов: компьютерное зрение, планирование маршрутов, работа с видео, сложные алгоритмы.

2. Если управление ведётся из GUIDED, при потере связи с источником команд аппарат остаётся без управляющих воздействий и зависает в последней точке до разряда батареи. FS_GCS_ENABLE обеспечивает автоматический возврат.

3. DO_SET_ROI заставляет нос аппарата и подвес удерживать заданную точку в кадре. Отменяется командой DO_SET_ROI с нулевыми координатами.

4. Датчики не видят тонкие провода, сетку, стеклянные и зеркальные поверхности, тонкие ветки. Кроме того, обнаружение требует времени на реакцию, а на скорости дистанция обнаружения может оказаться меньше тормозного пути.

5. Наземная станция становится узким местом по пропускной способности канала и единой точкой отказа. Задержки телеметрии делают централизованную координацию непригодной для плотных построений. Настоящий рой строится на локальном взаимодействии между аппаратами.

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

18. Урок 38. Диагностика: GPS, питание и быстрая матрица решений

Вопросы к уроку: Диагностика: GPS, питание и быстрая матрица решений

1. Прочитать полный текст сообщения во вкладке Messages. Найти его в справочнике или документации. Понять физическую причину. Устранить причину. Ни в коем случае не отключать соответствующую проверку.

2. Компас: аппарат описывает круги увеличивающегося радиуса, при этом углы отрабатываются нормально, растёт Compass Variance. Тюнинг: колебания или вялость видны уже в STABILIZE, есть расхождение DesRoll/Roll.

3. Передатчики 1,2–1,3 ГГц создают широкополосный шум и паразитные излучения, которые попадают в полосу GPS L1 (1575 МГц) и особенно в диапазоны L2/L5 (около 1,1–1,2 ГГц). Проявляется коварно: на земле с выключенным видео спутники ловятся нормально, а в полёте с включённым передатчиком приём деградирует или пропадает.

4. Напряжение питания автопилота ниже допустимого. Контроллер работает на границе и может перезагрузиться в полёте, что означает гарантированное падение. Причины: перегруженный BEC, тонкие провода, плохой разъём, избыток периферии на одной шине.

5. Обдув барометра потоком от винтов; попадание прямого света на датчик; негерметичность корпуса; высокие вибрации; неверная настройка PSC_ACCZ_P и PSC_ACCZ_I, в прошивках 4.7 и новее — PSC_D_ACC_P и PSC_D_ACC_I.

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

19. Ответы к расчётным заданиям

Задание 8.2. Частота винтов для мотора 4008 с винтом 15″ при 3600 об/мин: \( 3600 / 60 = 60\ \text{Гц} \). Соответственно INS_HNTCH_FREQ = 60, INS_HNTCH_BW = 30, INS_GYRO_FILTER = 15–20 Гц.

Для 18″ аппарата значение INS_GYRO_FILTER = 60 Гц бесполезно: частота винтов около 50–60 Гц окажется внутри полосы пропускания, и весь шум пройдёт в контур. Для 5″ гоночного INS_GYRO_FILTER = 10 Гц внесёт недопустимую задержку: аппарат с быстрой динамикой станет неуправляемым.

Задание 10.1. Камера 1″ (13,2 × 8,8 мм), 20 Мп (5472 × 3648), объектив 8,8 мм.

Размер пикселя: \( 13{,}2\ \text{мм} / 5472 = 2{,}41\ \text{мкм} \).

Для GSD 3 см/пиксель: \( H = \dfrac{\mathrm{GSD} \cdot f \cdot 100}{p} = \dfrac{3 \cdot 8{,}8 \cdot 100}{2{,}41} \approx 109\ \text{м} \). Округляем до 110 м.

Ширина захвата: \( 5472 \times 3\ \text{см} = 164\ \text{м} \). Высота захвата: \( 3648 \times 3\ \text{см} = 109\ \text{м} \).

При поперечном перекрытии 65 %: \( \text{расстояние между галсами} = 109 \times 0{,}35 \approx 38\ \text{м} \). Для участка шириной 400 м: \( 400 / 38 \approx 11 \) галсов.

При продольном перекрытии 75 %: \( \text{шаг съёмки} = 164 \times 0{,}25 = 41\ \text{м} \). На галсе длиной 500 м: \( 500 / 41 \approx 13 \) снимков. Всего примерно \( 11 \times 13 = 143 \) снимка плюс запас на развороты.

Длина маршрута: \( 11 \times 500 + 10 \times 38 \approx 5880\ \text{м} \). При скорости 8 м/с — около 12 минут чистого времени плюс развороты, взлёт и посадка. Итого 15–17 минут. Одной батареи на 20–25 минут полёта достаточно с запасом.

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

20. Что дальше

↑ К оглавлению
  • Четверг, 13 августа 2026
Ответы на контрольные вопросы курса