cercetĂri asupra structurilor biologice...

20
4. SIMULAREA ŞI TESTAREA ÎNVĂŢĂRII RMI ÎN MEDII VIRTUALE 4.1 INTRODUCERE Programarea roboţilor prin învăţare offline, prin incertitudinile induse de funcţionare, modelare şi conducere, poate induce erori care, preliminar implementării în mediul real, pot fi reduse folosind tehnicile de simulare şi testare bazate pe tehnologii de realitate virtuală (RV). Procesul de simulare în medii virtuale este folosit cu succes în educaţie (platforme de învăţare pentru elevi [Ramaswamy, 1999; Tzafestas, 2006]), în industrie (aplicaţii în procesul de fabricaţie [Jahangirian, 2009], în robotică (aplicaţii de cinematică inversă) [Zachmann, 2000; Weber-Jahnke, 2009]) şi în divertisment [Colon, 2006; Booth 2007]. Spre deosebire de simulările grafice clasice, simulările în medii virtuale sunt superioare din punct de vedere calitativ, datorită folosirii unor interfeţe om-calculator care asigură operatorului stări perceptive de prezenţă, imersie şi interacţiune cvasireale [Or, 2009; Bărbuceanu, 2011a; Bărbuceanu, 2011b]. Din punctul de vedere al duratei de programare, folosirea mediilor şi proceselor virtuale conduce la reducerea acesteia, prin eliminarea timpilor care în programarea clasică se pierd cu setarea sistemelor adiţionale (de ex. perirobotice) ce nu au legătură directă cu algoritmul de programat [Johns, 2008]. Folosirea simulării şi testării virtuale elimină problemele legate de utilizarea concurentă a echipamentelor [Johnson, 2000; Haton, 2008], facilitând, pe de-o parte, instruirea utilizatorilor neexperimentaţi pentru a dezvolta aplicaţii diverse fără a fi constrânşi să respecte aspectele, uneori periculoase, induse de lucrul cu echipamente robotice în medii reale şi, pe de altă parte, permiţând familiarizarea offline cu echipamentele hardware şi modulele software specifice [Cioi, 2006]. Deşi simularea roboţilor în medii virtuale are avantaje evidente, există şi unele dezavantaje legate de imprecizia de reprezentare a realităţii, prezenţa zgomotelor în cazul măsurătorilor, utilizarea de modele virtuale incomplete [Morgan, 2008], sau, în cazul aplicaţiilor complexe, întârzieri ale proceselor în timp real [Zainan, 2009]. Un alt aspect mai puţin pozitiv este indus de complexitatea mărită a algoritmilor

Upload: dinhdung

Post on 20-Apr-2018

250 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: CERCETĂRI ASUPRA STRUCTURILOR BIOLOGICE ...mihai.duguleana.com/wp-content/uploads/2012/10/Cap-4.docx · Web viewPentru modelarea solidelor, în urma analizei produselor software

4. SIMULAREA ŞI TESTAREA ÎNVĂŢĂRII RMI ÎN MEDII VIRTUALE

4.1 INTRODUCERE

Programarea roboţilor prin învăţare offline, prin incertitudinile induse de funcţionare, modelare şi conducere, poate induce erori care, preliminar implementării în mediul real, pot fi reduse folosind tehnicile de simulare şi testare bazate pe tehnologii de realitate virtuală (RV). Procesul de simulare în medii virtuale este folosit cu succes în educaţie (platforme de învăţare pentru elevi [Ramaswamy, 1999; Tzafestas, 2006]), în industrie (aplicaţii în procesul de fabricaţie [Jahangirian, 2009], în robotică (aplicaţii de cinematică inversă) [Zachmann, 2000; Weber-Jahnke, 2009]) şi în divertisment [Colon, 2006; Booth 2007]. Spre deosebire de simulările grafice clasice, simulările în medii virtuale sunt superioare din punct de vedere calitativ, datorită folosirii unor interfeţe om-calculator care asigură operatorului stări perceptive de prezenţă, imersie şi interacţiune cvasireale [Or, 2009; Bărbuceanu, 2011a; Bărbuceanu, 2011b].

Din punctul de vedere al duratei de programare, folosirea mediilor şi proceselor virtuale conduce la reducerea acesteia, prin eliminarea timpilor care în programarea clasică se pierd cu setarea sistemelor adiţionale (de ex. perirobotice) ce nu au legătură directă cu algoritmul de programat [Johns, 2008]. Folosirea simulării şi testării virtuale elimină problemele legate de utilizarea concurentă a echipamentelor [Johnson, 2000; Haton, 2008], facilitând, pe de-o parte, instruirea utilizatorilor neexperimentaţi pentru a dezvolta aplicaţii diverse fără a fi constrânşi să respecte aspectele, uneori periculoase, induse de lucrul cu echipamente robotice în medii reale şi, pe de altă parte, permiţând familiarizarea offline cu echipamentele hardware şi modulele software specifice [Cioi, 2006].

Deşi simularea roboţilor în medii virtuale are avantaje evidente, există şi unele dezavantaje legate de imprecizia de reprezentare a realităţii, prezenţa zgomotelor în cazul măsurătorilor, utilizarea de modele virtuale incomplete [Morgan, 2008], sau, în cazul aplicaţiilor complexe, întârzieri ale proceselor în timp real [Zainan, 2009]. Un alt aspect mai puţin pozitiv este indus de complexitatea mărită a algoritmilor şi programelor de îmbunătăţire a realismului simulării şi percepţiei, fiind necesare adeseori procese de calibrare şi ameliorare pentru diverşi parametri [Sheridan, 2005].

