topologija v robotiki
DESCRIPTION
POVZETEK. TOPOLOGIJA V ROBOTIKI. TOPOLOGIJA V ROBOTIKI Moderni izzivi poučevanja matematike Ljubljana, 25.1.2013. - PowerPoint PPT PresentationTRANSCRIPT
1
TOPOLOGIJA V ROBOTIKI
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.
TOPOLOGIJA V ROBOTIKI
Moderni izzivi poučevanja matematikeLjubljana, 25.1.2013
POVZETEK
2
UVODTOPOLOGIJA V ROBOTIKI
KAJ JE ROBOTIKA?Robotika je veda, ki se ukvarja z načrtovanjem, konstruiranjem in krmiljenjem robotov.
Krmiljenje industrijskega robota
Roboti so elektro-mehanske, računalniško vodene naprave, ki izvajajo določene naloge.
Osnovni problem pri krmiljenju robotov je določiti zaporedje premikov sklepov ali vodil, ki napravo premaknejo v zahtevano lego.
Topološki problemi se večinoma pojavljajo pri krmiljenu robotskih naprav.
3
UVODTOPOLOGIJA 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.
4
UVODTOPOLOGIJA 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.
Problem je topološki, kadar je neobčutljiv na majhne deformacije in je torej odvisen le od topoloških lastnosti nastopajočih objektov.
Tudi v vsakdanjem življanju pogosto enačimo podobne objekte:
5
KINEMATIČNA PRESLIKAVATOPOLOGIJA V ROBOTIKI
MATEMATIČNA FORMULACIJA PROBLEMA
Lego točke lahko eksplicitno izrazimo s pomočjo kotov, za katere zavrtimo osi.
(x,y,z)
x=r cos cosy=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
Obratna kinematična preslikava praviloma ni enolična.
= (x,y,z) = (x,y,z)
Gibanje robota je določeno z gibanjem sklepov, tj. s funkcijama = (t) in = (t) (kjer t označuje čas).
6
KINEMATIČNA PRESLIKAVATOPOLOGIJA 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.
7
KINEMATIČNA PRESLIKAVATOPOLOGIJA 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.
8
KINEMATIČNA PRESLIKAVATOPOLOGIJA 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.
9
KONFIGURACIJSKI PROSTOR
Konfiguracijski prostor sistema ali naprave je prostor vseh njegovih možnih leg.
Lege praviloma opišemo z nekaj realnih parametrov, zato konfiguracijski prostor običajno gledamo kot podprostor v nekem n.
TOPOLOGIJA V ROBOTIKI
Bazična problema:
1. Kako izbrati pot, po kateri lahko izpeljemo premik?
2. Kako izbrano pot realizirati z vrtenjem osi naprave?
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.
Premiki sistema/naprave so poti v konfiguracijskem prostoru.
10
KONFIGURACIJSKI PROSTOR
PRIMERI
mehanična naprava konfiguracijski prostor je krožnica K
TOPOLOGIJA V ROBOTIKI
K K je torus
11
Konfiguracijski prostor je K × K × K × K × K × K
Kako bi dobili konfiguracijske prostore, ki niso torusi?
Z omejitvijo gibanja delov naprave.
00
2π
2πOVIRE
TOPOLOGIJA V ROBOTIKI KONFIGURACIJSKI PROSTOR
12
x
Za vsak dopustni kot leve palice obstajata dva dopustna kota desne palice...
...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.
PALIČNI SKLOPI
TOPOLOGIJA V ROBOTIKI KONFIGURACIJSKI PROSTOR
x
13
Konfiguracijski prostor 4-paličnega sklopa je sfera.
TOPOLOGIJA V ROBOTIKI KONFIGURACIJSKI PROSTOR
Z dodajanjem krakov in osi dobimo še bolj zapletene konfiguracijske prostore.
x
14
TOPOLOGIJA V ROBOTIKI KONFIGURACIJSKI PROSTOR
dve možni legi ena možna lega izven dosega
Konfiguracijski prostor je sfera.
x
15
TOPOLOGIJA V ROBOTIKI KONFIGURACIJSKI PROSTOR
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.
16
NAVIGACIJSKI NAČRT
Z X označimo konfiguracijski prostor dane naprave.
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.
Gibanje naprave lahko predstavimom s potjo α: IX.
(Omejimo se na s potmi povezane konfiguracijske prostore.)
Formalno: označimo s PX prostor vseh poti v X in s p: PXX×X, preslikavo p(α)=(α(0),α(1)).
Navigacijski načrt je preslikava s: X×X PX, za katero je ps=Id.
PX X×Xp
x
y
TOPOLOGIJA V ROBOTIKI
s
17
Zanimajo nas zvezni navigacijski načrti s: X×X PX.
Zvezni navigacijski načrt obstaja le za kontraktibilne prostore.
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.
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.
x0
x0
xy
TOPOLOGIJA V ROBOTIKI NAVIGACIJSKI NAČRT
18
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.
x
y
Kaj pa, če konfiguracijski prostor ni kontraktibilen?
V tem primeru lahko poskusimo z delnimi navigacijskimi načrti, definiranimi samo za nekatere pare
PX
X×X
p
U
sU
TOPOLOGIJA V ROBOTIKI TOPOLOŠKA KOMPLEKSNOST
x
x
19
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 glavni krožnici na S od x skozi severni tečaj N do y
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
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 ali 3?
V={(x,y) | x+ y =0}, sV (x,y):= pot po K od x do y v pozitivni smeri
TOPOLOGIJA V ROBOTIKI TOPOLOŠKA KOMPLEKSNOST
2 TC(K) 3
20
Še nekaj izračunov:
TC(orientabilna ploskev roda g)=3, g =0,1
5, g > 1
TC(povezan graf)= 2, graf ima en cikel3, sicer
1, graf je drevo
TC((S2n)k) =k+1, n lih
2k+1, n sod
TC(SO(3))= TC(P3)=3
TOPOLOGIJA V ROBOTIKI TOPOLOŠKA KOMPLEKSNOST
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.
HVALA ZA POZORNOST!
TOPOLOGIJA V ROBOTIKI