Planowanie trajektorii manipulatora

Podobne dokumenty
Rozszerzony konspekt preskryptu do przedmiotu Podstawy Robotyki

Manipulatory i roboty mobilne AR S1 semestr 5

Mechanika Robotów. Wojciech Lisowski. 5 Planowanie trajektorii ruchu efektora w przestrzeni roboczej

Kinematyka: opis ruchu

MECHANIKA 2 KINEMATYKA. Wykład Nr 5 RUCH KULISTY I RUCH OGÓLNY BRYŁY. Prowadzący: dr Krzysztof Polko

Rozszerzony konspekt preskryptu do przedmiotu Teoria Maszyn i Mechanizmów

Równa Równ n a i n e i ru r ch u u ch u po tor t ze (równanie drogi) Prędkoś ędkoś w ru r ch u u ch pros pr t os ol t i ol n i io i wym

KINEMATYKA I DYNAMIKA CIAŁA STAŁEGO. dr inż. Janusz Zachwieja wykład opracowany na podstawie literatury

Ćwiczenia nr 7. TEMATYKA: Krzywe Bézier a

MECHANIKA 2. Prowadzący: dr Krzysztof Polko

Mechanika ogólna. Kinematyka. Równania ruchu punktu materialnego. Podstawowe pojęcia. Równanie ruchu po torze (równanie drogi)

3. KINEMATYKA Kinematyka jest częścią mechaniki, która zajmuje się opisem ruchu ciał bez wnikania w jego przyczyny. Oznacza to, że nie interesuje nas

OPISY PRZESTRZENNE I PRZEKSZTAŁCENIA

Wstęp. Ruch po okręgu w kartezjańskim układzie współrzędnych

Wektory, układ współrzędnych

MODEL MANIPULATORA O STRUKTURZE SZEREGOWEJ W PROGRAMACH CATIA I MATLAB MODEL OF SERIAL MANIPULATOR IN CATIA AND MATLAB

Grafika komputerowa Wykład 8 Modelowanie obiektów graficznych cz. II

Kinematyka: opis ruchu

2) R stosuje w obliczeniach wzór na logarytm potęgi oraz wzór na zamianę podstawy logarytmu.

Geometria. Rozwiązania niektórych zadań z listy 2

Mechanika. Wykład 2. Paweł Staszel

RÓWNANIA RÓŻNICZKOWE WYKŁAD 4

Wykład 2. Kinematyka. Podstawowe wielkości opisujące ruch. W tekście tym przedstawię podstawowe pojecia niezbędne do opiosu ruchu:

Podstawy Robotyki Określenie kinematyki oraz dynamiki manipulatora

MiBM sem. III Zakres materiału wykładu z fizyki

Kinematyka: opis ruchu

METODY OBLICZENIOWE. Projekt nr 3.4. Dariusz Ostrowski, Wojciech Muła 2FD/L03

Notacja Denavita-Hartenberga

Egzamin 1 Strona 1. Egzamin - AR egz Zad 1. Rozwiązanie: Zad. 2. Rozwiązanie: Koła są takie same, więc prędkości kątowe też są takie same

PRZEWODNIK PO PRZEDMIOCIE

WYKŁAD 6 KINEMATYKA PRZEPŁYWÓW CZĘŚĆ 2 1/11

składa się z m + 1 uporządkowanych niemalejąco liczb nieujemnych. Pomiędzy p, n i m zachodzi następująca zależność:

ROZKŁAD MATERIAŁU DO II KLASY LICEUM (ZAKRES ROZSZERZONY) A WYMAGANIA PODSTAWY PROGRAMOWEJ.

R o z d z i a ł 2 KINEMATYKA PUNKTU MATERIALNEGO

Z poprzedniego wykładu:

LUBELSKA PRÓBA PRZED MATURĄ 2017 poziom podstawowy

Ruch jednostajnie zmienny prostoliniowy

ROBOTYKA. Odwrotne zadanie kinematyki - projekt.

Opis krzywych w przestrzeni 3D. Mirosław Głowacki Wydział Inżynierii Metali i Informatyki Przemysłowej AGH

CHARAKTERYSTYKI CZĘSTOTLIWOŚCIOWE

Wymagania edukacyjne z matematyki - klasa I (poziom podstawowy) wg programu nauczania Matematyka Prosto do matury

PRZEWODNIK PO PRZEDMIOCIE

1. K 5 Ruch postępowy i obrotowy ciała sztywnego

MATeMAtyka klasa II poziom rozszerzony

Modelowanie krzywych i powierzchni

MATEMATYKA Katalog wymagań programowych

Egzamin z Metod Numerycznych ZSI, Egzamin, Gr. A

Geometria analityczna

Materiały pomocnicze do ćwiczeń laboratoryjnych

Zagadnienia do małej matury z matematyki klasa II Poziom podstawowy i rozszerzony

Matematyka licea ogólnokształcące, technika

