Способ кодирования информации при задании геометрических моделей исполнительных механизмов роботов
Ф.Н. Притыкин, А.Ю. Осадчий
При разработке конструктивных особенностей исполнительных механизмов в робототехнических системах существует необходимость в решении ряда геометрических задач, связанных с моделированием процессов управления движением [1, 2]. Анализ взаимного положения исполнительного механизма манипулятора по отношению к заданной окружающей среде при выполнении двигательных заданий требует разработки обобщенных способов задания их геометрических моделей. При этом существует необходимость кодированного представления информации о указанных моделях [3, 4]. В настоящей работе изложен способ кодирования геометрической информации при задании исполнительных механизмов на основе использования заданного набора пространственных примитивов и их ориентации в подвижных системах координат. Предложен новый метод обозначения геометрических моделей механизмов роботов при использовании совокупностей пространственных примитивов.
Рассмотрим исполнительные механизмы роботов, представленные на рис. 1 аб. Положение узловых точек и подвижных звеньев механизма в неподвижном пространстве определяют совокупность матриц М0д, М0,2, ... , М0,пт размерности 4x4 [5, 6]. Параметр пт определяет число систем О1, О2, ..., Опт, используемых при задании геометрических моделей механизмов манипуляторов. Для излагаемых примеров задания геометрических моделей механизмов роботов пт Ф п и для первого и второго механизмов, представленных на рис. 1аб соответственно указанный параметр равен пт = 8 и пт = 10. Где п - задает число обобщенных координат механизма манипулятора. Матрицы М0,к определяют произведением матриц Мк-1, к .
Заметим, что в каждой из систем Onm может быть заданы, один или несколько объемных примитивов, в качестве которых могут выступать призма, усеченная пирамида, цилиндр вращения, усеченный конус и д.р.. Для некоторых моделей механизмов роботов при их задании могут быть использованы подвижные системы координат, в которых могут отсутствовать пространственные примитивы. Вид объемного примитива и его ориентация в системе Ok (nm > k > 1) определяют соответственно значения кодов npr и nor. В табл. 1 приведены некоторые значения кодов npr и nor в зависимости от вида объемного примитива. Из таблицы 1 ясен геометрический смысл массивов ai (a1, a2, ... anm) и переменных под массивов a1(ya, yb, za, zb, h1,a1, h2, a2), a2(yo,zo, d,0,h1, ai, h2t ai) ..., задающих соответствующий объемный примитив в подвижной системе координат. C помощью задания различных значений первых четырех элементов под массивов а1, а2, а3, ... массива ai имеется возможность формировать плоские контуры различной формы и положения относительно центра пользовательской системы координат (ПСК). Переменные a1 и a2 могут принимать как нулевые так и не нулевые значения. При этом функции (подпрограммы) Auto LISP заданные кодами npr в зависимости от этого могут строить изображения и создавать модели призмы, пирамиды, цилиндра, усеченного конуса и т. п. Параметры h1 и h2 принимают нулевые или положительные значения. В зависимости от этого примитив может располагаться по одну или две стороны относительно конструктивной плоскости ПСК. ПСК определяют вектора r0, rA, гВ, гС точек О, А, В, С задающих центр ПСК и точек располагающихся на соответствующих осях подвижной системы координат Ok (см. табл. 1). Количество объемных примитивов в подвижных системах координат определяет список nkoi .
Предлагается метод кодирования геометрической информации, сущность которого заключается в задании значений совокупностям элементов массивов. Для расчета элементов матриц Mk-1,k используют массивы lk, lsm и nkod [3]. Указанные массивы задают соответственно значения обобщенных координат (, длины звеньев механизмов lk, смещения
вдоль осей систем координат неподвижно связанных со звеньями механизма и коды преобразований систем координат пиоС . Массивы а, определяют геометрические параметры объемных примитивов. Размерность массивов (, ¡и, ¡т щосС, пы, прг, пог и а, (а], а2, а3, ... апт) является одинаковой и определяется значением параметра пт [7]. При этом в указанных массивах в общем случае могут присутствовать пустые элементы (нули), которые предназначены для обеспечения заданной одинаковой размерности массивов с целью организации циклов при расчетах. Размерность под массивов а], а2, а3, ... апт задающих геометрическую информацию об объемных примитивах при этом равна восьми. Массив а, (а], (а2\ а2/), а2, а3 ... апт) определяет два объемных примитива связанных со второй подвижной системой координат (см. табл. 1).
а б
Рис. 1 - Общий вид и геометрические параметры, задающие механизмы роботов: а - РМ-01, б - РБ-211
Выходные звенья механизмов манипуляторов, изображенных на рис. 1аб, имеют шесть степеней подвижности. Значения массивов (, ¡и, ¡т, пы, пы, прг, пог и а, для механизмов, представленных на рис. 1аб заданы в таблице 2. Условимся в дальнейшем обозначать геометрические модели механизмов с указанием в обозначении объемных примитивов и их ориентации. В этом случае обозначение МщоС1 (прг,пог) определяет соответственно код по (1^12) преобразований систем координат, код прг (1^4) объемного примитива и код пог (1^3) его ориентации. В соответствии с
указанной методикой, обозначения геометрических моделей роботов РМ-01 и РБ-211 будут следующими: М3(2,2)-2((2,2)(4,3))-12(2,2)-2((2,2)(4,3))-3(2,3)-12(2,2)-2(1,3)-3(1,3) и М3(2,3)-2(4,3)-12(0,0)-2(4,3)-12(0,0)-1(1,3)-12(2,2)-2(2,2)-12(0,0)-3(2,3). В этом случае при задании геометрических моделей используются соответственно восемь и десять систем координат. Заметим, что во второй и четвертой подвижных системах робота РМ-01 заданы два примитива. При задании изображений конфигураций робота в виде отрезков прямых значения списков щ, lk, lsm и nkod заданы в таблице 3.
На рис. 2 представлена блок-схема формирования изображений 3D модели исполнительных механизмов роботов имеющих произвольную структуру и произвольную форму звеньев механизмов. В блок-схеме приняты следующие обозначения: 1 - ввод данных: (mok - массив матриц, определяющих положение звеньев механизма; nkol - массив определяющий количество примитивов в подвижных системах координат; npr - массив кодов примитивов; nor - массив, определяющий ориентацию примитивов; a1 - массив, определяющий геометрические параметры примитивов, nk = 0; 2 - nk = (nk+1); 3 - извлечение элементов массивов mok$^(nth nk mok), nkol$^(nth nk nkol), npr$^(nth nk npr), nor$^(nth nk nor), a1$^(nth nk a1), nkoll = 0 (где, nth является функцией Автолисп); 4 - проверка условия npr$ = 0; 5 - проверка условия npr$ = 1; 6 - проверка условия npr$ = 2; 7 - проверка условия npr$ = 3; 8 - проверка условия npr$ = 4; 9 - формирование модели и изображения примитивов призмы или пирамиды с помощью функции prim_pir (на основе массивов mok$, a1$ и значения кода nor$); 10 - формирование примитивов цилиндра или усеченного конуса с помощью функции primkon; 11 - формирование примитива клин, с помощью функции prim-klin; 12 - формирование примитива ограниченного кинематической поверхностью (заданной верхним и нижним основанием) с использованием функции primkin; 13 - сообщение: «Некорректно введен код примитива»; 14 - проверка условия n > nmat (nmat
= nm); 15 - проверка условия nkoll <nkol$; 16 - nkoll = nkoll+ 1, nk = nk + nkoll, a1$ ^ (nth n al); 17 - конец.
На рис. 3 представлена блок-схема формирования изображений примитивов призмы и усеченной пирамиды с различной ориентацией. В блок-схеме рисунка 3 приняты следующие обозначения:
Таблица 1
Некоторые значения кодов npr и nor пространственных примитивов
Значения кодов npr (название функций)
1 (prim pir)
2 (prim kon)
3 (prim-klin)
4 ^ (prim kin)
Q s*
i?
g
al(ya,yb,Za,Zb,hl,0, h2,0)_
a2(yo,zo, d,0,hl, 0,h2,0)
a3(ya,yb,Za,Zb,hl,h2, 0*,0*)
a4(ya,yb, ¿a, zb,hl, ai,0,0)
Ш.
al(ya,yb, zb,hl, ai,h2,ai)
a2(y0,Z0, d,0,hl, ai, h2, ai)
a3(ya,yb,Zb,Za,hl,h2, 0*,0*)
a2(ya,yb,Za,Zb,hl,ai,
h2, a)
n
1 - Ввод данных mok$, nor$, al$; 2 - Извлечение элементов списков V0 ^ (list (nth 4 mok$) ...), VX ^ (list (nth l mok$) ...), VY ^ (list (nth 2 mok$) ...), VZ ^ (list (nth 3 mok$) ...); al ^ (nth 5 al$), a2 ^ (nth 6 al$), a3 ^ (nth 7 al$), a4 ^ (nth 8 al$). V0 - радиус-вектор центра системы координат Ok, VX, VY, VZ - единичные направляющие векторы осей xk, y k, z k системы Ok; 3 -проверка условия nor$ = l; 4 - проверка условия nor$ = 2; 5 - проверка условия nor$ = 3; 6 - вычисление векторов с целью задания ПСК: r0 = V0; rA
=/}(Уо,Уг); гв = /2(Уо,Уг), где/1 и/2 - функции, определяющие разность векторов; 7 - Яо = Уо; ГА = /](Уо,Ух); гв= /2(УоУ); 8 - го = Ко; га = ЫУоУх); Гв = /2(Уо,Уу); 9 -сообщение: «Некорректно введён код примитива»; 10 - проверка условия а1 = 0; 11 - проверка условия а3 = 0; 12 - проверка условия а2 = 0; 13 -проверка условия а4 = 0; 14 - формирование модели призмы (высота а1 > 0); 15 - формирование изображения пирамиды (а1 > 0); 16 - формирование изображения призмы (а1<0); 17 - формирование изображения пирамиды (а1 < 0); 18 - конец.
Таблица 2
Значения массивов и кодов, определяющих геометрические модели ме-
ханизмов роботов РМ01 и РБ-211
Номер преобразования систем координат
о о ей РМ-01 РБ-211
Е 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 9 10
о К ш чо о ю II о о 3 II 4 1 1 о 4 1 1 4 1 1 4 ■ 1 1 4 1 1 1 о 0 3 V о 0 2 II о 2 II 0 4 и
£ & а- а- а- а- -
&
(см.) о о о о о о о о о о о о о о о о 0 о
¡яш 42 42 о 2 1 3 5 3 ^ 2 и 2 и 4 5 8 ^ 0 <N1 5 3
(см.) ||= II Чз II ч? II —И —^ — 1 1 II "О п —^
Пш 3 2 12 2 3 12 2 3 3 2 12 2 12 1 12 2 12 3
Пы 1 2 1 2 1 1 1 1 1 1 0 1 0 1 1 1 0 1
прт 2 (2,4) 2 (2,4) 2 2 1 1 2 4 0 4 0 1 2 2 0 2
Пат 2 (2,3) 2 (2,3) 3 2 3 3 3 3 0 3 0 3 2 2 0 3
аг (0,0,6,20, -30,0,0,0) (0,0,13, -10,10,0,0,0) (-5,5,-5,5, 43,5,0,0) 0,0,7, -10,10,0,0,0 (0,0,7, -8,8,0,0,0) (-5,5,-5,5, 43,5,0,0) 0,0,3, 10, 0,0,0,0 0,0,4, -5,5,0,0,0 0, ,0, 0,, ,5, 2,- ,2, ,2- -4,4,-4, 4,8,0,0,0 0,0,3,10, 0,0,0,0 -6,6,-6,6, 94,0,0,0 о ,0 ,,0 ,2, 00 ЧО ,6 ,- ,6, 6, - о 0, ,,0 ,0, ,0 ЧО ,6 ,- ,6, 6, - ,0 ,,0 ,6, ,,0 ЧО ,12 ,0, 0, 0, ,,0 ,0, ,0 ЧО ,6 ,- ,6, 6, - 0 -10,10,-10,10,10,0,0,0
Таблица 3
Значения массивов и кодов, определяющих геометрические модели механизмов роботов РМ01 и РБ-211 при задании звеньев в виде отрезков прямых
Номер преобразования систем координат
Масс.
РМ-01 РБ-211
1 2 3 4 5 6 7 8 1 2 3 4 5 6
о К Ш ЧО о о ю II о о 3 II 1 1 1 1 1 1 1 1 1 ■ 1 1 о 3 V о 2 II 2 II и
& £ & 0- & а- £ а- ^
&
(см.) о о 3 '1= о 3 II сл о о о о II 00 II о <4 II сл ш со 1 1 т о
¡яш ю ю о <ч 1 2 о 2
(см.) 1 II тЕГ
Пш 3 11 2 11 2 3 2 3 3 2 2 1 2 3
механизмов роботов
На рис. 4аб представлено моделирование движения роботов РМ01 и РБ-211 с использованием системы САПР ACAD и алгоритмического языка программирования Auto LISP при использовании визуального стиля «2D-каркасный».
Рис. 3 - Блок-схема формирования примитивов призмы и пирамиды
Разработанный метод кодирования геометрической информации, позволяет проводить генерацию обобщенных моделей и анализ перемещений звеньев исполнительного механизма робота при виртуальном моделировании движений и определении траекторий в многомерном пространстве обобщенных координат [8]. Предложенная методика составления массивов и задания значений кодов, в сравнении с существующими методами [9, 10] позволяет определять положение и форму объемных примитивов в подвижных системах координат. Данные примитивы с определенным допущением задают форму и размеры подвижных звеньев механизмов.
а в
Рис. 4. - Моделирование движений механизмов роботов в системе САПР ACAD: а - РМ01 - M3(2,2)-2((2,2)(4,3))-12(2,2)-2((2,2)(4,3))-3(2,3)-12(2,2)-2(1,3)-3(1,3), б - РБ-211 - М3(2,3)-2(4,3)-12(0,0)-2(4,3)-12(0,0)-1(1,3)-12(2,2)-2(2,2)-12(0,0)-3(2,3)
Указанные массивы дают возможность организовывать циклы при вычислениях матриц, определяющих положения звеньев, а так же расчет пересечений объемных примитивов с запретными зонами. Одним из преимуществ разработанного метода представления геометрических моделей кинематических цепей, является возможность более точного задания пространственной конфигурации манипуляторов с помощью использования большого количества узловых точек и различного положения объемных примитивов относительно конструктивной плоскости ПСК. Другим достоинством является разработка универсальных программных модулей, позволяющих проводить виртуальную оценку движений робототехнических систем, имеющих сложную структуру кинематических цепей без ограничений на значения параметров nm, n и r (при этом 2 < r < 6).
Литература:
1. Кобринский, А. А. Манипуляционные системы роботов [Текст] / А. А. Кобринский, А. Е. Кобринский - М.: Наука, 1985. - 344 с.
2. Сидоренко, В.С. Мехатронный измерительный модуль параметров исполнительных движений станочных систем [Электронный ресурс] / В. С. Сидоренко, Ле Чунг Киен, Д.Д. Дымочкин // «Инженерный вестник Дона», 2013, №3. - Режим доступа: http.ivdon.ru/magazine/archive/n3y2013/1747 (доступ свободный) - Загл. с экрана. - Яз. рус.
3. Притыкин, Ф. Н. Методы и технологии виртуального моделирования движений адаптивных промышленных роботов с использованием средств компьютерной графики [Текст] / Ф. Н. Притыкин // Мехатроника, автоматизация, управление, 2011. - № 6. - С. 34-41.
4. Притыкин, Ф. Н. Анализ показателей маневренности механизмов манипуляторов, имеющих различную структуру кинематических цепей [Текст] / Ф. Н. Притыкин, Е. А. Чукавов // Мехатроника, автоматизация, управление. 2013. - № 1. - С. 35-39.
5. Зенкевич, С. Л., Управление роботами. Основы управления манипуля-ционными робототехническими системами [Текст] / С.Л. Зенкевич, А.С. Ющенко. - М: МВТУ, 2000. - 400 с.
6. Ляшков, А. А. Семейство поверхностей, заданное формулами преобразования координат, и его огибающая [Электронный ресурс] / А.А. Ляшков, А.М. Завьялов // «Инженерный вестник Дона», 2013, №1. - Режим доступа: http.ivdon.ru/magazine/archive/n1y2013/1512 (доступ свободный) - Загл. с экрана. - Яз. рус.
7. Притыкин Ф.Н. Виртуальное моделирование движений роботов, имеющих различную структуру кинематических цепей [Текст]: монография / Ф. Н. Притыкин. - Омск : Изд-во ОмГТУ, 2014. - 172 с.
8. Щербаков, В.С. Результаты сравнительного анализа алгоритмов планирования траектории движения объекта с учетом его угловых координат в трехмерном пространстве с препятствиями [Текст] / В.С.Щербаков, М.С. Ко-рытов // Вестник СибАДИ. 2011. - выпуск 1 (19), - С. 68-74.
9. Denavit, J. Cinematic notation for Lower-Pair Mechanisms Based on Matrices / J. Denavit, R. S. Hartenberg // J. Appl. Mech. - 1955. - Vol. 77. - Р. 215221.
10. Wihtney, D. E. The mathematics of coordinated control of prosthetic Arms and Manipulators / / D. E. Wihtney // Tpons. ASME, Ser G, J Dymamic, Just, Meas and Control. - 1972. - Vol. 94, № 4. - Р.19-27.