AD-Box


[ Übersicht | Bilder | Eingabegeräte | ADDiag |

Übersicht

Das Zentralinstitut für Angewandte Mathematik des Forschungszentrums Jülich (ZAM) setzt zur 3D-Visualisierung ein Virtual-Reality-System vom Typ "Holobench" ein. Durch die wechselseitige Abdeckung eines Auges mit einer LCD-Shutter-Brille können beiden Augen unterschiedliche Bilder angeboten werden; so kann ein räumlicher Eindruck entstehen. Dieser Effekt wird durch die Verwendung von zwei senkrecht zueinander angeordneten Projektionsflächen zusätzlich verstärkt. Die Berechnung der Darstellung wird von einer leistungsstarken Grafik-Workstation von SGI übernommen. Zur Steuerung der Darstellung ist ein "`Tracking-System"' installiert, über das Position und Ausrichtung der "`Shutter-Brille"' und eines 3D-Zeigestiftes erfasst werden können.

Dieser Zeigestift verfügt jedoch nur über einen Taster, so dass lediglich eine einzige Eingabemöglichkeit besteht, wenn man nicht auf die herkömmlichen Geräte wie zum Beispiel Maus oder Tastatur zurückgreifen möchte. Wünschenswert wäre es zum Beispiel, die räumliche Lage von Objekten bzw. Objekteigenschaften unabhängig von der Haltung oder Position des Stiftes einfach verändern zu können. Deshalb wurde im Rahmen dieser Studienarbeit ein geeignetes Hardware-Interface entwickelt, an das sich verschiedene, ebenfalls selbstentwickelte Eingabegeräte anschliessen lassen.

Bedienelemente

Die AD-Box verfügt nur über wenige Bedienelemente:

Die Hintergrundbeleuchtung des Displays verfügt über einen eigenen Ein/Ausschalter, damit Demonstrationen an der Holobench (der Raum wird dann in der Regel abgedunkelt) nicht gestört werden.

Statusanzeige

Versionsnummer der Microcontroller-Firmware.
Digitaler Eingang: Die Boxen zeigen den aktuellen Status der viel Eingänge an. Eine ausgefüllte Box bedeutet dabei einen gedrückten Taster.
Analoger Eingang: Die Länge des Balkens entspricht dem aktuellen Wert des Kanals bezogen auf den Wertebereich.
Aktivierter Port: Zeigt an, welcher der Eingabeports (0 oder 1) im Moment genutzt wird.
Wertekorrektur: Falls "adj" angezeigt wird, ist der adjust Modus für den aktuellen Port eingeschaltet.
Übertragungsmodus: "f" steht für "fast", "t" für "timed" und "p" für den "poll"-Modus.
Kalibriermodus: Falls "cal" angezeigt wird, befindet sich die AD-Box im Kalibriermodus.
Kommandopuffer: Hier wird der Inhalt des Kommandopuffers angezeigt (also die über die serielle Schnittstelle empfangenen Zeichen). Zeichen die invers angezeigt werden, sind bereits verarbeitet worden.

Bilder

bild bild bild

Eingabegeräte

Mustergerät

Um die Wirkungsweise des Interface zu demonstrieren, wurde im Rahmen dieser Arbeit ein Mustergerät angefertigt. In einen Quader wurden entlang der drei Raumachsen Schiebestangen eingearbeitet, die mit linearen Potentiometern verbunden sind. Damit lässt sich zum Beispiel die Positionierung eines Objektes im Raum intuitiv realisieren. Weiter besitzt es (aus Platzgründen des zur Verfügung stehenden Standardgehäuses nur) zwei Taster, über die weitere Aktionen ausgelöst werden können.

Aufbau weiterer Geräte

Abgesehen von dem bei der Erstellung dieser Arbeit angefertigten Muster sind natürlich weitere, an spezielle Anwendungen angepasste und somit intuitiver benutzbare Eingabegeräte denkbar. Der Aufbau eines solchen Gerätes ist sehr einfach: Ein veränderbarer Widerstand wird an die an den Ports zur Verfügung gestellte Spannung von +5 V angeschlossen; der Abgriff wird direkt mit einem beliebigen Eingang verbunden.

Die genaue Grösse der eingesetzten Widerstände ist nicht von Belang; als Richtlinie gilt eine Grössenordnung von 10 kOhm.

Als Eingabequelle lassen sich darüber hinaus beliebige Schaltungen einsetzen, die ebenfalls eine Ausgangsspannung zwischen 0 und 5V besitzen.

Nutzung von PC-Eingabegeräten

Die Geräte für den PC-Joystick-Port nutzen ein anderes Prinzip als das hier vorgestellte Interface. Zwar werden ebenfalls verstellbare Widerstände eingesetzt, jedoch nicht als Spannungsteiler. Vielmehr ist der Wert des Widerstandes selbst die Eingangsgrösse. Um eine dem Verstellweg proportionale Spannung für das Interface zu erhalten, ist es am einfachsten, einen konstanten Strom durch den Widerstand zu leiten. Der Spannungsabfall ist dem Widerstand dann direkt proportional. Als Konstantstromquelle wird ein sogenannter Stromspiegel verwendet. Da in beiden Teilzweigen bei identischen Transistoren nahezu die gleichen Ströme fliessen, kann der Strom durch das Eingabegerät mit dem Referenzwiderstand eingestellt werden. Da der Ausgangswiderstand des Eingabegerätes auch null werden kann, wird zusätzlich ein Lastwiderstand in Reihe geschaltet. Die komplette Schaltung für einen Kanal ist der folgenden Abbildung zu entnehmen.

Konstruktionsbedingt lässt sich mit einem solchen Eingabegerät allerdings nur etwa der halbe Wertebereich nutzen. Da die Widerstände für die Geräte nicht genormt sind, ist noch dazu der nutzbare Wertebereich für jedes Gerät anders. Um dies für die Software auf dem Grafikrechner so transparent wie möglich zu gestalten, verfügt das Interface über einen sogenannten "`Adjust"' Mode.

ADDiag

Für die Einrichtung und Diagnose der AD-Box dient ein entsprechendes Programm auf dem Grafikrechner (Onyx2). Es benutzt die Curses-Bibliothek und ist deshalb in jedem Terminalfenster ausführbar. Die Bildschirmausgabe lehnt sich stark an die Ausgabe auf dem Display an. Deshalb werden hier nur die Funktionen der Menüpunkte beschrieben.

Exit Beendet das Programm.
Port Wechselt den aktivierten Eingabeport.
Calibrate Startet oder Beendet den Kalibriermodus.
Mode Schaltet in den entsprechenden Übertragungsmodus.
Status Fordert den aktuellen Statuswert der AD-Box an.

Hier findet man die SGI Irix Version des Diagnosetools.
Das Tool ist mit gzip gepackt und kann mit "gzip -d addiag.gz" wieder entpackt werden. Das Tool ist fertig compiliert und wird mit "addiag" gestartet.