Cercetarea științifică în robotică

Cristian Dima -- cdima+@cs.cmu.edu,
Mihai Budiu -- mihaib+@cs.cmu.edu

mai 2000

Subiect:
institutul de robotică al universității Carnegie Mellon
Cunoștințe necesare:
nici una
Cuvinte cheie:
roboți, program doctoral


Cuprins




Despre roboți

Imaginea pe care majoritatea dintre noi o au despre roboți vine în principal din filme ca ``Războiul Stelelor'' și ``Star Trek'' și în secundar din imagini ale plictisitoarelor linii de asamblare ale automobilelor japoneze. Contrastul dintre aceste două imagini a produs o anumită dezamăgire a publicului în ceea ce privește robotica: în definitiv, după atîția ani de progres tehnologic, nu avem încă roboți cărora sa le putem vorbi și care să poată fi de ajutor în îndeletnicirile casnice. Nici nu poate fi vorba de roboți care sa lupte în război, să piloteze naveta spațială sau alte ocupații frecvente în romanele științifico-fantastice. Există deci tendința de a cădea în cealaltă extremă, de a presupune că nu există decît roboți plicticoși, buni doar pentru asamblarea plăcilor electronice și a automobilelor.

Realitatea contrazice însă ambele imagini. E adevărat că nu avem încă roboți cărora să le putem vorbi, avem însă roboți care au participat cu mult succes la operații chirurgicale extrem de complicate; nu avem încă soldați-roboți, armata americană este în schimb unul dintre cei mai mari investitori în tehnologie robotică, și deși rezultatele sunt departe de ``Terminator-i'', există roboți care pot contribui în mod eficace la salvarea de vieți omenești (cum ar fi celebrul robot care a fost trimis să inspecteze Cernobîl).

E naiv să ne așteptăm ca robotica să pornească de la zero și să ajungă într-un timp relativ scurt (cam cinci decenii de la primele prototipuri funcționale) la performanțe comparabile cu cele omenești. Deși încă departe de visele pionierilor din domeniu, robotica ne aduce în fiecare zi un pic mai aproape de ele, iar acest progres este în continuă accelerație.

Cel puțin cercetătorii din robotică au planuri foarte ambițioase și pline de optimism. În acest articol vom încerca să vă comunicăm unele din motivele optimismului lor.

Institutul de robotică al universității Carnegie Mellon

Dacă există discipline spectaculoase în știința calculatoarelor, atunci cu siguranță robotica este pe locul întîi. Desigur, se poate argumenta că roboții sunt de fapt o disciplină separată; importanța calculatoarelor în componența lor este însă din ce în ce mai mare, după cum sperăm să arătăm cu acest articol, așa că ne vom permite să catalogăm robotica drept o sub-disciplină a informaticii. Cel mai potrivit este deci să povestim despre robotică prin exemple concrete.

Vom folosi deci drept exemplificări proiecte realizate în cadrul Institutului de Robotică al Universității Carnegie Mellon din Statele Unite. Pentru început, cîteva fapte despre această instituție:

Institutul de Robotică al CMU este cel mai mare institut de învățămînt superior de specialitate din lume. Personalul constă în 57 de profesori, 67 de studenți la doctorat, 14 post-doctoranzi, și 83 de cercetători. Institutul oferă diplome de master și doctorat în robotică; fondurile de cercetare se ridică la peste 30 de milioane de dolari anual. Aceste cifre sunt cu adevărat impresionante, mai ales dacă socotim că resursele sunt dedicate roboticii: puține alte universități au departamente de calculatoare care sunt atît de mari, ori aceasta este doar o sub-diviziune a școlii de calculatoare de la CMU.

Aceste resurse impresionante se reflectă printr-un uriaș număr de proiecte (peste o sută) din toate domeniile roboticii; pagina de web (indicată în secțiunea ``Alte surse de informație'') are legături spre multe din aceste proiecte (dar nu toate). În mod necesar, vom putea ilustra acest text cu doar cîteva dintre ele, poate nu întotdeauna cele mai reprezentative.

Menirea acestui text este să ilustreze teoria că robotica este un domeniu extrem de complex, care rezultă din îmbinarea foarte multor domenii disjuncte. Cercetarea în robotică se desfășoară în fiecare din aceste direcții simultan. Unele dintre proiecte se desprind și devin autonome: de exemplu vom vedea mai multe proiecte al căror scop originar era de a înzestra robotul cu percepție prin prelucrarea imaginilor, însă mai tîrziu au devenit subiecte de cercetare în sine. Chiar dacă în forma prezentată ele aduc mai mult cu prelucrarea de imagine, sau cu viziunea automată (computer vision) decît cu construcția de roboți, cercetarea este desfășurată în Institutul de Robotică.

Cercetarea în robotică

Cred că este instructiv să trecem în revistă domeniile de interes central pentru cercetarea în robotică. Dar înainte de a vedea ce se cercetează, să vedem întîi ce nu se cercetează.

În general cercetarea academică în robotică (adică cea făcută în universități) nu se ocupă de probleme de ``nivel scăzut'', cum ar fi: motoare, probleme electrice, construirea de hardware. În trecut universitățile trebuiau să dezvolte nu numai ``creierul'' robotului, ci și toate celelalte ``organe'' ale lui. Dar în clipa de față companiile industriale produc piese de o calitate care nu poate fi atinsă în producție de serie mică la un cost rezonabil.

