ݺߣ

ݺߣShare a Scribd company logo
Робототехника
16 www.soel.ru современная электроника ◆ № 4 2015
Вход
(уставка)
Регулятор Привод Объект
Внешние
возмущения
Шумы
измерения
Датчики
В статье представлены базовые понятия теории автоматического
управления и рассмотрены практические моменты компьютерной
реализации управления движением мобильного робота.
Андрей Антонов (Волгоград)
Специальный проект журнала «Современная электроника»
и сайта robotosha.ru
Теория и практика автоматического
управления в робототехнике
Р о б о т о ша
Автоматическое управление
Одной из основных задач, решае­
мых в робототехнике, является задача
управления. Если техническая систе­
ма работает без участия человека, то
её называют «автоматическая систе­
ма». Разработкой общих принципов
реализации автоматического управле­
ния, методов анализа и синтеза систем
автоматического управления занимает­
ся научная дисциплина под названием
«Теория автоматического управления»
(ТАУ). ТАУ является частью технической
кибернетики – науки, изучающей про­
цессы управления и обработки инфор­
мации в технических системах. Зача­
стую в качестве синонима названию
«Теория автоматического управления»
используется «Теория автоматического
регулирования». В зарубежной литерату­
ре применяется термин "Control Theory".
Сталкиваясь с задачами управления,
мы всегда имеем дело с двумя объек­
тами – управляемым, или объектом
управления, и управляющим, который
называют регулятором или контролле­
ром. Воздействие регулятора на объ­
ект управления производится обыч­
но через исполнительные устройства,
называемые приводами. Приводы уси­
ливают и преобразуют сигнал управле­
ния. Например, электрический управ­
ляющий сигнал трансформируется
в перемещение руки манипулятора
в промышленном роботе. Для «осяза­
ния» регулятором объекта управления
используются датчики – устройства,
измеряющие те характеристики объ­
екта, которыми необходимо управ­
лять. Различные элементы обменивают­
ся между собой информацией, исполь­
зуя каналы связи, в качестве которых
может выступать электрический ток,
воздух (пневматические системы), жид­
кость (гидравлические системы), ком­
пьютерные сети [1].
Для реализации управления техниче­
ской системой используется принцип
обратной связи. Основная идея обрат­
ной связи состоит в том, что текущее
значение на выходе системы непре­
рывно сравнивается с требуемым эта­
лонным значением (уставкой) и состо­
яние входа системы корректируется
таким образом, чтобы свести к нулю
любое отклонение выхода от уставки.
Другими словами, если значение кон­
тролируемого физического параметра
на выходе велико, то производятся кор­
ректировки параметра на входе, кото­
рые приводят к снижению выходной
величины. Если же значение на выхо­
де меньше уставки, то вход корректи­
руется таким образом, чтобы увеличить
значение на выходе системы. Таким
образом, реализуется управление по
ошибке, стремящееся свести рассогла­
сование к нулю. Поскольку информа­
ция в системе с обратной связью пере­
даётся по замкнутому контуру, то такие
системы ещё называют замкнутыми
системами.
Обобщённо идея управления состоит
в использовании информации о состо­
янии объекта для выработки управля­
ющего сигнала. Схема системы управ­
ления с обратной связью показана на
рисунке 1.
Если же выход системы в расчёт не
принимается, то такая система является
разомкнутой. В ней регулятор не полу­
чает никакой информации о реальном
состоянии объекта. В этом случае, что­
бы иметь возможность построить про­
грамму управления, должно быть точно
известно поведение объекта управле­
ния. Разомкнутые системы часто назы­
вают системами программного управ­
ления. Примером системы программ­
ного управления является электронное
информационное табло. Структурная
схема разомкнутой системы управле­
ния приведена на рисунке 2.
Типы задач, решаемых с исполь­
зованием автоматических систем
управления:
●● стабилизация – это поддержание
заданного режима работы (уставка
равна константе);
●● программное управление – это
управление с использованием задан­
ной программы. В этом случае зада­
ющий сигнал меняется, но является
заранее неизвестным;
●● слежение за неизвестным сигналом.Рис. 1. Система автоматического управления с обратной связью
Робототехника
17www.soel.ruсовременная электроника ◆ № 4 2015
Регулятор
Программа
Привод Объект
Внешние
возмущения
kp
(пропорциональный)
ki
(интегральный)
e u
∑
Регуляторы
Рассмотрим, каким образом могут
быть реализованы регуляторы в систе­
мах автоматического управления.
Первым вариантом является реализа­
ция пропорционального управления,
когда величина коррекции уставки
пропорциональна величине ошибки.
В результате небольшая ошибка будет
приводить к небольшой корректиров­
ке, а большая ошибка приведёт к боль­
шому корректирующему действию. То
есть выходной сигнал регулятора up
(t)
будет пропорционален ошибке слеже­
ния e(t):
up
(t) = kp
e(t), kp
> 0,
где kp
– усиление регулятора, положи­
тельная константа.
Фактически пропорциональный ре-
гулятор является усилителем. При
использовании пропорционально­
го, или, как его ещё называют, П-ре­
гулятора, выход системы будет всег­
да меньше значения уставки. При­
чиной является то, что П-регулятор
имеет на выходе ненулевое значение
только в случае ненулевого входа. Если
ошибка слежения отсутствует, то про­
порциональный регулятор не создаёт
выходного сигнала. Практически на
входе мы всегда будем иметь ненуле­
вое значение в стационарном состоя­
нии. Следствием этого будет сохране­
ние некоторой статической ошибки.
Эта ошибка может быть уменьшена за
счёт увеличения усиления регулято­
ра kp
, но при слишком больших значе­
ниях это может привести к автоколе­
баниям и потере устойчивости систе­
мы. Значение регулируемой величины
в П-регуляторе никогда не стабилизи­
руется на заданном значении, поэто­
му для устранения статической ошиб­
ки нам нужен другой способ. Конеч­
но, можно изначально задать большее
значение уставки, но существует вид
регулятора, который позволяет устра­
нить статические ошибки автоматиче­
ски. Это приводит нас к интегрально­
му управлению.
Интегральное управление – это стра­
тегия, основанная на общей накоплен­
ной ошибке. П-регулятор основывает­
ся только на отслеживании мгновенной
ошибки. Если ошибка слежения мала,
то пропорциональный регулятор теря­
ет свою эффективность (так как резуль­
тирующие корректировки также будут
малы). Одним из способов «усиления»
таких маленьких статических оши­
бок является использование накоплен­
ной ошибки с течением времени, что
обеспечивает значительный уровень
управляющего сигнала. С другой сторо­
ны, если ошибка слежения равна нулю,
то накопленное значение также будет
нулевым. В этом заключена идея инте­
грального управления.
Выход интегрального регулятора
пропорционален интегралу ошибки
слежения за промежуток времени:
где ki
> 0 – константа.
В случае дискретного времени в циф­
ровых системах интеграл заменяется
суммой ошибок, и интегральный регу­
лятор реализуется в виде сумматора
значений ошибок. Этот подход легко
реализуется в виде схемы рекурсивно­
го обновления [2]:
Et
= δt et
+ Et-1
,
ui,t
= ki
Et
,
где Et
– накопленная ошибка на
временно′м шаге t, ki
– интегральное
усиление и ui,t
– выход интегрального
регулятора в момент времени t.
Эта дискретная схема обновления
предполагает, что управляющие дей­
ствия производятся периодически.
Коэффициент δt представляет собой
промежуток времени между последо­
вательными управляющими воздей­
ствиями, выраженный в единицах
измерения времени (если мы изме­
ряем время в секундах и производим
100 управляющих действий в секунду,
то δt = 0,01, если же мы измеряем время
в днях и производим одно обновление
в день, тогда δt = 1). Конечно, δt мог­
ло бы быть включено в коэффициент
усиления регулятора ki
, но это озна­
чало бы, что при изменении часто­
ты обновления усиление регулятора
тоже бы изменилось. Поэтому лучше
их разделять: δt включает временно′й
интервал между последовательными
обновлениями, а ki
независимо управ­
ляет вкладом интегрального члена на
выход регулятора.
Зачастую пропорциональный и ин-
тегральный регуляторы включаются
в схему параллельно (см. рис. 3). Такая
реализация называется пропорцио­
нально-интегральным регулятором,
или ПИ-регулятором, который наибо­
лее часто используется на практике.
Выход интегрального регулятора
зависит не только от мгновенного зна­
чения ошибки, но и от интеграла (или
суммы) наблюдаемых ошибок слеже­
ния с начального момента времени.
Эта зависимость от предыдущих зна­
чений приводит к тому, что интеграль­
ный регулятор обладает нетривиальной
динамикой, которая может изменить
качественное поведение всей замкну­
той системы. В частности, интеграль­
ный регулятор может приводить к коле­
баниям, даже если управляемая систе­
ма им не подвержена. При сохранении
положительной ошибки слежения ин-
тегральная составляющая в регуляторе
начнёт расти и результатом будет поло­
жительное значение входа системы,
которое сохраняется даже после того,
как ошибка слежения будет устране­
на. Вследствие чего выходной сигнал
системы управления будет «прома­
хиваться», и ошибка слежения станет
отрицательной. В свою очередь ошиб­
Рис. 2. Система программного управления
Рис. 3. Схема ПИ-регулятора
Робототехника
18 www.soel.ru современная электроника ◆ № 4 2015
kp
( пропорциональный)
ki
(интегральный)
kd
(дифференциальный)
e u
∑
ка слежения уменьшает значение инте­
грального компонента.
В зависимости от выбранных значе­
ний для коэффициентов усиления регу­
лятора kp
и ki
, эти колебания могут зату­
хать более или менее быстро. Настрой­
ка регулятора представляет собой
поиск таких значений параметров,
которые бы приводили к приемлемо­
му динамическому поведению систе­
мы с обратной связью.
Одним из основных положений ТАУ
является линейность отношения меж­
ду входом и выходом управляемого объ­
екта: y = Hu. Это означает, что в устано­
вившемся режиме мы имеем ненуле­
вой выход при отличном от нуля входе.
В цепи обратной связи мы пытаемся
минимизировать ошибку слежения, но
также мы используем эту ошибку в каче­
стве входа регулятора. Каким же обра­
зом при отсутствии ошибки мы можем
поддерживать выход ненулевым?
В случае с пропорциональным регу­
лятором этого сделать нельзя. При про­
порциональном управлении системе
необходимо поддерживать остаточную,
отличную от нуля, ошибку слежения
для того, чтобы получить не­нулевой
выход. Но мы можем управлять ошиб­
кой слежения вплоть до нуля и при
этом сохранить выход системы управ­
ления ненулевым, при условии, что мы
можем включить интегральное звено
в ре­гулятор.
Можно также включить дифферен­
циальное звено в регулятор. В то вре­
мя как интегральное звено отслежива­
ет прошлые значения, дифференциаль­
ный регулятор пытается предвидеть
будущее. Производная является ско­
ростью изменения некоторой вели­
чины. Так, если производная ошибки
слежения положительна, это означа­
ет, что ошибка слежения в настоящий
момент растёт. И наоборот. Таким
образом, корректировку можно про­
изводить сразу, противодействуя, тем
самым, росту ошибки, даже если её зна­
чение ещё мало.
Выход дифференциального регуля­
тора пропорционален производной
ошибки слежения:
где kd
> 0 – константа.
В случае компьютерной реализации
с дискретным временем, можно аппрок­
симировать производную e, изменени­
ем e с предшествующего момента вре­
мени. Дифференциальный регулятор
может быть реализован в виде:
где δt – временно′й интервал между
последовательными обновлениями.
Подобно интегральному регулятору,
дифференциальный регулятор зависит
от предыдущих значений и, следова­
тельно, привносит свою нетривиаль­
ную динамику в систему.
Интегральные регуляторы очень
«доброжелательны» и часто исполь­
зуются вместе с пропорциональными
регуляторами, что нельзя сказать о диф­
ференциальном управлении. Пробле­
мой в последнем случае является потен­
циальное присутствие высокочастот­
ного шума на входе регулятора.
Шумовая составляющая будет ос-
циллировать возле нулевой отмет­
ки и, таким образом, в интегральном
регуляторе она аннулируется. Однако
если взять производную зашумлённого
сигнала, то это только усилит влияние
шума. Поэтому часто бывает необходи­
мо сглаживание сигнала. Это добавля­
ет сложности и нетривиальной дина­
мики в регулятор. Также появляется
риск «потери цели» при дифференци­
альном управлении. Если сгладить сиг­
нал слишком сильно, то будут терять­
ся изменения в сигнале, которые дол­
жен использовать дифференциальный
регулятор.
Ещё одной проблемой, связанной
с дифференциальным управлением,
является влияние резкого изменения
уставки, что приводит к моменталь­
ному скачку значения на выходе диф­
ференциального регулятора.
В то время как пропорциональное
управление занимает центральное
место в системах с обратной связью,
а интегральное управление требуется
для устранения статической ошибки,
на практике дифференциальное управ­
ление используется не так уж и часто.
Это не должно быть неожиданностью.
Исследования показывают, что более
95% регуляторов, используемых в раз­
личных прикладных областях, принад­
лежат к типу ПИ-регуляторов [2].
Регулятор, включающий все три ком­
понента (пропорциональный, инте­
гральный и дифференциальный),
на­зывают ПИД-регулятором (см. рис. 4).
Выход этого регулятора представляет
собой комбинацию трёх его составля­
ющих:
Такая форма представления удобна
для теоретической работы. Для практи­
ческих приложений используется аль­
тернативное представление, в котором
коэффициенты объединены в общий
коэффициент усиления:
Оба новых параметра Ti
и Td
имеют
ту же размерность, что и время. Обе
формулы для uPID
(t) эквивалентны и их
параметры соотносятся как:
Конечно, числовые значения параме­
тров различны. При сравнении значе­
ний параметров регулятора нужно не
забыть, к какому из двух представлений
они относятся.
В схемах обновления с дискретным
временем интегральная и дифферен­
циальная составляющие достаточно
просто реализуются в программном
коде. Следующий класс реализует ПИД-
контроллер:
class PidController:
def __init__( self, kp, ki,
kd=0 ):
self.kp, self.ki, self.kd
= kp, ki, kd
self.i = 0
self.d = 0
self.prev = 0
def work( self, e ):
self.i += DT*e
self.d = ( e - self.prev )/DT
self.prev = e
return self.kp*e + self.
ki*self.i + self.kd*self.d
Здесь множитель DT обозначает раз­
мер шага δt, который задаёт интервал
между последовательными управля­
ющими воздействиями и выражается
в тех же единицах, что и время.
Рис. 4. Схема ПИД-регулятора
Робототехника
19www.soel.ruсовременная электроника ◆ № 4 2015
Цифровая часть
АЦП
АЦП
ЦАПРегулятор C(z) Привод
Датчик
Объект P(s)
Тактовый
генератор
R(t) Y(t)
+
–
Rk
Yk
Uk
∑
Пример реализации цифровой
части системы управления
движением мобильного
робота
Большинство современных регулято­
ров, использующихся в системах управ­
ления, реализуются с применением
микроконтроллеров и микропроцес­
соров. В случае реализации контрол­
лера на базе компьютерной системы
управления процесс чтения с аналого­
вых входов и установка выходов в опре­
делённые состояния происходят с неко­
торой периодичностью. По сравнению
с вариантом аналоговой реализации это
является недостатком, так как процесс
выборки вносит временну′ю задержку
в контур управления. На рисунке 5 пока­
зана общая структурная схема системы
управления, на которой выделена циф­
ровая часть [3].
При программной реализации зако­
на управления удобно будет разделить
последовательность команд при обра­
ботке прерывания на четыре функции,
как это показано на рисунке 6. Очень
важно чтение входного сигнала с дат­
чиков и синхронизация записи управ­
ляющего сигнала в цифро-аналоговый
преобразователь (ЦАП) с правильной
частотой. Поэтому эти процессы нахо­
дятся в первой функции. В следующей
функции, после сохранения значе­
ния счётчика и извлечения значений
ЦАП, которые уже вычислены на пре­
дыдущем шаге, генерируются значения
эталонных напряжений. Следом идут
функции, включающие фильтры, кото­
рые производят скалярное или же век­
торное управление выходами. Наконец,
реализуется пользовательский интер­
фейс для проверки значений параме­
тров, а также для дальнейшей настрой­
ки и отладки.
Создание эталонной траектории
является стартовой точкой. Эталон­
ная траектория используется в качестве
целевого значения в процессе управле­
ния и представляет собой набор значе­
ний уставки при каждой обработке пре­
рывания. В связи с этим она называется
профилем движения. Правильное соз­
дание этого профиля важно, посколь­
ку из-за того, что целью практического
сервоуправления является не регулиро­
вание, а слежение, ошибки отслежива­
ния и фиксации очень чувствительны
к нему. Общий профиль трапециевид­
ной формы вычисляется просто и тре­
бует постоянного тока в периоды уско­
рения и замедления. Однако сильные
толчки (вследствие резких измене­
ний ускорения и, следовательно, рез­
ких изменений приложенной силы)
могут являться причиной серьёзных
повреждений в динамических системах
и вызывать нежелательные вибрации.
Поэтому нужен сглаженный профиль,
что требует более затратных по време­
ни вычислений. Простой профиль дви­
жения можно задать при помощи поли­
нома третьей степени:
y(t) = a + bt + ct
2
+ dt
3
,
у
.
(t) = b + 2ct + 3dt
2
,
y
..
(t) = 2c + 6dt.
На практике, уравнения, описываю­
щие профиль движения, нормализуют
и программируют в виде функций. При­
няв ограничения:
y(0) = 0, y(1) = 1,
у
.
(0) = 0, у
.
(1) = 0,
получим уравнения, которые уже реа­
лизуются в программном коде:
Здесь S – расстояние и T – время дви­
жения.
Во время работы для высокоскорост­
ных сервосистем профиль скачка явля­
ется константой, с большими измене­
ниями на старте и при остановке. Это
означает, что требуется высокая меха­
ническая прочность. Даже при том,
что вычислительные затраты возра­
стут, возможно использование профи­
лей, описываемых полиномами пято­
го или седьмого порядка, для того, что­
бы удовлетворить условиям ускорения
или скачка.
Профиль движения часто сохраняет­
ся в оперативной памяти (ОЗУ) в виде
таблицы или же помещается в функ­
цию Reference_Generate() обработ­
ки прерывания, как это показано на
рисунке 6. В большинстве задач сле­
жения в сервоуправлении создаётся
профиль позиции. Тем не менее ско­
рость и ускорение, также вычисляе­
мые в функции обработки прерывания
в реальном времени, используются как
входы для предуправления. Они улуч­
шают результаты отслеживания и рабо­
ты алгоритма:
POSref
= PosTabe (указатель) × Расстояние
	 VELref