Deşi au existat încercări multiple de a realiza simulări în medii virtuale cu roboţi ficşi şi mobili [Duffy, 1999; Monferrer, 2002; Ong, 2010], până în prezent nu au fost dezvoltate metodologii de programare şi de învăţare a roboţilor în medii industriale virtuale cu imersie totală, folosind spre exemplu, echipamente de tip CAVE (Cave Automatic Virtual Environment).

4.2 ECHIPAMENTE ŞI TEHNOLOGII DE RV

Realitatea virtuală este privită ca o reprezentare intermediară a realităţii, aflată la graniţa dintre reprezentarea la nivelul mental şi realitate, reprezentare care oferă utilizatorului nivele ridicate de imersie şi interacţiune în timp real, folosind modele computerizate ale lumilor reale şi/sau imaginare (fig. 4.1). Calitatea unei reprezentări cu tehnologiile RV se evaluează de operatorul uman prin cuantificarea senzaţiilor de imersie, interacţiune şi prezenţă.

Senzaţia de imersie se exprimă prin sentimentul operatorului de a fi în interiorul unui spaţiu virtual. Imersia, ca percepţie a lumii virtuale de către operator, se realizează prin intermediul interfeţelor, cu precădere, video şi audio.

Page 2: CERCETĂRI ASUPRA STRUCTURILOR BIOLOGICE ...mihai.duguleana.com/wp-content/uploads/2012/10/Cap-4.docx · Web viewPentru modelarea solidelor, în urma analizei produselor software

Fig. 4.3 Axa virtualitate-realitate

Fig. 4.1 Structura generală unui sistem de RV

Fig. 4.2 Interdependenţa dintre prezenţă, interacţiune şi imersie

Capitolul 4 98

Interacţiunea în mediile de RV este reprezentată de capacitatea utilizatorului de a modifica mediul virtual şi de a primi feedback din partea acestuia. Capacitatea de interacţiune dă nivelul de realism al unei procesări virtuale.

Prezenţa, ca senzaţie mentală de a exista într-un spaţiu, este legată de implicarea utilizatorului, şi se bazează pe îmbinarea eficientă a senzaţiei de imersie cu cea de interacţiune (fig. 4.2) [Carrozzino, 2010]. Astfel, consecinţă a calităţii reprezentării mediului virtual precum şi a interfeţelor om-calculator folosite, se pot atinge nivele ridicate de prezenţă cu următoarele caracteristici: perspectivă dinamică legată de mişcările capului, stereoscopie, păstrarea dimensiunilor obiectelor virtuale în limita celor reale, randarea cu feedback haptic pentru o interacţiune îmbunătăţită, controlul audio, sinteza de stimuli olfactivi etc.

Spre deosebire de realitatea virtuală, în cazul realităţii augmentate sau virtualităţii augumentate (fig. 4.3), percepţia asupra lumii reale este mărită prin îmbogăţirea cu informaţii digitale generate pe calculator sau preluate din media (poze, video etc.). Conform taxonomiei acceptate pe plan mondial, axa realitate-virtualitate (fig. 4.3) este divizată în trei clase distincte de reprezentare (Realitate Augumentată, Virtualitate Augumentată, Realitate Virtuală), cu nivele descrescătoare de aproximare a realităţii [Milgram, 1994].

Tehnologiile RV actuale se personalizează, cu precădere, prin tipurile şi performanţele interfeţelor multimodale de intrare, de ieşire [Oviatt, 2002] şi de interacţiune. Interfeţele multimodale de intrare au rolul de a permite comunicarea operator-calculator pe mai multe căi decât cele folosite în mod tradiţional (tastatura şi mouse-ul). Printre căile de intrare implementate ca tehnologii de RV,se întâlnesc frecvent cele prin voce, tactile [Geldar, 1957], bazate pe gesturi sau mişcări ale capului şi corpului utilizatorului. Interfeţe multimodale de ieşire au scopul de a îmbunătăţii comunicarea clasică calculator-om, bazată spre exemplu pe imagini video proiectate pe display sau pe ecrane dedicate, pe sinteza audio sau pe feedback haptic.

Page 3: CERCETĂRI ASUPRA STRUCTURILOR BIOLOGICE ...mihai.duguleana.com/wp-content/uploads/2012/10/Cap-4.docx · Web viewPentru modelarea solidelor, în urma analizei produselor software

Fig. 4.4 Sistem CAVE cu imersie totală

a bFig. 4.5 Dispozitive de urmărire: a - optică de tip ART (Advanced Realtime Tracking) Track; b –

magnetică de tip Flock of Birds

Simularea şi testarea învăţării RMI în medii virtuale 99

Cele mai simple aplicaţii de RV sunt dezvoltate pe calculatoare obişnuite cu vizualizare pe monitoare clasice. Un punct slab al aplicaţiilor de RV destinate desktop-ului este slaba senzaţie de imersie. Pentru a se diminua acest dezavantaj, au fost dezvoltate platforme complexe de tip CAVE. În fig. 4.4 este prezentat sistemul CAVE din cadrul laboratorului de Realitate Virtuală şi Robotică al Universităţii Transilvania Braşov, care este construit din trei ecrane de proiecţie, în spatele cărora sunt afişte imagini cu ajutorul unor proiectoare de mare rezoluţie şi luminozitate. Utilizatorii acestui tip de echipament folosesc ochelari dedicaţi pentru recepţia imaginilor, care permit vizualizarea stereoscopică prin recompunere (stereo activ) sau prin polarizare (stereo pasiv). În cazul recompunerii stereo active, sunt proiectate 2 imagini în mod secvenţial pe fiecare perete în parte. În timp ce imaginile alternează continuu, la o frecvenţă de aproximativ 120Hz, lentilele stânga şi dreapta ale ochelarilor sunt capabile să devină succesiv opace sau transparente, sincronizat cu frecvenţa de proiectare a imaginilor. Astfel, creierul uman primeşte o succesiune rapidă de imagini percepute ca fiind simultane, apărând la nivel mintal senzaţia de profunzime. În cazul tehnologiei stereo pasive, ambele imagini sunt proiectate în acelaşi timp, dar prin intermediul unui sistem de polarizare cu filtre optice la nivelul ochelarilor, sunt recepţionate diferenţiat la

Page 4: CERCETĂRI ASUPRA STRUCTURILOR BIOLOGICE ...mihai.duguleana.com/wp-content/uploads/2012/10/Cap-4.docx · Web viewPentru modelarea solidelor, în urma analizei produselor software

Fig. 4.6 Markere de urmărire pasive

Capitolul 4 100

nivelul fiecărui ochi. Această tehnologie este folosită şi în cazul echipamentului CAVE din fig. 4.4, care a fost folosit pentru experimentele descrise în prezenta lucrare.

Pentru detectarea poziţiilor şi mişcărilor utilizatorilor, în procesele de comunicare prin mişcări ale corpului sau părţi ale acestuia (mâini, ochi, cap), sistemele RV sunt echipate cu dispozitive de urmărire bazate pe câmpuri magnetice [***b], procesare audio sau procesare video [Ipina, 2002]. Sitemul CAVE din fig. 4.4 este dotat şi cu dispozitive de urmărire optice de tip ARTtrack (Advanced Realtime Tracking; fig. 4.5a) ce utilizează surse de lumină în infraroşu [Lovell-Smith, 2009; ***c], precum şi cu dispozitive bazate pe câmpul eletromagnetic de tip Flock of birds (fig. 4.5b) [***b].

Dispozitivele de urmărire optică folosesc markere receptoare active sau pasive [Mehling, 2006] pentru a localiza poziţia ţintă. Markerele pasive sunt sfere cu suprafețe care reflectă lumina infraroşie şi apar ca nişte pete luminoase în imaginile camerelor de luat vederi (fig. 4.4 şi 4.6). Markerele active sunt bazate pe emiţătoare luminoase, în principal, de tip LED. Dezavantajul acestei tehnologii constă în faptul că fiecare ţintă cu markeri activi trebuie echipată cu circuite electrice de alimentare, fapt ce complică soluţia constructivă.

4.3 PACHETE SOFTWARE FOLOSITE PENTRU DEZVOLTAREA APLICAŢIILOR DE RV

Pornind de la faptul că mediile virtuale implică modelarea de scene complexe prin intermediul unor algoritmi ce presupun înlănţuirea mai multor module software, preliminar, se impune analiza următoarelor aspecte: tipurile sistemului de operare şi programelor folosite, costul licenţelor, uzabilitatea, flexibilitatea de interconectare, numărul versiunilor anterioare, precum şi suportul documentar disponibil. Pentru elaborarea aplicaţiilor de RV sunt necesare pachete software robuste, uşor de instalat, flexibile, cu precădere, bazate pe paradigma programării orientate pe obiecte, uşor reconfigurabile, capabile să fie utilizate în scenarii multiple.

Pentru modelarea solidelor, în urma analizei produselor software freeCAD, AutoCAD, NX, ProCAD, Solid Works, CATIA şi Pro/ENGINEER, s-au reţinut ca fiind adecvate pentru aplicaţiile de RV pachetele Solid Works şi CATIA [Toro, 2006]. Atât CATIA, cât şi SolidWorks, exportă modelele create în formate ce pot fi folosite pentru construirea de medii virtuale 3D în limbajele VRML/X3D sau COLLADA [Duguleană, 2010b]. Interpretarea modelelor solide transformate în format VRML se face cu pachetele de tip player video 3D precum Instant Player sau BS Contact.

Pentru dezvoltarea problemelor complexe de robotică virtuală (de cinematică inversă, detectarea coliziunilor etc.), fără a administra aspecte legate de controlul robotului, se pot utiliza pachetele software dedicate, Microsoft Robotics Developer Studio, Webots, Player Project, OpenRAVE etc. Acestea reduc timpul de programare şi efortul necesar pentru dezvoltarea experimentelor, prin implementarea directă de module suplimentare, cum ar fi spre exemplu Physics, Inverse Kinematics sau Collision Detection, precum şi prin punerea la dispoziție de modele de roboţi existenţi, comercializate în scopuri educaţionale sau comerciale.

Limbajul XVR este folosit frecvent în realizarea de aplicaţii de RV, în special cele care implică lucrul cu echipamente CAVE ce presupun ieşiri video de tip stereoscopic. Dată fiind o scenă 3D, precum şi poziţia şi orientarea capului utilizatorului, XVR este capabil să

Page 5: CERCETĂRI ASUPRA STRUCTURILOR BIOLOGICE ...mihai.duguleana.com/wp-content/uploads/2012/10/Cap-4.docx · Web viewPentru modelarea solidelor, în urma analizei produselor software

Fig. 4.7 Algoritmul general de dezvoltare a sistemului

Simularea şi testarea învăţării RMI în medii virtuale 101

distribuie imagini specifice separate către fiecare proiector în parte. XVR asigură o flexibilitate sporită, deoarece vizualizarea poate fi efectuată în orice browser web.

4.4 CONCEPŢIA ŞI DEZVOLTAREA PENTRU SIMULAREA ŞI TESTAREA ÎNVĂŢĂRII TRASEELOR DE NAVIGARE ŞI MANIPULARE

În fig. 4.7 este prezentat algoritmul general de dezvoltare a sistemului de RV, care are scopul de a simula şi testa sistemele de planificare prin învăţare a traseelor de navigare şi manipulare, PLAN-TN şi respectiv PLAN-TM, prezentate în cap. 3.

În cadrul primei etape, Generarea mediului virtual, se realizează modelele virtuale ale instalaţiilor şi obiectelor din mediul de lucru, cât şi modelul RMI, pornind de la modelele CAD generate folosind mediul CATIA. Tot aici sunt generate şi structurile de tip mesh, utilizând programul de editare 3DStudio Max, ce permite exportarea acestora într-un format favorabil utilizării lor atât în mediul de programare C++/OGRE, cât şi în XVR.

În etapa a doua, Implementarea sistemelor de planificare prin învăţare, sunt concepute şi elaborate pachete software care permit simularea şi testarea în RV a traseelor de navigare şi manipulare planificate prin învăţare.

Etapa a treia, Generarea controlerului virtual, are ca scop concepţia şi elaborarea unui pachet software în mediul MATLAB care să coordoneze operaţiile de poziţionare, de mișcare şi de coliziune ale obiectelor (inclusiv RMI) din mediile de RV, atât în cazul navigării, cât și în cel al manipulării.

Ultima etapă, Simularea şi testarea rezultatelor, presupune concepţia şi dezvoltarea de algoritmi de testare a traseelor planificate prin învăţare, evaluarea rezultatelor ce ţin de percepţia umană, a performanţelor din punct de vedere al timpilor de implementare şi de testare etc., precum şi a factorilor de ordin social (siguranţa în timpul experimentului, disponibilitatea subiecţilor etc.).

4.4.1 GENERAREA RMI VIRTUALI ŞI A MEDIILOR DE LUCRU VIRTUALE

4.4.1.1 MODELUL VIRTUAL AL RMI CU PLATFORMA POWERBOT ŞI MANIPULATORUL POWERCUBE

Pentru dezvoltarea experimentelor de testare a traseelor planificate prin învăţare a RMI care operează în medii reale şi virtuale, s-a folosit robotul mobil PowerBot, pe care este montat manipulatorul PowerCube (fig. 4.8a).

Folosind mediul CATIA, fiecare parte a robotului mobil PowerBot şi a braţului PowerCube a fost modelată separat, cu ajutorul modulului Part design, şi apoi modelele solide rezultate au fost asamblate, utilizând modulul Assembly Design. Dimensiunile constructive au fost reproduse cu acurateţe prin introducerea valorilor prezentate în manualul de utilizare şi măsurate pe modelul real [***a].

În fig. 4.8b este prezentat modelul CAD generat în CATIA. Modelele CAD obţinute sunt transformate în format VRML şi transferate în mediul C++/OGRE [Vajta, 2005]. Rezultatele obţinute sunt prezentate în fig. 4.8c și, respectiv, în fig. 4.8d.

Page 6: CERCETĂRI ASUPRA STRUCTURILOR BIOLOGICE ...mihai.duguleana.com/wp-content/uploads/2012/10/Cap-4.docx · Web viewPentru modelarea solidelor, în urma analizei produselor software

a b

c d

Fig. 4.8 Robotul mobil PowerBot/PowerCube: a – vedere generală a modelului real; b – modelul CATIA; c – modelul VRML; d – modelul în C++/OGRE

Capitolul 4 102

Deoarece sistemele de planificare a traseelor prin învăţare PLAN-TN şi PLAN-TM au fost implementate în mediul MATLAB, procesul de testare a acestora este conceput şi dezvoltat, de asemenea, în MATLAB, legătura cu mediul de RV fiind realizată cu ajutorul unui sistem de comunicare dedicat descris în subcap. 4.4.2.

În fig. 4.9b se prezintă modelul braţului robotic PowerCube realizat în MATLAB, în condiţiile următoarelor ipoteze simplificatoare: segmentele sunt reprezentate prin linii drepte; cuplele sunt reprezentate ca cercuri, penultima cuplă este dublă, conform configuraţiei simplificate pentru modelarea cinematică cu parametrii DH (v. subcap. 2.4.2.1.1); limitele de mişcare ale fiecărei cuple au fost alese, din motive de simplitate, ca fiind (-π, π), deşi specificaţiile din manualul PowerCube sunt uşor diferite.

