340 likes | 528 Views
Curs 2. Interactiunea Site: mihai.duguleana.com. Interactiunea in medii virtuale. Tipuri de interactiune: Direct ă : utilizatorul interactioneaza direct cu mediul virtual Mediat ă : utilizatorul interactioneaza cu mediul virtual printr-un avatar (Second Life) First person (“Quake-like”)
E N D
Curs 2 Interactiunea Site: mihai.duguleana.com
Interactiunea in medii virtuale • Tipuri de interactiune: • Directă: utilizatorul interactioneaza direct cu mediul virtual • Mediată: utilizatorul interactioneaza cu mediul virtual printr-un avatar (Second Life) • First person (“Quake-like”) • Third person (“Tomb Raider – like”) • Interactiunea cu ajutorul hardware-ului: • CAVE: directă • HMD: mediată, first person • Monitor: mediată - first/third person
Interactiunea Mediul virtual Position/Orientation information: Head Hands … CANALEINERZIALE CANALEVISIVO CANALEACUSTICO CANALEAPTICO Utilizator
SW modules of tracking and data acquisition Tracking and motion capturedevices Interactiunea Mediul virtual CANALEINERZIALE CANALEVISIVO CANALEACUSTICO CANALEAPTICO Interaction Utilizator
Tracking • Pentru a interactiona cu mediul virtual, noi (cei care realizeaza un program de realitate virtuala) avem nevoie de pozitia absoluta si de orientarea utilizatorilor • Spre exemplu, stiind pozitia/orientareacapului, putem updata in mod constant viewpoint-ul utilizatorului in VE. • Stiind pozitia/orientareadegetelor, putem detecta daca utilizatorul interactioneaza cu obiectele virtuale • Stiind postura(joint angles) corpului utilizatorului, putem anima avatare (motion capture) – Xbox Kinect • Trackerelesunt alcatuitedin: • Senzori de achizitie – masoara in timp real anumite valori • Elementul de procesare care primeste datele de la senzori si calculeaza valorile dorite
Exemplu tracker Head position(real) Volt Head position(calculated)[x,y,z]
Tipuri de trackere • Trackere: • Mecanice • Acustice • Optice • Magnetice • Inertiale • Mixte
Trackerideal • Tracker-ul ideal ar trebui sa aiva urmatoarele caracteristici: • Precizie • Repetabilitate • Frecventa mare de achizitie • Latenta scazuta • Greutate mica / Cat mai putin “stanjenitoare” • 6-DoF*: 3 pozitie + 3 orientare • Robustete • Fenomenul shaddowing
Trackere mecanice • Măsoară valori prin brațe mecanice (links) legate între ele prin cuple (joints), pentru a forma lanturi cinematice (chains) • Wearable or not • De obicei măsoara unghiurile dintre cuple. FK • Pot fi usor integrate in interfete (xo,yo)
Trackere mecanice: pro și contra • Pro: • Cel mai bun “approach” pentru o interfata • Fără shadowing, fără interferente • Precizie, latență scăzută • Contra: • Incomode, nu toate pot fi purtate. Trade-off precizie/comfort (posibile erori cinematice) • Greu adaptabile pentru utilizatori diferiti • Spatiu de lucru limitat • Calibrare • Inertia mecanismului mecanic
Trackere optice • Pot fi: • Active • (scaneazămediul folosind leduri, laser sau infrarosu) • Pasive(primesc informatii de la lumina ambientală)
Trackere optice Exemple: • Stereo Camere (pasive): • Inregistreaza imagini si le proceseaza pentru a calcula informatii 3D • Pro: nu sunt necesare componente aditionale, calculeaza forme, nu puncte • Contra: precizie scazuta, limitate software, cost, efectul de shaddowing • Detectie markere (active/pasive): • Camerele detecteaza markerelipite de utilizatori.Markerele pot fi active (LED, etc.) sau pasive (colorate cu vopsea reflectorizanta) • Pro: Precizie, multitarget, low invasiveness • Contra: Shadowing, spatiu de lucru limitat, cost, senzitivitatela reflexii (pasiv)
Trackere optice • Laser radar – Time of flight (active): • Measure the A/R time of flight of a laser ray and use triangulation to track the position • Pro: no encumbrance, wide WS • Contra: low-res, cost, shadowing • Infrared (active): • Cameras with infrared flashes • Marker made in retro-reflective materials:n >= 4 markers allow to track 6-DOF • Pro: Multi target, easy calibration, weight • Contra: shadowing, cost
Trackere magnetice • Configuratie de tip emitor/receptor • Emitatorulfix siproduce un camp magnetic, receptorul detecteaza acest camp. Prin masurarea campului electric indus este posibil calculul pozitiei/orientarii • Pro: cost, fără shadowing, precizie, multi target, mărimea relativ mică, folosit la scară largă • Contra: sensibil la câmpuri magnetice si obiecte metalice,precizia depinde de distanta E/R,Spatiu de lucru limitat de puterea emitatorului
Trackere magnetice Emitator BodyPack Senzor
Trackere acustice • Configuratie de tip emitor/receptor • Emitatorul produce ultrasunetecare sunt receptate de microfoane speciale. Time of flight => distanță • Triangulare => calculul 6-DOF • Pro: dimensiune, cost, distante mari • Contra: shadowing, latență, sensibile la zgomote
Trackere inerțiale • Măsoarăacceleratiamasei (accelerometre) or viteze angulare (giroscop). • Pozitie (a=d2s/dt2) • Orientare (w=dQ/dt) • Integrare -> probleme de drift (erori acumulate) • Pro: dimensiuni, fără shadowing, fără interferente, hi frequency • Contra: calibrare, drift
Trackere mixte • Es. Intersense – Fusion Mode • Sistem Mixt: • InertiaCubes (acc. + gir.) hi-fi • Ultrasounds low-fi • Măsurarea Ultrasunetelorpermite corectarea • diftului inerțial
Trackere mixte • Ex. Nintendo WII • Sistem mixt: • Infrarosu • (retine directia razei) • Accelerometre • (urmărește mișcarea) Emițător IR Senzor IR
Eye tracker • De ce: • Aplicatii (medicale, militare, studii de uzabilitate etc.) • Tehnologie: • Minimizarea benzii vizuale – reducerea informatiei periferice corespunzator limitelor perceptiei umane (de obicei sunt create 2 zone, Region of Interest (ROI) hi-res, zone periferică (lo-res) • b) Aplicatii avansate (Depth of Field)
Metafore de interactiune • Ce este o metafora? • Metaforele reproduc concepte, cunoscute de utilizator intr-un anumit context, pentru a transfera experienta acestuia intr-un nou context legat de executarea task-ului. • O metafora de interactiune buna trebuie sa fie: • Reprezentativa pentru task • Compatibilacu experienta utilizatorului • Compatibilacu, constrangerile de ordin fizic • Task-urile tipice din VR sunt: • - Navigara - Selectia - Manipularea
Metafore de navigare • 2DOF / 3DOF • Dispozitive 2/3Dof – mouse, joystick. Pentru a permite 6DOF cunt necesare comenzi (e.g., butoane pe aparat, GUI) • 6DOF • Metafore in care sunt controlate dispozitive cu 6DOF. • vehicol zburator (camera virtuală plasată pe un vehicol “virtual”condus de utilizator • Eyeball (tracker pe mana, camera virtuala este cuplata la miscarea mâinii) • Head tracker (camera virtualăcare folosește mișcările capului – în medii imersive) • TELEPORTARE: utilizatorul este teleportat la pozitia dorita (comenzi vocale sau selectie din lista)
Metafore de selectie In mod diferit fata de aplicatiile 2D, unde obiectele sunt manipulate in mod direct, aplicatile 3D au un grad aditional de complexitate (e.g. depth perception, occlusion issues, etc.) RAYCASTING: Folosit in mod curent. O raza virtuala este creata de la utilizator (cap, mana, etc), cel mai apropriat obiect virtual este selectat Pro: Easy to implement and to learn Contra: Sensibil la rotatii pe distante lungi (sol.: cone) Dificil de selectat obiectele ‘occluded’ SPEECH: selectează obiectul prin pronuntia numelui sau a carcteristicilor acestuia Pro: imediatăContra: obiectele au nevoie de nume unice, speech recognition LIST: selectare dintr-o lista
Metafore de manipulare Clasificate in:- esocentrice (vedere din exteriorul lumii virtuale)- egocentrice (operarela primapersoana) VIRTUAL HAND: Manipulare directă. O mana virtuala (unealta) este implementata in scena 3D scene si poate selecta obiectele intersectate. Odată selectate, aceasteamiscarile mainii virtuale sunt transpuse si obiectului. Pro: manipulare naturalăContra: unele obiecte nu sunt accesibile (in mod anatomic) HOMER (Hand-Centered Object Manipulation Extending Ray-Casting): Ray Casting + manipulare
mediile virtuale sunt realizate cu ajutorul unor programe specializate • algoritmi ce presupun înlănţuirea mai multor module software • sistemul de operare folosit, programele specifice folosite, costul licenţelor acestora, uzabilitatea acestora, posibilitățile de interconectare cu diverse dispozitive hardware sau documentația disponibilă offline sau online. • Este trivial faptul că este nevoie de pachete software robuste, uşor de instalat pe orice calculator, flexibile – pot fi interconectate cu alte software-uri, simplu de configurabile, și care să ofere posibilitatea utilizării în scenarii complexe. Software
Pentru modelarea solidelor, se pot alege produse software precum AutoCAD, Solid Works, CATIA şi Pro/ENGINEER. Programele care sunt cel mai aproape de necesitățile noastre sunt Solid Works şi CATIA. Atât CATIA, cât şi SolidWorks, oferă posibilitatea exportării modelelor create în formate ce pot fi folosite pentru construirea de medii virtuale 3D în limbajele VRML/X3D sau COLLADA. CATIA(Computer Aided Three Dimensional Interactive Application) este un software comercial de tip multiplatformă CAD/CAM/CAE dezvoltată de compania franceză Dassault Systemes. CATIA suportă mai multe etape ale dezvoltării unui produs, de la concepție, proiectare (CAD), fabricare (CAM), și analiză (CAE). Software
VRML/X3D (Virtual Reality Modeling Language) - format standard de fișier pentru reprezentarea de modele 3D și grafică vectorială interactivă, acest format fiind conceput spre a rula in aplicatii online. Un fișier VRML contine o colectie de obiectearanjateintr-o ordinedefinita de utilizator. Fiecareobiect virtual corespundeunuia real, cu urmatoarelecaracteristici: o formăspecifică, diverse proprietăți ale suprafețelor (culoare, masă, etc.), o pozițieși o orientareînspațiul tridimensional, sunet, lumini, caracteristici, șialtele. • Interpretareamodelelorsolide– playere BS Contact. Software
Pentru rezolvarea unor de probleme specifice de robotică virtuală (cinematică inversă, detecția coliziunilor, precum și a altor probleme care nu țin exclusiv de controlul robotului), - Microsoft Robotics Developer Studio, Webots, Player Project, OpenRAVE etc. • Reduc efortul necesar pentru dezvoltarea experimentelor, prin implementarea directă de module suplimentare, cum ar fi spre exemplu Physics, Inverse Kinematics sau Collision Detection. De asemenea, acestea oferă o gamă largă de modele de roboţi existenţi Software
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ă distribuie imagini specifice separate către fiecare proiector în parte. XVR asigură o flexibilitate sporită, deoarece vizualizarea poate fi efectuată în orice browser web. XVR oferă acces la 6 callback-uri fundamentale: • OnDownload(declansat la inceputulrulariioricaruiproiect) • OnInit(accesat la initializareaproiectului) • OnFrame(toatefunctiilesimetodele care au rezultatgrafic) • OnTimer(functiiindependente de calculul graphic, care necesita o latentamica) • OnEvent(accesatoricandproiectul produce un mesaj de origineexternăprogramuluisauinternăacestuia) • OnExit(accesat la terminareaprogramului).