= POSref
– POSref, old
	 (1)
ACCref
= VELref
– VELref, old
.
Здесь VELref
и ACCref
не имеют реаль­
ных эталонных значений скорости
и ускорения. На практике эталонная
скорость масштабируется на время
прерывания, а ускорение – на квадрат
времени прерывания, соответственно.
Кроме того, ограничение разрядно­
сти регистров цифрового сигнально­
го процессора (DSP) или микропроцес­
сора может стать причиной ошибок.
Происходит это из-за потери знача­
щих разрядов во время вычисления
профиля скорости из профиля пози­
ции с использованием простой форму­
лы разности в алгоритме (1). Это озна­
Рис. 5. Цифровая часть системы управления
Робототехника
20 www.soel.ru современная электроника ◆ № 4 2015
Control_interrupt()
{
Read_Write();
Reference_Generate();
Output_Process();
Output_Debug();
}
Обработчик
прерывания
НАЧАЛО
Обработчик
прерывания
КОНЕЦ
Выборка
энкодера
Выборка
ЦАП, АЦП
Генерация
уставки
Регулятор
Цифровой
фильтр
чает, что профиль скорости включа­
ет периодический сигнал шума. Этот
вид цифровой ошибки создаёт реаль­
ный шум в движении и ухудшает рабо­
ту системы управления, если профили
скорости, ускорения и скачка исполь­
зуются в качестве входов для систем
предуправления в высокоскоростном
слежении.
Взамен простой разности в алгорит­
ме (1) можно использовать численные
дифференциальные уравнения (2)
с обратными дифференциалами пер­
вого порядка:
	 	 (2)
	 .
