Home
Volltext
Contents
1. 180 180 yaw 90 90 90 180 180 nur mit Motion Plus Abbildung 4 roll pitch und yaw Messwerte in GlovePIE Emulation 13 Mit angeschlossenem Motion Plus kann durch den Gyrometer zudem die Rotationsgeschwindigkeit dieser drei Bewegungen in Grad pro Sekunde gemessen werden YawSpeed RollSpeed PitchSpeed Die erweiterten yaw Werte sind eine Sch tzung auf Grundlage von YawsSpeed Die weiteren Werte des Motion Plus werden mit wiimote Nummer MotionPlus GyroRoll GyroPitch GyroYaw ausgelesen Im Gegensatz zu roll pitch und yaw sind diese Werte nicht begrenzt Eine zweifache Linksdrehung um die z Achse liefert beispielsweise roll 0 und GyroRoll 720 Die Buttons sind gem ihrer Beschriftung beziehungsweise Positionierung am Steuerkreuz benannt A B Plus Minus One Two Home Up Down Left Right Weiterhin ist in der Wii Remote ein Sensor f r die Gravitationsbeschleunigung verbaut F r dessen Werte stehen gx gy und gz die Kurzform als Vektor hei t g Befindet sich die Wii Remote im freien Fall gilt g 0 0 0 weil der Sensor keine Gravitationskraft mehr misst Wird sie ruhig und flach in der Hand gehalten so wirkt von unten eine der Erdanziehungskraft genau entgegengesetzte Beschleunigung in H he von 9 81m s auf sie ein Zu diesem Zeitpunkt ist gy 1 Um g in der Einheit Meter pro Quadratsekunde zu erhalten werden RawAccX RawAccY und RawAccZ genutzt Diese Messw
2. uuu u2r8 20a 22 Tabelle 4 AnalogFly als layered deutce ENEE 31 Listings IV Listings Listing 1 Sprach bergreifendes Drogsrammermodell 11 Listing 2 Cursorsteuerung mit FOE 17 Listing 3 Cursorsteuerung mit roll und pitch 17 Listing 4 Wii Remote als EE 18 Listing 5 Cursorsteuerung mit den Beschleungungssensoren nenn 18 Listing 6 Cursorsteuerung mit dem Gvrometer 19 Listing 7 Ausgleichsrechnung f r die Gyrometernutzung seen 19 Listing 8 Rotation um die y Achse mit DeltoattGcwro kou 23 Listing 9 Sonderfall Rotation mit Buttons und GyroRoll A 23 Listing 10 Die idoDeviceServer ini des Gamepads Auszug 30 Abk rzungsverzeichnis Abk rzungsverzeichnis 3D CAD DDK DLL HID INFITEC LED LPT PIE PPJoy ROM SDK TCP UDP USB VDP VR VRPN dreidimensional Computer aided Design Driver Development Kit Dynamic Link Library Human Interface Device Interferenzfiltertechnologie Light emitting Diode Line Printing Terminal Programmable Input Emulator Parallel Port Joystick Read only Memory Software Development Kit Transmission Control Protocol User Datagram Protocol Universal Serial Bus Visual Decision Platform Virtual Reality Virtual Reality Peripheral Network Einleitung 1 1 Einleitung Die dreidimensionale 3D Darstellung wird immer dann gern verwendet wenn ein umfassender Eindruck des zu betrachtenden Gegenstandes vermittelt werden soll Sie findet immer h ufiger Einzug in Fernseher
3. Abbildung 3 GlovePIE Oberfl che Emulation 11 Programmieren gestaltet sich in GlovePIE sehr intuitiv und der Code ist leicht verst ndlich Die Skriptsprache ist Turing vollst ndig Elemente aus diversen Programmiersprachen sind in die PIE Sprache eingeflossen Das spiegelt sich unter anderem in den Regeln zur Kommentierung und Zuweisung wider Kenner 2010 S 9 Kommentar Mehrzeiliger Kommentar Kommentar MATLAB z Kommentar BASIC REM Kommentar BASIC Gedr ckte linke Maustaste melden bei bet tigen von Buttonl am Joystickl Mouse LeftButton Joystickl Buttonl Mouse LeftButton Joystickl Buttonl Joystickl1 Buttonl gt Mouse LeftButton Listing 1 Sprach bergreifendes Programmiermodell hnlich verh lt es sich mit Schleifen und Auswahlkonstrukten GlovePIE ist flexibel genug um mit vielen unterschiedlichen Programmierstilen umgehen zu k nnen Es ist robust und kann fehlerhafte Zeilen im Code bei der Interpretation berspringen GlovePIE kann auch Code generieren In einer grafischen Oberfl che werden Eingabe und zu emulierende Ausgabe durch Nutzerangaben ermittelt und daraus ein simples Skript erstellt Der PIE Code wird mit einer festlegbaren Wiederholungsrate sequentiell ausgef hrt GlovePIE kann folgende Ausgabesignale erzeugen Maus Fake Cursor mehrere Mauszeiger gleichzeitig T ne Musical Instrument Digital Interface MIDI Tastatur Virtueller J
4. Da die Wii Remote nicht f r den Einsatz am Computer konzipiert wurde sind die bertragenen Daten zwar lesbar aber nicht spezifiziert und m ssen zur Nutzung erst Alternative Steuerger te 9 manuell zugeordnet werden Daher funktioniert die Wii Remote beispielsweise ad hoc nicht als Mausersatz und manche Bluetooth Treiber verweigern den Dienst Die Verbindungstrennung gestaltet sich einfach An der Wii Spielkonsole schaltet sich die Wii Remote selbstst ndig nach mehreren Minuten Inaktivit t ab und der Power Knopf wird f r die Konsole genutzt Am Computer trennt er die Bluetooth Verbindung der jeweiligen Wii Remote Da das Ger t dauerhaft im Bereitschaftsmodus ist empfiehlt sich zudem ein Entfernen des Akkus 2 2 3 Anwendungsm glichkeiten Das Erweiterungssystem macht aus der Wii Remote einen unersch pflichen Pool von Innovationen Sie kann beispielsweise in spezielle Spielgitarren oder in den Griff eines Tennisschl gers eingesteckt werden Wird sie in ein Lenkrad eingebaut kann dank des Lagesensors ein virtuelles Fahrzeug realit tsnah gesteuert werden Ebenfalls kann der Nunchuk ausgestattet mit zwei Buttons einem Analog Stick und eigenem Beschleunigungssensor direkt an die Wii Remote angeschlossen werden wodurch beide H nde eingesetzt werden k nnen Das Balance Board eine Kombination aus Waage und verschiedenen Druckpunkten wird von Nintendo f r Gymnastik und Wintersportspiele genutzt und kommuniziert ebenfalls
5. AGSHP trainiert die Bundeswehr Virtual Reality hilft auch Leben zu retten rzte k nnen mit dem Sensable Phantom oder dem da Vinci Surgical System Eingriffe planen simulieren und mit Letzterem praktisch durchf hren Bis auf das Sensable Phantom w re ein Einsatz solcher Ger te im Virtual Reality Labor des Instituts f r Wirtschaftsinformatik aber deutlich berdimensioniert und nicht f r den dort vorgesehenen Einsatzzweck Softwarevisualisierungen Kollaborativ zu explorieren tauglich Daher werden nur kleinere Ger te weiter betrachtet die ein Ersatz f r die IC Control werden k nnen Unter Ber cksichtigung der gegebenen Laborausstattung bieten sich Ger te mit optischem Tracking oder g nzlich von Tracking unabh ngigen Methoden an Eine Option sind ber hrungssensitive Oberfl chen mit kapazitiver Messung des Drucks Dadurch sind die drei Translationsbewegungen abgedeckt Rotationen k nnen mittels verschiedener Streichbewegungen einer Mehrfingersteuerung durchgef hrt werden Weiterhin sind Datenhandschuhe einsetzbar Bewegungen der Finger werden ber Dehnmessstreifen oder Lichtbrechungsmessung Bewegungen der Hand ber ein optisches oder magnetisches Trackingsystem erfasst Mit ihnen k nnen dreidimensionale Objekte auf einer Projektionswand auf nat rliche Weise gegriffen und bearbeitet werden Gestensteuerung ist ebenfalls umsetzbar beispielsweise die Objektauswahl durch Zeigen Die Handschuhe k nnen auch eine Kraftr ckkopplu
6. Nintendo EE 6 2 2 Hardware ns nee nee en 7 2 2 2 Verbindunssherstelune an ua er N a Tai 7 2 2 3 Anwendungsm glichkeiten usuuuusseskos sea 9 3 d TT EI Ir ET SD ee ER 10 3 3 ADO Immersive Workspace una san 16 3 4 Umsetzung der Desktopsteuerung ar ermeiolssiinek 16 3 5 Umsetzung der Powerwall Steuerung seseseseseseeessseesseesseesseeesseessseesseesseesseeeseee 21 3 0 reel 24 4 Virtual Reality Peripheral Network c00ss0000ss0000ss0000sn0nnssnnnnnssnnnsnsnsnsssnsnsnensnee 2D 4 3 Nutzung der WI Remole yasni ne Ben a 29 5 Zusammenfassung und Ausblick u 0s00ss0000ss0000sneonssnennsssnnnnssnnnsnsnsnsssnsnsssssssnsssene JS Ee E CN Ehrenw rtliche Erklaruns una ai VIT Abbildungsverzeichnis I Abbildungsverzeichnis Abbildung 1 Die sechs Freiheisserade nn 0 ae el 2 Abbildung 2 Ee 6 Abbildung 3 GlovePIE Oberflache nes na e ee 10 Abbildung 4 roll pitch und yaw Messwerte in GlovePIE AAA 12 Abbildung 5 Debuginformationen anzeigen in OGloveblb AAA 14 Abbildung 6 VRPN Server und Client f r die Wu Remote 28 Abbildung 7 Weg der Binpabedaten Zn ge ee ante 32 Abbildung 8 Auswahl der Wii Remote als AnalogFly device nosnenneenseesensersseessee 32 Tabellenverzeichnis II Tabellenverzeichnis Tabelle 1 IC IDO Software Desktopsteuerung CA 20 Tabelle 2 Desktopsteuerung Buttonbelegung der Wu Remote 20 Tabelle 3 Konfiguration Logitech Gamepad u
7. r das Motion Plus gibt m ssen f r alle Anwendungsf lle an der VDP die Programme GlovePIE und PPJoy zwischengeschaltet werden Abbildung 7 Die neu erstellte Konfiguration mit AnalogFly kann in der Ger teauswahl von IDO ImmersiveWorkspace ausgew hlt werden Abbildung 8 u Cluster Navigation Appearance Tracking Clusterlicido ic 1 ic 2 ic 3 3wall_gamepad v Apply 1wall Zwall Zwall_wireless Swall_gamepad Iwall_wimote 3wall_wired 3wall_wireless desktop Template Abbildung 8 Auswahl der Wii Remote als AnalogFly device TT Das zugeh rige Skript f r GlovePIE liegt als 3wall_wiimote PIE bei Die vorhandene PPJoy Konfiguration funktioniert f r alle gezeigten Emulationsvarianten Zusammenfassung und Ausblick 33 5 Zusammenfassung und Ausblick Die Wii Remote ist ein hervorragendes Steuerger t f r viele Einsatzbereiche Im allt glichen Desktopbetrieb ebenso wie in virtuellen Realit ten Mit zunehmender Komplexit t der Anforderungen gelangt aber selbst sie an ihre Grenzen Bei ansteigender Gr e der Darstellungsfl che und zus tzlicher Bestimmung der Orientierung des Ger tes ist das interne Infrarottracking nicht mehr ausreichend Behelfe ber die restlichen Sensoren erm glichen zwar weiterhin eine Nutzung komplett intuitiv kann diese aber nicht mehr sein In Ermangelung eines vollst ndigen VRPN Treibers f r das Motion Plus muss die Wii Remote ber die Emulation eines virtuellen
8. r die VDP durch die Wii Remote zu ersetzen Der Vorgang bedarf einiger Vorbereitungen und kann im VR Labor auf zwei Weisen umgesetzt werden Zur Erleichterung der Arbeit wurde auf zwei Programme zur ckgegriffen Zum einen GlovePIE engl programmable input emulator und zum anderen PPJoy Beide Programme werden von jeweils nur einem Programmierer als Freizeitprojekt betreut 3 1 GlovePIE GlovePIE Abbildung 3 bietet eine Entwicklungsumgebung f r Skripte die direkt im integrierten Editor erstellt und interpretiert werden k nnen Das Programm war urspr nglich zur Anwendung am P5 Dataglove konzipiert wurde aber kontinuierlich erweitert und so zu einem universell einsetzbaren Emulator Der Entwickler Carl Kenner hat die Anwendung f r die kommerzielle und die nicht kommerzielle Nutzung freigegeben und dabei nur wenige Auflagen erteilt So darf das Programm beispielsweise nicht f r milit rische Zwecke genutzt werden Die komplette Lizenz befindet sich in Kenner 2010 S 6 Die aktuelle Version ist 0 43 lovePlE Programmab Fie Edit Search View Run CP Settings Language TroubleShooter Help 1D0 System P5 EU Variables if Abs Joystickl1 z gt 0 1 Mouse DirectInputX Joystick z 15 if Abs Joystick roll 0 1 Mouse DirectInputY Joystick roll 15 Key LeftShift p5 nnnnn Mouse LeftButton Joystick Button6 if Abs Joystick z 1 or Abs Joystick roll Mouse LeftButton tr else Mouse LeftButton false
9. Button 7 z Rechter Analog Stick pitch yaw Tabelle 3 Konfiguration Logitech Gamepad Diese Konfiguration dient als Emulationsgrundlage Mit PPJoy wird ein virtuelles Gamepad erstellt das dem Logitech Gamepad entsprechend zw lf Buttons zwei Analog Sticks und ein Steuerkreuz hat Die DirectInput Signale des virtuellen Ger tes werden vom VRPN Treiber akzeptiert und er leitet sie an die Rechner f r die Projektorsteuerung weiter GlovePIE unterst tzt die virtuellen Ger te von PPJoy gesondert und kann sie ber den Treiberanbieter von anderen Joysticks unterscheiden Die Achsen der PPJoy Analog Sticks werden mit ppjoy Nummer Analog Nummer und die PPJoy Buttons mit ppjoy Nummer Digital Nummer angesprochen Die Z hlung beginnt jeweils bei Null Der Button des Gamepads entspricht DigitalO Die Stellung eines Analog Sticks wird in GlovePIE mit einem Wertebereich f r die zwei Stick Achsen von jeweils 1 bis 1 gemessen Bei maximaler Auslenkung des ersten Analog Sticks in den linken oberen Quadranten gilt AnalogO Analog 1 in Normalstellung betragen sie Null Die zuvor in den Listings 6 und 7 gezeigte Maussteuerung soll weiter Verwendung finden und muss an das Gamepad angepasst werden Die Steuerung des virtuellen linken Analog Sticks wird von den vormals f r CursorPosX und CursorPosY genutzten Werten bernommen die vorher mittels MapRange auf den neuen Wertebereich umgerechnet werden Die Buttons des virtuellen Gamepads werden mit
10. Buttons der Wii Remote belegt A wird der Aktionsbutton Minus ffnet das Kontextmen Home wird f r reset genutzt Um eine m glichst realit tsnahe Bedienung des 3D Cursors zu erm glichen werden die Rotationsbewegungen mit GyroRoll GyroPitch und GyroYaw gesteuert Die einzelnen Messwerte von Gyrometer und Lagesensor beeinflussen sich gegenseitig w hrend der Navigation Es kann beispielsweise kein PitchSpeed ohne eine Ver nderung bei Pitch und GyroPitch geben Da dies bedeuten w rde dass der 3D Cursor sich w hrend der Bewegung unabl ssig dreht und umgekehrt wird auch hier eine Trennung ber den Button B vorgenommen Damit die Probleme der Desktopsteuerung aus Listing 3 nicht auftreten werden auch die Messwerte des Lagesensors nachbearbeitet wie in Listing 8 gezeigt Emulation 23 var RotationY Delta wiimote MotionPlus GyroYaw ppjoy Analoqg2 MapRange var RotationY 10 10 1 1 Listing 8 Rotation um die y Achse mit Delta GyroYaw Die Funktion Delta x hat als R ckgabewert die Ver nderung des bergabeparameters seit dem letzen Frame Ist der Wert kleiner geworden so ist Delta x negativ Auf diese Weise gilt immer var RotationY 0 wenn keine Bewegung stattfindet Entsprechend wird dies f r GyroPitch umgesetzt Der virtuelle rechte Analog Stick wird anschlie end mittels MapRange mit einem g ltigen Wertebereich angesprochen Die Rotation um die z Achse ist ein Spezialfall und muss anders implementiert
11. Gamepads an die VDP angeschlossen werden An der Anlage des Virtual Reality Labors hat sich die Emulation ber das vorhandene Gamepad Plugin bew hrt Dar ber kann eine Steuerung geboten werden die der IC Control weitestgehend hnelt und dies mit kostenfreier Software und Hardwarekosten f r Wii Remote Zusatzadapter und Bluetooth Stick von unter 50 Die vorhandene Anlage des Virtual Reality Labors hat noch Entfaltungsspielraum Die Software f r das optische Tracking ist nicht an IC IDO gekoppelt sondern kann auch mit zahlreichen anderen Softwarel sungen wie VR Juggler oder OpenScenegraph eingesetzt werden Die VDP selbst stellt auch ein Handmodell als Cursor bereit das als Avatar f r Datenhandschuhsteuerungen herangezogen werden kann IC IDO bietet bereits einen Handschuh mit optischem Tracking ber DTrack an Die Wii Remote hat die Konkurrenz unter den Konsolenherstellern erneut entfacht Sony und Microsoft haben eigene Steuerger te entwickelt und zur Marktreife gebracht die durch ihr externes Tracking ebenfalls viel Potential f r virtuelle Realit ten bieten Playstation Move Kinect Die Entwicklungen zeigen einen deutlichen Trend weg von der reinen Bedienung eines Handger tes hin zu mehr Bewegungsfreiheit im Raum Vielleicht sind in einigen Jahren generell keine Steuerger te mehr in den H nden der Nutzer n tig und die Steuerung erfolgt nur noch mit der Kraft der eigenen Gedanken 7 Siehe Brain Computer Interface Te
12. aus der idoDeviceServer ini anzeigt 4 3 Nutzung der Wii Remote Die Implementierung ber Emulation eines Gamepads mit GlovePIE hat noch Optimierungspotential Insbesondere sind dynamische Werte f r eine flie ende Translation auf und Rotation um die z Achse w nschenswert PPJoy hat Kapazit ten f r bis zu acht Achsen von denen bisher nur vier genutzt werden Um diese mit Navigationsfunktionen belegen zu k nnen bedarf es allerdings einer nderung im Mapping des Gamepad Treibers W rden au erdem die Eingaben des Lagesensors beziehungsweise der 18 IDOKernel Path pluginsIDODevice driverPlugins DriverName libIDODevice DriverName sol dil O C Programme IDO System IDOExplore 2006_SP3_4 Release idoDeviceSpy exe Virtual Reality Peripheral Network 30 zugeh rigen virtuellen Analog Sticks als absolute Werte innerhalb des Wertebereiches interpretiert werden k nnte die Haltungsbestimmung pr ziser erfolgen F r derartige Einstellungen muss die Eingabeger tekonfiguration abge ndert werden Das Mapping der Eingabesignale auf die einzelnen Cursorbewegungen erfolgt f r layered devices und die dazugeh rige Clusterkonfiguration in der jeweiligen idoDevicesServer ini Diese Konfigurationsdateien befinden sich im Systemkonfigurationsordner von IDO Explore Die Zust nde der Achsen channel und Buttons werden darin den Navigationsfunktionen zugewiesen Welche nderungsoptionen diese Dateien bieten ist in keinem der vorliegend
13. des 3D Cursors an der Powerwall erm glicht die Fernbedienung ihrem Nutzer einen wesentlich gr eren Bewegungsspielraum vor der Projektionsfl che da sie nicht extern getrackt wird Dieser Vorteil ist aber zugleich auch der Nachteil der Wii Remote Die Nutzung von Infrarottracking ist aus praktischen Gr nden an der Powerwall nicht sinnvoll Dies funktioniert nur an kleineren Fl chen zufriedenstellend die einen fixen Punkt haben auf den die Wii Remote ausgerichtet werden kann ohne dem Cursor selbst zus tzliche Rotationswerte zu geben Die Wii Remote arbeitet somit nicht mit absoluten Werten sondern mit den relativen Werten des Lagesensors und des Geschwindigkeitssensors im Zusatzadapter Motion Plus Da diese Werte sich gegenseitig beeinflussen wird die Steuerung des 3D Cursors in Translations und Rotationsbewegungen geteilt Dieser Behelf hat zur Folge dass die Ausrichtung des 3D Cursors nicht immer der korrekten Haltung der Wii Remote gegen ber der Powerwall entspricht weil deren tats chliche Positionierung ohne externes Tracking unbekannt ist Ohne infrarote Lichtquellen kann die Wii Remote keine Abst nde messen Es fehlt daher 7 Das Skript liegt als 3wall_gamepad_wiimote PIE bei Zugeh rige Clusterkonfiguration 3wall_gamepad Virtual Reality Peripheral Network 25 ein Sensorwert f r die Translationsbewegung des 3D Cursors entlang der z Achse in die Tiefe des dreidimensionalen Raumes Diese Bewegung konnte mit der Umsetzung a
14. Die Desktopger te basieren auf Kipp Dreh und Druckeingaben Es gibt auch tragbare Varianten mit Tracking zu denen das vorhandene IC Control geh rt Ein Ger t das als solche 3D Maus genutzt werden kann wird im Folgenden vorgestellt 2 2 Nintendo Wii Remote Die Nintendo Wii Remote Abbildung 2 ist das Hauptsteuerger t f r die Wii Spielkonsole von Nintendo und erschien 2006 Die erstmals in einem Spielcontroller verbaute Technologiekombination er ffnete komplett neue Interaktionsweisen mit den Spielen be sl Abbildung 2 Wii Remote hnlich WC 20101 Siehe http www spacecontrol de und http www 3dconnexion com letzter Abruf jeweils am 19 06 2010 Als Ideenschmiede f r neue 3D Mauskonzepte hat sich die Universit t Weimar hervorgetan Siehe http www uni weimar de cms medien vr research hei html letzter Abruf am 13 06 2010 Alternative Steuerger te 7 2 2 1 Hardware Die Wii Remote ist eine Fernbedienung die ber Bluetooth mit dem zu steuernden Ger t kommuniziert Die maximale Entfernung zum Empf nger betr gt zehn Meter In ihr ist ein Beschleunigungssensor sowie ein Lagesensor verbaut der roll und pitch erfasst An der Frontseite befindet sich eine Infrarotkamera welche die Lichtsignale der Infrarotleiste trackt Ihr Sichtradius betr gt circa 45 Yaw ist nur in Verbindung mit der Infrarotleiste messbar Diese Leiste wird von Nintendo zwar als Sensorleiste Sensor Bar bezeichnet beinhaltet allerdings
15. Universit t Leipzig Wirtschaftswissenschaftliche Fakult t Institut f r Wirtschaftsinformatik Professur Softwareentwicklung f r Wirtschaft und Verwaltung Bachelorarbeit Freie wissenschaftliche Arbeit zur Erlangung des akademischen Grades Bachelor of Science Wirtschaftsinformatik an der Wirtschaftswissenschaftlichen Fakult t der Universit t Leipzig Alternative Steuerungen f r das VR Labor Betreuender Hochschullehrer Prof Dr Ulrich Eisenecker Bearbeiter Christoph Jobst Eingereicht am 23 September 2010 Abstract F r das Virtual Reality Labor des Instituts f r Wirtschaftsinformatik der Universit t Leipzig sollen Alternativen zu den bestehenden Steuerungsm glichkeiten gefunden an die Anlage angeschlossen und evaluiert werden Es werden Vorgehensweisen dargelegt die den Anschluss neuer Ger te erm glichen sowie deren Anwendung am Beispiel der Nintendo Wii Remote gezeigt Schl sselw rter Device Emulation VRPN Wii Gliederung I Gliederung Gliederung een ee ee Abbildungesverzeichnis EN Tabellenverzeichnis u nee ITT Abk rzungsverzeichnis sen eege V re I AEA ALEEN t T EAA E T E TT EN We Tei E 1 UE ZielstelUn S ea Inge 1 1 3 Grundlagen der Steuerung und Interaktion seeeeeseeeseesesseeesssresseseresresserererressersresees 2 1 4 En E DE 3 2 Alternative Steuerger te e ssececoceccoesosocsscossocecosecooesosocsocossosecossesoessseossscssosscossessessse D 21V derre 3 2 2
16. ann Eingaben als absolut ansehen allerdings gilt diese Einstellung jeweils f r die komplette Instanz Es w re nur sinnvoll wenn die Wii Remote zusammen mit der Infrarotleiste genutzt werden w rde denn die sonstigen Sensoren liefern keine Informationen dar ber wo sich die Wii Remote befindet sondern ermitteln lediglich wie sie sich bewegt hat Die Infrarotleiste ist wie bereits dargelegt am bestehenden System nicht praktikabel einsetzbar Darum wird AnalogFlyl angelegt W hrend AnalogFlyO f r die relativen Translationen zust ndig ist soll AnalogFlyl die absoluten Haltungswerte vom Lagesensor nutzen Das Tool idoDeviceSpy liefert zufriedenstellende Ergebnisse f r die einzelnen Instanzen Allerdings scheitert dieser Versuch bei der Datenabnahme durch die VDP da in der avatarDevices ini nur genau ein Virtual Reality Peripheral Network 32 Eingabeger t angegeben werden kann und bei einem Umlegen der absoluten AnalogFly1 Werte auf AnalogFly0 die absolut Eigenschaft berschrieben wird Die gew nschten Verbesserungen sind somit nicht mit den gegebenen Mitteln durchf hrbar Der Cursor l sst sich daher ber IDOAnalogFly in der 3wall_gamepad Konfiguration angenehmer steuern Wii Remote VRPN Joystick0 DevicesServer Bluetooth VRPN AnalogFly0 GlovePIE PPJoy Shared IDODevice Plugin Memory Abbildung 7 Weg der Eingabedaten in Anlehnung an IC IDO 2006 S 117 Da es keinen VRPN Treiber f
17. ber Bluetooth All diese Ger te lassen sich nicht nur in Spielen einsetzen sondern auch im industriellen VR Bereich Ein Problem bei der Erkundung virtueller Welten ist etwa dass der Nutzer bewegungslos an einem fixen Punkt verharrt und sich seine Umgebung dennoch ver ndert Die alleinige Verwendung von Handsteuerger ten ist nur bedingt realit tsnah Mit der Technik des Balance Boards k nnen durch Ver nderung der K rperhaltung eine Spielwelt oder Modelle durchflogen werden w hrend das Handger t die restliche Interaktion bernimmt Weitere beispielhafte Verwendungen f r die Wii Remote und ihr Zubeh r am Computer Kopf und Fingertracking Zeigeger t f r Pr sentationen Interaktive Tafel mit Infrarot LED Stift Umsetzung realit tsnaher Steuerungsmetaphern In den folgenden Abschnitten wird gezeigt wie eine einzelne Wii Remote als 3D Maus f r die Anlage im VR Labor nutzbar gemacht werden kann Um die Schutzh lle dabei nicht zu besch digen ist die Bedienungsanleitung der Wii Remote zu beachten Der Programmierer Johnny Chung Lee hat einige sehr interessante Projekte f r die Wii Remote erstellt N heres dazu hier http johnnylee net projects wii letzter Abruf am 23 07 2010 Emulation 10 3 Emulation Werden Systemzust nde nachgeahmt und einem anderen oder dem gleichen System vorget uscht so wird dies Emulation genannt Im Rahmen dieser Arbeit wird diese Technik genutzt um die Standardsteuerung f
18. chnology http emotiv com letzer Abruf am 08 09 2010 Literaturverzeichnis VI Literaturverzeichnis A R T 2010 IC IDO 2006 IC IDO 2008 Kenner 2010 Microsoft 2010 Taylor et al 2001 USB 2001 WC 2010 Westhuysen 2004 Advanced Realtime Tracking GmbH Interfaces Software URL tracking de Supported Software 29 0 html letzter Abruf am 23 06 2010 IC IDO IDO Develop Programmers Guide ICIDO GmbH Stuttgart 2006 IC IDO IDO Explore GmbH Stuttgart 2008 Supported http www ar Benutzerhandbuch ICIDO Carl Kenner GlovePIE 0 43 Preliminary Documentation http glovepie org 2010 Microsoft Corporation Introducing Kinect URL http www xbox com en US kinect letzter Abruf am 23 06 2010 Russel M Taylor II et al VRPN A Device Independent System UNC Chapel Hill 2001 Network Transparent WVR Peripheral USB Implementers Forum Device Class Definition for Human Interface Devices HID USB org 2001 WiiChat Webpagecontent URL http www wiichat com attachments nintendo wii chat 324 wii dashboard wii_remoteSview_0501 jpg letzter Abruf am 23 07 2010 Deon van der Westhuysen PPJoy Documentation http ppjoy blogspot com 2004 Ehrenw rtliche Erkl rung VII Ehrenw rtliche Erkl rung Ich versichere dass ich die vorliegende Arbeit selbst ndig und nur unter Verwendung der angegebenen Quellen und Hilfsmittel angefertigt habe Diese Arbeit ha
19. chsen eines Analog Sticks werden immer an der gleichen Stelle des versandten Vektors platziert Diese Positionen werden in VRPN channel genannt F r Buttons sind die Zust nde pressed und released vorgesehen und werden gesondert bertragen Die Button Meldungen werden bei dem jeweiligen Eintreten des Ereignisses als TCP engl transmission control protocol Paket an den Client geschickt Werte der Achsen dagegen als UDP engl user datagram protocol Paket da dies eine unsicherere aber schnellere Kommunikation Virtual Reality Peripheral Network 27 erm glicht Die Achsenzust nde werden fortlaufend aktualisiert Button Meldungen sind hingegen seltener und d rfen daher nicht verloren gehen Um Anwendungen aus dem VRPN SDK zu kompilieren sind einige Anpassungen notwendig Es wird als ZIP Archiv auf der Projektseite angeboten und liegt darin als vorkonfiguriertes Projekt f r Microsoft Visual Studio 2005 vor Die fertige Konfiguration erweist sich teilweise als hinderlich da Includeverzeichnisse und Bibliotheksreferenzen die Ordnerstrukturen der Entwickler nutzen Und dies findet sich nicht nur in den Projekteigenschaften sondern ebenfalls hart kodiert im Quellcode Teile des Projekts verweisen auf Dateien deren zugeh rige SDK Versionen nicht mehr angeboten werden Die Kompilierung des VRPN Projektes und der ben tigten Ressourcen ist aber auch mit aktuellen SDKs m glich F r diese Arbeit wurden folgende SDKs verwendet Windows Drive
20. das Gamepad m glich Die Wii Remote ist ohne Motion Plus kein ausreichend gutes Steuerger t f r die VDP Aber das Konzept des layered device bietet eine neue Alternative f r den Anschluss Nachfolgend wird untersucht ob dieses Konzept als Schnittstelle zwischen Wii Remote und VDP ber Emulation eines erweiterten Gamepads benutzt werden kann Daf r sind zun chst Kenntnisse der Umsetzung von VRPN durch IC IDO notwendig 4 2 Nutzung von VRPN durch IC IDO Die Software von IC IDO basiert auf VRPN Auf dem Hauptrechner wird der IDO DeviceServer ausgef hrt und liest ber beigef gte VRPN Treiber die Eingabeger te aus Die Eingabedaten werden dann in ein shared memory geschrieben auf das die VDP ber das Plugin DODevice zugreift IC IDO 2006 S 117 Weitere Treiber f r den DO DeviceServer k nnen dem VRPN Projekt entnommen und m ssen gem IC IDO 2006 S 118 an die Plattform angepasst werden Die resultierende DLL oder Shared Library wird danach durch Kopieren zu den Ger tetreibern der Software hinzugef gt Die neuen Ger teklassen m ssen darauf noch in der ger tespezifisch anzulegenden idoDevicesServer ini konfiguriert und bei layered devices die Eingabesignale den Navigationsfunktionen zugewiesen werden Der IDO DeviceServer ist ein separater Prozess und kann ber das Tool idoDeviceSpy einzeln gestartet werden Das Tool bietet eine grafische Oberfl che f r Ger tetests welche die Zust nde aller Ger teinstanzen
21. der Privathaushalte und Kinos Firmen nutzen sie f r die Erstellung und Veranschaulichung ihrer Maschinen und Projekte In der Videospielbranche ist sie schon seit Jahren nicht mehr wegzudenken Selbst Software kann auf diese Weise abgebildet werden Nutzer sollen dabei aber oft kein statisches Bild vor sich haben sondern auch mit den Darstellungen interagieren k nnen 1 1 Motivation Virtual Reality VR entf hrt ihre Nutzer in eine digitale Welt Sie sollen bestm glich in diese Umgebung integriert werden und realit tsnah mit ihr interagieren k nnen Das Ziel ist ein immersiver Eindruck des Gezeigten Dem Steuerger t kommt dabei eine besondere Bedeutung zu da es der Interaktionspunkt des Nutzers mit der virtuellen Realit t ist und dessen Erlebnis und Produktivit t entscheidend beeinflusst Darum werden intuitiv und effektiv einsetzbare Steuerger te ben tigt die einfache Metaphern und allt gliche Bewegungsabl ufe umsetzen Es gibt viele konkurrierende Techniken Einige der interessantesten davon sind in der Wii Remote vereint Sie ist vom Hersteller Nintendo als Spielcontroller Konzipiert worden und erm glicht auch Gelegenheitsspielern eine Nutzung ohne lange Eingew hnungsphase Mit nat rlichen Bewegungen und Gesten k nnen Spieler ihre virtuellen Figuren unter anderem bowlen oder Tennis spielen lassen Daher soll untersucht werden welche M glichkeiten sich damit f r die Interaktion mit einer virtuellen Realit t im Bereich dreidime
22. die Entwickler auf jegliches Urheberrecht verzichten Die Offenlegung des Quellcodes hat zu vielen Verbesserungen und Erg nzungen des Projekts durch die Hilfe von Freiwilligen und Unternehmen gef hrt In der aktuellen Version 7 26 sind dadurch VRPN Treiber f r diverse Ger te enthalten Das Projekt ist in C und C entwickelt worden Kommende Versionen sollen unter der Boost Software License 1 0 ver ffentlicht werden VRPN kann auf diversen Betriebssystemen genutzt werden Es besteht aus einer Sammlung von Ger teklassen und Ger teservern Die Kommunikation zwischen Server I Projektwebseite http www cs unc edu Research vrpn letzter Abruf am 12 08 2010 Auch IC IDO unterst tzt http lists unc edu read messages id 5543928 letzter Abruf am 12 08 2010 Virtual Reality Peripheral Network 26 und Client findet ber einheitliche Schnittstellen statt da jedes Steuerger t in mindestens eine von f nf allgemeinen Ger teklassen eingeordnet wird Taylor et al 2001 S 2 Tracker Geschwindigkeit Beschleunigung Position und Haltung Button Analog Dial ForceDevice Statt die Eingaben der Ger te direkt an die Clients zu liefern k nnen sie auch als Input f r andere Ger teobjekte genommen werden engl layered device Taylor et al 2001 S 2 Eines dieser Objekte hei t AnalogFly Es ist ein Tracker Objekt dessen Positions und Haltungsdaten serverseitig von beliebigen Ger ten bezogen werden Die verwe
23. e der Powerwall sind f r Triangulationsberechnungen zu weit voneinander entfernt Die Kamera der Wii Remote kann erst ab einem Abstand von drei Emulation 24 bis vier Metern zwei dieser Lichtquellen gleichzeitig erfassen Die Lichtpunktgr e betr gt bis einen Meter vor einem LED Panel den Minimalwert und ist daher zu ungenau Lichtpunktgr enmessung und Triangulation sind somit nicht einsetzbar Der Beschleunigungssensor ist keine Alternative da mit ihm nur ruckhafte Bewegungen m glich sind Es verbleibt somit kein Messwert um in der realen Welt eine Translationsbewegung entlang der z Achse zu messen Daher wird diese Bewegung auf zwei Weisen implementiert Eine Variante sind die Buttons Up und Down am Steuerkreuz die andere eine Schraubbewegung mit GyroRoll Eine Rechtsdrehung bewegt den Cursor dabei nach vorn Die Umsetzung erfolgt analog zu Listing 9 Die nat rliche Handgelenkdrehung w hrend des Schwingens kann diese Bewegung ungewollt ausl sen Die Navigation an der Powerwall und eine Steuerung des 3D Cursors sind somit ber Emulation des Gamepads f r die Wii Remote umgesetzt 3 6 Zwischenfazit Die Wii Remote ist ein sehr guter Ersatz f r die normale Computermaus Alle Bewegungen und Funktionen k nnen mit ihr auf verschiedene Weisen umgesetzt werden Zum einen ber die absolute Positionierung des Cursors mit Hilfe der Infrarotleiste zum anderen ber die internen Bewegungssensoren und die Buttons F r die Steuerung
24. eigen nach unten var xyAusgleich MapRange Abs wiimote Roll 90 180 1 0 Hase var YawY var Oben var YawSpeed var xyAusgleich var PitchX var Rechts var PitchSpeed var xyAusgleich var YawX var Rechts var YawSpeed var xyAusgleich var PitchY var Oben var PitchSpeed var xyAusgleich mouse CursorPosX var Oben var YawSpeed var YawY var PitchX mouse CursorPosY var Oben var PitchSpeed var PitchY var YawX Listing 7 Ausgleichsrechnung f r die Gyrometernutzung ber zwei Auswahlanweisungen wird die Haltung gepr ft Dabei gilt var Rechts 1 wenn roll gr er als 0 ist und var Oben 1 wenn roll zwischen 90 und 90 liegt F r alle anderen F lle erhalten die Variablen den Wert 1 Die Variable var xyAusgleich beinhaltet den Ausgleichsfaktor der sich aus dem Auslenkungswinkel ergibt Emulation 20 Die Werte der tats chlich gemessenen Bewegung werden je nach Haltung negiert Au erdem werden die Bewegungen bei Schr glage anteilig verrechnet Im Praxistest erweist sich eine permanent aktive Steuerung mit dem Gyrometer f r den allgemeinen Desktopbetrieb als zu empfindlich Doppelklicks sind kaum m glich Eine weitere Gl ttung der Werte bei gedr ckter Maustaste erschwert dagegen unter anderem das Aufziehen eines Auswahlrahmens Daher soll die Cursorsteuerung nur durch Halten des Zeigefingerbuttons B aktiviert werden w hrend mit dem Daumen unabh ngig davon alle anderen Buttons bedient w
25. ein Skript laden und ausf hren lassen Diese Dateien k nnen auch in den Autostart von Windows aufgenommen werden Damit GlovePIE im Desktopbetrieb keinen Platz in der Taskleiste belegt kann es zudem mit dem PIE Skriptbefehl hidepie versteckt werden Mit exitpie wird das Skript gestoppt und GlovePIE beendet Zur Ausf hrung dieses Befehls bietet sich in den Skripten f r die Wii Remote beispielsweise eine Tastenkombination oder wiimote exists als Bedingung an Ein gravierender Nachteil der Desktopsteuerung mit Synchronisation ist dass der 3D Cursor nicht ber die Mausbewegungen bedient werden kann und es f r ihn kein zweidimensionales Substitut an der Powerwall gibt 3 5 Umsetzung der Powerwall Steuerung Der 3D Cursor der VDP ist ein kegelf rmiges 3D Objekt das als Interaktions und Zeigewerkzeug in Modellvisualisierungen dient und wird ber VRPN angesprochen F r die IC Control und Joystickger te stehen VRPN Treiber ber das Modul IDO ImmersiveWorkspace im Reiter Control zur Auswahl bereit Die Nutzung der Joystickger teklasse ist auf ein Logitech Gamepad vom Typ RumblePad 2 abgestimmt Tabelle 3 zeigt die Belegungen des Gamepads 1 Das Skript liegt als IDO System_wiimote_gyro_desktop PIE bei Emulation 22 Button 1 Aktionstaste Button 8 roll Button 2 Kontextmen Button 9 Daten bertragungskan le tauschen Button 5 Z Button 10 Cursor zur cksetzen Button 6 roll Linker Analog Stick x y
26. eken des DDKs ben tigt Es wird ebenfalls eine bereits kompilierte Version angeboten Wiiuse ist unter der LGPL Lizenz ver ffentlicht Wiiuse fehlt eine Unterst tzung f r das Motion Plus und in der Folge auch dem VRPN Treiber Daher ist die angestrebte Steuerung dar ber nicht erreichbar Eine Umsetzung f r das Standard VRPN soll dennoch kurz gezeigt werden VRPN st tzt sich zur internen Konfiguration stark auf Pr prozessordirektiven Die Projekteigenschaften werden in der Headerdatei configure h mit bedingter Kompilierung und dem Setzen von Flags festgelegt Um die Bereiche der Wii Remote in den zu kompilierenden Code aufzunehmen m ssen dort die Flags VRPN_USE_DIRECTINPUT und VRPN_USE_WIIUSE gesetzt werden In den damit aktivierten Codebereichen sind einige Anpassungen f r wiiuse und DirectX notwendig Die f r die ben tigten Belange fertig angepassten Projekte der Projektmappe k nnen nun kompiliert werden Zum Testen werden der Server vrpn_server und der Client vrpn_print_devices verwendet Abbildung 6 Referenzierte Nebenprojekte beispielsweise die vrpn dll werden von Visual Studio automatisch mit kompiliert Der entstandene Server kann alle in VRPN spezifizierten Ger te darunter nun auch die Wii Remote in die dazugeh rigen Ger teklassen einteilen und auslesen Der Client gibt die Zust nde des beim Aufruf angelegten Ger teobjektes aus F r den Server wird zus tzlich eine Konfigurationsdatei standardm ig vrpn cfg ben ti
27. en IC IDO Dokumente dokumentiert In der idoDeviceServer ini werden die Instanzen f r die gew nschten Ger teobjekte angegeben die beim Start angelegt werden sollen F r das vorhandene Gamepad Plugin sind dies Joystick und I DOAnalogFly0 Die Zahl hinter dem Namen dient der Unterscheidung bei mehreren Ger ten gleichen Typs Joystick0 wird DirectXFFJoystick als Treiber zugewiesen Dieser bezieht seine Eingabedaten ber DirectInput und bietet force feedback Das Ger teobjekt DOAnalogFly ist eine spezialisierte Version von AnalogFly und hat dem Gamepad entsprechend nur Belegungen f r vier channel und somit f r zwei Analog Sticks Die Restlichen Navigationsfunktionen sind Buttons zugewiesen IDOAnalogFly wird als layered device zum Mittler zwischen Gamepad und VDP Device IDOAnalogFlyO Buttons Name JoystickO RotationAxisz 5 7 TranslateAxisz 46 Device IDOAnalogFlyO0 AxisY Name JoystickO Channel 1 0 0 Thresh 0 05 Offset Scale 2 0 Power 4 0 Listing 10 Die idoDevicesServer ini des Gamepads Auszug IDOAnalogFly bietet neben den in Listing 10 angegebenen Funktionen noch AxisX RotationX und RotationY denen die jeweiligen Achsen zugeordnet sind 2 Auf dem Hauptrechner im VR Labor C Programme IDO System IDOExplore sysConfig immersive Virtual Reality Peripheral Network 31 Mehr als vier Achsen sind im Ger teobjekt IDOAnalogFly nicht vorgesehen wodurch weitere Eintr ge wie AxisZ oder R
28. er Cluster Configuration und im Reiter Navigation kann die Synchronisation des Desktops mit der Powerwall aktiviert und konfiguriert werden Eine ausf hrliche Anleitung mit Erkl rungen zu allen Optionen befindet sich in IC IDO 2008 S 74 75 Die Reiter Appearance und Tracking sind f r die Emulation nicht relevant 3 4 Umsetzung der Desktopsteuerung Zun chst soll die Wii Remote zur Steuerung des Desktoprechners verf gbar gemacht werden Sobald Maus und Tastatur mit ihr gesteuert werden k nnen ist auch eine Navigation durch die dreidimensionalen Modelle mit dem Desktopprogramm m glich Zus tzlich k nnen Navigationsbewegungen am Desktop durch Synchronisation auf die Powerwall bertragen werden In GlovePIE kann der Mauscursor ber zwei Arten manipuliert werden Zum einen ber seine Position auf dem Bildschirm CursorPosX CursorPosY und zum anderen durch Emulation der physischen Bewegungen einer Maus DirectInputX DirectInputY Bei CursorPos ist die linke obere Ecke des Bildschirmes der Nullpunkt X Achse und y Achse entsprechen der Bildschirmaufl sung abz glich eines Pixels DirectInput misst die Bewegungen der Maus in dots per inch dpi Diese Unterscheidung ist wichtig da manche Programme einen eigenen Mauszeiger erstellen und die Eingabesignale mittels DirectInput einlesen Einige Anwendungen frieren den Mauszeiger in der Bildmitte ein blenden ihn dabei aus und bertragen die Eingabesignale ohne Cursor auf den Bildschirmin
29. erden k nnen Die somit geschaffene Maussteuerung muss noch um die Desktopsteuerung der IC IDO Software erg nzt werden Die wichtigsten Befehle f r die CAD Steuerung fasst Tabelle 1 zusammen Zoom Shift Linke Maustaste Mausbewegung y Drehen Linke Maustaste Mausbewegung x y Objekte verschieben Strg Linke Maustaste Mausbewegung x y Objekte selektieren Linke Maustaste Funktionsmen Rechte Maustaste Vollbild F11 Tabelle 1 IC IDO Software Desktopsteuerung CAD IC IDO 2008 S 18 Die verwendeten Tasten werden nun gem Tabelle 2 den Buttons der Wii Remote zugewiesen Die linke Maustaste ist die Hauptaktionstaste und Doppelklicks sind f r die Navigation in der IC IDO Software nicht n tig Daher wird auf eine gesonderte Aktivierung der alternativen Steuerung verzichtet und die linke Maustaste dem Button B zugewiesen Der Daumen kann auf der Oberseite der Wii Remote alle anderen Buttons f r die Tastenkombinationen erreichen Da die Visualisierung per Synchronisation auch an der Powerwall betrachtet werden soll ist das Umschalten in den Vollbildmodus notwendig Die Navigation funktioniert ansonsten nur solange sich der Mauszeiger im Visualisierungsbereich des Desktopfensters befindet Dies kann beim Betrachten der Powerwall nicht sichergestellt werden Wiimote A Shift Wiimote Minus Strg Wiimote B Linke Maustaste Wiimote Down Rechte Maustaste Tabelle 2 Deskto
30. ert diese durch die nun zug nglichen CAD Funktionen der Desktopsteuerung Die Eingaben erfolgen ber Tastatur und Maus Allerdings ist es nicht m glich den projizierten Cursor zu nutzen Au erdem haben Desktop und Projektion unterschiedliche Referenzsysteme f r die Umsetzung der Bewegungsbefehle Die Auswahl der VDP ImmersiveWorkspace als Referenzpunktsystem bei gleichzeitiger Nutzung eines Steuersystems f r die Powerwall das nicht von der Orientierung des 3D Cursors abh ngig ist behebt dies Die dritte und letzte Alternative bietet das Pluginsystem der VDP IC IDO 2006 S 118 Weitere Eingabeger te k nnen durch Hinzuf gen einer entsprechenden DLL engl dynamic link library oder Shared Library zur Software des Hauptrechners ausgelesen werden Dieses System arbeitet wie auch das optische Trackingsystem mit VRPN und erlaubt auf diesem Weg die Kontrolle des projizierten Cursors ber ein Plugin kann im Virtual Reality Labor bereits ein Logitech Gamepad genutzt werden Dessen Konfiguration ist allerdings nur wenig intuitiv und durch die Kabelgebundenheit wird das Erleben der virtuellen Realit t beeintr chtigt Siehe dazu Abschnitt 4 Alternative Steuerger te 5 2 Alternative Steuerger te 2 1 berblick Es gibt viele etablierte Speziall sungen f r unterschiedlichste Anspr che In Flugsimulatoren erhalten zuk nftige Piloten ihre Grundausbildung Am Ausbildungsger t Schie simulator Handwaffen Panzerabwehrhandwaffen
31. erte verwendet GlovePIE um die Beschleunigung ohne Gravitationseinwirkung zu errechnen RelAccX RelAccY RelAccZ Rel steht dabei f r relativ da die Werte sich an der augenblicklichen Haltung orientieren Das x y z Koordinatensystem bewegt sich also in diesem Fall mit der Wii Remote In Verbindung mit der Infrarotleiste kann die Wii Remote als Zeigeger t genutzt werden Sie kann bis zu vier LEDs gleichzeitig tracken blicherweise werden in den Infrarotleisten mehrere LEDs als Panel verbaut um auch in mehreren Metern Entfernung einen ausreichend gro en Lichtpunkt f r die Infrarotkamera zu bieten Prinzipiell Kann aber jede Lichtquelle genutzt werden die genug infrarotes Licht abstrahlt und sich so von der Umgebung abhebt Weitere geeignete Lichtquellen w ren somit unter anderem Kerzen oder die LEDs von handels blichen Fernsehfernbedienungen Anderes Licht zum Beispiel von blauen LEDs kann wegen des Infrarotfilters vor der Kamera nicht benutzt werden Von der Kamera erfasste Lichter werden zur Lokalisierung der Fernbedienung in Relation zur Lichtquelle genutzt Daf r reicht ein einzelner Lichtpunkt aus Befindet sich der Lichtpunkt etwa im rechten unteren Bereich des Sichtfeldes so ist die Wii Remote entweder im linken oberen Quadranten vor der Lichtquelle oder zeigt zumindest dorthin Diese zwei F lle k nnen dank des Lagesensors unterschieden werden Die Kamera arbeitet mit einer Aufl sung von 1024x768 Pixeln GlovePIE bietet die Mes
32. gt In dieser wird unter anderem festgelegt welche Ger te von ihm gelesen werden sollen und wie sie benannt werden GZ UEPN_server gt vrpn_server exe f vrpn cfg m wiiuse vB 12 loaded pes By Michael Laforest lt thepara at lgmail dot com gt http wiiuse net http wiiuse sf net INFO Connected to wiimote id 11 vrpn Connection request received 127 0 0 1 2751 G gt urpn_print_devices exe WiiMote Clocalhost EN press WiiMote Rlocalhost as Tracker Button Analog Dial Text SE ress C to exit nalog WiiMote localhost 38 0 00 8 04 1 86 1 06 1 86 1 pp 1 pp 1 80 1 806 Ven 1 806 1 Dn 6 00 DH Dn H Dn DH Dn DH Dn DH Dp DH Dp 6 00 B 8 8 00 8 00 8 00 8 00 pop pop pop pop pop 6 08 D pop x BR 86 00 8 908 06 00 06 00 8 00 6 08 pop D pp pop 6 00 Hop D op D pop 0 00 6 00 pop pop pop pop pop pop 64 chans Abbildung 6 VRPN Server und Client f r die Wu Remote 17 Siehe http de wikipedia org wiki GNU_Lesser_General_Public_License letzter Abruf am 13 08 2010 Bezugsquelle von wiiuse http wiiuse sourceforge net letzter Abruf am 13 08 2010 Virtual Reality Peripheral Network 29 Die Zuordnung der channel zu einzelnen Navigationsfunktionen erfolgt durch die Abnehmerapplikation auf der Clientseite und wird von VRPN nicht spezifiziert Daher ist ber den VRPN Code auch keine nderung im Mapping f r
33. halt N heres dazu ist unter http ppjoy blogspot com 2010 03 about signed drivers html in Westhuysens Blog zu finden letzter Abruf am 08 09 2010 Emulation 17 Die IC IDO Software nutzt die Systemmaus Dadurch kann mit dem Pixelraster des Bildschirms gearbeitet werden Die Hardware der Wii Remote bietet zur Umsetzung der zweidimensionalen Bewegungen des Mauscursors mehrere M glichkeiten Steuerkreuz oder beliebige andere Buttons Horizontale Bewegungen roll vertikale Bewegungen pitch _ Cursorpositionierung mit Infrarotleiste und Wii Remote als Zeigeger t Bewegung mittels Beschleunigungssensoren g RelAcc Gvrometer im Motion Plus PitchSpeed und YawSpeed var Geschwindigkeit 10 Zahl entspricht Pixeln pro Frame if wiimote Left then mouse CursorPosX var Geschwindigkeit if wiimote Right then mouse CursorPosX var Geschwindigkeit if wiimote Up then mouse CursorPosY var Geschwindigkeit if wiimote Down then mouse CursorPosY var Geschwindigkeit Listing 2 Cursorsteuerung mit Buttons Die Variante in Listing 2 nutzt die ergonomischen M glichkeiten der Wii Remote nicht aus und die Geschwindigkeit des Cursors ist statisch Die Fernbedienung soll einh ndig gef hrt und au er B alle Buttons mit dem Daumen bet tigt werden welcher hier aber am Steuerkreuz gebunden wird Um Funktionen auszul sen m sste daher oft die zweite Hand genommen werden Listing 3 zeigt eine Umsetzung ohne Buttons und mit dynamisc
34. hand der Reflektionsmuster wird Einleitung 4 die Position vor der Projektionsfl che sowie der Haltungswinkel des Stabes errechnet Die Berechnungen erledigt dabei die DTrack Software der ART GmbH A R T 2010 Anschlie end werden die Werte an den Hauptrechner gesendet von dort mittels Virtual Reality Peripheral Network VRPN an die drei Rechner f r die Projektorsteuerung weitergeleitet und letztlich auf den Cursor an der Powerwall abgebildet Dies erfolgt mit absoluten Werten wodurch eine bestimmte Positionierung des Stabes immer die gleiche Position und Haltung des Cursors auf der Projektionsfl che bedingt F r absolut gewertete Eingaben ist ein fester Bewegungsradius an der Projektionsfl che vorgegeben Daher gibt es auch keine Zur cksetzfunktion reset f r den Cursor denn er kann nicht aus dem projizierten Bild verschwinden Die Betrachtungsperspektive kann zudem von der Kopfhaltung beeinflusst werden da die Interferenzfilterbrille INFITEC Brille des Hauptnutzers ebenfalls durch Reflektoren getrackt wird Die Brille ist somit auch ein Steuerger t dessen Funktionsumfang sinnvoll eingeschr nkt wurde Brille und Stab werden vom System anhand der spezifischen Reflektoranordnung unterschieden Eine zweite Steuerungsoption ist die Synchronisation der Projektionswand mit der CAD engl computer aided design Anzeige des IC IDO Software Hauptrechners Diese Methode bietet alle inhaltlichen Funktionen der Powerwallsteuerung und erweit
35. her Geschwindigkeitsanpassung var G 40 Geschwindigkeit bei voller Auslenkung mouse CursorPosX MapRange Wiimote Roll 90 90 var G var G mouse CursorPosY MapRange Wiimote Pitch 90 90 var G var G Listing 3 Cursorsteuerung mit roll und pitch Die Funktion MapRange value bl b2 cl c2 dient hier der Umrechnung der in Grad gemessenen Werte von roll und pitch auf ein Pixelma f r die Cursorbewegung Der erste bergabeparameter gibt die zu messende Gr e an Darauf folgen paarweise der erlaubte Eingabebereich und der Zielbereich nach der Umrechnung Der Cursor wird sich entsprechend des Auslenkungswinkels bewegen bis die Auslenkung beendet ist Die Wii Remote muss bei der Variante in Listing 3 also gerade gehalten werden wenn keine Bewegung des Cursors gewollt ist Der Einbau von Pufferzonen kann das zwar erleichtern dennoch bleibt die R ckkehr in die horizontale und vertikale Ausgangslage n tig Emulation 18 Besser w re eine Steuerung die den Cursor nur w hrend einer Bewegung des Eingabeger tes ver ndert und ihn entsprechend bei Bewegungslosigkeit verharren l sst if Wiimote PointerVisible Die Bildschirmaufl sung des Desktops im VR Labor 1680x1050 mouse CursorPosX Wiimote PointerX screen Width mouse CursorPosY Wiimote PointerY screen Height end if Listing 4 Wii Remote als Zeigeger t Die Umsetzung in Listing 4 eignet sich hervorragend zur Nutzung der Wii Remo
36. ls Schraubbewegung ersetzt werden Das gr te Problem stellt allerdings die Schnittstelle zwischen Wii Remote und VDP dar Einige Funktionen sind auf dem verwendeten Gamepad Plugin den Buttons zugeordnet was dynamische Bewegungen erschwert ber verschiedene Behelfe kann dieser Mangel allerdings zufriedenstellend behoben werden Dennoch w re eine Schnittstellen nderung oder ein direkter Anschluss der Wii Remote an die VDP besser Daf r sind Kenntnisse der Interna von VRPN Anwendungen notwendig 4 Virtual Reality Peripheral Network Das Virtual Reality Peripheral Network VRPN ist eine Entwicklung der University of North Carolina at Chapel Hill Der Initiator des Projektes Russel M Taylor II verfolgt damit seit 1998 die Bereitstellung einer ger teunabh ngigen und netzwerktransparenten Schnittstelle zu VR Eingabeger ten 4 1 Grundlagen Werden in einer Anlage mit mehreren Displays oder Projektoren einige Computer gleichzeitig mit der Darstellung der VR Umgebung betraut so m ssen sie alle Zugang zu den Eingaben des Steuerger tes haben VRPN stellt einen Ger teserver zur Verf gung bei dem sich beliebige Rechner im lokalen Netzwerk oder ber das Internet registrieren k nnen und dann mit den Eingabedaten beliefert werden Somit entf llt eine mehrfache Verkabelung des Steuerger tes und die Darstellungsfl che kann ohne Neustart des Servers jederzeit variieren Das VRPN Projekt ist public domain software und somit gemeinfrei da
37. manchen Konfigurationen wird die Wii Remote sofort nach dem Anschluss wieder getrennt Dies kann auf folgendem Weg behoben werden Zun chst wird die services msc ber den Ausf hren Dialog gestartet Dadurch wird die lokale Systemdienstliste aufgerufen Unter diesen Diensten befindet sich der Bluetooth Support Service In dessen Eigenschaften muss auf das lokale Systemkonto umgestellt und der Datenaustausch zwischen Service und Desktop erlaubt werden Weiterhin fordert Windows den Nutzer beim Anschluss der Wii Remote in unregelm igen Abst nden zu einem Rechnerneustart auf Das kann ignoriert werden Bei weiteren Problemen muss auf Treiber des Stickherstellers ausgewichen werden wobei auch das keine Garantie bietet W hrend des Anschlusses identifiziert sich die Wii Remote durch Deskriptorsegmente in deren read only memory ROM als HID Ger tetyp Sie f llt somit in die HID Ger teklasse und wird ber das Bluetooth HID Profil eingebunden Dieses leitet direkt auf die USB HID Klasse weiter USB HID stellt eine einheitliche Schnittstelle f r den Datentransfer vom Steuerger t zum HID Klassentreiber und umgekehrt bereit Auf diese Weise stehen die Eingabedaten allgemein zur Verf gung und k nnen von einer Anwendung ausgelesen werden USB 2001 S 10 Unter Windows k nnen die Werte dank der DirectInput Bibliothek unmittelbar entgegengenommen und von der implementierenden Anwendung verarbeitet werden Dies verringert Reaktionszeit und Rechenlast
38. ndeten Ger te sind f r Clients nicht sichtbar da diese lediglich ein AnalogFly Objekt registrieren Durch dieses VRPN Ger temanagement sind keine nderungen an den Clients notwendig wenn das Steuerger t gegen eines mit den gleichen Ger teklassen ausgewechselt wird Zum Datenaustausch werden Callback Funktionen benutzt Der Client muss Objekte der gew nschten Ger teklassen anlegen und dem Konstruktor einen String bergeben der den Namen des Ger tes am Server und dessen Netzwerkadresse beinhaltet beispielsweise TrackerO localhost Das Objekt registriert sich dann beim angegebenen Server f r das gew nschte Ger t Optional kann zus tzlich eine bereits bestehende Verbindung und der Name einer alternativen Ger tekonfigurationsdatei bergeben werden Wird dies ausgelassen so hat der Konstruktor daf r NULL als Vorgabewerte Der Client muss das Ger teobjekt abfragen engl polling um den aktuellen Zustand des Steuerger tes zu erfahren Diese Verfahrensweise ist effektiv aber verursacht gleichzeitig erh hte Last durch die h ufigen Methodenaufrufe Effizienter w re eine Ereignissteuerung bei der sich das Ger teobjekt automatisch meldet sobald sich der Zustand des Steuerger ts ndert Der Server aktualisiert den Objektzustand in der Voreinstellung mit einer Rate von 1KHz und damit oft schneller als es native Ger tetreiber am lokalen Rechner schaffen 60Hz Taylor et al 2001 S 5 Die Daten der Eingabeelemente wie die einzelnen A
39. ng engl force feedback besitzen Ausschlie lich mit Gesten funktioniert das Motion Tracking Noch wird es vorrangig zur Aufnahme von Bewegungsabl ufen eines dreidimensionalen K rpers genutzt Microsoft entwickelt augenblicklich das Eingabeger t Kinect Projektname Natal mit dessen Hilfe keine Steuerger te in Nutzerh nden mehr n tig sein sollen Microsoft 2010 Alles wird ber Spracheingaben und die Bildauswertung einer Tiefensensorkamera realisiert Kinect soll zun chst f r die Microsoft Spielkonsole Xbox 360 sp ter auch f r Windowscomputer erscheinen Der Preis wird bei 150 liegen vorl ufiges Erscheinungsdatum ist der 10 Siehe http www sensable com und http www intuitivesurgical com letzter Abruf jeweils am 19 06 2010 Siehe http www Sdt com letzter Abruf am 19 06 2010 Alternative Steuerger te 6 November 2010 Das SDK engl software development kit ist bislang nur f r registrierte Spielentwickler verf gbar Die bliche Computersteuerung aus Tastatur und Zwei Tasten Maus ist ebenfalls f r VR geeignet wenn auch eingeschr nkt Eine Maus kann zwei Translationen durch Verschieben und eine durch das Mausrad abdecken Yaw pitch und roll k nnen in beliebiger Verbindung mit einer gedr ckten Maus oder Tastaturtaste ausgef hrt werden Mehr M glichkeiten bieten 3D M use Sie sind im CAD und VR Bereich weit verbreitet weil sie die intuitive Navigation in den sechs Freiheitsgraden unterst tzen
40. nsionaler Modellvisualisierung anbieten und wie diese nutzbar gemacht werden K nnen 1 2 Zielstellung F r das Virtual Reality Labor des Instituts f r Wirtschaftsinformatik der Universit t Leipzig sollen Steuerungsalternativen erschlossen werden indem weitere Eingabem glichkeiten gefunden an die bestehende Anlage angeschlossen und evaluiert werden Beispielhaft soll dabei die Nintendo Wii Remote untersucht werden Im Labor kommt die Visualisierungssoftware Visual Decision Platform VDP der Firma IC IDO zum Einsatz Diese erm glicht die Betrachtung von und Interaktion mit dreidimensionalen Einleitung 2 Modellen am Computermonitor sowie auf einer mehrelementigen Projektionsfl che Powerwall Beide Varianten sollen mit der Wii Remote bedient werden k nnen Letztere zum einen ber Synchronisation des Desktops mit der Projektionswand zum anderen ber die urspr nglich von IC IDO vorgesehene Programmierschnittstelle In diesem Zuge soll auch das Potential dieser Fernbedienung beurteilt werden Es wird darauf eingegangen mit welchen Methoden und Werkzeugen ein Anschluss an die Anlage erfolgen kann und deren praktische Anwendung auch im Hinblick auf weitere Steuerger te erl utert 1 3 Grundlagen der Steuerung und Interaktion Der Nutzer eines Systems das eine interaktive dreidimensionale Darstellung bietet muss mit den ihm gegebenen M glichkeiten in diesem virtuellen Raum navigieren k nnen Dies geschieht ber sechs Freihei
41. nur zwei Infrarot LED Panel An der Wii Remote sind neun Buttons und ein Steuerkreuz vorhanden Einer der Buttons befindet sich im Batteriefach und einer fungiert als Power Knopf Somit sind sieben von ihnen einsetzbar Ein kleiner Motor im Inneren erm glicht Kraftr ckkopplung Ein Lautsprecher ist auch verbaut kann aber nur T ne minderer Qualit t hervorbringen Vier blaue LEDs zeigen verschiedene Zustandsmodi wie Batteriest rke oder Spielernummer an Weiterhin befindet sich an ihr ein Erweiterungsport Dar ber kann diverses Zubeh r angeschlossen werden Beispielsweise das Motion Plus was der Wii Remote einen Gyrometer und einen verfeinerten Lagesensor bereitstellt Das Motion Plus besitzt selbst einen Erweiterungsport und kann als transparenter Intermedi r zwischen der Wii Remote und zus tzlichen Erweiterungen genutzt werden Da die Wii Remote f r viele k rperbetonte Spiele gedacht ist hat Nintendo sie zudem mit einer optionalen Handgelenksschlaufe und einer Gummih lle ausgestattet F r das Labor des Instituts wurde folgende Hardware beschafft Wii Remote Sensorleiste batteriebetrieben alternativer 12V Netzanschluss Motion Plus Ladeger t und 2 Akkus USB engl universal serial bus Bluetooth Stick 2 2 2 Verbindungsherstellung Die Wii Remote arbeitet mit Bluetooth ist aber standardm ig nicht f r Bluetooth Empf nger sichtbar Dies muss zur Verbindungsherstellung kurzzeitig aktiviert werden Das geschieht be
42. otationZ in der Konfigurationsdatei ignoriert werden Auch wenn die Werte des neuen Gamepads ausgelesen werden k nnen so erfolgt dennoch kein Mapping auf den 3D Cursor ber DOAnalogFly Da das AnalogFly Ger teobjekt sechs Achsen unterst tzt soll es anstelle von IDOAnalogFly genutzt werden und die idoDeviceServer ini wird entsprechend angepasst Zun chst werden JoystickO und AnalogFlyO angelegt und die channel von Joystick0 den Navigationsfunktionen f r Translation und Rotation von AnalogFlyO zugewiesen Tabelle 4 Anschlie end muss in der avatarDevices ini im gleichen Verzeichnis die AnalogFly0 als zu nutzendes Eingabeger t f r Tracker RightHand angegeben werden PPJoy VRPN channel Device AnalogFlyO Funktion AnalogO 0 AxisX Analogl 1 AxisY Analog2 2 Axisz Analog3 5 RotationX Analog4 3 RotationY Analog 4 RotationZ Tabelle 4 AnalogFly als layered device Zwar kann nun jede Bewegung dynamisch erfolgen aber die Rotationen bleiben weiterhin schlecht nutzbar und beeinflussen zudem die Translationen Die Bewegungen ber AnalogFly werden relativ zur Haltung des Cursors ausgef hrt Ohne externes Tracking erschwert dies daher die Steuerung des relativ positionierten Cursors Bei DOAnalogFly ist dieses Problem nicht vorhanden da nur zwei dynamische Translationen vorgesehen sind und der Cursor damit lediglich auf einer vertikalen Ebene bewegt wird unabh ngig von seiner Orientierung AnalogFly k
43. oystick Das Programm kann daf r Eingaben von ber 40 Ger ten nutzen Unter anderem Diverse Joysticks und Gamepads Wii Remote und Zubeh r Datenhandschuhe Trackingsysteme Emulation 12 Von besonderer Relevanz f r diese Arbeit ist die Einbindung der Wii Remote In der Skriptsprache wird sie ber die umgangssprachliche Bezeichnung Wiimote angesprochen Die PIE Form lautet wiimote Nummer zu nutzende Daten oder Button Ist nur ein Ger t angeschlossen so kann die Nummerierung entfallen Die Anzahl ist in GlovePIE auf sieben St ck pro Bluetooth Empf nger begrenzt Kenner 2010 S 75 Beim Start eines Skriptes werden die genutzten Wii Remotes von GlovePIE initialisiert Dies zeigen die beiden u eren LEDs an Leuchten die LEDs in der Mitte wird zus tzlich das Motion Plus kalibriert In diesem Zeitraum sollte die Wii Remote nicht bewegt werden Der Vorgang ist beendet sobald nur noch eine LED aktiv ist Sind weniger Wii Remotes verbunden als im Skript genutzt werden bietet GlovePIE eine automatische Verbindungsherstellung an sofern der Microsoft Treiber genutzt wird In GlovePIE wird f r die Wii Remote ein x y z Koordinatensystem genutzt Achse pitch y Achse yaw z Achse roll Roll pitch und yaw k nnen die in Abbildung 4 beschrieben Werte liefern Mit SmoothRoll und SmoothPitch stehen auch gegl ttete aber daf r weniger exakte Werte zur Verf gung roll ieh 90
44. psteuerung Buttonbelegung der Wii Remote 1 Ein Skript f r die Wii Remote als Mausersatz und Rechnerfernbedienung ohne IC IDO Softwarebezug befindet sich als wiimote_gyro_desktop PIE auf dem beiliegenden Datentr ger Emulation 21 Am Desktop ist die Bewegungsfreiheit des Cursors im Rahmen der Bildschirmaufl sung definiert der verwendete dreidimensionale Raum ist jedoch unbegrenzt Damit die Navigation nicht abrupt endet wird der Cursor bei Erreichen des Darstellungsrandes auf dessen Mitte zur ckgesetzt Dies geschieht mit den Werten Screen Width und Screen Height welche immer die aktuelle Aufl sung enthalten Die Werte werden halbiert und den CursorPos Werten zugewiesen Bei den CursorPos Werten beginnt die Z hlung bei Null und sie k nnen maximal den Wert Screen Width 1 beziehungsweise Screen Height 1 erreichen Im Reiter Navigation von IDO ImmersiveWorkspace kann die Projektionsdarstellung Immersive Workspace als Referenzperspektive engl viewpoint reference f r die Bewegungen ausgew hlt werden Ist die Standardsteuerung mit IC Control eingestellt sind alle Bewegungen relativ zur Cursororientierung was keine winkeltreue Navigation an der Powerwall gegen ber der Desktopsteuerung zur Folge hat Abhilfe verschafft die Auswahl der Orientierungsunabh ngigen 3wall_gamepad Konfiguration im Reiter Cluster Der Aufruf der Skripte kann weiterhin erleichtert werden Batch Dateien k nnen GlovePIE starten sowie automatisch
45. r Kit 7 1 0 7600 Microsoft DirectX SDK June 2010 Diese Pakete stellen umfangreiche Entwicklungsbibliotheken und Werkzeuge bereit Vom Driver Development Kit DDK werden die Build Enviroments und von DirectX die Header und Bibliotheken ben tigt Es werden die Standardinstallationspfade genutzt Um Sound und grafische Ausgaben auf den Ger ten der Clients anzusteuern sind zus tzliche Bibliotheken n tig die im Rahmen dieser Arbeit nicht verwendet werden In der Projektmappe ist folgendes Includeverzeichnis bei den Projekten vrpn vrpndll timecode_generator vrpn_phantom vrpn_server und vrpn_print_devices zu erg nzen SYSTEMDRIVE Programme Microsoft DirectX SDK June 2010 Include Ein weiteres Bibliotheksverzeichnis wird f r vrpndll vrpn_server und vrpn_print_devices zus tzlich vom Linker ben tigt SYSTEMDRIVE Programme Microsoft DirectX SDK June 2010 Lib x86 Ein VRPN Treiber f r die Wii Remote ist im SDK bereits vorhanden vrpn_WiiMote C vrpn_WiiMote h Er bezieht seine Daten ber die DLL des wiuse Projektes die beim Start eines Servers in dessen Verzeichnis vorliegen muss Zur Kompilierung der wiiuse dll Download ftp ftp cs unc edu pub packages GRIP vrpn letzter Abruf am 12 08 2010 Von der Installation weiterer Bestandteile des Driver Kits wird abgeraten Das Device Simulation Framework besch digt die Windows XP Installation Virtual Reality Peripheral Network 28 werden die HID Biblioth
46. r den Button im Batteriefach komfortabler geht es durch gleichzeitiges Dr cken der Buttons One und Two Dieser Zustand dauert 20 Sekunden an und kann durch Halten der Buttons beliebig verl ngert werden Er wird durch das Blinken mindestens einer Alternative Steuerger te 8 LED angezeigt wobei die Anzahl der Lichter gleichzeitig die Restkapazit t der Batterie wiedergibt Am Computer wird das Ger t als Nintendo RVL CNT 01 erkannt und muss ohne Verbindungsschl ssel angeschlossen werden Es sollte sich keine aktive Wii Konsole in der N he befinden da sie sich sonst dort zu registrieren versucht ber die Software von BlueSoleil die im Lieferumfang des Bluetooth Sticks enthalten war vollzieht sich der Anschluss einfach und auch nach einem Neustart von Rechner oder Wii Remote zuverl ssig Doch der genutzte Bluetooth Treiber installiert zugleich viele Platzhalterger te als Joysticks Dadurch nutzt der VRPN Server auf dem Hauptrechner einen nicht vorhandenen Joystick anstatt der Wii Remote oder des angeschlossenen Gamepads und arbeitet nicht mehr sinnvoll mit human interface device HID Ger ten F r die lokale Nutzung ohne VRPN ergeben sich dagegen keine Probleme Weniger zuverl ssig daf r aber mit VRPN kompatibel ist der Standardtreiber f r Bluetooth von Windows XP BlueSoleil muss vor seiner Nutzung vollst ndig entfernt worden sein Je nach Treiberversion und genutztem Bluetooth Stick kommt es mit dem XP Treiber zu Problemen Bei
47. rin angezeigt ob die Wii Remote erfolgreich angeschlossen wurde und von GlovePIE ausgelesen werden kann Dazu muss diese Zeile in den Editorbereich geschrieben und die Skriptinterpretation ber den RUN Button gestartet werden Sollen mehrere Informationen angezeigt werden sind diese mit einem zu verbinden Fie Edit Search View Run CP Settings Language TroubleShooter Help Untitled GUL Yariables True 2 29 degrees False debug wiimote Exists H wiimote Roll wiimote B lt ll I gt 1 1 Modified Insert Abbildung 5 Debuginformationen anzeigen in GlovePIE Die PIE Sprache hat noch weitere Inhalte wie bitweise Verschiebung und Spracherkennung welche aber f r die angestrebte Emulation an der VDP nicht relevant sind 7 F r den vollen Funktionsumfang siehe vorl ufige 0 43 Programmdokumentation Kenner 2010 Das Programm kann von http www glovepie org bezogen werden letzter Abruf am 17 07 2010 Emulation 15 3 2 PPJoy Das zweite Programm zur Umsetzung der Emulation ist PPJoy Es steht f r nicht kommerzielle Zwecke frei zur Verf gung Die aktuelle Version ist 8 46 Seit November 2009 sind neue PPJoy Versionen unter 64 bit Systemen lauff hig Somit funktioniert das Programm auch auf dem Hauptrechner unter einem 64 bit Windows XP im VR Labor stabil Vor der Installation wurde dies in einer virtuellen Maschine mit dem entsprechenden Betriebssystem getestet Der
48. s dafrikanische Programmierer Deon van der Westhuysen will mit seinem Programm alte Gamepads und Controller wieder nutzbar machen Eingabeger te f r den Commodore 64 Atari ZX Spectrum die Playstation fr he Konsolen von Nintendo oder Sega und auch selbst gebaute Ger te k nnen an heutigen Rechnern wieder genutzt werden Dazu ist ein paralleler Anschluss und etwas handwerkliches Geschick notwendig Oft haben alte Ger te einen speziellen Adapter Die Pins der Controlleranschl sse werden daher per Draht mit den Kontakten des LPT verbunden und PPJoy stellt einen Treiber bereit damit die neue Hardware auch als Eingabeger t akzeptiert und erkannt wird Misslingt dies versucht PPJoy ein Mapping der Eingabesignale auf einen virtuellen Joystick der vom System nicht von einem physisch vorhandenen Joystick unterschieden werden kann Die virtuellen Joysticks k nnen beliebig konfiguriert werden Bis zu acht Achsen 32 Buttons und zwei Steuerkreuze sind pro Ger t erstellbar Die Achsen wiederum k nnen verschiedenen Eingabemethoden zugeordnet werden beispielsweise dial rudder slider wheel x Achse und x Rotation Westhuysen 2004 Ein solches virtuelles Ger t kann auch unabh ngig von vorhandener Hardware angelegt werden Andere Anwendungen k nnen diese Ger te dann zur Emulation von Joystickeingaben nutzen In GlovePIE lautet die Zugriffsform ppjoy Nummer Button oder Achse W hrend der Installation von PPJoy erscheinen einige Warnungen da
49. ss der Treiber nicht signiert sei und ein Risiko f r das System darstelle Derartige Warnungen k nnen ignoriert werden Der Treiber ist lediglich aus finanziellen Gr nden nur test signed Digitale Treibersignaturen werden ab 499 pro Jahr verkauft was Westhuysen nicht f r ein Freizeitprojekt aufbringen m chte Laut Westhuysen w rde der einzige Effekt darin bestehen dass die Systemwarnungen bei der Installation entfallen und das Programm unter 8 Versionen ab 8 4 bewirken bei Windows 2000 und lter einen Bluescreen beim Systemstart da seitdem das DDK von Windows 7 f r die Weiterentwicklung von PPJoy genutzt wird N here Informationen zur Entwicklung und eine Downloadm glichkeit f r das Programm befinden sich in Westhuysens PPJoy Blog Siehe http ppjoy blogspot com letzter Abruf am 08 09 2010 Emulation 16 Windows Vista und Windows 7 nutzbar ist ohne das Betriebssystem vorher in den Testmodus versetzen zu m ssen Das aktuelle Testrelease aktiviert diese Umstellung bereits automatisch Die Emulation mit der Wii Remote kann nach erfolgreicher Installation von GlovePIE und PPJoy beginnen 3 3 IDO ImmersiveWorkspace Das Modul I DO ImmersiveWorkspace der IC IDO Software ist f r die Navigationskontrolle zwischen Desktop und Powerwall zust ndig Es kann ber den Men punkt Modules des Desktopprogrammes aufgerufen werden und ist in vier Rubriken aufgeteilt Der Reiter Cluster dient der Auswahl eines Steuerger tes im Rahmen d
50. swerte entweder als Position einzelner Lichtpunkte im Pixelraster an dot x dotly Emulation 14 dot2x dot4y oder bereits auf einen Bereich von Null bis Eins umgerechnet in einem Koordinatensystem PointerX PointerY PointerXY dessen linke obere Ecke der Nullpunkt von x und y Achse ist Es kann gemeldet werden ob ein bestimmter Lichtpunkt aus dem Sichtfeld verschwindet dot vis und die Gr e eines Lichtpunktes ermittelt werden dotlsize Mit der Lichtpunktgr e ist somit auch ein Wert f r eine z Achse nutzbar welche die Entfernung zur Lichtquelle widerspiegelt Diese Methode ist allerdings nicht sehr genau Besser funktioniert dies unter Einbeziehung von zwei Lichtquellen deren Abstand zueinander bekannt sein muss Werden beide Lichter von der Wii Remote erfasst kann mittels Triangulation die Entfernung zwischen Lichtquelle und Wii Remote berechnet werden Den Abstand misst GlovePIE in Metern und schreibt ihn in den Vektor position 3 Die vier blauen LEDs der Wii Remote ledI und das force feedback rumble k nnen mittels true und false einzeln geschaltet werden Gestensteuerung wird ebenfalls unterst tzt Ereignisse wie SwingUpDownStop CurveRightUp und UpsideDownOnsShoulder werden vom Programm erkannt und liefern zur weiteren Verarbeitung boolesche Werte In GlovePIE werden Statusinformationen oder Textausgaben zu Debugzwecken ber ein Textfeld ausgegeben Abbildung 5 Mittels debug wiimote exists wird da
51. t in gleicher oder hnlicher Form oder auszugsweise noch keiner Pr fungsbeh rde vorgelegen Leipzig 23 September 2010 Christoph Jobst
52. te als Zeigeger t bei Pr sentationen Der Cursor wird an die Stelle der Bildfl che gesetzt zu der die Wii Remote in Relation zur Lichtquelle zeigt F r einen realistischen Eindruck sollte die Lichtquelle daher direkt unter oder ber der genutzten Bildfl che angebracht sein Die nicht exakte Zeigerichtung die sich automatisch dadurch ergibt dass der Zeigemittelpunkt nicht die Bildschirmmitte sondern die Lichtquelle ist f llt mit zunehmender Entfernung zu ihr nicht mehr auf Die optimale Distanz zwischen Wii Remote und Infrarotleiste liegt bei zwei bis vier Metern Nachteil dieser Methode ist der Richtungszwang Die Wii Remote muss stets auf die Lichtquelle zeigen Sie darf weder verdeckt noch zu weit entfernt sein Andere Lichtquellen k nnen f r Interferenzen sorgen Eine Umsetzung mit den Beschleunigungssensoren g RelAcc wie in Listing 5 gezeigt ist prinzipiell auch m glich aber nicht praktikabel Die Wii Remote kann zur Cursorsteuerung nicht durchgehend beschleunigt werden Die Massetr gheit sorgt zus tzlich f r einen unberechenbaren Cursor F r die Gestensteuerung sind diese Messwerte hingegen sehr n tzlich um St e und Schw nge zu erkennen Damit sind die M glichkeiten einer zubeh rlosen Wii Remote ausgereizt var G 40 Geschwindigkeit bei maximal zul ssiger Beschleunigung Erlaubter Eingabebereich f r MapRange sind 10 Meter pro Quadratsekunde mouse CursorPosX MapRange Wiimote RelAccX 10 10
53. tsgrade Diese sind die Translationsbewegungen entlang der Achsen x y und z sowie die zugeh rigen Rotationen Abbildung 1 Die Rotation um die vertikale Achse wird als yaw um die aus Nutzersicht von links nach rechts verlaufende Achse als pitch und um die nach vorn in den Raum verlaufende Achse als roll bezeichnet Eine Bewegung wird als Vektor und als Abfolge von Rotationen beschrieben Auf diese Weise k nnen jeder beliebige Punkt und jeder Blickwinkel eingenommen werden y roll Z Abbildung 1 Die sechs Freiheitsgrade Grundbaustein von Interaktionen ist die Ereignissteuerung Auf eine gezielte Aktion in der physischen Welt folgt als Konsequenz eine vorhersehbare Reaktion in der virtuellen Umgebung Alle Ereignisse werden vom Nutzer ber das Steuerger t initiiert Zur Ausl sung der Ereignisse werden verschiedene Kombinationen aus digitalen und analogen Techniken genutzt Einleitung 3 Die am h ufigsten eingesetzten Techniken sind Buttons Sprache Lagesensor Schieberegler Analog Sticks Geschwindigkeitsmessung Positionserfassung im Raum Ber hrungssensitive Oberfl che Die Verfolgung bewegter Objekte im Raum wird als Tracking bezeichnet Es gibt mehrere Techniken n mlich optisch magnetisch und die Nutzung von Ultra Schall Analoge Signale haben gegen ber digitalen den Vorteil nahezu stufenlos variierbar zu sein Sie m ssen jedoch digitalisiert werden bevor eine Nutzung durch die Soft
54. var G var G mouse CursorPosY MapRange Wiimote RelAccY 10 10 var G var G Listing 5 Cursorsteuerung mit den Beschleunigungssensoren Das Motion Plus er ffnet noch eine weitere Variante Der Gyrometer liefert mit YawSpeed einen Wert f r die horizontale und mit PitchSpeed einen Wert f r die vertikale Bewegung Emulation 19 Listing 6 zeigt eine Steuerungsvariante mit Gyrometernutzung Diese Steuerung erwies sich als die angenehmste und wird daher weiter ausgebaut var G 40 var YawSpeed wiimote MotionPlus YawSpeed var PitchSpeed wiimote MotionPlus PitchSpeed mouse CursorPosX MapRange var YawSpeed 90 90 var G var G mouse CursorPosY MapRange var PitchSpeed 90 90 var G var G Listing 6 Cursorsteuerung mit dem Gyrometer F r optimale Steuerungsbedingungen sind noch Anpassungen n tig Mit dem Code in Listing 6 ist die Cursorbewegung nur zufriedenstellend wenn die Wii Remote nicht gekippt wird Die Bewegungsgeschwindigkeit wird relativ zur Wii Remote gemessen Liegt sie etwa um 90 gekippt auf der Seite ergibt sich YawSpeed nunmehr aus der Vertikaldrehung Ben tigt wird somit eine Anpassung der Cursorbewegung in Abh ngigkeit von der Haltung der Wii Remote wie in Listing 7 gezeigt if wiimote Roll lt 90 and wiimote Roll gt 90 var Oben 1 Buttons zeigen nach oben var xyAusgleich MapRange Abs wiimote Roll 90 0 1 0 else var Oben 1 Buttons z
55. ware m glich ist Um den immersiven Eindruck zu verst rken sollten fl ssige Bewegungen als Eingabe m glich sein und vom System ebenso interpretiert und umgesetzt werden ber hohe Abtastraten l sst sich dies auch mit digitalen Techniken erreichen sodass im Idealfall kein Unterschied zu analogen Eingaben sp rbar ist 1 4 Vorhandenes Steuersystem Analog statt digital galt bei der Auswahl der Standardsteuerung welche zur Virtual Reality Anlage des Instituts geh rt Es handelt sich dabei um ein optisches Trackingverfahren bei dem durch Reflektion infraroten Lichts die Position des Eingabeger tes errechnet wird Die VDP erm glicht die Darstellung von dreidimensionalen Inhalten an einer Powerwall Am oberen Rand dieser Projektionsfl che befinden sich vier Infrarotkameras um deren Objektive jeweils ein Infrarot LED Panel engl light emitting diode angebracht ist Das Steuerger t IC Control ist ein Stab an dem sich neben zwei Buttons f nf Reflektoren befinden Es gibt eine kabellose und eine kabelgebundene Variante Der Anschluss an den PC erfolgt ber die serielle Schnittstelle EIA 232 die auf die urspr nglich parallele Schnittstelle LPT engl line printing terminal des Steuerger tes adaptiert wurde Die Aufnahmen der Infrarotkameras werden an den eigens daf r vorgesehenen Tracking Rechner gesendet der die Daten konsolidiert und auswertet Dazu m ssen mindestens zwei der Kameras freien Blick auf die Reflektoren haben An
56. werden F r die Rotation um die L ngsachse des 3D Cursors sind am Gamepad zwei Buttons vorgesehen Die Steuerung ber boolesche Werte bedingt eine statische Geschwindigkeit Eine ansteigende Geschwindigkeit etwa durch l ngeres Halten des Buttons ist in der VDP nicht vorgesehen if var Rotationz lt 0 1 ppjoy Digital5 true wait 0 4 ms Millisekunden ppjoy Digital5 false Listing 9 Sonderfall Rotation mit Buttons und GyroRoll Die Variable var RotationZ in Listing 9 wird analog zu var RotationY mit GyroRoll berechnet Eine Pufferzone dient dazu dass der Button nicht unbeabsichtigt als gedr ckt gilt Wird ein Button im gleichen Frame auf true und dann auf false gesetzt gilt er als nicht gedr ckt Daher wird dazwischen eine Wartezeit eingef gt F r die entgegengesetzte Rotation ber Button Digital7 gilt dies entsprechend F r eine Translationsbewegung des 3D Cursors entlang der z Achse des dreidimensionalen Raumes ergibt sich das gleiche Problem Sie ist am Gamepad ebenfalls durch zwei Buttons vorgesehen Zus tzlich fehlt der Wii Remote ein praktikabler Messwert f r die Bewegungsausl sung Von den Geschwindigkeitsmessungen verbleibt nur RollSpeed Der Einsatz der Infrarotleiste ist nicht geeignet da die Wii Remote dazu stets auf die Lichtquelle gerichtet sein muss Mehrere Infrarotleisten jeweils in der Mitte der Projektionsfl chen anzubringen ist keine akzeptable L sung Die bereits vorhandenen LEDs an der Oberseit
Download Pdf Manuals
Related Search
Volltext volltext volltextsuche volltext hoai volltextsuche in dateien volltextdatenbank volltext estg volltextsuche windows 10 volltextrecherche volltextsuche windows 11
Related Contents
König 16GB SDHC 取扱説明書 Philips 2.1 Home theater HTS4282 Sony Cineza VPL-HS51A User's Manual HP C7778A User's Manual Alice Alice Gioia Alice Alice Edition N°1 de 2001 北海道のダリアのブーケ 取扱説明書PDFダウンロード Operating instructions TV Copyright © All rights reserved.
Failed to retrieve file