Transcript Gradivo

POVZETEK
TOPOLOGIJA V ROBOTIKI
TOPOLOGIJA V ROBOTIKI
Moderni izzivi poučevanja matematike
Ljubljana, 25.1.2013
Robotika je veda, ki se ukvarja z načrtovanjem, konstruiranjem in krmiljenjem robotov.
Gre za izrazito interdisciplinarno področje, ki združuje mnoga inženirska in računalniška
znanja, uporablja pa tudi matematične rezultate in metode iz geometrije, analize,
numerike in teorije algoritmov.
Na predavanju bomo predstavili dva topološka problema, ki izvirata iz robotike. Prvi
obravnava znano težavo, da pri robotskih napravah, ki imajo rotacijske elemente vedno
obstajajo lege, pri katerih se naprave v določenem smislu zaskočijo. Izkaže se, da so
problematične točke natanko singularne točke t.im direktne kinematične preslikave, s
pomočjo topologije pa lahko razložimo, zakaj se singularnim točkam ni mogoče izogniti.
Drugi primer je povezan z izdelavo navigacijskih načrtov za robote, kjer moramo na
podlagi informacije o izhodiščni in ciljni legi robotske naprave določiti zaporedje
premikov, ki bo napravo prevedla iz ene lege v drugo. Izkaže se, da tega v splošnem ni
mogoče narediti z enim samim zveznim načrtom, kar nas pripelje do pojma topološke
kompleksnosti sistema.
1
UVOD
TOPOLOGIJA V ROBOTIKI
KAJ JE ROBOTIKA?
Robotika je veda, ki se ukvarja z načrtovanjem, konstruiranjem in krmiljenjem robotov.
Roboti so elektro-mehanske, računalniško vodene naprave, ki izvajajo določene naloge.
Krmiljenje industrijskega robota
Topološki problemi se večinoma
pojavljajo pri krmiljenu robotskih naprav.
Osnovni problem pri krmiljenju robotov
je določiti zaporedje premikov sklepov ali
vodil, ki napravo premaknejo v zahtevano
lego.
2
UVOD
TOPOLOGIJA V ROBOTIKI
Preprosta dvoosna naprava lahko z vrtenjem
doseže vse točke sfere.
Osnovna naloga je: kako napravo premakniti iz
ene točke v drugo.
Pri tem se pojavita dva bazična problema:
1. Kako izbrati pot, po kateri lahko izpeljemo premik?
2. Kako izbrano pot realizirati z vrtenjem osi naprave?
Če zahtevamo, da sta rešitvi zvezni, se izkaže,
da sta oba problema v bistvu topološka.
3
UVOD
TOPOLOGIJA V ROBOTIKI
KAJ JE TOPOLOGIJA?
Topologija je veja matematike, ki študira lastnosti geometrijskih
objektov, ki se ne spreminjajo pri majhnih deformacijah.
Šalica je topološko ekvivalentna obroču,
ker jo lahko deformiramo v obroč z
zaporedjem majhnih deformacij.
Tudi v vsakdanjem življanju pogosto enačimo podobne objekte:
Problem je topološki, kadar je neobčutljiv na majhne deformacije in je torej
odvisen le od topoloških lastnosti nastopajočih objektov.
4
KINEMATIČNA PRESLIKAVA
TOPOLOGIJA V ROBOTIKI
MATEMATIČNA FORMULACIJA PROBLEMA
(x,y,z)
Lego točke lahko eksplicitno izrazimo s
pomočjo kotov, za katere zavrtimo osi.
x=r cos cos
y=r cos sin
z=r sin
direktna kinematična preslikava
opiše lego robotske roke, če so
znane lege sklepov
obratna kinematična preslikava
na podlagi lege robotske roke
določi lege sklepov
= (x,y,z)
= (x,y,z)
Obratna kinematična preslikava praviloma ni enolična.
Gibanje robota je določeno z gibanjem sklepov, tj. s
funkcijama = (t) in = (t) (kjer t označuje čas).
5
KINEMATIČNA PRESLIKAVA
TOPOLOGIJA V ROBOTIKI
Kaj se zgodi, če napravo v iztegnjenem položaju poskusimo
premakniti v smer, ki je pravokotna na ravnino vrtenja kazalca?
Moramo najprej zavrteti za 90o...
in potem premakniti v željeno smer.
Potreben je velik zasuk okoli navpične osi, ne glede na majhnost zahtevanega premika!
Obratna kinematična preslikava ni zvezna.
6
KINEMATIČNA PRESLIKAVA
TOPOLOGIJA V ROBOTIKI
Natančnejši pogled:
lega sklepov je določena z izbiro ,
K,
vse možne lege lahko gledamo kot točke
na torusu K × K
možne lege konca roke so točke na sferi S
direktna kinematična preslikava je
d: K × K S
d
Večina leg na sferi je slika natanko dveh leg na torusu.
Izjemi sta tečaja sfere, v katera se preslikajo vse točke na označenih krožnicah.
Glavno razliko opazimo, ko pogledamo, kako se preslikajo tangentne ravnine:
Slike ravnin so večinoma dvorazsežne, razen pri tečajih, kjer so le enorazsežne.
To pomeni, da z majhnimi premiki sklepov lahko dobimo premike roke le v eni smeri.
7
KINEMATIČNA PRESLIKAVA
TOPOLOGIJA V ROBOTIKI
S pomočjo topološke teorije svežnjev lahko pokažemo, da vsaka preslikava iz torusa na sfero ima
tovrstne izrojene točke, kjer slika tangentne preslikave ni dvorazsežna, torej naprave ni mogoče
z majhnim gibom premakniti v poljubno smer.
Ker je dimenzija slike premajhna, lahko poskusimo povečati dimenzijo domene:
če dodamo še en sklep, dobimo kinematično preslikavo d: K × K × K S.
Ne pomaga: na skoraj enak način pokažemo, da obstajajo točke, v katerih je slika tangente
preslikave enorazsežna.
Enako velja ne glede na to koliko sklepov vzamemo (npr. industrijski roboti imajo običajno vsaj
šest rotacijskih sklepov): vedno obstajajo točke, v katerih se naprava ‚zaskoči‘.
Problemu se lahko delno izognemo s tem, da robotski roki ‚prepovemo‘ določene lege.
Včasih pa to ne gre, npr. pri giroskopih, ki
se sistematično uporabljajo v navigacijskih
sistemih (gimbal lock, Apollo 11 incident),
robotih (wrist singularity), računalniški
grafiki (Euler angles gimbal lock) ipd.
8
KONFIGURACIJSKI PROSTOR
TOPOLOGIJA V ROBOTIKI
Bazična problema:
1. Kako izbrati pot, po kateri lahko izpeljemo premik?
2. Kako izbrano pot realizirati z vrtenjem osi naprave?
Konfiguracijski prostor sistema ali naprave je prostor vseh njegovih možnih leg.
Primeri:
Konfiguracijski prostor robotske roke z n rotacijskimi sklepi je produkt n krožnic.
Za konfiguracijski prostor lahko vzamemo tudi prostor leg vrha roke, tj. sfero.
Lege praviloma opišemo z nekaj realnih parametrov, zato
konfiguracijski prostor običajno gledamo kot podprostor v nekem
n
.
Premiki sistema/naprave so poti v konfiguracijskem prostoru.
9
KONFIGURACIJSKI PROSTOR
TOPOLOGIJA V ROBOTIKI
PRIMERI
mehanična naprava
konfiguracijski prostor je krožnica K
K
K je torus
10
TOPOLOGIJA V ROBOTIKI
KONFIGURACIJSKI PROSTOR
Konfiguracijski prostor je
K×K×K×K×K×K
Kako bi dobili konfiguracijske prostore, ki niso torusi?
Z omejitvijo gibanja delov naprave.
OVIRE
2π
0
0
2π
11
KONFIGURACIJSKI PROSTOR
TOPOLOGIJA V ROBOTIKI
PALIČNI SKLOPI
Za vsak dopustni kot leve palice
obstajata dva dopustna kota
desne palice...
x
...razen v skrajnjih legah, ko je
sklop iztegnjen in imamo le en
dopustni kot desne palice.
Konfiguracijski prostor 3- paličnega sklopa je krožnica.
12
KONFIGURACIJSKI PROSTOR
TOPOLOGIJA V ROBOTIKI
x
Konfiguracijski prostor 4-paličnega sklopa je sfera.
Z dodajanjem krakov in osi dobimo še bolj zapletene konfiguracijske prostore.
13
KONFIGURACIJSKI PROSTOR
TOPOLOGIJA V ROBOTIKI
dve možni legi
ena možna lega
izven dosega
x
Konfiguracijski prostor je sfera.
14
KONFIGURACIJSKI PROSTOR
TOPOLOGIJA V ROBOTIKI
x
Konfiguracijski prostor je torus.
Konfiguracijski prostor n-nogega ‚pajka‘ je orientabilna ploskev roda 1+(n-4) 2n-3
(tj. torus z 1+(n-4) 2n-3 luknjami).
Izrek (M. Kapovich, J.L.Millson, 2002)
Za vsako gladko sklenjeno mnogoterost M obstaja palični sklop,
katerega konfiguracijski prostor je disjunktna unija nekaj kopij M.
15
NAVIGACIJSKI NAČRT
TOPOLOGIJA V ROBOTIKI
Z X označimo konfiguracijski prostor dane naprave.
Gibanje naprave lahko predstavimom s potjo α: I X.
(Omejimo se na s potmi povezane konfiguracijske prostore.)
x
Navigacijski načrt za X je pravilo, ki
vsakemu paru točk x,y v X priredi pot
α v X z začetkom v x in koncem v y.
y
Formalno: označimo s PX prostor vseh poti v X in s p: PX X×X, preslikavo p(α)=(α(0),α(1)).
Navigacijski načrt je preslikava s: X×X
PX, za katero je ps=Id.
s
PX
p
X×X
16
NAVIGACIJSKI NAČRT
TOPOLOGIJA V ROBOTIKI
Zanimajo nas zvezni navigacijski načrti s: X×X
PX.
Recimo, da je s: X×X PX navigacijski načrt za X.
Izberemo točko x0: tedaj preslikava x s(x, x0) določa kontrakcijo X v x0.
x0
Obratno, če obstaja kontrakcija X v x0,
potem dobimo navigacijski načrt za pot
od x do y tako, da združimo pot od x do
x0 s obratom poti od y do x0.
x
y
x0
Zvezni navigacijski načrt obstaja le za kontraktibilne prostore.
17
TOPOLOŠKA KOMPLEKSNOST
TOPOLOGIJA V ROBOTIKI
Kaj pa, če konfiguracijski prostor ni kontraktibilen?
x
y
PX
V tem primeru lahko poskusimo z delnimi
navigacijskimi načrti, definiranimi samo za
nekatere pare
sU
U
p
X×X
M. Farber (2003)
Topološka kompleksnost prostora X je minimalno število delnih navigacijskih
planov, ki so potrebni, da povežemo poljuben par točk v X.
18
TOPOLOŠKA KOMPLEKSNOST
TOPOLOGIJA V ROBOTIKI
Topološka kompleksnost krožnice: K× K razdelimo na
U={(x,y) | x+ y
0},
sU (x,y):= najkrajša pot po K od x do y
V={(x,y) | x+ y =0},
sV (x,y):= pot po K od x do y v pozitivni smeri
x
Ker K ni kontraktibilna, je TC(K)=2.
Topološka kompleksnost sfere: S× S razdelimo na:
U={(x,y) | x+ y
0},
sU (x,y):= najkrajša pot po S od x do y
V={(x,y) | x+ y =0},
sV (x,y):= pot po glavni krožnici na S od x skozi severni tečaj N do y
x
Drugo pravilo ni dobro definirano za par
(N,-N), zato dodamo:
W={(N,-N), (-N,N)},
sW (N,-N):= poljubna pot po S , ki povezuje N in –N
2
TC(K)
3
2 ali 3?
19
TOPOLOŠKA KOMPLEKSNOST
TOPOLOGIJA V ROBOTIKI
Ali lahko S× S pokrijemo z dvema navigacijskima načrtoma?
To je precej težje vprašanje, ki za rešitev potrebuje tehnike algebraične topologije.
Odgovor je NE, zato je TC(S)= 3.
Še nekaj izračunov:
TC(orientabilna ploskev roda g)=
TC(povezan graf)=
TC((S2n)k) =
k+1,
3, g =0,1
5, g > 1
1, graf je drevo
2, graf ima en cikel
3, sicer
n lih
2k+1, n sod
TC(SO(3))= TC( P3)=3
20
TOPOLOGIJA V ROBOTIKI
HVALA ZA POZORNOST!