Прошивки CleanFlight/BetaFlight для полетников

tuskan
ale_p:

при выводе результата комманды diff all или dump в cli выполнение виснет вместе с полётником.

у меня как то раз вис, но конфиг не слетел - просто ребутнул

ale_p

так он и не слетает. просто до конца не выводится и его не сбэкапить. я хотел прошивку обновить, начал настройки бэкапить и опа!
так то квад не глючил

MFer

Всегда делаю бэкапы после каждого посещения настроек… привычка-с…

Сергей_Уж

Всем привет давно не был, перечитываю, куча инфы новой для меня, конец лета добрался до квадрика 😃 Изучаю новую прошивку и пишу то что усвоил для себя, если что поправьте.

rins:

ещё интересный результат. если Р по яв поменьше а I побольше. (у меня вроде 60\85)

вики рекомендует вообще Yaw I =120
github.com/betaflight/…/3.5-tuning-notes

set iterm_relax = RP
set p_yaw = 40
set i_yaw = 120
set d_yaw = 0
set f_yaw = 100
Хотя тут же пишут
Как минимум рекомендуется имет FF=50 для всех квадриков. По умолчанию значение 60. P не должно превышать значений 40-60 чтобы получить по yaw отличный отклик, по факту меньшее значение P уменьшает шум по yaw и отскок. Это я библию цитирую.

ale_p:

Ну так и надо делать. Для этого фф и ввели. Чтобы
не завышать пиды для более быстрой реакции.

В связи с модификацией стиков икс лайта и прибавлением массы на
заброшечном кваде (оброс броней), сегодня таки решил вдумчиво
попердолиться с фф. Оптимальными оказались трансижен 0.2 при фф 70. Это
существенно меньше чем я ставлю для квадов на открытой местности. Тут
аккуратный точный полет чтоб не чиркнуть за косяк или торчащую арматуру
или не ковыльнуться со ступенек.

Со смартфидфорвард я тему для себя закрыл, оно работает неадекватно, с
5и дюймовым квадом ситуация такая же как и на мелком. Поднимал до 350,
это да, приводило к возврату чувствительности (хоть и не в полной мере),
но при резком рывке стиков, наприме при бочке, квад выполнял мвневр
молниеносно, но появлялсятощутимый и видимый овершут. Так и оставил 115 и
обычный фф.

трансижен 0.2 означает порог 20 процентов, ниже которого FF работать не будет, его каждый выставляет под себя, основное это иметь мертвую зону где можно чуть двигать стиками и даже резко и не заходить в зону FF, кто то ставит 5 кто то 40 процентов.
FF по факту уменьшает сумарную Р ( PIDsum), он нивелирует своим значение работу D. D по сути сопротивляется любому изменению, это его работа и правильно написано чтобы не задирать в пидах Р почти до осциляций пошли по пути когда значение FF при резкой даче стиков “откусывает” или уменьшает или нивелирует значение D потому что в расчетах пид контроллера D с отрицательным знаком. Смотрел видео в котором автор приводит пример как работает FF, какие бы значения настроек пид контроллера не стояли результирующей цифрой будет PIDsum суммарная значение PID и как цифру он приводит значение PID sum = 49,2% при этом
P-58.1%
I= 1.1%
D= -36.6%
FeedForward ( FF) = 26.6%
PIDsum = 49.2

58.1 + 1.1 - 36.6 + 26.6 = 49.2 ( PID sum)
То есть получается чем больше значение FF тем больше оно нивелирует значение D при своей работе.
Отсюда я понял как это работает и что это значение делает для настроек. Если его задрать оно уменьшает влияние D которое сопротивлялось маневру с резким отклонением стиков со всеми вытекающими, отсюда и возможные дергания при больших значениях FF.
Что я понял не так ? 😃

ale_p
Сергей_Уж:

FF по факту уменьшает сумарную Р( PIDsum),

тут какаято логическая ошибка.
лучше смотреть первоисточник (uav-tec) там показано на пальцах, а по тексту понять очень тяжело.

Сергей_Уж
ale_p:

тут какаято логическая ошибка.

Может правильнее и точнее сказать уменьшает влияние D ? При значениях FF равных D получаем D никак не влияет на процесс. То есть все знают что он есть, но его вроде как и нет 😃 Давайте разберемся, я как бы для себя все понял. Вот оригинал видео, что я понял не так ?

ale_p

