Metody wirtualnej rzeczywistości

Podobne dokumenty
Lecture 18 Review for Exam 1

Sensory w WP7. Wykład 11 Sensory. GPS i mapa.

Piłką na platformach i przez teleporty. Andrzej P.Urbański Wydział Informatyki Politechnika Poznańska

Metody wirtualnej rzeczywistości w modelowaniu układów biomolekularych i nanoukładów.

SG-MICRO... SPRĘŻYNY GAZOWE P.103

MODEL MANIPULATORA O STRUKTURZE SZEREGOWEJ W PROGRAMACH CATIA I MATLAB MODEL OF SERIAL MANIPULATOR IN CATIA AND MATLAB

Instrukcja obsługi User s manual

Modelowanie Fizyczne w Animacji Komputerowej

DM-ML, DM-FL. Auxiliary Equipment and Accessories. Damper Drives. Dimensions. Descritpion

Instrukcja konfiguracji usługi Wirtualnej Sieci Prywatnej w systemie Mac OSX

Robot EPSON SCARA T3-401S

1d 18. 4a 4b 5 3d*** 4e*** 3b. 5a 5d. 5b 4c 8b 8g 3a. 8c ** 8n 9b 9e** 9a. 9p 9q* 9m 9o 9k 9d 9h 9 9j. 18a. 9r 9f. 1f 11b. 11c ** 1i* 11 11a 2b 10n

Warsztaty Ocena wiarygodności badania z randomizacją

Aby w pełni przetestować układ o trzech wejściach IN_0, IN_1 i IN_2 chcemy wygenerować wszystkie możliwe kombinacje sygnałów wejściowych.

Symulacja działania sterownika dla robota dwuosiowego typu SCARA w środowisku Matlab/Simulink.

Zarządzanie sieciami telekomunikacyjnymi

Kalibracja robotów przemysłowych

Zaawansowane Aplikacje Internetowe

Arca. Design: Ronald Straubel

USB firmware changing guide. Zmiana oprogramowania za przy użyciu połączenia USB. Changelog / Lista Zmian

Kompresja pamięci w jądrze Linuksa

start Program mikroprocesorowego miernika mocy generowanej $crystal = deklaracja

Serwomechanizm - zamknięty układ sterowania przemieszczeniem, o strukturze typowego układu regulacji. Wartość wzorcowa porównywana jest z

USB firmware changing guide. Zmiana oprogramowania za przy użyciu połączenia USB. Changelog / Lista Zmian

Aktualizacja Oprogramowania Firmowego (Fleszowanie) Microprocessor Firmware Upgrade (Firmware downloading)

Weronika Mysliwiec, klasa 8W, rok szkolny 2018/2019

Helena Boguta, klasa 8W, rok szkolny 2018/2019

Pomoc do programu konfiguracyjnego RFID-CS27-Reader User Guide of setup software RFID-CS27-Reader

Lecture 9: Teleoperation (implementation)

Extraclass. Football Men. Season 2009/10 - Autumn round

EXAMPLES OF CABRI GEOMETRE II APPLICATION IN GEOMETRIC SCIENTIFIC RESEARCH

Modelowanie i Wizualizowanie 3W grafiki. Łańcuchy kinematyczne

Testy jednostkowe - zastosowanie oprogramowania JUNIT 4.0 Zofia Kruczkiewicz

SZCZEGÓŁOWE CELE EDUKACYJNE

Electromagnetism Q =) E I =) B E B. ! Q! I B t =) E E t =) B. 05/06/2018 Physics 0

Podstawy fizyki. Wykład 2. Dr Piotr Sitarek. Instytut Fizyki, Politechnika Wrocławska

Wojewodztwo Koszalinskie: Obiekty i walory krajoznawcze (Inwentaryzacja krajoznawcza Polski) (Polish Edition)

PL/SQL. Zaawansowane tematy PL/SQL

Sterowanie, uczenie i symulacja robotów przemysłowych Kawasaki

KINEMATYKA (punkt materialny)

ZASTOSOWANIE METOD HAPTYCZNYCH W MODELOWANIU I ANALIZACH IN%YNIERSKICH

Contacts - obiekty stworzone przez Box2D do zarządzania kolizjami (zderzeniami) między dwoma fiksturami(różne fragmenty jednego ciała).

Heat Pump Manager (HPM)

POLITECHNIKA ŚLĄSKA WYDZIAŁ GÓRNICTWA I GEOLOGII. Roman Kaula

Oracle PL/SQL. Paweł Rajba.

Konfiguracja zdalna i sterowanie za pomocą Bluetooth (Android)

Camspot 4.4 Camspot 4.5

ANALIZA KINEMATYCZNA PALCÓW RĘKI

Wstęp do programowania 2

Dynamika mechanizmów

SQL 4 Structured Query Lenguage

OpenPoland.net API Documentation

Nazwa projektu: Kreatywni i innowacyjni uczniowie konkurencyjni na rynku pracy

USB firmware changing guide. Zmiana oprogramowania za przy użyciu połączenia USB. Changelog / Lista Zmian

Przegląd 4 Aerodynamika, algorytmy genetyczne, duże kroki i dynamika pozycji. Modelowanie fizyczne w animacji komputerowej Maciej Matyka

Proposal of thesis topic for mgr in. (MSE) programme in Telecommunications and Computer Science

Programowanie obiektowe


Prezentacja systemu RTLinux

Laboratorium Maszyny CNC. Nr 4

Standardized Test Practice

PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO

Nauczycielem wszystkiego jest praktyka Juliusz Cezar. Nauka to wiara w ignorancję ekspertów Richard Feynman

Po dokonaniu poprawnej instalacji i uruchomieniu powinno wyświetlić się okno dialogowe rys.1

CWF - Piece komorowe ogólnego przeznaczenia

Programowanie i projektowanie obiektowe

Machine Learning for Data Science (CS4786) Lecture11. Random Projections & Canonical Correlation Analysis

Ada95 przetwarzanie rozproszone

Ada95 przetwarzanie rozproszone

OPORY W RUCHU OSCYLACYJNYM MECHANIZMÓW MASZYN GÓRNICZYCH

Installation of EuroCert software for qualified electronic signature

Aktualizacja sterownika Podobnie jak w przypadku instalacji, podczas wykonywania tej operacji należy zalogować się jako administrator.

Sposoby modelowania układów dynamicznych. Pytania

Zakopane, plan miasta: Skala ok. 1: = City map (Polish Edition)

Koncepcja sterowania hierarchicznego aktywną siecią dystrybucji

Hippo Boombox MM209N CD. Instrukcja obsługi User s Manual

1. Tworzenie nowego projektu.

Podstawy Programowania Obiektowego

Katowice, plan miasta: Skala 1: = City map = Stadtplan (Polish Edition)

SNP SNP Business Partner Data Checker. Prezentacja produktu

HAPPY ANIMALS L01 HAPPY ANIMALS L03 HAPPY ANIMALS L05 HAPPY ANIMALS L07

HAPPY ANIMALS L02 HAPPY ANIMALS L04 HAPPY ANIMALS L06 HAPPY ANIMALS L08

Umowa Licencyjna Użytkownika Końcowego End-user licence agreement

ZASADY ZALICZANIA PRZEDMIOTU:

Stargard Szczecinski i okolice (Polish Edition)

OSTC GLOBAL TRADING CHALLENGE MANUAL

Planning and Cabling Networks

ZWROTNICOWY ROZJAZD.

MaPlan Sp. z O.O. Click here if your download doesn"t start automatically

Wykład FIZYKA I. 5. Energia, praca, moc. Dr hab. inż. Władysław Artur Woźniak

