Dynamiczne planowanie trajektorii robotów manipulacyjnych

Transkrypt

Dynamiczne planowanie trajektorii robotów manipulacyjnych
Dynamiczne planowanie trajektorii
robotów manipulacyjnych
DANIEL RECLIK
GABRIEL G. KOST
Definiowanie trajektorii robotów manipulacyjnych
realizowane jest zawsze z uwzgl´dnieniem Êrodowiska, w którym pracujà. Wynika to z faktu, ˝e w otoczeniu technologicznym robota sà zdefiniowane
przestrzennie obiekty technologiczne stanowiàce
struktur´ systemu zrobotyzowanego [1]. Mo˝liwoÊç
w∏aÊciwego wyznaczenia optymalnego sposobu
przejÊcia robota pomi´dzy wyznaczonymi po∏o˝eniami poÊrednimi w przestrzeni zadaniowej jest
podstawà do oceny jakoÊci jego programu. W sytuacji
zag´szczenia jego przestrzeni zadaniowej obiektami
technologicznymi – przeszkodami, szczególnego
znaczenia nabiera kryterium optymalnego przejÊcia
robota z po∏o˝enia startowego do koƒcowego planowanej drogi. Wynika ono z koniecznoÊci bezwzgl´dnego spe∏nienia wymogu bezkolizyjnego
ruchu i wymusza wykorzystanie ró˝norakich dróg
obejÊcia, cz´sto eliminujàc drog´ geometrycznie
najkrótszà. Dwa podstawowe parametry ruchu robota, jakimi sà d∏ugoÊç drogi bezkolizyjnej i czas jej
realizacji, stanowià podstaw´ optymalizacji jego
programu [2, 3].
Mgr in˝. Daniel Reclik i dr hab. in˝. Gabriel G. Kost, prof.
Pol. Âl., sà pracownikami Instytutu Automatyzacji Procesów
Technologicznych i Zintegrowanych Systemów Wytwarzania Politechniki Âlàskiej w Gliwicach.
ROK WYD. LXVII 앫 ZESZYT 1/2008
Planowanie bezkolizyjnej drogi robota
Coraz powszechniejsza integracja systemów wytwórczych realizowana jest g∏ównie na p∏aszczyênie
informacyjnej. W grupie Êrodków wspomagajàcych
prace z zakresu technologicznego przygotowania
produkcji systemy komputerowego programowania
off-line robotów przemys∏owych sà najmniej zaawansowane technologicznie, przy wysokim zaawansowaniu informatycznym (dobrze rozbudowana p∏aszczyzna grafiki komputerowej). Szczególnie s∏abo
rozwini´ty w tych systemach jest obszar zagadnieƒ
dotyczàcych wyznaczania dróg bezkolizyjnych przejÊç
robota pomi´dzy obiektami znajdujàcymi si´ w jego
przestrzeni zadaniowej. Problem analizy planowanego ruchu wynika z trudnoÊci rozwiàzania takich
kluczowych zagadnieƒ, jak [2 – 4]:
쐌 analiza trójwymiarowej przestrzeni zadaniowej robota, uwzgl´dniajàca rozmieszczenie obiektów-przeszkód,
쐌 sposób interpretacji struktury kinematycznej
robota przy analizie ruchu (∏aƒcuch kinematyczny,
przedmiot manipulowany, dynamiczna zmiana u∏o˝enia przestrzennego ∏aƒcucha kinematycznego robota w czasie ruchu w przestrzeni 3D),
쐌 ocena sposobu przemieszczania si´ robota w celu
wyznaczenia optymalnego przejÊcia bezkolizyjnego.
Ze wzgl´du na z∏o˝onoÊç geometrycznà przestrzeni
zadaniowej robota, jego ruch bezkolizyjny musi si´
odbywaç etapami (krokami) wyznaczanymi pomi´dzy
kolejnymi napotykanymi miejscami mogàcymi potencjalnie wywo∏aç kolizj´ [1 – 4]. Dlatego te˝ wszelkie próby komputerowego wspomagania procesu
wyznaczania bezkolizyjnego zachowania si´ robota
w Êrodowisku technologicznym opierajà si´ na rozwiàzaniach iteracyjnych. Jest to zagadnienie wieloetapowe, w którym ruch bezkolizyjny robota wyznaczany jest z u˝yciem specjalnie opracowanego planera (rys. 1), którego kolejne etapy dzia∏ania dotyczà
[2 – 3]:
쐌 analizy przestrzeni zadaniowej robota w celu
wyznaczenia obszarów, w których ruch robota mo˝e
si´ odbywaç bezkolizyjnie,
쐌 wyznaczenia w przestrzeni zadaniowej robota
bezkolizyjnej Êcie˝ki robota,
rozumianej jako zbiór punktów w przestrzeni, przez
które przebiega bezkolizyjna droga robota,
쐌 wyznaczenie bezkolizyjnej trajektorii, jako sparametryzowanego czasem
bezkolizyjnà. Ze wzgl´du na sposób prowadzenia
analizy przestrzeni zadaniowej wyznaczona Êcie˝ka
bezkolizyjna jest ∏amanà, zdefiniowanà przez zbiór
kolejnych po∏o˝eƒ robota (punktów podporowych)
zwiàzanych z ka˝dym wytypowanym przez planer
pustym (bezkolizyjnym) fragmentem przestrzeni
(rys. 2). Uzyskana w ten sposób bezkolizyjna Êcie˝ka
(∏amana) nie mo˝e byç jednak wykorzystana przez
programator robota (system off-line). Jest to spowodowane tym, ˝e ∏amanà tworzy zbyt liczny zbiór
punktów oraz to, ˝e ze wzgl´du na technik´ ich
uzyskania (metody rastrowe) [2, 5] nie jest ona g∏adka
w sensie geometrycznym, co oznacza, ˝e nie cechuje
si´ p∏ynnoÊcià zmiany przebiegu w przestrzeni. W wyniku tego, przejÊcie robota w przestrzeni po wyzna-
Rys. 1. Zadanie planowania bezkolizyjnej
trajektorii robota [2]
równania bezkolizyjnej drogi robota w przestrzeni
zadaniowej.
Zadaniem pierwszoplanowym dzia∏aƒ planera jest
wi´c analiza geometryczna otoczenia robota ze
szczególnym uwzgl´dnieniem przestrzeni zadaniowej
przy uwzgl´dnieniu konfiguracji przestrzennej otoczenia (obiektów-przeszkód) [2].
Na podstawie tej analizy planer typuje zbiór kolejno
osiàganych przez robota po∏o˝eƒ, tzw. punktów
podporowych. Punkty podporowe mogà byç przyjmowane tylko w cz´Êci przestrzeni zadaniowej wolnej
od przeszkód, dzi´ki czemu wyznaczajà one Êcie˝k´
Rys. 2. Przyk∏ad wygenerowanej Êcie˝ki bezkolizyjnej robota [3]
24
czonej Êcie˝ce charakteryzowa∏oby si´ ciàg∏à zmianà
kierunku przejÊcia (rys. 2). Z tego powodu konieczne
jest wyg∏adzenie uzyskanej Êcie˝ki poprzez wyeliminowanie ze zbioru punktów podporowych, które
nie powodujà zmiany kierunku przebiegu Êcie˝ki
w przestrzeni poza przyj´te kryteria. Tym samym
konieczne jest przeprowadzenie kolejnego etapu
planowania prowadzàcego do wyznaczenia podzbioru punktów podporowych stanowiàcych podstaw´
wyznaczenia poszukiwanego równania drogi robota
w przestrzeni bezkolizyjnej [2, 3]. Uk∏ad przestrzenny
przeszkód robota oraz sposób ich omijania, po∏o˝enie
poczàtkowe, koƒcowe i wymagany kszta∏t planowanej drogi powodujà, ˝e ustalenie jednoznacznych
kryteriów geometrycznych eliminacji bàdê typowania
punktów podporowych utrudniajà sformalizowanie
(zalgorytmizowanie) procedury ich typowania. Wyznaczenie równania krzywej geometrycznie g∏adkiej (bez
za∏amaƒ, p∏ynnie zmieniajàcej swój przebieg w wyznaczonym kierunku) umo˝liwia w koƒcowym etapie jej
sparametryzowanie czasem. Pozwala to na uzyskanie
równania bezkolizyjnej trajektorii robota w przestrzeni
spe∏niajàcej wymagane w robotyce kryteria g∏adkoÊci
(krzywa klasy C2 z ciàg∏à pochodnà rz´du drugiego),
co umo˝liwia wyliczenie pochodnych przemieszczenia
wzgl´dem czasu, czyli okreÊlenie wartoÊci chwilowych pr´dkoÊci i przyÊpieszeƒ kiÊci manipulatora.
Proces wyznaczania bezkolizyjnego równania Êcie˝ki
ruchu powtarzany jest dla ka˝dego kroku pracy
manipulatora. Wià˝e si´ to z koniecznoÊcià ciàg∏ego
monitorowania po∏o˝enia kiÊci robota i dynamicznym
wyznaczaniem kolejnych fragmentów bezpiecznego
przejÊcia przez przestrzeƒ zadaniowà. Na rys. 3 pokazano algorytm dzia∏ania dynamicznego systemu
planowania bezpiecznych trajektorii ruchu robotów
manipulacyjnych.
ROK WYD. LXVII 앫 ZESZYT 1/2008
minimalnej liczby punktów podporowych, która przy
stosunkowo krótkim czasie prowadzonych analiz
umo˝liwi∏aby dostatecznie dok∏adne odwzorowanie
Êcie˝ki bezkolizyjnej i to wielomianem gwarantujàcym
uzyskanie ciàg∏ej pochodnej drugiego rz´du (C2).
Oprócz interpolacji wielomianowej w robotyce
proponuje si´ wykorzystanie krzywych Béziera (wielomiany Bernsteina-Béziera) i funkcji B-sklejanych [5 – 7]
oraz ich odmian wymiernych [6, 8], które pozwalajà
na nadawanie wagi punktom podporowym (liczby
wp∏ywu). Zmiana techniki interpolacyjnej nie wynika tylko z potrzeby w miar´ pe∏nego odwzorowania
posiadanej Êcie˝ki bezkolizyjnej, przy najmniejszej
liczbie wykorzystanych w procesie interpolacji
punktów podporowych. Oddzia∏uje ona równie˝
na sam proces sterowania robotem poprzez charakterystyk´ uzyskiwanego bezkolizyjnego toru robota [4].
Rys. 3. Algorytm dzia∏ania systemu dynamicznego planowania
bezpiecznej Êcie˝ki robotów manipulacyjnych
Poszukiwanie równania
bezkolizyjnej krzywej w przestrzeni 3D
Wykorzystywane w robotyce techniki rozwiàzywania zadania wyznaczania trajektorii robota opierajà si´ na poszukiwaniu takich punktów podporowych, które pozwoli∏yby na uzyskanie metodami
interpolacyjnymi równania krzywej przybli˝ajàcej
kszta∏t uzyskanej Êcie˝ki bezkolizyjnej. Interpolacja
prowadzi jednak do odst´pstw przebiegu (kszta∏tu)
uzyskanej krzywej interpolowanej opartej na kilku
wybranych punktach podporowych w stosunku do
Êcie˝ki gwarantujàcej bezkolizyjnoÊç. Najprostszym
sposobem poprawy tego stanu jest zwi´kszenie liczby
wykorzystanych w procesie interpolacji punktów. To
jednak wyd∏u˝a czas niezb´dnych obliczeƒ [4 – 6].
Stosowane do rozwiàzywania tego zadania techniki
interpolacyjne wykorzystujà g∏ównie krzywe wielomianowe. Z∏o˝onoÊç obliczeniowa problemów interpolacyjnych tego zadania powoduje, ˝e najcz´Êciej
wykorzystuje si´ do tego celu wielomiany niskich
stopni (trzeciego stopnia), które gwarantujà uzyskanie
ciàg∏ej pochodnej pierwszego rz´du w punktach
w´z∏owych (krzywe klasy C1) lub jedynie pozwalajà na
zdefiniowanie krzywej gwarantujàcej uzyskanie ciàg∏oÊci w sensie geometrycznym w tych punktach. Stàd
te˝ istotnym problemem jest znalezienie takiej
ROK WYD. LXVII 앫 ZESZYT 1/2008
쐌 Zastosowanie krzywych Béziera i B-sklejanych
w robotyce
PrzydatnoÊç procedur interpolujàcych opartych na
funkcjach wielomianowych, krzywych Béziera czy
krzywych B-sklejanych nie zosta∏a w robotyce w szerszym zakresie zweryfikowana. G∏ównym powodem
takiego stanu jest czasoch∏onnoÊç procesów interpolujàcych, które dotyczà ka˝dorazowo krzywej
przestrzennej (przestrzeƒ 3D), oraz które muszà byç
poprzedzone z∏o˝onymi i bardzo czasoch∏onnymi, bo
odnoszàcymi si´ równie˝ do przestrzeni 3D, procedurami wyznaczania bezkolizyjnej Êcie˝ki w celu
jednoznacznego ustalenia zbioru punktów podporowych (rys. 3). Z tych powodów ostateczne ustalenie
sposobu przeprowadzenia procesu interpolacyjnego
nie jest proste i jednoznaczne [4, 5, 7, 8].
Metody interpolujàce oparte na wielomianach
Bernsteina-Béziera oprócz zalet majà równie˝ doÊç
istotne wady. Do g∏ównych nale˝y zaliczyç [7, 8]:
쐌 poszukiwanie optymalnego odwzorowania interpolacyjnego istniejàcej Êcie˝ki robota wymaga
podejÊcia iteracyjnego, dodanie kolejnego punktu
poÊredniego w celu lepszego „dopasowania” krzywej
interpolowanej do wzorca Êcie˝ki wymaga przeprowadzenia kolejnych obliczeƒ interpolacyjnych,
쐌 trudnoÊci w odwzorowaniu typowych dla ruchu
robota kszta∏tów drogi, jakimi sà np. okr´gi, elipsy
typowe dla programowanych w robocie ruchów
interpolowanych,
쐌 niemo˝noÊç
swobodnego
manipulowania
punktami podporowymi w celu dok∏adnego odwzorowania posiadanej Êcie˝ki, mo˝na jedynie
do∏o˝yç kolejne w´z∏y, natomiast nie mo˝na ich
przesuwaç, gdy˝ powoduje to deformacj´ uzyskanej
ju˝ krzywej,
쐌 interpolowanie dróg o z∏o˝onych kszta∏tach
pociàga za sobà koniecznoÊç uzyskiwania krzywych
wysokich stopni, co znaczàco utrudnia bàdê nawet
uniemo˝liwia przeprowadzenie procesu interpolacji.
Ze wzgl´du na przytoczone wady proponuje si´
wykorzystaç w zadaniu interpolacji krzywe B-sklejane. Krzywe te spe∏niajà stawiane im podstawowe
wymagania na potrzeby interpolacji Êcie˝ki robota,
gdy˝ [7, 8]:
쐌 mo˝na je modyfikowaç fragmentami, bez koniecznoÊci zmiany pozosta∏ych jej cz´Êci, co pozwala na konstruowanie krzywych o kszta∏tach zgodnych
z oczekiwaniami (wymaganiami),
25
쐌 dla krzywych trzeciego stopnia mo˝na uzyskaç
ciàg∏oÊci drugiej pochodnej w w´z∏ach wspólnych
(punktach sklejania wielomianów rozpi´tych mi´dzy
kolejnymi punktami podporowymi), co jest warunkiem uzyskania krzywych klasy C2.
W przypadku zajÊcia koniecznoÊci zmiany krzywej
interpolujàcej z wielomianu B-sklejanego na krzywà
Béziera mo˝liwy jest do zastosowania niezmieniony
aparat matematyczny, poniewa˝ jednà z cech B-splajnów jest fakt, ˝e ich stopieƒ nie mo˝e byç wi´kszy
ni˝ liczba punktów podporowych. Dla stopnia krzywej
B-sklejanej równej liczbie w´z∏ów interpolacji (wybranych punktów podporowych) matematyczna postaç
krzywej B-sklejanej jest to˝sama z opisem równania
krzywych Béziera [7]. Zatem zamiana jednego typu
interpolacji w drugi polega na przyj´ciu w∏aÊciwego
stopnia B-splajnu równego liczbie w´z∏ów interpolacji
[7, 8].
쐌 Krzywe NURBS (wymierne wielomiany B-sklejane)
PrzydatnoÊç procedur interpolujàcych opartych na
funkcjach NURBS (Non Uniform Rational B-Spline)
jest znacznie wi´ksza ni˝ w przypadku konwencjonalnych B-splajnów. Dzieje si´ tak dlatego, ˝e ka˝demu z punktów podporowych interpolacji mo˝na
przypisaç wag´, która okreÊla stopieƒ dopasowania
krzywej interpolujàcej do punktu. Aparat matematyczny krzywych NURBS jest ponadto najbardziej
wszechstronny, poniewa˝ przypisanie jednakowej
wagi wszystkim punktom trajektorii bezkolizyjnej
podlegajàcym interpolacji spowoduje automatycznà
zamian´ równania drogi robota do postaci B-skejanej
(lub te˝, po przyj´ciu stopnia B-splajnu równego
liczbie punktów podporowych, przejÊcie do wielomianów Bernsteina-Béziera) [7].
Algorytm generowania krzywych
interpolujàcych
Krzywe interpolujàce oparte na wielomianach
Bernsteina-Béziera, jak i te˝ na NURBS i B-splajnach sà
funkcjami z∏o˝onymi. Podstawà generowania tych
krzywych sà funkcje bazowe, których odpowiednie
sklejenie ze sobà daje w rezultacie zamierzony kszta∏t
przestrzennej krzywej o zadanych parametrach. Poniewa˝ funkcje bazowe sà okreÊlone w dziedzinie
czasu, to mo˝na stwierdziç, ˝e powsta∏a z ich sklejenia
krzywa równie˝ jest poÊrednio okreÊlona w dziedzinie
czasu. Zatem aby móc wykreÊliç krzywà interpolujàcà
ruch robota po wyznaczonej Êcie˝ce bezkolizyjnej,
nale˝y w pierwszym etapie przewidzieç ca∏kowity czas
trwania ruchu. Czas ten w dalszej cz´Êci przyjmowany
jest jako umowna jednostka podstawowa, tzn. ruch
trwa w umownym przedziale czasowym od 0 do 1,
czyli od zera do 100% rzeczywistego czasu. Poniewa˝ aparat matematyczny krzywych NURBS, jak ju˝
wspomniano, jest najbardziej wszechstronny, tote˝
w dalszej cz´Êci opisywany b´dzie tok post´powania
podczas realizacji tego w∏aÊnie algorytmu [7, 8].
W procesie tworzenia wielomianu interpolujàcej
funkcji gi´tkiej konieczne jest w pierwszej kolejnoÊci
wyznaczenie w´z∏ów interpolacji. Poniewa˝ ruch po
krzywej trwaç ma od 0 do 1, tote˝ w´z∏ami interpolacji
b´dà przedzia∏y czasowe z tego zakresu. Aby przyjàç
w∏aÊciwà liczb´ w´z∏ów interpolacji, musimy ustaliç
stopieƒ n wielomianu interpolacyjnego oraz poznaç
liczb´ punktów podporowych interpolacji Li. Ma26
tematycznie zbiór w´z∏ów mo˝na zapisaç w nast´pujàcy sposób [7]:
T = [t0, t1, t2, ..., tk}
(1)
przy czym liczba w´z∏ów ti musi byç równa liczbie U
[7]:
U = Li + n + 1
(2)
By przydzieliç w∏aÊciwe wartoÊci czasu z zakresu
od 0 do 1, nale˝y zastosowaç nast´pujàcy tok post´powania: Pierwsze n + 1 w´z∏ów wype∏niç nale˝y wartoÊciami 0, ostatnie n + 1 w´z∏ów wartoÊciami 1, natomiast pozosta∏e w´z∏y wype∏niane sà proporcjonalnie
rosnàcymi wartoÊciami czasu. Przyk∏adowy zbiór
w´z∏ów interpolacji dla krzywej trzeciego stopnia
i 7 punktów podporowych ma postaç [7]:
T = {0; 0; 0; 0; 0,25; 0,5; 0,75; 1; 1; 1; 1}
(3)
Majàc wyznaczone punkty w´z∏owe interpolacji
(punkty T na osi czasu (3)), mo˝na wyznaczyç bazowe
funkcje sk∏adowe wymiernego wielomianu B-sklejanego (NURBS). Wyznaczanie funkcji bazowych jest
procesem iteracyjnym, poniewa˝ aby wyznaczyç
funkcje bazowe danego stopnia, konieczne jest wyznaczenie wczeÊniej funkcji bazowych stopnia ni˝szego. W zwiàzku z tym ca∏y proces rozpoczyna si´ od
wyznaczenia funkcji bazowych stopnia zerowego,
które definiowane sà nast´pujàco: dla zadanego przedzia∏u czasu sà równe 1, natomiast dla pozosta∏ych
okresów czasu przyjmujà wartoÊci 0, co mo˝na zapisaç [7]:
(4)
Funkcje bazowe stopni wy˝szych wyliczane sà na
podstawie nast´pujàcej zale˝noÊci [7]:
(5)
gdzie:
p przyjmuje kolejno wartoÊci: 1, 2, 3 a˝ do
wartoÊci stopnia wielomianu n,
i przyjmuje kolejne wartoÊci od 0 a˝ do liczby
przedzia∏ów pomi´dzy w´z∏ami Li + n..
Majàc wyliczone wartoÊci funkcji bazowych, mo˝na
wyznaczyç wspó∏rz´dne punktów wielomianu interpolujàcego X(t), Y(t), Z(t) jako superpozycji wartoÊci
poszczególnych wspó∏rz´dnych uk∏adu kartezjaƒskiego. W przypadku konwencjonalnego wielomianu
B-sklejanego wartoÊci wspó∏rz´dnych liczone sà jako
suma iloczynów funkcji bazowych i wartoÊci wspó∏rz´dnych punktów podporowych P, co mo˝na zapisaç
jako [7, 8]:
(6)
(7)
(8)
ROK WYD. LXVII 앫 ZESZYT 1/2008
Dla wyliczenia wymiernego wielomianu B-sklejanego (NURBS) musimy uwzgl´dniç ponadto wagi
punktów podporowych P oznaczone jako w. Znajàc
wagi punktów podporowych, mo˝na wyliczyç poszczególne wspó∏rz´dne wielomianu interpolujàcego
wykorzystujàc wzory [7, 8]:
(9)
(10)
(11)
Aby zobrazowaç dzia∏anie algorytmu, pokazano
przyk∏adowo trajektorie utworzone z wykorzystaniem
losowo wytypowanych punktów podporowych. Na
rys. 4 pokazano wygenerowane przestrzenne trajek-
Zastosowanie aplikacyjne
krzywych B-sklejanych do interpolacji
bezpiecznych trajektorii robotów
w przestrzeniach zadaniowych
G∏ównym celem niniejszej publikacji by∏o przedstawienie próby zastosowania krzywych interpolujàcych opartych na wielomianach NURBS do „wyg∏adzania” bezpiecznej trajektorii ruchu robotów
manipulacyjnych. Trajektorie poczàtkowe reprezentowane sà przez zbiór punktów podporowych trajektorii ruchu robota. Przyj´ty przez autorów sposób
generowania trajektorii poczàtkowych implikuje
postaç krzywej opisanej na wynikowych punktach
podporowych [1 – 3]. Krzywa ta jest zawsze równoleg∏a do jednej z osi kartezjaƒskiego uk∏adu wspó∏rz´dnych, przez co niemo˝liwe jest jej wykorzystanie
w sposób bezpoÊredni do zaprogramowania ruchu
robota. Na rys. 5 pokazano przyk∏adowà scen´
(przestrzeƒ roboczà) manipulatora przemys∏owego
wraz z rozmieszczeniem obrabiarek numerycznych.
Obrabiarki (kolor ciemnoniebieski) stanowià infrastruktur´ technicznà systemu zrobotyzowanego,
Rys. 4. Ró˝ne uj´cia przestrzennych trajektorii B-sklejanych przy zró˝nicowaniu stopnia wielomianu interpolacyjnego
torie dla ró˝nych stopni wielomianu interpolujàcego [7]. Istotnà w∏asnoÊcià wygenerowanych
krzywych jest stopieƒ dopasowania do punktów podporowych.
Im wi´kszy stopieƒ wielomianu
interpolujàcego n zostanie przyj´ty, tym bardziej odsuni´ta zostaje wygenerowana krzywa od wyznaczajàcych jà punktów podporowych. Zwi´kszanie stopnia wielomianu interpolujàcego powoduje równie˝ zmniejszenie przegi´ç
krzywej, co w rezultacie daje krzywà o bardziej ∏agodnych zaokràgleniach.
Rys. 5. Scena robota z wygenerowanà
bezpiecznà Êcie˝kà wokó∏ przeszkody
(obrabiarki)
ROK WYD. LXVII 앫 ZESZYT 1/2008
27
jednak˝e sà zarazem przeszkodà w swobodnym
poruszaniu si´ robota. Opracowany planer trajektorii
potrafi, na podstawie zapisu matematycznego sceny
robota oraz wielkoÊci wymiarowych manipulowanego przedmiotu, wyznaczaç trajektori´ bezpiecznà.
Aby uzyskaç pewnoÊç bezkolizyjnoÊci ruchów, program przyporzàdkowuje ka˝dej obrabiarce stref´
niebezpiecznà (kolor jasnoniebieski), którà omija podczas generowania trajektorii. Na podstawie danych
wymiarowych manipulowanego przedmiotu obliczany jest równie˝ wymiar siatki i Êrednica okr´gu
po∏o˝eƒ poÊrednich. Na rys. 5 pokazano wygenerowanà trajektori´ bezpiecznego przejÊcia z jednej
strony obrabiarek na drugà przy zachowaniu warunku
bezkolizyjnoÊci.
Po wygenerowaniu bezpiecznej trajektorii poczàtkowej nast´puje kolejny krok iteracyjnych obliczeƒ,
którego zadaniem jest dopasowanie mo˝liwie najbardziej g∏adkiej trajektorii za pomocà sparametryzowanej czasem funkcji interpolacyjnej bazujàcej na
aparacie matematycznym NURBS (uniwersalny aparat matematyczny w zale˝noÊci od spe∏nienia zadanych warunków logicznych automatycznie przekszta∏ca si´ w wielomian B-sklejany lub te˝ w krzywà
Bernsteina-Béziera [7, 8]).
Jak wykaza∏y badania, niezb´dnym modu∏em dodatkowym utworzonego oprogramowania jest algorytm decyzyjny wielokrotnego selektywnego wyboru
punktów podporowych trajektorii poczàtkowej. Modu∏
ten w sposób automatyczny usuwa ze zbioru punktów
podporowych trajektorii poczàtkowej kolejne naro˝a,
sprawdzajàc ka˝dorazowo warunek bezkolizyjnoÊci
nowo utworzonej trajektorii. Zastosowany aparat
matematyczny zaprogramowany jest na minimalizowanie iloÊci punktów podporowych. Zakoƒczenie
dzia∏ania do∏àczonego modu∏u powoduje rozpocz´cie
procesu maksymalizowania stopnia wielomianu interpolacyjnego z mo˝liwoÊcià nadawania wag pozosta∏ym punktom podporowym trajektorii poczàtkowej. Na rys. 6 pokazano kolejne stadia wyg∏adzania
trajektorii ruchu bezkolizyjnego robota w przestrzeni
zadaniowej.
Rys. 6. Kolejne stadia procesu wyg∏adzania bezpiecznej trajektorii robota w przestrzeni zadaniowej
Kolejne stadia procesu optymalizowania bezpiecznej trajektorii robota w przestrzeni zadaniowej pokazujà, jak mocne wyg∏adzenie poczàtkowej trajektorii
(kolor niebieski) jesteÊmy w stanie uzyskaç zapro28
ponowanà metodà. Ostateczna trajektoria (kolor
czarny) powsta∏a po selektywnym usuni´ciu 18 punktów podporowych naro˝nych. Ostateczny stopieƒ
wielomianu ustalono na n = 4 (warunkiem ciàg∏oÊci
drugiej pochodnej by∏o zachowanie stopnia wielomianu interpolacyjnego wi´kszego ni˝ 2). O tym jak
wa˝ne jest selektywne usuwanie punktów, Êwiadczy
trzecia, poÊrednia trajektoria pokazana na rysunku
kolorem czerwonym. Trajektoria ta powsta∏a na bazie
wszystkich punktów podporowych i maksymalnie
wyg∏adzonego wielomianu interpolacyjnego (krzywa
Béziera – stopieƒ wielomianu równy liczbie punktów
podporowych trajektorii poczàtkowej). Jak widaç,
mimo zastosowania najwy˝szego z mo˝liwych stopni
wielomianu interpolacyjnego, nadal wyst´pujà oscylacje wokó∏ przewidywanej trajektorii optymalnej. Po
zakoƒczeniu procesu optymalizacji i wyg∏adzania
bezpiecznej trajektorii ruchu robota w przestrzeni
zadaniowej mo˝liwe jest pokazanie wyników pracy
algorytmu na tle trajektorii poczàtkowej oraz sceny
robota (rys. 7).
Rys. 7. Naniesiona trajektoria bezpieczna na scen´ robota
Jak mo˝na zauwa˝yç w górnej cz´Êci rysunku,
nowa, wyznaczona trajektoria przecina stref´ bezpieczeƒstwa wokó∏ obrabiarki, a mimo to zosta∏a przez
system zaakceptowana. Dzieje si´ tak, poniewa˝ w poczàtkowych obliczeniach konieczne by∏o zastosowanie obiektów technologicznych (w tym tak˝e stref bezpieczeƒstwa tych obiektów) o kraw´dziach równoleg∏ych. By∏o do podyktowane koniecznoÊcià ograniczenia czasu przeszukiwania przestrzeni zadaniowej, który by∏ znacznie krótszy w przypadku naro˝y
prostokàtnych [1 – 3]. W rzeczywistoÊci przestrzeƒ
bezpieczeƒstwa ma charakter ekwidystanty odsuni´tej na zewnàtrz konturu maszyny i d∏ugoÊci odsuni´cia równej Êrednicy kuli opisanej na manipulowanym przedmiocie. Algorytm sprawdzajàcy poprawnoÊç wykonywanej optymalizacji trajektorii pos∏uguje si´ rzeczywistym wyglàdem stref bezpieczeƒstwa, których widok pokazano na rys. 8. Poniewa˝
modu∏ sprawdzajàcy ma zdefiniowany iteracyjny
algorytm kontroli znanej Êcie˝ki (aktualny poziom
wyg∏adzenia), to nie musi poszukiwaç jej w przestrzeni. Dlatego te˝ przyj´cie sprawdzania rzeczywistej
strefy bezpieczeƒstwa nie przynosi wyd∏u˝enia czasu
obliczeƒ (polega on tylko na sprawdzeniu dodatkowych warunków logicznych o sta∏ych parametrach
– pozycjach i wymiarach maszyn).
ROK WYD. LXVII 앫 ZESZYT 1/2008
Podsumowanie
Przedstawiony w niniejszej publikacji system poszukiwania bezkolizyjnych Êcie˝ek ruchu robotów
w ich przestrzeniach zadaniowych nie zosta∏ jeszcze
w pe∏ni ukoƒczony. Trwajà prace nad dalszà rozbudowà systemu, a w szczególnoÊci nad do∏àczeniem
mechanizmów przestrzennych poszukiwaƒ optymalnego, sparametryzowanego czasem równania bezpiecznego przemieszczania robota przemys∏owego
w jego przestrzeni zadaniowej. Docelowo autorzy
majà zamiar przygotowaç w pe∏ni funkcjonalny system oparty na przestrzennych krzywych B-sklejanych,
jako modu∏ mogàcy byç przy∏àczany do jednego
z istniejàcych systemów programowania off-line
robotów przemys∏owych.
LITERATURA
1. Kost G., Zdanowicz R.: Modeling of manufacturing systems
and robot motions. Journal of Materials Processing Technology, Vol. 164-165, (Special issue, Edt: M.J.S. Hashmi).
Elsevier, May 2005, pp. 1369 – 1378.
2. Kost G.: Planowanie bezkolizyjnych Êcie˝ek manipulacyjnych
i stacjonarnych robotów przemys∏owych oparte na procesach decyzyjnych Markowa i funkcji ocen. Wydawnictwo
Politechniki Âlàskiej, Gliwice 2004.
ROK WYD. LXVII 앫 ZESZYT 1/2008
Rys. 8. Przeszkoda robota i jej rzeczywista strefa bezpieczeƒstwa
3. Kost G.: Planowanie bezpiecznych Êcie˝ek robotów oparte
na funkcji ocen. In˝ynieria Maszyn, T. 10, nr 1-2/2005. ss.
165 – 182.
4. Boissonat J. D., Budrick J., Goldberg K.: Algorithmic Foundations of Robotics V. Springer tracts in advanced robotics 7.
Springer-Verlag publishing. Berlin, Heidelberg 2004.
5. Dul´ba I.: Metody i algorytmy planowania ruchu robotów
mobilnych i manipulacyjnych. Akademicka Oficyna Wydawnicza EXIT, Warszawa 2001.
6. Kiciak P.: Podstawy modelowania krzywych i powierzchni.
WNT, Warszawa 2005.
7. Majchrzak E., Mochnacki B.: Metody numeryczne. Podstawy
teoretyczne. Aspekty praktyczne i algorytmy. Wydawnictwo
Politechniki Âlàskiej, Gliwice 2004.
8. Fortuna Z., Macukow B., Wàsowski J.: Metody numeryczne.
Podr´czniki akademickie. Elektronika, Informatyka. Telekomunikacja. WNT, Warszawa 2001.
29

Podobne dokumenty