Меню

Тип звена регулятора при нулевой ошибке управления

© К.Ю. Поляков, 2008

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

C(s) =

a

s2 +a s + a

0

C(s) = K +

K

I +

K

D

s

.

2

1

s

T s +

1

s(b s +b )

1 0

D

7.3. Метод размещения полюсов

Один из простых методов синтеза регулятора – размещение полюсов передаточной функции замкнутой системы, которые во многом определяют ее динамику, например, быстродействие и степень затухания колебаний (см. разд. 6.8). Смысл в том, чтобы разместить эти полюса в заданных точках комплексной плоскости с помощью специально выбранного регулятора. Эта задача сводится к решению системы линейных уравнений.

Пусть передаточная функция объекта задана в виде отношения полиномов

P(s) =

n(s)

=

n1s +n0

.

d(s)

s2 +d s +n

Выберем регулятор вида

1

0

nC (s)

= a1s +a0

C(s)

=

,

d

C

(s)

b s +b

1

0

где a0 , a1,b0 и b1 – неизвестные коэффициенты, которые нужно определить. Характеристиче-

ский полином замкнутой системы равен

(s) = n(s) nC (s) +d(s) dC (s) = (n1s + n0 )(a1s +a0 ) +(s2 +d1s + d0 )(b1s +b0 ) . = b1s3 +(n1a1 +d1b1 +b0 )s2 +(n0a1 + n1a0 + d0b1 + d1b0 )s +n0a0 +d0b0

Предположим, что мы хотим выбрать регулятор так, чтобы разместить корни полинома (s) в заданных точках, то есть добиться выполнения равенства

(s) = s3 +δ2 s2 +δ1s +δ0 ,

где δi (i = 0,…,2) – заданные числа. Приравнивая коэффициенты при одинаковых степенях s в последних двух равенствах, получаем

s3 : b =1

1

s2 : n a + d b +b = δ

2

1

1

1

1

0

s1 : n a +n a

0

+ d

0

b + d b = δ

1

0

1

1

1

1

0

s0 :

n a

+d

b

= δ

0

или в матричном виде

0

0

0

0

0 0 1 0 a

1

1

n1

0 d1

1

a0

=

δ2

.

n1

d0

d1

n0

b1

δ1

0 n0

0 d0 b0 δ0

Решение уравнения имеет вид

0 0 1 0 1

a

1

1

a0

= n1

0

d1

1

δ

2 .

n1

d0

b1

n0

d1

δ1

b0

0 n0

0 d0

δ0

Конечно, квадратная матрица в этом выражении (она называется матрицей Сильвестра) должна быть обратима. Можно доказать, что она действительно обратима тогда и только тогда, когда полиномы n(s) и d(s) не имеют общих корней, то есть передаточная функция объекта

71

© К.Ю. Поляков, 2008

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

Кроме того, для того, чтобы количество неизвестных коэффициентов было равно числу уравнений, порядок регулятора нужно выбирать не меньше, чем N 1, где N – порядок модели объекта управления:

N = max{deg n(s), deg d(s)},

где deg обозначает степень полинома. Иначе полученное уравнение будет разрешимо только при специально выбранном полиноме (s) .

Заметим, что при размещении полюсов мы никак не учитываем нули передаточной функции, которые также влияют на динамику системы.

7.4. Коррекция ЛАФЧХ

На протяжении многих лет самым популярным инженерным методом синтеза регуляторов был метод, основанный на использовании логарифмических частотных характеристик (ЛАФЧХ). Он основан на двух свойствах ЛАФЧХ:

1)логарифмические амплитудные и фазовые частотные характеристики для последовательного соединения двух блоков (например, регулятора и объекта управления) равны сумме ЛАЧХ и ЛФЧХ этих блоков;

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

Пусть G(s) = P(s) R(s) – передаточная функция объекта вместе с приводом, причем будет предполагать, что она не имеет неустойчивых нулей и полюсов (то есть, является минимально-

фазовой). ЛАЧХ такого расширенного объекта обозначим как L0 (ω) = 20lg

G( jω)

. Если мы

сможем каким-то образом найти желаемую ЛАЧХ LЖ (ω) , то разница между этими двумя ха-

рактеристиками – это и есть ЛАЧХ необходимого последовательного регулятора:

LC (ω) = LЖ (ω) L0 (ω) .

(51)

Таким образом, для решения задачи требуется ответить на два вопроса:

1)как выбрать желаемую ЛАЧХ LЖ ( jω) так, чтобы обеспечить устойчивость и требуемое качество замкнутой системы?

2)как получить передаточную функцию регулятора C(s) по его ЛАЧХ (51)?

Чтобы ответить на первый вопрос, вспомним типичные требования к системе управления:

устойчивость;

нулевая ошибка в установившемся режиме;

быстрый и плавный (в идеале – монотонный) переходный процесс;

подавление шумов;

робастность (нечувствительность к ошибкам модели). Эти требования нужно связать с формой ЛАЧХ.

Постоянный сигнал можно рассматривать как предельный случай гармонического (синуса), только с нулевой частотой. Поэтому для обеспечения нулевой установившейся ошибки цепочка «регулятор-объект» должна иметь бесконечное усиление на нулевой частоте, то есть передаточная функция G(s) C(s) должна содержать интегратор (вспомните принцип внутренней

модели).

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

72

© К.Ю. Поляков, 2008

1

1

Ts

Ts +1

Таким образом, для получения монотонного переходного процесса ЛАЧХ разомкнутой системы

должна быть похожа на ЛАЧХ интегратора – это прямая линия с наклоном –20 дБ/дек, которая

пересекает ось абсцисс на частоте ωc =1/T . Эта частота называется частотой среза. Заметим,

что для апериодического звена легко определить время переходного процесса: оно примерно

равно 3T. Таким образом, частота среза определяет время переходного процесса. Вспомним,

что устойчивость системы также определяется поведением ЛАЧХ в районе частоты среза. В ре-

зультате имеем:

устойчивость и качество переходного процесса (время, перерегулирование) определяют-

ся формой ЛАЧХ в районе частоты среза, где она пересекает ось Lm = 0 ; эта область на-

зывается областью средних частот;

для получения качественного переходного процесса желательно, чтобы наклон ЛАЧХ

около частоты среза был равен –20 дБ/дек;

если задано время переходного процесса tп , нужно выбиратьωc = 3 .

tп

Теперь разберемся с шумами и робастностью. Как мы знаем,

шумы – это высокочастот-

ные сигналы. Кроме того, обычно именно в области высоких частот характеристики объекта и