Сохранение каждого профиля в виде
таблицы может быть ещё одним спо­
собом, но только при условии наличия
достаточного количества памяти.
Важно отметить, что задание макси­
мальных значений параметров движе­
ния в управляющей системе, таких как
скорость, ускорение или даже скачок,
следует производить на шаге созда­
ния профиля. Если профиль позволяет
системе нарушать заданные ограниче­
ния, то вероятность непредсказуемо­
го поведения в процессе эксплуата­
ции сильно возрастает при пропуске
импульсов энкодером.
Системы, работающие с непрерыв­
ным временем, преобразуются в систе­
мы с дискретным временем, используя
Z-преобразование. Система с дискрет­
ным временем используется для полу­
чения математической модели, которая
описывает динамику физического про­
цесса в точках выборки, хотя физиче­
ский процесс всё ещё является систе­
мой непрерывного времени. Преоб­
разование Лапласа используется для
анализа системы управления в обла­
сти изображений, используя комплекс­
ные числа. В большинстве случаев при
разработке контроллеров и фильтров
используются инструменты в области
изображений. Для того чтобы реали­
зовать это в виде программного кода,
необходимо понять Z-преобразование.
Все контроллеры и фильтры, созданные
в области изображений, могут быть лег­
ко преобразованы в программном коде
через Z-преобразование, являющееся
видом цифровых разностных после­
довательностей.
В качестве примера рассмотрим ПИД-
регулятор. В форме операторных функ­
ций этот контроллер имеет вид:
	 .	 (3)
Существует несколько способов пре­
образования из частотной области
в дискретную. Для сохранения стабиль­
ности часто используются обратные
алгоритмы Эйлера и Тастина [4]. Несмо­
тря на то, что алгоритм Тастина явля­
ется более точным, в следующей про­
цедуре используется алгоритм Эйлера.
После подстановки обратного уравне­
ния Эйлера в (3)
,
получим следующий дискретный вид:
,
где
Преобразуем, используя разностное
уравнение:
	 	 (4)
	 .
В программном коде это может выгля­
деть примерно следующим образом:
(5)
	 .
Здесь pk
обозначает позицию, vk
–
скорость, ref обозначает эталонное зна­
чение и c означает код.
Сравнив параметры в (4) и (5), полу­
чим:
Отсюда видно, что существует зави­
симость между проектной и кодиро­
ванной формами коэффициентов уси­
лений:
При увеличении частоты выборки
в той же самой системе кодирован­
ный коэффициент усиления KV
дол­
жен быть увеличен, а кодированный
коэффициент усиления KI
должен
быть уменьшен. С помощью этого мето­
да разрабатываемый регулятор может
быть представлен в виде кода для циф­
рового сигнального процессора или
микропроцессора. Однако для получе­
ния приемлемых результатов работы
системы управления необходимо про­
водить анализ и моделирование алго­
ритмов управления.
Литература
1.	 Поляков К.Ю. Основы теории цифровых
систем управления. Учебное пособие. СПб.
СПбГМТУ. 2006.
2.	 Janert Philipp K. Feedback Control for
Computer Systems. O’Reilly. 2014. P. 39–49.
3.	 Siciliano Bruno, Khatib Oussama. Hand-
book of Robotics. Springer. 2008.
P. 153–155.
4.	 Pupalaikis Peter J. Bilinear Transformation
Made Easy. International Conference on
Signal Processing and Technology (ICSPAT).
Dallas TX. 2000.
Рис. 6. Процедура обработки прерывания
для цифровой части системы управления

