Введение
Представлен метод формирования эффективных в вычислительном плане уравнений динамики манипуляционных роботов.
В первой части дается обзор методов описания кинематики и динамики роботов. Представленные алгоритмы формирования уравнений динамики сравниваются по таким критериям, как возможность решать прямую и обратную задачи динамики, эффективность программирования, применимость к алгоритму символьных преобразований, замкнутость уравнений. Особое внимание уделяется анализу вычислительной эффективности рассматриваемых алгоритмов и их способности решать необходимую при моделировании манипуляторов прямую задачу динамики (определение движения манипулятора по действующим на него внешним моментам и силам).
В разделе 2 приводится формализация метода последовательного формирования систем координат звеньев манипулятора для описания его кинематики. Для расчета кинематических и динамических величин используются матрицы преобразования координат размера 3х3 и вектора относительных перемещений. Показано применение метода для бортового манипулятора космического корабля “Буран” и промышленного робота-манипулятора РМ-01. В разделах 3 – 5, представлен метод формирования уравнений динамики манипуляторов в форме уравнений Лагранжа II рода. Метод применим для манипуляторов с вращательными и поступательными шарнирами, соседние оси которых перпендикулярны или параллельны. Приведена оценка вычислительных затрат, необходимых для расчета кинематики и динамики манипуляторов данного типа.
В разделе 6 представлено использование языка символьных вычислений REDUCE для символьного вывода уравнений динамики манипуляторов. Приводится анализ вычислительной эффективности уравнений в символьном виде для манипуляторов с 2 и 3 степенями свободы.
Для замыкания системы уравнений динамики необходимо получить выражения для обобщенных моментов в шарнирах. Они определяются типами и параметрами двигателей, механических передач (редукторов), а также особенностями системы управления робота. В разделе 7 рассмотрены электромеханические привода общего вида с двигателями постоянного тока, обратимыми зубчатыми редукторами и замкнутыми по положению и скорости следящими системами. Представлены различные по сложности модели приводов, в которых учитываются упругость в шарнирах и нелинейные элементы: люфт, сухое трение, муфты предельного момента, тормоза.
1. Обзор методов описания кинематики и динамики манипуляционных роботов
Формирование эффективных уравнений динамики манипуляционных роботов, которые могут быть рассчитаны на ЭВМ за минимальное время, является одной из важнейших задач в робототехнике. Ее решение необходимо для моделирования динамики манипуляторов в масштабе реального времени, для разработки эффективных алгоритмов управления роботами с учетом динамики [1], для повышения эффективности исследования и разработки манипуляторов.
Одни из первых результатов в этой области принадлежат Кейну [2] и Виттенбургу [3]. Полученные ими уравнения справедливы не только для роботов, но и для более широкого класса систем, состоящих из шарнирно связанных твердых тел. В дальнейшем было разработано большое количество алгоритмов формирования динамических уравнений манипуляторов, в которых использовались различные способы описания кинематики, расчета кинематических и динамических величин, а также различные формы уравнений динамики системы тел.
Описание кинематики – это способ задания систем координат, связанных со звеньями манипулятора, и выбора параметров, которые однозначно определяют взаимное положение звеньев и конфигурацию всего манипулятора. В представлении Денавита-Хартенберга [4] начала систем координат расположены в шарнирах, а их оси формируются по правилам, которые определяются кинематикой манипулятора. В другом методе описания кинематики [5-7] локальные системы координат привязаны к центрам масс звеньев, а их оси направлены вдоль главных осей инерции. Параметры, определяемые относительно таких систем координат, удобны для динамического анализа. В настоящей работе используется метод последовательного формирования систем координат, предложенный в [8] (его описание приводится в разделе 2).
Еще одной характеристикой методов математического моделирования манипуляторов является способ расчета кинематических и динамических величин, определяющих математическую модель манипулятора. Для этого используются однородные координаты и матрицы преобразования координат размерности 4x4, определяющие относительное положение и ориентацию звеньев манипулятора [9-11]; матрицы поворотов размерности 3x3 и вектора относительных перемещений [9, 12, 13]; формулы Родриго (впервые применены в [7], далее использовались в [5, 14, 15]); ортогональные тензоры [16]; кватернионы [17]; метод векторных параметров с использованием групп Ли [18, 19].
Хотя вычислительная эффективность того или иного метода формирования динамических уравнений зависит в первую очередь от особенностей его реализации (использования рекурсивных преобразований, динамических аналогий и др.), можно отметить и существенную роль выбора подходящего способа расчета модели манипулятора. Например, матрицы преобразования однородных координат размерности 4x4, обладающие универсальностью в кинематическом описании, практически не используются в задачах реального времени из-за больших вычислительных затрат, необходимых для выполнения операций над ними [1]. В то же время, использование матриц поворотов размера 3x3 позволяет получить эффективные алгоритмы расчета кинематики и динамики, что показано в [1, 9] и в данной работе. Эффективно использование кватернионов, ортогональных тензоров (с их помощью получен самый быстрый алгоритм решения обратной задачи динамики [16]), однако в ряде задач (например, при управлении в декартовых осях, [20]) предпочтительнее использовать матричные представления.
При выводе уравнений динамики манипуляторов используются различные законы и формулировки общих уравнений динамики систем. Среди них можно выделить методы, основанные на уравнениях Лагранжа, Ньютона-Эйлера, Д'Аламбера, Гаусса, Аппеля, Кейна.
Уравнения динамики в форме Лагранжа впервые были получены в работе Uicker [11] и получили дальнейшее развитие в плане повышения эффективности в работах Kahn [10], Vukobratovic [21], Mahil [14], Renaud [22], Thomas и Tesar [13]. Все перечисленные методы позволяли решать прямую и обратную задачу динамики, были удобны в алгоритмической реализации (кроме Renaud), но обладали низкой вычислительной эффективностью. Waters и Hollerbach [9] применили рекурсивные преобразования при выводе динамических уравнений, причем в [9] при использовании матриц поворотов 3x3 было получено значительное сокращение числа операций, но эти методы позволяли решать лишь обратную задачу динамики, поэтому не были пригодны для моделирования. Рекурсивные преобразования и формулы Родриго использовали Vukobratovic и Potkonjak [21], причем их метод позволял решать и прямую задачу динамики, хотя его вычислительная эффективность и не столь высока. Значительный прогресс в сокращении числа операций достигнут в работах Renaud [22] и Li [23], также применивших рекурсивные соотношения.
Среди методов, использующих уравнения Ньютона-Эйлера и позволяющих решать прямую задачу динамики, отметим работы Vukobratovic и Stepanenko [7], Orin и Walker [24], Armstrong [25], Wang и Ravani [15]. Во всех работах применяется рекурсия, причем в [7] в результате получаются нерекурсивные выражения для динамических коэффициентов, которые можно использовать для анализа динамики. Отметим также алгоритм Balafoutis [16], в котором за минимальное число операций решена обратная задача динамики.
Использование принципа Д'Аламбера для уравнений Лагранжа позволяет получить достаточно эффективные динамические соотношения, в которых в явном виде отражены эффекты влияния вращательного и поступательного движения звеньев на динамику манипулятора [1, 26]. В работе Попова [27] получены уравнения динамики в явном виде с использованием уравнений Аппеля, позволяющие решать прямую и обратную задачи динамики. Уравнения Кейна особенно эффективны для расчета обобщенных моментов манипуляторов с замкнутыми кинематическими цепями [28, 29]. В работах Коноплева [30] для описания динамики манипуляционных систем применяются агрегативные модели; метод удобен для применения символьных преобразований. Погореловым [31] разработан пакет программ моделирования динамики широкого класса механических систем, включая роботы-манипуляторы. Интересный подход и язык программирования уравнений движения сложных механических систем, состоящих их твердых тел, предложен Сазоновым [32].
Среди самых современных методов моделирования динамики манипуляторов отметим подходы, основанные на использовании нейронных сетей [33, 34], пространственных операторов [35, 36], групп Ли [19], методов нечеткой логики [37]. Для описания динамики сложных структур (параллельных роботов, манипуляторов с большой избыточностью степеней подвижности, роботов-гуманоидов) используются методы расчета динамики в операционном пространстве роботов и другие. Полный анализ основных достижений в области моделирования динамики роботов, начиная с первых работ 60-70 годов прошлого века по 2000 г., дан Featherstone и Orin в [38].
В таблице 1 представлены результаты анализа методов описания динамики манипуляторов по форме уравнений, вычислительной
эффективности (для манипуляторов с шестью степенями свободы); также отражено, обеспечивает ли данный алгоритм замкнутость уравнений и возможность решения прямой задачи динамики.
Как показывает анализ таблицы, многие эффективные в вычислительном плане методы не обеспечивают замкнутости системы уравнений динамики, что ограничивает их применение в задачах управления, а также при анализе влияния различных динамических коэффициентов на движение манипулятора.
В последние годы для повышения эффективности уравнений динамики широко применяются символьные преобразования [5, 39, 40, 41] и алгоритмы распараллеливания вычислений [42, 43, 44]. Применение символьных преобразований, как показано в [40], способствует уравниванию различных алгоритмов по вычислительной эффективности. Поэтому важными критериями оценки алгоритма становятся хорошая алгоритмизуемость (удобство программирования), замкнутость уравнений, возможность применения символьных преобразований и алгоритмов распараллеливания.
Кроме того, можно отметить, что в работах ряда авторов [9, 45] указывается, что во многих случаях (например в задачах управления роботами) наиболее подходящим способом описания динамики являются уравнения Лагранжа. Это отмечено и в работе [46], где утверждается, что при реализации динамических алгоритмов на параллельных процессорах зависимость данных в методах, основанных на уравнениях Ньютона-Эйлера, намного сильнее, чем при использовании уравнений Лагранжа.
Форма
Уравнений
|
Авторы
Алгоритма
|
Число операций
|
Замкнутость
|
Прямая
задача
|
Х
|
+
|
|
Лагранж
(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 обозначены оси вращения его шарниров.
Рисунок 5.
Для описания кинематики робота РМ-01 свяжем с каждым из его звеньев соответствующие системы координат (рис. 6).
Отметим, что СК 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.
Достарыңызбен бөлісу: |