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

Podobne dokumenty