Мне часто пишут в личку с просьбой пояснить, на что влияют параметры PID применительно к ФБЛ системам Tarot ZYX и Copter-X CX3X1000, а так же просят скриншот Advance Menu моих настроек. Поскольку это весьма индивидуально и на первый взгляд сложно, то я решил сделать запись в дневнике на эту тему.
Запись эта не претендует на истину в первой инстанции, представляет собой компиляцию из собственного скудного опыта и почитывания забугорных форумов.
Дискламер: если кто полезет крутить Advance Menu и разобьёт вертушку в хлам- я не виноват.😉
Что такое PID?
PID - это Пропорциональная Интегральная и Дифференциальная составляющие управляющего контура с обратной связью. Более подробно почитать теорию о PID регуляторах отсылаю в Википедию.
Нас,безусловно, больше всего интересует,как влияют значения на поведение вертолёта? Обьясняю вкратце на пальцах:
Р - это величина корректирующей силы, приложенной для того, чтобы вернуть вертолет в его начальное положение. Эта величина пропорциональна совокупному отклонению от изначальной позиции минус любое командное воздействие на изменение направления с пульта управления.
Более высокое значение Р создаст более мощное усилие по сопротивлению любой попытке изменить положение вертолета(например, порыв ветра). Однако если значение Р слишком велико, то при возврате в исходное положение возникает перерегулирование и, следовательно, требуется противоположная сила, чтобы компенсировать новое отклонение. Это порождает эффект раскачки до тех пор, пока наконец не будет достигнута стабильность или, в худшем случае, вертолет может стать полностью неуправляемым.
Увеличение значения Р:
приводит к большей устойчивости /стабильности до тех пор, пока слишком большое значение Р не приведет к осцилляциям и потере контроля над вертолетом (потере управления). Вертолет будет больше противодействовать любым попыткам извне к изменению своего пространственного положения .
Уменьшение значения Р:
приведет к дрейфу в управлении. Если Р слишком мал, вертолет становится очень нестабильным. Он будет меньше сопротивляться любым попыткам изменить его положение.
I – это период времени, в течение которого записываются и усредняются угловые отклонения.
Величина силы, прикладываемой для возврата в исходное положение, увеличивается, если с течением времени угловое отклонение сохраняется, пока не будет достигнута максимальная величина усилия.
Более высокое I способствует улучшению курсовой устойчивости.
Увеличение значения I:
улучшит способность удерживать начальное положение и уменьшит дрейф, но так же увеличит задержку возврата в начальное положение. Также уменьшает влияние Р.
Уменьшение значения I:
Улучшит реакцию на изменения, но увеличит дрейф и уменьшит способность удерживать положение. Так же увеличивает влияние Р.
D – это скорость, с которой вертолет вернется в его начальное положение. Высокие D означают, что вертолет вернется в первоначальное положение очень быстро.
Увеличение значения D увеличивает скорость, с которой все отклонения будут скомпенсированы. Это означает так же увеличение вероятности появления перерегулирования и осцилляций. Так же увеличивается эффект от изменения Р (влияние Р-компоненты)
Уменьшение значения D уменьшает колебания при возврате в начальное положение. Возврат в начальное положение происходит медленнее. И так же уменьшает эффект от изменения Р.
Условно можно сказать, что акробатический пилотаж требует более высоких значений PID. Что, впрочем и сделал для нас разработчик, заложив некоторые средние значения в готовые пресеты настроек. В большинстве случаев, можно их и оставить по умолчанию. Но для чего тогда нам оставили возможность тонкой настройки PID?
Прежде всего, конечно для удешевления системы, не надо платить профпилотам за работу по поиску универсального соотношения параметров PID. Но так же и для того, чтобы пользователь при желании сам мог получить для себя необходимые и удобные характеристики поведения вертолета, что ИМХО хорошо. Ведь модели все разные, весовые, мощностные характеристики, обороты могут сильно отличаться. Сервоприводы АП так-же разные, общие рекомендации применительно к скорости их отработки:
-медленные сервы на голове - большие значения P, I
-быстрые сервы - меньшие значения.
Теперь разберем, как практически осуществлять настройку параметров PID, так сказать общие рекомендации.
Прежде всего, надо настроить систему на работу с двумя банками данных, в одном будут обычные настройки, в другом- экспериментальные. Переключатся они будут тумблером переключения режимов хвостового гиро, при этом мы теряем режим хвоста Нормал, но кто сейчас им пользуется? При желании, после настроек, можно вернуть этот режим назад. Смысл заключается в том, что при облете могут возникнуть автоколебания, при этом посадить вертолет будет очень проблемно, уж поверьте мне. А так мы щелчком тумблера включаем банк со старыми настройками, после чего безопасно приземляемся.
Примерный алгоритм подборки параметров следующий:
Настройка начинается с параметра P. Необходимо его постепенно увеличивать до появления колебаний. После появления колебаний немного уменьшить P (на 5 единиц). В дальнейшем при выполнении переворотов, бочек при появлении звука срыва потока на лопастях ещё уменьшить P.
Настройка параметра I выполняется при выполнении пируэтов при быстром полёте вперёд. Если скорость выполнения пируэта равномерна, настройка завершена.
Если при уже установленных параметрах P и I вертолёт немного подергивает по элеватору, необходимо немного увеличить Pitch D.
При возникновении автоколебаний ротора:
Быстрые колебания – завышено P,
Медленные колебания – завышено I.
Настройки рекомендуется производить грубо с шагом 5 единиц, затем более точно 1-2 единицы.
а как учитывается gain Вы понимаете?..ИМХО это просто множитель для отклика (если увеличить все коэффициенты в 2 раза и уменьшить gain в 2 раза, то ничего не изменится), таким образом Р можно не трогать (вроде никто не трогает), а менять I, D и gain…в общем суть в том, что Р вроде никто не трогает…
Вот у меня нормально 450-ка летает если стоит базовый soft 3d и чуйки на голове по 25, как начинаю что-то трогать в PID-ах только хуже становится… но теперь стало более-менее понятно, что менял всё не так как нужно… видимо от этого вертолету становилось хуже, то дрожать начинает, то вообще какой-то неустойчивый становится - даже висеть на месте было не реально!
а как учитывается gain Вы понимаете?..ИМХО это просто множитель для отклика (если увеличить все коэффициенты в 2 раза и уменьшить gain в 2 раза, то ничего не изменится), таким образом Р можно не трогать (вроде никто не трогает), а менять I, D и gain…в общем суть в том, что Р вроде никто не трогает…
Не согласен, это не множитель.
Гейн относится только к чувствительности гироскопа. PID учитывает и управляющий сигнал от пилота.
Не согласен, это не множитель.
Гейн относится только к чувствительности гироскопа. PID учитывает и управляющий сигнал от пилота.
управляющий сигнал изменяет setpoint, который PID стремится поддерживать, с гироскопа берется реальное положение, никакой чувствительности там нет, только deadband…
Вот по критиковать… жалко, человек старался, и криминальных ошибок нет. Вот вы отсылаете в википедию, а сами похоже того не читали. Вы не первый, кто пытается тут на форуме описать ПИД-регулятор - вот например rcopen.com/forum/f90/topic205896/6377
Вот по критиковать… жалко, человек старался, и криминальных ошибок нет. Вот вы отсылаете в википедию, а сами похоже того не читали. Вы не первый, кто пытается тут на форуме описать ПИД-регулятор - вот например rcopen.com/forum/f90/topic205896/6377
это не критика, это обсуждение, причем более-менее конструктивное…ваш пост не понятен совершенно, в википедию отсылает автор, а пост вроде для меня…
Владислав!
СПАСИБО!😃
Владислав, благодарю! Очень полезно, интересно, буду настраивать.
Нужная инфа. СПАСИБО!
{"assets_hash":"a8b26fa7f6e768b07a72c8c9aadb9422","page_data":{"users":{"44e1e8243df9550077789918":{"_id":"44e1e8243df9550077789918","hid":16135,"name":"Виктор","nick":"Виктор","avatar_id":null,"css":"user__m-banned"},"4cd7f73c3df955007775a2f7":{"_id":"4cd7f73c3df955007775a2f7","hid":74565,"name":"NARAJANA","nick":"NARAJANA","avatar_id":null,"css":""},"4d3ca3033df9550077756f6d":{"_id":"4d3ca3033df9550077756f6d","hid":79159,"name":"bort662","nick":"bort662","avatar_id":null,"css":""},"4d4ee0093df9550077756606":{"_id":"4d4ee0093df9550077756606","hid":80331,"name":"kudra","nick":"kudra","avatar_id":null,"css":""},"4daa08c73df95500777539ae":{"_id":"4daa08c73df95500777539ae","hid":86128,"name":"YIR78","nick":"YIR78","avatar_id":null,"css":""},"4db01f2d3df95500777536ab":{"_id":"4db01f2d3df95500777536ab","hid":86494,"name":"mfilitovich","nick":"mfilitovich","avatar_id":null,"css":""},"4ebcee503df955007774c2fd":{"_id":"4ebcee503df955007774c2fd","hid":105067,"name":"mk00","nick":"mk00","avatar_id":null,"css":""},"4ec2b93d3df955007774c064":{"_id":"4ec2b93d3df955007774c064","hid":105519,"name":"Zloyuzver","nick":"Zloyuzver","avatar_id":null,"css":"user__m-banned"}},"settings":{"blogs_can_create":false,"blogs_mod_can_delete":false,"blogs_mod_can_hard_delete":false,"blogs_mod_can_add_infractions":false,"can_report_abuse":false,"can_vote":false,"can_see_ip":false,"blogs_edit_comments_max_time":30,"blogs_show_ignored":false,"blogs_reply_old_comment_threshold":30,"votes_add_max_time":168},"entry":{"_id":"50741ffb99707300771092aa","hid":15363,"title":"Про настройку параметров PID в ФБЛ системах Tarot ZYX и Copter-X CX-3X1000","html":"<p>Мне часто пишут в личку с просьбой пояснить, на что влияют параметры PID применительно к ФБЛ системам Tarot ZYX и Copter-X CX3X1000, а так же просят скриншот Advance Menu моих настроек. Поскольку это весьма индивидуально и на первый взгляд сложно, то я решил сделать запись в дневнике на эту тему.<br>\nЗапись эта не претендует на истину в первой инстанции, представляет собой компиляцию из собственного скудного опыта и почитывания забугорных форумов.<br>\nДискламер: если кто полезет крутить Advance Menu и разобьёт вертушку в хлам- я не виноват.<span class=\"emoji emoji-wink\" data-nd-emoji-src=\":wink:\">😉</span></p>\n<p>Что такое PID?<br>\nPID - это Пропорциональная Интегральная и Дифференциальная составляющие управляющего контура с обратной связью. Более подробно почитать теорию о PID регуляторах <a href=\"http://ru.wikipedia.org/wiki/%D0%9F%D0%98%D0%94-%D1%80%D0%B5%D0%B3%D1%83%D0%BB%D1%8F%D1%82%D0%BE%D1%80\" class=\"link link-ext\" data-nd-link-orig=\"http://ru.wikipedia.org/wiki/%D0%9F%D0%98%D0%94-%D1%80%D0%B5%D0%B3%D1%83%D0%BB%D1%8F%D1%82%D0%BE%D1%80\" target=\"_blank\" rel=\"nofollow noopener\">отсылаю в Википедию</a>.</p>\n<p>Нас,безусловно, больше всего интересует,как влияют значения на поведение вертолёта? Обьясняю вкратце на пальцах:</p>\n<!--cut-->\n<p>Р - это величина корректирующей силы, приложенной для того, чтобы вернуть вертолет в его начальное положение. Эта величина пропорциональна совокупному отклонению от изначальной позиции минус любое командное воздействие на изменение направления с пульта управления.<br>\nБолее высокое значение Р создаст более мощное усилие по сопротивлению любой попытке изменить положение вертолета(например, порыв ветра). Однако если значение Р слишком велико, то при возврате в исходное положение возникает перерегулирование и, следовательно, требуется противоположная сила, чтобы компенсировать новое отклонение. Это порождает эффект раскачки до тех пор, пока наконец не будет достигнута стабильность или, в худшем случае, вертолет может стать полностью неуправляемым.</p>\n<p>Увеличение значения Р:<br>\nприводит к большей устойчивости /стабильности до тех пор, пока слишком большое значение Р не приведет к осцилляциям и потере контроля над вертолетом (потере управления). Вертолет будет больше противодействовать любым попыткам извне к изменению своего пространственного положения .<br>\nУменьшение значения Р:<br>\nприведет к дрейфу в управлении. Если Р слишком мал, вертолет становится очень нестабильным. Он будет меньше сопротивляться любым попыткам изменить его положение.</p>\n<p>I – это период времени, в течение которого записываются и усредняются угловые отклонения.<br>\nВеличина силы, прикладываемой для возврата в исходное положение, увеличивается, если с течением времени угловое отклонение сохраняется, пока не будет достигнута максимальная величина усилия.<br>\nБолее высокое I способствует улучшению курсовой устойчивости.<br>\nУвеличение значения I:<br>\nулучшит способность удерживать начальное положение и уменьшит дрейф, но так же увеличит задержку возврата в начальное положение. Также уменьшает влияние Р.<br>\nУменьшение значения I:<br>\nУлучшит реакцию на изменения, но увеличит дрейф и уменьшит способность удерживать положение. Так же увеличивает влияние Р.</p>\n<p>D – это скорость, с которой вертолет вернется в его начальное положение. Высокие D означают, что вертолет вернется в первоначальное положение очень быстро.</p>\n<p>Увеличение значения D увеличивает скорость, с которой все отклонения будут скомпенсированы. Это означает так же увеличение вероятности появления перерегулирования и осцилляций. Так же увеличивается эффект от изменения Р (влияние Р-компоненты)<br>\nУменьшение значения D уменьшает колебания при возврате в начальное положение. Возврат в начальное положение происходит медленнее. И так же уменьшает эффект от изменения Р.</p>\n<p>Условно можно сказать, что акробатический пилотаж требует более высоких значений PID. Что, впрочем и сделал для нас разработчик, заложив некоторые средние значения в готовые пресеты настроек. В большинстве случаев, можно их и оставить по умолчанию. Но для чего тогда нам оставили возможность тонкой настройки PID?<br>\nПрежде всего, конечно для удешевления системы, не надо платить профпилотам за работу по поиску универсального соотношения параметров PID. Но так же и для того, чтобы пользователь при желании сам мог получить для себя необходимые и удобные характеристики поведения вертолета, что ИМХО хорошо. Ведь модели все разные, весовые, мощностные характеристики, обороты могут сильно отличаться. Сервоприводы АП так-же разные, общие рекомендации применительно к скорости их отработки:<br>\n-медленные сервы на голове - большие значения P, I<br>\n-быстрые сервы - меньшие значения.</p>\n<p>Теперь разберем, как практически осуществлять настройку параметров PID, так сказать общие рекомендации.<br>\nПрежде всего, надо настроить систему на работу с двумя банками данных, в одном будут обычные настройки, в другом- экспериментальные. Переключатся они будут тумблером переключения режимов хвостового гиро, при этом мы теряем режим хвоста Нормал, но кто сейчас им пользуется? При желании, после настроек, можно вернуть этот режим назад. Смысл заключается в том, что при облете могут возникнуть автоколебания, при этом посадить вертолет будет очень проблемно, уж поверьте мне. А так мы щелчком тумблера включаем банк со старыми настройками, после чего безопасно приземляемся.<br>\nПримерный алгоритм подборки параметров следующий:</p>\n<ol>\n<li>Настройка начинается с параметра P. Необходимо его постепенно увеличивать до появления колебаний. После появления колебаний немного уменьшить P (на 5 единиц). В дальнейшем при выполнении переворотов, бочек при появлении звука срыва потока на лопастях ещё уменьшить P.</li>\n<li>Настройка параметра I выполняется при выполнении пируэтов при быстром полёте вперёд. Если скорость выполнения пируэта равномерна, настройка завершена.</li>\n<li>Если при уже установленных параметрах P и I вертолёт немного подергивает по элеватору, необходимо немного увеличить Pitch D.</li>\n</ol>\n<p>При возникновении автоколебаний ротора:</p>\n<ol>\n<li>Быстрые колебания – завышено P,</li>\n<li>Медленные колебания – завышено I.</li>\n</ol>\n<p>Настройки рекомендуется производить грубо с шагом 5 единиц, затем более точно 1-2 единицы.</p>\n","user":"4cd7f73c3df955007775a2f7","ts":"2012-10-09T13:00:43.000Z","st":1,"cache":{"comment_count":11,"last_comment":"50f5b31d997073007714e14c","last_comment_hid":11,"last_ts":"2013-01-15T19:50:53.000Z","last_user":"4d4ee0093df9550077756606"},"views":5329,"bookmarks":0,"votes":0},"subscription":null},"locale":"en-US","user_id":"000000000000000000000000","user_hid":0,"user_name":"","user_nick":"","user_avatar":null,"is_member":false,"settings":{"can_access_acp":false,"can_use_dialogs":false,"hide_heavy_content":false},"unread_dialogs":false,"footer":{"rules":{"to":"common.rules"},"contacts":{"to":"rco-nodeca.contacts"}},"navbar":{"tracker":{"to":"users.tracker","autoselect":false,"priority":10},"forum":{"to":"forum.index"},"blogs":{"to":"blogs.index"},"clubs":{"to":"clubs.index"},"market":{"to":"market.index.buy"}},"recaptcha":{"public_key":"6LcyTs0dAAAAADW_1wxPfl0IHuXxBG7vMSSX26Z4"},"layout":"common.layout"}