Прошивки CleanFlight/BetaFlight для полетников
Значит я был прав когда говорил что FF давно появился в iNav в 1.9.
вообще выходит да, но реализовано это очень по-разному.
у квада аэродинамика кирпича, без злой постоянной стабилизации относительно крыла он летать не будет.
----------------------------
еще видео хорошее на тему от Павла
и смотрим еще первый коммент Bruce Luckcuck (етрейсер)
и еще тут перевили похоже 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
Очень интересно, а зачем по YAW - FF? Если по YAW нет вообще D. Там только P и I. (По крайней мере так было в старых исходниках)
Очень интересно, а зачем по 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
Очень интересно, а зачем по YAW - FF? Если по YAW нет вообще D. Там только P и I. (По крайней мере так было в старых исходниках)
для того что что и для питч и ролл
для того что что и для питч и ролл
Если есть значит нужен, хочется один раз понять и забыть 😃 Они пробовали недавно снова D по YAW попробовать ( читал в слеке, 100 лет там не был ) стало только хуже и увидел там откуда новые значения по яву. Узнать это чистое любопытство, можно и без этого летать, ну или перейти на кисс, поставил и забыл ( забил ) 😃
Кстати порадовало что в слеке снова появился Борис.Б , я думал что он отошел от дел…
ок давайте понвой.
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
должно быть это точно. с сетпоинт квад тормозной, будто задержка появляется.
ок давайте понвой.
Из текста все таки они D в качестве эксперимента пробовали 😃 Ступор в том что FF вроде как борется с D которого в YAW нет, хочу понять как это работает ( ну прям как в Дисковеру ch 😃 ) Если попадется расклад где будет понятно что тогда он ограничивает можно озвучить. Ну а мне и всем думаю хватает " yaw will typically be just as responsive and precise as pitch and roll" смогли значит молодцы.
нет. он ни с чем не борется. а коммент выше про Д смотрю никто не читал. почему он не нужен на яв - тоно не скажу, видимо по прочине того что у ява не такой большой вклад как у ролла и питча по причине, опять же коммент выше.
про фф еще раз, вот вам про ваш айнав.
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.
в нашем случае сервы замените на регули
почему он не нужен на яв - тоно не скажу
For normal quads, do not add any D to yaw, or you’ll likely get mad yaw oscillation это в твоей цитате
И хорошо , ни с чем не борется, тогда из твоего рисунка его роль нивелировать PIDsum пидконтроллера
Хорошо. Перефразирую. Почему тогда эта тема для трикоптеров? Ну разработчики так это позиционируют.
И к слову про д на квадах. Я пробовал его до5 поднимать при P=70. Никакой разницы.
Возможно надо 20, но тогда это ничего не даст кроме шума и ухудшевгегося отклика (pid response)
Хорошо. Перефразирую. Почему тогда эта тема для трикоптеров? Ну разработчики так это позиционируют.
сам себе отвечу. поскольку у квада по яву измение положение идёт моментом (torque), а у ролла и питча - тягой (thrust), у трикоптера получается иначе -
задний движок может наклоняться, яв имеет большую производительность (authority) тк уже может крутить квад тягой, а этой уже другая история.
Точно! В трикоптере используется сервомашинка на YAW и конечно для нее D опасно и нужно как раз FF!
Точно! В трикоптере используется сервомашинка на YAW и конечно для нее D опасно и нужно как раз FF!
наоборот, для трикоптера предполагается ставить Д>0.
сигнальные кабели с мозгов идут в регули мотров, а куда идёт сигнальный кабель от сервомашинки? на четверный моторный выход? думаю для него тогда особые правила, возможно сервомашинка как отвязана от гироскопа и рулится исключительно сетпоинтом.
а вообще хз, не изучал этот вопрос.
наоборот, для трикоптера предполагается ставить Д>0.
Я раньше смотрел исходники BF и по YAW прям в комментарии написано: что для YAW Д не используется. Поэтому что бы не выставили в конфигураторе это просто не работало. Как сейчас, не смотрел.
Посмотрел вашу картинку Алексей и понял что за FF.
Получается что входной сигнал сразу идет на выход, а ПИД регулятор уже потом дорегулирует.
Выходит что когда FF большое и P большое то квадрик будет ооооочень резким. Ведь входной сигнал сразу идет напрямую через FF и так как ошибка в первый момент большая то управляющий сигнал на мотор будет огромный.
Но все равно схема меня немного вводит в ступор. Раньше когда ошибка компенсировалась то управляющий сигнал на моторы доходил до нуля, то как сейчас компенсируется FF который не зависит от ошибки управления? По мне так должны быть колебания! Блин что то как то намутили.
оно суммируется. как описано в видео уав-тек. просто фф это крутилка чтоб добавить отзывчивости, теперь не привязанная к Д.
еще как сценарий -
допустим настраиваим квад, квад трясёт при резких манёврах и выходах из падений (гепрц вместо пропеллеров например), надо много д, возможно его надо столько, что даже приходится ставить биквад на дтерм. да вот беда, квад получился резиновым.
начинаем крутить ff, чтоб скомпенсировать.
мое мнение по тюну пока такое: настраиваем квад по максимуму чтоб убрать пропвош (в разумных пределах, учитывая сколько фильтрации приходится для этого накидать) - а уже поведение подстраиваим трансишеном и фидфорвардом. ну и рейтами само собой.
мое мнение по тюну пока такое: настраиваем квад по максимуму чтоб убрать пропвош
Ты предлагаешь FF для настройки пидов обнулять ? Чуть я в ступоре, настроить пиды , а потом поведение, это как ? Я не цепляюсь и не подкалываю, просто чуть уже путаться начинаю 😃 Поведение я рейтами настравивал.
предлагаю оставить их на дефолте, как есть. можно и 100 поставить как в гайде про рекомендованные написали разработчики.
или
в ноль. последнее кстати необходимо для работы с пиданализатором, если его использовать для базовой настройки или когда опыта нет.
вообще фидфорвард не будет влиять на ситуации типа резкого изменения газа при выходе из свободного падения с большой высоты.
я просто настраиваю всё сразу, за основу беря дефолт, не обращая внимание на отзывчивость, смотрю только пропвош
типа пробоую подкрутить п, пока это даёт положительный эффект. если пропвошит - добавляю Д. смотрю что происходит.
потом пробую подкрутить лпф на джиро и д по очереди и смотрю что это даёт.
фф может влиять например - если его круто задрать, то при резких роллах ‘нормально’ настроенный квад может получить такой пинок что будет овершут. (мой коммент выше про смарт фид форвард) - тоесть, получится что Д не хватит.
рейты это не совсем то. с фидфорвард квад становится как бы легче что ли и будто бы быстрее начинает реагировать с самого начала движения.
Ну теперь понятно про что шла речь
Я уже с утра посмотрел это видео, как выводы по простому понял FF отвязан от параметра D ( до этого думад что сделан в противовес и эти параметры связаны ), это видно по его работе на графике блекбокса, когда есть задержки по D он( FF ) на это не реагирует . Если в настройках питча и рола есть D он ( FF ) нивелирует PIDsum по своей сути, а если нет (как в YAW ) он просто делает свою работу. Ну и в Smart FF для правильной работы параметр нужно задирать на значения более 200 ( у него получилось 250 ) пока с этим мне не до конца ясно, фразы типа При значении 400 смарт FF полностью контролирует ролл мне ни о чем не говорят и чувствуется он сам чуть плавает как мне показалось.
в общем сёдня доделал новый квад - тяжелый ChamTi с писалкой (650 взлетный вес).
ну и попробовал 3.5 заодно…
настроился на удивление быстро - 4 пака всего. настраивал по ощущениям, без логов, но потом доводил с логами по pid_analyzer.
вот так получилось:
set gyro_lowpass_hz = 130
set gyro_lowpass2_hz = 0
set dyn_notch_quality = 5
set dyn_notch_width_percent = 20
set mag_hardware = NONE
set baro_hardware = NONE
set rssi_channel = 8
set rc_smoothing_type = FILTER
set dterm_lowpass_hz = 120
set dterm_lowpass2_hz = 250
set dterm_notch_cutoff = 0
set feedforward_transition = 10
set iterm_relax = RP
set iterm_relax_cutoff = 10
set throttle_boost = 8
set tpa_rate = 20
set tpa_breakpoint = 1050
картинки пид_аналайзера такие в итоге:
c явом можно наверно еще поработать, но мне уже очень нравится как летит, не уверен, что надо еще ковырять…
правда и на BF 3.4 летит у меня не хуже ))) так что вклад FF не могу оценить объективно ))
и да - с явом я долго мучался, больше всего… пропвош прям парил мозг… а потом я просто поставил 15 по D… и всё… как рукой сняло…
а до этого картинка была такая по яву (лучшее что получалось):
ЗЫ: так понравилось, как летает, что я обнаглел, включил писалку и… расфигачил ее апгараж на втором паке ((( камера умерла и не отдала видео даже…
вот первый пак с двр: