210 likes | 434 Views
POVZETEK. TOPOLOGIJA V ROBOTIKI. TOPOLOGIJA V ROBOTIKI Moderni izzivi poučevanja matematike Ljubljana, 25.1.2013.
E N D
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 Lego točke lahko eksplicitno izrazimo s pomočjo kotov, za katere zavrtimo osi. (x,y,z) direktna kinematična preslikava opiše lego robotske roke, če so znane lege sklepov x=rcos cos y=rcos sin z=r sin • 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? in potem premakniti v željeno smer. Moramo najprej zavrteti za 90o... 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 × KS 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 × KS. 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: • Kako izbrati pot, po kateri lahko izpeljemo premik? • 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. 2π OVIRE 0 2π 0 11
KONFIGURACIJSKI PROSTOR TOPOLOGIJA V ROBOTIKI x PALIČNI SKLOPI 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. 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 x izven dosega dve možni legi ena možna lega 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 Mobstaja 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 α: IX. (Omejimo se na s potmi povezane konfiguracijske prostore.) 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. x 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×XPX, za katero je ps=Id. y s PX X×X p 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 Xv x0. x0 Obratno, če obstaja kontrakcija Xv x0, potem dobimo navigacijski načrt za pot od xdo y tako, da združimo pot od xdo 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? V tem primeru lahko poskusimo z delnimi navigacijskimi načrti, definiranimi samo za nekatere pare x sU y 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. PX U p X×X 18
TOPOLOŠKA KOMPLEKSNOST TOPOLOGIJA V ROBOTIKI x Topološka kompleksnost krožnice: K× K razdelimo na U={(x,y) | x+ y 0}, sU (x,y):= najkrajša pot po Kod x do y V={(x,y) | x+ y =0}, sV (x,y):= pot po Kod x do y v pozitivni smeri Ker K ni kontraktibilna, je TC(K)=2. Topološka kompleksnost sfere: S× S razdelimo na: x U={(x,y) | x+ y 0}, sU (x,y):= najkrajša pot po Sod x do y V={(x,y) | x+ y =0}, sV (x,y):= pot po glavni krožnici na Sod x skozi severni tečaj N 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 TC(K) 3 2 ali 3? 19
TOPOLOŠKA KOMPLEKSNOST TOPOLOGIJA V ROBOTIKI Ali lahko S× Spokrijemo 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: k+1, n lih 3, g =0,1 TC((S2n)k) = TC(orientabilna ploskev roda g)= 1, graf je drevo 2k+1, n sod 5, g > 1 TC(povezan graf)= 2, graf ima en cikel 3, sicer TC(SO(3))=TC(P3)=3 20
TOPOLOGIJA V ROBOTIKI HVALA ZA POZORNOST!