Zdecyduj: Czy to jest rzeczywiście prześladowanie? Czasem coś WYDAJE SIĘ złośliwe, ale wcale takie nie jest.

PLAN REALIZACJI MATERIAŁU NAUCZANIA FIZYKI W KLASIE PIERWSZEJ GIMNAZJUM WRAZ Z OKREŚLENIEM WYMAGAŃ EDUKACYJNYCH

GRY EDUKACYJNE I ICH MOŻLIWOŚCI DZIĘKI INTERNETOWI DZIŚ I JUTRO. Internet Rzeczy w wyobraźni gracza komputerowego

Środowisko programistyczne GEANT4

Raport bieżący: 44/2018 Data: g. 21:03 Skrócona nazwa emitenta: SERINUS ENERGY plc

Projekt ICT for IST. Moduł Ruch i siły. Elżbieta Kawecka Seminarium dla nauczycieli, OEIiZK, 18 maja 2010

ERP to za mało. Zarządzanie wiedzą przez cały okres ŻYCIA produktu. Katarzyna Andrzejuk Mariusz Zabielski

III. Przebieg ćwiczenia. 1. Generowanie i wizualizacja przebiegów oraz wyznaczanie ich podstawowych parametrów

SubVersion. Piotr Mikulski. SubVersion. P. Mikulski. Co to jest subversion? Zalety SubVersion. Wady SubVersion. Inne różnice SubVersion i CVS

OPRACOWANIE WYNIKÓW POMIARÓW KOŁNIERZY RUR STALOWYCH W ZADANIACH KONTROLI WYMIARÓW

Transkrypt:

Metody wirtualnej rzeczywistości Urządzenia haptyczne Paweł Daniluk Wydział Fizyki Wiosna 2011 P. Daniluk (Wydział Fizyki) MVR w. IV Wiosna 2011 1 / 24

Technologia haptyczna Technologia wykorzystująca mechaniczne komunikowanie się z użytkownikami poprzez zmysł dotyku przy użyciu zmieniających się sił, wibracji i ruchów. (z greckiego haptikos dotyk) P. Daniluk (Wydział Fizyki) MVR w. IV Wiosna 2011 2 / 24

Urządzenia haptyczne Możliwość wskazania położenia i orientacji Zwrotna projekcja sił (i momentów sił) P. Daniluk (Wydział Fizyki) MVR w. IV Wiosna 2011 3 / 24

Rodzaje sił W funkcji położenia lub prędkości Siła sprężystości F = kx (prawo Hooke a) F = k(p 0 p 1 ) Tłumienie (tarcie lepkie) F = bv Tarcie Kulombowskie stała siła przeciwdziałająca ruchowi F = c v v Tarcie statyczne i dynamiczne przełączanie między dwoma trybami Bezwładność wyliczana na podstawie przyspieszenia F = am P. Daniluk (Wydział Fizyki) MVR w. IV Wiosna 2011 4 / 24

Rodzaje sił c.d. W funkcji czasu Siły stałe Siły okresowe (wibracje) Impulsy P. Daniluk (Wydział Fizyki) MVR w. IV Wiosna 2011 5 / 24

end-effector from penetrating the virtual object s surface. One approa Interakcja z obiektami interaction is through the concept of a proxy that follows the transform effector in the virtual environment. Proxy t o t 1 SCP is a point that attempts to follow the end-effector position but is constrained to The geometry for the pro point, sphere or collection point, it is sometimes refe (surface contact point); s information. When the de penetrates a surface, a tran should be computed that a energy configuration betw surface and the device en addition, the proxy should coherence of contact. For reference the proxy s last process of computing its n result of computing a con transform, forces can then be on the surface of the object. In free Obiekt podążający w wirtualnej space the SCP przestrzeni is at the end-effector za ruchem urządzenia. will impede the motion o Urządzenie oddziałuje na position proxy as shown np. siłą in t 0. When sprężystości. touching an end-effector from further object the SCP can be calculated by contacted surface. A simp moving the last SCP towards the endeffector position without violating the force. There are numerou control law can be used f surface. The force is calculated by rendering literature that p P. Daniluk (Wydział Fizyki) simulating a spring MVRstretched w. IV from the Wiosna 2011 6 / 24 t 2 Effector Positions SCP