Pentru implementarea în mediul MATLAB a sistemului de planificare prin învăţare, PLAN-TN, atributele şi funcţiile asociate robotului virtual sunt definite în fișierul de configurare structurat ierarhic, alături de atributele mediului de operare. Platforma mobilă folosită în experimentele de navigare în medii virtuale din această lucrare este modelată cu ajutorul unui vector cu 3 elemente (x , y ,θ)T, unde (x, y) sunt coordonatele carteziene, iar θ reprezintă orientarea robotului.

Entităţile, atributele, precum şi funcţiile de învăţare asociate platformei mobile virtuale sunt (tab. 4.1): coordonatele centrului platformei (x, y), raza cercului circumscris platformei (radius), componentele vx şi vy ale vitezei de deplasare (vel), tipul mişcării (qmove, mişcare conform traseului planificat cu învăţare prin întărire cu sistemul PLAN-TN); reprezentare simbol (drawrob, pentru platforma robot); mișcarea de urmărire a entității cu labelul definit în atributul track (track); numărul de obstacole care inițiază starea de antrenare (capacity); distanța minimă de la care robotul ar trebui să ia decizii de evitare de obstacole (dmin); rata de de învățare a funcţiei Q (gamma), funcția de coliziune (collrobot, detectează coliziunea dintre

Page 7: CERCETĂRI ASUPRA STRUCTURILOR BIOLOGICE ...mihai.duguleana.com/wp-content/uploads/2012/10/Cap-4.docx · Web viewPentru modelarea solidelor, în urma analizei produselor software

a bFig. 4.9 Modelarea manipulatorului PowerCube: a – modelul simplificat în MATLAB suprapus

peste modelul real; b - modelul simplificat în MATLAB

Simularea şi testarea învăţării RMI în medii virtuale 103

robot și obstacolele din mediu), funcția de creare a robotului (mkrobot) (v. anexa 1).Pentru implementarea în mediul virtual 3D, robotul este definit ca un nod cu mai mulți

copii (funcţia children), după cum rezultă şi din procesul de exportare din CATIA (alg. 4.1). Astfel, robotul poate fi reprezentat în mediul de operare în orice moment, fie că este cazul implementării în MATLAB sau VRML.

4.4.1.2 MODELAREA MEDIILOR DE LUCRU Mediile reale de lucru a roboţilor mobili, inclusiv cele industriale, conţin obstacole

care, de cele mai multe ori, au forme neregulate şi dimensiuni diverse, putând fi statice sau dinamice. Deoarece activitățile RMI sunt frecvent împărțite în 2 categorii, deplasare și manipulare, și procesul de modelare a mediilor virtuale se face separat, pentru navigare și, respectiv, pentru manipulare.

4.4.1.2.1 MODELAREA MEDIILOR VIRTUALE DE NAVIGARE

Modelarea mediului de lucru în MATLAB este realizată cu ajutorul unui fișier de configurare structurat ierarhic, pe 2 nivele. În cadrul acestui fișier sunt definite entităţi prin intermediul unor atribute distincte. Entităţile de bază şi atributele asociate sunt (tab. 4.2): zona de operare – rezoluția (res), lungimea (len), lăţimea (wid); ţinta sau obstacolul – coordonatele centrului (pos), raza (radius), viteza (vel), tipul mişcării (velmove – rectilinie uniformă, rndmove – aleatorie, sinemove – sinusoidală, trackmove – de urmărire a unei entități); reprezentare simbol (drawcir – pentru cerc, drawsq – pentru pătrat).

Tab. 4.1 Exemple de definire a parametrilor asociaţi robotuluiExemplu de definire a atributelor platformei Exemplu de definire robot în VRML

[robot] pos: [70 50] radius: 49.5 capacity: 1 draw: drawrob vel: [5 5] move: qmove train: 1 track: t coll: collrobot create: mkrobot dmin: 100 gamma: .9

DEF robot Transform {

scale 0.0025 0.0025 0.0025translation -7.2 -0.26 8.9rotation 1 0 0 -1.5707963children [

... ]

}

Page 8: CERCETĂRI ASUPRA STRUCTURILOR BIOLOGICE ...mihai.duguleana.com/wp-content/uploads/2012/10/Cap-4.docx · Web viewPentru modelarea solidelor, în urma analizei produselor software

a b

Fig. 4.10 Mediul virtual: a – 2D (MATLAB); b – 3D (VRML)

Capitolul 4 104

În anexa 1 se prezintă codul sursă de configurare a mediului de operare din fig. 4.10a (Workspace config file) care, transformat în VRML, conduce la mediul virtual de operare 3D din fig. 4.10b.

Tab. 4.2 Exemple de definire a caracteristicilor entităţilor din mediul de operareZona de operare Ţinta Obstacol

[workspace] res: 3 len: 720 wid: 800

[target] pos: [600 570] radius: 10 vel: [0 0] move: velmove draw: drawcir

[obstacle] pos: [500 400] radius: 35.35 vel: [0 0]

move: velmove draw: drawsq

Alg. 4.1 Generarea mediului virtual 3D în VRMLDEF GridLocation Transform {

translation 1.315 -1.143 0.3children [ ... ] }

