×

Вы используете устаревший браузер Internet Explorer. Некоторые функции сайта им не поддерживаются.

Рекомендуем установить один из следующих браузеров: Firefox, Opera или Chrome.

Контактная информация

+7-863-218-40-00 доб.200-80
ivdon@ivdon.ru

Способ кодирования информации при задании геометрической модели исполнительных механизмов роботов

Аннотация

Ф.Н. Притыкин, А.Ю. Осадчий

Дата поступления статьи: 19.03.2014

Предложен метод кодирования геометрической информации при задании исполнительных механизмов на основе использования заданного набора пространственных примитивов и их ориентации в подвижных системах координат. Предложен метод обозначения геометрических моделей механизмов роботов. 

Ключевые слова: механизмы манипуляторов, геометрические модели, виртуальное моделирование движений роботов

05.02.02 - Машиноведение, системы приводов и детали машин

При разработке конструктивных особенностей исполнительных механизмов в робототехнических системах существует необходимость в решении ряда геометрических задач, связанных с моделированием процессов управления движением [1, 2]. Анализ взаимного положения исполнительного механизма манипулятора по отношению к заданной окружающей среде при выполнении двигательных заданий требует разработки обобщенных способов задания их геометрических моделей. При этом существует необходимость кодированного представления информации о указанных моделях [3, 4]. В настоящей работе изложен способ кодирования геометрической информации при задании исполнительных механизмов на основе использования заданного набора пространственных примитивов и их ориентации в подвижных системах координат. Предложен новый метод обозначения геометрических моделей механизмов роботов при использовании совокупностей пространственных примитивов.
Рассмотрим исполнительные механизмы роботов, представленные  на рис. 1аб. Положение узловых точек и подвижных звеньев механизма в неподвижном  пространстве  определяют совокупность матриц   M0,1, M0,2, ¼ , M0,nm размерности  4×4 [5, 6]. Параметр nm определяет число систем О1, О2, …, Оnm, используемых при задании геометрических моделей механизмов манипуляторов. Для излагаемых примеров задания геометрических моделей механизмов роботов nmn и для первого и второго механизмов, представленных на рис. 1аб  соответственно указанный параметр равен nm= 8 и nm= 10. Где n – задает число обобщенных координат механизма манипулятора. Матрицы M0,k  определяют произведением матриц Mk-1, k . Заметим, что в каждой из систем Оnm может быть заданы, один или несколько объемных примитивов, в качестве которых могут выступать призма, усеченная пирамида, цилиндр вращения, усеченный конус и д.р.. Для некоторых моделей механизмов роботов при их задании  могут быть использованы подвижные системы координат, в которых могут отсутствовать пространственные примитивы. Вид объемного примитива и его ориентация в системе Оk (nmk ≥ 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,a1, h2,a2) …, задающих соответствующий объемный примитив в подвижной системе координат. C помощью задания различных значений первых четырех элементов под массивов а1, а2, а3, … массива аi имеется возможность формировать плоские контуры различной формы и положения относительно центра пользовательской системы координат (ПСК). Переменные  a1 и a2  могут принимать как нулевые так и не нулевые значения. При этом функции (подпрограммы) Auto LISP заданные кодами nprв зависимости от этого могут строить изображения и создавать модели призмы, пирамиды, цилиндра, усеченного конуса и т.п. Параметры h1 и h2 принимают нулевые или положительные значения. В зависимости от этого примитив может располагаться  по одну или две стороны относительно конструктивной плоскости ПСК. ПСК определяют вектора rО,rA, rВ,rС точек О, А, В, С задающих центр ПСК и точек располагающихся на соответствующих осях подвижной системы координат Оk (см. табл. 1). Количество объемных примитивов в подвижных системах координат определяет список nkol.Предлагается метод кодирования геометрической информации, сущность которого заключается в задании значений совокупностям элементов массивов. Для расчета элементов матриц Mk-1,k используют массивы φi, lk, lsm и nkod[3]. Указанные массивы задают соответственно значения обобщенных координат φi, длины звеньев механизмов lk, смещения вдоль осей систем координат lsm, неподвижно связанных со звеньями механизма и коды преобразований систем координат nkod . Массивы  аi определяют геометрические параметры объемных примитивов. Размерность массивов φi, lk, lsm, nkod, nkol, npr, nor и аi (а1, а2, а3, … аnm) является одинаковой и определяется значением параметра nm[7]. При этом в указанных массивах в общем случае могут присутствовать пустые элементы (нули), которые предназначены для обеспечения заданной одинаковой размерности массивов с целью организации циклов при расчетах.  Размерность под массивов  а1, а2, а3, … аnm задающих геометрическую информацию об объемных примитивах при этом равна восьми. Массив аi1, (а2 /, а2//), а2, а3 аnm) определяет два объемных примитива связанных со второй подвижной системой координат (см. табл. 1).

 

20-02-2014 8-22-54.png    20-02-2014 8-22-54.png
а                                                  б
Рис. 1 - Общий вид и геометрические параметры, задающие механизмы роботов: а – РМ-01, б – РБ-211

Выходные звенья механизмов манипуляторов, изображенных на   рис. 1аб, имеют шесть степеней подвижности. Значения массивовφi, lk, lsm, nkod, nkol, npr, nor и аi для механизмов, представленных на рис. 1аб заданы в таблице 2.  Условимся в дальнейшем обозначать геометрические модели механизмов  с указанием  в   обозначении  объемных  примитивов  и их ориентации.  В этом случае обозначение  Мnkod(npr,nor) определяет соответственно  код nkod (1÷12) преобразований систем координат, код npr (1÷4)  объемного примитива и код  nor (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 заданы два примитива. При задании изображений конфигураций робота в виде отрезков прямых значения списков φi, lk, lsm,nkod заданы в таблице 3.

На рис. 2 представлена блок-схема формирования изображений 3D модели исполнительных механизмов роботов имеющих произвольную структуру и произвольную форму звеньев механизмов. В блок-схеме приняты следующие обозначения: 1 - ввод данных: (mok - массив матриц, определяющих положение звеньев механизма; nkol – массив определяющий количество примитивов в подвижных системах координат; npr -  массив кодов примитивов; nor - массив, определяющий ориентацию примитивов; a1 - массив, определяющий геометрические параметры примитивов, nk = 0; 2 - nk = (nk+1);    3 - извлечение элементов массивов mok$→(nthnkmok), nkol$→(nthnknkol), npr$→(nthnknpr), nor$→(nthnknor), a1$→(nthnka1), nkol1 = 0 (где, nth является функцией Автолисп); 4 - проверка условия npr$ = 0;  5 - проверка условия npr$ = 1; 6 - проверка условия npr$ = 2; 7 - проверка условия  npr$ = 3; 8 - проверка условия npr$ = 4; 9 - формирование модели и изображения примитивов призмы или пирамиды с помощью функции prim_pir (на основе массивов mok$, a1$ и значения кода nor$); 10 - формирование примитивов цилиндра или усеченного конуса с помощью функции prim_kon; 11 - формирование примитива клин, с помощью функции prim-klin; 12 - формирование примитива ограниченного  кинематической поверхностью (заданной верхним и нижним основанием) с использованием функции prim_kin; 13 - сообщение: «Некорректно введен код примитива»; 14 - проверка условия nnmat (nmat = nm); 15 - проверка условия nkol1 nkol$; 16  - nkol1 = nkol1+ 1, nk = nk + nkol1, a1$ → (nthna1); 17 - конец.
На рис. 3 представлена блок-схема формирования изображений примитивов призмы и усеченной пирамиды с различной ориентацией. В блок-схеме рисунка 3 приняты следующие обозначения:

Таблица 1
Некоторые значения кодов nprи norпространственных примитивов

nor

Значения кодов np  (название функций)

1 (prim_pir)

2 (prim_kon)

3 (prim-klin)

4 (prim_kin)

nor = 1,ПСК(ro, rB, rC)

11-04-2014 13-13-21a1(ya,yb,za,zb,h1,0,
h2,0)

 11-04-2014 13-13-21
a2(y0,z0,d,0,h1,0,h2,0)

 

 11-04-2014 13-13-21a3(ya,yb,za,zb,h1,h2, 0*,0*)

 

11-04-2014 13-13-21
a4(ya,yb,za,zb,h1,a1,0,0)

 

11-04-2014 13-13-21a1(ya,yb,za,zb,h1,a1,h2,a2)

 

11-04-2014 13-13-21
a2(y0,z0,d,0,h1,a1,
h2,a2)

 

 

a3(ya,yb,zb,za,h1,h2, 0*,0*)

 

11-04-2014 13-13-21a2(ya,yb,za,zb,h1,a1, h2,a2)

 

1 - Ввод данных mok$, nor$, a1$; 2 - Извлечение элементов списков V0(list (nth 4 mok$) …), VX(list (nth 1 mok$) …), VY(list (nth 2 mok$) …), VZ(list (nth 3 mok$) …); a1 → (nth 5 a1$), a2 → (nth 6 a1$), a3 → (nth 7 a1$), a4 → (nth 8 a1$).  V0 - радиус-вектор центра системы координат Оk, VX, VY, VZ – единичные направляющие векторы осей  xk, yk, zk системы  Оk; 3 - проверка условия nor$ = 1; 4 - проверка условия nor$ = 2; 5 - проверка условия  nor$ = 3; 6 - вычисление векторов с целью задания ПСК: rO = VO; rA

=f1(VO,VY); rB =f2(VO,VZ), где f1 и f2 – функции, определяющие разность векторов; 7 - RO = VO; rA = f1(VO,VX); rB= f2(VO,VZ); 8 - rO = VO; rA = f1(VO,VX); rB = f2(VO,VY); 9 - сообщение: «Некорректно введён код примитива»; 10 - проверка условия a1 = 0; 11 -  проверка условия a3 = 0; 12 - проверка условия  a2 = 0; 13 - проверка условия a4 = 0; 14 - формирование модели призмы (высота a1 > 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

φi,(град.)      

φ1=-65

φ2 =60

0

φ3=30

φ4= 45

0

φ5= 45

φ6= 45

φ1 = -45

φ2 = -45

0

φ3=130

0

φ4=20

0

φ5 =25

0

φ6 = 45

lk
(cм.)

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

lsm
(cм.)

l1= 66

d1=-20

l2= 43

d2=5

l3= 43

l4=2

0

l5=2

0

0

l1 =94

0

l2= 185

0

l3= 20

0

l4= 3 5

0

nkod

3

2

12

2

3

12

2

3

3

2

12

2

12

1

12

2

12

3

nkol

1

2

1

2

1

1

1

1

1

1

0

1

0

1

1

1

0

1

npr

2

(2,4)

2

(2,4)

2

2

1

1

 2

4

0

4

0

1

2

2

0

2

nor

2

(2,3)

2

(2,3)

3

2

3

3

3

3

0

3

0

3

2

2

0

3

 

 

ai

 (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

-2,2,-2, 2,5,0,0,0

-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

-6,6,-6,6,185,2,0,0

0

-6,6,-6,6,10,0,0,0

0,0,12,6,0,6,0,0

-6,6,-6,6,10,0,0,0

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

φi,(град.),      

φ1=-65

0

φ2 =60  

0

φ3=30

φ4= 45

φ5= 45

φ6= 45

φ1 = -45

φ2 = -45

φ3=130

φ4=20

φ5 =25

φ6 = 45

lk
(cм.)

0

0

l2= 43

0

l3= 43

0

0

0

0

l1 =94

l2 = 185

l3= 20

l4= 3 5

0

lsm
(cм.)

l1= 66

d1=-20

0

d2= 5

0

l4 =2

l4 =0

l5 =2

0

0

0

0

0

0

nkod

3

11

2

11

2

3

2

3

3

2

2

1

2

3

14-03-2014 14-36-00
Рис. 2 - Блок-схема формирования изображений 3D-модели исполнительных механизмов роботов

 

На рис. 4аб представлено моделирование движения роботов РМ01 и РБ-211 с использованием системы САПР ACAD и алгоритмического языка программирования Auto LISP при использовании визуального стиля «2D-каркасный».


14-03-2014 14-36-00

Рис. 3 - Блок-схема формирования примитивов призмы и пирамиды

Разработанный метод кодирования геометрической информации, позволяет проводить генерацию обобщенных моделей и анализ перемещений звеньев исполнительного механизма робота при виртуальном моделировании движений и определении траекторий в многомерном пространстве обобщенных координат [8]. Предложенная методика составления массивов и задания значений кодов, в сравнении с существующими методами [9, 10] позволяет определять положение и форму объемных примитивов в подвижных системах координат. Данные примитивы с определенным допущением задают форму и размеры подвижных звеньев механизмов.


20-02-2014 8-22-54.png                      20-02-2014 8-22-54.png


а                                                             в               
Рис. 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://www.ivdon.ru/magazine/archive/n3y2013/1747 (доступ свободный) - Загл. с экрана. - Яз. рус.
  3. Притыкин, Ф. Н.  Методы и технологии виртуального моделирования движений адаптивных промышленных роботов с использованием средств компьютерной графики [Текст]  / Ф. Н. Притыкин  // Мехатроника, автоматизация, управление, 2011. -  № 6. - С. 34-41.
  4. Притыкин, Ф. Н.   Анализ показателей маневренности механизмов манипуляторов, имеющих различную структуру кинематических цепей [Текст] / Ф. Н. Притыкин, Е. А.  Чукавов // Мехатроника, автоматизация, управление. 2013.  -  № 1. - С. 35-39.
  5. Зенкевич, С. Л., Управление роботами. Основы управления манипуляционными робототехническими системами [Текст] / С.Л. Зенкевич, А.С. Ющенко. -  М: МВТУ, 2000. – 400 с.
  6. Ляшков, А.А. Семейство поверхностей, заданное формулами преобразования координат, и его огибающая [Электронный ресурс] / А.А. Ляшков, А.М. Завьялов // «Инженерный вестник Дона», 2013, №1. - Режим доступа: http://www.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. - Р. 215–221.
  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.