Wstęp do Robotyki
Transkrypt
Wstęp do Robotyki
1 c Wstęp do Robotyki – ¥W. Szynkiewicz, 2009 Wstęp do Robotyki (Zakres materiału na egzamin) 1. Podstawowe pojęcia z dziedziny robotyki: krótka historia robotyki, działy robotyki, definicja robota. Elementy składowe systemu robotycznego: • efektory (np. układ lokomocji, ramię manipulatora, itp.) • czujniki • układ sterowania komputerowego Rodzaje robotów i ich charakterystyka oraz zastosowania: roboty mobilne (kołowe, gąsienicowe, kroczące, pływające, latające), roboty manipulacyjne; roboty przemysłowe, usługowe, roboty specjalne. 2. Budowa i programowanie robotów modułowych - zestawy Lego NXT Mindstorms: budowa i funkcje mikrosterownika NXT, silniki i czujniki. Budowa i funkcje środowiska NBC/NXC do programowania robotów. 3. Opis położenia i orientacji: • Podstawowe pojęcia matematyczne: iloczyn skalarny i wektorowy wektorów, układ współrzędnych ortokartezjańskich, wektor przesunięcia, macierz rotacji (obrotu) – własności macierzy obrotu, składanie obrotów. • Wybrane reprezentacje położenia i orientacji: współrzędne kartezjańskie, obroty wokół osi układu bieżącego – kąty Eulera, obroty wokół osi układu ustalonego, np. kąty kołysanie-kiwanie-myszkowanie, reprezentacja obrotu „oś-kąt”. c Wstęp do Robotyki – ¥W. Szynkiewicz, 2009 2 • Macierz przekształcenia jednorodnego – własności, interpretacja. 4. Zagadnienia kinematyki manipulatorów. • Więzy holonomiczne i nieholonomiczne. Kinematyka układu holnomicznego. • Struktury geometryczne manipulatorów robotów. • Kinematyka manipulatorów z otwartymi łańcuchami kinematycznymi– proste zadanie kinematyki. 5. Pojęcie jakobianu w robotyce. Jakobian analityczny i geometryczny manipulatora. Odwrotne zadanie kinematyki manipulatora. 6. Układy lokomocji robotów. • Zagadnienia związane z lokomocją: stabilność, charakterystyka kontaktu, rodzaj środowiska. • Roboty (maszyny) kroczące (skaczące, dwunożne, cztero-, sześcio-, ośmionożne). Rodzaje chodów i ich opis. Zalety i wady maszyn kroczących. • Roboty kołowe. Cechy robotów kołowych. Rodzaje kół i ich charakterystyka. Więzy (ograniczenia) ruchu pojedynczego koła. Więzy ruchu – holonomiczne i nieholonomiczne. 7. Podstawowe rodzaje baz jezdnych kołowych robotów mobilnych i ich charakterystyka. Napęd różnicowy, trójkołowy, synchroniczny, wielokierunkowy, Ackermana. • Pojęcia mobilności i sterowności i manewrowości robotów kołowych. • Roboty kołowe niezdegenerowane – warunki. • Opis i klasyfikacja robotów kołowych – typy robotów trójkołowych. c Wstęp do Robotyki – ¥W. Szynkiewicz, 2009 3 8. Kinematyka robotów mobilnych: równania ruchu prostych robotów kołowych. 9. Percepcja. • Klasyfikacja czujników. • Podstawowe charakterystyki czujników. • Czujniki stosowane w robotach: odometryczne, inercyjne, dotykowe, zbliżeniowe, odległości, orientacji. • Metody pomiaru odległości. 10. Problem autonomicznej nawigacji robota mobilnego. Źródła niepewności w nawigacji. Ogólny schemat nawigacji autonomicznej. • Samolokalizacja. Podział podejść do problemu samolokalizacji. Metody pomiaru pozycji (samo-lokalizacji) robota. • Budowa mapy środowiska – reprezentacja otoczenia robota. Podstawowe rodzaje map. Problemy występujące przy budowie map. • Planowanie ścieżki. Kryteria podziału metod planowania ścieżek. Metody planowania ścieżek ruchu robotów mobilnych. 11. Struktury i układy sterowania i programowania robotów. • Metody i algorytmy sterowania robotów: sterowanie reaktywne, behawioralne, bazujące na modelu, struktury hybrydowe. c Wstęp do Robotyki – ¥W. Szynkiewicz, 2009 4 • Programowe struktury ramowe. • Opis robota jako agenta upostaciowionego. • Niezależne sterowanie osiami – podstawowe struktury regulatorów. • Krzywe – interpolacja. 12. Systemy wielorobotowe/wieloagentowe. Cele tworzenia, problemy i typowe zadania (np. RoboCup). Podział systemów wielorobotowych ze względu na: strukturę organizacji, sposoby komunikacji oraz stopień współpracy. Sposoby współpracy robotów. 13. Sztuczna inteligencja a robotyka. Uczenie się agentów/robotów. Składniki systemu uczącego się. Cele i rodzaje uczenia się, metody uczenia się. Uczenie się ze wzmocnieniem – specyfika. 5 c Wstęp do Robotyki – ¥W. Szynkiewicz, 2009 Reprezentacje obrotów Obrót w przestrzeni R3: P z0 z1 y1 x1 k0 j1 i1 k1 j0 i0 y0 x0 Rys. 1: Obrót w R3 Macierz obrotu – macierz kosinusów kierunkowych: i 1 · i 0 j 1 · i0 k 1 · i0 0 1 R = i1 · j 0 j 1 · j 0 k 1 · j 0 i1 · k 0 j 1 · k 0 k 1 · k 0 6 c Wstęp do Robotyki – ¥W. Szynkiewicz, 2009 Własności macierzy obrotu (rotacji): (1) macierz R jest ortogonalna: RRT = RT R = I3 Każda kolumna (wiersz) macierzy R jest wektorem jednostkowym. (2) R(u × w) = (Ru) × (Rw) (3) det R = ((Ri) × (Rj)) · ((Rk)) = ë(Rk)ë2 = +1 (dla układów prawoskrętnych) Macierze obrotu R tworzą specjalną grupę obrotów SO(3). Składanie obrotów: p0 = 01Rp1, (1) p1 = 12Rp2, Względem osi bieżącego układu (mnożenie prawostronne): p0 = 01R 12Rp2 stąd 0 2R = 01R 12R Względem osi układu ustalonego (mnożenie lewostronne): 0 2R = 12R 01R p0 = 02Rp2 7 c Wstęp do Robotyki – ¥W. Szynkiewicz, 2009 Inne wybrane reprezentacje obrotu: • reprezentacja oś-kąt (obrót wokół dowolnej osi) • kąty Euler’a (12 zestawów = 3x2x2) • obroty wokół osi układu ustalonego (12 zestawów = 3x2x2) np. kąty roll-pitch-yaw (kołysanie-kiwanie-myszkowanie) Zadanie 1a: Dana jest macierz 3 × 3 wykazać, że jest to macierz obrotu √ R= 2 2 − 21 − 21 0 √ 2 2√ − 2 2 √ 2 2 1 2 1 2 Rozwiązanie: Można to wykazać przez pokazanie, że RT R = I, gdzie I jest macierzą jednostkową √ √ 2 1 − −√21 22 √0 √2 RT R = 0 22 − 22 − 21 22 √ 2 1 1 1 − − 2 2 2 2 2 2 √ 2 √ 2 2 1 2 1 2 1 0 0 = 0 1 0 0 0 1 8 c Wstęp do Robotyki – ¥W. Szynkiewicz, 2009 Zadanie 1b: Dane są dwie macierze obrotu: cos θ − sin θ R1 = sin θ cos θ cos ϕ − sin ϕ R2 = sin ϕ cos ϕ Wykazać, że: (a) R1 ∈ SO(2) (b) R1R2 ∈ SO(2) (c) cos(θ + ϕ) − sin(θ + ϕ) R1 R 2 = sin(θ + ϕ) cos(θ + ϕ) Rozwiązanie: Ad (a): Należy pokazać, że R1R1T = R1T R1 = I oraz det R1 = +1: R1R1T cθ −sθ = sθ cθ cθ sθ c2θ + s2θ sθcθ − sθcθ 1 0 = = 0 1 sθcθ − sθcθ c2θ + s2θ −sθ cθ det R1 = c2θ − (−s2θ) = +1 Ad (b): Należy pokazać, że (R1R2)T R1R2 = I oraz det(R1R2) = +1: (R1R2)T R1R2 = R2T R1T R1R2 = R2T R2 = I 9 c Wstęp do Robotyki – ¥W. Szynkiewicz, 2009 det(R1R2) = det(R1) det(R2) = 1 · 1 = +1 Ad (c): cθ −sθ R1 R2 = sθ cθ cϕ −sϕ cθcϕ − sθsϕ −cθsϕ − sθcϕ = sϕ cϕ sθcϕ + cθsϕ −sθsϕ + cθcϕ Wykorzystując tożsamości trygonometryczne cθcϕ − sθsϕ = cos(θ + ϕ) sθcϕ + cθsϕ = sin(θ + ϕ) otrzymamy rozwiązanie zadania. 10 c Wstęp do Robotyki – ¥W. Szynkiewicz, 2009 y1 z0 {0} 0 z1 P k0 d j0 x1 P {1} j1 k1 0 1 O0 1 i1 O1 y0 i0 x0 Rys. 2: Przesunięcie i obrót w R3 Macierze przekształcenia jednorodnego: obrót R3×3 d3×1 przesunięcie T = −− −− = − − −− − − −− f 1×3 s1×1 perspektywa skalowanie 11 c Wstęp do Robotyki – ¥W. Szynkiewicz, 2009 Macierz odwrotna: T −1 −1 R d = 0 1 RT −RT d = 0 1 Interpretacje macierzy przekształcenia jednorodnego: 1. Opisuje układ {1} względem układu {0}. 0 1T = 0 0 1R 1d 0 1 Kolumny macierzy rotacji (macierzy kosinusów kierunkowych) 01R są wersorami określającymi kierunki osi układu {1} w układzie {0}. Wektor 01d określa położenie początku układu {1} w układzie {0}. 2. Macierz jednorodna jako przekształcenie odwzorowujące. Macierz 01T odwzorowuje 1P → 0P . 3. Macierz jako operator przekształcenia. Macierz T działa na wektor 0P 1 tworząc wektor 0P 2 (przesunięty i obrócony w układzie {0} ) 12 c Wstęp do Robotyki – ¥W. Szynkiewicz, 2009 Zadanie 2a: Układ ortokartezjański {1} = (O1, x1, y1, z1) początkowo pokrywał się z układem {0} = (O0, x0, y0, z0), następnie został obrócony o kąt ϕ = π6 wokół osi z0 i przesunięty o d = 6 wzdłuż osi x0. Punkt P ma współrzędne w układzie {1} współrzędne 1P = [2, 2, 3]T . Obliczyć współrzędne punktu P w układzie {0}. Rozwiązanie: Transformacja współrzędnych z układu {1} do {0} opisana jest wzorem: 0 P =01 T 1P Macierz przekształcenia jednorodnego ma postać: cos ϕ − sin ϕ sin ϕ cos ϕ 0 1T = 0 0 0 0 0 0 1 0 d 0 0 1 Zapisując we współrzędnych jednorodnych współrzędne punktu P , możemy obliczyć √ √ 3 1 − 0 6 2 2 √3 + 5 √2 1 3 0 0 2 3 + 1 2 0 0 1 2 P =1 T P = = 0 3 0 1 0 3 1 1 0 0 0 1 13 c Wstęp do Robotyki – ¥W. Szynkiewicz, 2009 Zadanie 2b: Mając daną macierz 01T 1 0 0 0 cos ϕ − sin ϕ 0 1T = 0 sin ϕ cos ϕ 0 0 0 1 2 3 1 obliczyć macierz 10T . Rozwiązanie: Korzystając ze wzoru na odwrotność MPJ 01T −1 = 10T obliczamy 1 0T 0 == 01T −1 = 1 RT 0 1 0 0 T0 −1R 1d 0 cϕ = 0 −sϕ 1 0 0 0 −1 sϕ −2cϕ − 3sϕ , cϕ 2sϕ − 3cϕ 0 1 gdzie cϕ = cos ϕ oraz sϕ = sin ϕ 14 c Wstęp do Robotyki – ¥W. Szynkiewicz, 2009 Rys. 3: Parametry Denavita-Hartenberga Parametry Denavita-Hartenberga: • ai−1 – długość członu – odległość osi zi−1 od osi zi mierzona wzdłuż osi xi−1, • αi−1 – skręcenie członu – kąt między osiami zi−1 i zi mierzony wokół osi xi−1, • di – odsunięcie przegubu – odległość osi xi−1 od osi xi mierzona wzdłuż osi zi, • θi – kąt przegubu – kąt między osiami xi−1 i xi mierzony wokół osi zi. 15 c Wstęp do Robotyki – ¥W. Szynkiewicz, 2009 i−1 i T = Rotx,αi−1 Transx,ai−1 Rotz,θi Transz,di = 1 0 0 0 cαi−1 −sαi−1 0 sαi−1 cαi−1 0 0 0 0 0 0 1 Po wymnożeniu macierzy postać końcowa 1 0 0 0 0 1 0 0 0 ai−1 0 0 1 0 0 1 i−1 i T cθi −sθi 0 0 sθi cθi 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 di 1 (2) jest następująca: cθi −sθi 0 ai−1 sθi cαi−1 cθi cαi−1 −sαi−1 −sαi−1 di i−1 , i T = sθi sαi−1 cθi sαi−1 cαi−1 cαi−1 di 0 0 0 1 (3) gdzie s() ≡ sin() oraz c() ≡ cos(). 16 c Wstęp do Robotyki – ¥W. Szynkiewicz, 2009 Algorytm rozwiązywania prostego zadania kinematyki wykorzystującego notację D-H: 1. Umieść i oznacz osie przegubów z1, . . . , zn. 2. Przyjmij bazowy układ współrzędnych {0}, tak aby dla zerowej wartości współrzędnej konfiguracyjnej osie układów {0} oraz {1} pokrywały się. Dla i = 1, . . . , 2 wykonaj kroki od 3 do 8: 3. Umieść początek układu Oi w punkcie przecięcia osi zi przez wspólną normalną do osi zi oraz zi+1 lub w punkcie przecięcia osi zi oraz zi+1 gdy osie te przecinają się. 4. Wybierz oś xi wzdłuż prostej normalnej do osi zi oraz zi+1, albo w kierunku normalnej do płaszczyzny obu tych osi gdy osie zi i zi+1 przecinają się. 5. Wybierz oś yi tak, aby układ był prawoskrętny. 6. Wybierz takie usytuowanie układu {n}, aby spowodować zerowanie się jak największej liczby parametrów. 7. Utwórz tabelę parametrów D-H (ai−1, αi−1, di, θi). 8. Zbuduj macierze przekształcenia jednorodnego 9. Oblicz macierz 0nT =01 T21T . . .nn−1 T i−1 i T wstawiając parametry do równania: 17 c Wstęp do Robotyki – ¥W. Szynkiewicz, 2009 Zadanie 3: Dla manipulatora przestrzennego typu 3R (rys.4) należy: związać z każdym członem układ współrzędnych i przedstawić na rysunku. Podać w tabeli parametry D-H i obliczyć macierze jednorodne i−1 i T , a następnie rozwiązać proste zadanie kinematyki dla tego manipulatora i obliczyć położenie i orientację układu {4} w układzie bazowym. x4 y4 l3 q3 l2 z0 q2 x0 q1 Rys. 4: Manipulator przestrzenny 3R 18 c Wstęp do Robotyki – ¥W. Szynkiewicz, 2009 Rozwiązanie: x4 y4 x3 l3 z0, 1 y2 l2 x2 x0, 1 y3 i αi−1 ai−1 1 0 0 ◦ 2 90 0 3 0 l2 4 0 l3 q3 q2 di 0 0 0 0 θi θ1 θ2 θ3 − Tablica parametrów Denavita-Hartenberga (D-H) dla manipulatora przestrzennego typu 3R q1 Korzystając z wzoru na macierz przejścia i−1 i T obliczamy 0 a1 c1 −s1 0 0 c2 −s2 0 −1 0 s1 c1 0 0 1 0 0 2T = 1T = c2 0 0 0 0 1 0 s2 0 0 0 1 0 0 0 1 c3 −s3 0 l2 s3 c3 0 0 2 3T = 0 0 1 0 0 0 0 1 Rozwiązaniem prostego zadania kinematyki jest macierz 0 4T = 01T 12T 23T 34T 1 0 3 4T = 0 0 0 1 0 0 0 0 1 0 l3 0 0 1 19 c Wstęp do Robotyki – ¥W. Szynkiewicz, 2009 Funkcje trygonometryczne sumy i różnicy kątów: cos(θ1 + θ2) = c12 = c1c2 − s1s2 sin(θ1 + θ2) = s12 = c1s2 + s1c2 cos(θ1 − θ2) = c1c2 + s1s2 sin(θ1 − θ2) = s1c2 − c1s2 Rozwiązanie PZK dla robota typu 3R: c1c23 −c1s23 s1 l2c1c2 + l3c1c23 s1c23 −s1s23 −c1 l2s1c2 + l3s1c23 0 4T = s23 c23 0 l2s2 + l3s23 0 0 0 1 (4) 20 c Wstęp do Robotyki – ¥W. Szynkiewicz, 2009 Robot Konstrukcja Osie Struktura kinematyczna Przestrzeñ robocza Przyk³ad Typ Kartezjañski PPP Cylindryczny RPP Sferyczny RRP SCARA RRP Stawowy RRR Równoleg³y c Wstęp do Robotyki – ¥W. Szynkiewicz, 2009 21 Maszyny kroczące: Podział maszyn kroczących ze względu rodzaj stabilności ruchu: • statycznie stabilne – mają dużo aktywnych stopni swobody, ich postura (konfiguracja) jest stała, ruch opisywany jest za pomocą metod kinematycznych; • quasi-statycznie stabilne – w porównaniu z pierwszą grupą mają mniejszą liczbę stopni swobody, pomiędzy statycznie stabilnymi fazami ruchu występują fazy utraty stabilności statycznej, maszyna nie przewraca się – zachowana jest stabilność dynamiczna (tylko w krótkim czasie); • dynamicznie stabilne – mają od kilku do kilkudziesięciu stopni swobody, cechują się ciągle zmienną konfiguracją (posturą), wynikiem zmian konfiguracji jest, stabilny dynamicznie, ruch postępowy maszyny. Podział maszyn kroczących ze względu na liczbę nóg: • jednonożne (monopedy) – maszyny skaczące, typu odwrócone wahadło, w celu zachowania równowagi maszyna musi być dynamicznie stabilna; • dwunożne (bipedy) – chodzące, skaczące, w tym maszyny humanoidalne, o dużych stopach (stabilne quasi-statycznie), albo maszyny stabilne dynamicznie (robot HONDA); • czteronożne – zazwyczaj nogi przypominają kończyny owadów, istnieją także urządzenia, których nogi są odwzorowaniem kończyn czworonogów (ssaków, płazów, gadów); • sześcionożne – z założenia przypominają owady, zarówno posturą kończyn jak i statycznym sposobem chodu; c Wstęp do Robotyki – ¥W. Szynkiewicz, 2009 22 • wielonożne – składające się z wielu segmentów ciała wyposażonych w nogi, poruszają się podobnie jak stonogi, maszyny te są stabilne statycznie. Zalety maszyn kroczących: • adaptacja i manewrowość w zróżnicowanym (nierównym) terenie • możliwość pokonywania przeszkód (dziury, nierówności) • potencjalna możliwość manipulowania obiektami za pomocą kończyn (np. owady) Wady maszyn kroczących: • skomplikowana budowa mechaniczna (duża liczba stopni swobody) • duże zapotrzebowanie na energię (wiele napędów) • złożony układ sterowania 23 c Wstęp do Robotyki – ¥W. Szynkiewicz, 2009 Rodzaje kół: Rys. 5: Podstawowe rodzaje kół: a) koło zwykłe-stałe, b) koło samonastawne, c) koło szwedzkie, d) koło sferyczne. 24 c Wstęp do Robotyki – ¥W. Szynkiewicz, 2009 Zadanie 4: Jaki rodzaj koła przedstawiono na poniższym rysunku. Jakie jest znaczenie parametrów d, l, α, β, ϕ i jakim układzie są one definiowane, które z nich są zmiennymi? y1 B b(t) korpus robota d A l a P Rozwiązanie: ? j r x1 d 25 c Wstęp do Robotyki – ¥W. Szynkiewicz, 2009 Podstawowe rodzaje baz jezdnych kołowych robotów mobilnych • Napęd różnicowy – dwa niezależnie napędzane koła jednej osi, dla zachowania równowagi dodane jest trzecie koło bierne (lub dwa bierne koła) • Napęd synchroniczny – trzy napędzane koła w układzie trójkątnym, wszystkie skierowane w jednym kierunku z możliwością zmiany kierunku ruchu bez zmiany orientacji bazy • Napęd dookólny (wielokierunkowy) – podobny do napędu synchronicznego, ale każde koło jest złożonym mechanizmem i może toczyć się w dowolnym kierunku • Napęd trójkołowy – przednie koło napędowe i kierujące, dwa koła tylnej osi są nie napędzane (są kołami biernymi) • Napęd Ackermana (samochód kinematyczny) – typowy czterokołowy pojazd, napęd na dwa koła (zazwyczaj przednie) jednej osi i dwa koła drugiej osi nie są napędzane 26 c Wstęp do Robotyki – ¥W. Szynkiewicz, 2009 Zadanie 5: Co to są nie zdegenerowane kołowe roboty mobilne? Rozwiązanie: Roboty niezdegenerowane spełniają następujące założenia: 1. Jeśli robot ma więcej niż jedno zwykłe stałe koło (tj. Nf > 1), to koła te mają wspólną oś, czyli rank C1f þ 1. 2. Środki kół kierujących – orientowalnych względem prostej przechodzącej przez środek koła nie są współosiowe z kołami stałymi, czyli rankC1(βs) = rank C1f + rank C1s(βs) 3. Liczba rank C1s(βs) þ 2 jest liczbą kół kierujących, które mogą być orientowane niezależnie dla kierowania robotem. Liczba ta jest nazywana stopniem sterowności (kierowalności) robota δs: δs = rank C1s(βs) (5) Wpływ sterowności na pozycje robota ξ jest pośredni. Zmiana pozycji nastąpi po zmianie orientacji koła kierowalnego i wykonaniu ruchu przez robota. 27 c Wstęp do Robotyki – ¥W. Szynkiewicz, 2009 Kinematyka mobilnych robotów kołowych Proste zadanie kinematyki: ẋ ξ̇ = ẏ = f (ϕ1, . . . , ϕn, β1, . . . , βm, β̇1, . . . , β̇m) θ̇ Odwrotne zadanie kinematyki: [ϕ1, . . . , ϕn, β1, . . . , βm, β̇1, . . . , β̇m)]T = f (ẋ, ẏ, θ̇) Równanie kinematyki prostej w zwartej postaci: q̇ = G(q) u (6) gdzie q , ξ, G(q) , RT (θ)P, u , η gdy δs = 0 albo T ξ R (θ)P (βs ) 0 η , G(q) , , u , q, βs 0 I µ gdy, δs ÿ 1 28 c Wstęp do Robotyki – ¥W. Szynkiewicz, 2009 Zadanie 6: Wyprowadź podstawowe równania kinematyki robota o napędzie różnicowym pokazanym na rys. 6 w układzie inercjalnym (XI , YI ). Wyznacz wzór na chwilowy promień skrętu robota Rs. YR YI y XR Vl wl d 2 q P d 2 Vp wp Rs x O XI Rys. 6: Robot z napędem różnicowym Rozwiązanie: Prędkość wyrażona w układzie inercjalnym powiązana jest z prędkością w układzie lokalnym robota zależnością: ẋ cos θ − sin θ 0 ξ̇ I = ẏ = R−1(θ)ξ̇ R , gdzie macierz obrotu R(θ) = sin θ cos θ 0 0 0 1 θ̇ 29 c Wstęp do Robotyki – ¥W. Szynkiewicz, 2009 Prędkości liniowe kół są odpowiednio równe vl = rωl oraz vp = rωp, stąd prędkość liniowa pojazdu jest średnią arytmetyczną ωl + ωp ẋR = r 2 Przyjmując, że chwilowy środek obrotu jest w punkcie styku koła z podłożem, prędkość kątowa w układzie lokalnym r ω = θ̇ = (ωl − ωp) d stąd ωl +ωp ẋ 2 ξ̇ I = ẏ = R−1(θ)r 0 ω −ωp l θ̇ d Chwilowy promień obrotu obliczany z zależności d ω(Rs − ) = vp, 2 stąd otrzymujemy Rs = d ω(Rs + ) = vl , 2 d ωl + ωp 2 ωl − ωp 30 c Wstęp do Robotyki – ¥W. Szynkiewicz, 2009 Zadanie 7: Wyprowadzić równanie więzów nieholnomicznych (brak poślizgu) dla koła, którego środek leży punkcie P (początek układu robota XR , YR ) i kierunek ruchu pokrywa się z osią YR : a) dla chwilowej prędkości w ξ̇ R w układzie lokalnym, b) dla chwilowej prędkości ξ̇ I w układzie inercjalnym. Rozwiązanie: a) W układzie lokalnym z warunku braku poślizgu wynika, że ruch wzdłuż osi XR jest niemożliwy, czyli ẋR = 0 czyli równanie więzów można zapisać [1 0 0][ẋR ; ẏR θ̇]T = [1 0 0] ξ̇ R = 0 b) Ponieważ ξ̇ I = R−1(θ) ξ̇ R , to z punktu a) wynika, że [1 0 0] R−1(θ) ξ̇ R = 0 po pomnożeniu otrzymany [cos θ sin θ 0] ξ̇ I = [cos θ sin θ 0] [ẋI ẏI θ̇]T = 0 lub można to zapisać jako ẋI cos θ + ẏI sin θ = 0 31 c Wstęp do Robotyki – ¥W. Szynkiewicz, 2009 Ogólny podział (typowe zastosowanie) Czujniki dotykowe (detekcja fizycznego kontaktu) lub zbliżeniowe Odometryczne (położenie i prędkość kątowa) Kierunku (orientacji robota w układzie inercjalnym) Naziemne latarnie kierunkowe (lokalizacja w stałym układzie odniesienia) Aktywne czujniki pomiaru odległości (odbiciowe, czas-lotu, triangulacja) Czujniki ruchu/prędkości (prędkość względna do stacjonarnych lub ruchomych obiektów) Czujniki wizyjne (odległości, analizy obrazu, segmentacji, rozpoznawania obiektów) Czujniki wielkości fizycznych i chemicznych środowiska (np. temperatury, wilgotności, ciśnienia, promieniowania radioaktywnego) Czujniki Przełączniki kontaktowe, „czułki” (anteny), zderzaki (zamykanie pętli np. mikrowyłączniki), „sztuczna skóra” Bariery optyczne Bezkontaktowe czujniki zbliżeniowe potencjometry rezolwery i selsyny enkodery optyczne: przyrostowe i bezwzględne enkodery magnetyczne, indukcyjne, pojemnościowe kompasy (mechaniczno-magnetyczne, magnetyczne, efekt Halla, magnetorezystywne, magnetoelastyczne) żyroskopy (mechaniczne i optyczne) inklinometry GPS Aktywne optyczne lub radiowe latarnie Aktywne ultradźwiękowe latarnie Latarnie odbiciowe Czujniki odbiciowe czujniki ultradźwiękowe–sonary radary, lidary optyczna triangulacja (1D) światło strukturalne (2D) radary dopplerowskie sonary dopplerowskie Kamery CCD/CMOS układy wizyjne (pomiaru odległości, śledzenia obiektów) termometry, termopary, higrometry, tensometry, Geigera-Müllera, itp. liczniki PC/EC EC A/P P EC EC PC PC PC PC EC A A P A A A P PC EC EC EC EC EC EC EC EC EC EC EC P A/P A A A A A A A A A A EC EC A P EC A/P Tabela 1: Klasyfikacja czujników stosowanych w robotach mobilnych (A-aktywne, P-pasywne, PC-proprioceptywne, EC-eksteroceptywne) c Wstęp do Robotyki – ¥W. Szynkiewicz, 2009 32 Struktury sterowania: 1. reaktywne – „nie myśl – reaguj”. Struktura równoległa złożona z równolegle wykonujących się prostych reguł typu bodziec-reakcja. 2. behawioralne –„zastanów się nad sposobem zachowania się i działaj”. Struktura równoległa – równolegle działające zachowania (mogą być b. złożone). 3. deliberatywne (oparte na modelu) – „dokładnie planuj i dopiero potem działaj”. Struktura sekwencyjna S-P-A. 4. hybrydowe – „myśl (planuj) i działaj niezależnie/równolegle”. Struktura warstwowa układu sterowania – zazwyczaj trójwarstwowa” warstwa dolna reaktywna, warstwa górna (planowania) wykorzystuje model oraz warstwa pośrednia, łącząca. 33 c Wstęp do Robotyki – ¥W. Szynkiewicz, 2009 Zadanie 8: Obliczyć wielomian trzeciego stopnia będący trajektorią przejścia między konfiguracją początkową q0 i konfiguracją końcową qf w czasie tf = 1s, rozpoczynając i kończąc ruch z prędkością równą zero. Narysować trajektorię oraz przebiegi prędkości i przyspieszenia dla q0 = 10 i qf = −20. Rozwiązanie: Równanie parametryczne wielomianu trzeciego stopnia q(t) = a0 + a1t + a2t2 + a3t3 prędkość q̇(t) = a1 + 2a2t + 3a3t2 Z warunków granicznych dla t = 0 i t = tf wynika, układ czterech równań z czterema niewiadomymi q0 = a0 + a1t0 + a2t20 + a3t30 qf = a0 + a1tf + a2t2f + a3t3f q˙0(t) = a1 + 2a2t0 + 3a3t20 q˙f (t) = a1 + 2a2tf + 3a3t2f 34 c Wstęp do Robotyki – ¥W. Szynkiewicz, 2009 Cztery równania można zapisać w postaci równania macierzowego: 1 0 1 0 t0 1 tf 1 t20 2t0 t2f 2tf t30 a0 q0 3t20 a1 q˙0 = t3f a2 qf 3t2f a3 q˙f Po podstawieniu t0 = 0 i tf = 1 oraz q˙0 = q˙f = 0 mamy 1 0 1 0 0 1 1 1 0 0 1 2 0 a0 q0 0 a1 0 = 1 a2 qf 3 a3 q˙f co jest równoważne równaniom a0 a1 a2 + a3 2a2 + 3a3 = q0 =0 = qf − q0 =0 po rozwiązaniu dwóch ostatnich równań mamy a2 = 3(qf − q0) a3 = −2(qf − q0) 35 c Wstęp do Robotyki – ¥W. Szynkiewicz, 2009 zatem wielomian ma postać q(t) = q0 + 3(qf − q0)t2 − 2(qf − q0)t3 po podstawieniu wartości q0 = 10 i qf = −20 mamy q(t) = 10 − 90t2 + 60t3 q̇(t) = −180t + 180t2 q̈(t) = −180 + 360t Położenie Prędkość 10 0 0 −15 Przyspieszenie 180 90 q q’ −10 q’ ’ 0 −30 −90 −20 0 0.2 0.4 0.6 t 0.8 1 −45 0 0.2 0.4 0.6 t 0.8 1 −180 0 0.2 0.4 0.6 t 0.8 1