модели могут сильно расходиться. Поэтому для подавления помех и уменьшения влияния оши-

бок модели нужно по возможности уменьшать усиление системы в области высоких частот, то

есть ЛАЧХ должна резко идти вниз.

На рисунке показана типовая желаемая ЛАЧХ.

L

Это асимптотическая ЛАЧХ, состоящая из отрез-

m

–20 дБ/дек

высокие

ков. В выделенных точках стыкуются два отрезка

частоты

(подавление

разного наклона. На низких частотах она имеет на-

–20 дБ/дек

помех)

клон –20 дБ/дек, то есть система содержит интегра-

12-16 дБ

ωc

ω

тор, который обеспечивает нулевую ошибку в уста-

0

12-16 дБ

новившемся режиме.

низкие

средние частоты

ЛАЧХ пересекает ось абсцисс под наклоном

частоты

(устойчивость,

–20 дБ/дек. Для обеспечения устойчивости и при-

(точность)

переходный процесс)

емлемого показателя колебательности ( M <1,2 ) точки излома ЛАЧХ должны находиться на

расстоянии 12-16 дБ от оси абсцисс (см. рисунок).

Продемонстрируем метод коррекции ЛАЧХ на простом примере. Пусть объект управле-

ния – апериодическое звено с передаточной функцией

G(s) =

1

, где T = 5 с. Передаточная

T0 s +1

0

функция замкнутой системы без коррекции (то есть, с регулятором C0 (s) =1) равна:

W (s) =

1

=

0,5

.

T s +2

0,5T s +

1

0

0

Видим, что статический коэффициент усиления W (0) = 0,5

(а не 1), так что точного отслежива-

ния входного сигнала не получается. Время переходного процесса можно приближенно подсчи-

тать как tп = 3 0,5 T0 = 7,5 c .

Поставим задачу следующим образом: выбрать регулятор C(s) , который обеспечивает

нулевую ошибку в установившемся режиме;

время переходного процесса около 1,5 с;

73

© К.Ю. Поляков, 2008

наклон ЛАЧХ –40 дБ/дек на высоких частотах для подавления помех.

Для решения используем метод коррекции

ЛАЧХ. Синяя линия на рисунке обозначает нескор-

L

ректированную ЛАЧХ, совпадающую с ЛАЧХ апе-

m

–20 дБ/дек

риодического звена G(s) .

L0

Lж ωc

ω1

ω

Желаемая ЛАЧХ (зеленая линия) должна иметь

0

1

наклон –20 дБ/дек на низких частотах, чтобы обеспе-

15 дБ

T0 –20 дБ/дек

чить нулевую статическую ошибку. Частота среза ωc

Lm

определяется

требуемым

быстродействием:

LC

ωc

= 3/ tп = 2 рад/с. Таким образом, начальный

уча-

ω

сток желаемой ЛАЧХ совпадает с ЛАЧХ интегри-

ωc

рующего звена с передаточной функцией

ω

c

, то есть

0

(ω) = 20lg ωc

s

L

(на низких частотах).

ж

ω

На высоких частотах нужно изменить наклон ЛАЧХ с –20 до -40 дБ/дек на частоте ω1 , где

Lm (ω) = −15 дБ. Из этого условия находим

20lg ωc

= −15

ωc =1015 / 20

ω =103 / 4 ω

c

= 5,62 2 =11,24 рад/с.

ω1

ω1

1

Таким образом, мы полностью построили желаемую ЛАЧХ, удовлетворяющую требованиям к системе. Вычитая из нее исходную ЛАЧХ (без коррекции, синяя линия), получим ЛАЧХ регулятора, которая показана красной линией на нижнем графике.

Остается перейти от ЛАЧХ регулятора к его передаточной функции. На низких частотах (ω <1/T0 ) ЛАЧХ регулятора имеет наклон –20 дБ/дек и проходит через точку (ωc ;0) , то есть

C(s) = ωsc C1 (s) ,

где C1 (s) не изменяет асимптотическую ЛАЧХ на частотах, меньших 1/T0 . На частоте ω0 =1/ T0 ЛАЧХ регулятора меняет наклон с –20 дБ/дек до нуля, то есть в числитель добавляется множитель T0s +1:

C(s) = ωc (T0ss +1) C2 (s) .

Здесь C2 (s) – регулятор, не влияющий на ЛАЧХ для частот, меньших ω1 . Наконец, на частоте ω1 наклон увеличивается с нуля до –20 дБ/дек. Для того, чтобы на этой частоте «загнуть» вниз

ЛАЧХ,

нужно добавить в регулятор

апериодическое звено с постоянной времени

T =

1

= 0,09 c . Таким образом, окончательно

ω

y

1

1

ωc (T0s +1)

C(s) =

.

1

s(T1s +1)

На рисунке показаны переходные процессы при единичном ступенчатом входном сигнале в нескорректированной системе (синяя линия) 0,5 и в системе с полученным регулятором C(s)

(зеленая линия). Графики показывают, что

найденный

регулятор

значительно

ускорил

переходный

процесс

и обеспечил

нулевую 0

5

10

статическую ошибку (установившееся значе-

74

© К.Ю. Поляков, 2008

ние выхода равно 1).

Нужно отметить, что алгоритм коррекции ЛАЧХ существенно усложняется, если объект содержит неустойчивые или неминимально-фазовые звенья.

7.5. Комбинированное управление

Один из способов улучшить качество управление – изменить структуру системы, добавив в нее второй регулятор C2 (s) на входе:

x

привод

g объект

+

e

u

δ

y

C2(s)

C(s)

R (s)

P(s)

Теперь

W (s) = C2 (s)C(s)R(s)P(s) . 1+C(s)R(s)P(s)