More Related Content

Similar to Теория и практика автоматического управления в робототехнике (20)

Кибернетика / Cybernetics
Кибернетика / CyberneticsКибернетика / Cybernetics
Кибернетика / Cybernetics
Роман Душкин
АВТОМАТИЧЕСКИЙ ПОДБОР ПАРАМЕТРОВ ВНЕШНЕЙ СРЕДЫ ПРИ ГЕНЕРАЦИИ АВТОМАТНЫХ ПРОГР...
АВТОМАТИЧЕСКИЙ ПОДБОР ПАРАМЕТРОВ ВНЕШНЕЙ СРЕДЫ ПРИ ГЕНЕРАЦИИ АВТОМАТНЫХ ПРОГР...АВТОМАТИЧЕСКИЙ ПОДБОР ПАРАМЕТРОВ ВНЕШНЕЙ СРЕДЫ ПРИ ГЕНЕРАЦИИ АВТОМАТНЫХ ПРОГР...
АВТОМАТИЧЕСКИЙ ПОДБОР ПАРАМЕТРОВ ВНЕШНЕЙ СРЕДЫ ПРИ ГЕНЕРАЦИИ АВТОМАТНЫХ ПРОГР...
ITMO University
ВНЕСЕНИЕ ИЗМЕНЕНИЙ В АВТОМАТНЫЕ ПРОГРАММЫ
ВНЕСЕНИЕ ИЗМЕНЕНИЙ В АВТОМАТНЫЕ ПРОГРАММЫВНЕСЕНИЕ ИЗМЕНЕНИЙ В АВТОМАТНЫЕ ПРОГРАММЫ
ВНЕСЕНИЕ ИЗМЕНЕНИЙ В АВТОМАТНЫЕ ПРОГРАММЫ
ITMO University
LSU3
LSU3LSU3
LSU3
mikhailov012
кибернетика в нашей жизни верно
кибернетика в нашей жизни вернокибернетика в нашей жизни верно
кибернетика в нашей жизни верно
Ludmila1990
СОВМЕСТНОЕ ПРИМЕНЕНИЕ КОНТРАКТОВ И ВЕРИФИКАЦИИ ДЛЯ ПОВЫШЕНИЯ КАЧЕСТВА АВТОМАТ...
СОВМЕСТНОЕ ПРИМЕНЕНИЕ КОНТРАКТОВ И ВЕРИФИКАЦИИ ДЛЯ ПОВЫШЕНИЯ КАЧЕСТВА АВТОМАТ...СОВМЕСТНОЕ ПРИМЕНЕНИЕ КОНТРАКТОВ И ВЕРИФИКАЦИИ ДЛЯ ПОВЫШЕНИЯ КАЧЕСТВА АВТОМАТ...
СОВМЕСТНОЕ ПРИМЕНЕНИЕ КОНТРАКТОВ И ВЕРИФИКАЦИИ ДЛЯ ПОВЫШЕНИЯ КАЧЕСТВА АВТОМАТ...
ITMO University
ПРОГРАММНО-АППАРАТНЫЙ КОМПЛЕКС ДЛЯ ИССЛЕДОВАНИЯ АВТОМАТНОГО УПРАВЛЕНИЯ МОБИЛЬ...
ПРОГРАММНО-АППАРАТНЫЙ КОМПЛЕКС ДЛЯ ИССЛЕДОВАНИЯ АВТОМАТНОГО УПРАВЛЕНИЯ МОБИЛЬ...ПРОГРАММНО-АППАРАТНЫЙ КОМПЛЕКС ДЛЯ ИССЛЕДОВАНИЯ АВТОМАТНОГО УПРАВЛЕНИЯ МОБИЛЬ...
ПРОГРАММНО-АППАРАТНЫЙ КОМПЛЕКС ДЛЯ ИССЛЕДОВАНИЯ АВТОМАТНОГО УПРАВЛЕНИЯ МОБИЛЬ...
ITMO University
ДЕТЕКТОРЫ ОСОБЕННОСТЕЙ В МЕТОДЕ ВИОЛЫ–ДЖОНСА, ПОСТРОЕННЫЕ НА ОСНОВЕ КОНЕЧНЫХ ...
ДЕТЕКТОРЫ ОСОБЕННОСТЕЙ В МЕТОДЕ ВИОЛЫ–ДЖОНСА, ПОСТРОЕННЫЕ НА ОСНОВЕ КОНЕЧНЫХ ...ДЕТЕКТОРЫ ОСОБЕННОСТЕЙ В МЕТОДЕ ВИОЛЫ–ДЖОНСА, ПОСТРОЕННЫЕ НА ОСНОВЕ КОНЕЧНЫХ ...
ДЕТЕКТОРЫ ОСОБЕННОСТЕЙ В МЕТОДЕ ВИОЛЫ–ДЖОНСА, ПОСТРОЕННЫЕ НА ОСНОВЕ КОНЕЧНЫХ ...
ITMO University
09.robosumo
09.robosumo09.robosumo
09.robosumo
tukunivan
Презентация системы мониторинга и диспетчеризации (заметки)
Презентация системы мониторинга и диспетчеризации (заметки)Презентация системы мониторинга и диспетчеризации (заметки)
Презентация системы мониторинга и диспетчеризации (заметки)
Sergei Smalkov
Programming Guide
Programming GuideProgramming Guide
Programming Guide
guest63e09c
тема 1
тема 1тема 1
тема 1
Boris_72
АВТОМАТИЧЕСКИЙ СИНТЕЗ СИСТЕМЫ УПРАВЛЕНИЯ МОБИЛЬНЫМ РОБОТОМ ДЛЯ РЕШЕНИЯ ЗАДАЧИ...
АВТОМАТИЧЕСКИЙ СИНТЕЗ СИСТЕМЫ УПРАВЛЕНИЯ МОБИЛЬНЫМ РОБОТОМ ДЛЯ РЕШЕНИЯ ЗАДАЧИ...АВТОМАТИЧЕСКИЙ СИНТЕЗ СИСТЕМЫ УПРАВЛЕНИЯ МОБИЛЬНЫМ РОБОТОМ ДЛЯ РЕШЕНИЯ ЗАДАЧИ...
АВТОМАТИЧЕСКИЙ СИНТЕЗ СИСТЕМЫ УПРАВЛЕНИЯ МОБИЛЬНЫМ РОБОТОМ ДЛЯ РЕШЕНИЯ ЗАДАЧИ...
ITMO University
Seconfig prog manual_2_0_0_45
Seconfig prog manual_2_0_0_45Seconfig prog manual_2_0_0_45
Seconfig prog manual_2_0_0_45
Victor Bykov
Тест-драйв контроллера ARIS C303
Тест-драйв контроллера ARIS C303Тест-драйв контроллера ARIS C303
Тест-драйв контроллера ARIS C303
ООО "Прософт-Системы"
Какую систему центрального управления автопливом выбрать?
Какую систему центрального управления автопливом выбрать?Какую систему центрального управления автопливом выбрать?
Какую систему центрального управления автопливом выбрать?
Газон Сервис Irrigation
АВТОМАТИЧЕСКИЙ ПОДБОР ПАРАМЕТРОВ ВНЕШНЕЙ СРЕДЫ ПРИ ГЕНЕРАЦИИ АВТОМАТНЫХ ПРОГР...
АВТОМАТИЧЕСКИЙ ПОДБОР ПАРАМЕТРОВ ВНЕШНЕЙ СРЕДЫ ПРИ ГЕНЕРАЦИИ АВТОМАТНЫХ ПРОГР...АВТОМАТИЧЕСКИЙ ПОДБОР ПАРАМЕТРОВ ВНЕШНЕЙ СРЕДЫ ПРИ ГЕНЕРАЦИИ АВТОМАТНЫХ ПРОГР...
АВТОМАТИЧЕСКИЙ ПОДБОР ПАРАМЕТРОВ ВНЕШНЕЙ СРЕДЫ ПРИ ГЕНЕРАЦИИ АВТОМАТНЫХ ПРОГР...
ITMO University
ВНЕСЕНИЕ ИЗМЕНЕНИЙ В АВТОМАТНЫЕ ПРОГРАММЫ
ВНЕСЕНИЕ ИЗМЕНЕНИЙ В АВТОМАТНЫЕ ПРОГРАММЫВНЕСЕНИЕ ИЗМЕНЕНИЙ В АВТОМАТНЫЕ ПРОГРАММЫ
ВНЕСЕНИЕ ИЗМЕНЕНИЙ В АВТОМАТНЫЕ ПРОГРАММЫ
ITMO University
кибернетика в нашей жизни верно
кибернетика в нашей жизни вернокибернетика в нашей жизни верно
кибернетика в нашей жизни верно
Ludmila1990
СОВМЕСТНОЕ ПРИМЕНЕНИЕ КОНТРАКТОВ И ВЕРИФИКАЦИИ ДЛЯ ПОВЫШЕНИЯ КАЧЕСТВА АВТОМАТ...
СОВМЕСТНОЕ ПРИМЕНЕНИЕ КОНТРАКТОВ И ВЕРИФИКАЦИИ ДЛЯ ПОВЫШЕНИЯ КАЧЕСТВА АВТОМАТ...СОВМЕСТНОЕ ПРИМЕНЕНИЕ КОНТРАКТОВ И ВЕРИФИКАЦИИ ДЛЯ ПОВЫШЕНИЯ КАЧЕСТВА АВТОМАТ...
СОВМЕСТНОЕ ПРИМЕНЕНИЕ КОНТРАКТОВ И ВЕРИФИКАЦИИ ДЛЯ ПОВЫШЕНИЯ КАЧЕСТВА АВТОМАТ...
ITMO University
ПРОГРАММНО-АППАРАТНЫЙ КОМПЛЕКС ДЛЯ ИССЛЕДОВАНИЯ АВТОМАТНОГО УПРАВЛЕНИЯ МОБИЛЬ...
ПРОГРАММНО-АППАРАТНЫЙ КОМПЛЕКС ДЛЯ ИССЛЕДОВАНИЯ АВТОМАТНОГО УПРАВЛЕНИЯ МОБИЛЬ...ПРОГРАММНО-АППАРАТНЫЙ КОМПЛЕКС ДЛЯ ИССЛЕДОВАНИЯ АВТОМАТНОГО УПРАВЛЕНИЯ МОБИЛЬ...
ПРОГРАММНО-АППАРАТНЫЙ КОМПЛЕКС ДЛЯ ИССЛЕДОВАНИЯ АВТОМАТНОГО УПРАВЛЕНИЯ МОБИЛЬ...
ITMO University
ДЕТЕКТОРЫ ОСОБЕННОСТЕЙ В МЕТОДЕ ВИОЛЫ–ДЖОНСА, ПОСТРОЕННЫЕ НА ОСНОВЕ КОНЕЧНЫХ ...
ДЕТЕКТОРЫ ОСОБЕННОСТЕЙ В МЕТОДЕ ВИОЛЫ–ДЖОНСА, ПОСТРОЕННЫЕ НА ОСНОВЕ КОНЕЧНЫХ ...ДЕТЕКТОРЫ ОСОБЕННОСТЕЙ В МЕТОДЕ ВИОЛЫ–ДЖОНСА, ПОСТРОЕННЫЕ НА ОСНОВЕ КОНЕЧНЫХ ...
ДЕТЕКТОРЫ ОСОБЕННОСТЕЙ В МЕТОДЕ ВИОЛЫ–ДЖОНСА, ПОСТРОЕННЫЕ НА ОСНОВЕ КОНЕЧНЫХ ...
ITMO University
Презентация системы мониторинга и диспетчеризации (заметки)
Презентация системы мониторинга и диспетчеризации (заметки)Презентация системы мониторинга и диспетчеризации (заметки)
Презентация системы мониторинга и диспетчеризации (заметки)
Sergei Smalkov
АВТОМАТИЧЕСКИЙ СИНТЕЗ СИСТЕМЫ УПРАВЛЕНИЯ МОБИЛЬНЫМ РОБОТОМ ДЛЯ РЕШЕНИЯ ЗАДАЧИ...
АВТОМАТИЧЕСКИЙ СИНТЕЗ СИСТЕМЫ УПРАВЛЕНИЯ МОБИЛЬНЫМ РОБОТОМ ДЛЯ РЕШЕНИЯ ЗАДАЧИ...АВТОМАТИЧЕСКИЙ СИНТЕЗ СИСТЕМЫ УПРАВЛЕНИЯ МОБИЛЬНЫМ РОБОТОМ ДЛЯ РЕШЕНИЯ ЗАДАЧИ...
АВТОМАТИЧЕСКИЙ СИНТЕЗ СИСТЕМЫ УПРАВЛЕНИЯ МОБИЛЬНЫМ РОБОТОМ ДЛЯ РЕШЕНИЯ ЗАДАЧИ...
ITMO University
Seconfig prog manual_2_0_0_45
Seconfig prog manual_2_0_0_45Seconfig prog manual_2_0_0_45
Seconfig prog manual_2_0_0_45
Victor Bykov
Какую систему центрального управления автопливом выбрать?
Какую систему центрального управления автопливом выбрать?Какую систему центрального управления автопливом выбрать?
Какую систему центрального управления автопливом выбрать?
Газон Сервис Irrigation