Ca atare, cercetarea fundamentală în robotică se desfășoară în zona teoriei și algoritmilor. Cercetătorii din robotică se află la intersecția următoarelor domenii: inteligența artificială, statistică, algoritmi, geometrie, geometrie diferențială, algebră, teoria sistemelor. Unele proiecte ``evadează'' în ramuri exotice, cum ar fi neuro-biologie, psihologie, medicină, fizică și mecanică, etc., în funcție de aplicațiile roboților cu pricina.

Cercetarea în domeniul electro-mecanic este în general limitată în descoperirea unor tehnologii noi (de exemplu roboți care folosesc cîmpul magnetic, dispozitive micro-electro-mecanice -- roboți de cîțiva microni, mijloace extreme de locomoție -- roboți-păianjen, roboți extratereștri pentru gravitație redusă, etc.).

Robotica: cercetare multi-disciplinară

Construcția unui robot cere cunoștințe din domenii foarte diferite. Pentru a îndeplini chiar o misiune foarte simplă, este nevoie de sisteme complicate, care acoperă multe discipline.

În mare, robotica poate fi divizată în trei domenii: percepție, cogniție și acțiune. Această diviziune e naturală: un robot trebuie în general să ``simtă'', pentru a primi informații despre mediul înconjurător. Informațiile în sine însă nu folosesc la nimic: robotul trebuie sa ``ințeleagă'' ce se petrece, să construiască planuri, să evalueze situații, etc. Aceasta este partea de cogniție. Un robot ar fi inutil dacă nu ar putea să facă ceva: să se deplaseze, să transforme în mod intenționat mediul înconjurător, să exploreze, într-un cuvînt, să acționeze.

În anumite cazuri putem elimina cogniția, obținînd fie ceea ce se numește teleoperare (operare de la distanță), în care caz nu există decizie la nivelul robotului, fie celebrii roboți lucrători la o linie de asamblare.

Sa studiem deci fiecare domeniu în parte.

Percepție

Percepția include practic tot ceea ce ține de senzorii prin care robotul poate primi informații despre mediul în care operează. Diversitatea senzorilor este practic nelimitată: un robot poate înregistra imagini, măsura distanțe, accelerații, cîmpuri magnetice, orientări, poziții geografice, viteze, etc. Vom încerca să alcătuim o listă (inevitabil incompletă) a senzorilor utilizați pentru percepție în robotică.

Camere de filmat:
informația vizuală este în general obținută cu ajutorul camerelor de filmat în diferite spectre: vizibil, infraroșu, ultraviolet, etc. Cu ajutorul camerelor de filmat (digitale sau analogice) se obțin în final imagini digitale care sunt apoi prelucrate pentru a extrage informația de care este nevoie. Acest proces de prelucrare este în general extrem de laborios: conversia de la o lume tridimensională la o imagine bidimensională implică pierderea de informație. În plus, imaginile obținute au de obicei o rezoluție foarte scăzută precum și o gama relativ redusă de culori. De exemplu, în cazul unei imagini alb-negru obținută cu un convertor analog-digital de 8 biți (practic standard) rezultă numai 256 de tonuri de gri; filmul fotografic -- mult mai puțin performant decît ochiul omenesc -- poate reproduce în jur de 8000 de tonuri.

Anumite informații sunt foarte greu de extras din imagini: pentru a recupera de exemplu informație tridimensională este nevoie fie de camere stereoscopice fie de algoritmi care folosesc imagini succesive pentru a recupera informația pierdută prin proiecția de la 3D la 2D.

Camerele de luat vederi sunt însă foarte ieftine în comparație cu alți senzori. Pentru comparație să vedem alte două sisteme: un sistem de telemetrie prin laser este incomparabil mai precis, mai ușor de folosit și mai puțin sensibil la iluminație. Un sistem stereoscopic (cu două, trei sau mai multe camere de filmat) trebuie calibrat, funcționează numai în anumite condiții (nu poate de exemplu măsura distanța către obiecte care au o culoare uniformă) și poate fi făcut inutilizabil de umbre. Un sistem laser costa între 10 și 50 de mii de dolari; un sistem stereoscopic performant aproximativ 1500-2000 de dolari.

Laseri:
sistemele laser sunt folosite în două moduri: pentru măsurători directe de distanță și ca surse de lumină structurată (structured light). În primul caz, o raza laser scanează o scena și permite măsurarea precisă a distanțelor (și a direcțiilor) față de punctul din care raza este emisă. În al doilea, prin procese optice sau/și mecanice, raza laser este transformată într-un ``plan'' laser, care baleiază întreaga scenă de interes, iar o cameră video cu poziție fixă înregistrează intersecția dintre acest plan laser și scena măsurată. Mulțimea tuturor punctelor de pe conturul 3D alcătuiește un model tri-dimensional, ce poate fi ulterior folosit fie pentru localizare, pentru detectarea de obstacole, pentru a crea puncte de reper, și pentru alte foloase.

