Долгожданный Brain2
У меня не замечено рывков
Игорь,
А можешь подробнее рассказать, что происходит?
Если у тебя не хватает производительности автомата перекоса для достижения, скажем, 330* в секунду, то тарелка при обычном полете будет упираться в лимиты и будет давать такую скорость, какую может.
Но при скоростном полете из - за обдува эффективность АП возрастает, и поэтому ты можешь получить то, что задал. И будет рывок.
Т. Е достаточно посмотреть на флипе скороть фактического переворота по логам и сравнить с заданным?
Надо при максимальном отклонении ручки посмотреть, не упираются ли SwashElevator и SwashAileron в лимиты. Новые версии брайна пишут упирания в лог ( и у меня смысл EventLogа полностью пропал - теперь весь лог забит упираниями всего в лимит: руддера, элеватора, элерона ).
посмотрел с утра игайн на протосе. Было 30. Поставил 60. Летал - летал, разницы - никакой, и резкие маневры делал, и плавные. По резкости остановок тоже никакой разницы не увидел. Поставил 80. Появился плавный отскок при остановке элеватора, убрал до 60 - отскок пропал.
Не увлекайтесь большим И. Ничего хорошего он не даёт, делает только хуже. Но и слишком маленький тоже плохо.
Вот хорошее видео поясняющее все эти П И Д ы.
Ну опять не понятна методика настройки
Ну опять не понятна методика настройки
Мне кажется, что поэтому важно понять принципы настройки произвольного ПИД-регулятора. На эту тему дохрена в интернетах. Брейн 2 даёт все показания, которые необходимы. А именно нас интересуют заданная угловая скорость (это положение ручки) и реальная угловая скорость. Все характеристики настройки регулятора выявляются подачей на вход ступеньки. Т.е. вот мы висели неподвижно и вот мы отклонили элеватор в какое-то положение и держим. Потом смотрим графики на предмет, как реальная угловая скорость реагирует на эту ступеньку. Есть ли заброс, колебания.
Начинается все с общей чуйки P. До возбуда, потом чуть убавляется. Потом накручивается I пока не появятся покачивания, I до такого возбуда как P не доводит, потом можно по желанию D подкрутить, но если переборщить тоже будет возбуд, но сильный
Юра всё верно написал, но всё равно никто не запомнит, потому что нет толку запоминать как заклинание, пока не понимаешь, почему так. 😃
Согласен, я сам не оч втыкал, пока сам сим не написал с пидом, там логи были я все смотрел, что происходит. Я очень долго подбирал пока не понял как оно работает.
I - интегральный параметр он работает по сумме ошибки. Пока есть отклонение ошибка растет. Этот параметр доводит до 0 отклонение.
P - пропорциональный, он работает по велечине ошибки/ отклонению, поэтому он может вывести систему из равновесия(так как сам он ноль не поймает, а если его много он будет перерегулировать), он дает более жесткое/быстрое регулирование чем I.
D- реагирует на скорость изменения ошибки, поэтому он сильнее выводит из равновесия систему.
Надо какие-то аналогии запомнить, тогда проще будет
Отлично сформулировал.
Есть ещё такие поэтические определения:
P - компенсирует ошибку в текущий момент,
I - компенсирует ошибку, накопленную за некоторое прошедшее время,
D - пытается угадать ошибку в ближайшем будущем.
Начинается все с общей чуйки P. До возбуда, потом чуть убавляется. Потом накручивается I пока не появятся покачивания, I до такого возбуда как P не доводит, потом можно по желанию D подкрутить, но если переборщить тоже будет возбуд, но сильный
Немного не тот порядок:
Устанваливают Д и И в 0
Увеличиват П до осцилляций (колебаний, возбуждения) при подаче ступенчатого сигнала - дергаем стик в нужную сторону. Назад не крутим П, а пытаемся убрать колебания увеличением Д.
Опять увеличиваем П до колебаний и увеличивая Д убираем колебания.
Еще раз повторяем и в принципе достаточно. За 3 цикла должно в принципе получить максимальный П - это цель настройки ПИД регулятора.
После этого уменьшаем П и Д на 3-5% чтобы система не была на грани устойчивости.
Данный процесс очень напоминает настройку карбюратора: холостой ход и качество смеси.
А вот с И немного сложнее:
Если ошибки конструкции (это основное назначение интегральной части регулятора) такие как: не симметричность, смещение центра тяжести, разные характеристики серв и прочие, довольно большие, то с нулевым И можно вообще не взлететь. Поэтому, когда взлетаем с нулевым И и видел что тянем ЛА в какую то сторону, то это может быть из-за низкого П либо из-за И. Увеличиваем чуток (именно по чуть чуть) И и смотрим чтобы ЛА при висении (нет управляющего сигнала) ЛА не уводило в стороны. Например выровняли, висите и если ЛА уводит, значит нужно увеличивать И по оси. Главное вовремя остановиться, чтобы не сделать большое И и не наступило ухудшение регулирования.
В принципе И нужно крутить когда уже П и Д настроены, но может потребоваться и в начале выставить низкое И чтобы позволить настроит П и Д, а в конце закончить тонкую настройку И.
В видео которое я привел, это как раз и показывают: крутят П потом Д, в конце И чтобы в итоге время реакции системы на входной сигнал было минимальным!
Главное правило любого тюнинга: крутим ручку (любой параметр), если есть положительная динамика на изменение параметра, крутим дальше до тех пор пока эффект от изменения пропадает либо ухудшается. Возвращаем немного назад и начинаем крутить другую ручку (параметр).
Про ПИДы у меня в дневнике есть статья про квадрик, но это касается и вертолетов тоже, да в принципе любого ПИД-регулятора.
Я вот смотрю в Крайне есть все параметры ПИД-регулятора (с ваших слов). А вот в Vbar Neo нет, есть просто Гейн. В микробе был еще Д регулятор. А вот в Нео так тонко не настроить ПИД-регулятор, либо я просто не нашел эти параметры.
И вот опять же термин Гейн - чувствительность, согласно ПИД-регулятора то это параметр П. Но я думаю что в Нео это может быть чуть шире понятие, например изменение Гейна это может сразу изменять П и Д параметры ПИД-регулятора. А вот оптимизатор, мне кажется что он подбирает И автоматически в Нео. Поправьте меня если я не правильно думаю. Нео можно обсудить в другой ветке (ссори).
D- реагирует на скорость изменения ошибки, поэтому он сильнее выводит из равновесия систему.
Немного не так. Д - тормоз, который пытается уменьшить влияние П при приближении объекта управления к нужному значению, в нашем случае углу. Просто большое П позволяет нашему объекту управления как можно быстрее уменьшить ошибку управления (разница между выходным и входными сигналами). Но так как наш объект обладает инерцией, то при приближении к нужному углу с большой скоростью не успевает остановиться и перелетает нужный угол (перелет). П начинает его возврат назад и опять перелет и так далее. В итоге получаем перерегулирование (перелеты нужного значения угла). Хорошо если этот процесс сходящийся (с каждым колебанием амплитуда уменьшается), а то если П сильно большой то процесс колебаний будет расходящимся и система выходит из устойчивости (с каждым колебанием амплитуда увеличивается) и в итоге потеря контроля управления.
А вот Д как раз смотрит как быстро уменьшается ошибка управления и если она очень быстро уменьшается, то Д составляющая уменьшает влияние П составляющей и притормаживает наш объект при приближении к заданному углу. Таким образом объект движется к заданному углу с большой скоростью (большое П), чтобы как можно быстрее занять нужный угол, но как только приближается к заданному углу, скорость уменьшается (за счет Д составляющей) и не будет перелета, а если и будет, то небольшое. В итоге правильно подобранных П и Д - время достижения объекта управления нужного значения будет минимально.
Но вот одно но:
- при большом П у нас будут колебания - осцилляции (перерегулирование) низкочастотные. которые можно увидеть на глаз
- при большом Д у нас будут высокочастотные колебания, которые на глаз не видны, только на графиках можете увидеть. Так как здесь будет борьба П и Д составляющих. Определить можно либо на графике либо нагревом серв (если можно). На квадриках это перегрев моторов.
Как видите из всего вышесказанного: большое Д и большое И - плохо. А вот большое П - хорошо до определенного момента 😃 Но правильно подобранные П, Д и И дают быстрое и качественное управление!
Немного не тот порядок:
Устанваливают Д и И в 0
В какой фбл вы видели чтобы изначально I было 0
В какой фбл вы видели чтобы изначально I было 0
Я же написал что в идеальном случае, теоретически, нужно настраивать с И=0.
Если ваша конструкция идеальная (что практически не бывает) то можно. На практике нужно начинать с минимального значения И.
Дело в том что увод объекта от нужного значения может быть как из-за маленького П так и из-за маленького значения И.
P.S. все проверено на квадрике 😃 когда ставишь И=0 то не можешь настроить П так как квадрик невозможно удержать в точке 😃
Итого, мой порядок настройки:
- П=начальное значение, Д=0, И=0
- Подбираем И чтобы можно было висеть в одной точке
- Подбираем П и Д чтобы было максимальное значение П (это цель), но без осцилляций. (Д - следствие для достижения основной цели - большое П)
- Конечная, тонкая подборка И (может даже потребуется снижать И, а не увеличивать)
А я все гоняюсь за высоким И:)
А тут вон оно шо. Попробую на г500 поиграться еще раз с нуля настроить
еще раз с нуля настроить
Юра правильно сделал замечание, не ставь И=0 только. Играться надо начинать с дефолтных параметров. Ведь разработчики ФБЛ их не зря выбирали такими, делали испытания на разных аппаратах и выбрали наиболее подходящие для многих моделей.
А вот играться с параметрами нужно понимая кто за что отвечает. Какие есть плюсы и минусы.
Проьлема что не знаю как узнать дефолтные значения pid регулятора в брейне
Поставил 80. Появился плавный отскок при остановке элеватора, убрал до 60 - отскок пропал.
Вот подтверждение от Игоря, что большое И - это плохо! Он описал как раз то что в видео (которое я приводил) показано при большом И. Обычными словами выражается в виде “отскока”.
Проьлема что не знаю как узнать дефолтные значения pid регулятора в брейне
У тебя же есть еще один Брейн для 570-ке. Обнови прошивку, настрой по визарду или как там в Брайне делается и будут у тебя дефолтные настройки.
А еще можно написать разработчикам и спросить у них: какие дефолтные настройки поставить для Г500. 😃 Я думаю что они ответят. Ведь Брайн ты у них купил, значит свой человек. А если не ответить, то осадочек останется нехороший 😃
Проьлема что не знаю как узнать дефолтные значения pid регулятора в брейне
Если ткнуть на картинку с размерами лопат, то он скинет на дефолтные настройки, только свои предварительно лучше заскринить