Professional Documents
Culture Documents
Черно Сист упр ман роботів
Черно Сист упр ман роботів
Електронне видання
комбінованого використання на DVD-ROM
Черно О. О.
Ч Системи управління маніпуляційних роботів: Методичні вказів-
ки до лабораторних робіт / О. О. Черно, А. П. Гуров, М. В. Покровсь-
кий, О. А. Авдєєва. – Миколаїв : НУК, 2018. – 28 с.
в А.П.
2
ВСТУП
3
ЛАБОРАТОРНА РОБОТА № 1
МАТРИЦІ ПОВОРОТУ
Теоретичні відомості
Для опису обертального руху зв'язаної системи відліку відносно аб-
солютної використовується матриця повороту розмірністю 3 × 3. Вона
визначається як матриця перетворення тривимірного вектора положення в
евклідовому просторі, переводить його координати з поверненої (зв'язаної)
системи відліку UVW в абсолютну систему координат XYZ [4].
PUVW ( pU , pV , pW )T
P XYZ ( p X , pY , pZ )T
Необхідно визначити матрицю R, яка перетворює координати PUVW в
координати P XYZ :
P XYZ RPUVW
(1)
PUVW pU iU pV jV pW k W
Визначаємо проекції вектора P на осі X,Y і Z :
p X i X P i X iU pU i X jV pV i X k W pW
pY j Y P j Y iU pU jY jV pV j Y k W pW
pZ k Z P k Z iU pU k Z jV pV k Z k W pW
4
p
U i X iU j Y iU k Z iU p X
p i j
j Y jV
k Z jV pY
V X V
pW i X k W k Z jV k Z k W pZ
5
− якщо рухома система координат UVW робить поворот навколо од-
нієї зі своїх власних осей, відповідну матрицю елементарного повороту по-
трібно помножити справа на матрицю попереднього результуючого пово-
роту.
Завдання
Задані координати точки Р відносно рухомої системи UVW. Система
UVW здійснює поворот у просторі, що описується наступною послідовніс-
тю поворотів: на кут 55 навколо осі Z, на 40 навколо осі V, на 15 навколо
осі Х. Необхідно знайти координати точки Р відносно нерухомої системи
XYZ.
Хід роботи
В середовищі Mathcad складаємо обчислювальну програму (рис. 1.1).
Початкові дані
Кути поворотів:
15 40 55
180 180 180
Розв'язання задачі
R Rx Rz Rv
T
Pxyz R Puvw Pxyz ( 5.03 9.409 4.49)
6
Таким чином, за допомогою розробленої програми, були знайдені
координати точки Р у нерухомій системі відліку.
Зміст звіту
1. Тема та мета роботи.
2. Завдання.
3. Текст програми.
4. Висновки.
Контрольні питання
1. Що таке матриця повороту?
2. Для чого вона використовується?
3. Який поворот називають елементарним?
4. Як представити складний поворот у просторі за допомогою мат-
риць елементарних поворотів?
ЛАБОРАТОРНА РОБОТА №2
ПРЯМА ЗАДАЧА КІНЕМАТИКИ
Теоретичні відомості
7
ня розмірністю 4 × 4 і описує положення системи кожної ланки щодо си-
стеми координат попередньої ланки. Це дає можливість послідовно пере-
творити координати робочого органу маніпулятора з системи відліку, по-
в'язаної з останньою ланкою, в базову систему відліку, яка є інерціальній
системою координат.
Крім базової системи (x0, y0, z0) для кожної ланки на осі її зчленуван-
ня визначається система координат (xi, yi, zi), де i=1, 2, ... n; n - число сту-
пенів свободи маніпулятора. Кожна система координат (xi, yi, zi) відповідає
(i +1)-y сочленению і пов'язана з i-м ланкою.Кожна система координат фо-
рмується на підставі наступних правил:
1. Вісь Zi-1 спрямована вздовж осі i-го зчленування.
2. Вісь Xi перпендикулярна осі Xi-1 і спрямована від неї.
3. Вісь Yi доповнює осі Xi і Zi до правої системи координат.
Нульова і n-а системи координат можуть бути обрані довільним чи-
ном, за умови, що вісь Z0 спрямована уздовж осі першого зчленування, а
вісь Xn перпендикулярна осі Zn-1.Положення пов'язаних систем координат
описується за допомогою чотирьох параметрів: ai - найкоротша відстань
між zi і zi-1; αi - кут між zi і zi-1 (навколо xi); di - найкоротша відстань між xi і
xi-1; Θi - кут між xi xi-1 (навколо zi-1).
Якщо ланки з'єднані обертальним зчленуванням, то кут Θi є змінною
величиною. Якщо поступальним - то змінною є di.
Координати довільної точки в i-тій системі координат можна пере-
творити в координати цієї ж точки в (i-1)-й системі, виконавши наступну
послідовність операцій:
1. Поворот навколо осі zi-1 на кут Θi, щоб вісь xi-1 стала співспрямо-
вана з віссю xi.
2. Зрушення уздовж осі zi-1 на відстань di, щоб поєднати xi-1 і xi.
3. Зрушення уздовж осі xi на відстань ai, щоб поєднати початку коор-
динат.
4. Поворот навколо осі xi на кут αi, в результаті якого досягається
8
збіг систем координат.
Кожну з цих операцій можна представити однорідною матрицею
елементарного повороту чи зсуву, а добуток таких матриць дасть од-
норідну матрицю складного перетворення для суміжних систем координат:
1 0 0 0
0 1 0 0
i 1
Ai Tz , Tz ,d Tx , aTx ,
0 0 1 di
0 0 0 1
cos i sin i 0 0 1 0 0 ai 1 0 0 0
sin cos i 0
0 0 1 0 0 0 cos i sin i 0
i
0 0 1 0 0 0 1 0 0 sin i cos i 0
0 0 0 1 0 0 0 1 0 0 0 1
cos i cos i sin i sin i sin i ai cos i
sin cos i cos i sin i cos i ai sin i
i
0 sin i cos i di
0 0 0 1
i 1
Матрица Ai называется ДХ – матрицею перетворення.
i 1
Матрица, зворотна до Ai має вигляд:
cos i sin i 0 ai
cos sin cos i cos i sin i d i sin i
(i 1 Ai )1 i 1 Ai i i
0
i
0R 0
Pi
Ti 0 A 1 A ... i 1 Ai j 1
Aj i
j 1 0 1
9
лятора»:
nx s x a x p x
n
0 R 0 Pi n s a p n y s y a y p y
T 0 Tn i 1 Ai i ,
i 1 0 1 0 0 0 1 nz s z az pz
0 0 0 0
де n - вектор нормалі до схвату; s - дотичний вектор схвату; a - вектор
підходу схвату; p - вектор положення схвату.
Завдання
За заданою конфігурацією маніпулятора і поточними значеннями ві-
дносних переміщень ланок визначити координати та орієнтацію схвату у
просторі.
Хід роботи
В середовищі Mathcad складаємо обчислювальну програму (рис. 2.1).
Довжини ланок:
T
L ( 0 1 3 3 )
Параметри, що характеризують конфігурацію маніпулятора:
a 0 0 L
2
L
3 T
T
0 0 0
2
d 0 L
1
0 0 T
N 4 (Номер варианта)
Поточні значення кутів повороту ланок:
T
N 2 N 3 N
0
180 180 180
Визначаємо матриці перетворення для систем координат сміжних ланок:
n 3 (Число ланок)
i 1 n (Номер ланки)
cos i cos i sin i sin i sin i ai cos i
sin i cos i cos i sin i cos i ai sin i
A
i
0 sin cos d
i i i
0 0 0 1
Перемножуємо матриці перетворення для систем координат сміжних ланок і
отримуємо матрицю маніпулятора:
n
T Ai
i 1
10
0.995 0.07 0.07 5.949
3
T 0.07 4.866 10 0.998 0.416
0.07 0.998 0 1.208
0 0 0 1
Перевірка:
1 2 2 L3 cos 2 3
x cos L cos
Зміст звіту
1. Тема та мета роботи.
2. Завдання.
3. Текст програми.
4. Висновки.
Контрольні питання
1. Що являє собою матриця перетворення?
2. Що описує матриця елементарного перетворення?
3. Як за допомогою матриць елементарних перетворень описується
взаємне розташування двох систем координат?
4. Що таке зв’язані системи координат?
5. Якими параметрами задається взаємне розташування ланок мані-
пулятора?
6. Як визначається матриця перетворення систем координат суміж-
них ланок?
7. У чому полягає пряма задача кінематики?
8. Що задається у початкових даних?
9. Яким чином отримують матрицю маніпулятора?
10. Які основні блоки містить розроблена програма?
11
ЛАБОРАТОРНА РОБОТА №3
ЗВОРОТНА ЗАДАЧА КІНЕМАТИКИ
Теоретичні відомості
12
z0
3
L2
L3
2
1
L1
y0
x0
Рис. 3.1. Кінематична схема маніпулятора
T
Таким чином, вектор приєднаних координат θ 1 2 3 по-
винен задовольняти наступній умові:
xθ xt x y θ y t y z θ z t z , (1)
де координати схвату xθ , y θ i z θ визначаються в процесі розв'я-
зання прямої задачі кінематики для кінематичної схеми (рис. 3):
xθ L2 cos 2 L3 cos 2 3 cos 1 ; (2)
y θ L2 cos 2 L3 cos 2 3 sin 1 ; (3)
z θ L1 L2 sin 2 L3 sin 2 3 . (4)
Для визначення необхідних кутів 1 , 2 i 3 найбільш зручно вико-
ристовувати метод градієнтного спуску. Суть даного методу зводиться до
пошуку мінімуму функціоналу
1
J θ
2
xθ xt 2 yθ yt 2 z θ zt 2 min (5)
13
x y
1 : 1 1 x x t y yt ; (7)
1 1
x y z
2 : 2 2 x x t y yt z z t ; (8)
2 2 2
x y z
3 : 3 3 x x t y yt z z t , (9)
3 3 3
де
x
L2 cos 2 L3 cos 2 3 sin 1 ;
1
x x
L2 sin 2 L3 sin 2 3 cos 1 ; L3 sin 2 3 cos 1 ;
2 3
y
L2 cos 2 L3 cos 2 3 cos 1 ;
1
y y
L2 sin 2 L3 sin 2 3 sin 1 ; L3 sin 2 3 sin 1 ;
2 3
z z
L2 cos 2 L3 cos 2 3 ; L3 cos 2 3 .
2 3
Таким чином, розв'язання зворотної задачі кінематики зводиться до
наступного: спочатку кутам 1 , 2 i 3 присвоюються довільні значення, а
потім вони змінюються в циклі за алгоритмом (7) – (9), доки не задоволь-
нять умові (1). Ітераційні коефіцієнти i впливають на швидкість та стій-
кість розрахунку. Якщо значення цих коефіцієнтів обрати занадто малими,
процес розрахунку буде дуже довгим, а якщо великими – обчислювання
буде розбіжним, і задачу взагалі не буде розв'язано. Тому, для кожного
окремого випадку ітераційні коефіцієнти треба підбирати індивідуально.
Завдання
За заданою конфігурацією маніпулятора, координатами схвату і при-
пустимими помилками визначити відносні кути повороту ланок маніпуля-
тора.
14
Хід роботи
В середовищі Mathcad складаємо обчислювальну програму, де спо-
чатку задаємо початкові дані для зворотної задачі кінематики (рис. 3.2).
Конфігурація маніпулятора:
x cos 1 L2 cos 2 L3 cos 2 3
y sin 1 L2 cos 2 L3 cos 2 3
z L1 L2 sin 2 L3 sin 2 3
Припустимі помилки позиціювання схвату:
x 0.001 y 0.001 z 0.001
Рис. 3.2. Завдання початкових даних для зворотної задачі кінематики
15
Складаємо обчислювальну програму за методом градієнтного спуску:
1
6
2
6
3
4
4
for i 1 10
x cos 1 L2 cos 2 L3 cos 2 3
y sin 1 L2 cos 2 L3 cos 2 3
dy1 cos 1 L2 cos 2 L3 cos 2 3
dy2 sin 1 L2 sin 2 L3 sin 2 3
dz1 0
dz2 L2 cos 2 L3 cos 2 3
1 1 1 xr x dx1 y r y dy1 zr z dz1
2 2 2 xr x dx2 y r y dy2 zr z dz2
3 3 3 xr x dx3 y r y dy3 zr z dz3
0 i
1 1
2 2
3 3
308
0.847
1.139
1.248
16
Шляхом розв’язання прямої задачі кінематики робимо перевірку пра-
вильності визначення кутів повороту ланок (рис. 3.5).
Розв'язання прямої задачі кінематики:
x cos 1 L2 cos 2 L3 cos 2 3 x 1.151 xr 1.15
z L1 L2 sin 2 L3 sin 2 3 z 2.051 zr 2.05
Помилки:
4 4 4
xr x 8.791 10 y r y 9.938 10 zr z 5.519 10
Зміст звіту
1. Тема та мета роботи.
2. Завдання.
3. Текст програми.
4. Висновки.
Контрольні питання
1. У чому полягає зворотна задача кінематики?
2. Що задається у початкових даних?
3. Що таке приєднані координати маніпулятора?
4. Який метод розв’язання зворотної задачі кінематики використову-
ється в даній лабораторній роботі?
5. Що означають змінні, використані в програмі?
6. Що означає вираз у квадратних дужках?
7. На що впливають ітераційні коефіцієнти?
8. Яку змінну виводять у результуючу матрицю θ для перевірки пра-
вильності розв’язання задачі?
17
ЛАБОРАТОРНА РОБОТА №4
ПЛАНУВАННЯ ТРАЄКТОРІЇ МАНІПУЛЯТОРА
Теоретичні відомості
Задача планування траєкторії маніпулятора полягає у визначенні за-
конів зміни у часі приєднаних змінних, що забезпечують задану траєкто-
рію схвату.
Траєкторія схвату задається у вигляді координат контрольних точок,
через які повинен пройти схват і моментів часу їх проходження. Звичайно
задаються 4 точки: початкова точка, точка уходу, точка підходу і кінцева
точка [4].
Найбільш розповсюджений підхід до планування траєкторії маніпу-
лятора передбачає 2 етапи:
− розв’язання зворотної задачі кінематики для контрольних точок
траєкторії;
− інтерполяція законів зміни приєднаних змінних неперервними фу-
нкціями часу.
Для інтерполяції залежностей, які задані великим числом точок, або
для яких сформульовано багато додаткових умов (задані значення першої
та другої похідних у точках), звичайно використовуються сплайн-функції
[4]. Сплайн-функція представляє собою послідовність поліномів низького
ступеня (поліноміальних сплайнів), кожен з яких описує її поведінку на
певному інтервалі значень аргументу. В залежності від кількості інтерва-
лів розбиття області значень аргументу та порядків інтерполюючих полі-
номів існує багато різновидів сплайн-функцій. Для інтерполяції законів
зміни кутів повороту ланок маніпулятора будемо використовувати функ-
цію "4 – 3 – 4". Тоді закон зміни кута повороту і-ї ланки прийме наступ-
18
ний вигляд:
a14 i t t 0 4 a13 i t t 0 3 a12 i t t 0 2
a11i t t 0 a10 i при t 0 t t1 ;
a 23 t t 3 a 22 t t 2
i t i 1 i 1
a 21i t t1 a 20 i при t1 t t 2 ;
a34 t t 4 a33 t t 3 a32 t t 2
i 2 i 2 i 2
a31i t t 2 a30 i при t 2 t t 3 ,
t14 t13 0 0 0 0 0 0 0
3
4t1 3t12 0 0 1 0 0 0 0
12t12 6t1 0 2 0 0 0 0 0
0 0 t 23 t 22 t 2 0 0 0 0
C 0 0 3t 22 2t 2 1 0 0 0 1 ;
0 0 6 t 2 2 0 0 0 2 0
0 0 0 0 0 t 34 t 33 t 32 t 3
0 0 0 0 0 4t 33 3t 32 2 t 3 1
0 0 0 0 0 12t 32 6t 3 2 0
T
Fi i t1 i t 0 0 0 i t2 i t1 0 0 i t3 i t 2 0 0 ;
t1 t1 t 0 ; t 2 t 2 t1 ; t 3 t3 t 2 .
Завдання
Розв’язати задачу планування траєкторії трьохланкового маніпуля-
тора.
19
Хід роботи
В середовищі Mathcad складаємо обчислювальну програму, де зада-
ємо початкові дані: координати контрольних точок траєкторії схвату та
моменти часу їх проходження, довжини ланок і конфігурацію маніпулято-
ра, припустимі помилки позиціювання схвату (рис. 4.1).
T T
xr ( 0.01 N 0.01 N 1.2 1.2 ) xr ( 0.25 0.25 1.2 1.2 )
T
y r ( 1 1 1.1 1.1 )
T
zr ( 0 0.3 1.3 1 )
T
T ( 0 2 12 15 )
Конфігурація маніпулятора:
x cos 1 L2 cos 2 L3 cos 2 3
y sin 1 L2 cos 2 L3 cos 2 3
z L1 L2 sin 2 L3 sin 2 3
Припустимі помилки позиціювання схвату:
x 0.001 y 0.001 z 0.001
20
Задаємо ітераційні коефіцієнти:
1 0.05 2 0.05 3 0.05
dz1 0
dz2 L2 cos 2 L3 cos 2 3
1 j 1
2 j 2
3 j 3
21
Складаємо програму інтерполяції законів зміни кутів повороту ланок
сплайн-функціями (рис. 4.3).
Проміжки часу:
j 0 rows ( T) 2 t j 1 T T
j 1 j
n rows ( q ) 1 i 1 n
t 4 t 3 0 0 0 0 0 0 0
1 1
3 2
4 t1 3 t1 0 0 1 0 0 0 0
12 t 1 2 6 t 1 0 2 0 0 0 0 0
0 0 t23 t22 t 2 0 0 0 0
C 2
0 0 3 t 2 2 t2 1 0 0 0 1
0 0 6 t2 2 0 0 0 2 0
0 0 0 0 0 t34 t33 t32 t 3
0 0 0 0 0 3
4 t3 2
3 t3 2 t 3 1
0
0 0 0 0 2
12 t 3 6 t 3 2 0
22
t T T 0.1 T
0 0 3
100
50
180
( t ) 1
0
180
( t ) 2
180 50
( t ) 3
100
150
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
t
x( t) cos ( t ) 1 L2 cos ( t) 2 L3 cos ( t) 2 ( t ) 3
y ( t) sin ( t ) 1 L2 cos ( t) 2 L3 cos ( t) 2 ( t ) 3
z( t) L1 L2 sin ( t) 2 L3 sin ( t ) 2 ( t) 3
1.5
1
x( t )
y ( t) 0.5
z ( t)
0
0.5
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
t
T T T
xr ( 0.25 0.25 1.2 1.2 ) y r ( 1 1 1.1 1.1 ) zr ( 0 0.3 1.3 1 )
23
1.5 1.5
1.429 1.429
1 1
z( t) 0.5 z( t) 0.5
0 0
4 4
9.69510 0.5 9.69510 0.5
0.95 1 1.05 1.1 0 0.5 1 1.5
0.985 y( t) 1.105 0.249 x( t ) 1.216
0
0.249
0.5
x( t )
1.216 1.5
0.95 1 1.05 1.1
0.985 y ( t) 1.105
Зміст звіту
1. Тема та мета роботи.
2. Завдання.
3. Текст програми.
4. Висновки.
Контрольні питання
1. У чому полягає задача планування траєкторії?
2. Що задається у початкових даних?
3. У чому полягають 2 підходи до планування траєкторії? Які етапи
передбічає кожен з них?
4. Яка функція використовується для інтерполяції законів зміни кутів
повороту ланок у часі? Скільки вона має коефіцієнтів?
5. З яких умов визначаються коефіцієнти інтерполюючої функції?
24
6. Як використовують результати планування траєкторії для керу-
вання маніпулятором?
ЛАБОРАТОРНА РОБОТА №5
ДИНАМІКА МАНІПУЛЯТОРА
Завдання
Задана конфігурація маніпулятора, поточні значення кутів повороту
ланок, кутові швидкості та кутові прискорення. Знайти величини керуючих
моментів, прикладених до ланок з боку електроприводів.
Хід роботи
На підставі викладеної в [4] методики в середовищі Mathcad склада-
ємо обчислювальну програму, де задаємо початкові дані: кути повороту
ланок, кутові швидкості, кутові прискорення, маси ланок, довжини і радіу-
си ланок (рис. 5.1).
N 25 номер варіанту
Початкові дані:
0 0 0 0 0 0 0
1.2 0.008 N 0.2 0.0 100 1 0.1
q q1 q1 q2 m L R
0.8 0.012 N 0.3 0.06 110 1.3 0.04
0.9 0.016 N 0.4 0.0 120 1.2 0.04
Рис. 5.1. Початкові дані для задачі динаміки маніпулятора
25
Функція "слід матриці":
cols( A) 1
Tr( A ) A
i i
g ( 0 0 9.8 0 )
i 0
n rows ( q ) 1 i 2 n
1 m L 2 0 0 m L 1 m R 2
3 i i i i 2 1 1 0 0 0
0 0 0 0
0 0 0 0
J 0 0 0 0 J 0 0 0 0 O
i 1 0 0 0 0
0 0 0 0 0 0 0 0
0
m L 0 0 m 0 0 0 m 0 0 0
i i i 1
T
i 1 n q 0
2
0 0
a 0 0 L
2
L
3 T
d 0 L
1
0 0 T
Матрицi перетворення для сміжних ланок маніпулятора:
26
Матриця-похідна:
0 1 0 0
1 0 0 0
Q
0 0 0 0
0
0 0 0
0 L2 L3
L
1 2 2
r 2 r2 0 r3 0
1
0 0 0
0 0 0
Похідна від матриці перетворення за приєднаною координатою:
U for i 1 n
for j 1 n
v A ( 0 j 1) Q A ( j 1 i) if j i
i j
v O otherwise
i j
v
Друга похідна:
U1( s ) for j 1 n
for k 1 n
v A ( 0 k 1) Q A ( k 1 s 1) Q A ( s 1 j) if j s s k
j k
v A ( 0 s 1) Q A ( s 1 k 1) Q A ( k 1 j) if j k k s
j k
v
27
Складова керуючого моменту, обумовлена прискоренням ланки:
D for i 1 n
for k 1 n
D 0
i k
for j max( i k) n
T
D D Tr U J U
i k i k j k j j i
D
0
14
0 0
C 2.796 10 173.443 65.64
488.182 h D q2
20.891 111.836
702.075 6.16 48.524
Результуючий момент:
M D q2 h C
0
239.083
M
620.909
756.759
Рис. 5.4. Визначення керуючих моментів
Зміст звіту
1. Тема та мета роботи.
2. Завдання.
3. Текст програми.
4. Висновки.
Контрольні питання
1. У чому полягає задача динаміки маніпулятора?
2. Що задається у початкових даних?
3. Яким чином розраховуються керуючі моменти?
4. Які складові моментів сили враховуються?
28
ЛІТЕРАТУРА
Зміст
Вступ ............................................................................................................... 3
Лабораторна робота №1. Матриці повороту ................................................ 4
Лабораторна робота №2. Пряма задача кінематики ..................................... 7
Лабораторна робота №3. Зворотна задача кінематики ................................ 12
Лабораторна робота №4. Планування траєкторії маніпулятора .................. 18
Лабораторна робота №5. Динаміка маніпулятора ........................................ 24
Література ....................................................................................................... 28
29