Laserele însă au și probleme, cele mai mult inerente principiilor de funcționare. În cazul laserelor care măsoară distanțe, pentru a obține informație despre o întreagă scenă, raza trebuie baleiată pe o arie mare; cum însă rezoluția unghiulară cerută în cele mai multe dintre aplicații este relativ mare (cîteva zecimi de grad atît în plan orizontal cît și vertical) și crește proporțional cu distanța obiectelor scanate, este foarte dificil (din punct de vedere mecanic) de construit un sistem care va scana cu rezoluție mare și în același timp foarte repede.

Un laser pentru măsurat distanța este caracterizat prin numărul de grade de libertate (0, 1 sau 2), prin numărul de puncte măsurate într-o singură trecere și prin numărul de astfel de treceri ce pot realizate într-o secundă. Limitarea laserilor nu este în măsurarea distanței (de obicei mult mai precisă decît necesar pentru majoritatea aplicațiilor) ci din procesul (pînă acum mecanic) de poziționare a razei laser și din rata de transfer a informației.

Am spus ``pînă acum mecanic'' pentru că relativ recent au apărut laseri fără părți mobile, în care direcția razei este controlată electronic, prin reflexie pe cristale lichide. Deși în prezent astfel de sisteme există doar în laboratoare, ele promit performanțe interesante: permit scanarea cu viteze mult mai mari și au o uzură redusă.

Pentru a încheia această discuție despre laseri trebuie să menționăm încă o problemă: laserii au dificultăți cu ceața, ploaia, ninsoarea, și mai ales cu soarele puternic. În cazul primelor trei, raza laser este reflectată de particulele de apă. În cazul soarelui, un laser cu putere mai mare nu ar avea de suferit din cauza iluminației naturale, însă într-un mediu populat, laserul poate dăuna retinei trecătorilor1.

Sonare, radar:
sonarele (acronim pentru ``SOund NAvigation and Ranging'') și radarele (acronim pentru ``RAdio Detection And Ranging'') funcționează pe baza acelorași principii: un semnal (sonor, respectiv electromagnetic) este emis de robot; semnalul este reflectat de suprafețe, se întoarce la emițător, care măsoară timpul între emisie și recepție. Cum viteza undei respective este cunoscută, se poate evalua distanța pînă la suprafața reflectătoare. Sonarele au marele (și probabil singurul) avantaj de a costa foarte puțin în comparație cu alți senzori. În același timp, au o precizie extrem de mică, și sunt sensibile la mediul în care sunt folosite. Anumite materiale reflectă undele sonore foarte bine (caz în care există și pericolul reflexiilor multiple), altele foarte prost (caz în care anumite semnale emise pot fi pierdute). Datorită lungimii de undă mult mai mici, radarele nu sunt în general afectate de aceste probleme. Însă costul unei unități radar este mare, are limitări în rezoluție și în precizie.

Alți senzori:
există numeroase alte metode pentru a măsura realitatea înconjurătoare, unele cu aplicabilitate generală, altele foarte specializate. Pentru localizarea roboților cu roți sau șenile sunt adeseori folosite așa-numitele codificatoare (encoders) care numără rotațiile axelor roților. Din raza roții se poate evalua distanța parcursă, folosind același principiu ca la kilometrajul automobilelor. În orice caz, datorită inerentelor alunecări și derapaje, rezultatele unui asemenea senzor sunt doar orientative.

Numeroase proiecte folosesc renumitul GPS, (acronim pentru Global Positioning System), un sistem de localizare prin satelit disponibil oriunde pe glob și care oferă precizii uluitoare: chiar și în cazul aplicațiilor civile2 se pot atinge precizii de numai cîțiva centimetri! Un sistem de sateliți emite tot timpul semnale electronice; semnalele de la mai mulți sateliți pot fi combinate pentru a afla poziția relativă față de sateliți; din asta se poate calcula poziția pe suprafața pămîntului. Deși limitate doar la aplicații în aer liber și cu un cost ridicat, precizia și simplitatea sistemelor GPS a le-a impus în multe aplicații ale roboților.

Alți senzori utilizați frecvent sunt inclinometrele și accelerometrele. Prețurile lor sunt relativ scăzute (crescînd o dată cu precizia) iar aplicațiile numeroase.

Înainte de a încheia aceasta enumerare trebuie menționat că acestea nu sunt decît cîteva dintre opțiunile disponibile. Alegerea senzorilor potriviți depinde de mediul în care robotul va funcționa, de resursele financiare și, nu în ultimul rînd, de experiența constructorului. Un robot care funcționează în interiorul clădirilor nu trebuie sa ia atît de mult în calcul problemele impuse de iluminația naturală. Un tractor robotizat nu are nevoie să detecteze obstacole de cîțiva centimetri. Regula generală este că dificultatea dezvoltării unui robot este invers proporțională cu numărul de restricții impus asupra mediului de funcționare. Diferența între un robot care merge excelent în laborator, unde ``dificultățile'' sunt cu grijă eliminate prin configurația experimentului și un robot capabil sa ducă la bun sfîrșit o misiune într-un mediu natural este extrem de mare.

Un exemplu: Realitate VirtualizatăTM.