да , это вернее. оно просто помогает P только при движении стика.
чтобы не делать квад отзывчивее увеличивая P сверх необходимого

mil-lion

Значит я был прав когда говорил что FF давно появился в iNav в 1.9. И первоначально было придумано для крыла с сервоприводами. Большое D могло убивать сервы, они грелись и работали не адекватно. Поэтому придумали PIFF заменив D на FF.
А сейчас эта идея пришла и в BF.
В свое время читал но в голове так и не уложилось. Надо будет поизучать этот вопрос, разобраться.

ale_p
mil-lion:

Значит я был прав когда говорил что FF давно появился в iNav в 1.9.

вообще выходит да, но реализовано это очень по-разному.

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

----------------------------
еще видео хорошее на тему от Павла

и смотрим еще первый коммент Bruce Luckcuck (етрейсер)

idk:

и еще тут перевили похоже profpv.ru/betaflight-настройка-pid-setpoint-weight…

ну и с неточностями сразу.

>But now Feedforward is separated from PID loop, so you can adjust feedforward purely to change stick feel, and it won’t be affected by how you tune your PID.

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

-----------------
вобщем, не забивайте голову кто что там раньше придумал , дали фф - лучше, удобнее, понятнее, вот и пользуйте.

Сергей_Уж

Главное понятно что это за зверь FF и как он влияет на поведение при его настройке. Читал ( но не видел в доках ) что его значение могут меняться от 0 до 2000 , чел видео которого я смотрел ( летает он неплохо ) считает что 60 это много в его настройках он все поменял на 45, говорит 60 это слишком верткий и он не получает ожидаемую реакцию от квадра мол пришлось понизить. Ну и ползунок throttle boost работает точно также ( реакция ) как FF только для газа. Ну рейты у него как по мне низкие ( я про угловые скорости ).

И кстати в последней версии от вчера ( v4) FF по YAW по умолчанию уже 100

mil-lion

Очень интересно, а зачем по YAW - FF? Если по YAW нет вообще D. Там только P и I. (По крайней мере так было в старых исходниках)

Сергей_Уж
mil-lion:

Очень интересно, а зачем по YAW - FF? Если по YAW нет вообще D. Там только P и I. (По крайней мере так было в старых исходниках)

Вот как раз и я про это думаю, может мы про это FF что то не знаем ? Я до этого думал , а что если FF сравняется и превысит значение D? можно ли ему уходить в минусовые зоны по отношению к деривативу, а тут слышу он может принимать значение 2000, это как ? Вот скрин моего квадра сделал прямо сейчас, поменял только рейты на свои, остальное по умолчанию вчерашняя версия прошивки от девов И посмотрите I для YAW

Хотя в CLI значения FF
# get feedforward
feedforward_transition = 0
profile 0
Allowed range: 0 - 100

Тут нужен Миронов прояснить зачем FF для yaw

ale_p
mil-lion:

Очень интересно, а зачем по YAW - FF? Если по YAW нет вообще D. Там только P и I. (По крайней мере так было в старых исходниках)

для того что что и для питч и ролл

Сергей_Уж
ale_p:

для того что что и для питч и ролл

Если есть значит нужен, хочется один раз понять и забыть 😃 Они пробовали недавно снова D по YAW попробовать ( читал в слеке, 100 лет там не был ) стало только хуже и увидел там откуда новые значения по яву. Узнать это чистое любопытство, можно и без этого летать, ну или перейти на кисс, поставил и забыл ( забил ) 😃
Кстати порадовало что в слеке снова появился Борис.Б , я думал что он отошел от дел…

ale_p

ок давайте понвой.

github.com/betaflight/…/3.5-tuning-notes

Yaw performance has historically been weaker than pitch and roll, leading people to run high levels of yaw P, leading to noise and wobble on yaw, overshoot and bounce back. Not any more! In 3.5, yaw will typically be just as responsive and precise as pitch and roll.
At least 50 of FF on yaw is recommended on all quads. The default is 60.
P should not need to be more than 40-60 for great yaw responsiveness, in fact lower P reduces yaw noise and bounce back.
Really high yaw I works great on most quads, and (strangely enough) actually reduces bounce back, when combined with yaw feed forward.
With those changes, yaw responsiveness will be as good, or better, than pitch and roll. With Feed Forward and high I on yaw, bounce back will be minimal, and there is no need to run iTerm_Relax on these settings.
** Yaw D is experimental. For normal quads, do not add any D to yaw, or you’ll likely get mad yaw oscillation.** Yaw D may be useful for tricopters.
These are the yaw related values I’d personally recommend for a typical quad:
set iterm_relax = RP set p_yaw = 40 set i_yaw = 120 set d_yaw = 0 set f_yaw = 100