Регулятор C2 (s) не влияет на свойства контура управления (запасы устойчивости, подавление

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

и робастность, а затем сформировать нужные качества передаточной функции W (s) с помощью регулятора C2 (s) . Поскольку две передаточные функции можно изменять независимо друг от

друга, такая схема называется комбинированным управлением (или управлением с двумя степенями свободы).

В идеале мы хотим,

чтобы система точно воспроизводила сигнал x(t) на выходе

y(t) , то

есть, нужно обеспечить W (s) 1 . Для этого требуется, чтобы

C2 (s) = 1+C(s)R(s)P(s) =

1

,

(52)

W1 (s)

C(s)R(s)P(s)

C(s)R(s)P(s)

где W (s) =

– передаточная функция замкнутой системы с одной степенью сво-

1

1+C(s)R(s)P(s)

боды.

следует, что регулятор C2 (s) должен быть обратной системой (инверсией) для

Из (52)

W1 (s) . Частотная характеристика W1 ( jω) в реальных системах близка к нулю на высоких частотах, следовательно, регулятор C2 (s) должен иметь в этом частотном диапазоне огромное уси-

ление. Например, для W1 (s) = Ts1+1 получим C2 (s) = Ts +1, то есть регулятор содержит физиче-

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

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

7.6. Инвариантность

Если возмущение g можно как-то измерить, для улучшения качества системы иногда вводится третий регулятор (третья степень свободы):

75

© К.Ю. Поляков, 2008

g

C3(s)

x

u3

привод

объект

+

e

u1

u

δ

y

C2(s)

C(s)

R (s)

P(s)

Теперь передаточная функция по возмущению равна

Wg (s) =

[1 C3

(s)R(s)]P(s)

.

1

+C(s)R(s)P(s)

В этом случае теоретически есть возможность обеспечить полную компенсацию возмущения g , выбрав

C (s) =

1

,

(53)

3

R(s)

так что Wg (s) = 0 . Это условие называется условием инвариантности (неизменности), поскольку в этом случае система абсолютно подавляет любые возмущения по входу g . Заметим, что

мы снова пришли к идее инверсии (построения обратной системы), как и в (52).

К сожалению, на практике условие инвариантности чаще всего невыполнимо, потому что регулятор C3 (s) должен быть предсказывающим, так как нужно подать компенсирующий сиг-

нал на привод раньше, чем внешнее возмущение успеет повлиять на объект.

Чаще всего получается, что числитель передаточной функции C3 (s) (53) должен иметь

более высокую степень, чем знаменатель. Это значит, что такой регулятор включает звенья чистого дифференцирования, которые не являются физически реализуемыми. Обычно подбирают регулятор C3 (s) так, чтобы он был физически реализуемым, но условие (53) приближенно

выполнялось в наиболее важном диапазоне частот.

7.7. Множество стабилизирующих регуляторов

Как известно, не каждый регулятор стабилизирует систему. Поэтому важно выделить множество регуляторов, которые обеспечивают устойчивость замкнутого контура. Такие регуляторы называются стабилизирующими. Желательно также получить параметризацию, то есть, представить все множество стабилизирующих регуляторов в виде формулы, зависящей от параметра, который может выбираться произвольно в некоторой допустимой области.

Рассмотрим простейшую замкнутую систему:

x +

e

регулятор

u

объект

y

C(s)

P(s)

Ее передаточная функция равна

C(s)P(s)

W (s) =

.

(54)

1

+C(s)P(s)

Регулятор входит в нее нелинейно, что значительно осложняет анализ и синтез системы. Заметим, что эту функцию можно представить в виде

W (s) = Q(s)P(s) , где

Q(s) =

C(s)

(55)

1+C(s)P(s)

76

© К.Ю. Поляков, 2008

Выражение (55) внешне выглядит как передаточная функция последовательного соединения объекта P(s) и «регулятора» Q(s) , причем оно линейно зависит от Q(s) . Поэтому естественно

возникает вопрос: нельзя ли сначала выбрать нужным образом Q(s) , а затем найти соответст-

вующий ей регулятор, выразив его передаточную функцию из (55):

C(s) =

Q(s)

.

(56)

1Q(s)P(s)

Очевидно, что функция Q(s) должна быть устойчивой, иначе передаточная функция замкнутой системы W (s) (55) также окажется неустойчивой. Оказывается, если объект P(s) устойчив, то

регулятор, полученный из (56), всегда будет стабилизирующим. Более того, форма (56) охватывает все возможные стабилизирующие регуляторы. Поэтому (56) – это параметризация множества стабилизирующих регуляторов для устойчивого объекта, она называется параметризаци-

ей Юла (D.C. Youla).

Параметром в (56) является устойчивая функция Q(s) , которая может выбираться произ-

вольно. На практике регулятор (56) должен быть физически реализуемым. Это значит, что передаточная функция C(s) должна быть правильной (степень ее числителя не больше степени зна-

менателя). Для этого функция Q(s) также должна быть правильной.

Теоретически для оптимального слежения нужно выбрать Q(s) =1/ P(s) , что дает W (s) =1 , однако чаще всего это невозможно. Дело в том, что передаточная функция объекта в

практических задачах – строго правильная (степень числителя меньше степени знаменателя), и Q(s) получается неправильной. Поэтому используют компромиссные решения, обеспечивая

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

Существует множество методов синтеза, в которых устойчивая и правильная функция Q(s) выбирается в результате численной оптимизации по какому-либо критерию. Затем переда-

точная функция регулятора рассчитывается по формуле (56).

Посмотрим, что получится, если попробовать применить такой подход для неустойчивого

объекта с передаточной функцией P(s) = s 11 . Выбрав Q(s) =1, из (56) получаем

C(s) = ss12 .

При этом в произведении C(s)P(s) = ss12 s 11 неустойчивый полюс модели объекта сокраща-

ется (компенсируется) неустойчивым нулем регулятора. Характеристический полином

(s) = s 1+(s 2)(s 1) = (s 1)2

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

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

P(s) = dn((ss)) , где n(s) и d(s) – полиномы. Выберем произвольный устойчивый полином f (s) ,

степень которого равна наибольшей из степеней n(s) и d(s) . Представим функцию P(s) в виде отношения рациональных функций

P(s) = UV ((ss)) , где U (s) = nf ((ss)) и V (s) = df ((ss)) .

Можно показать, что существуют такие правильные устойчивые функции X (s) и Y (s) , для которых выполняется равенство

U (s)X (s) +V (s)Y (s) =1.

(57)

Тогда множество всех стабилизирующих регуляторов описывается формулой

77

© К.Ю. Поляков, 2008

C(s) =

X (s) +V (s)Q(s)

,

(58)

Y (s) U (s)Q(s)

где Q(s) – произвольная правильная устойчивая функция. Выражение (58) определяет пара-

метризацию множества стабилизирующих регуляторов (параметризацию Юла) в общем слу-

чае, даже для неустойчивых объектов. Подставив (58) в формулу (54), получаем, учитывая (57),

W (s) = [X (s) +V (s)Q(s)]U (s) .

При синтезе можно выбирать устойчивую правильную функцию Q(s) , при которой пере-

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

Для

примера рассмотрим

снова неустойчивый

объект с передаточной функцией

P(s) =

1

, которую можно записать в виде

s 1

U (s)

1

s 1

P(s) =

, где

U (s) =

,

V (s) =

.

s

+1

V (s)

s +1

Решением уравнения (57) может быть, например, такая пара устойчивых функций

X (s) =

4

, Y (s) =

s +3

.

s

+1

s +1

При выборе Q(s) =1 по формуле (58) получаем

C(s) =

s +3

.

Теперь в произведении C(s)P(s)

s + 2

нет никаких сокращений, система устойчива.

78

© К.Ю. Поляков, 2008

Заключение

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

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

При проектировании обязательно должны учитываться случайные воздействия, которые не обсуждались в пособии. Внедрение цифровых компьютеров позволило использовать адаптивные системы со сложными алгоритмами управления, требующими объемных вычислений. Развиваются и новые классы систем, в которых для управления используется методы искусственного интеллекта и теории нечетких множеств.

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

79

© К.Ю. Поляков, 2008

Литература для последующего чтения

(в порядке увеличения количества страниц)

1.Попов Е.П. Теория линейных систем автоматического регулирования и управления. М.:

Наука, 1989.

2.Мирошник И.В. Теория автоматического управления. Линейные системы. СПб.: Питер, 2005.

3.Первозванский А.А. Курс теории автоматического управления – М.: Наука, 1986.

4.Бесекерский В.А., Попов Е.П. Теория систем автоматического управления – 4-е изд. СПб.: Профессия, 2003.

5.Дорф Р., Бишоп Р. Современные системы управления – М.: Бином, Лаборатория базовых знаний, 2004.

6.Гудвин Г.К., Гребе С.Ф., Сальгадо М.Э. Проектирование систем управления. М.: Бином, Лаборатория базовых знаний, 2004.

80

В данном разделе приведены описания алгоритмов работы и законы регулирования непрерывных П-, ПИ-, ПД-, ПИД-регуляторов с различными структурами выходного сигнала — аналоговым выходом, дискретным (импульсным) выходом или ШИМ-выходом (широтно импульсным модулированным сигналом).

Классификация систем автоматического регулирования (САР) приведена в таблице 1 в «Классификация систем автоматического регулирования».

Типовые регуляторы и регулировочные характеристики

Для регулирования объектами управления, как правило, используют типовые регуляторы, названия которых соответствуют названиям типовых звеньев (описание типовых звеньев представлено в разделе 2.4):

    1. П-регулятор, пропорциональный регулятор
      Передаточная функция П-регулятора: Wп(s) = K1. Принцип действия заключается в том, что регулятор вырабатывает управляющее воздействие на объект пропорционально величине ошибки (чем больше ошибка Е, тем больше управляющее воздействие Y).
    2. И-регулятор, интегрирующий регулятор
      Передаточная функция И-регулятора: Wи(s) = К0/s. Управляющее воздействие пропорционально интегралу от ошибки.
    3. Д-регулятор, дифференцирующий регулятор
      ПередаточнаяфункцияД-регулятора: Wд(s) = К2*s. Д-регуляторгенерирует управляющее воздействие только при изменении регулируемой веричины: Y= K2 * dE/dt.

      На практике данные простейшие П, И, Д регуляторы комбинируются в регуляторы вида ПИ, ПД, ПИД (см. рис.1):

Рисунок 1 — Виды непрерывных регуляторов

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

  1. ПИ-регулятор, пропорционально-интегральный регулятор (см. рис.3.18.а)
    ПИ-регулятор представляет собой сочетание П- и И-регуляторов. Передаточная функция ПИ-регулятора: Wпи(s) = K1 + K0/s.
  2. ПД-регулятор, пропорционально-дифференциальный регулятор (см. рис.3.18.б)
    ПД-регулятор представляет собой сочетание П- и Д-регуляторов. Передаточная функция ПД-регулятора: Wпд(s) = K1 + K2 s.
  3. ПИД-регулятор, пропорционально-интегрально-дифференциальный регулятор (см. рис.3.18.в)

ПИД-регулятор представляет собой сочетание П-, И- и Д-регуляторов. Передаточная функция ПИД-регулятора: Wпид(s) = K1 + K0 / s + K2 s.

Наиболее часто используется ПИД-регулятор, поскольку он сочетает в себе достоинства всех трех типовых регуляторов.

Структурные схемы непрерывных регуляторов

В данном разделе приведены структурные схемы непрерывных регуляторов с аналоговым выходом -рис.2, с импульсным выходом — рис.3 и с ШИМ (широтно импульсным модулированным) выходом -рис.4.

В процессе работы система автоматического регулирования АР (регулятор) сравнивает текущее значение измеряемого параметра Х, полученного от датчика Д, с заданным значением (заданием SP) и устраняет рассогласование регулирования E (B=SP-PV). Внешние возмущающие воздействия Z также устраняются регулятором. Работа приведенных структурных схем отличается методом формирования выходного управляющего сигнала регулятора.

Непрерывный регулятор с аналоговым выходом

Структурная схема непрерывного регулятора с аналоговым выходом приведена на рис.2.

Выход Y регулятора АР (например, сигнал 0-20мА, 4-20мА, 0-5мА или 0-10В) воздействует через электропневматический преобразователь Е/Р сигналов (например, с выходным сигналом 20-100кПа) или электропневматический позиционный регулятор на исполнительный элемент К (регулирующий орган).

Рисунок 2 — Структурная схема регулятора с аналоговым выходом

где:
АР — непрерывный ПИД-регулятор с аналоговым выходом,
SP — узел формирования заданной точки,
PV=X- регулируемый технологический параметр,
Е — рассогласование регулятора,
Д — датчик,
НП — нормирующий преобразователь (в современных регуляторах является входным устройством)
Y — выходной аналоговый управляющий сигнал Е/Р — электропневматический преобразователь,
К — клапан регулирующий (регулирующий орган).

Непрерывный регулятор с импульсным выходом

Структурная схема непрерывного регулятора с импульсным выходом приведена на рис.3.

Выходные управляющие сигналы регулятора — сигналы Больше и Меньше (транзистор, реле, симистор) через контактные или бесконтактные управляющие устройства (П) воздействуют на исполнительный элемент К (регулирующий орган).

Рисунок 3 — Структурная схема регулятора с импульсным выходом

где:
АР — непрерывный ПИД-регулятор с импульсным выходом,
SP — узел формирования заданной точки,
PV=X- регулируемый технологический параметр,
Е — рассогласование регулятора,
Д — датчик,
НП — нормирующий преобразователь (в современных регуляторах является входным устройством) ИМП — импульсный ШИМ модулятор, преобразующий выходной сигнал Y в последовательность импульсов со скважностью, пропорциональной выходному сигналу: Q=Y/100. Сигналы Больше и Меньше — управляющие воздействия,
П — пускатель контактный или бесконтактный,
К — клапан регулирующий (регулирующий орган).

Непрерывный регулятор с ШИМ (широтно импульсным модулированным) выходом

Структурная схема непрерывного регулятора с ШИМ (широтно импульсным модулированным) выходом приведена на рис.4.

Выходной управляющий сигнал регулятора (транзистор, реле, симистор) через контактные или бесконтактные управляющие устройства (П) воздействуют на исполнительный элемент К (регулирующий орган).

Непрерывные регуляторы с ШИМ выходом широко применяются в системах регулирования температуры, где выходной управляющий симисторный элемент (или твердотельное реле, пускатель) воздействуют на термоэлектрический нагреватель ТЭН, или вентилятор.

Рисунок 4 — Структурная схема регулятора с ШИМ выходом

АР — непрерывный ПИД-регулятор с импульсным ШИМ выходом,
SP — узел формирования заданной точки,
PV=X- регулируемый технологический параметр,
Е — рассогласование регулятора,
Д — датчик,
НП — нормирующий преобразователь (в современных регуляторах является входным устройством) ШИМ — импульсный ШИМ модулятор, преобразующий выходной сигнал Y в последовательность импульсов со скважностью, пропорциональной выходному сигналу: Q=Y/100.
П — пускатель контактный или бесконтактный,
К — клапан регулирующий (регулирующий орган).

Согласование выходных устройств непрерывных регуляторов

Выходной сигнал регулятора должен быть согласован с исполнительным механизмом и исполнительным устройством.

В соответствии с видом привода и исполнительным механизмом необходимо использовать выходное устройство непрерывного регулятора соответствующего типа, см. таблицу 1.

Таблица 1 — Согласование выходных устройств непрерывных регуляторов

Выходное устройство непрерывного регулятора Тип выходного устройства Закон регулирования Исполнительный механизм или устройство Вид привода Регулирующий орган
Аналоговый выход ЦАП с выходом 0-5мА, 0-20мА, 4-20мА, 0-10В П-, ПИ-,ПД-, ПИД-закон Преобразователи и позиционные регуляторы электро-пневматические и гидравлические Пневматические исполнительные приводы (с сжатым воздухом в качестве вспомогательной энергии) и электропневматические преобразователи сигналов или электропневматические позиционные регуляторы, электрические (частотные привода)  
Импульсный выход Транзистор, реле, симистор П-, ПИ-, ПД-, ПИД-закон Контактные (реле) и бесконтактные (симисторные) пускатели Электрические приводы (с редуктором), в т. ч. реверсивные  
ШИМ выход Транзистор, реле, симистор П-, ПИ-, ПД-, ПИД-закон Контактные (реле) и бесконтактные (симисторные) пускатели   Термоэлектрический нагреватель(ТЭН) и др.

Реакция регулятора на единичное ступенчатое воздействие

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

В данном разделе приведены переходные процессы системы управления при единичном ступенчатом изменении заданной точки при использовании регуляторов с различным законом регулирования.

Если на вход регулятора подается скачкообразная функция изменения заданной точки — см. рис. 5, то на выходе регулятора возникает реакция на единичное ступенчатое воздействие в соответствии с характеристикой регулятора в функции времени.

Рисунок 5 — Единичное ступенчатое воздействие скачкообразная функция изменения заданной точки регулятора

П-регулятор, реакция на единичное ступенчатое воздействие

Параметрами П-регулятора являются коэффициент усиления Кр и рабочая точка Y0. Рабочая точка Y0 определяется как значение выходного сигнала, при котором рассогласование регулируемой величины равно нулю. При влиянии возмущающих воздействий возникает, в зависимости от Y0, отклонение регулирования.

Рисунок 6 — П-регулятор. Реакция на единичное ступенчатое воздействие

ПИ-регулятор, реакция на единичное ступенчатое воздействие

В отличие от П-регулятора у ПИ-регулятора, благодаря интегральной составляющей, исключается отклонение регулирования.

Параметром интегральной составляющей является время интегрирования Ти.

Рисунок 7 — ПИ-регулятор. Реакция на единичное ступенчатое воздействие

ПД-регулятор, реакция на единичное ступенчатое воздействие

У ПД-регуляторов пропорциональная составляющая накладывается на затухающую дифференциальную составляющую.

Д-составляющая определяется через усиление упреждения Уд и время дифференцирования Тд.

Рисунок 8 — ПД-регулятор. Реакция на единичное ступенчатое воздействие

ПИД-регулятор, реакция на единичное ступенчатое воздействие

Б лагодаря дополнительному подключению Д-составляющей ПИД-регулятор достигает улучшения динамического качества регулирования.

См. ПИ-регулятор, ПД-регулятор.

Рисунок 9 — ПИД-регулятор. Реакция на единичное ступенчатое воздействие

Регуляторы простым языком

Введение

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

Рекомендуемый возраст: от 11 до 99 лет.

Бывают случаи, когда учащиеся даже избегают их применения, применяя костыли в своих решения. Но робототехника без регуляторов приводит в тупик – это факт. Регуляторы — это слишком сложно – это заблуждение. Конечно, существуют регуляторы со сложным устройством, однако есть и простые. 

Нашим подопытным будет робот, собранный из набора Lego Mindstorms EV3. Будем учить его ездить по линии, вдоль стен, а как же выполнять другие задачи, где применяются регуляторы. Нам помогут среды программирования TrikStudio и RobotC. 

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

Определение

Регулятор – это устройство, выполняющее задачу поддержания объекта управления в определённом состоянии. Регулятор получает информацию о состоянии объекта управления с помощью датчиков и вырабатывает управляющее воздействие для того, чтобы его корректировать.

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

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

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

Но есть и совсем простой бытовой пример – регулятор уровня воды в бачке унитаза. Принцип прост: если в бачке уровень воды ниже определённой планки — клапан открывается, если наоборот, выше – клапан закрывается. Это пример релейного двухпозиционного регулятора. С него и начнём…
 

Релейный регулятор

Релейный регулятор – это тип регуляторов, который может вырабатывать ограниченное количество вариантов (положений регулятора) движения, обычно от 2 до 4. Говоря проще – он не умеет работать плавно. Если, например, количество положений в регуляторе 2, то такой регулятор называют двухпозиционный, если 3, то трёхпозиционный и т.д.

Попробуем построить релейный регулятор для робота, который движется по линии. Начнём с самого простого – двигаться по границе черной линии на одном датчике освещенности. 

image.png

Конструкция робота: тележка с танковым управлением, спереди которой есть датчик освещенности. Желательно, чтобы ведущие колёса и датчик, образовывали собой равносторонний треугольник, тогда движение будет наиболее стабильным.

image.png

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

Рассмотрим программу. Она зациклена, и в начале цикла каждый раз происходит проверка датчика света, над белым он или над чёрным.

Для этого мы использовали блок «если». Данный блок направляет программу по двум возможным путям. Куда пойдёт программа, вверх или вниз, зависит от того, является ли условие в блоке «если» истиной. 

Sensor1 > 50. Почему 50? Разберёмся откуда взялось это число, и почему для разных роботов оно может быть разным. 50 – это желаемое состояние, то пороговое значение, которое видит датчик, когда находится ровно между белым и черным. Давайте называть его «серым». Переход от белого к черному и наоборот, для датчика освещенности происходит не мгновенно, а по мере того, насколько много в его области действия черного или белого.  Для отладчика TrikStudio это значение всегда 50, а для реального робота оно зависит от показания датчика на белом и на чёрном, и будет являться их средним арифметическим. Например, робот видит на белом 46, а на чёрном 12. Тогда значение серого на реальном роботе будет (46+12)/2 = 29. 

image.png

Таким образом, всё что меньше серого – это черное, а всё что больше – белое. Если робот на белом, то есть условие

 «Sensor1 > 50» — истина, то следует повернуть направо, запустив левый мотор вперёд, а правый остановив. Если робот на чёрном, то есть условие ложно, то необходимо поворачивать в другом направлении. 

image.png

Любой регулятор, это цикл, который повторяется с большой частотой. Чтобы не заставлять контроллер работать 100% времени, сделаем минимальную задержку по времени. Пока это время идёт, моторы работают, а процессор отдыхает. Таким образом программа делает 1000 итераций в секунду.

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

 Усложним нашу программу, добавив третье действие – движение вперёд, и определим для него условие. Пусть робот едет вперёд, если отклонение от значения серого не превысило 5 пунктов. Предположим, что значение серого – 29. Это значит, что если значение датчика больше чем 29-5, и меньше, чем 29+5, то необходимо двигаться вперёд. Получился классический трёхпозиционный релейный регулятор. Движение вперёд позволяет быстрее преодолевать прямые участки, поскольку поворот – это остановка одно из моторов, а значит движение на повороте замедлено.

image.png

И, наконец, попробуем сделать четырёхпозиционный регулятор для робота с двумя датчиками освещенности. Для этого необходимо определить значения серого для обоих датчиков. Пусть оно будет 40 и 34.  

На картинке представлены 4 возможных положения робота относительно линии и, соответственно, в программе есть 4 варианта поведения робота. Сперва программа проверяет первый датчик, и если он на белом, то проверяется второй датчик, и если он тоже на белом, то робот едет прямо, а если второй на чёрном – поворачивает направо. Если первый датчик показал черное, то так же проверяется второй, и если второй датчик показал белое – то необходимо повернуть влево, а если второй тоже на чёрном, то пусть робот поедет прямо, сбавив скорость.

image.png

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

image.png

А вот пример применения релейного регулятора для движения вдоль стены. Для этого определим, на каком расстоянии необходимо двигаться. Пусть оно будет равно 30 сантиметрам. Отдаляясь от стены более чем на 30 см, робот будет пытаться приблизиться к ней, выполняя поворот направо, и наоборот, двигаться влево, если оказался ближе. Эта программа удивительным образом похожа на движение по линии. Это демонстрация того, что одни и те же алгоритмы могут быть применены к разным задачам. 

image.png

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

Пропорциональный регулятор (П-регулятор)

Пропорциональный регулятор – это регулятор, в котором управляющее воздействие пропорционально отклонению. Говоря проще – чем сильнее робот (наш объект управления), отклонился от желаемого значения, тем сильнее он будет поворачивать, чтобы скорректировать своё отклонение. 

Чтобы понять работу данного регулятора, раскроем некоторые термины.

ПропорциональностьПропорциональными называются две взаимно зависимые величины, если отношение их значений остаётся неизменным. Например: x = y * 2. y всегда больше чем в 2 раза, значит эти числа пропорциональны.

Отклонение – величина, характеризующая насколько сильно отличается текущее значение датчика(ов) от желаемого состояния. 

Управляющее воздействие – сила с которой объект корректирует отклонение.

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

Зададим желаемый угол, пусть он будет 45 градусов.

Переменные

alpha – значение желаемого положения мотора.

k – усиливающий коэффициент 

err – отклонение(ошибка)

u – управляющее воздействие

image.png

image.png

Переменная err находит угол, на который мотор отклоняется от желаемого значения. Предположим сейчас энкодер показывает 33 градуса. Тогда ошибка будет равна 45 – 33 = 12. Следовательно, управляющее воздействие будет 12 * 4 = 48. Это заставит мотор двигаться вперёд, что будет приближать его к отметке 45 градусов. Если энкодер превысил значение 45, то ошибка станет отрицательной, что приведёт к его вращению в противоположную сторону. 

Таким образом мотор будет сопротивляться внешнему воздействию. Чем сильнее отклонился мотор и чем больше величина коэффициента k, тем сильнее сопротивление. Высокий коэффициент приведёт к дрожанию мотора, поскольку он будет вновь и вновь проскакивать желаемое значение. Это состояние называется перерегулирование

Изменяя угол alpha можно заставить мотор совершать точные движения и фиксироваться заданном положении. Это позволяет искусно решать задачи с захватом объектов, манипуляторами, поворотными башнями и т.д.

Применим пропорциональный регулятор для движения по линии. Начнём с того, как робот будет управляться. В командах запуска моторов мы используем две переменные: v – базовая скорость моторов, u – управляющее воздействие. Чтобы понять, как влияют на движение эти переменные, поэкспериментируйте с их различными значениями. 

image.png

Переменная определяет, с какой скоростью робот поедет вперёд или назад в зависимости от знака. При положительной скорости – вперёд, назад при отрицательной. Переменная задаёт резкость поворота, а от её знака зависит его направление. При положительном управляющем воздействии ускоряется мотор В и замедляется мотор С – поворот вправо, при отрицательном u соответственно наоборот робот поворачивает влево. Вот так выглядит релейный двухпозиционный регулятор, если управлять роботом с помощью переменных v и u:

image.png

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

image.png

image.png

Переменные:

grey – значение серого для датчика освещенности.

k – усиливающий коэффициент

v – базовая скорость

err – отклонение(ошибка)

u – управляющее воздействие

Что делают переменные v и мы разобрали ранее, а в переменную grey запишем значение серого. 

Переменная err – это отклонение(ошибка) от желаемого значения. Когда текущее значение датчика (sensor1) превышает значение grey, ошибка становится положительной, когда они равны, то ошибка равна нулю, а когда sensor1 меньше grey, ошибка — отрицательная.

Теперь надо заставить робота поворачивать в нужную сторону. Сделаем так, чтобы управляющее воздействие зависело от ошибки. Но если просто приравнять их, то может возникнуть проблема, когда роботу не хватит силы управляющего воздействия, чтобы преодолеть крутой поворот. Для этого воспользуемся усиливающим коэффициентом k. Чем сильнее значение этого коэффициента, тем сильнее робот реагирует на отклонение. При слишком большом коэффициенте может возникнуть эффект перерегулирования, характеризующийся раскачиванием робота.

image.png

Допустим, что значение серого (grey) – 35. Рассмотрим примеры расположения робота на линии и его реакцию на отклонение:

Датчик света слегка сместился влево, и его значение выросло до 42. Это значит, что ошибка (err) будет равна 42 – 35 = 7. При коэффициенте (k) равном 2, управляющее воздействие (u) будет равно 7 * 2 = 14. При базовой скорости (v) 50, на мотор В будет подана скорость 50 + 14 = 64, а на мотор С 50 – 14 = 36. То есть робот плавно поворачивает направо, поскольку не сильно отклонился влево. 

Во втором примере робот сильно заехал датчиком на чёрное. Его значение стало равно 18. Теперь ошибка равна 18 – 35 = -17. При отрицательной ошибке управляющее воздействие тоже будет отрицательным и станет равным -17 * 2 = -34. При данном управляющем воздействии моторы получат значения В: 50 + (-34) = 16 и С: 50 – (-34) = 84, что заставит робота резко повернуть влево.

Вывод: чем сильнее отклонился робот, тем сильнее его реакция.

Поэкспериментируйте над значениями коэффициента и скорости робота. Найдите те оптимальные значения этих величин, при которых робот проходит линию наиболее быстро и плавно, при этом вписываясь во все повороты. Помните, что отладка – важнейшая часть работы, и большая часть времени при работе над созданием эффективных роботов посвящена именно ей. 

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

image.png

Ошибка вычисляется с помощью нахождения разности показания датчиков: err = Sensor1 – Sensor2. Желаемое значение разности между датчиками – ноль. Отличие в написании программы заключается лишь в том, как находится ошибка. Теперь нам не обязательно знать значение серого.

image.png

image.png

image.png

Однако далеко не всегда оба датчика будут показывать одинаковые значения на белом поле. Чаще всего значение имеют небольшие различия, а иногда и значительные. Робот с такими датчиками, например, не сможет ехать прямо, находясь на белом поле. А при движении по лини можно заметить, что один из датчиков (тот, который ярче) частично наезжает на черную линию.

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

П-регулятор можно применить для синхронизации скорости моторов. В таком случае нам потребуются показания энкодеров вместо датчиков света. Все остальные действия остаются прежними.

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

Для закрепления, еще раз пройдём по порядку все действия программы в цикле:

  • Вычислениеошибки (err = sensor1 – grey или err = sensor1 – sensor2).
  • Вычисление управляющего воздействия (u = err * 2).
  • Подача управляющего воздействия на моторы (B: v + u, C: v – u).
  • Не забываем про маленькую задержку по времени (1 миллисекунда).

Вычисление ошибки, подача управления на моторы и задержка характерны почти для всех регуляторов. Задача конкретно П-регулятора здесь в том, чтобы управляющее воздействие было пропорционально ошибке.

image.png

Пропорционально-дифференциальный регулятор (ПД-регулятор)

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

Зачем нужна Д-составляющая в регуляторе? Ответ – препятствовать перерегулированию. Как мы узнали ранее, существует проблема раскачивания при применении

image.png

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

Взглянем на маятник. Он тоже раскачивается. Ему, как и скоростному роботу, нужно время, чтобы стабилизироваться. Для маятника в качестве П-регулятора выступает земная гравитация. Действительно, чем сильнее он отклонился от вертикального (желаемого) положения, тем сильнее гравитация пытается его вернуть. Но ничего не получается, он вновь и вновь проскакивает середину… Что, если погрузить его в воду? Сопротивление воды даст нужный эффект, ведь оно замедляет его движение. Маятник опускается на середину и фиксируется в этом положении. Давайте попробуем применить это на роботе, который движется по линии.

Принцип работы дифференциального регулятора заключается в том, что он определяет скорость изменения ошибки и создаёт управляющее воздействие пропорционально этой скорости. Говоря проще – робота нужно заставить сопротивляться изменениям ошибки. Скорость, как известно, можно найти зная расстояние и время. 

image.png

image.png

Посчитать скорость изменения ошибки можно, найдя разность текущей ошибки (err) и той ошибки, которая была в предыдущем цикле (errOld), а значит время известно – это задержка (1 миллисекунда). Чтобы запомнить предыдущую ошибку, присвоим её значение переменной errOld после всех вычислений. Таким образом, после обновления err, мы сможем знать и новую и старую ошибку. Так как скорость изменения отклонения (err – errOld) расчитывается в миллисекундах, то соответственно, значения получаются очень маленькие. Будьте внимательны выставляя задержку в цикле, так как её величина напрямую влияет на силу Д-регулятора. Действительно, значения датчиков вряд ли могли сильно измениться спустя всего 1 миллисекунду. А значит необходим усиливающий коэффициент (k2) достаточный, чтобы оказать влияние на управляющее воздействие. Полученное значение складывается вместе с управляющим воздействием пропорционального регулятора err * k1. Эти два регулятора работают бок о бок, но вовсе не обязательно, что их знаки будут совпадать.

image.png

Рассмотрим примеры действия ПД-регулятора при коэффициентах k1 = 2, k2 = 20. 

Пример 1: Робот правым датчиком заехал на черную линию и продолжает двигаться влево, а это значит, что ошибка увеличивается. Значение текущей ошибки равно 15, а предыдущей равно 13. П-регулятор заставляет робота поворачивать вправо с силой 15 * 2 = 30, а Д-регулятор с силой (15 – 13) * 20 = 40. Их сила складывается, значит общее управляющее воздействие равно 70. Робот будет поворачивать вправо.

Пример 2: Робот всё еще слева от линии, значит ошибка положительная, однако направление его движения изменилось – он движется вправо. Ошибка уменьшается, а значит дифференциальный регулятор должен заставлять робота поворачивать влево. Пусть ошибка равна 12, а предыдущая равна 15. В этом случае сила П-регулятора равна 12 * 2 = 24, а Д-регулятора (12-15) * 20 = -60. Суммарное управляющее воздействие 24 + (-60) = -36. Робот будет поворачивать влево.

Чтобы глубже понять поведение ПД-регулятора, можно представить ошибку на графике. Везде, где график находится над нулевой отметкой – ошибка положительная, а значит действие П-регулятора будет иметь положительный знак. Знак Д-регулятора зависит от того, движется ли график вверх или идёт на спад. Его сила зависит от того, насколько резко происходит подъём или спад.

image.png

На отрезках ab и fg, в те моменты, когда график идёт «в гору» знак Д-регулятора положительный.

На отрезках bc и df при «скатывании» вниз знак Д-регулятора отрицательный.

На ровном отрезке cd, и в пиковых точках b и f значение Д-регулятора нулевое, поскольку в эти моменты не происходит изменений ошибки.

Интегральный регулятор. ПИД-регулятор

  Интегральная составляющая ПИД-регулятора обеспечивает значительное управляющее воздействие в случаях, когда объект упрвления(робот) длительное время (например 0.5 секунды) находится в состояни ошибки. Управляющее воздействие И-регулятора тем сильнее, чем дольше робот не может вернуться в состояние нулевой ошибки. 

Задача И-регулятора – вернуть объект в желаемое состояние в тех случаях, когда управляющего воздействия П-составляющей недостаточно. 

image.png

Рассмотрим простой пример: робот движется по круговой линии. На П или ПД-регуляторе он не может поддерживать ошибку в состоянии близкой к 0, поскольку при нулевой ошибке он движется прямо. При движении правый датчик частично заезжает на черную линию и создаёт ошибку, необходимую для обеспечения поворота. Попробуем сделать так, чтобы робот стабилизировался на нулевом положении.

Принцип работы И-регулятора заключается в постоянном накапливании значений ошибки. Этот процесс так и называется – интегрирование. Создадим переменную I, в которую будем суммировать настоящую ошибку в каждом цикле: Ireg = Ireg + err. Коэффициент для И-составляющей будет очень мал, поскольку суммирование происходит каждую миллисекунду, и, скажем, если робот будет в течение секунды получать ощибку равную 10, то при коэффициенте 1 мы получим гигантское управляющее воздействие 10*1000 = 10000. Пусть коэффициент будет 0,02. Может возникнуть вопрос: а не будет ли переменная Ireg со временем разрастаться до огромных значений, ведь мы

image.png

 постоянно прибавляем? Ответ: переменная Ireg увеличивается только при положительной ошибке, при отрицательной ошибке происходит её уменьшение. Значит она может разрастись в обе стороны, но только в случае, если робот застрял в состоянии ошибки надолго.

Для удобства восприятия, давайте разложим ПИД-регулятор на 3 отдельные его составляющие. Подпишем коэффициенты (kP, kD, kI).

Preg = err * kP

Ireg = I + err * kI

Dreg = (err – errOld) * kD

u = Preg + Ireg + Dreg

Следует помнить, что интегральный регулятор, как и дифференциальный, имеет прямую зависимость от времени задержки. Чем меньше задержка, тем чаще производится действие сложения, и тем быстрее она будет накапливаться. 

Давайте отразим работу И-регулятора на графике ошибки. Первое, что необходимо знать – интеграл – это площадь под графиком. Каждый зелёный столбик – это величина ошибки, которая была накоплена регулятором за время

 работы программы. 

image.png

Рассмотрим график ошибки и значения И-составляющей для каждой выделенной точки на этом графике.

image.png

В точке значение И-составляющей равно нулю. 

В точке b оно положительное, поскольку при положительной ошибке оно накапливалось за промежуток времени от a до b.

В точке c оно так же положительное.

В точке d – всё еще положительное, поскольку площадь S1 больше чем кусок площади S2 до точки d. 

Предположим, что площади S1 и S2 равны, хоть в реальной жизни, это маловероятно. Тогда в точке e значение вновь возвратится в ноль.

И далее в точках f и g снова положительное.

Попробуем более грамотно посчитать значение интегральной и дифференциальной составляющих, учитывая, что задержа по времени (будем называть её deltaT, или dT) влияет на расчет величин управляющего воздействия.

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

Тогда dT будет равна 0.001 сек. Тогда задержку по времени, будем выполнять так: sleep(dT * 1000), то есть получим значение 1 при dT равной 0.001.

Значение П-составляющей от времени не зависит, а значит ничего не изменится: err * kP

Значение Д-составляющей получится следующее: kD * (err-errOld) / dT. Всё как учили по физике: скорость равна частному от изменения на время. Помним, что теперь измерение ведётся в секундах, так что стоит изменить kD, уменьшив его в 1000 раз.

Значение И-составляющей: Ireg + err * dT * kI. Увеличиаем kI в 1000 раз.

Итог: изменяя задержку в цикле, теперь мы не создадим помех в работе ПИД-регулятора.

Кубический регулятор

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

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

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

Минимальная ошибка — это разность минимального значения правого датчика и максимального значения левого. Максимальная ошибка – соответственно будет равна разности белого для первого датчика и черного для второго.

Пусть диапазон ошибки будет от -40, до 40 единиц. Нам нужно, чтобы кубический регулятор выработал при максимальной ошибке значение 100.

Посчитаем, чему будет равно управляющее воздействие при коэффициенте 1 и ошибке 40. 40*40*40 = 64000. Многовато! Узнаем, во сколько раз это больше чем 100 и разделим на это число наш коэффициент.

64000 / 100 = 640, значит нам необходим коэффициент  или около 0.00156.

image.png

image.png

Управляющее воздействие при ошибке менее 10 не превысит даже единицы! При ошибке, равной 20 – около 12, при 30 – около 42, при 40 – 100.

Кубический регулятор практически никак не будет реагировать на малые отклонения. Эффективнее всего использовать кубический регулятор в паре с П-регулятором или ПД-регулятором. Они отлично дополняют друг друга! 

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Тип ван динамический айпи неизвестная ошибка
  • Типичные ошибки выявляемые при аудите внеоборотных активов