Una dintre aplicațiile cele mai interesante dezvoltate la Institutul de Robotică CMU este laboratorul de ``realitate virtualizată'' (a nu se confunda cu realitatea virtuală). Laboratorul constă într-o încăpere în care 49 de camere de filmat digitale sunt plasate pe pereți și tavan, astfel încît orice punct din spațiu este vizibil cîtorva camere, indiferent de obiectele din încăpere. Toate camerele de filmat sunt atent calibrate (ceea ce înseamnă că se pot stabili corespondențe între imaginile oricăror două camere: pentru orice punct vizibil în cel puțin două obiective se pot obține coordonate în spațiul tri-dimensional) și sincronizate, astfel încît toate să înregistreze imagini în același timp. Folosind principiile stereoscopiei se pot obține modele tridimensionale pentru orice eveniment petrecut în această cameră.

Figura 1: Realitatea Virtualizată permite explorarea unei scene reale din puncte din care nu a fost niciodată văzută. Sistemul începe prin filmarea unei scene reale (b) din toate unghiurile posibile (imaginea (a) prezintă un dom pe care sunt montate 49 de camere de filmat). Din imaginile filmate este reconstituit un model tridimensional al scenei. Modele ale unor scene diferite pot fi puse laolaltă, ca în figura (c), în care apar trei jucători de basket care nu au fost niciodată la un loc. Prin maparea texturii, adăugarea de noi obiecte și redarea imaginii putem vedea scenele înițiale din orice punct de vedere (d).
\begin{figure}\centerline{\epsfxsize=14cm\epsffile{vr.eps}}\end{figure}

Sistemul prelucrează apoi informația înregistrată și construiește un model (descris în limbajul VRML) tri-dimensional pentru fiecare moment din secvența înregistrată. Cu metode împrumutate din grafica pe calculator se poate extrage informație despre forma, culoarea și textura suprafețelor vizibile.

Din momentul în care un astfel de model tridimensional este disponibil și cunoaștem culoarea fiecărui punct, putem genera o imagine artificială a aceste scene, văzută din orice punct de vedere (chiar din puncte în care inițial nu avem camere de filmat). Acest lucru poate fi realizat pentru fiecare moment din secvența înregistrată: ca urmare, se poate alege chiar o traiectorie pentru camera de filmat, și putem obține o secvență video care simulează ceea ce ar fi văzut o cameră de luat vederi în mișcare de-a lungul traiectoriei respective.

Deși calitatea imaginilor obținute nu este perfectă, iar procesarea nu se poate face în timp real, una dintre aplicațiile deja negociate cu sponsori interesați constă în a înregistra meciuri de basket din NBA; spectatorul apoi poate controla în trei dimensiuni poziția camerei ``virtuale'', care-i furnizează informația video. De exemplu, spectatorul ar putea viziona meciul din punctul de vedere al unui arbitru, din punctul lui Shaquille O'Neal sau chiar din punctul de vedere al mingiei.

Un exemplu: modelare 3D după filme video.

Un proiect deosebit de fascinant din domeniul percepției este cel numit ``modelare cu camera video'' (modelling by videotape).
http://www.ius.cs.cmu.edu/IUS/mbvc0/www/modeling.html

Problema care se dă este următoarea: mă plimb cu camera de filmat în jurul unui obiect. Pot să reconstitui doar din aceaste imagini:

Asumpția de bază este că obiectul filmat este rigid (nu se deformează în timpul filmării). Cercetări de ultimă oră au extins această metodă pentru scene care conțin mai multe obiecte rigide în mișcare relativă unele față de altele.

Rezultatele sunt deosebit de spectaculoase (pagina de web conține mici filme demonstrative): de exemplu, mișcări de mică amplitudine în jurul unei scene din bucătărie (ca și cum cel care filmează se clatină) permit reconstituirea deplină a formei acesteia și vizualizarea din orice unghi. Figura 2 explică procedura pe scurt.

Figura 2: Reconstituirea pornește de la un film al obiectului, făcut din mișcare. Tehnici standard de procesare de imagine identifică puncte cheie (features) ale imaginii. Tehnici aplicate pentru calculul fluxului de imagine (optical flow) permit identificarea punctelor corespunzătoare din imagini diferite (o problemă netrivială, dacă ne gîndim că unele puncte pot dispărea ascunse în spatele unor suprafețe). Din mișcarea punctelor se poate reconstitui plasamentul lor în spațiul tridimensional, precum și traiectoria camerei de filmat. Odată ce geometria punctelor cheie este stabilită, fețele obiectului sunt reconstituite și apoi textura (desenul) original este transformat în raport cu ecuația mișcării și suprapus peste cadru. Tehnologiile de plasare a texturii sunt folosite de toate jocurile tridimensionale, dar problema reconstrucției formei este mult mai dificilă.
\begin{figure}\centerline{\epsfxsize=14cm\epsffile{mvt.eps}}\end{figure}

Tehnica are o eficacitate excelentă: în pagina de web există o demonstrație a unui teren filmat din avion de la mare înălțime; nici cu ochiul nu poți spune prea clar ce se întîmplă jos. Calculatorul însă este capabil să construiască o hartă completă de elevații a terenului. Aplicațiile comerciale și militare ale tehnologiei sunt evidente.

Cogniție

Roboții au nevoie de o putere substanțială de calcul pentru a procesa informațiile venite de la senzori, extrăgînd trăsăturile esențiale. Dar odată aflate informațiile esențiale, mai rămîne de pus la punct setul de acțiuni care trebuie îndeplinite pentru a duce la bun sfîrșit sarcinile robotului. Aici intră în joc ``creierul'' robotului.