DEF cub1 Transform {translation 3.56 -0.55 0.38rotation 1 0 0 -1.5707963 children [

Shape{

appearance Appearance {

material Material {

diffuseColor 0.8 0.8 0.8 ambientIntensity 0.2 emissiveColor 0.0 0.0 0.0 specularColor 0.0 0.0 0.0 shininess 0.2 transparency 0.0

}}geometry Box {size 1.2 1.2 1.2}

}

] }

Page 9: CERCETĂRI ASUPRA STRUCTURILOR BIOLOGICE ...mihai.duguleana.com/wp-content/uploads/2012/10/Cap-4.docx · Web viewPentru modelarea solidelor, în urma analizei produselor software

a b

Fig. 4.11 Mediul virtual de operare în MATLAB Fig. 4.12 Detectarea coliziunilor folosind metoda „sphere covering”

Fig. 4.13 Modelul geometric al coliziunii cu metoda „sphere covering”

Simularea şi testarea învăţării RMI în medii virtuale 105

4.4.1.2.2 MODELAREA MEDIILOR VIRTUALE DE MANIPULARE

Pentru experimentele în mediile de RV, în scopul eliminării cazurilor speciale, precum şi din motive de simplitate pentru acest studiu, s-au definit 3 clase de obstacole care pot fi asociate unor utilaje tehnologice, echipamente periferice, depozite etc. Pentru configurarea acestor obstacole, se utilizează un program de generare ce conţine parametrii de descriere. Obstacolele generate pot fi de tip (fig. 4.11): sferă, cu parametrii coordonatele centrului x, y, z şi raza r; paralelipiped, cu parametrii coordonatele unui vârf x, y, z şi dimensiunile (lungime, lăţime şi înălţime); cilindru, cu parametrii coordonatele centrului unei baze x, y, z, raza cercului r şi înălţimea h. Obstacolele sunt modelate în MATLAB deoarece atributele acestora trebuie să se coreleze cu controlerul virtual de mişcare a braţului, de asemenea implementat prin funcţii MATLAB.

Cel mai important aspect al etapei de modelare a operării robotului în mediul de lucru îl reprezintă conceperea şi implementarea algoritmului de detectare a coliziunilor care are la bază metoda sphere covering. Acesta presupune reprezentarea fiecărui obiect virtual sub forma unui set de sfere cu centrele pe frontierele obiectelor virtuale şi pe segmentele robotului virtual (fig. 4.12). În timpul mişcărilor robotului, se fac verificări pentru a se preveni ciocniri între seturile de sfere (distanţa dintre oricare 2 cercuri aparţinând unor seturi diferite trebuie să fie mai mare decât suma razelor lor – O1O2>R1+ R2 (fig. 4.13)).

Procesul de grupare (clustering) pe seturi de sfere se realizează în MATLAB, cu ajutorul algoritmului statistic k-means [Ar, 2000]. Numărul de clustere este ales pe baza dimensiuni lumii virtuale. Deoarece această abordare nu este în mod normal afectată de problemele clasice ale metodei k-means, algoritmul propus reîncearcă separarea, în cazul unei eventuale erori, ignoră lipsa convergenţei şi are un număr redus de iteraţii.

Succesiunea secvenţelor algoritmului de detectare a coliziunilor reprezentate la nivel de pseudo-cod este prezentată în alg. 4.2 care este implementat în MATLAB în funcţia sphereupd (v. anexa 2). În primă fază, această funcție detectează tipul obiectului care se doreşte a fi updatat (nou introdus în spaţiul de lucru). În funcţie de aceasta, se execută condiţia sphere covering, reţinându-se totodată coordonatele centrelor sferelor, precum şi raza acestora, care este generată dinamic, în funcţie de numărul de sfere folosit, mărimea obiectului de acoperit precum şi mărimea spaţiului de lucru. Folosind funcţia k-means, se generează setul de clustere în care se urmăreşte detectarea coliziunilor, utilizând funcţia Check_collision.

Page 10: CERCETĂRI ASUPRA STRUCTURILOR BIOLOGICE ...mihai.duguleana.com/wp-content/uploads/2012/10/Cap-4.docx · Web viewPentru modelarea solidelor, în urma analizei produselor software

Capitolul 4 106

4.4.2 CONTROLERUL VIRTUAL DE CONDUCERE A PROCESELOR DE SIMULARE ŞI TESTARE

Pentru realizarea unei legături între robotul virtual ce operează în mediul de lucru virtual (sau sistemul de conducere al robotului real) şi sistemele de învăţare PLAN-TN şi PLAN-TM, a fost conceput un controler virtual cu arhitectura prezentată în fig. 4.14 [Duguleană, 2010b]. Prin intermediul acestuia, după generarea traseelor de navigare, respectiv, a celor de manipulare, datele şi cunoştinţele procesate sunt transpuse în final în mişcări în mediul virtual sau real.