добавляя компонент в сумму, который не завязан на гироскоп (фидфорвард), вам ненужно фигачить P на яв (яв работает крутящим момнетом, а не тягой, поэтому ранее нужно было большое P), добиваясь хоть какойто отзывчивости.

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

момент который я не вдупляю - iTerm_Relax должен быть включен только на ролл и питч.

хотя я летал и на ролл питч яв и разницы особой не заметил.

но вот то что
iterm_relax_type = GYRO

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

Сергей_Уж
ale_p:

ок давайте понвой.

Из текста все таки они D в качестве эксперимента пробовали 😃 Ступор в том что FF вроде как борется с D которого в YAW нет, хочу понять как это работает ( ну прям как в Дисковеру ch 😃 ) Если попадется расклад где будет понятно что тогда он ограничивает можно озвучить. Ну а мне и всем думаю хватает " yaw will typically be just as responsive and precise as pitch and roll" смогли значит молодцы.

ale_p

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

про фф еще раз, вот вам про ваш айнав.

quadmeup.com/inav-1-6-fixed-wing-piff-controller/

в случае с бетафлайтом это будет вот так выглядеть

What Feed Forward does, it uses setpoint, not error (pilots input) to feed it to servos.

в нашем случае сервы замените на регули

Сергей_Уж
ale_p:

почему он не нужен на яв - тоно не скажу

For normal quads, do not add any D to yaw, or you’ll likely get mad yaw oscillation это в твоей цитате
И хорошо , ни с чем не борется, тогда из твоего рисунка его роль нивелировать PIDsum пидконтроллера

ale_p

Хорошо. Перефразирую. Почему тогда эта тема для трикоптеров? Ну разработчики так это позиционируют.
И к слову про д на квадах. Я пробовал его до5 поднимать при P=70. Никакой разницы.
Возможно надо 20, но тогда это ничего не даст кроме шума и ухудшевгегося отклика (pid response)

ale_p:

Хорошо. Перефразирую. Почему тогда эта тема для трикоптеров? Ну разработчики так это позиционируют.

сам себе отвечу. поскольку у квада по яву измение положение идёт моментом (torque), а у ролла и питча - тягой (thrust), у трикоптера получается иначе -
задний движок может наклоняться, яв имеет большую производительность (authority) тк уже может крутить квад тягой, а этой уже другая история.

mil-lion

Точно! В трикоптере используется сервомашинка на YAW и конечно для нее D опасно и нужно как раз FF!

ale_p
mil-lion:

Точно! В трикоптере используется сервомашинка на YAW и конечно для нее D опасно и нужно как раз FF!

наоборот, для трикоптера предполагается ставить Д>0.

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

mil-lion
ale_p:

наоборот, для трикоптера предполагается ставить Д>0.

Я раньше смотрел исходники BF и по YAW прям в комментарии написано: что для YAW Д не используется. Поэтому что бы не выставили в конфигураторе это просто не работало. Как сейчас, не смотрел.

Посмотрел вашу картинку Алексей и понял что за FF.
Получается что входной сигнал сразу идет на выход, а ПИД регулятор уже потом дорегулирует.
Выходит что когда FF большое и P большое то квадрик будет ооооочень резким. Ведь входной сигнал сразу идет напрямую через FF и так как ошибка в первый момент большая то управляющий сигнал на мотор будет огромный.
Но все равно схема меня немного вводит в ступор. Раньше когда ошибка компенсировалась то управляющий сигнал на моторы доходил до нуля, то как сейчас компенсируется FF который не зависит от ошибки управления? По мне так должны быть колебания! Блин что то как то намутили.

ale_p

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

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

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

Сергей_Уж
ale_p:

мое мнение по тюну пока такое: настраиваем квад по максимуму чтоб убрать пропвош

Ты предлагаешь FF для настройки пидов обнулять ? Чуть я в ступоре, настроить пиды , а потом поведение, это как ? Я не цепляюсь и не подкалываю, просто чуть уже путаться начинаю 😃 Поведение я рейтами настравивал.