Prin asemuire cu funcțiunea principală a creierului uman, numim această activitate a robotului ``cogniție''. Putem distinge trei mari tipuri de activitate ``cognitivă'': învățare, planificare și control.

Învățare

Învățarea poate avea aspecte extrem de variate, de la memorare pur mecanică pînă la acțiuni ``inteligente''.

Planificare

Putem argumenta că funcția principală a unui robot este planificarea. Ideal noi îi specificăm robotului doar un scop care trebuie atins, iar robotul are la dispoziție o mulțime de mișcări elementare. Robotul trebuie să pună cap la cap o serie de astfel de mișcări care conduc la realizarea scopului.

Planificarea se poate face la nivele diferite, și poate fi extrem de sofisticată dacă avem de-a face cu un mediu în schimbare și în care avem constrîngeri dinamice importante:

Un exemplu: Minerva și muzeele.

Pe culoarele universității Carnegie Mellon poți adesea vedea niște roboței care se plimbă de ici colo și caută lume în clădire; unii din acești roboți pot fi comandați de la distanță, prin Internet: http://jubilee.learning.cs.cmu.edu:8080/.

Un grup de cercetare a vrut să împingă această idee mai departe, și a construit un robot care face pe ghidul în muzeu. Robotul Minerva 4 a funcționat în Muzeul de Istorie Naturală Smithsonian din Washington DC în vara anului 1988 http://www.cs.cmu.edu/~minerva.

Figura 4: Robotul Minerva a funcționat în vara anului 1998 ca ghid în Muzeul de Istorie Naturală ``Smithsonian'' din Washington DC.
\begin{figure}\centerline{\epsfxsize=5cm\epsffile{minerva.eps}}\end{figure}

Problemele principale investigate cu această ocazie au fost navigația într-un spațiu necunoscut și evitarea obstacolelor (inclusiv a persoanelor).

Iată pe scurt unele din problemele ivite și algoritmii folosiți pentru a le rezolva:

Învățare:
Minerva trebuie să învețe harta locului în care se află. Pentru acest scop este echipată cu senzori laser, care pot măsura precis distanța pînă la obiectele înconjurătoare. Prima poză din figura 5 arată harta muzeului învățată prin explorare după ora închiderii (pentru ca nu cumva publicul să fie luat drept exponate).

Repere:
Minerva trebuie apoi să-și construiască niște repere fiabile, pe care să le poată folosi tot timpul. Din cauză că în timpul zilei robotul va fi înconjurat de curioși, singura metodă fiabilă este să urmărească...tavanul. A doua poză din figura 5 arată harta tavanului așa cum este construită de Minerva, plasată peste cea a muzeului.

Figura 5: Pentru navigație în timpul zilei Minerva își construiește o hartă a tavanului muzeului, singurul lucru pe care știe că-l poate privi fără a fi obstrucționată. Dacă credeți că e un lucru simplu să te orientezi după tavan, încercați să spuneți în care parte a clădirii vă aflați cînd vedeți a treia poză din această figură.
\begin{figure}\centerline{\epsfxsize=14cm\epsffile{tavan.eps}}\end{figure}

Senzori:
În timpul orelor de vizită, Minerva se uită tot timpul cu o cameră de filmat în tavan. Ce vede puteți privi în partea a treia a figurii 5.

Localizare:
Problema cea mai complicată este ca robotul să-și dea seama unde se află în clădire folosind informații incomplete (senzorii se vor împiedica de persoanele din jur, și vor vedea doar o fracțiune din tavan). Figura 6 arată doi pași din evoluția unui algoritm care estimează probabilitatea robotului de a se afla într-un anumit loc.

Figura 6: Algoritmul de localizare al lui Minerva construiește o distribuție de probabilitate a amplasamentului robotului. Punctele unde e cel mai probabil ca robotul să se afle sunt marcate cu verde în figură. Pe măsură ce robotul se deplasează și vede noi porțiuni de tavan, incertitudinea scade (de exemplu, se ajunge într-o secundă de la imaginea din stînga la cea din dreapta). După cinci secunde robotul știe precis unde se află.
\begin{figure}\centerline{\epsfxsize=12cm\epsffile{localizare.eps}}\end{figure}

Planificare:
În fine, odată ce a aflat unde este plasat, robotul trebuie să-și planifice mișcările prin muzeu pentru a face turul și a explica exponatele. Această problemă nu este de loc simplă, pentru că mediul este în continuă schimbare, și mișcările lui sunt împiedicate de audiența curioasă.

Control

În fine, una dintre problemele binecunoscute este cea a algoritmilor de control (control theory). Așa cum nu putem conduce o mașină cu 100 km/h pînă în parcare, pentru că nu putem opri instantaneu, nici roboții nu pot face mișcări arbitrare.

Teoria controlului dezvoltă algoritmi care să permită roboților sa se deplaseze în mod stabil; algoritmii de control cunosc doar unii din parametrii sistemului; pe ceilalți îi pot observa din chiar comportarea robotului. Algoritmii observă permanent deviația de la traiectoria ideală stabilită de planificator și generează comenzi de corecție.

