УДК 531.8:621.592
НЕЛИНЕЙНАЯ СТАБИЛИЗАЦИЯ ДВИЖЕНИЯ ОДНОКОЛЁСНОГО РОБОТА
© 2011 г. Б.Ж. Адамов
Московский энергетический институт Moscow Power Engineering Institute
(Технический университет) (Technical University)
Рассматривается одноколёсный робот (моноцикл), представляющий собой цилиндр с шар-нирно закреплённым на нём перевёрнутым маятником. Управление движением робота осуществляется при помощи электродвигателя, вращающего цилиндр относительно маятника. Объектом управления является нелинейная система, а стабилизация маятника в верхнем неустойчивом положении равновесия производится с помощью управления в виде нелинейной непрерывно дифференцируемой обратной связи по переменным состояния системы.
Ключевые слова: одноколесный робот; моноцикл; «Сигвей»; нелинейная система; нелинейное управление; нелинейная стабилизация.
The subject of this article is a single-wheel robot (monocycle), which is represented as a cylinder, connected by a joint with an inverted pendulum. The control of this robot can be exercised by using electric motor which rotates cylinder relative to the pendulum. The subject of this research is similar mechanical system, but pendulum stabilization in upper unstable equilibrium state is realized due to non linear continuously differentiable state variable feedback.
Keywords: single-wheel robot; monocycle; «Segway»; nonlinear system; nonlinear control; nonlinear stabilization.
Постановка задачи стабилизации программного движения моноцикла
Рассматриваемый колёсный робот представляет собой систему трёх абсолютно твёрдых тел, соединённых вращательными шарнирами в осях С2 и Съ (рис. 1). Оси шарниров перпендикулярны плоскости чертежа. Тело 1 — перевёрнутый маятник с жёстко скреплённым с ним мотор-редуктором, 2 — цилиндр, 3 — шестерня с жёстко прикреплённым к ней выходным валом редуктора. Массу тела 1 обозначим через т, осевой момент инерции относительно центра масс С — через /. Инерцией остальных тел системы пренебрегаем.
Симметричный относительно своей оси С2 цилиндр радиуса Я может катиться без проскальзывания и отрыва по горизонтальной поверхности вдоль прямой линии. Обозначим через х абсциссу центра цилиндра.
Маятник 1, который может колебаться в вертикальной плоскости, шарнирно закреплён на оси С2 цилиндра 2. На рис. 1 этот цилиндр вместе с закреплённым на нём перевёрнутым маят-
ником показан сбоку. Отклонение тела 1 от вертикали характеризует угол у между прямой С2 С и вертикалью, отсчитываемый против часовой стрелки. Шестерня 3 и цилиндр 2 образуют зубчатую передачу со внутренним зацеплением; радиус делительной окружности зубчатого венца шестерни обозначим через С3К = г, колеса (цилиндра)— через С2К (рис. 1). К маятнику прикреплён мотор-редуктор, выходной вал которого жёстко скреплён с шестернёй 3.
Полагаем, что C1, C2 и C3 лежат в одной плоскости, при этом C2Cl = l, C1C3 = р .
Требуется стабилизировать программное движение робота, при котором цилиндр 2 катится с постоянной угловой скоростью, а вертикально расположенный маятник 1, находящийся в верхнем неустойчивом положении равновесия, движется поступательно.
Уравнения динамики робота
Рассматриваемая механическая система в силу принятых выше допущений стеснена двусторонними голономными стационарными связями, поэтому движение моноцикла описывается уравнениями Лагранжа второго рода.
Уравнения движения рассматриваемого робота в обобщённых координатах у и x имеют вид
(/ + ml2)у - mix cos у - mgl sin у = -%Mz;
2 X
mX - mly cosу + miy sinу = -^-Mz,
R
где Mz — момент на выходном валу мотор-редуктора. В данной задаче Mz рассматривается как управляющее воздействие. Проводя нормализацию уравнений, получаем
dy _ di Y'
dy _ sin y - in2 cos y + 1 + h cos y ^
di
1 - i cos2 y
dra _ sin y cos y - y2 di
1 - i cos2 y h/. + cos y
(1)
1 - i cos2 y 1 - i cos2 y
-u,
В принятых обозначениях программное движение имеет вид
z* = (0 0 Q)T = const.
Стабилизацию его будем проводить с помощью управления u = u(y, у, ю), заданного в виде обратной связи по переменным состояния и обеспечивающего асимптотическую устойчивость программного движения. Предполагается, что величины y, у и ю определяются из непосредственных измерений, производимых с помощью датчика наклона и датчиков угловых скоростей.
Синтез управления роботом в виде нелинейной обратной связи
Отвлечёмся на некоторое время от рассматриваемой задачи. Для некоторой динамической системы вида
z' = F(z)+ uB(z), (2)
где z = z(t) , F(z) , B(z)e Rn , а u — скалярное управление, рассмотрим задачу приведения её в
* n П
некоторое состояние z e R и удержания в нём с помощью непрерывно дифференцируемого управления в виде обратной связи u = u(z).
Рассмотрим принципиальную возможность нахождения системы (2) в требуемом состоянии продолжительное время. Для этого необходимо, чтобы существовало стационарное управление
u*, такое, чтобы при z(t) = z* правая часть
уравнения (2) обращалась бы тождественно в ноль:
3u*: F(z*) + u*B(z*) = 0. (3)
где т = 0 • t — безразмерное время; 9 =
J + ml2 ' mgl
временной масштаб; j =
ml2
т , h _ — ' y J + ml2 ' R ' v
Ф
_ _ u _—M z _
mgl
z — нормализованные координа-
-ф
ты и управление, = ю. Систему (1) запишем
в векторно-матричной форме: z' = F(z)+ uB(z)
где z = (у(т) у(т) ю(т)) , F(z) , B(z)e R3 , а
' _ dz производная z = -т.
Действительно, если уравнение (3) решения и* не имеет, то достигнув состояния z*, система тут же его покинет — производная г' будет отличаться от нуля. Так же (3) — необходимое условие точной стабилизации системы в положении г*.
Если решение уравнения (3) существует, то выражается по формуле
и * = -В+ (г* Щг*) ,
где В+ = (втв)-1вт — матрица, псевдообратная к
матрице-дозатору В.
Пусть для системы (2) и требуемой точки стабилизации г* выполнено необходимое условие точной стабилизации (3). Стабилизирующее управление данной системой будем искать в виде
u(z) _ -B+ (z)(f(Az) + F(z))
(4)
+
где Дz = z - z* — отклонение системы от требуемой точки, а функция ^Лг) отвечает свойству ^0) = 0 . При этом и(г*) = и *. Так же при определении неизвестной функции ^Лг) можно учесть некоторые требования, налагаемые на динамику замкнутой системы
г = F(z) + и(г)В(г) (5)
в окрестности требуемой точки г*, например, потребовать асимптотической устойчивости решения г* по первому приближению.
Подставим в систему (5) управление в виде (4), и, умножив обе части полученного равенства
на матрицу В + (г), в силу свойств и явного вида псевдообратной матрицы получаем, что
Вт(г)( + ^Дг)) = 0 , т. е. замкнутая система (5) описывается уравнением г' = -!(Лг) + £рг- (Лг)Ь (г) ,
где векторы Ьг (г) образуют базис ядра матрицы ВТ (г), а неизвестные скалярные функции вг (Лг) удовлетворяют условию вг (0) = 0 (здесь г = 1,...^ткег Вт ). Поэтому, для того чтобы неизвестная функция ^г) могла влиять на динамику замкнутой системы (5) достаточно, чтобы для неё было справедливо представление
f(Лг) = ] (Лг)^(г) ,
где система векторов {.., Ьг,..., ~,...} линейно независима, а для функций ф ] выполнено условие
фу(0) = 0 (здесь ] = 1,...,п - ¿ткег Вт).
Вернёмся к задаче стабилизации программного движения моноцикла, сохраняя преемственность в обозначениях. В рассматриваемом случае дозатор имеет вид
B(z)
\T
1 + hcosу
. + cos у
1 - j cos2 у 1 - j cos2 у
бинацию компонент вектора Лг . Таким образом, неизвестная функция в выражении (4) имеет вид
f (Лг) = АЛг , где неизвестные коэффициенты матрицы
' 0 0 0 Л А =000 а1 а2 аз,
находились таким образом, чтобы характеристический многочлен линеаризованной в окрестности программного движения замкнутой системы (5) имел вид р(Х) = (( + X0 )3, Х0 > 0 , а
именно
a =
a2 =
1
Р2 , Рз^ 0
3p3 ^20 + h
Р2 a3 = -
0 /
*20. + A
Ч h Р1
Рз 73 —тк о , P1h
где p1 = h + j, P2 = j • (h +1), рз = p2 + p2 .
У
о.:
G.4
03: 0.2 0.1
-0.1
\ V
12 T
а базис ядра матрицы BT (z)
b1 = (1 0 0)T; ( h
b 2 = 0 — + cos у -1 - h cos у
I J
Исходя из этого, примем b1 = (0 0 1)T, а функцию ф1 будем искать как линейную ком-
Рис. 2. График изменения угла отклонения маятника от вертикали в результате регулирования. Стабилизация вертикального положения маятника
Результаты численного исследования работоспособности управления
Проведём численное исследование эффективности управления, представленного в форме (4), в задаче старта робота из неподвижного состояния и разгона его до постоянного заданного значения угловой скорости колеса. Рассмотрим систему (1) со следующими значениями параметров: ] = 0,91, h = 3,33, 0 = 0,34 с. Для Х0 = 1 неизвестные
коэффициенты в формуле равны а 1=6,86, а2=8,57, а3=—2,37. Указанная система была проинтегрирована с начальными условиями у(0) = 0,5 , у(0) = 0 , ю(0) = 0 , при этом программное значение угловой скорости ю составляло О = 1. Графики изменения переменных у(т), у(?), ю(т) представлены на рис. 2, 3 и 4. Видно, что управление в форме (4) работоспособно и стабилизирует неустойчивое программное движение робота.
ю
ш
-о.З
-0.3
2 4
/
/ /
V,'
Рис. 3. График изменения нормализованной угловой скорости маятника в результате регулирования
Заметим, что параметр X0 > 0 следует подбирать из соображений оптимизации энергозатрат на регулирование, ведь на практике величина управляющего воздействия неизбежно ограничена.
¡2 Т
Рис. 4. График изменения нормализованной угловой скорости колеса (цилиндра) в результате регулирования. Стабилизация программной угловой скорости
Также, следует отметить что, если в результате регулирования по нелинейному закону (4) движение робота стало достаточно близким к программному, то стабилизирующее управление следует искать в виде линейной обратной связи по компонентам вектора отклонения ^, обеспечивающей заданный вид характеристического многочлена линеаризованной системы. Синтез такого управления подробно изложен в [1], однако такой же результат можно получить, линеаризовав управление в форме (4) в окрестности требуемого движения z*. Линейный алгоритм в этом случае обладает огромным вычислительным преимуществом по сравнению с существенно нелинейным (4).
Y
Т
Литература
1. Мартыненко Ю. Г. , Формалъский А. М. Проблемы управления неустойчивыми системами // Успехи механики. 2005. Т. 3, №2. С. 90-103.
Поступила в редакцию 17 сентября 2010 г.
Адамов Борис Игоревич — студент, Московский энергетический институт (Технический университет). Тел. 8-963-653-40-28. E-mail: abi_001@mail.ru
Adamov Boris Igorevich — student, Moscow Power Engineering Institute (Technical University). Tel.8-963-653-40-28. E-mail: abi 001@mail.ru