Ну давайте попробуем Ваш пример из статьи посмотреть. Как я понимаю, система описывается в виде
x{k+1}=Ax{k}+Bu{k}, где A=[1 1; 0 1]; B=[0;1], правильно? Не могу сейчас в коде найти, какие у Вас матрицы Q, R, N, как Вы J считаете?
Вообще, перергулирование имеет достаточно конкретное определение и находится по переходному процессу, т.е. реакции на единичное ступенчатое воздействие при нулевых начальных условиях. Однако, так как для нелинейных систем переходный процесс не масштабируем, то часто на практике перерегулирование находится по конкретной траектории. Которая всё равно имеет вид перехода из одного постоянного положения в другое. В Вашем примере будет отдельно траектория палки и отдельно тележки, по каждой траектории можно что-то считать.
Кстати, когда говорят про перевернутый маятник, то обычно задачи вывода тележки в точку нет, есть задача стабилизации палки.
1) Согласен. Я как раз хотел сказать, что минимум функционала J может достигаться и на траекториях с перерегулированием.
2) Перергулирование определяется для скалярных траекторий, как правило, для выходного сигнала, в Вашем случае — для положения.
3) Если в этом примере нас интересует стабилизация палки, то и перерегулирование логично смотреть в траектории палки, а не в движении тележки.
Как правило, балансир предполагает, что мы стоим в положении равновесия, т.е. u=0. Или же мы можем сделать эту точку точкой равновесия за счет постоянного управления, тогда эта постоянная составляющая в модели отклонений не учитывается.
Теоретически, не вижу причин, почему обратный маятник не может быть стабилизирован без перерегулирования. Хватало бы быстродействия и точности измерений и оценки параметров.
1) Этот функционал может дать перерегулирование, а может и нет, смотря какие матрицы выбраны. Вообще, на сколько я помню, для любого вектора обратных связей существуют такие матрицы Q, R, что этот вектор оптимален для этого функционала.
2) Перерегулирование может быть плохо, а может и хорошо, в малых количествах. Например, классические настройки на оптимум предполагают малое перерегулирование, до 5%, так как это заметно сокращает общее время переходного процесса.
Формально, d2x уже не соответствует классическому скалярному PID. А в общем случае нелинейной системы нет оснований считать, что измеряемые состояния являются линейной комбинацией скоростей/ускорений.
Но это так, общие рассуждения, а на практике по различным оценкам порядка 90% используемых регуляторов — PID.
Не понял, почему же закон управления для произвольной нелинейной системы третьего порядка должен обязательно иметь форму pid? Там есть и другие варианты.
Ёлки, да ведь они предполагают, что финальное состояние, в которое мы хотим попасть, это нулевой вектор!!! КАКОГО [CENSORED] ОБ ЭТОМ НА ВСЕЙ СТРАНИЦЕ ВИКИПЕДИИ НИ СЛОВА?!
Видимо, это одно из тех общепринятых знаний, что зачем о нём писать, и так ведь все знают. :)
Для линейных систем, если явно не оговорено иного, всегда рассматривается задача перевода системы в нулевое положение равновесия. Потому что для линейных систем задача перевода из одного положения в другое эквивалентна задаче перевода из ненулевого начального состояния в нулевое.
Отдельно рассматривается задача слежения, т.е. когда желаемое положение не константа, а некоторая траектория.
LQR можно аналитически обобщить на произвольную размерность и на системы с несколькими входами и несколькими выходами.
Ни LQR ни классический PID не адаптивны, т.е. не подстраиваются под изменения параметров системы. Но могут быть достаточно робастны, т.е. сохранять работоспособность при изменении параметров.
Это, на самом деле, вопрос терминологии, как договоримся обзываться. Формально, Ваша P составляющая по скорости является D составляющей по положению, так что можно сказать, что Ваш регулятор эквивалентен некоторому PD.
К вопросу о "смешивании". Если P-регулятор скалярный, то он действительно берет один сигнал (как правило, ошибку, рассогласование) и формирует управление как некоторый k умножить на сигнал. Если же P-регулятор векторный, то берется вектор сигналов и скалярно умножается на вектор коэффициентов, получается скалярное управление. И то и то может называться P-регулятором.
Я к тому моменту уже представлял и обратные матрицы, и всё такое базовое. Так что этот ответ меня бы совершенно не устроил.
Меня больше интересовало, как так вышло, что хитрым образом вычисляемый скаляр вдруг оказывается таким важным для матриц, в чём тут глубинный смысл. К сожалению, на такие вопросы ответить, вроде как, сложнее, чем на "где используется".
Это претензия не к инструменту, а к тем, кто его использует.
По поводу остального — 1) у МНК есть аналитическое решение, в отличие от многих других, 2) в силу первого, МНК существенно быстрее.
Не совсем ясно, а в чём претензия к МНК-то? МНК Вам всегда даст корректный ответ — оценку параметров, минимизирующую вторую норму ошибки на измерениях. То, что в конкретной задаче такая оценка может не обладать какими-то свойствами, например, быть смещенной или не оптимальной в смысле дисперсии, то это же не проблема МНК.
Соврал, кстати. Точка минимума совпадает у квадрата и куба суммы, т.е. при возведении в степень нормы. Точки минимума у сумм квадратов или кубов будут, конечно, разные, так как это разные нормы.
Достаточно близко, на мой взгляд.
x{k+1}=Ax{k}+Bu{k}, где A=[1 1; 0 1]; B=[0;1], правильно? Не могу сейчас в коде найти, какие у Вас матрицы Q, R, N, как Вы J считаете?
Кстати, когда говорят про перевернутый маятник, то обычно задачи вывода тележки в точку нет, есть задача стабилизации палки.
2) Перергулирование определяется для скалярных траекторий, как правило, для выходного сигнала, в Вашем случае — для положения.
3) Если в этом примере нас интересует стабилизация палки, то и перерегулирование логично смотреть в траектории палки, а не в движении тележки.
2) Перерегулирование может быть плохо, а может и хорошо, в малых количествах. Например, классические настройки на оптимум предполагают малое перерегулирование, до 5%, так как это заметно сокращает общее время переходного процесса.
Но это так, общие рассуждения, а на практике по различным оценкам порядка 90% используемых регуляторов — PID.
Видимо, это одно из тех общепринятых знаний, что зачем о нём писать, и так ведь все знают. :)
Для линейных систем, если явно не оговорено иного, всегда рассматривается задача перевода системы в нулевое положение равновесия. Потому что для линейных систем задача перевода из одного положения в другое эквивалентна задаче перевода из ненулевого начального состояния в нулевое.
Отдельно рассматривается задача слежения, т.е. когда желаемое положение не константа, а некоторая траектория.
Ни LQR ни классический PID не адаптивны, т.е. не подстраиваются под изменения параметров системы. Но могут быть достаточно робастны, т.е. сохранять работоспособность при изменении параметров.
К вопросу о "смешивании". Если P-регулятор скалярный, то он действительно берет один сигнал (как правило, ошибку, рассогласование) и формирует управление как некоторый k умножить на сигнал. Если же P-регулятор векторный, то берется вектор сигналов и скалярно умножается на вектор коэффициентов, получается скалярное управление. И то и то может называться P-регулятором.
Меня больше интересовало, как так вышло, что хитрым образом вычисляемый скаляр вдруг оказывается таким важным для матриц, в чём тут глубинный смысл. К сожалению, на такие вопросы ответить, вроде как, сложнее, чем на "где используется".
По поводу остального — 1) у МНК есть аналитическое решение, в отличие от многих других, 2) в силу первого, МНК существенно быстрее.