ZAGADNIENIA PROGRAMOWE I WYMAGANIA EDUKACYJNE DO TESTU PRZYROSTU KOMPETENCJI Z MATEMATYKI DLA UCZNIA KLASY II

Ruch drgający i falowy

Fizyka 1 Wróbel Wojciech. w poprzednim odcinku

Karta (sylabus) modułu/przedmiotu INŻYNIERIA MATERIAŁOWA Studia pierwszego stopnia

Wektor położenia. Zajęcia uzupełniające. Mgr Kamila Rudź, Podstawy Fizyki.

Wstęp do równań różniczkowych

W naukach technicznych większość rozpatrywanych wielkości możemy zapisać w jednej z trzech postaci: skalara, wektora oraz tensora.

KLASA II TECHNIKUM POZIOM PODSTAWOWY PROPOZYCJA POZIOMÓW WYMAGAŃ

Załóżmy, że obserwujemy nie jedną lecz dwie cechy, które oznaczymy symbolami X i Y. Wyniki obserwacji obu cech w i-tym obiekcie oznaczymy parą liczb

Podstawy fizyki sezon 1 V. Ruch obrotowy 1 (!)

Kinematyka robotów mobilnych

VII. Elementy teorii stabilności. Funkcja Lapunowa. 1. Stabilność w sensie Lapunowa.

Elementy rachunku różniczkowego i całkowego

Definicje i przykłady

Poniżej przedstawiony został podział wymagań na poszczególne oceny szkolne:

Zagadnienia brzegowe dla równań eliptycznych

Jakobiany. Kinematykę we współrzędnych możemy potraktować jako operator przekształcający funkcje czasu

Wstęp do równań różniczkowych

W. Guzicki Próbna matura, grudzień 2014 r. poziom rozszerzony 1

Propozycja szczegółowego rozkładu materiału dla 4-letniego technikum, zakres podstawowy i rozszerzony. Klasa I (90 h)

Zakres na egzamin poprawkowy w r. szk. 2013/14 /nauczyciel M.Tatar/ Podręcznik klasa 1 ZAKRES PODSTAWOWY i ROZSZERZONY

Liczby zespolone. x + 2 = 0.

RÓWNANIA RÓŻNICZKOWE WYKŁAD 15

Modelowanie, sterowanie i symulacja manipulatora o odkształcalnych ramionach. Krzysztof Żurek Gdańsk,

Wykład 16. P 2 (x 2, y 2 ) P 1 (x 1, y 1 ) OX. Odległość tych punktów wyraża się wzorem: P 1 P 2 = (x 1 x 2 ) 2 + (y 1 y 2 ) 2

Kinematyka, Dynamika, Elementy Szczególnej Teorii Względności

Interpolacja, aproksymacja całkowanie. Interpolacja Krzywa przechodzi przez punkty kontrolne

PODSTAWY ROBOTYKI. Opracował: dr hab. inż. Adam Rogowski

V. WYMAGANIA EGZAMINACYJNE

Cyfrowe przetwarzanie obrazów i sygnałów Wykład 9 AiR III

Rachunek różniczkowy i całkowy 2016/17

Grafika komputerowa Wykład 7 Modelowanie obiektów graficznych cz. I

WYMAGANIA EDUKACYJNE Z MATEMATYKI W KLASIE II A ROK SZKOLNY 2013/ ZAKRES PODSTAWOWY

Rozwiązywanie równań nieliniowych

LUBELSKA PRÓBA PRZED MATURĄ 2018 poziom podstawowy

MECHANIKA 2 RUCH POSTĘPOWY I OBROTOWY CIAŁA SZTYWNEGO. Wykład Nr 2. Prowadzący: dr Krzysztof Polko

Metody numeryczne I Równania nieliniowe

str 1 WYMAGANIA EDUKACYJNE ( ) - matematyka - poziom podstawowy Dariusz Drabczyk

Powtórzenie wiadomości z klasy I. Temat: Ruchy prostoliniowe. Obliczenia

WYMAGANIA EDUKACYJNE PRZEDMIOT : FIZYKA ROZSZERZONA

lim Np. lim jest wyrażeniem typu /, a

MECHANIKA 2. Wykład Nr 3 KINEMATYKA. Temat RUCH PŁASKI BRYŁY MATERIALNEJ. Prowadzący: dr Krzysztof Polko

Podstawy robotyki wykład V. Jakobian manipulatora. Osobliwości

SIMR 2016/2017, Analiza 2, wykład 1, Przestrzeń wektorowa

Próbny egzamin z matematyki dla uczniów klas II LO i III Technikum. w roku szkolnym 2012/2013

Następnie przypominamy (dla części studentów wprowadzamy) podstawowe pojęcia opisujące funkcje na poziomie rysunków i objaśnień.

Dział I FUNKCJE I ICH WŁASNOŚCI

WYMAGANIA EDUKACYJNE Z MATEMATYKI KLASA III ZAKRES ROZSZERZONY (90 godz.) , x

3. FUNKCJA LINIOWA. gdzie ; ół,.

Transkrypt:

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