WYBRANE ZAGADNIENIA ROBOTYKI Planowanie trajektorii manipulatora Marek Wojtyra Zakład Teorii Maszyn i Robotów Instytut Techniki Lotniczej i Mechaniki Stosowanej Wydział Mechaniczny Energetyki i Lotnictwa Politechnika Warszawska 2018
Plan wykładu Wstęp Trajektoria i ścieżka Związki trajektorii z kinematyką robota Wymagania wobec trajektorii Rola generatora trajektorii Trajektorie w przestrzeni złączy Trajektorie elementarne Trajektorie wielopunktowe Trajektorie złożone Koordynacja trajektorii w wielu złączach Łączenie segmentów trajektorii Trajektorie w przestrzeni zadań Planowanie ścieżki Reprezentacja orientacji Ruch wzdłuż ścieżki Planowanie trajektorii manipulatora 2
Dzisiejszy wykład na tle następnych Planowanie trajektorii manipulatora 3
Plan wykładu Wstęp Trajektoria i ścieżka Związki trajektorii z kinematyką robota Wymagania wobec trajektorii Rola generatora trajektorii Trajektorie w przestrzeni złączy Trajektorie elementarne Trajektorie wielopunktowe Trajektorie złożone Koordynacja trajektorii w wielu złączach Łączenie segmentów trajektorii Trajektorie w przestrzeni zadań Planowanie ścieżki Reprezentacja orientacji Ruch wzdłuż ścieżki Planowanie trajektorii manipulatora 4
Trajektoria i ścieżka p T t=t K Trajektoria: r R ( B) BT B T ( t) f( t) ( t) F( t) t t, t f, F zadane funkcje czasu 0 K t=t 0 p B s Zazwyczaj: r R ( B) ( B) BT BT B B T t RT ( t) r s( t) ( ) s( t) t t, t 0 K Trajektoria = ścieżka (path) + parametryzacja w czasie (timing law) ( B) ( B r ) BT rbt () s B B, s 0, L RT RT() s s s t t t t ( ), 0, K s parametr odmierzający długość ścieżki s(t) zadana funkcja czasu Planowanie trajektorii manipulatora 5
Trajektoria w kontekście kinematyki robota Przestrzeń napędów joint space Przestrzeń konfiguracji (złączy, przegubów) zadanie proste kinematyki direct kinematics problem zadanie odwrotne kinematyki inverse kinematics problem Przestrzeń kartezjańska (operacyjna, zadań) operational space Trajektoria w przestrzeni zadań ma swój obraz w przestrzeni złączy (i na odwrót). W układzie sterowania robotem trajektoria zadawana jest we współrzędnych napędowych (lub złączowych). Trajektorię można planować przestrzeni zadań lub bezpośrednio w przestrzeni złączy. Komentarze Podczas ruchu manipulatora ZPK jest rozwiązywane siłami natury trajektoria końcówki wynika z ruchu członów (nie liczy się ZPK). Planowanie trajektorii we współrzędnych kartezjańskich wymaga rozwiązywania na bieżąco zadania odwrotnego kinematyki (wielokrotne obliczenia ZOK). Planowanie trajektorii manipulatora 6
Trajektoria w kontekście kinematyki robota Równania opisujące kinematykę robota są na ogół silnie nieliniowe. v t q t Komentarz Jeśli trajektorię zdefiniujemy w przestrzeni złączy (np. zadając liniowe w funkcji czasu zmiany współrzędnych), to wyobrażenie sobie trajektorii końcówki jest dość trudne. Planowanie trajektorii manipulatora 7
Trajektoria wymagania Pożądane cechy trajektorii: łatwość obliczania (wydajność, zużycie pamięci, ), przewidywalność / intuicyjność, łatwość łączenia odcinków, rozbudowywania, zmieniania, możliwość uwzględniania ograniczeń (np. maksymalnej prędkości), gładkość (co najmniej ciągłość) w przestrzeni i w czasie. Komentarze Istotne ograniczenia wynikają z fizyki. Np. trajektorię ze skokową zmianą prędkości można zaplanować, ale nie da się jej zrealizować. Kształt trajektorii i płynność ruchu mają wpływ na drgania robota i zużywanie się jego elementów. Planowanie trajektorii manipulatora 8
Rola generatora trajektorii Planowanie ruchu wybór celu omijanie przeszkód wymagania dot. czasu określenie ograniczeń Punkt początkowy i końcowy (często też punkty pośrednie): p 0, (p 1, p 2, ) p K Parametry ruchu: kształt ścieżki, prędkość, Generator trajektorii Trajektoria zadana: q q q * ( t ) * ( t ) * ( t ) p i współrzędne złączowe (p = [q 1,..., q n ] T ) lub kartezjańskie (p = [r T, j T ] T ). Trajektoria zadana jest obliczana dla dyskretnych chwil t * (zwykle T p ~ 1 ms). Komentarze Nie zawsze łatwo jest oddzielić planowanie i generowanie trajektorii (uwzględnianie ograniczeń, manipulatory redundantne, ). Pojęcia często używane są wymiennie. Trajektorię można planować w wersji dyskretnej albo w wersji ciągłej, dokonując potem próbkowania. Druga opcja jest znacznie prostsza rachunkowo. Planowanie trajektorii manipulatora 9
Plan wykładu Wstęp Trajektoria i ścieżka Związki trajektorii z kinematyką robota Wymagania wobec trajektorii Rola generatora trajektorii Trajektorie w przestrzeni złączy Trajektorie elementarne Trajektorie wielopunktowe Trajektorie złożone Koordynacja trajektorii w wielu złączach Łączenie segmentów trajektorii Trajektorie w przestrzeni zadań Planowanie ścieżki Reprezentacja orientacji Ruch wzdłuż ścieżki Planowanie trajektorii manipulatora 10
Trajektorie elementarne Typowe profile ruchu Rozważamy jednowymiarową trajektorię (aż do odwołania). Zadanie: znaleźć funkcję opisującą zmiany współrzędnej q od wartości początkowej q 0 do końcowej q K, w czasie od t 0 do t K. Takich funkcji jest oczywiście nieskończenie wiele. Profile ruchu to przebiegi czasowe współrzędnej, prędkości, przyspieszenia, udaru (jerk),???? (snap), Pamiętając o wymaganiach stawianych trajektoriom (gładkość, łatwość obliczania), przyjrzymy się kilku typowym możliwościom. Planowanie trajektorii manipulatora 11
Trajektorie elementarne Funkcje wielomianowe q( t) a a ( t t ) a ( t t ) a ( t t ) n 2 0 1 0 2 0 n 0 Mamy do dyspozycji n+1 warunków. Możemy np. zażądać zerowych pochodnych na końcach trajektorii. Wyznaczenie współczynników wymaga rozwiązania układu równań liniowych. Przykład Dane: t 0, t K = t 0 +T, q 0, q K = q 0 +h, v 0, v K. Szukane: współczynniki wielomianu. a a q 0 0 v 1 0 0 a2 2 3 h (2 v v ) T T 2 h ( v0 vk ) T a3 3 T K Planowanie trajektorii manipulatora 12
Trajektorie elementarne Inne funkcje Funkcja harmoniczna: q q p ( t t ) q( t) 1 cos 2 tk t0 k 0 0 Nieciągłość przyspieszeń. Funkcja cykloidalna: q q t t 1 2 p ( t t ) q( t) sin 2 tk t0 2p tk t0 k 0 0 0 Funkcje (szeregi) Fouriera: q() t q 0 ( qk q0)( t t0) t t K 0 qk q 0 27 2 p( t t0 ) 1 6 p( t t0 ) sin sin 2p 28 tk t0 84 tk t0 Komentarz q 0 q 0 Warto zwrócić uwagę na profile prędkości. Stosunkowo duże wartości są osiągane tylko w okolicach połowy czasu ruchu. Planowanie trajektorii manipulatora 13
Trajektorie wielopunktowe Trajektorie z punktami pośrednimi Wielomiany 2 n q() t a0 a1t a2t ant + Trajektoria przechodzi przez wszystkie punkty. + Trajektoria ma ciągłe pochodne. Układ równań liniowych (obliczanie współczynników) jest źle uwarunkowany. Lokalna zmiana (przesuniecie punktu) zmienia całą trajektorię. Trajektoria ma silnie oscylacyjny charakter. Wielomiany ortogonalne ( spokojniejsze przebiegi, interpolacja lub aproksymacja). Wielomiany trygonometryczne (trajektorie okresowe). Splajny funkcje przedziałami wielomianowe Najczęściej stopnia 3 (ciągłość przyspieszeń). Łagodny przebieg trajektorii. Obliczanie współczynników układ równań liniowych. Możliwość wygładzania (interpolacja aproksymacja). Komentarz Takie trajektorie łatwiej znaleźć w książkach, niż w opcjach programowania robotów. Planowanie trajektorii manipulatora 14
Trajektorie złożone Powracamy do kwestii zmiany współrzędnej od q 0 do q K, w czasie od t 0 do t K. Spostrzeżenia Dotychczas gładkość nie sprzyjała prędkości. Ruch liniowy (ze stałą, np. maksymalną, prędkością) byłby całkiem rozsądny, ale trzeba się jakoś rozpędzić i zahamować. Pomysł Zapewniając ciągłość prędkości, złożyć trajektorię z trzech części rozpędzanie, stała prędkość, hamowanie. vm 2 q0 t t0 t0 t t0 Ta 2T a T q() t q v t t t T t t T a 0 m 0 0 2 a K a vm 2 q1 tk t tk Ta t tk 2Ta Trajektoria liniowa z parabolicznymi zaokrągleniami (trajektoria z trapezowym profilem prędkości). Linear trajectory with parabolic blends (trapezoidal). Planowanie trajektorii manipulatora 15
Trajektorie złożone Podobne pomysły qt () qt () qt () qt () qt () qt () qt () q() t T b q t q t T 2 ( ) max sin p b Podwójne S 15 segmentów Sinusoidalne przyspieszenie Komentarze Niektóre fazy (np. stałej prędkości, stałego przyspieszenia) mogą nie występować. Wyprowadzenie wzorów wymaga rozpatrywania wielu wariantów. W praktyce najczęściej wykorzystuje się profil trapezowy lub podwójne S. Planowanie trajektorii manipulatora 16
Profil trapezowy szczegóły m Obliczanie parametrów trajektorii 2T Łatwo wyprowadzić zależności (przypadek q K > q 0 ): t K 0 v 2 q0 t t0 t0 t t0 Ta a T q() t q v t t t T t t T a 0 m 0 0 2 a K a vm 2 qk tk t tk Ta t tk 2Ta q q v( t) dt v ( t t T ), v a T. K 0 m K 0 a m m a t (pole trapezu) Wariant 1. Znamy czasy (t 0, t K, T a ), liczymy prędkość i przyspieszenie (v m, a m ): v m Wypadałoby też sprawdzić, czy silnik da radę : v m < v max, a m < a max. q q v, a. t t T T K 0 m m K 0 a a v m a m T a Wariant 2. Zadajemy prędkość i przyspieszenie (v m, a m ), liczymy czasy (t K, T a ): v q q a ( q q ) v T, T t t T. 2 m K 0 m K 0 m a K 0 a am vm amvm Faza stałej prędkości nie występuje, kiedy planowana zmiana współrzędnej jest mała: 2 v 1 2 vm qk q0 qk q0 2 amta. Wtedy: Ta 2 a a m m Planowanie trajektorii manipulatora 17 T a
Profil trapezowy komentarze i dygresja Komentarze W wariancie 2 czas ruchu nie jest z góry określony (modyfikacja oryginalnego zadania). Zadając a m = a max oraz v m = v max, uzyskujemy trajektorię minimalnoczasową. Prędkość i przyspieszenie możemy zadać jako procent odpowiednich wielkości maksymalnych (np. v m = 80% v max, a m = 60% a max ). Dygresja maksymalna prędkość i przyspieszenie w w a 0 a r a Czy w max =w to dobry pomysł? w r Rozpędzanie układu: silnik DC + przekładnia + ramię robota (nominalne obciążenie, U = U max ) t a 0 > a r > a = 0 Jakie a max wybrać? Planowanie trajektorii manipulatora 18
Koordynacja trajektorii w wielu złączach Inaczej: synchronizacja trajektorii W robotach trajektorie w przestrzeni złączy (ruchy PTP) są realizowane przez wszystkie osie jednocześnie. Rozsądek podpowiada, by czas ruchu był taki sam dla wszystkich osi. Metoda synchronizacji: obliczyć osobno czasy ruchu dla wszystkich osi, po czym wybrać najdłuższe. Szczegóły algorytmu vm i 1. Ta, i 1,, N vm p% vvmax, am p% aa a 2. 3. 4. T a i i i i i m max T i i i qk q i 0i Ti Ta, i 1,, N v i m T max T i i a 5. Obliczenie trajektorii (dla wszystkich osi ) wg wzorów dla wariantu 1 (t 0, t K =t 0 +T, T a ). max Planowanie trajektorii manipulatora 19
Inne spojrzenie na koordynację trajektorii Funkcję opisującą zależność współrzędnej q i od czasu można zapisać tak: gdzie: t t 0 qi( t) q0 q 0, i K q s i i t K t 0 2 2p 0 p 1 Ta Ta s( ) p 2 p 1 p, p. 1 p 2 tk t0 T 1 p (1 ) 2 p 1 p 1 s Zauważmy, że zarówno s, jak i przyjmują wartości z przedziału <0, 1>. Funkcja opisująca przyrost współrzędnej odpowiadający trapezowemu profilowi prędkości została podwójnie unormowana. Kiedy zsynchronizujemy trajektorie w złączach manipulatora, przebieg funkcji s() będzie taki sam dla wszystkich osi, dzięki czemu wszystkie trajektorie będzie można zapisać tak: t t T 0 q( t) q0 qk q0 s, q0 q0 q 1 0 itd. N tk t 0 Interpretacja. Ścieżka w przestrzeni złączy została sparametryzowana za pomocą zmiennej s: q = q(s). Ruch wzdłuż ścieżki zadano, określając zmienność s w czasie: s = s(t). Efekt ostateczny to: q( t) q s( t). Planowanie trajektorii manipulatora 20
Łączenie segmentów trajektorii Jak połączyć kolejne odcinki trajektorii zapisane w programie ruchu? Opcja 1. Zatrzymywanie w punktach pośrednich sekwencja ruchów z trapezowymi profilami prędkości. Efekt: brak płynności ruchu (drgania, zużycie mechaniczne, zwiększony pobór energii, ). Czy można zrezygnować z hamowania i rozpędzania na styku segmentów? Nie całkiem, jeśli prędkości przypisane segmentom są różne. Opcja 2. Nakładanie przyspieszania na hamowanie. Łączymy dwa kolejne segmenty: A B oraz B C: A B C q q () t t t t q q ( t), t t t q t q t q q t q t t t t A0 A A B A0 A A B ( ) ( ) A0 A( ) B ( ) B B qb0 qb ( t), tb t tc qb0 qb ( t ) tb t tc qb0 qa( tb ), czas uwspólnienia segmentów, np. min AB BC Ta, Ta Planowanie trajektorii manipulatora 21
Łączenie segmentów trajektorii Przykład Opcja 1. Zatrzymywanie w punktach pośrednich. Opcja 2. Nakładanie skrajnych fragmentów. Komentarze Efekt oczywisty skrócenie całkowitego czasu ruchu. Efekt uboczny omijanie punktów pośrednich (wszystkich, nie tylko ekstremalnych). Potencjalny efekt uboczny problem z przyspieszeniami (przy zmianie kierunku prędkości). Możliwe są inne sposoby łączenia odcinków trajektorii; można np. określać nie czas, lecz odległość od punktu pośredniego, w jakiej zacznie się łączenie. Planowanie trajektorii manipulatora 22
Praktyka na tle teorii roboty KUKA i FANUC Instrukcje ruchu w przestrzeni złączy KUKA (KRL): FANUC (KAREL): PTP punkt CONT Vel=80% PDAT J P[3] 60% CNT50 Planowanie trajektorii manipulatora 23
Plan wykładu Wstęp Trajektoria i ścieżka Związki trajektorii z kinematyką robota Wymagania wobec trajektorii Rola generatora trajektorii Trajektorie w przestrzeni złączy Trajektorie elementarne Trajektorie wielopunktowe Trajektorie złożone Koordynacja trajektorii w wielu złączach Łączenie segmentów trajektorii Trajektorie w przestrzeni zadań Planowanie ścieżki Reprezentacja orientacji Ruch wzdłuż ścieżki Planowanie trajektorii manipulatora 24
Planowanie ścieżki Parametryzacja ścieżki w przestrzeni zadań Punkt w przestrzeni zadań: Współrzędne liniowe reprezentują położenie TCP w układzie podstawy p B, a kątowe (np. kąty Eulera z-x -z ) orientację układu narzędzia p T względem układu p B :. Sparametryzowana ścieżka w przestrzeni zadań: Komentarze Wzory dotyczą planowania ścieżki dla robota o co najmniej 6 stopniach swobody, dla robotów o mniejszej liczbie osi punkt p ma mniej współrzędnych. Istnieją inne niż kąty Eulera sposoby opisu orientacji. ( Dla uproszczenia zapisu pominięto indeksy przy wektorze B ). T T T p x y z r φ T p( s) r( s) φ( s) Wygodnie jest osobno rozpatrywać położenie oraz orientację końcówki manipulatora. W przypadku toru ruchu punktu (u nas: ruchu liniowego TCP), przyjmuje się zazwyczaj tzw. naturalną parametryzację, w której parametr s to długość lub unormowana długość łuku (ścieżki). Planowanie trajektorii manipulatora 25 r BT T T T p B B B RT RT,, s p T
Planowanie ścieżki Własności krzywej w przestrzeni Wersor styczny: Wersor normalny: u u t n dr ds dr ds d d r ds 2 2 r ds 2 2 Krzywizna: k d r ds 2 2 u n u t Łączenie odcinków trajektorii Brak ciągłości = brak sensu Nieciągłość pochodnej = konieczność zatrzymania Nieciągłość krzywizny = zatrzymanie lub skokowe zmiany przyspieszeń Komentarze Staramy się tak planować ścieżki, by uzyskać ciągłość odpowiednio wysokiej pochodnej. Składanie odcinków prostoliniowych prowadzi do nieciągłości pochodnej. Podczas ruchu przyspieszenia wynikają z samej krzywizny trajektorii (gdy ds/dt = 0). W przypadku łączenia segmentów ścieżki zaplanowanej w przestrzeni konfiguracyjnej, problemy wynikające z nieciągłości pochodnych są trudne do zwizualizowania (ale są!) Planowanie trajektorii manipulatora 26
Planowanie ścieżki Sposoby opisu ścieżki Parametryczny opis ścieżki w przestrzeni: B-spline (Basis Spline), NURBS (Non-Uniform Rational B-Spline), krzywe Béziera, Krzywe konstruuje się za pomocą punktów węzłowych (kontrolnych); dostępne metody pozwalają na interpolację lub aproksymację krzywymi o dostatecznej gładkości. Typowe rozwiązania techniczne W manipulatorach przemysłowych tory ruchu planowane w przestrzeni zadań są zwykle złożone z sekwencji elementarnych ścieżek o nieskomplikowanych kształtach. Najczęściej są to odcinki prostych lub łuki okręgów. Komentarze Układy sterowania (języki programowania) niektórych robotów mają większą ofertę trajektorii (np. przydatne w malowaniu natryskowym nakładanie sinusoidy na prostą). Kwestią łączenia odcinków (pochodne!) zajmiemy się później. Planowanie trajektorii manipulatora 27
Planowanie ścieżki Ścieżka prostoliniowa Parametryzacja odcinka prostej: r ( s) r r r s, s 0, 1 ( ) ( ) ( ) ( ) 0 K 0 r K r r 0 p B Łuk okręgu Jest na ogół zakrzywiony i da się opisać prostym równaniem. Taki paradoks. Wzory praca domowa (dla wykładowcy i studentów). Komentarz Lenistwo motorem postępu. Planowanie trajektorii manipulatora 28
Reprezentacja orientacji Trzy kąty Kąty, np. kąty Eulera z-x -z, odpowiadające macierzom kosinusów kierunkowych na początku i końcu segmentu ścieżki: T R R φ φ B 0 zxz 0 0 0 0 0 R R φ φ B K zxz K K K K K T p K p B p T p 0 Parametryzacja orientacji: φ( s) φ φ φ s, s 0, 1 0 K 0 B R ( s) R φ( s) T zxz z S z B y S y B Szczegóły obliczeń: x B x S Komentarz Mankamentem takiego sposobu parametryzacji jest nieintuicyjny przebieg zmian orientacji, sprawiający użytkownikowi robota trudności w przewidywaniu ruchu. Planowanie trajektorii manipulatora 29
Reprezentacja orientacji Oś i kąt Twierdzenie Eulera: dowolna zmiana orientacji może zostać zrealizowana poprzez pojedynczy obrót wokół odpowiednio dobranej osi. Zmiana orientacji pomiędzy początkiem a końcem odcinka trajektorii: Wersor osi u i kąt całkowitego obrotu q 0K : 0 K B 0 T R R R B K R R q u, q 0 K u 0K 0K p K p B p T p 0 Parametryzacja kąta obrotu, przy założeniu niezmienności wersora osi obrotu: Obliczenie macierzy kosinusów kierunkowych: Komentarze u const, q( s) q s, s 0, 1 Przyjęcie stałego kierunku (wersora) chwilowej osi obrotu dla całego odcinka ścieżki poskutkuje dość łatwym do wyobrażenia ruchem. Oczywiście można również zaplanować ścieżkę, na której wersor u jest zmienny. 0K B B 0 B RT( s) R0 RT( s) R0 Ru q ( s) Planowanie trajektorii manipulatora 30
Reprezentacja orientacji Oś i kąt szczegóły obliczeń Do wykonania obliczeń z poprzedniego slajdu można posłużyć się wzorami dotyczącymi zastosowania parametrów Eulera do opisu orientacji. Inna opcja to wykorzystanie wzorów uzależniających macierz R bezpośrednio od u i q (oraz wzorów odwrotnych): Komentarze W przypadku ścieżki odpowiadającej ruchowi kątowemu, parametr s można interpretować jako unormowany kąt obrotu, natomiast w przypadku ruchu liniowego jako unormowaną długość łuku. Mimo różnych interpretacji fizycznych (geometrycznych), parametry s dla ruchów liniowych i kątowych mogą być opisane tą samą funkcją czasu (s = s(t)). Szczególnym przypadkiem zmiany orientacji jest brak zmiany orientacji (R = I); w praktyce często programuje się ruch ze stałą orientacją. Planowanie trajektorii manipulatora 31
Ruch wzdłuż ścieżki Parametryzacja w czasie Parametryzację ścieżki w czasie (s = s(t)) lub w unormowanym czasie (s = s()) można przeprowadzić tak samo, jak dla ruchów planowanych w przestrzeni złączy. Wszystkie rozważania na temat profili ruchu pozostają w mocy. Przykład trapezowy profil prędkości wzdłuż trajektorii: 2 2p 0 p 1 Ta Ta s( ) p 2 p 1 p, p. 1 p 2 tk t0 T 1 p (1 ) 2 p 1 p 1 Synchronizacja Realizacja ruchu zaplanowanego w przestrzeni zadań wymaga jednoczesnego zaangażowania wszystkich osi robota. Koordynacja ruchów w poszczególnych stopniach swobody następuje zatem już na etapie planowania ścieżki (poprzez wykorzystanie wspólnego dla wszystkich współrzędnych kartezjańskich parametru s). Planowanie trajektorii manipulatora 32
Ruch wzdłuż ścieżki Uwzględnianie ograniczeń Podczas planowania trajektorii w przestrzeni zadań uwzględnienie ograniczeń na prędkości i przyspieszenia jest trudne, bowiem rzeczywiste ograniczenia występują zazwyczaj na poziomie napędów, a nie ruchu końcówki. Ze względu na silnie nieliniową zależność między ruchem w przestrzeni zadań a ruchem w przestrzeni złączy, uwzględnienie na etapie planowania trajektorii kartezjańskiej ograniczeń dotyczących bezpośrednio napędów jest często pomijane. Sprawdzenie, czy zaplanowana trajektoria da się zrealizować wymagałby wykonania obliczeń dla wszystkich taktów pracy układu sterownia. W praktyce niemożność realizacji trajektorii często ujawnia się dopiero podczas ruchu (w takcie wykonywania obliczeń dla konkretnej chwili). Robot zatrzymuje się awaryjnie, a użytkownik otrzymuje komunikat o przekroczeniu ograniczeń dla jednej z osi. Komentarze Ze względu na problemy z uwzględnianiem ograniczeń, prędkość ruchu programowanego w przestrzeni zadań określa się bezwzględnie (np. v = 2 m/s), a nie jako procent prędkości maksymalnej. Na ogół, na trajektoriach planowanych w przestrzeni zadań, do ograniczeń zbliżamy się tylko chwilowo, co ma wpływ na czas realizacji ruchu. Planowanie trajektorii manipulatora 33
Ruch wzdłuż ścieżki Prędkość i przyspieszenie Na prędkości i przyspieszenia końcówki manipulatora ma wpływ nie tylko zmienność parametru s w czasie, lecz także sam kształt ścieżki: 2 dr d r 2 dr r r s( t), r s, r s s 2 ds ds ds przyspieszenie dośrodkowe (normalne) i styczne Komentarze Podobne zależności pomiędzy przyspieszeniami a kształtem ścieżki i prędkością jej pokonywania zachodzą zarówno dla zmian orientacji (ruchy planowane w przestrzeni zadań), jak i dla zmian współrzędnych konfiguracyjnych (ruchy planowane w przestrzeni złączy). Ich prezentacja i interpretacja geometryczna jest jednak trudniejsza. Zależności między przyspieszeniami końcówki manipulatora a przyspieszeniami jego członów są złożone. Jednostajnemu prostoliniowemu ruchowi końcówki towarzyszą zwykle niezerowe przyspieszenia członów. Planowanie trajektorii manipulatora 34
Ruch wzdłuż ścieżki Łączenie segmentów ścieżki Postępowanie jest analogiczne do przedstawionego dla trajektorii planowanych w przestrzeni konfiguracyjnej. Analogiczne są także towarzyszące łączeniu problemy: Precyzyjne osiągnięcie punktu łączenia trajektorii wymaga zatrzymania się w tym punkcie i skutkuje brakiem płynności ruchu. Nakładanie skrajnych fragmentów sąsiednich odcinków trajektorii zwiększa płynność ruchu, ale skutkuje omijaniem punktów połączenia. Komentarze Pokazano efekt zaokrąglania trajektorii liniowej TCP. Analogiczny efekt zachodzi również dla zmian orientacji, trudniej go jednak narysować. W praktyce wykorzystywane są różne metody łączenia odcinków trajektorii; można np. określać nie czas, lecz odległość od punktu pośredniego, w jakiej zacznie się łączenie kolejnych segmentów. Nakładanie kolejnych odcinków trajektorii powoduje rozmycie punktu połączenia i samoistne zaokrąglenie toru ruchu, co skutkuje ciągłością pochodnych (brakiem ostrych naroży ścieżki i skokowych zmian jej krzywizny). Planowanie trajektorii manipulatora 35
Teoria na tle praktyki roboty KUKA i FANUC Instrukcje ruchu w przestrzeni zadań KUKA (KRL): FANUC (KAREL): LIN punkcik CONT Vel=2 m/s CPDAT L P[4] 400mm/sec CNT50 Planowanie trajektorii manipulatora 36
Trajektoria i kinematyka robota raz jeszcze v t q t Ruchy planowane w przestrzeni złączy mogą być znacznie szybsze od tych planowanych w przestrzeni zadań. Paradoksalnie przebycie krótszej drogi (wzdłuż linii prostej) wymaga dłuższego czasu. W ruchu liniowym maksymalna prędkość obrotowa silnika może być osiągnięta tylko incydentalnie. Trajektorię w przestrzeni złączy można zaplanować tak, by najbardziej obciążony silnik maksymalnie wykorzystywał swoje możliwości. Planowanie trajektorii manipulatora 37
Podsumowanie Wstęp Trajektoria i ścieżka Związki trajektorii z kinematyką robota Wymagania wobec trajektorii Rola generatora trajektorii Trajektorie w przestrzeni złączy Trajektorie elementarne Trajektorie wielopunktowe Trajektorie złożone Koordynacja trajektorii w wielu złączach Łączenie segmentów trajektorii Trajektorie w przestrzeni zadań Planowanie ścieżki Reprezentacja orientacji Ruch wzdłuż ścieżki Planowanie trajektorii manipulatora 38