More from Андрей Антонов (12)

Сканирующие лазерные дальномеры (LIDAR)
Сканирующие лазерные дальномеры (LIDAR)Сканирующие лазерные дальномеры (LIDAR)
Сканирующие лазерные дальномеры (LIDAR)
Андрей Антонов
Заразительная робототехника на МикРобах (Робофест-2016)
Заразительная робототехника на МикРобах (Робофест-2016)Заразительная робототехника на МикРобах (Робофест-2016)
Заразительная робототехника на МикРобах (Робофест-2016)
Андрей Антонов
Применение технологии Bluetooth Smart в транспортных средствах
Применение технологии Bluetooth Smart в транспортных средствахПрименение технологии Bluetooth Smart в транспортных средствах
Применение технологии Bluetooth Smart в транспортных средствах
Андрей Антонов
Выбираем осциллограф. Часть I
Выбираем осциллограф. Часть IВыбираем осциллограф. Часть I
Выбираем осциллограф. Часть I
Андрей Антонов
Заразительная робототехника на МикРобах
Заразительная робототехника на МикРобахЗаразительная робототехника на МикРобах
Заразительная робототехника на МикРобах
Андрей Антонов
Управление с обратной связью в БПЛА
Управление с обратной связью в БПЛАУправление с обратной связью в БПЛА
Управление с обратной связью в БПЛА
Андрей Антонов
Робототехника и встраиваемые системы
Робототехника и встраиваемые системыРобототехника и встраиваемые системы
Робототехника и встраиваемые системы
Андрей Антонов
Задача SLAM
Задача SLAMЗадача SLAM
Задача SLAM
Андрей Антонов
Процесс создания робота
Процесс создания роботаПроцесс создания робота
Процесс создания робота
Андрей Антонов
Проблема локализации мобильного робота
Проблема локализации мобильного роботаПроблема локализации мобильного робота
Проблема локализации мобильного робота
Андрей Антонов
Программирование беспилотного автомобиля
Программирование беспилотного автомобиляПрограммирование беспилотного автомобиля
Программирование беспилотного автомобиля
Андрей Антонов
Сканирующие лазерные дальномеры (LIDAR)
Сканирующие лазерные дальномеры (LIDAR)Сканирующие лазерные дальномеры (LIDAR)
Сканирующие лазерные дальномеры (LIDAR)
Андрей Антонов
Заразительная робототехника на МикРобах (Робофест-2016)
Заразительная робототехника на МикРобах (Робофест-2016)Заразительная робототехника на МикРобах (Робофест-2016)
Заразительная робототехника на МикРобах (Робофест-2016)
Андрей Антонов
Применение технологии Bluetooth Smart в транспортных средствах
Применение технологии Bluetooth Smart в транспортных средствахПрименение технологии Bluetooth Smart в транспортных средствах
Применение технологии Bluetooth Smart в транспортных средствах
Андрей Антонов
Заразительная робототехника на МикРобах
Заразительная робототехника на МикРобахЗаразительная робототехника на МикРобах
Заразительная робототехника на МикРобах
Андрей Антонов
Управление с обратной связью в БПЛА
Управление с обратной связью в БПЛАУправление с обратной связью в БПЛА
Управление с обратной связью в БПЛА
Андрей Антонов
Робототехника и встраиваемые системы
Робототехника и встраиваемые системыРобототехника и встраиваемые системы
Робототехника и встраиваемые системы
Андрей Антонов
Проблема локализации мобильного робота
Проблема локализации мобильного роботаПроблема локализации мобильного робота
Проблема локализации мобильного робота
Андрей Антонов
Программирование беспилотного автомобиля
Программирование беспилотного автомобиляПрограммирование беспилотного автомобиля
Программирование беспилотного автомобиля
Андрей Антонов

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

  • 1. Робототехника 16 www.soel.ru современная электроника ◆ № 4 2015 Вход (уставка) Регулятор Привод Объект Внешние возмущения Шумы измерения Датчики В статье представлены базовые понятия теории автоматического управления и рассмотрены практические моменты компьютерной реализации управления движением мобильного робота. Андрей Антонов (Волгоград) Специальный проект журнала «Современная электроника» и сайта robotosha.ru Теория и практика автоматического управления в робототехнике Р о б о т о ша Автоматическое управление Одной из основных задач, решае­ мых в робототехнике, является задача управления. Если техническая систе­ ма работает без участия человека, то её называют «автоматическая систе­ ма». Разработкой общих принципов реализации автоматического управле­ ния, методов анализа и синтеза систем автоматического управления занимает­ ся научная дисциплина под названием «Теория автоматического управления» (ТАУ). ТАУ является частью технической кибернетики – науки, изучающей про­ цессы управления и обработки инфор­ мации в технических системах. Зача­ стую в качестве синонима названию «Теория автоматического управления» используется «Теория автоматического регулирования». В зарубежной литерату­ ре применяется термин "Control Theory". Сталкиваясь с задачами управления, мы всегда имеем дело с двумя объек­ тами – управляемым, или объектом управления, и управляющим, который называют регулятором или контролле­ ром. Воздействие регулятора на объ­ ект управления производится обыч­ но через исполнительные устройства, называемые приводами. Приводы уси­ ливают и преобразуют сигнал управле­ ния. Например, электрический управ­ ляющий сигнал трансформируется в перемещение руки манипулятора в промышленном роботе. Для «осяза­ ния» регулятором объекта управления используются датчики – устройства, измеряющие те характеристики объ­ екта, которыми необходимо управ­ лять. Различные элементы обменивают­ ся между собой информацией, исполь­ зуя каналы связи, в качестве которых может выступать электрический ток, воздух (пневматические системы), жид­ кость (гидравлические системы), ком­ пьютерные сети [1]. Для реализации управления техниче­ ской системой используется принцип обратной связи. Основная идея обрат­ ной связи состоит в том, что текущее значение на выходе системы непре­ рывно сравнивается с требуемым эта­ лонным значением (уставкой) и состо­ яние входа системы корректируется таким образом, чтобы свести к нулю любое отклонение выхода от уставки. Другими словами, если значение кон­ тролируемого физического параметра на выходе велико, то производятся кор­ ректировки параметра на входе, кото­ рые приводят к снижению выходной величины. Если же значение на выхо­ де меньше уставки, то вход корректи­ руется таким образом, чтобы увеличить значение на выходе системы. Таким образом, реализуется управление по ошибке, стремящееся свести рассогла­ сование к нулю. Поскольку информа­ ция в системе с обратной связью пере­ даётся по замкнутому контуру, то такие системы ещё называют замкнутыми системами. Обобщённо идея управления состоит в использовании информации о состо­ янии объекта для выработки управля­ ющего сигнала. Схема системы управ­ ления с обратной связью показана на рисунке 1. Если же выход системы в расчёт не принимается, то такая система является разомкнутой. В ней регулятор не полу­ чает никакой информации о реальном состоянии объекта. В этом случае, что­ бы иметь возможность построить про­ грамму управления, должно быть точно известно поведение объекта управле­ ния. Разомкнутые системы часто назы­ вают системами программного управ­ ления. Примером системы программ­ ного управления является электронное информационное табло. Структурная схема разомкнутой системы управле­ ния приведена на рисунке 2. Типы задач, решаемых с исполь­ зованием автоматических систем управления: ●● стабилизация – это поддержание заданного режима работы (уставка равна константе); ●● программное управление – это управление с использованием задан­ ной программы. В этом случае зада­ ющий сигнал меняется, но является заранее неизвестным; ●● слежение за неизвестным сигналом.Рис. 1. Система автоматического управления с обратной связью
  • 2. Робототехника 17www.soel.ruсовременная электроника ◆ № 4 2015 Регулятор Программа Привод Объект Внешние возмущения kp (пропорциональный) ki (интегральный) e u ∑ Регуляторы Рассмотрим, каким образом могут быть реализованы регуляторы в систе­ мах автоматического управления. Первым вариантом является реализа­ ция пропорционального управления, когда величина коррекции уставки пропорциональна величине ошибки. В результате небольшая ошибка будет приводить к небольшой корректиров­ ке, а большая ошибка приведёт к боль­ шому корректирующему действию. То есть выходной сигнал регулятора up (t) будет пропорционален ошибке слеже­ ния e(t): up (t) = kp e(t), kp > 0, где kp – усиление регулятора, положи­ тельная константа. Фактически пропорциональный ре- гулятор является усилителем. При использовании пропорционально­ го, или, как его ещё называют, П-ре­ гулятора, выход системы будет всег­ да меньше значения уставки. При­ чиной является то, что П-регулятор имеет на выходе ненулевое значение только в случае ненулевого входа. Если ошибка слежения отсутствует, то про­ порциональный регулятор не создаёт выходного сигнала. Практически на входе мы всегда будем иметь ненуле­ вое значение в стационарном состоя­ нии. Следствием этого будет сохране­ ние некоторой статической ошибки. Эта ошибка может быть уменьшена за счёт увеличения усиления регулято­ ра kp , но при слишком больших значе­ ниях это может привести к автоколе­ баниям и потере устойчивости систе­ мы. Значение регулируемой величины в П-регуляторе никогда не стабилизи­ руется на заданном значении, поэто­ му для устранения статической ошиб­ ки нам нужен другой способ. Конеч­ но, можно изначально задать большее значение уставки, но существует вид регулятора, который позволяет устра­ нить статические ошибки автоматиче­ ски. Это приводит нас к интегрально­ му управлению. Интегральное управление – это стра­ тегия, основанная на общей накоплен­ ной ошибке. П-регулятор основывает­ ся только на отслеживании мгновенной ошибки. Если ошибка слежения мала, то пропорциональный регулятор теря­ ет свою эффективность (так как резуль­ тирующие корректировки также будут малы). Одним из способов «усиления» таких маленьких статических оши­ бок является использование накоплен­ ной ошибки с течением времени, что обеспечивает значительный уровень управляющего сигнала. С другой сторо­ ны, если ошибка слежения равна нулю, то накопленное значение также будет нулевым. В этом заключена идея инте­ грального управления. Выход интегрального регулятора пропорционален интегралу ошибки слежения за промежуток времени: где ki > 0 – константа. В случае дискретного времени в циф­ ровых системах интеграл заменяется суммой ошибок, и интегральный регу­ лятор реализуется в виде сумматора значений ошибок. Этот подход легко реализуется в виде схемы рекурсивно­ го обновления [2]: Et = δt et + Et-1 , ui,t = ki Et , где Et – накопленная ошибка на временно′м шаге t, ki – интегральное усиление и ui,t – выход интегрального регулятора в момент времени t. Эта дискретная схема обновления предполагает, что управляющие дей­ ствия производятся периодически. Коэффициент δt представляет собой промежуток времени между последо­ вательными управляющими воздей­ ствиями, выраженный в единицах измерения времени (если мы изме­ ряем время в секундах и производим 100 управляющих действий в секунду, то δt = 0,01, если же мы измеряем время в днях и производим одно обновление в день, тогда δt = 1). Конечно, δt мог­ ло бы быть включено в коэффициент усиления регулятора ki , но это озна­ чало бы, что при изменении часто­ ты обновления усиление регулятора тоже бы изменилось. Поэтому лучше их разделять: δt включает временно′й интервал между последовательными обновлениями, а ki независимо управ­ ляет вкладом интегрального члена на выход регулятора. Зачастую пропорциональный и ин- тегральный регуляторы включаются в схему параллельно (см. рис. 3). Такая реализация называется пропорцио­ нально-интегральным регулятором, или ПИ-регулятором, который наибо­ лее часто используется на практике. Выход интегрального регулятора зависит не только от мгновенного зна­ чения ошибки, но и от интеграла (или суммы) наблюдаемых ошибок слеже­ ния с начального момента времени. Эта зависимость от предыдущих зна­ чений приводит к тому, что интеграль­ ный регулятор обладает нетривиальной динамикой, которая может изменить качественное поведение всей замкну­ той системы. В частности, интеграль­ ный регулятор может приводить к коле­ баниям, даже если управляемая систе­ ма им не подвержена. При сохранении положительной ошибки слежения ин- тегральная составляющая в регуляторе начнёт расти и результатом будет поло­ жительное значение входа системы, которое сохраняется даже после того, как ошибка слежения будет устране­ на. Вследствие чего выходной сигнал системы управления будет «прома­ хиваться», и ошибка слежения станет отрицательной. В свою очередь ошиб­ Рис. 2. Система программного управления Рис. 3. Схема ПИ-регулятора
  • 3. Робототехника 18 www.soel.ru современная электроника ◆ № 4 2015 kp ( пропорциональный) ki (интегральный) kd (дифференциальный) e u ∑ ка слежения уменьшает значение инте­ грального компонента. В зависимости от выбранных значе­ ний для коэффициентов усиления регу­ лятора kp и ki , эти колебания могут зату­ хать более или менее быстро. Настрой­ ка регулятора представляет собой поиск таких значений параметров, которые бы приводили к приемлемо­ му динамическому поведению систе­ мы с обратной связью. Одним из основных положений ТАУ является линейность отношения меж­ ду входом и выходом управляемого объ­ екта: y = Hu. Это означает, что в устано­ вившемся режиме мы имеем ненуле­ вой выход при отличном от нуля входе. В цепи обратной связи мы пытаемся минимизировать ошибку слежения, но также мы используем эту ошибку в каче­ стве входа регулятора. Каким же обра­ зом при отсутствии ошибки мы можем поддерживать выход ненулевым? В случае с пропорциональным регу­ лятором этого сделать нельзя. При про­ порциональном управлении системе необходимо поддерживать остаточную, отличную от нуля, ошибку слежения для того, чтобы получить не­нулевой выход. Но мы можем управлять ошиб­ кой слежения вплоть до нуля и при этом сохранить выход системы управ­ ления ненулевым, при условии, что мы можем включить интегральное звено в ре­гулятор. Можно также включить дифферен­ циальное звено в регулятор. В то вре­ мя как интегральное звено отслежива­ ет прошлые значения, дифференциаль­ ный регулятор пытается предвидеть будущее. Производная является ско­ ростью изменения некоторой вели­ чины. Так, если производная ошибки слежения положительна, это означа­ ет, что ошибка слежения в настоящий момент растёт. И наоборот. Таким образом, корректировку можно про­ изводить сразу, противодействуя, тем самым, росту ошибки, даже если её зна­ чение ещё мало. Выход дифференциального регуля­ тора пропорционален производной ошибки слежения: где kd > 0 – константа. В случае компьютерной реализации с дискретным временем, можно аппрок­ симировать производную e, изменени­ ем e с предшествующего момента вре­ мени. Дифференциальный регулятор может быть реализован в виде: где δt – временно′й интервал между последовательными обновлениями. Подобно интегральному регулятору, дифференциальный регулятор зависит от предыдущих значений и, следова­ тельно, привносит свою нетривиаль­ ную динамику в систему. Интегральные регуляторы очень «доброжелательны» и часто исполь­ зуются вместе с пропорциональными регуляторами, что нельзя сказать о диф­ ференциальном управлении. Пробле­ мой в последнем случае является потен­ циальное присутствие высокочастот­ ного шума на входе регулятора. Шумовая составляющая будет ос- циллировать возле нулевой отмет­ ки и, таким образом, в интегральном регуляторе она аннулируется. Однако если взять производную зашумлённого сигнала, то это только усилит влияние шума. Поэтому часто бывает необходи­ мо сглаживание сигнала. Это добавля­ ет сложности и нетривиальной дина­ мики в регулятор. Также появляется риск «потери цели» при дифференци­ альном управлении. Если сгладить сиг­ нал слишком сильно, то будут терять­ ся изменения в сигнале, которые дол­ жен использовать дифференциальный регулятор. Ещё одной проблемой, связанной с дифференциальным управлением, является влияние резкого изменения уставки, что приводит к моменталь­ ному скачку значения на выходе диф­ ференциального регулятора. В то время как пропорциональное управление занимает центральное место в системах с обратной связью, а интегральное управление требуется для устранения статической ошибки, на практике дифференциальное управ­ ление используется не так уж и часто. Это не должно быть неожиданностью. Исследования показывают, что более 95% регуляторов, используемых в раз­ личных прикладных областях, принад­ лежат к типу ПИ-регуляторов [2]. Регулятор, включающий все три ком­ понента (пропорциональный, инте­ гральный и дифференциальный), на­зывают ПИД-регулятором (см. рис. 4). Выход этого регулятора представляет собой комбинацию трёх его составля­ ющих: Такая форма представления удобна для теоретической работы. Для практи­ ческих приложений используется аль­ тернативное представление, в котором коэффициенты объединены в общий коэффициент усиления: Оба новых параметра Ti и Td имеют ту же размерность, что и время. Обе формулы для uPID (t) эквивалентны и их параметры соотносятся как: Конечно, числовые значения параме­ тров различны. При сравнении значе­ ний параметров регулятора нужно не забыть, к какому из двух представлений они относятся. В схемах обновления с дискретным временем интегральная и дифферен­ циальная составляющие достаточно просто реализуются в программном коде. Следующий класс реализует ПИД- контроллер: class PidController: def __init__( self, kp, ki, kd=0 ): self.kp, self.ki, self.kd = kp, ki, kd self.i = 0 self.d = 0 self.prev = 0 def work( self, e ): self.i += DT*e self.d = ( e - self.prev )/DT self.prev = e return self.kp*e + self. ki*self.i + self.kd*self.d Здесь множитель DT обозначает раз­ мер шага δt, который задаёт интервал между последовательными управля­ ющими воздействиями и выражается в тех же единицах, что и время. Рис. 4. Схема ПИД-регулятора
  • 4. Робототехника 19www.soel.ruсовременная электроника ◆ № 4 2015 Цифровая часть АЦП АЦП ЦАПРегулятор C(z) Привод Датчик Объект P(s) Тактовый генератор R(t) Y(t) + – Rk Yk Uk ∑ Пример реализации цифровой части системы управления движением мобильного робота Большинство современных регулято­ ров, использующихся в системах управ­ ления, реализуются с применением микроконтроллеров и микропроцес­ соров. В случае реализации контрол­ лера на базе компьютерной системы управления процесс чтения с аналого­ вых входов и установка выходов в опре­ делённые состояния происходят с неко­ торой периодичностью. По сравнению с вариантом аналоговой реализации это является недостатком, так как процесс выборки вносит временну′ю задержку в контур управления. На рисунке 5 пока­ зана общая структурная схема системы управления, на которой выделена циф­ ровая часть [3]. При программной реализации зако­ на управления удобно будет разделить последовательность команд при обра­ ботке прерывания на четыре функции, как это показано на рисунке 6. Очень важно чтение входного сигнала с дат­ чиков и синхронизация записи управ­ ляющего сигнала в цифро-аналоговый преобразователь (ЦАП) с правильной частотой. Поэтому эти процессы нахо­ дятся в первой функции. В следующей функции, после сохранения значе­ ния счётчика и извлечения значений ЦАП, которые уже вычислены на пре­ дыдущем шаге, генерируются значения эталонных напряжений. Следом идут функции, включающие фильтры, кото­ рые производят скалярное или же век­ торное управление выходами. Наконец, реализуется пользовательский интер­ фейс для проверки значений параме­ тров, а также для дальнейшей настрой­ ки и отладки. Создание эталонной траектории является стартовой точкой. Эталон­ ная траектория используется в качестве целевого значения в процессе управле­ ния и представляет собой набор значе­ ний уставки при каждой обработке пре­ рывания. В связи с этим она называется профилем движения. Правильное соз­ дание этого профиля важно, посколь­ ку из-за того, что целью практического сервоуправления является не регулиро­ вание, а слежение, ошибки отслежива­ ния и фиксации очень чувствительны к нему. Общий профиль трапециевид­ ной формы вычисляется просто и тре­ бует постоянного тока в периоды уско­ рения и замедления. Однако сильные толчки (вследствие резких измене­ ний ускорения и, следовательно, рез­ ких изменений приложенной силы) могут являться причиной серьёзных повреждений в динамических системах и вызывать нежелательные вибрации. Поэтому нужен сглаженный профиль, что требует более затратных по време­ ни вычислений. Простой профиль дви­ жения можно задать при помощи поли­ нома третьей степени: y(t) = a + bt + ct 2 + dt 3 , у . (t) = b + 2ct + 3dt 2 , y .. (t) = 2c + 6dt. На практике, уравнения, описываю­ щие профиль движения, нормализуют и программируют в виде функций. При­ няв ограничения: y(0) = 0, y(1) = 1, у . (0) = 0, у . (1) = 0, получим уравнения, которые уже реа­ лизуются в программном коде: Здесь S – расстояние и T – время дви­ жения. Во время работы для высокоскорост­ ных сервосистем профиль скачка явля­ ется константой, с большими измене­ ниями на старте и при остановке. Это означает, что требуется высокая меха­ ническая прочность. Даже при том, что вычислительные затраты возра­ стут, возможно использование профи­ лей, описываемых полиномами пято­ го или седьмого порядка, для того, что­ бы удовлетворить условиям ускорения или скачка. Профиль движения часто сохраняет­ ся в оперативной памяти (ОЗУ) в виде таблицы или же помещается в функ­ цию Reference_Generate() обработ­ ки прерывания, как это показано на рисунке 6. В большинстве задач сле­ жения в сервоуправлении создаётся профиль позиции. Тем не менее ско­ рость и ускорение, также вычисляе­ мые в функции обработки прерывания в реальном времени, используются как входы для предуправления. Они улуч­ шают результаты отслеживания и рабо­ ты алгоритма: POSref = PosTabe (указатель) × Расстояние VELref = POSref – POSref, old (1) ACCref = VELref – VELref, old . Здесь VELref и ACCref не имеют реаль­ ных эталонных значений скорости и ускорения. На практике эталонная скорость масштабируется на время прерывания, а ускорение – на квадрат времени прерывания, соответственно. Кроме того, ограничение разрядно­ сти регистров цифрового сигнально­ го процессора (DSP) или микропроцес­ сора может стать причиной ошибок. Происходит это из-за потери знача­ щих разрядов во время вычисления профиля скорости из профиля пози­ ции с использованием простой форму­ лы разности в алгоритме (1). Это озна­ Рис. 5. Цифровая часть системы управления
  • 5. Робототехника 20 www.soel.ru современная электроника ◆ № 4 2015 Control_interrupt() { Read_Write(); Reference_Generate(); Output_Process(); Output_Debug(); } Обработчик прерывания НАЧАЛО Обработчик прерывания КОНЕЦ Выборка энкодера Выборка ЦАП, АЦП Генерация уставки Регулятор Цифровой фильтр чает, что профиль скорости включа­ ет периодический сигнал шума. Этот вид цифровой ошибки создаёт реаль­ ный шум в движении и ухудшает рабо­ ту системы управления, если профили скорости, ускорения и скачка исполь­ зуются в качестве входов для систем предуправления в высокоскоростном слежении. Взамен простой разности в алгорит­ ме (1) можно использовать численные дифференциальные уравнения (2) с обратными дифференциалами пер­ вого порядка: (2) . Сохранение каждого профиля в виде таблицы может быть ещё одним спо­ собом, но только при условии наличия достаточного количества памяти. Важно отметить, что задание макси­ мальных значений параметров движе­ ния в управляющей системе, таких как скорость, ускорение или даже скачок, следует производить на шаге созда­ ния профиля. Если профиль позволяет системе нарушать заданные ограниче­ ния, то вероятность непредсказуемо­ го поведения в процессе эксплуата­ ции сильно возрастает при пропуске импульсов энкодером. Системы, работающие с непрерыв­ ным временем, преобразуются в систе­ мы с дискретным временем, используя Z-преобразование. Система с дискрет­ ным временем используется для полу­ чения математической модели, которая описывает динамику физического про­ цесса в точках выборки, хотя физиче­ ский процесс всё ещё является систе­ мой непрерывного времени. Преоб­ разование Лапласа используется для анализа системы управления в обла­ сти изображений, используя комплекс­ ные числа. В большинстве случаев при разработке контроллеров и фильтров используются инструменты в области изображений. Для того чтобы реали­ зовать это в виде программного кода, необходимо понять Z-преобразование. Все контроллеры и фильтры, созданные в области изображений, могут быть лег­ ко преобразованы в программном коде через Z-преобразование, являющееся видом цифровых разностных после­ довательностей. В качестве примера рассмотрим ПИД- регулятор. В форме операторных функ­ ций этот контроллер имеет вид: . (3) Существует несколько способов пре­ образования из частотной области в дискретную. Для сохранения стабиль­ ности часто используются обратные алгоритмы Эйлера и Тастина [4]. Несмо­ тря на то, что алгоритм Тастина явля­ ется более точным, в следующей про­ цедуре используется алгоритм Эйлера. После подстановки обратного уравне­ ния Эйлера в (3) , получим следующий дискретный вид: , где Преобразуем, используя разностное уравнение: (4) . В программном коде это может выгля­ деть примерно следующим образом: (5) . Здесь pk обозначает позицию, vk – скорость, ref обозначает эталонное зна­ чение и c означает код. Сравнив параметры в (4) и (5), полу­ чим: Отсюда видно, что существует зави­ симость между проектной и кодиро­ ванной формами коэффициентов уси­ лений: При увеличении частоты выборки в той же самой системе кодирован­ ный коэффициент усиления KV дол­ жен быть увеличен, а кодированный коэффициент усиления KI должен быть уменьшен. С помощью этого мето­ да разрабатываемый регулятор может быть представлен в виде кода для циф­ рового сигнального процессора или микропроцессора. Однако для получе­ ния приемлемых результатов работы системы управления необходимо про­ водить анализ и моделирование алго­ ритмов управления. Литература 1. Поляков К.Ю. Основы теории цифровых систем управления. Учебное пособие. СПб. СПбГМТУ. 2006. 2. Janert Philipp K. Feedback Control for Computer Systems. O’Reilly. 2014. P. 39–49. 3. Siciliano Bruno, Khatib Oussama. Hand- book of Robotics. Springer. 2008. P. 153–155. 4. Pupalaikis Peter J. Bilinear Transformation Made Easy. International Conference on Signal Processing and Technology (ICSPAT). Dallas TX. 2000. Рис. 6. Процедура обработки прерывания для цифровой части системы управления