Integracja z wizualizacją Częstotliwość odświerzania Grafika 30-60 Hz Projekcja sił 1000 Hz P. Daniluk (Wydział Fizyki) MVR w. IV Wiosna 2011 7 / 24

Integracja z wizualizacją Częstotliwość odświerzania Grafika 30-60 Hz Projekcja sił 1000 Hz Nie da się w jednej pętli obsługiwać równocześnie grafiki i projekcji sił. P. Daniluk (Wydział Fizyki) MVR w. IV Wiosna 2011 7 / 24

Integracja z wizualizacją Częstotliwość odświerzania Grafika 30-60 Hz Projekcja sił 1000 Hz Nie da się w jednej pętli obsługiwać równocześnie grafiki i projekcji sił. Za projekcję sił odpowiada niezależny wątek. Nie można opóźniać jego działania. Aktualizacja sił następuje niezależnie od odświeżania grafiki. P. Daniluk (Wydział Fizyki) MVR w. IV Wiosna 2011 7 / 24

Integracja z dynamiką modelu Użytkownik wpływa na przebieg symulacji wywierając siły na elementy modelu. P. Daniluk (Wydział Fizyki) MVR w. IV Wiosna 2011 8 / 24

Integracja z dynamiką modelu Użytkownik wpływa na przebieg symulacji wywierając siły na elementy modelu. Jak zmierzyć siłę z jaką użytkownik oddziałuje na model? P. Daniluk (Wydział Fizyki) MVR w. IV Wiosna 2011 8 / 24

Integracja z dynamiką modelu Użytkownik wpływa na przebieg symulacji wywierając siły na elementy modelu. Jak zmierzyć siłę z jaką użytkownik oddziałuje na model? Pomiar siły jest możliwy wyłącznie przez dobranie siły równoważącej tak, aby ramię pozostało nieruchome. P. Daniluk (Wydział Fizyki) MVR w. IV Wiosna 2011 8 / 24

Integracja z dynamiką modelu Użytkownik wpływa na przebieg symulacji wywierając siły na elementy modelu. Jak zmierzyć siłę z jaką użytkownik oddziałuje na model? Pomiar siły jest możliwy wyłącznie przez dobranie siły równoważącej tak, aby ramię pozostało nieruchome. Virtual coupling Ramię urządzenia z elementem modelu łączy sprężyna (z tłumieniem). Virtual coupling umożliwia łączenie wątku haptycznego o wysokiej częstotliwości odświeżania z symulacją. P. Daniluk (Wydział Fizyki) MVR w. IV Wiosna 2011 8 / 24

Elementy haptycznego interfejsu użytkownika Studnia grawitacyjna siła zadana prawem Hooke a, ograniczona z góry Studnia grawitacyjna z rzutowaniem Operacje niezależne od głebokości Przekształcenia względne Zgodność bodźców wzrokowych z haptycznymi Stabilizacja przy pomocy tarcia P. Daniluk (Wydział Fizyki) MVR w. IV Wiosna 2011 9 / 24

Haptic Device API Niskopoziomowa biblioteka do komunikacji z urządzeniami haptycznymi. Zapewnia funkcje służące do: inicjalizacji kalibracji zarządzania stanem urządzenia pobieranie i aktualizowanie informacji o położeniu i siłach Pętla zarządzająca (scheduler) Osobny wątek z pętlą iterowaną z częstotliwością 1000Hz. Zapewnia cykliczne wykonywanie zadanych przez programistę wywołań (callbacks). P. Daniluk (Wydział Fizyki) MVR w. IV Wiosna 2011 10 / 24