Controlerul virtual propus face practic legătura între cele 2 module programate în C++/OGRE & XVR, şi respectiv în MATLAB. Modulul software C++/OGRE (sau echivalentul acestuia în VRML sau în XVR) se ocupă de partea de grafică. Acesta accesează datele de input care conţin informaţii de configurare referitoare la mediu şi robot. Folosind o conexiune de date TCP/IP (partea de comunicaţie), modulul software comunică cu sistemele PLAN-TN şi PLAN-TM dezvoltate în MATLAB. Pe lângă aspectele de tip constructiv, acest modul poate exporta datele legate de testare în CAVE, respectiv la alte dispozitive folosite în VHRI (Virtual Human-Robot Interaction) și HRI. Comunicarea este realizată prin TCP/IP, deoarece nu este posibilă crearea unei biblioteci partajate C++ folosind compilatorul MATLAB, directivele specifice de reţele neuronale neputând fi compilate. Utilizarea MATLAB Engine pentru a apela direct fişierele M-file este o abordare nepotrivită pentru proiecte mari, din cauza complexității și a numărului mare de fișiere ce trebuie compilate.

Alg. 4.2 Funcţia sphererupdfuncţia sphereupd (workspace, object){

// parametrii de intrare sunt spaţiul de lucru şi obiectul care se doreşte a fi updatat<IF object este Sphere>{

//obiectul e deja o sferă}<ELSE IF object este Paralelogram>{

Normă = Paralelogram.Lungime / Workspace.Rezoluţie;Număr_Sfere = Pondere1 * Normă;Rază_Sfere = Pondere2 * Workspace.RezoluţieCoordonate = Reţine_coordonate(object, Număr_Sfere,

Rază_Sfere);}<ELSE IF object este Cilinder>{

Normă = Cilinder.Lungime / Workspace.Rezoluţie;Număr_Sfere = Pondere1 * Normă;Rază_Sfere = Pondere2 * Workspace.Rezoluţie

Coordonate = Reţine_coordonate(object, Număr_Sfere, Rază_Sfere);}<ELSE>{

Get_coordinates(object);Place_spheres();

}Clustere = K-Means(Coordonante, Workspace.Coordonate);Check_collision(Clustere);

}

Page 11: CERCETĂRI ASUPRA STRUCTURILOR BIOLOGICE ...mihai.duguleana.com/wp-content/uploads/2012/10/Cap-4.docx · Web viewPentru modelarea solidelor, în urma analizei produselor software

a bFig. 4.15 Scena virtuală de navigare: a – reprezentare în MATLAB; b – reprezentare cu VRML

Fig. 4.14 Arhitectura controlerului virtual de conducere a proceselor de simulare şi testare în RV

Simularea şi testarea învăţării RMI în medii virtuale 107

Conform fig. 4.14, modulul software MATLAB realizează detecţia coliziunilor, generează traseele/traiectoriile necesare evitării de obstacole şi trimite datele calculate, prin TCP/IP, la receptorul din modul C++/OGRE & XVR.

În fig. 4.15 este prezentată scena virtuală de simulare şi testare a navigării după trasee planificate prin învăţare cu sistemul PLAN-TN, realizată în mediul MATLAB şi respectiv, cu VRML. În acest caz, legătura TCP/IP este realizată în baza unui script client C++ care primește datele de la programul în MATLAB și comunică cu programul în VRML.

În fig. 4.16a se prezintă scena virtuală de simulare şi testare a manipulării după trasee planificate prin învăţare cu sistemul PLAN-TM, realizată în mediul MATLAB. În această scenă virtuală se observă un obstacol cilindric (definit în fişierul de configurare a obstacolelor, folosind parametrii x, y, z, raza şi înălţimea), precum şi reprezentarea virtuală simplificată a manipulatorului PowerCube. Mediul virtual 3D (fig. 4.16b) a fost realizat în limbajul C++, folosind motorul grafic OGRE.

Page 12: CERCETĂRI ASUPRA STRUCTURILOR BIOLOGICE ...mihai.duguleana.com/wp-content/uploads/2012/10/Cap-4.docx · Web viewPentru modelarea solidelor, în urma analizei produselor software

a b

Fig. 4.16 Scena virtuală de manipulare reprezentată în planele XY şi YZ: a – reprezentare în MATLAB; b – reprezentare în C++/OGRE

Capitolul 4 108

Programul principal de conducere în mediile C++/VRML are la bază schema din fig. 4.17a, iar programul de conducere în mediile C++/OGRE, pe cea din fig. 4.17b. Spre deosebire de cazul VRML, deoarece OGRE este o librărie integrată în C++, nu mai este nevoie de o apelare de scripturi din afara programului.

Mediul XVR oferă pe lângă comunicaţia clasică tip server-client, posibilitatea folosirii unei librării dinamice sau a unei comunicări socket pentru a primi date. Programul dezvoltat în XVR pentru utilizarea echipamentului CAVE (fig. 4.18), are schema din fig. 4.17c. Folosind playerul video BSContact, scena descrisă este trimisă în mod de vizualizare stereo către CAVE.

4.4.3 TESTAREA TRASEELOR PLANIFICATE PRIN ÎNVĂŢARE ŞI EVALUAREA REZULTATELOR

Experimentele efectuate în mediile virtuale au fost concentrate pe simularea şi testarea traseelor de navigare şi manipulare generate cu sistemele de planificare prin învăţare, PLAN-TN şi PLAN-TM. Testarea acestor trasee constă în urmărirea vizuală a deplasării robotului mobil în mediul virtual, evidenţierea coliziunilor cu obstacole şi modificarea traseelor în acest caz. Această operaţie se a fost realizată atât în cazul vizualizării pe desktop, cât şi în cazul folosirii echipamentului CAVE.