Dar așa cum o învîrtire bruscă de volan poate răsturna mașina, sau poate duce la o oscilație periculoasă, simpla încercare de a corecta imediat traiectoria se poate solda cu catastrofe; algoritmii de control iau în calcul aceste lucruri cînd coordonează mișcarea.

Acțiune

În fine, ajungem la ultima mare parte a roboticii, acțiunea. Roboții pot folosi cele mai diverse mijloace de locomoție; de la roboți umanoizi, cu picioare (care de altfel sunt foarte greu de construit) pînă la șerpi și țopăitori, avem de-a face cu o gamă extrem de largă de dispozitive. Iată aici unele dintre ele:

Roti și șenile:
despre acestea nu e mare lucru de spus; sunt cele mai comune mijloace de locomoție.

Miliboții:
sunt probabil unul din cele mai mici (în sens propriu) proiecte robotice. Miliboții sunt roboți de numai 5-10 centimetri, care acționează în echipe, în principal în misiuni de recunoaștere. Dimensiunea redusă a miliboților constituie una dintre cerințele principale pentru acest proiect; cu cît un robot este mai mic, cu atît este mai greu de detectat.

Figura 7: Construiți modular, miliboții au un modul de locomoție, unul de procesare și, desigur, baterii. În rest, ei pot transporta module de viziune -- echipate cu o mini-cameră de luat vederi -- de sunet -- un microfon mobil -- sonare și echipamente de comunicații radio. Ei schimbă informații între ei, colaborează, și în viitorul apropiat vor putea să-și schimbe unul altuia bateriile.
\begin{figure}\centerline{\epsfxsize=12cm\epsffile{miliboti.eps}}\end{figure}

În cadrul proiectului se lucrează în prezent la un mecanism de cuplare care va permite miliboților sa se cupleze între ei, formînd fie o ``roată'', fie un pod, fie alte configurații care vor spori mobilitatea sistemului. Cea mai mare problemă în astfel de proiecte este dificultatea stocării unei cantități suficiente de energie în puținul spațiu disponibil.

Șerpii
sunt cîteodată forma ideală pentru roboți care trebuie să ajungă în locuri greu accesibile; de exemplu, un robot care verifică un motor de mașină și care se tîrăște printre diferitele piese poate fi singura soluție de implementare.

Module:
un proiect de cercetare studiază construcția unor ``module universale'' plug-and-play, care pot fi asamblate într-un robot în aproape orice fel. Modulele auto-detectează configurația electrică, mecanică, și generează automat planuri pentru mișcarea robotului format, în funcție de numărul de grade de libertate disponibile.

Roboți spațiali:
NASA este unul dintre sponsorii principali ai Institutului de Robotică de la CMU; unele din proiectele de cercetare explorează construcția roboților care ar putea funcționa pe stația spațială, în lipsa gravitației, și care se pot deplasa pe structuri metalice de forma unor schele.

Gyro, hopping:
roboți exotici care constau dintr-o singură roată (echilibrată cu un giroscop) sau roboți care țopăie sunt alternative extreme explorate de cercetători (figura 8).

Figura 8: Gyrover este un robot care constă dintr-o singură roată ținută în echilibru un giroscop. Gyrover poate să stea pe loc și să se rotească pe verticală, să urce pante ușoare și să meargă pe un teren accidentat la viteze mari. Mecanismul robotului este în întregime în interiorul roții, protejat de impact. Bow-leg este un robot care țopăie folosind un picior elastic; simplitatea robotului duce la algoritmi simpli de control; robotul este capabil să sară peste pietrele care-i împiedică mersul, și poate calcula traiectorii în timp real, în funcție de obstacolele întîlnite.
\begin{figure}\centerline{\epsfxsize=12cm\epsffile{exotic.eps}}\end{figure}

Interfețe haptice:
haptica este domeniul care se ocupă cu introducerea senzațiilor tactile în interacțiunea cu calculatorul. Prin utilizarea unor dispozitive de intrare/ieșire speciale: joystick-uri, ``mănuși electronice'' (data-gloves), etc., utilizatorii pot recepta senzații tactile.

Figura 9: În Institutul de Robotică s-a dezvoltat un dispozitiv bazat pe levitație electromagnetică care poate exercita asupra unui ``joystick'' forțe și cupluri generate artificial de calculator. Dispozitivul are 6 grade de libertate și este susținut practic fără frecare într-un cîmp magnetic foarte puternic. Cu ajutorul forțelor Lorentz și variației unor curenți din bobinele ce înconjoară dispozitivul, un program poate simula o ``lume'' artificială în care maneta poate fi folosită pentru a mișca anumite obiecte în 3D. Forțele aplicate prin intermediul cîmpului magnetic asupra manetei simulează cu mare acuratețe senzațiile pe care le-ar avea un utilizator dacă ar manipula obiectul respectiv direct în ``lumea artificială''.
\begin{figure}\centerline{\epsfxsize=12cm\epsffile{haptic.eps}}\end{figure}

Utilizatorul poate urmări pe ecran (într-o simulare grafică) rezultatele acțiunilor sale, și poate simți prin intermediul manetei coliziunile, vibrațiile, frecarea, etc. În figura 9 de exemplu, utilizatorul primește senzația frecării celor doua suprafețe și a vibrațiilor produse la introducerea obiectului în locașul pătrat.

