скальзыванием // Вюник Нацiонального техшчного ушверситету «Харшвський полiтехнiчний шсти-тут». Харшв: НТУ«ХП1». 2002. .№9, Т.4. С.47-52. 6. Александров €.€., КозловЕ.П., КузнецовБ.1. Автома-тичне керування рухомими об'ектами i технологiчними процесами. Харкав: НТУ «ХП1», 2002. 490с.
Поступила в редколлегию 06.12.2007
Кузнецов Борис Иванович, д-р техн. наук, профессор кафедры систем управления технологическими процессами и объектами Украинской инженерно-педагогической академии (каф. СУТПиО УИПА). Адрес: Украина, 61003, Харьков, ул. Университетская, 16, тел. (057) 733-79-59.
Варфоломеев Алексей Алексеевич, ассистент кафедры СУТПиО УИПА Украинской инженерно-педагогической академии. Адрес: Украина, 61003, Харьков, ул. Университетская, 16, тел. (057) 733-79-59.
УДК 681.518.24
1.Ш. НЕВЛЮДОВ, С.С. ВЕЛИКОДНИЙ
АЛГОРИТМ ШТЕРПОЛЯЦИ ДУГИ КОЛА ДЛЯ СИСТЕМ ПРОГРАМНОГО В1ДТВОРЕННЯ РУХ1В
Розглядаеться синтез алгоритму формування програмно! траектори руху, створеного на шдстаы ввдповщного методу штерполяци пласко! дуги кола, що задана мшмальною кшькютю точок у абсолютнш системi координат, стосовно автоматичних електромехашч-них систем багатокоординатного погодженого руху.
Вступ
Актуальшсть теми е наслщком потреби виробництва бiльш досконалих систем вщтво-рення рухiв (СВР), серед яких: промисловi роботи (ПР), верстати з ЧПК, автоматичнi манiпулятори, динамiчнi iспитовi стенди, контрольно-вимiрювальнi машини, радiотелескопи тощо [1], та необхщност розвитку дослщжень в областi створення алгоритмiв програмного керування рухом виконавчих пристро!в, що реалiзують просторовий рух за заданими траек-торiями.
Метою дослiдження е синтез ефективного алгоритму, який гарантуе найбшьшу швидко-дiю, максимальну точнють опису траекторiй руху та надае простий аналiтичний пiдхiд до послщовносп дiй при створеннi програмного засобу, що працюватиме у рамках розглядува-ного методу штерполяци.
Виконання поставлено! мети забезпечуеться в робот виршенням таких задач:
- сформувати загальну структуру алгоритму, що зводиться до визначення послщов-ностi вiдповiдних кроюв;
- скласти блок-схему алгоритму, що мютить необхiдну кiлькiсть блокiв та процедур;
- визначити вщповщшсть мiж параметрами математично! моделi та щентифшаторами алгоритму штерполяци.
1. Загальна структура алгоритму
Алгоритм штерполяци дуги кола для СВР створено на пiдставi вщповщного методу, що розроблений стосовно задач програмного керування рухом робочих оргашв (РО) робото-техшчних комплекшв i верстатiв iз ЧПК, призначених для зварювання, рiзання, пайки, нанесення покрить, розкрою, механообробки та шших технолопчних операцш, виконуваних електричною дугою, лазерним променем, плазмою, пульверизатором, р1зцем i т.п. [2].
Процес навчання тако! СВР iстотно спрощуеться, якщо !! програмне забезпечення мiстить алгоритми, що дозволяють формувати сигнали керування для руху по дузi кола, задано! трьома точками в опорнш ^CT^i координат модуля. При цьому звичайно потрiбно, щоб РО модуля перемщався з необхiдною швидкiстю, проходячи послiдовно через три заданi точки дуги кола.
Алгоритм створено стосовно двох постановок задач (ПЗ) [3]:
1. Оргашзувати рух РО СВР за дугою кола з задано! початково! точки ?i у задану кшцеву точку ?3 через задану точку ?2 з постiйною заданою кутовою швидкiстю юзад. Визначити необхiдний час t перемiщення РО за розрахованою траeкторieю з точки ?i у точку ?3 .
2. Оргашзувати рух РО СВР за дугою кола з задано! початково! точки ?i у задану кшцеву точку ?з через задану точку ?2 за заданий час ^ад. Визначити необхщну постшну кутову швидюсть ю перемiщення РО з початково! точки ?i у кшцеву ?з .
Обидвi постановки задачi припускають попереднiй розрахунок довжини l дуги кола i визначення поточних координат положення кiнця РО в кожен заданий дискретний момент часу ti у процесi руху.
В цшому алгоритм формування траeкторi! руху по дузi кола зводиться до тако! по-слiдовностi дiй:
АЛЛ
Крок 1. Завдання координат трьох точок ? 1 , ? 2 i г 3 в абсолютнш (опорнiй) системi
координат (АСК) СВР - OXYZ.
Крок 2. Розрахунок в АСК абсолютних координат центра кола, що проходить через три заданi (вихвдш) точки.
АЛЛА
Крок 3. Завдання вщносно! системи координат (ВСК) СВР - OXYZ i визначення у нш
. . ал Л
напрямку руху РО по дузi кола вiд точки ? i до точки ? 3 через точку ? 2 .
Крок 4. Розрахунок довжини дуги l13 у кутових (рад, кут. град) i умовних лiнiйних (м, мм) одиницях.
Крок 5. Уведення заданих технологiчних параметрiв руху РО по дузi кола, вiдповiдно до варiанту постановки задачi: П3 = 1 чи П3 = 2.
Крок 6. Розрахунок залежно вщ постановки задачi або часу t (при П3 = 1) переходу РО з початково! точки ?i в кшцеву ? 3 , або необхщно! кутово! швидкостi ю (при П3 = 2) руху РО по дузь
Крок 7. Завдання кшькост N поточних точок, що фiксуються траeкторi! руху РО (або, вщповщно, iнтервалiв дискретизацi! руху за часом), виведених у розрахунковi моменти часу
ti (i = 0N ).
Крок 8. Розрахунок матриць Т та Т-1 перетворення прямокутних систем координат (або
А А А А А А
матриць стану РО), радiусу R дуги кола, визначення вщносних (у ВСК - OXYZ) x; , y;,
А
z; та абсолютних (у АСК - OXYZ) x;, y;, z; координат рухливо! точки дуги кола (зокрема,
положення кшця РО) у кожен заданий дискретний момент часу t; ( = о, N). Перевiрка виконання обмежень на ОПЗ абсолютних координат кожно! розраховано! точки траектори.
Крок 9. Органiзувати видачу результуючо! iнформацi!, що мiстить такi параметри руху РО: час t, кутову ю та лiнiйну v швидкоси, вiдстань l, що пройдено вщ моменту t0 початку руху; поточш координати (у ВСК та АСК) положення точки РО на дузi у дискретш моменти
часу t; О = 0,N) .
2. Опис роботи алгоритму
Алгоритм графiчно наведений у виглядi блок-схеми, що мютить 312 блокгв та розмь щуеться на 32 аркушах формату А4.
Робота алгоритму починаеться з уведення вихщних даних (блок 1): № варiанта завдання; координат вихщних точок ?i, ?2 ! ?3; варiанта постановки задачi - П3; варiанта виду руху (ВР) РО (за дугою або за повним колом); кшькост iнтервалiв дискретизацi! часу руху - N.
У блоках 3-6 виконуеться перевiрка координат точок ?i, ?2 ! ?3 на збiг. У випадку повного зб^у координат хоча б двох точок, оргашзуеться вщповщне повiдомлення та аварiйна «зупинка» роботи алгоритму.
У блоц 7 здшснюеться перевiрка на приналежнiсть трьох вихщних точок однiй прямiй. При виконанш цiе! умови також органiзуеться вщповщне повiдомлення та аварiйна «зупин-ка» роботи алгоритму.
У блоках 9-12 обчислюються координати середин в^^зюв ?i?2 i ?2?3 та вщповщних
нормалей р*; р ** до них.
Блоки 13-88 призначеш для визначення абсолютних координат точки ?о - центра кола,
що проходять через три задаш точки ?i, ?2 ! ?3. Крiм того, точка?о е початком
А А А А
координат ВСК - OXYZ .
Визначення направляючих косинушв tj О, j = 1,3) осей ВСК стосовно осей АСК виконуеться у блоках 89-99.
Одночасно блоки 96-100 е блоками формування матриц Т - перетворення прямокут-них систем координат: ВСК у АСК (ршення зворотног задач1 ктематики СВР).
Формування матрищ Т-1 для ршення прямог задачi юнематики СВР виконуеться у блоках 101-109.
У блоках 110-115 здшснюеться перевiрка вщносно! ВСК i абсолютно! АСК прямокут-них систем координат на однобiчнiсть осей. АСК задаеться правобiчною при виборi опорно!
системи координат СВР. Орiентацiя осей ВСК може бути змшена замiною напрямку вга
АА
OY на протилежне, що дозволяе, за необхщносп, домогтися правобiчно! спрямованост двох систем координат.
Блоки 116-118 призначенi для визначення вщносних координат у системi ВСК вихщних
точок ?i,?2, ?3 i точки ?о - центра кола.
Блоки 121-127 - для визначення вщносних координат i довжин вiдрiзкiв (векторiв)
А А А А А А ?0 ?i , ?о ?i i ?о ?3 .
У блоках 128, 129 виконуються обчислення косинусiв центральних кутiв: cos n13 для ^ . ч/
дуги ?i?3 i cos ni2 - для дуги ?i?2 .
Значне мiсце в алгоритмi займае процедура ршення принциповог задачi — визначення
значення центрального кута n13 та вибiр <трного» напрямку руху по шуканш дузi кола ?i?3 .
У блок-схемi алгоритму розглянуто 20 варiантiв можливого розташування вихщних точок
^ ^ . ^ АЛА
?i, ?2 ; ?3 на квадрантах системи координат OXY. Конкретне розташування точок
? i, ? 2 ; ?3 визначае необхщний напрямок руху РО за дугою (за годинниковою стршкою або проти годинниково! стрiлки) i <трне» обчислення значення центрального кута n13.
Процедура визначення центральних купв ni2 i n13, i вибiр напрямку руху по дузi для 20 варiантiв розташування вихiдних точок займае блоки 130-271.
Варто пом^ити, що у блок-схемi алгоритму кути ni2 i n13 визначаються через тригономет-ричну функцiю «arctg». Формули для обчислення значення центрального кута nij (j=2,3) через
функцiю «arctg» залежно вiд напрямку руху РО за дугою?i?j (j=2, 3) наведет в табл. 1.
У блоках 278-284 залежно вщ постановки задача П3=1 або П3=2 та виду руху: ВР=1 (за дугою кола) або ВР=2 (за повним колом) виконуеться розрахунок необхщних пара-метрiв руху РО. Якщо П3=1, то рух вщбуваеться iз заданою кутовою швидюстю щзад, а
вiдсутнiм параметром е час t руху за дугою ?i?3, що й визначаеться: при - ВР=1 за формулою:
t =
П13
Юзад
а при ВР=2 - за формулою: 2п
[с],
t =
Ю
зад
[с].
(1)
(2)
Таблиця 1. Обчислення значень центрального кута
Для П3=2 заданий час tзад руху за дугою г 1Г3 кола, а вiдсутнiм параметром е необхiдна кутова швидкiсть перемщен-ня РО , що i визначаеться: при ВР=1:
П13
[рад/с], (3)
ю =
зад
вiдповiдно, при ВР=2: 2п
ю = "
t
зад
[рад/с].
(4)
Номер чвертi вщносно! системи координат, у якiй розташований кут ПЧ , J = 2, 3 Формули для обчислення центрального кута пц, j=2,3
При русi РО проти годинни-ково! стрь лки При руш РО за годинни-ковою стрш-кою
I IV пч = аг^ 2 1 - СО^ nlj 2 СО^ nlj
II III пч = п - аг^ 1 - cos2 п^ 2 СО^ nlj
III II n1j = п + аг^ 1 - cos2 nlj 2 СО^ nlj
IV I пч = 2 п - aгctg. 2 1 - cos п^ cos2 nlj
Безпосередне визначення координат положення кшця РО на дузi кола у кожен заданий дискретний момент часу ^ у ВСК та АСК виконуеться у блоках 285-309.
У блоках 310-312 формуеться вих> дне шформащйне повiдомлення для вщоб-раження результатiв роботи алгоритму.
3. Складання iдентифiкаторiв програмного засобу, що плануеться
Пiсля синтезу алгоритму штерполяцп Таблиця 2. Ввдповвдтсть мiж параметрами ММ та 1Д дуги кола та безпосередньо перед ство-ренням програмного засобу, що наглядно вщображуе визначену траекторт руху СВР, наведемо вщповщносп (табл. 2) мiж параметрами математично! моделi (ММ) руху СВР (подано! в [3], а також розгляну-то! в розд. 1-2) та умовними позначення-ми, якi будуть визначати вщповщш пара-метри у планованому програмному засобi, тобто щентифшаторами (1Д). Висновки
Розглянуто синтез алгоритму штерпо-ляцi! дуги кола, створеного на основi вщпо-вiдного методу формування траекторi! руху стосовно систем програмного вщтворен-ня рухiв багатокоординатного погоджено-го руху одного або декшькох виконавчих органiв, причому сама дуга задана мшмальною кiлькiстю точок у абсолютнш системi координат.
При виршенш задач дослiдження, по-ставлених безпосередньо перед виконан-ням роботи, була досягнута мета: синте-зувати ефективний алгоритм формування траекторш руху.
Позначення параметр1в, що прийнят1 у математичшй модел1 1деитиф1катори, що прийня-п у плануемому програмному засоб1
1. П3, ВР 1. ру, dv
2. ^ад, Юзад [рад/с], N 2. ТО, ^0, п0
3. Г1 = {Х1, У1, Zl} 3. г1[1], г1[2],г1[3]
4. Г2 = {Х2, У 2, У2} 4. г2[1], г2[2],г2[3]
5. Г3= {Х3, У3, Zз} 5. г3[1],г3[2],г3[3]
6. а * = {х*, у*, z*} 6. г4[1], г4[2],г4[3]
7 а * * ={х** у** у**} 7. г5[1], г5[2], г5[3]
8. в * ={а*, Ь*, с*} 8. г6[1],г6[2],г6[3]
9 в** = {а** Ь** с**} 9. г7[1], г7[2],г7[3]
10. Визначники: А, В, С 10. г8[1], г8[2], г8[3]
11. М А = атриця а11 а12 а13 а 21 а 22 а23 а31 а32 а33 11. Три масиви: а[1,1], а[1,2], а[1,3]; а[2,1], а[2,2], а[2,3]; а[3,1], а[3,2], а[3,3]
12. detА 12. Оа
13. Ь = {Ъп, Ь12, Ь13}т 13. г9[1], г9[2], г9[3]
14. Визначник: -Б = Ъ13 14. г9[3]
15. 10 = {х о,У 0} 15. г0[1]=Х1, г0[2]=Y1, г0[3^1
16. Координати: А*, В*, С* 16. с1[1], с1[2], с1[3]
17. Модуль вектора: д/(А*)2 + (В*)2 + (С*)2 17. d1
Продовження табл. 2
Продовження табл. 2
Позначення параметр1в, що прийнятi у математичнш моделi
1дентифжатори, що прийнят у плануемому програмному засобi
18. s = {m, n, p}T
18. с3[1], с3[2], с3[3]
19. Модуль вектора s
m 2 + n 2 + p
2 , „2
19. d3
20. Модуль вектора:
л/а2^
■+ В2 + С2
20. d2
21. Матриця стану РО для ВСК O X Y Z
T =
til ti2 t13 x 0
12i 122 123 У 0
t31 t32 t33 z0
0 0 0 l
21. Для вга OX : t[i,1], i=1, 2, 3, 4;
для вга OY : t[i,2], i = 1, 2, 3, 4;
для вга OZ : t[i,3], i= 1, 2, 3, 4; для точки початку координат ВСК t[i,4], i = 1, 2, 3, 4
22. Матриця стану РО для АСК OXYZ
t-1 =
(A*)T - (A*)T 10 0 00 1
22. Для вга ОХ: t1[i,1], i = 1, 2, 3, 4; для вiсi OY: t1[i,2], i = 1, 2, 3, 4; для вiсi OZ: t1[i,3], i = 1, 2, 3, 4; для точки початку координат АСК: t1[i ,4], i = 1, 2, 3, 4
tii ti2 t13
23. det A * = 12l t22 t23 23 Oa
_t31 t32 t33
ЛЛ Л Л 24 r0_1 [1], r0
24. ro = {x о ,y 0 ,z о, 1}
r0_1[3], r0_1[4]
Л Л Л
25. ri = {xi,y1,zi, 1}
25. r1_1[1], r1_1[2], r1_1 [3], r1_1[4]
ЛЛЛ
26. r2 = {x 2 ,y 2, z 2, 1}
26. r2_1[1], r2_1[2], r2_1[3], r2_1[4]
ЛЛЛ
27. r3 = {x3,y3,z3,1}
27. r3_1[1], r3_1[2], r3_1[3], r3_1[4]
28.
Л Л ЛЛЛЛЛЛ
r0 r1 ={xi-xo,y1-y0,zi-zo}
28. r0r1[1], r0r1[2] r0r1[3],
29.
Л Л Л Л Л Л Л Л
r0 r2 ={x2-xo,y2-y0,z2-zo}
29. r0r2[1], r0r2[2], r0r2[3]
30.
Л Л ЛЛЛЛЛЛ
r0 r3 ={x3-x0,y3-y0,z3-z0}
30. r0r3[1], r0r3[2], r0r3[3]
31. Модуль вектора
31. d4
0 1 1
0 1 1
I =R
[ум. лт. од.]
32. Модуль вектора
ЛЛ r 0 r 2
ЛЛ
| r 0 r 2 | =R
32. d5
Позначення параметрiв, що прийнятi у математичнiй моделi 1дентифжатори, що прийнятi у плануемому програмному засобi
33. Модуль вектора Л Л Л Л r 0 r3 : 1 r 0 r3 1 =R [ум. лт. од.] 33. d6
34. cos nl2, cos n13 34. cn12, cn13
35. П12, П13 [рад] 35. n12, n13
36. nl2, n13 [кут. град] 36. n12g, n13g
37. ll2, l13 [ум. лт. од.] 37. L12, L13
38. Номер гшки 38. nv
39. Напрямок руху 39. nd
40. t, ю [рад/с] 40. T0, w0
41. At, Дф [рад] 41. deltaT, deltaF
42. Лшшна швидкiсть: v R • юзад , vзад = „ аб° v = R ю [ум. лт. од./с] 2п 42. speed
43. t;, ф (t;) Vi = 0N 43. Tnow[i], Dum[i], i = 1,n0 +1
44. ф (t;) [кут. град] Vi = 0N 44. Fnowgrad[i], i =1,n0 +1
Л Л Л Л 45. xi = x(ti), у; = y(ti), Л Л _ zi = z(ti) Vi = 0, N 45. X now[i], Y now[i], Z now[i], i = 1,n0 +1
46. Координати поточно! точки в АСК: x, = x(tj ), у; = y(ti ), z; = z(ti ) Vi = 0, N 46. Xnow[i], Ynow[i], Znow[i], i = 1,n0 +1
У результатг дослгджень розглянуто: загальну структуру алгоритму, опис роботи алгоритму, визначення iдентифiкаторiв для створення програмного засобу.
Наукова новизна: процес «навчання» СВР ютотно спрощуеться, якщо И програмне забезпечення буде мiстити готовi алгорит-ми штерполяцп, вiдповiдно до загально! постановки завдання, у виглядi конкретних координат пласко! дуги. Слщ додати, що зас-тосування поданого алгоритму дозволить автоматично формувати сигнали керування ви-конавчими пристроями, яю реалiзують рух РО СВР за заданою траeкторieю.
Практична значущ1сть: при практичному застосуванш математичного забезпечення вихiднi даш можуть бути заданi шжене-ром-технологом чи оператором СВР в ходi розв'язання зворотно! задачi кiнематики або визначеш аналiтично [4]. Практичний розра-хунок починаеться з перевiрки умов корект-ностi завдання вихщних точок та фiзичноl реалiзацil шукано! траектори, що передба-
чеш алгоритмом. Алгоритм може бути використано при викладанш дисциплш, пов'язаних з вивченням пристро1в уводу шформаци у СВР та 1х функцiонуванням, у вищих навчальних закладах, зокрема на факультетах К1У та ЕА ХНУРЕ при проведеннi лабораторних, практичних та окремих курсових робiт. Також алгоритм може бути використаний при програмуванш рiзноманiтниx теxнологiчниx процесiв у цехах i3 верстатами з ЧПК, при проведенш промислових робiт на Харювському заводi пiдйомно-транспортного обладнан-ня, заводi «Комунар» та на ХДПЗ iм. Т.Г. Шевченка.
У поргвнянш з iснуючими аналогами [5 - 8] цей алгоритм дозволяе реалiзовувати програмне керування рухом РО СВР вщразу за кожною прямокутною координатою пере-мiщення. СВР, що мютять програмне забезпечення, розроблене на основi поданого алгоритму, можуть значно швидше виконувати розрахунок вщповщно1 траектори руху поточно1 робочо1 точки у просторi та забезпечити найвищу точшсть штерполяци.
Перспективи розвитку дано1 роботи полягають у створеннi вiдповiдного програмного засобу, що повинен точно розраховувати та наглядно вщображувати у просторi траекторiю руху РО та ii проекци на кожну робочу площину. Також iнтерфейс програмного засобу буде повшстю вiдповiдати сучасним пристроям вводу шформаци у СВР.
Список лггератури: 1. Великодний С.С. Анал1з динам1чно! точносп дволанкового маншулятора про-мислового робота // АСУ и приборы автоматики. 2005. .№ 130. С. 82-85. 2.Худяев О.А., Прокопенко О.О., Великодний С.С. Алгортшчт та програмш засоби автоматизованих систем керування. Харюв: У1ПА, 2006. 120 с. 3. Невлюдов 1.Ш., Великодний С.С. Метод штерполяци дуги кола для систем програмного ввдтворення рух1в // Радиоэлектроника и информатика. 2007. .№3. С. 36-42. 4.ХудяевА.А. Кинематика систем воспроизведения движений. Харьков: УИПА, 2000. 132 с. 4. Юревич Е.И. Основы робототехники, 2-е издание. Санкт-Петербург: БХВ-Петербург, 2005. 416 с. 5. КостюкВ.1., СпинуГ.О., Ямпольський Л.С. Робототехшка. Кшв: Вища школа, 1998. 448 с. 6. Олссон Г., Пиани Дж. Цифровые системы автоматизации и управления. Санкт-Петербург: Невский Диалект, 2001. 557 с. 7. Yim Y., Zhang Y., Daff D. Modular Robots // IEEE SPECTRUM. 2002. # 2. P. 30-34. 8. Дорф Р., Бишоп Р. Современные системы управления. Москва: Лаборатория Базовых Знаний, 2002. 832 с.
Надтшла до редколегИ 01.12.2007 Невлюдов 1гор Шакирович, д-р техн. наук, професор, заввдувач кафедри ТАВР ХНУРЕ. Науков1 штереси: автоматизащя технолопчних процеав у радюелектронному приладобу-дуванш Адреса: Украша, 61128, Харюв, пр. 50-р1ччя СРСР, б. 16, кв. 473, тел. 702-14-86 (роб.), 778-77-44 (дом.).
Великодний Сташслав Сергшович, асшрант кафедри ТАВР ХНУРЕ. Науков1 штереси: робототехшка, електропривод. Защкавлення та хоб1: туризм та вивчення фшософських праць. Адреса: Украша, 61204, Харюв, пр. Л. Свободи, б. 46, кв. 292, тел. 337-14-70 (дом.), 8097-950-02-74 (моб.).