Haptic Device API c.d. Schemat typowego programu 1 Inicjalizacja urządzenia. 2 Utworzenie wywołania zwrotnego (callback), które na oblicza siły na podstawie stanu urządzenia. 3 Włączenie projekcji sił. 4 Uruchomienie wątku zarządzającego. 5 Likwidacja połączenia z urządzeniem i wątku zarządzającego po zakończeniu programu. P. Daniluk (Wydział Fizyki) MVR w. IV Wiosna 2011 11 / 24

Initialize Haptic Device hdinitdevice Enable force output hdenable(hd_force_output) Schedule callback and start scheduler hdscheduleasynchronous hdstartscheduler Begin haptic frame hdbeginframe Get device position hdget(hd_current_position) Compare device position to volume of i-th virtual object Servo Loop Interaction Yes (e.g Intersection) No Iterate for N virtual objects i < Ni = N (done) Calculate reaction force F(i) Resultant force = F(i) s hdset(hd_current_force) End haptic frame hdendframe No Done? Yes Stop Scheduler and disable Haptic Device hdstopscheduler hddisabledevice FIGURE 4-4. HDAPI Program Flow P. Daniluk (Wydział Fizyki) MVR w. IV Wiosna 2011 12 / 24

Inicjalizacja urządzenia Inicjalizacja HHD hhd = hdinitdevice(hd_default_device); Włączanie projekcji sił hdenable(hd_force_output); Uruchamianie pętli zarządzającej hdstartscheduler(); Zmiana bieżącego urządzenia hdmakecurrentdevice(hhd); P. Daniluk (Wydział Fizyki) MVR w. IV Wiosna 2011 13 / 24

Ramki haptyczne Ramki haptyczne określają zakresy, w których stan urządzenia jest niezmienny. Otwarcie hdbeginframe() Zamknięcie hdendframe() P. Daniluk (Wydział Fizyki) MVR w. IV Wiosna 2011 14 / 24

Dostęp do stanu urządzenia Pobieranie rodzina funkcji hdget Funkcje: hdgetdoublev(), hdgetintegerv(), hdgetfloatv(), hdgetstring() Zapisywanie rodzina funkcji hdset Funkcje: hdsetdoublev(), hdsetintegerv(), hdsetfloatv(), hdsetstring() Stałe określające wartość HD_CURRENT_FORCE, HD_LAST_FORCE, HD_CURRENT_TORQUE, HD_CURRENT_POSITION, HD_CURRENT_VELOCITY,... Uwaga Zmiany są wysyłane do urządzenia po zamknięciu ramki. P. Daniluk (Wydział Fizyki) MVR w. IV Wiosna 2011 15 / 24

Dostęp do stanu urządzenia c.d. Przykłady HDint buttonstate; HDstring vendor; hduvector3dd position; HDfloat velocity[3]; HDdouble transform[16]; hdgetintegerv(hd_current_buttons,&buttonstate); hdgetstring(hd_device_vendor,vendor); hdgetdoublev(hd_current_position,position); hdgetfloatv(hd_current_velocity,velocity); hdgetdoublev(hd_last_endpoint_transform,transform); HDdouble force[3] = 0.5, 0.0, 1.0; hdsetdoublev(hd_current_force,force); HDfloat ramprate =.5; hdsetfloatv(hd_force_ramping_rate,&ramprate); P. Daniluk (Wydział Fizyki) MVR w. IV Wiosna 2011 16 / 24

Przestrzeń położeń PHANTOM Cartesian Space Workspace coordinates for all PHANTOM haptic devices are specified in the Cartesian coordinate system. By default, the positive X axis points to the right of the PHANTOM, parallel to the front plate; the positive Y axis points up; and the positive Z axis points "out" (that is, toward the user when the PHANTOM is used in the normal way). Kartezjański układ współrzędnych FIGURE 5-1. Cartesian Device Space for PHANTOM 1.5 6DOF P. Daniluk (Wydział Fizyki) MVR w. IV Wiosna 2011 17 / 24

