RcHobby – Как установить GPS Rescue в betaflight

RcHobby - Как установить GPS Rescue в betaflight Вертолеты

Что происходит, когда gps rescue активен?

Квадрокоптер поднимается на заданную вами высоту или максимальную высоту полета 15 метров. Затем он начинает лететь туда, откуда был запущен. Это не будет плавным полетом, он может иногда покачиваться влево или вправо, но в итоге доберется до цели.

Он не остановится в том месте, где он взлетел. Он достигнет точки взлета и начнет снижаться, в итоге «приземлиться».

Не стоит полагаться на GPS Rescue при приземлении! Вы можете оказаться на вершине дерева или просто врезаться в землю. Его не волнует, что внизу!

Как только вы вернете видео и радиосвязь, нужно вернуть управление и возобновить полет.

Baro mode – want back 🙂 · issue #6675 · betaflight/betaflight

img_20210902_184205

This crowd has just gathered on my table, screaming iNav!!!iNav!!! — they are all curious about it.

Equipment (left to right): baro mag, all 3, all 3, all 3, all 3, baro
MCU (left to right): F3, F4, F7, F7, F7, F3

Well, if I could do at least a baro hold, that would be nice. They are all tired of my triple-flips and would like to try some calm flights as well. For the GPS, only the big one has a good fix. On the others, experiments with EMI shielding tapes are pending. I still don’t understand why GPSs work so well in cell phones, but have so much trouble in a small drone.

But anyway, all of them want at least a baro mode to start with — so they say.

D term фильтрация

Как было сказано выше, D способен приумножать шумы от гироскопа, поэтому в Betaflight есть фильтрация D. Ниже на грификах видно уровень шума до фильтрации и после.

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

Gps rescue mode настройка

После установки GPS модуля и GPS 3D fix (посмотрите в странице Настроек) Вы сможете активировать GPS Rescue.

Low pass


Фильтры

Как показывает предыдущий график — сигнал от гироскопа содержит информацию от 0 Гц до 1000 Гц, но нас интересует только диапазон 0-80 Гц, поскольку это фактическое движение квадрокоптера, о котором должен знать PID-контроллер. Таким образом, нам нужно решение для фильтрации, чтобы позволить низким частотам проходить через PID-контроллер, в то же время ослабляя высокие частоты, и для этого мы можем использовать фильтр Low Pass (Низких частот).

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

Устанавливается частота среза, и контроллер просто уменьшает сигналы выше этой частоты. Кривая затухания позволяет не срезать все под чистую, а чем выше частота шума, тем сильней происходит его затухание, плавно.

Часто пилоты допускают ошибку устанавливая такой фильтр на той же частоте, что и видимый шум. Например на 200Hz. Поскольку фильтр плавно ослабляет шум, установка такого фильтра не даст особого результата. Фильтр стоит устанавливать на более низкие частоты. Возможно, даже на 80Hz.

Чем ниже вы устанавливаете такой фильтр, тем больше фильтрации происходит

Устанавливая фильтрацию, следует помнить об одной простой вещи. Чем больше фильтрации тем больше задержка. Понятное дело, что она в миллисекундах и не значительная, но для PID-контроллера это критично. Так как он начнет реагировать на события позже, а это значит, что он будет пытаться выровнять квадракоптер в прошлом 🙂

Mems гироскоп

У каждого квадрокоптера есть FC — Flight Controller, который по сути является мозгами. На этих контроллерах так же присутствует цифровой чип, который часто называют gyro — гироскоп. Это сенсор, который чувствует движение. Он содержит в себе маленькое электро-механическое устройство, которое так и называется — MEMS (Micro Electro Mechanical System).

Внутри этого устройства расположены механически резонирующие «вилки». Эти вилки, расположены по всем трем осям (pitch, roll, yaw) и двигаясь (механическая часть) создают флуктуации вольтажа (электрическая часть).

Флуктуации (колебания) вольтажа, по факту являются аналоговыми волнами, которые преобразуются в цифровую информацию для обработки полетным контроллером. Когда мы говорим 8k gyro, это значит, что 8000 раз в секунду, аналоговый сигнал превращается в цифровой и обрабатывается контроллером, прошивкой, в данном случае Betaflight.

Notch фильтр

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

Фильтра откидывают часть шума ниже и часть шума выше. Начиная с Betaflight 3.1 эти фильтры являются динамическими, и подстраиваются под различный шум.

Фильтра используются в связке с Low Pass фильтрами, но используются уже для фильтрации шумов от моторов, которые находятся выше.

Pid controller

RcHobby - Как установить GPS Rescue в betaflight