Page 13: CERCETĂRI ASUPRA STRUCTURILOR BIOLOGICE ...mihai.duguleana.com/wp-content/uploads/2012/10/Cap-4.docx · Web viewPentru modelarea solidelor, în urma analizei produselor software

a b cFig. 4.17 Schema bloc a programului de conducere a – în mediile C++/VRML; b - în mediile

C++/OGRE ; c - în XVR

Fig. 4.18 Experimentul de VHRI, dezvoltat în CAVE

Simularea şi testarea învăţării RMI în medii virtuale 109

Traseele de testat, preluate prin intermediul interfeţei descrise mai sus, sunt trimise prin partea de comunicaţie către modulul software C++/OGRE/VRML/XVR. Spre exemplu, traseului din fig. 4.19a generat cu sistemul PLAN-TN şi asociat mediului virtual din fig. 4.15a, îi corespunde scena virtuală 3D (C++/VRML) prezentată în fig. 4.19b, care este construită prin suprapunerea a 20 de imagini. Pentru obţinerea unei traiectorii netede, coordonatele calculate de sistemul PLAN-TN sunt interpolate. Etapa de validare a traseului simulat atât la nivel desktop, cât şi în cadrul CAVE, constă în urmărirea corectitudinii acestuia, din punct de vedere al coliziunilor, al constrângerilor de ordin fizic şi mecanic ale robotului şi din perspectiva navigării în siguranţă.

În mod asemănător, traseele generate de algoritmul PLAN-TM sunt transpuse în mediul virtual prin interpolarea setului valorilor coordonatelor robot (cele 6 unghiuri ale cuplelor braţului robot). Parcurgerea acestor trasee, pentru simulare şi testare în medii virtuale pe desktop sau în CAVE (fig. 4.18), evidenţiază procesul de manipulare, cu luarea în considerare a interacţiunilor cu obiectele virtuale din mediu; spre deosebire de cazul navigării,

Page 14: CERCETĂRI ASUPRA STRUCTURILOR BIOLOGICE ...mihai.duguleana.com/wp-content/uploads/2012/10/Cap-4.docx · Web viewPentru modelarea solidelor, în urma analizei produselor software

a bFig. 4.19 Testarea traseelor de navigare: a – traiectoria generată de PLAN-TN şi vizualizată în

MATLAB; b – traseul virtual generat cu modulul C++/VRML

Capitolul 4 110

în timpul manipulării se evidenţiază coliziunile dintre elementele braţului robot şi obiectele din mediu.

4.5 CONCLUZII

În prima parte a acestui capitol se prezintă metodologia de dezvoltare a unui sistem de RV integrat pe baza căruia se realizează simularea şi testarea funcţionării algoritmilor de planificare prin învăţare a traseelor de navigare şi manipulare, precum şi a rezultatelor obţinute cu sistemele PLAN-TN şi PLAN-TM (v. cap. 3). Astfel, în urma modelărilor CAD transpuse în format VRML și în medii de programare precum C++ şi XVR, au fost generate medii virtuale 3D precum şi structurile virtuale ale platformei PowerBot şi manipulatorului PowerCube. În acest capitol este prezentat detaliat procesul de modelare CAD, modul de lucru pentru fiecare din mediile C++/OGRE, C++/VRML şi XVR precum şi interfaţarea acestor medii cu sistemele PLAN-TN şi PLAN-TM implementate în MATLAB, folosind un sistem de comunicare. Metodologia de dezvoltare a sistemului de RV presupune parcurgerea succesivă a următoarelor etape: generarea mediului virtual, implementarea sistemelor de planificare prin învăţare, generarea controlerului virtual şi simularea şi testarea rezultatelor.

În cadrul etapei de generare a mediului virtual, sunt modelate obstacolele din scenele de lucru folosite pentru deplasare şi manipulare. Pentru algoritmul PLAN-TN, detecţia obstacolelor se face cunoscându-se coordonatele carteziene în spaţiul 2D ale robotului şi obstacolelor. Pentru evitarea obstacolelor în cazul operării algoritmului PLAN-TM, este propus un algoritm de clusterizare a mediului virtual de manipulare care foloseşte tehnicile sphere covering şi k-means. Acest algoritm asigură evitarea coliziunilor în timpul manipulării.

Legătura dintre sistemele de planificare prin învăţare elaborate în cap. 3 şi sistemul RV este realizată folosind o comunicare TCP/IP de tip server-client, între programele elaborate în MATLAB şi cele elaborate în C++/OGRE sau C++/VRML, prin intermediul controlerului virtual de conducere. Tot aici, pentru obţinerea datelor referitoare la poziţia mâinii utilizatorului din CAVE, a fost construită o legătura UDP între MATLAB şi XVR.

În cadrul ultimei etape, Simularea şi testarea rezultatelor, s-au dezvoltat teste pornind de la scenariile adoptate pentru verificarea algoritmilor din cap. 3. Astfel, prin generarea mediilor virtuale cvasi-apropiate de cele reale, generarea traseelor virtuale planificate prin învăţare şi urmărirea în mediul virtual a acestor trasee, s-au evidenţiat cu acurateţe coliziunile cu obstacolele din mediu, precum şi calitatea soluţiilor. În plus, se permite ajustarea traseelor, în cazul apariţiei coliziunilor.