Interfețele haptice sunt folosite în general pentru antrenarea în acțiunile în care coordonarea între mîini și sistemul vizual este crucială: de exemplu chirurgie sau pentru manevre în imponderabilitate.

Elicopterul autonom:
este unul dintre proiectele cele mai ambițioase ale Institutului de Robotica, care constă în realizarea unui elicopter capabil de a zbura complet autonom, fără pilot sau telecomandă. Aplicațiile unui astfel de elicopter sunt evidente: aproape orice misiune pe care un elicopter ar putea-o realiza dar care ar pune în pericol viața piloților (salvare, spionaj, inspectare vizuală a barajelor, liniilor de înaltă tensiune, etc.) ar putea fi executată de un elicopter autonom, care poate naviga și executa misiunea sub controlul calculatorului.

Anual se desfășoară o competiție în care echipe din întreaga lume își compară elicopterele autonome, pe care CMU se mîndrește a o fi cîștigat anul trecut. Elicopterul (de mărime redusă, produs inițial pentru împrăștierea pesticidelor prin zbor telecomandat) poate decola, ateriza și naviga complet autonom, iar în cadrul competiției a fost capabil de a executa zbor la punct fix în condiții de vînt și de a recupera un mic obiect metalic de pe sol cu ajutorul unei macarale magnetice. Demonstrații cu adevărat impresionante și detalii ale concursului sunt disponibile on-line la http://www.cs.cmu.edu/afs/cs/project/chopper/www/

Ceea ce face acest proiect deosebit de dificil este că nu exista o stare de echilibru stabil: odată în zbor, dacă ceva nu funcționează perfect, elicopterul nu se poate opri și aștepta ajutor, ca în cazul roboților ``clasici''. Un eșec de genul acesta este echivalent cu pierderea întregului aparat, suficient de costisitor. Pentru a reduce probabilitatea unor astfel de catastrofe, s-a încercat reducerea pe cît posibil unor sisteme critice unice. De exemplu, pentru a-și menține nivelul orizontal în timpul zborului, elicopterul folosește inclinometre (două giroscoape care măsoară înclinația), cît și un sistem care extrage poziția elicopterului din imagini video. Pentru aprecierea distanțelor parcurse elicopterul folosește atît un sistem GPS, cît și un sistem vizual, care măsoară viteza pămîntului în imaginile luate, o cuplează cu altitudinea de zbor, și extrage o aproximație a vitezei reale.

Se lucrează în continuare atît la îmbunătățirea algoritmilor de control, cît și la aplicații; în prezent există un sistem care folosește telemetrie laser și stereoscopie pentru a alcătui din zbor o hartă 3D de foarte mare rezoluție.

Brațe:
poate cele mai bine cunoscute dispozitive de acțiune sunt brațele robotice. Toate acele brațe care execută cu o precizie uluitoare suduri, lipituri, montează motoare și alte componente în fabricile de automobile sunt cele care au introdus termenul de ``robotica'' în industrie. Un braț nu este nimic altceva decît un ansamblu de motoare și articulații care pot fi controlate de către un calculator. Principalele caracteristici ale unui braț sunt numărul de grade de libertate, forțele și cuplurile maxime la fiecare încheietură a robotului și precizia cu care poate fi localizată fiecare încheietură. În orice caz, puterea unui astfel de braț vine din programul de planificare care nu este deloc trivial: calculele necesare pentru a alege o traiectorie optimă pentru diferitele operații au o complexitate foarte ridicată.

Mîini și picioare artificiale:
în final, să nu uităm că aproape toate uneltele și facilitățile disponibile la ora actuală au fost concepute pentru a fi utilizate de către oameni. Pentru ca un robot sa poate înlocui oamenii în anumite situații el trebuie sa fie capabil sa mînuiască uneltele așa cum sunt ele (de exemplu, roboții trebuie să fie capabili să urce și să coboare pe scări).

Deși există foarte multe proiecte în lume care se concentrează asupra realizării roboților umanoizi, se pare ca firma japoneza Honda are un avans considerabil față de alți competitori. Ei au construit deja un robot umanoid care arată aproape exact ca un cosmonaut într-un costum etanș. Deși robotul este capabil să pășească și să urce scări, există încă probleme imense: sistemul de viziune -- extrem de ambițios -- va necesita încă ani buni de cercetare pentru a deveni capabil să extragă informații din mediul înconjurător cu viteza și precizia necesară.

Într-un alt proiect, sponsorizat de NASA, s-a realizat un ``bust'' umanoid care va lucra în spațiu, în exteriorul navetei spațiale. Proiectul a construit deja o mînă artificială cu 19 grade de libertate: tot atîtea cît o mînă umană! Puneți la socoteală faptul ca ``mîna'' poate exercita o forță incredibilă și că are suficient de multă precizie pentru a desface șuruburi mai mici de un centimetru fără unelte, și veți avea o idee despre minunăția electro-mecanică de care vorbim.

Un exemplu: manipulare dinamică.

Dacă vedem deplasarea dintr-un loc într-altul ca pe o succesiune de puncte, atunci găsirea unei traiectorii este o problemă de planificare. Dacă putem la socoteală și faptul că o mașină nu poate coti la unghi drept, ci trebuie să ia curbe, și faptul ca viteza nu-ți permite să iei o curbă oricît de strînsă, avem de-a face (așa cum am văzut) cu o problemă mai complicată, de control. Dacă însă vrem să manipulăm obiecte în mișcare rapidă (de exemplu obiecte aruncate), atunci avem de-a face cu o problemă și mai complicată, a manipulării dinamice.