PID Controller — это такая система которая корректирует позицию квадрокоптера согласно стикам (вашему управлению) или заданного положения (ну, что бы его не колбасило). PID настраивается за счет 3х параметров — P, I и D. К сожалению в этой статье мы не будем детально рассматривать настройку PID. Если вы пилот, то уже знаете, а если новичок, но на эту тему будет отдельная статья.

Смотрите про коптеры:  Какую выбрать модель робота-газонокосилки? - Роботы-газонокосилки

Эта система хорошо работает, когда количество шумов минимальна, иначе мы можем столкнуться с такими проблемами как осцилляция (вибрации) или перегрев моторов.

D term в PID контроллере имеет особенно отношение к шуму. D сглаживает быстрые движения, но вычисление D в PID контроллере значительно усиливает шум в сигнале. Это означает, что шум от гироскопа существенно усиливается значением D term и поэтому мы фильтруем в двух местах — гироскоп и D.

В качестве примера такого приумножения покажу вам такие вот логи:Первый график — гироскопВторой график — PIDТретий — моторы

RcHobby - Как установить GPS Rescue в betaflight
(это нормальные пропеллеры, с немного уменьшенной фильтрацией)

RcHobby - Как установить GPS Rescue в betaflight
(Как видите вибрации от плохих пропеллеров усиливаются на этапе PID контроллера, что ведет к излишнему напрягу моторов, их буквально колбасит)

Скрины из — Blackbox Explorer.

Rpm filter

RcHobby - Как установить GPS Rescue в betaflight

Так вот, собственно, что новое я стал использовать, так это RPM фильтрацию. Она работает за счет двухстороннего протокола DSHOT который позволяет полетному контроллеру узнать точное количество оборотов конкретного мотора. И уже на основании этих данных применяется фильтрация.

RcHobby - Как установить GPS Rescue в betaflight
(Ваш ESC должен поддерживать двухсторонний DHSOT)

Прошивка на ESC, от 3.7

Если моторы греются, то это проблема. Горячие моторы могут быть признаком того, что на моторы попадает много шума и они пытаются реагировать на вибрации так часто, что начинает выделяться тепло.

Греться моторы могут по ряду причин, старая рама, погнутые колокола у моторов, нарушенная балансировка, лишние прибомбасы на вашем коптере.

Конечно лучше иметь, как говорят clean build, и что бы все было новое, но можно сперва попробовать настроить фильтрацию.

Для начала можно начать с увеличения фильтрации D, делать шаги в 20 Hz. Проверяйте температуру после каждого такого шага и найдите свой оптимальный диапазон.

А искать его следует между температурой моторов и вибрациями. Как было сказано выше, хоть и фильтрация призвана уменьшить количество шума, она может накладывать некоторые задержки и PID контроллер может не успевать. И как бы это смешно не было, вызывать вибрации. Но эти вибрации не относятся к пропвош. Это уже просто неэффективная работа PID.

В последних версиях Betaflight есть ползунки, пробуйте не менять значения самих фильтров, а попробуйте использовать эти «мастер» ползунки.

На текущий момент у меня такие настройки с включенным RPM фильтром, возможно я попытаюсь уменьшить фильтрацию еще больше:

Активация функции gps rescue

Есть два способа активировать GPS Rescue: в режиме Failsafe или с помощью переключателя на аппаратуре. Я рекомендую сначала настроить его на аппаратуре прежде, чем использовать его для Failsafe.

Перейдите в Betaflight во вкладку Modes и добавьте переключатель/канал AUX для режима спасения GPS.

Вкладка blackbox


Blackbox — это «чёрный ящик» квадрокоптера. Нужен для диагностики, более точной настройки PID, а также чтобы можно было наложить инфографику на полётное видео (как

). Данные пишутся на внешний логгер или, если того позволяет объём памяти, на внутреннюю память ПК. Например, у Naze32 Acro её недостаточно, а у Naze32 Deluxe и SPRacingF3 Acro — хватает, хотя и не намного. При настройках по умолчанию, на 2Мб памяти можно записать данные полёта продолжительностью 3-4 минуты, что весьма мало.

Усугубляет ситуацию то, что реализовать запись «по кругу», как в автомобильных регистраторах, здесь невозможно из-за низкой скорости чтения/записи памяти. Единственный вариант — уменьшить в несколько раз скорость записи. Для диагностики такие данные уже будут малопригодны, а для видео — самое то. В этой вкладке я сделал следующее:

Как я уже писал выше, логгирование запускается тем же тумблером на аппаратуре, что и арминг, чтобы запись начиналась при старте моторов. Подробнее о работе и настройках Blackbox можно почитать в мануале. Также несколько полезных ссылок по теме:

Вкладка cli

CLI — это консоль, через которую можно менять уже более продвинутые настройки, а также делать резервную копию всех настроек. Я сделал следующее:

set small_angle = 180 # Включить возможность армить моторы даже в перевёрнутом состоянииset vbat_pid_compensation = ON # Включить компенсацию PID при разрядке батареиsave # Сохранить настройки

Также в Betaflight есть очень полезная возможность подключения к OSD через ПК. Теперь можно запрятать эту платку подальше, не беспокоясь, что к ней может понадобиться подключиться. Для подключения к плате OSD через ПК необходимо подключить батарею к квадрокоптеру, затем набрать в CLI команду serialpassthrough с необходимыми параметрами, затем отключить (Disconnect)

serialpassthrough 1 115200

На этом настройка полётного контроллера закончена.

Вкладка configuration


Собственно тут и производятся почти все настройки.

  • В разделе «Board and Sensor Alignment» указал, что мой ПК повёрнут на 90 градусов по оси yaw. Корректность этого параметра потом можно проверить во вкладке Setup.
  • В «Reciever Mode» выбрал RX_PPM.
  • Выбрал ONESHOT125 в качестве протокола регуляторов (почему не MULTISHOT, я писал выше).
  • Отключил «Unsynced PWM output», опять же, потому что не использую MULTISHOT.
  • Чтобы моторы всегда вращались в заармленном состоянии, отключил MOTOR_STOP.
  • Включил опцию «Disarm motors regardless of throttle value», так как буду делать арм моторов на отдельном канале.
  • Уменьшил значение «Minimum Throttle» до 1030. Это обороты холостого хода, подбирал субъективно.
  • Включил опцию «VBAT» для активации индикатора заряда батареи. Остальные параметры в разделе «Battery Voltage» я не менял, так как показания заряда соответствуют действительности. Если же в них есть погрешность, её можно убрать настройкой «Voltage Scale».
  • В «Other Features» активизировал BLACKBOX, SUPEREXPO_RATES, а также LED_STRIP и выключил AIRMODE. О неё я расскажу чуть ниже.

Вкладка failsafe

C failsafe всё оказалось несколько сложнее, чем мне виделось ранее. На профильных форумах иногда встречаются холивары на тему «где лучше настраивать failsafe: на приёмнике или на ПК?» На самом деле, правильно это вопрос звучит так: «где лучше настраивать failsafe: только на приёмнике или на приёмнике и на ПК?»

Смотрите про коптеры:  Доработка коптера установкой FPV и Eachine: замена камеры на квадрокоптере Syma X8G 8MP с внушительным аккумулятором, увеличивающим дальность полета, как сделать тюнинг, все о ремонте и модернизации д

Настраивать failsafe на приёмнике необходимо в любом случае. Здесь надо сделать важное уточнение, что речь идёт о приёмнике Frsky D4R-II, работающем по протоколу PPM. У приёмников с S.Bus failsafe настраивается иначе.

У Frsky D4R-II есть три варианта поведения при потере сигнала от передатчика:

По умолчанию в Frsky D4R-II установлен режим Hold Last Position, который способствует улёту аппарата в далёкие дали. Так что если использовать failsafe только на приёмнике, надо настраивать режим Pre-set Positions. Другое дело, что failsafe активируется даже при кратковременной потере сигнала.

Будет очень неприятно, если сигнал через долю секунды восстановиться, а квадрокоптер уже задизармил моторы и падает вниз. Ситуацию может улучшить настройка failsafe на ПК, так как там этот режим имеет задержку срабатывания, что служит фильтром от кратковременных потерь сигнала.

Кроме того, там есть настраиваемый сценарий, согласно которому квадрокоптер будет себя вести в случае активации failsafe. Например, можно включить режим со стабилизацией и попытаться более-менее мягко сесть или вообще активизировать RTH, если он есть.

Нюанс в том, что, если на приёмнике установлен режим Pre-set Positions или Hold Last Position, то ПК даже не узнает, что произошла потеря сигнала. Таким образом, failsafe на ПК можно использовать лишь в том случае, если на приёмнике установлен режим No Pulse. На Frsky D4R-II он устанавливается кратковременным (менее 1 сек) нажатием на кнопку failsafe

при выключенном передатчике