Torque Control Przestrzeń położeń c.d. Przeguby PHANTOM Joint Space Joint 1, Joint 2, and Joint 3 are the base joints that contribute to the PHANTOM s X, Y, and Z forces. FIGURE 5-2. Base Joint Space for PHANTOM 1.5 6DOF P. Daniluk (Wydział Fizyki) MVR w. IV Wiosna 2011 18 / 24

Przestrzeń położeń c.d. 5 HDAPI PROGRAMMING Force/Torque Control Obroty Joint 4, Joint 5, and Joint 6 are the gimbal joints that contribute to the PHANTOM s 6DOF yaw, pitch, and roll torques, respectively FIGURE 5-3. Gimbal Joint Space for PHANTOM 1.5 6DOF P. Daniluk (Wydział Fizyki) MVR w. IV Wiosna 2011 19 / 24

Przestrzeń położeń c.d. Rodzaj urządzenia Parametr Dotyczy Układ odniesienia Jednostki 3DOF/6DOF HD_CURRENT_FORCE Siły Kartezjański N (F x, F y, F z) 6DOF HD_CURRENT_TORQUE Momenty sił Kartezjański mnm (T x, T y, T z) 3DOF/6DOF HD_CURRENT_MOTOR_DAC_VALUES Siły i momenty sił Przestrzeń przegubów (M 1, M 2, M 3,...) 3DOF/6DOF HD_CURRENT_JOINT_TORQUE Przeguby ramienia Przestrzeń przegubów mnm (T J1, T J2, T J3) 6DOF HD_CURRENT_GIMBAL_TORQUE Przeguby uchwytu Przestrzeń przegubów mnm (T J4, T J5, T J6) P. Daniluk (Wydział Fizyki) MVR w. IV Wiosna 2011 20 / 24

Pobieranie informacji z urządenia Callback struct DeviceDisplayState { HDdouble position[3]; HDdouble force[3]; } HDCallbackCode HDCALLBACK DeviceStateCallback (void *puserdata) { DeviceDisplayState *pdisplaystate=(devicedisplaystate *)puserdata; hdgetdoublev(hd_current_position, pdisplaystate->position); hdgetdoublev(hd_current_force, pdisplaystate->force); } return HD_CALLBACK_DONE; Rejestracja (synchroniczna) DeviceDisplayState state; hdschedulesynchronous(devicestatecallback, &state, HD_MIN_SCHEDULER_PRIORITY); P. Daniluk (Wydział Fizyki) MVR w. IV Wiosna 2011 21 / 24

Generowanie siły HDCallbackCode HDCALLBACK CoulombCallback(void *data) { HHD hhd = hdgetcurrentdevice(); hdbeginframe(hhd); HDdouble pos[3]; hdgetdoublev(hd_current_position,pos); //Pobieranie pozycji ramienia HDdouble force[3]; forcefield(pos, force); // Obliczanie siły hdsetdoublev(hd_current_force, force); // Ustawianie siły w urządzeniu hdendframe(hhd); // Wysyłanie siły. } // Wywołanie ma być wykonane w następnym kroku pętli return HD_CALLBACK_CONTINUE; hdscheduleasynchronous(aforcesettingcallback, (void*)0, HD_DEFAULT_SCHEDULER_PRIORITY); P. Daniluk (Wydział Fizyki) MVR w. IV Wiosna 2011 22 / 24

Kończenie pracy hdstopscheduler(); hdunschedule(schedulecallbackhandle); hddisabledevice(hdgetcurrentdevice()); P. Daniluk (Wydział Fizyki) MVR w. IV Wiosna 2011 23 / 24

Strona wykładu http://bioexploratorium.pl/wiki/ Metody_Wirtualnej_Rzeczywistości_-_2011l P. Daniluk (Wydział Fizyki) MVR w. IV Wiosna 2011 24 / 24