Формирование уравнений динамики роботов-манипуляторов
|
Форма Уравнений |
Авторы Алгоритма |
Число операций |
Замкнутость |
Прямая задача |
|
Х |
+ |
||||
Лагранж (II рода) |
Uicker/Kahn Vukobratovic/ Potconjak Hollerbach
3x3 Renaud Li |
66271 37189 2195 992 951 |
51548 5652 1719 776 842 |
+ - - - - |
+ + - + + |
Ньютон- Эйлер |
Vukobratovic/ Stepanenko Walker/Orin Wang/Ravani Wang/Ravani Luh/Walker/Paul Balafoutis/Patel/ Misra |
2907 1771 1659 903 792 489 |
2068 1345 1252 654 662 420 |
+ - - - - - |
+ + + - - - |
Д’Аламбер |
Lee/Lee/Nigam |
2963 |
2209 |
+ |
+ |
Аппель |
Попов |
2929 |
2500 |
+ |
+ |
Кейн |
Ma/Xu |
1020 |
851 |
- |
- |
Таблица 1.
В данной работе описан метод
формирования уравнений динамики в форме Лагранжа, с использованием матриц
поворотов 3x3 и векторов относительных перемещений. Он применим для манипуляторов
с параллельными и перпендикулярными осями соседних шарниров, обеспечивает
высокую вычислительную эффективность.
2. Вывод основных
кинематических соотношений
Рассмотрим n-звенный
манипулятор с вращательными шарнирами. Для описания его кинематики необходимо с
каждым из звеньев связать систему координат, относительно которой будут
рассчитываться параметры звена, а также ввести обобщенные координаты, т.е.
задать направления отсчета углов поворота звеньев.
В случае, когда соседние оси шарниров манипулятора параллельны или перпендикулярны, просто и наглядно описать кинематику робота позволяет метод последовательного формирования систем координат звеньев от основания к схвату.
С основанием
манипулятора Т0 свяжем неподвижную систему координат (СК) S0,
потребовав, чтобы одна из ее осей совпадала с осью первого поворота erot 1, а начало
находилось в центре первого шарнира - точке О1 (см. рис. 1).
Рисунок 1. Рисунок 2а. Рисунок 2б.
Теперь построим систему
координат S1, связанную с первым звеном Т1. Ее начало
выберем в центре первого шарнира. Одну из координатных осей СК S1
направим по оси первого поворота. Если ось второго поворота erot 2 || erot 1 , то направления
2-х оставшихся координатных осей выбираются с учетом геометрии звена (как
правило, одна ось расположена вдоль звена, а другая в перпендикулярном
направлении, см. рис. 2а). Если erot 2 ^ erot 1 , то одну из осей в
плоскости, перпендикулярной erot 1, направим параллельно
вектору erot 2, а третья координатная
ось будет дополнять выбранные две до правой ортогональной тройки (рис. 2б).
Таким образом, как СК S0
и S1, так и СК S1 и S2 будут иметь одну
координатную ось с общим направлением, определяемым для S0 и S1 вектором erot 1, а для S1 и S2 вектором erot 2. Поэтому матрицы перехода от S0 к S1
и от S1 к S2 будут матрицами поворотов относительно соответствующих координатных осей : Ci Î {Cx, Cy, Cz}, где Cx, Cy, Cz - матрицы поворотов
относительно осей x, y и z соответственно.
Аналогичным образом определим
системы координат S2, S3, .., Sn оставшихся
звеньев манипулятора (Si связана со звеном Ti, а ее начало Oi находится в центре
i-ого шарнира).
Для однозначного определения
СК S1, .., Sn необходимо задать
направления отсчета обобщенных координат q1, .., qn (qi определяет переход
от Si-1 к Si). С
этой целью введем вектора e0qi Î Ti-1 (направлен по одной из координатных осей СК Si-1,
перпендикулярных erot i) и e1qi Î Ti (направлен по одной
из координатных осей СК Si, перпендикулярных erot i).
Рисунок 3.
Угол qi будем отсчитывать
от eqi0 к eqi1; положительное
направление отсчета определяется поворотом от eqi0 к eqi1 относительно
вектора erot i против часовой
стрелки.
Итак, построены системы
координат звеньев и заданы обобщенные координаты манипулятора. Для полного
кинематического описания манипулятора осталось определить матрицы поворотов Ci, задающие
ориентацию соседних систем координат Si-1 и Si, и
вектора переноса li-1 = Oi-1Oi, определяющие сдвиг
между ними (l0 = 0, т.к. O0= O1; ln = OnG, где G - конечная
точка (схват) манипулятора).
С этой целью рассмотрим
манипулятор в “начальном” состоянии, т.е. при q1 = q2 = ... = qn = 0. Задав СК S0
(т.е. оси координат х0 , y0 , z0), выполним
последовательно параллельные переносы S0 в точки O1 , O2, ..., On. При этом будут
определены оси систем координат S1, ..., Sn (см. рис.
4в). Теперь легко для каждого звена определить матрицы Ci и вектора li.
На рисунках 4а-4в иллюстрируется применение метода последовательного
формирования систем координат к описанию кинематики манипулятора большого
космического манипулятора (БКМ) – бортового манипулятора космического корабля
“Буран”, рис. 4а.
Сперва рассмотрим
манипулятор в общем положении и введем локальные СК и направления отсчета углов
поворота q1, q2, ..., qn, руководствуясь описанными
выше правилами, а также используя особенности геометрии звеньев (рис. 4б).
Затем, при q1 = q2 = ... = qn = 0, находим направления
осей СК звеньев (рис. 4в). В соответствии с рисунком определяем матрицы Ci и вектора li:
C1 = Cz, C2 =
C3 = C4 = Cy, C5 = Cx, C6
= Cz;
l1 = ; l2 = ; l3 = ; l4 = ; l5 = ; l6 = ;
(lix, liy, liz определяют геометрические
размеры звеньев).
Рисунок 4а.
Рисунок 4б. Рисунок 4в.
Промышленный
робот-манипулятор РМ-01 (или PUMA 560 в иностранной литературе) – антропоморфный
манипулятор с 6 вращательными шарнирами.
На рис. 5 обозначены оси вращения его шарниров.
Отметим, что СК S0 – неподвижна, а ее начало совпадает с
началом СК S1, жестко связанной с первым звеном. На рис. 6 и 7 робот
находится в положении q1= 0o, q2= -90o, q3= 90o, q4= 0o, q5= 0o, q6= 0o. В соответствии с
рис. 6 и 7 определяем матрицы Ci и вектора li:
C1 = Cz, C2 = C3
= Cy, C4 = Cz , C5 = Cy,
C6 = Cz;
l1 = ; l2 = ; l3 = ; l4 = ; l5 = ; l6 = ;
(lix, liy, liz определяют
геометрические размеры звеньев; l6я – длина захватного
устройства).
Рисунок 6.
Далее рассмотрим применение описанного метода для получения
основных соотношений кинематики манипуляторов.
Координаты точки G (схвата
манипулятора) могут быть найдены из соотношения:
RG = li0 = C1 l1 + C1
C2 l2 + … + C1 C2 … Cn ln
= C1i li (2.1)
где принято обозначение C1i = C1 C2 … Ci
li0 - координаты вектора li в СК S0 (см. рис. 8).
Рисунок 7.
Матрица CG = C1n определяет
ориентацию СК схвата (совпадающую с СК Sn) относительно
базовой СК S0. Пара (RG, CG) задает решение
прямой задачи кинематики манипулятора.
Линейная скорость схвата определяется выражением:
VG = RG¢ = C1¢l1 + (C1¢C2
+ C1C2¢)l2 +...+( C1¢C2...Cn+..+
C1C2…Cn¢)ln (2.2)
(здесь учтено, что li¢ = 0, т.к. эти
вектора рассматриваются относительно неподвижных систем координат).
Рисунок 8.
Производные от матриц
поворотов можно вычислить с помощью вспомогательных матриц Qi:
Ci¢ = Qi
Ci qi¢
0 0 0 0 0 1 0 -1 0
где Qi = { ( 0 0 -1 ), ( 0 0 0 ), ( 1 0 0 )} при Ci = {Cx, Cy, Cz} соответственно
0 1 0
-1 0 0 0 0 0
Введем обозначение:
Vps = C1 C2 ... Cs-1 Qs Cs ... Cp
Тогда (2.2) примет вид:
VG = V11 q1¢ l1 +...+
(Vn1 q1¢ +...+ Vnn qn¢) ln
=( Vps lp) qs¢ (2.3)
Угловая скорость схвата (конечного звена) по теореме сложения угловых скоростей равна геометрической сумме угловых скоростей звеньев:
WG = WS = erot s0 qs¢ = C1s erot s qs¢ (2.4)
Теперь можно определить
матрицу Якоби манипулятора, используемую при управлении для вычисления
программных скоростей в шарнирах по желаемому движению в декартовом
пространстве, а также для анализа вырожденных конфигураций манипулятора. По
определению матрица Якоби манипулятора J(q) связывает вектора VG и WG с вектором
обобщенных координат манипулятора q = (q1, q2, ..., qn)T (символ “T” означает
транспонирование):
(VG, WG ) =
J(q) q¢ (2.5)
Из (2.5), воспользовавшись выражениями (2.3), (2.4), можно определить
компоненты матрицы Якоби:
Jvs = Vps lp; Jws = C1s erot s (2.6)
где Jvs - компоненты
первых трех строк
матрицы Якоби, Jws -
компоненты последних трех строк.
В дальнейшем, при выводе
уравнений динамики манипуляторов, нам понадобятся также выражения для
радиус-вектора Ri и скорости Vi произвольной точки Mi i-ого звена манипулятора
(см. рис. 9):
Ri = lp0 + ri0 = C1p lp + C1i ri
Vi = ( Vps qs¢) lp +
Vis
qs¢ ri (ri =ОiМi) (2.7)
Рисунок 9.
В этом параграфе будут получены уравнения динамики манипулятора с перпендикулярными или параллельными осями соседних шарниров. При их выводе будем использовать описание кинематики с помощью матриц поворотов и векторов переноса и уравнения Лагранжа II рода:
tk
(3.1)
где L = (K - P) - функция Лагранжа, K и P - кинетическая и
потенциальная энергия манипулятора; tk - момент обобщенных
сил в k-ом шарнире,
обусловленный работой привода и воздействием внешних нагрузок.
Чтобы воспользоваться
уравнениями Лагранжа, необходимо вычислить кинетическую и потенциальную энергию
манипулятора.
Для вычисления кинетической энергии воспользуемся формулой:
K = Кi, Кi = (3.2)
где Кi - кинетическая
энергия i-ого звена манипулятора; dКi - кинетическая
энергия элемента массы dmi i-ого звена:
dКi = 1/2 Vi2 dmi = 1/2 (Vi ,Vi
) dmi (3.3)
Преобразуем выражение для Vi из соотношения (2.7):
Vi = (Vps qs¢) lp + Vis qs¢ ri = (Vps qs¢) rp
где rp = (i=1,..,n)
Обозначим wp = Vps qs¢; тогда (3.3) можно
представить в виде:
dКi =1/2 (wp rp , wl rl) dmi = 1/2 Tr (wp rp rlTwl T) dmi;
здесь Tr(A) - след матрицы А.
Тогда Кi = 1/2 Tr (wp Xpl wl T), где Xpl = (3.4)
причем Xpl = (3.5)
(здесь rC,i - центр масс i-ого звена в СК Si;
Ji - матрица инерции i-ого звена манипулятора;
см. приложение I)
С учетом (3.4)
выражение для кинетической энергии манипулятора примет вид:
K = Кi = 1/2 Tr (wp Xpl wl T).
Теперь определим потенциальную энергию манипулятора как сумму потенциальных энергий его звеньев:
P = Pi;
Pi = - mi (g, rC,i0 ) = - mi (g, C1p lp + C1i rC,i);
Найдем
выражение для части уравнений (3.1), в которые входит кинетическая энергия
манипулятора:
[Tr () + Tr () –
Tr ()]
Заметим, что первое и третье слагаемые выражения в квадратных скобках равны между собой. Действительно,
= (3.6)
где обозначено .
(3.7)
Т.к. из определения
величин Vpk и Vpks следует,
что Vpks = Vpsk, то формулы (3.6) и
(3.7) совпадают.
Итак, необходимо вычислить значение:
Tr ()
(3.8)
Т.к. =Vpk, а == = + ,
то (3.8) можно представить в виде:
[ Tr () + Tr ()]
Подставив значения Xpl из формул (3.5) и
сделав, где это необходимо, переход от функции Тr к скалярному произведению,
получим:
+ (3.9)
где rp = (i=1,..,n)
Потенциальная энергия манипулятора
входит в уравнения динамики (3.1) в виде:
(3.10)
Перегруппировав
компоненты в формулах (3.9)-(3.10), можно получить уравнения динамики в виде:
или в матричной форме:
(3.11)
В уравнениях (3.11) D(q) - симметричная, положительно
определенная матрица инерции манипулятора [60] с элементами:
dks = (3.12)
- вектор кориолисовых и центробежных сил:
,
(3.13)
p - вектор гравитационных сил с компонентами:
(3.14)
Итак, получены уравнения
динамики манипулятора в форме Лагранжа. Они позволяют решать прямую и обратную
задачи динамики. Система динамических уравнений замкнута и представлена в
аналитическом виде.
Приложение I. Определение матриц инерции звеньев манипулятора.
Матрица инерции i-ого звена манипулятора имеет вид:
Ji =
Компоненты этой матрицы можно выразить через компоненты (Ii)ps тензора инерции
i-ого звена [23]:
(Ji)ps = (Ii)ps, при p¹s
(Ji)11 = 1/2 [-(Ii)11 + (Ii)22 + (Ii)33]
(Ji)22 = 1/2 [ (Ii)11 - (Ii)22 + (Ii)33]
(Ji)33 = 1/2 [ (Ii)11 + (Ii)22 - (Ii)33]
4. Оценка вычислительной эффективности уравнений динамики
В [1, 5] и других работах,
связанных с исследованием методов формирования уравнений динамики
манипуляторов, отмечается, что с вычислительной точки зрения уравнения в форме
Лагранжа неэффективны по сравнению с другими способами описания динамики. При
этом наиболее эффективные алгоритмы не представимы в замкнутом, матричном
виде, что усложняет их использование в задачах управления роботами с учетом
динамики.
Представленный в разделе 3
метод описания динамики, имеет матричную структуру и обладает довольно высокой
вычислительной эффективностью. Для ее оценки необходимо определить число
арифметических операций, требуемых для реализации алгоритма, а также количество
обращений к тригонометрическим функциям.
Распределение
вычислительных затрат, необходимых при моделировании динамики манипулятора,
представлено в таблице 2. Для указано число операций, которые
необходимо выполнить дополнительно после расчета dks. При оценивании
объемов вычислений принимались во внимание известные свойства матриц D(q)
и Hk = {} [45]: dks = dsk; = 0 при k=s³t; = ; = - при k,s³t.
Отметим, что в суммарный объем вычислений входят также затраты на
решение прямой задачи кинематики и расчет элементов матрицы Якоби манипулятора.
Число обращений к тригонометрическим функциям - 2n.
Компоненты уравнений динамики |
Число операций умножения |
N=6 |
Число операций сложения |
N=6 |
dks |
13/6 n3 + 35n2 + 71/6 n – 9 |
1790 |
11/6 n3 + 53/2 n2 + 11/3 n - 3 |
1369 |
|
13/12 n4 + 43/6 n3 – 139/12 n2 + 10/3 n |
2555 |
11/12 n4 + 16/3 n3 –
119/12 n2 + 20/3 n – 3 |
2020 |
pk |
1/2 n2 + 3/2 n + 3 |
30 |
1/2 n2 – 1/2 n + 2 |
17 |
dks pk |
13/12 n4 + 28/3 n3 +
287/12 n2 + 50/3 n - 6 |
4375 |
11/12 n4 + 43/6 n3 +
205/12 n2 + 59/6 n - 4 |
3406 |
D(q), , p |
13/12 n4 + 59/6 n3 +
299/12 n2 + 97/6 n - 6 |
4516 |
11/12 n4 + 23/3 n3 +
193/12 n2 + 28/3 n - 6 |
3476 |
Таблица 2.
Результаты, представленные
в таблице 2, характеризуют объем вычислений для манипулятора общего вида. При
рассмотрении манипулятора конкретного типа число операций сокращается, т.к.
некоторые компоненты векторов li , rC, i и матриц , Vps и Vpsk будут иметь нулевые значения.
Для манипулятора БКМ вычислительные затраты на расчет полной модели
динамики составляют 3479 операций умножения и 2503 операции сложения.
Программная реализация алгоритма расчета уравнений динамики позволяет учитывать
особенности геометрии и распределения масс для конкретных манипуляторов, что
повышает вычислительную эффективность алгоритма.
5. Описание кинематики и динамики манипуляторов с поступательными шарнирами
Рассмотрим применение метода
последовательного формирования систем координат звеньев с использованием матриц
размера 3х3 для описания кинематики и динамики манипуляторов с поступательными
шарнирами.
Выражения для пары (RG ,СG), которая
определяет решение прямой кинематической задачи, будут иметь тот же вид,
только теперь матрица преобразования систем координат соседних звеньев Сi будет единичной
матрицей, если i-ый шарнир - поступательный, а вектора li не будут
постоянными в СК Si i-ого звена:
RG = C1i li;
Ci º E если i - поступательный шарнир
Введем параметр inds, характеризующий
тип шарнира: inds =1 для вращательного шарнира, inds = 0 для
поступательного. Тогда VG можно представить в виде:
VG = RG¢ = C1¢l1 + C1 l1¢ ind1 +...+( C1¢...Cn+..+ C1…Cn¢)ln + C1C2...Cnln¢ indn
Заметим, что lp¢ = q p¢ / q p
l p , т.к. в силу выбора систем координат звеньев перемещение вдоль
поступательных шарниров всегда происходит вдоль одной из
координатных осей соответствующего звена (lp¢ = lp =0 при qp =0).
С учетом этого
перепишем выражение для VG:
VG=(V11 q1¢ (1-ind1)+C11q1¢ ind1/q1
)l1+…+(Vn1 q1¢ +..+V
nn qn¢ +C1n qn indn/qn)ln
Введем в
рассмотрение новые матрицы , связанные с Vps следующими соотношениями:
=
Тогда для VG справедливы соотношения, аналогичные по виду (2.3):
VG = (5.1)
Угловая скорость схвата при наличии поступательных шарниров имеет вид:
(5.2)
(5.1) и (5.2) определяют значения компонент матрицы Якоби:
;
Прежде, чем получить
соотношения для Ri и Vi - положения и скорости произвольной точки Мi i-ого звена
манипулятора - отметим, что если i-ый шарнир поступательный, то введенный в
разделе 2 вектор не будет постоянным в СК Si , и, следовательно,
выражения (2.7) в этом случае не могут быть использованы для формирования
кинетической и потенциальной энергии манипулятора, т.к. матрицы Ji = теряют физический
смысл. Поэтому в качестве будем брать вектор (см. рис. 10).
Рисунок
10.
Заметим, что если i-ый
шарнир поступательный, то матрица инерции i-ого звена будет определяться в СК,
полученной параллельным переносом Si в точку Оi+1.
Радиус-вектор точки
Мi представим в виде:
Тогда:
где rp = (i=1,..,n)
Итак, для случая, когда манипулятор содержит поступательные шарниры, мы
получили выражения для Ri и Vi в форме, аналогичной (2.7) из 2, когда предполагалось, что манипулятор
содержит лишь вращательные шарниры. Поэтому все дальнейшие выкладки будут
аналогичны рассмотренным выше при выводе уравнений динамики (отметим только,
что в них необходимо использовать новые значения ). Следовательно, предлагаемый метод дает возможность
получить уравнения динамики и для манипуляторов с поступательными шарнирами,
причем вид этих уравнений совпадает с (3.11) - (3.14). Отметим, что объем
вычислений, требуемых для реализации алгоритма, в этом случае сократится, т.к.
для поступательных координат структура матриц Сip и Vps упрощается.
6. Применение символьных
преобразований
Для повышения вычислительной
эффективности уравнений динамики манипулятора были получены выражения для
динамических коэффициентов в символьном виде с помощью языка аналитических
вычислений REDUCE [40]. Разработан пакет программ, позволяющий получать в
символьном виде уравнения динамики произвольного манипулятора с заданным
количеством степеней свободы.
Для получения символьных
выражений используются соотношения (3.12)-(3.14). Входными параметрами
программы на языке REDUCE являются кинематические, геометрические и
масс-инерционные параметры манипулятора. Результатом работы программы являются
уравнения динамики манипулятора или выражения для коэффициентов матрицы
инерции и моментов кориолисовых и центробежных сил инерции и силы тяжести в
символьном виде. Имеется возможность генерации фрагментов программ расчета
динамических параметров на языке ФОРТРАН.
Вычислительная эффективность
получаемых соотношений анализировалась для моделей 2-х и 3-х степенных
манипуляторов. Рассматривались манипуляторы, у которых вектора li и rCi имеют одну ненулевую
компоненту, а матрицы инерции звеньев диагональные с произвольными элементами.
Для 2-степенного
манипулятора динамические коэффициенты имеют вид (приведен фрагмент выходного
файла, сгенерированного программой символьной обработки):
Коэффициенты матрицы инерции манипулятора:
D(1,1)=cos(q2)*L1*L2*M2+I1Z+I2Z+L1**2*M2;
D(1,2)=(cos(q2)*L1*L2*M2+2*I2Z)/2;
D(2,1)=D(2,1); D(2,2)=I2Z;
Коэффициенты матриц кориолисовых и центробежных сил:
H(1,1,1)=0;
H(1,1,2)=-(sin(q2)*L1*L2*M2)/2;
H(1,2,1)=H(1,1,2);
H(1,2,2)=-(sin(q2)*L1*L2*M2)/2;
H(2,1,1)=-H(1,2,1); H(2,1,2)=0;
H(2,2,1)=0; H(2,2,2)=0;
Компоненты вектора моментов силы тяжести:
P(1)=(G*(cos(q1)*cos(q2)*L2*M2+cos(q1)*L1*M1+
2*cos(q1)*L1*M2-sin(q1)*sin(q2)*L2*M2))/2; P(2)=(G*L2*M2*(cos(q1)*cos(q2)-sin(q1)*sin(q2)))/2;
Соответствующие выражения для 3-степенного манипулятора:
Коэффициенты матрицы инерции манипулятора:
D(1,1)=2*sin(q2)**2*sin(q3)**2*(-I3X+I3Z)+ sin(q2)**2*cos(q3)*L2*L3*M3+
sin(q2)**2*(I2X-I2Z+I3X-I3Z+L2**2*M3)+
2*sin(q2)*sin(q3)*cos(q2)*cos(q3)*(I3X-I3Z)+ sin(q2)*sin(q3)*cos(q2)*L2*L3*M3+
sin(q3)**2*(I3X-I3Z)+I1Z+I2Z+I3Z;
D(1,2)=0; D(1,3)=0; D(2,1)=0;
D(2,2)=cos(q3)*L2*L3*M3+I2X+I3X+L2**2*M3;
D(2,3)=(cos(q3)*L2*L3*M3+2*I3X)/2;
D(3,1)=0; D(3,2)=D(2,3);
D(3,3)=I3X;
Коэффициенты матриц кориолисовых и центробежных сил:
H(1,1,1)=0
H(1,1,2)=(4*sin(q2)**2*sin(q3)*cos(q3)*(-I3X+I3Z)-
2*sin(q2)**2*sin(q3)*L2*L3*M3+
4*sin(q2)*sin(q3)**2*cos(q2)*(-I3X+I3Z)+
2*sin(q2)*cos(q2)*cos(q3)*L2*L3*M3+
2*sin(q2)*cos(q2)*(I2X-I2Z+I3X-I3Z+L2**2*M3)+
2*sin(q3)*cos(q3)*(I3X-I3Z)+sin(q3)*L2*L3*M3)/2;
H(1,1,3)=(4*sin(q2)**2*sin(q3)*cos(q3)*(-I3X+I3Z)-
sin(q2)**2*sin(q3)*L2*L3*M3+
4*sin(q2)*sin(q3)**2*cos(q2)*(-I3X+I3Z)+
sin(q2)*cos(q2)*cos(q3)*L2*L3*M3+ 2*sin(q2)*cos(q2)*(I3X-I3Z)+
2*sin(q3)*cos(q3)*(I3X-I3Z))/2;
H(1,2,1)=H(1,1,2);
H(1,2,2)=0; H(1,2,3)=0; H(1,3,1)=H(1,1,3);
H(1,3,2)=0; H(1,3,3)=0; H(2,1,1)=
-H(1,2,1);
H(2,1,2)=0; H(2,1,3)=0; H(2,2,1)=0;
H(2,2,2)=0;
H(2,2,3)= -(sin(q3)*L2*L3*M3)/2;
H(2,3,1)=0; H(2,3,2)=H(2,2,3);
H(2,3,3)= -(sin(q3)*L2*L3*M3)/2;
H(3,1,1)= -H(1,3,1); H(3,1,2)=0;
H(3,1,3)=0;
H(3,2,1)=0; H(3,2,2)= -H(2,3,2);
H(3,2,3)=0; H(3,3,1)=0; H(3,3,2)=0;
H(3,3,3)=0;
Компоненты вектора моментов силы тяжести: P(1)=(sin(q2)*cos(q1)*cos(q3)*G*L3*M3+
sin(q2)*cos(q1)*G*L2*(M2+2*M3)+
sin(q3)*cos(q1)*cos(q2)*G*L3*M3)/2;
P(2)=(-sin(q1)*sin(q2)*sin(q3)*G*L3*M3+
sin(q1)*cos(q2)*cos(q3)*G*L3*M3+
sin(q1)*cos(q2)*G*L2*(M2+2*M3))/2;
P(3)=(-sin(q1)*sin(q2)*sin(q3)*G*L3*M3+
sin(q1)*cos(q2)*cos(q3)*G*L3*M3)/2;
Для 2-степенного
манипулятора рассматриваемого класса объем вычислительных затрат составляет 135
и 76 сложений. Для приведенных символьных выражений: 34 и 9, т.о. вычислительная
эффективность повысилась в 5 раз. Для 3-степенного манипулятора имеем
соответственно 412 и 259 для численной модели и 135 и 47 для символьной;
повышение эффективности в 4 раза.
В дальнейшем представляет
интерес разработка оптимизационных процедур для повышения вычислительной
эффективности символьных выражений (предварительный расчет постоянных
коэффициентов, расчет тригонометрических произведений, приведение подобных членов).
Эти процедуры должны работать в автоматическом режиме, поскольку оптимизация вручную
затруднительна при большем числе степеней свободы манипулятора.
7. Модели приводов и
механических передач
Для замыкания системы
уравнений (3.11)
необходимо получить выражения для обобщенных моментов в шарнирах. Они
определяются типами и параметрами двигателей, механических передач (редукторов),
а также особенностями системы управления робота. Здесь будут рассмотрены
электромеханические привода с двигателями постоянного тока, обратимыми
зубчатыми редукторами и замкнутыми по скорости следящими системами. Будут
представлены различные по сложности модели приводов, в которых учитываются
упругость в шарнирах и нелинейные элементы: люфт, сухое трение, муфты предельного
момента, тормоза.
Рассмотрим i-ый шарнир
манипулятора. Баланс моментов для него имеет вид:
(7.1)
В этих уравнениях и - момент инерции якоря двигателя и развиваемый двигателем
электромагнитный момент, приведенные к выходу редуктора: = , , где - передаточное число редуктора, равное отношению угловых
скоростей звена и двигателя, - коэффициент
пропорциональности момента, - ток в двигателе.
Коэффициенты матрицы инерции манипулятора , компоненты вектора кориолисовых и центробежных сил , и гравитационных сил рассчитываются по формулам (3.12)-(3.14) соответственно.
Уравнения для двигателя
постоянного тока имеют вид:
где - соответственно напряжение,
сопротивление и индуктивность в обмотках двигателя; - коэффициент противо-э.д.с., . Кроме того, для скоростной следящей системы:
,
где - программная
скорость i-ого звена.
Итак, имеем следующую
систему уравнений, описывающих движение i-ого звена:
Тогда для манипулятора справедливы векторные уравнения:
(7.4)
Диагональные элементы матрицы равны ; , , и - диагональные матрицы (n x
n) с элементами , , и соответственно.
Для
позиционно-скоростной следящей системы имеем:
,
где - программное
положение i-ого звена.
Тогда справедливы векторные уравнения:
(7.4¢)
Здесь - диагональная матрица (n x
n) с элементами .
Системы (7.4) и (7.4¢) содержат уравнения
третьего порядка, однако во многих случаях (см., например, [5]) достаточно
рассматривать модели второго порядка для приводов, т.е. пренебрегать членами , т.к. время переходных процессов, связанных с перерегулированием
тока, мало по сравнению с длительностью механических переходных процессов
вследствие значительной инерционности манипуляционной системы.
Если механические передачи
манипулятора обладают люфтом, то для однозначного описания динамики
манипулятора в этом случае необходимо ввести дополнительные переменные и , задающие положение и угловую скорость валов двигателей,
которые вместе с и W определяют в любой момент состояние
манипулятора ( и приведены к выходу
редукторов). Обозначим через половину величины
люфта на выходе передачи. Тогда для всех i=1,..,n в случае, если люфт не
выбран, т.е. при , движение в i-ом шарнире задается уравнениями:
(7.5)
В противном случае, движение будет определяться уравнениями (7.1).
Кроме того, для шарниров, в которых выбран люфт, в каждый момент времени
необходимо следить за условием сохранения связи ( -момент сил реакции на выходе передаточного механизма), и, в
случае его нарушения, переходить к системе (7.5).
Рассмотрим теперь движение
манипулятора при наличии моментов сопротивления , создаваемых силами сухого трения на выходных валах
механических передач (учет сил вязкого трения не представляет труда, т.к. они
входят в уравнения в виде добавочного коэффициента к пропорциональным
обобщенным скоростям членам). Система уравнений динамики манипулятора примет
вид:
(7.6)
При момент вычисляется по
формуле , где - величина предельного момента сил сухого трения в i-ой передаче.
Если в процессе
движения станет , то для вычисления нужно сравнить (модуль момента всех
сил, действующих в i-ом шарнире), и . Если , то ; в противном случае
по i-ой координате будет выполняться условие до момента, пока не
станет .
При наличии
упругости в шарнирах уравнения (7.1) примут вид:
где - суммарный коэффициент упругости
i-ого шарнира. Если
в этом случае учесть также люфт в редукторе, то получим систему:
(7.7)
(7.8)
Заметим, что, в отличие от рассмотренной выше модели привода с люфтом
без учета упругости, здесь не требуется следить за величиной реакции в
передаче для определения момента разрыва связи, т.к. его значение может быть
найдено из анализа двух независимых переменных и : при связь окажется нарушенной.
Рассмотрим
теперь модель динамики манипулятора, который содержит на выходе редукторов
муфты предельного момента, имеющие линейную характеристику с насыщением [47]
(рис. 11). Здесь - значение момента в
передаче, когда в муфте
начнется проскальзывание: если , то и движение манипулятора описывается
системой (7.7); в противном
случае .
Остановка звеньев
производится при помощи тормозов, установленных на валах двигателей. Рассмотрим
модель торможения, при которой вал двигателя останавливается мгновенно, когда
значение программного сигнала в шарнире равно нулю, т.е. после момента включения тормоза
выполняются условия:
для
Движение i-ого звена
манипулятора можно определить из уравнения:
где рассчитывается по
формулам (7.8) с
учетом условия .
Итак,
мы получили несколько различных по сложности моделей приводов манипулятора, в
которых учитываются основные виды нелинейностей в двигателях и механических
передачах, а также наличие упругих элементов в цепи передачи движения. Они
позволяют замкнуть систему уравнений динамики манипулятора. Выбор типа модели
определяется степенью подробности, с которой требуется проводить моделирование
манипулятора и имеющимися в наличии вычислительными ресурсами.
Выводы.
Предложено математическое
описание алгоритма последовательного формирования локальных систем координат
звеньев для манипуляторов с вращательными и поступательными шарнирами,
соседние оси которых параллельны или перпендикулярны. Разработан метод
формирования уравнений динамики для такого класса манипуляторов с помощью
уравнений Лагранжа II рода.
Уравнения имеют матричный
вид, позволяют решать прямую и обратную задачи динамики, удобны для реализации
на ЭВМ. Использование матриц размера 3х3 обеспечило высокую вычислительную
эффективность уравнений; разработанная программная реализация алгоритма расчета
коэффициентов уравнений динамики позволяет проводить оптимизацию вычислительных
затрат для конкретных типов манипуляторов.
Структура полученных
уравнений допускает применение к ним символьных преобразований. Разработан
пакет программ на языке REDUCE для вывода уравнений динамики в символьном виде.
Их вычислительная эффективность в 4-5 раз превышает эффективность численных
моделей для 2-х и 3-х звенных манипуляторов.
Отметим, что, несмотря на
постоянный рост мощности компьютеров, требование высокой вычислительной
эффективности уравнений динамики остается критичным. Это объясняется тем, что,
во-первых, в системах управления роботов используются как правило относительно
медленные процессоры, и для решения уравнений динамики в реальном времени
необходимы эффективные алгоритмы расчета. А, во-вторых, сложность механических
структур современных роботов (параллельных, с избыточными степенями
подвижности, так называемых роботов-гуманоидов) требует эффективных методов
расчета динамики для задач их моделирования и управления.
Для замыкания уравнений
динамики получены выражения обобщенных моментов, развиваемых приводами
манипулятора. Рассмотрены различные модели, учитывающие упругость шарниров и
основные типы нелинейностей, обусловленных особенностями приводов и механических
передач.
1.
Фу К., Гонсалес Р., Ли К. Робототехника.- М.: Мир,
1989.
2.
Kane T., Dynamics, New York, Holt, Rihehart
and Wiston, 1968.
3. Виттенбург Й.
Динамика систем твердых тел.- М.: Мир,1980.
4. Denavit
J, Hartenberg R.S. A kinematic notation for lower-pair mechanisms based on
matrices., J. Appl. Mech., 77, 1955, c.215-221.
5. Вукобратович М.,
Стокич Д., Кирчански Н. Неадаптивное и адаптивное управление манипуляционными
роботами. - М.: Мир, 1989.
6. Попов Е.П.
Управление роботами-манипуляторами. Изв.АН СССР, Техн. киберн., 1974, N 6,
с.51-56.
7. Vukobratovic
M., Stepanenko Y. Mathematical model of general anthropomorphic systems. Math Biosciences, Vol.17, 1973, c.191-242.
8. Накано Э. Введение в
робототехнику, М.: Мир, 1988.
9.
Hollerbach J. A recursive Lagrangian formulation of
manipulator dynamics and comparative study of dynamic complication complexity.
IEEE Trans. on SMC, SMC-10, No 11, 1980, c.730-736.
10. Kahn
M.E., Roth B. The near-minimum-time control of open -loop articulated kinematic
chains, ASME J. of Dynam Syst, Measur.and
Countr., vol. 93, 1971, c.164-172.
11. Uicer
J.J. Dynamic force analysis of spatial linkages, ASME J. of appl. mech., June,
1967, c.418-424.
12. Lee
C.S.G., Lee B.H., Nigam R. Development of generalized d'Alambert Equation of
motion for mechanical manipulators, Proc 2nd conf. Decision and Control, San
Antonio, 1983, c. 1205-1210
13. Thomas
M, Tesar D. Dynamic modeling of serial manipulator arms. Trans. of ASME, vol.
104, Sept, 1982,c.218-228.
14. Mahil
S. On the application of Lagrange's method to the description of dynamic
systems. IEEE Trans. on SMC, vol SMC-12, N 6, 1982.
15. Wang
L.T., Ravani B. Recursive computations of kinematic and dynamic equations for
mechanical manipulators. IEEE J. of Rob. and Autom., vol. RA-1, N 3, Sept.
1985, c.124-131.
16. Balafoutis
C, Patel R., Misra P. Efficient modeling and computation of manipulator
dynamics using orthogonal cartesian tensors. IEEE J. of Rob. and Autom., 4, N
6, c.665-676.
17. Castelain
J.M, Bernier D. A new program based on the hipercomplex theory for automatic
generation of the direct differential model of robot manipulators . Mech.
mach. theory, vol. 25, N 1, 1990, c.69-83.
18. Mladenova
C. Mathematical modeling and control of manipulator systems. Int. J. Robotics
and computer-integrated manufacturing, vol. 8, N 4, 1991, c 233-242.
19. F.C.
Park, J. Choi, and S.R. Ploen, ”A Li Group Formulation of Robot Dynamics,”The
Int. J. of Robotics Research, Vol.14, No.6, Dec.1995.
20. Paul
R. Manipulator cartesian path control. IEEE Trans. on SMC-9, Febr, 1979, c.702-711.
21. Vukobratovic
M, Potkonjak V. Contribution to automatic forming of active chain models via
Lagrangian form. J of Appl. Mech., N 1, 1979.
22. Renaud
N. An efficient iterative analytical procedure for obtaining a robot
manipulator dynamic model. Proc. of FirstInt. Symp. of Rob. Research, Bretton
Woods, New Hampshire, USA,1983.
23. Li
C.G. A new method for dynamic analysis of robot manipulators . IEEE Trans. on
Syst., Man and Cybern., 1988, 18, N 1, c.105-114.
24. Walker
M.W., Orin D.E. Efficient dynamic computer simulation of robotic mechanisms.
ASME J. of Dyn. Syst.,Meas. and Contr., vol. 104, Sept. 1982, c.205-211.
25. Armstrong
W.W. Recursive solution to the equations of motion of an n-link manipulator.
Proc of the 5th World Congress on Theory of Mach. and Mech, Montreal, 1979, c.
1343-1346.
26. Малышев А.Б.,
Чуменко В.Н. Универсальные программы моделирования динамики манипуляционного
робота. "Роботы и РТС", Иркутск, 1983, 117-126.
27. Попов Е.П.,
Верещагин А.Ф., Зенкевич С.Л. Манипуляционные роботы: динамика и алгоритмы.- М.: Наука,
1980.
28. Huston
R.L. The use of Kane's metod in the modeling and simulation of robotic systems.
Proc. IMACS Symp. Syst. Modeling and Simul.,
Cetraro, 18-21 sept, 1988.
29. Ma
X., Xu X. A futher study of Kane's equations. Proc IEEE Int Conf Syst, Man and
Cybern, Beijing, Aug. 8-12, 1988, c.107-112.
30. Коноплев В.А.
Агрегативные модели механики систем твердых тел со структурой дерева. Изв. АН
СССР, МТТ, N 6, 1989, с 46-54.
31. Погорелов Д.Ю.,
"Алгоритмы синтеза и численного интегрирования уравнений движения систем
тел с большим числом степеней свободы", VIII Всероссийский съезд
по теоретической и прикладной механике, Пермь, 2001, с. 490.
32. И.Ю.Балабан,
Г.К.Боровин, В.В.Сазонов, “Язык программирования правых частей уравнений
движения сложных механических систем”, Препринт ИПМ им. М.В. Келдыша РАН, N 62, 1998, 22 с.
33. Dapper,
R. Maafl, V. Zahn, R. Eckmiller, Neural Force Control (NFC) Applied to
Industrial Manipulators in Interaction with Moving Rigid Objects, Proceedings
of the 1998 IEEE International Conference on Robotics & Automation, Leuven,
Belgium, May 1998.
34. S.
Jung, S. B. Yim, T. C. Hsia, Experimental Studies of Neural Network Impedance
Force Control for Robot Manipulators, Proceedings of the 2001 IEEE
International Conference on Robotics & Automation, Seoul, Korea, May 2001.
35. G.
Rodriguez, A. Jain and K. Kreutz-Delgado, "A Spatial Operator Algebra for
Manipulator Modelling and Control," Int. J. Robotics Research, vol. 10,
no. 4, pp. 371-381, 1991.
36. A.
Jain, G. Rodriguez, Computational Robot Dynamics Using Spatial Operators,
Proceedings of the 2000 IEEE International Conference on Robotics &
Automation, San Francisco, CA, April 2000.
37. M.
Emami, A. Goldenberg, I. Turksen, Fuzzy-Logic Dynamics Modeling of Robot
Manipulators, Proceedings of the 1998 IEEE International Conference on Robotics
& Automation, Leuven, Belgium, May
1998.
38. R.
Featherstone, D. Orin, Robot Dynamics: Equations and Algorithms, Proceedings of
the 2000 IEEE International Conference on Robotics & Automation, San
Francisco, CA, April 2000.
39. Cheng
P., Weng C., Chen C. Symbolic derivation of dynamic equation of motion for
robot manipulator using program symbolic method. IEEE J. Rob. and Autom, 4, N
6, 1988, c. 599-609.
40. Ju
M.S., Mansor J.M. Comparision of methods for developing the dynamics of rigid
body systems. Int. J. Rob. Res., N6, 1989, c.19-27.
41. Белоусов И.Р., “Применение метода символьных преобразований для формирования алгоритмов
параллельных вычислений в задачах кинематики и динамики роботов”, Отчет ИПМ им. М.В. Келдыша РАН № 5-19-93,
1993, 25 с.
42. Lathrop L.H. Parallelism in manipulator dynamics. Int. J. Rob. Res., vol.4, No 2, 1985, c.80-102.
43. R.
Featherstone, "A Divide-and-Conquer Articulated-Body Algorithm for
Parallel O(log(n)) Calculation of Rigid-Body Dynamics. Part 1: Basic
Algorithm," Int. Y. Robotics Research, vol. 18, no. 9, pp. 867-875, 1999.
44. A.
Fijany, I. Sharf and G. M. T. D'Eleuterio, "Parallel O(logN) Algorithms
for Computation of Manipulator Forward Dynamics," IEEE Trans. Robotics
& Automation, vol. 11, no. 3, pp. 389-400, June 1995.
45. Vukobratovic
M, Kircanski N, Real-time dynamics of manipulation robots, Springer-Verlag,
1985.
46. Han
J.-Y. Fault-tolerant computing for robot kinematics using linear arithmetic
code. IEEE Int. Conf. Robotics and Automation, Cincinnati, May May 13-18,
1990, vol. 1, c.285-290.
47. Справочник по
промышленной робототехнике.- М.: Машиностроение, 1990.