Отдыхал всего 2 недели, и вот уже в Betaflight (англ.) появилась новая фишка — Airmode. После прочтения описания в ветке форума, я не был уверен, что полностью понял что это такое. Так что, я задал этот вопрос в своей группе на FaceBook. Здесь краткий итог.
Отдельное спасибо Timo Verstraeten, Justin Attwood, Norbert Tóth, Justin Nishida и многим другим за их терпение при объяснении этого всего. В итоге я тоже попробовал Airmode
Заглавная картинка взята из фильма «Инопланетянин».
Итак, что такое Airmode?
Если кратко, то Airmode сохраняет расчет PID даже когда газ сброшен в 0, что позволяет пилоту контролировать коптер даже в свободном падении, и вытворять разные сумасшедшие акробатические трюки, а также, дает бОльшую управляемость во всем диапазоне стика газа.
Так почему же это круто?
Необычный полет, как будто гравитация как на Луне, или без гравитации вообще
Помните, раньше, когда мы смотрели полеты топовых пилотов в инверте, нам всегда казалось что они летают там где нет гравитации? (я спрашивал себя несколько раз, они что, живут на Луне?)
Хитрость в том, что они уменьшали газ почти до значение min_throttle (так что тяга была минимальна при полете в инверте), но они не полностью убирали газ, так что ПИД регуляторы работали для удержания баланса коптера.
Чтобы избежать случайного полного убирания газа и превращения коптера в свободно летящий камень, некоторые пилоты отключали motor_stop (так что моторы вращались даже при полностью убранном газе), и возможно назначали переключатель чтобы удерживать уровень газа чуть выше min_throttle. Это делалось потому что алгоритмы ПИД контроллеров останавливались, когда газ был ниже чем min_throttle.
Так зачем создали режим Airmode?
Ответ Норберта (Norbert)
Борис переписал логику микширования, которое было не слишком активно на малых значениях газа, потому что подразумевалось что «мы не будем летать на таком газу».
«pid_at_min_throttle» позволяет коптеру продолжать процесс расчета ПИД даже на минимальном уровне газа. Но «pid_at_min_throttle» использует только значение P и D, при этом I будет равно 0, поэтому коптер может кувыркнуться пока вы сбрасываете газ.
Вот почему Airmode представлен нам как замена pid_at_min_throttle, он использует все коээфициенты: P, I, D даже когда команда газа = 0.
Разница между Airmode и просто отключением motor_stop в том, что Airmode позволяет вам выровняться плавно без потери управления, даже при нулевом газе.
Настраиваем и используем Airmode
- Прошейте последнюю версию Betaflight (2.1.5)
- Отключите motor_stop, затем на закладке Mode, назначте переключатель на Airmode
Назначаем переключатели, что лучше 1 или 2?
В официальной инструкции, предполагается использование двух отдельных переключателей: для арминга и для Airmode. Кто-то говорил это потому, что когда включен Airmode, значение ошибки I в ПИД регуляторе будет увеличиваться пока коптер стоит на земле. ПИД регулятор будет пытаться скомпенсировать эту ошибку и очевидно что коптер просто подскочит с переворотом и может быть непредсказуемым.
Однако, после первой версии Airmode, Борис реализовал защиту от чрезмерного увеличения I на земле. Airmode активируется только если газ выше чем min_check как минимум 1 секунду, И крен с тангажом (ролл и питч) не в центре (значение не 1500мкс).
Следовательно, сейчас можно назначить оба действия: арминг и Airmode на один и тот же выключатель. Много народу говорило, что они используют этот вариант безо всяких проблем. Я пробовал оба и, правда, не вижу разницы, возможно два выключателя — это просто дополнительная безопасность.
Значения PID и TPA (Throttle PID Attenuation)
Кто-то говорил, что лучше немного уменьшить ПИД коэффициенты при использовании Airmode, потому что используется более активное микширование. А Норберт сказал, что TPA больше не требуется в режиме Airmode.
Это мой первый полет в режиме Airmode
Скорей это плюс, в свободном падении можно ускорять снижение за счёт полного сброса газа, контроллер не будет давать коптеру опрокинутся, ИМХО зависит наверное от полётного режима.