На вкладке Failsafe Betaflight Configurator`а я сделал следующее:

Вкладка led strip

Настроил свою подсветку на отображение предупреждений, индикацию поворотов/торможения и свечение синим цветом, когда ничего из этого нет.

Вкладка modes

Повесил на переключатели арминг моторов и Blackbox (AUX1), активацию полётного режима Horizon (AUX2) и включение пищалки (AUX3).


Отдельно хочется сказать про AIRMODE. Изначально он был уникальной «фишкой» Betaflight, но в какой-то момент стал так популярен, что Boris B поделился им с авторами Cleanflight и сейчас данный режим доступен и там тоже.

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

Кроме того, приземление с AIRMODE тоже процесс непростой: квадрокоптер начинает прыгать, как лягушка. Опытные пилоты предпочитают просто «ронять» квадрокоптер, выключая моторы в паре десятков сантиметров над землёй. Кстати, если у вас включена остановка моторов при нулевом газе (опция MOTOR_STOP во вкладке Configuration) и одновременно с этим работает AIRMODE, то остановки моторов не будет, так как AIRMODE имеет более высокий приоритет.

В Betaflight версии 2.8.1 появилась новая возможность: можно включить AIRMODE в фоновом режиме (что-то вроде пассивного перка в играх) и тогда он активен всегда и не будет отображаться во вкладке Modes, либо, как и ранее, повесить его включение на какой-либо канал. Делается это в «Other Features» вкладки Configuration.

У себя я не стал включать AIRMODE в фоновом режиме, так как использую ещё режим со стабилизацией HORIZON. Таким образом, у меня на AUX1 два полётных режима: HORIZON (для полётов со стабилизацией и посадки) и ACRO AIRMODE.

Вкладка pid tuning

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

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

Вкладка setup


Сделал калибровку акселерометра.

Настройка передатчика

Передатчик (он же “пульт») каждый пилот настраивает индивидуально: таймеры, миксы, голосовые уведомления и прочее. Единственная вещь, сделать которую крайне желательно, это проверить минимальные, средние и максимальные значения стиков управления в конфигураторе.

Делается это во вкладке Reciever. Идеальные значения составляют 1000 — 1500 — 2000. В моём случае они составляли 996 — 1508 — 2020, что не очень хорошо. Во-первых, «выпадения» за пределы диапазона (значения менее 1000 и более 2000) плохи сами по себе.

Во-вторых, центральное положение, отличное от 1500, будет восприниматься ПК, как лёгкое подруливание, которое он будет отрабатывать и квадрокоптер постоянно будет сносить в какую-то сторону. Словом, имеет смысл повозиться и настроить «как надо».Как настроить эти значения на передатчике Taranis, показано здесь.

У меня Turnigy 9XR PRO, там это делается в пункте Limits. Также можно выполнить настройку через программу eePskye (вкладка Limits), но это неудобно, так как результат сразу не видно в Betaflight Configurator. Сделать это необходимо для каждого из четырёх каналов управления.

После настройки центральные значения максимально приблизились к 1500, но у меня они начали «прыгать» примерно на 5 единиц в одну или другую сторону. Не знаю, с чем это связано, вероятно, значения пульта являются пограничными для ПК и после их округления получается такой эффект.

set deadband = 6

Значение может быть от 0 до 32 и с его повышением чувствительность управления снижается. Управление становится более мягким. Надо понимать, что после определённого порога мягкость превратится в ватность, поэтому для себя я выбирал минимальное значение, при котором дёрганья исчезли.На этом всё, удачных полётов!

Прошивка и настройка minimosd

Наиболее популярной (но не единственной) прошивкой для MinimOSD является MWOSD. Сначала нужно прошить ей плату, а потом ещё и настроить. Если настроить OSD можно через ПК (подробнее об этом в разделе, посвящённом настройке ПК), то для прошивки необходим FTDI-адаптер или Ардуинка.

Смотрите про коптеры:  Квадрокоптер для охоты - на что обратить внимание при выборе

#define MINIMOSD#define CLEANFLIGHT

Из параметров выводить на экран я стал только напряжение батареи, время полёта и выбранный полётный режим.

Прошивка и настройка регуляторов

Для прошивки регуляторов у меня тоже есть специальный USB-адаптер, но можно обойтись и без него, подключившись через ПК. Долго думал, ставить Multishot или уже проверенный Oneshot125? С одной стороны, на устаревшем чипе F330 в скорости особой разницы не заметно, с другой — мелодия из «Звёздных войн» при включении и, как пишут на форумах, «более чистый сигнал».

Решили всё неединичные жалобы на то, что моторы стихийно начинают вращаться на максимальных оборотах при подключении к CLI. В итоге поставил BLHeli последней версии (на момент сборки 14.5), включил Damped Light и выставил Motor Timing на «Medium». Позднее откалибровал регуляторы по этой инструкции.

Прошивка полётного контроллера

На этом этапе я застрял дольше всего, так как были проблемы с прошивкой. Оказалось, первый раз шить надо обязательно с замыканием boot-контактов (как в этом видео). Кстати, иногда бывает, что ПК защищён от записи и невозможно прошить новую прошивку. Вот инструкция, как это исправить.

Пожалуй, самой популярной прошивкой на сегодняшний день, вполне заслуженно, является Cleanflight. После её установки достоточно только настроить протокол приёмника и квадрокоптер уже может вполне сносно лететь. Для настройки используется удобная графическая оболочка Cleanflight Configurator.

Благодаря открытому коду прошивки, у неё есть несколько ответвлений (форков). Самым интересным из них является Betaflight от человека под ником Boris B. Прошивка очень динамично развивается и некоторые её «фичи» потом переходят в «родительский» Cleanflight (например, полётный режим Airmode).

Минусом Betaflight является то, что релизы выходят достаточно часто, а стабильность их не всегда высока. Кстати, эта причина на несколько недель задержала написание данной статьи. На момент завершения сборки квадрокоптера как раз вышла версия 2.8.0, которая имела пару ошибок и отличалась недружелюбными дефолтными настройками.

Очень быстро появилась исправленная версия 2.8.1 RC1, но опыт работы программистом подсказал мне, что лучше подождать релиза. Я не прогадал, так как одновременно с релизом версии 2.8.1, появился и Betaflight Configurator. Можно сказать, что это новый этап в истории данной прошивки.

Дело в том, что по мере своего развития Betaflight всё больше и больше отдалялся от Cleanflight и конфигуратор последнего становился всё более и более бесполезным, так как основная часть настроек всё равно делалась через консоль CLI. Кстати, на момент подготовки этой статьи, уже вышла версия Betaflight под номером 2.9.

Тестирование режима спасения gps

Снимите пропы, убедитесь, что GPS Rescue активируется переключателем и деактивируется переключателем обратно в режим acro.

Когда вы тестируете с подключенным USB-кабелем, ползунок GPS Rescue не становится желтым, как в других режимах. Это нормально, пока небольшая желтая полоса может перемещаться в диапазоне.

Имейте в виду, что настройки зависят от вашей модели и местности, поэтому обязательно проверьте внимательно. Делайте это в открытом поле без каких-либо препятствий и людей.

Эти GPS элементы в OSD помогут понять Вам, что квад делает.

Перед тестированием убедитесь, что в экранном меню достаточно спутников. Вы также можете включить режим спасения, в полете он будет отображаться как «RESC».

Обратите внимание на стрелку домой в экранном меню Betaflight, если она указывает вверх, это означает, что вы летите к точке взлета. Если вниз, значит вы улетаете от точки взлета. Время от времени стрелка может показывать неправильное направление – это нормально. Только убедитесь, что квадрокоптер не летит в противоположном направлении 🙂

Когда квадрокоптер подлетит близко к вам и сигнал вернется, нужно будете взять управление на себя. Держите ручку газа на уровне 40-50% (выше точки зависания), а ручку крена и тангажа в нейтральном положении.

Отключите GPS Rescue и теперь у вас есть полный контроль над квадрокоптером.

Если вы не отключите GPS Rescue и позволите кваду подлететь к точке взлета, он просто начнет снижаться.

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

Требования для gps rescue режим

  1. Перепрошейте ваш полетный контроллер до Betaflight 3.5 или новее
  2. Инструкция: Установка GPS модуля в Ваш полетный контроллер
  3. Включите Акселерометр (чтобы он смог определить угол квадракоптера)

Фильтрация

Процесс фильтрации заключается в удалении лишнего шума из сигнала от гироскопа. Но какую часть сигнала от гироскопа мы хотим оставить, а какую отфильтровать?

Честно не могу вам в красках рассказать, но так сложилось, что в бетафлайт, шум, а точней вибрации измеряются в Hz. 1Hz — одна ротация в секунду. Делается это как для простоты визуализации и работы с этими переменными. А еще, турбулентность технически называется «rate of change of rotation» — частота изменения ротации.

Скорость движения квадрокоптера лежит в районе 0-30 Hz. Выше 30Hz до 80Hz у нас находится пропвош (propwash), когда квадрокоптер трясет от турбулентности в собственных потоках. Информация в пределах 0 — 80Hz важна для PID контроллера, поэтому ее мы трогать не будем.

С помощью PIDtoolbox можно рисовать вот такие карты:

Оцените статью
Добавить комментарий

Adblock
detector