Puteți vedea mai multe variațiuni pe această temă în felurite proiecte; profesorul Matt Mason, un jongleur amator foarte priceput, își propune să construiască roboți capabili să ``jongleze''.

Figura 10: În acest exemplu, un robot cu un singur grad de libertate aruncă un cub în aer în așa fel încît să se rotească în aer fie cu 90, fie cu 180, fie cu 360 de grade.
\begin{figure}\centerline{\epsfxsize=5cm\epsffile{arunca.eps}}\end{figure}

Aceasta este o problemă deosebit de dificilă de planificare într-un spațiu continuu și de teorie a controlului: robotul știe doar ecuațiile fizicii (accelerația gravitațională, legile lui Newton, etc.) și parametri proprii (viteza cu care-și poate mișca brațul, inerția, etc.). Robotul trebuie să planifice cum să arunce, împingă, susțină, încline, lovească, etc. un obiect pentru a-l aduce într-o poziție dorită.

Exemplu: vehicule autonome.

Unul dintre proiectele cele mai faimoase este Navlab:
http://www.ri.cmu.edu/labs/lab_28.html. Scopul proiectului este de a dezvolta mașini autonome, care pot conduce pe autostradă fără intervenție umană (problema condusului prin oraș depășește adesea chiar și capacitatea omului, așa că este o temă de cercetare viitoare). O demonstrație a reușitei a fost turneul ``no hands accross America'', în care un vehicul autonom a parcurs Statele Unite de la este la vest, 4000 de kilometri, cu intervenție umană minimă (98,2% din timp vehiculul a condus singur), la o viteză de pînă la 140 km/h! Mașina schimba chiar și banda de una singură.

Un proiect de genul Navlab îmbină laolaltă extrem de multe tehnologii diferite. Ideal este ca, deși fiecare din tehnologii este imperfectă, combinația lor să fie mai robustă decît fiecare în parte. Vehiculele folosesc multe tipuri diferite de senzori: GPS pentru poziție, radare pe unde ultrascurte și lasere în infraroșu (pentru detecția obstacolelor), camere de filmat stereoscopice cu trei și cinci obiective (pentru urmărirea șoselei), algoritmi cu rețele neurale pentru urmărirea șoselei, algoritmi de control dinamic pentru calculul frînării, accelerației, schimbării de direcție, și multe alte tehnologii.

Rezultatele proiectului sunt evaluate de firma Toyota pentru construirea unor sisteme automate de prevenire a ieșirii din șosea (în fiecare an 3000 de accidente în Statele Unite sunt produse de somnul la volan).

Alte surse de informație

Trebuie să oprim aici înșiruirea de informații, care ar putea continua pe întreg conținutul revistei. Oferim cititorului interesat, ca punct de pornire, cîteva cîteva adrese pe web unde se pot găsi informații despre robotică:

http://www.ri.cmu.edu: Institutul de Robotică al universității Carnegie Mellon. Această pagină are legături la peste o sută de proiecte ale institutului, precum și spre multe alte informații.

http://www.frc.ri.cmu.edu/robotics-faq/: Întrebări frecvente despre roboți (Robotics FAQ). Documentul pare cam învechit (ultima modificare este aparent în 1996), dar nu am găsit unul mai recent pe Internet.

http://www-robotics.cs.umass.edu/robotics.html: Resurse Internet despre roboți: o colecție de legături spre informații utile despre robotică, începînd cu programe educaționale, trecînd prin industrie și terminînd cu jucării.

http://www.cs.cmu.edu/~cil/vision.html: Pagina ``viziunii automate'' (Computer Vision): o colecție centralizată de informații despre percepție, prelucrare de imagine și viziune automată.

http://www.soundvisioninc.com/publications.htm: pentru mai multe detalii legate de procesul de funcționare al camerelor de filmat și digitizoarelor.

http://www.nuhorizons.com/Home/tech/newgps.html-ssi: pentru mai multe informații legate de sistemele GPS.

Despre autori

Cristian Dima tocmai a terminat primul an de doctorat în cadrul Institutului de Robotică al Universității Carnegie Mellon. Cercetarea lui este în domeniul ``computer vision'' , mai precis în cel al detecției obstacolelor folosind informații vizuale. Este membru al proiectului ``Automated Sprying'', care de ocupa de robotizarea unui tractor ce poate îndeplini în mod autonom diferite operațiuni agricole.

Mihai Budiu intră în această toamnă în al patrulea an de doctorat în cadrul Departamentului de Calculatoare al Universității Carnegie Mellon. Deși cercetarea sa este orientată în alte direcții, este profund fascinat de proiectele Institutului de Robotică, care-i dau adesea senzația că privește romane SF ieftine.



Note

... atorilor1
Îmi amintesc de un semn dintr-un laborator de fizică: ``Nu priviți în raza laser cu ochiul rămas''.
... civile2
Pînă de curînd sateliții GPS bruiau în mod intenționat semnalul pentru aplicațiile civile; acest bruiaj o fost încetat anul acesta.