Technische Beschreibung



In einem Raum werden Reflektoren aufgestellt. Die Koordinaten der Reflektoren werden dem EYCar eingegeben. Der EYCar sendet einen im Raum rotierenden Laserstrahl aus, der nur beim Ueberstreichen eines Katzenauges zurueckgeworfen wird. Auf diese Weise werden die Winkel, unter denen die Katzenaugen relativ zum Fahrzeug stehen gemessen. Daraus kann das Fahrzeug seine Position errechnen. Es ist nun moeglich, dem Fahrzeug eine Position vorzugeben, und es faehrt diese an. Der Anwender sitzt am stationaeren Computer und kann dort ueber eine ansprechende grafische Oberflaeche das Geschehen steuern. Der EYCar und der stationaere Computer kommunizieren ueber Funkgeraete.

Der EYCar besteht aus einem einfachen 386 Computer, einem Funkgeraet, einem Geraet zur Vermessung des Raumes mit einem rotierenden Laserstrahl, zwei Raedern, welche unabhaengig voneinander geregelt werden koennen und zwei Batterien, die ein vollstaendig von allen Kabeln freies Fahren ermoeglichen.


                      //                       I
   Auslenkspiegel    /________________________ I
                    /------------------------- I
                   /|| \                       I
                  / || I                       I
                  I || I
                  I || I                 Katzenauge 
                  I || I
   Zahnraeder   xxxxxxxxxx xxxxx
 +---------------------------|------------------+
 |                  ||      _|_                 |
 |                  ||     /   \                |
 |                  ||     |___|-  Schrittmotor |
 |                  ||                          |
 |                  ||                          |
 |                  || / <- Glasscheibe         |
 |   ___            ||/                         |
 |  /   \ __________||_____|  Absorber          |
 |  \___/           /|     |                    |
 |  Laser          / |                          |
 |            |      | /                        |
 |            |      |/                         |
 |     o------|------/                          |
 |   Foto -   |     /  Spiegel                  |
 | transistor |    /                            |
 |                                              |
 |       Sammellinse                            |
 |                                              |
 +----------------------------------------------+

Laser
Ein einfacher 1mW Klasse 2a Laser, Wellenlaenge 670 nm. (rot)
Absorber
Absorbiert Laserlicht, damit keine falschen Reflektionen auftreten
Glasscheibe
Das Licht vom Laser wird nach oben reflektiert, und ein Teil davon im Absorber vernichtet. Das von oben rueckfallende Licht wird zum Teil in den Laser geleitet, der andere Teil jedoch geraet nach unten in den Lasersensor.
Schrittmotor
Der Schrittmotor dreht den Auslenkspiegel um die vertikale Achse. Hiermit kann der Laser in jede beliebige horizontale Richtung leuchten.
Katzenauge
Diese Katzenaugen reflektieren das Laserlicht immer genau dahin zurueck, wo es herkam. (anders als Spiegel)
Sammellinse
Die Reflektoren werfen das Licht parallel gestreut zurueck, da der Fototransistor jedoch zu klein ist wird mit dieser Sammellinse das Licht gebuendelt, damit es den Sensor besser trifft.
Fototransistor
Mit diesem Fototransistor wird gemessen, ob der Laser im Moment auf ein Katzenauge leuchtet oder nicht.

Dies ist das "Herz" des EYCar.

Ich will nun anhand eines Beispiels die Funktionsweise erklaeren. Der EYCar steht irgendwo in der Mitte eines Raumes, welcher an den Raendern mit Katzenaugen ausgestattet ist. Er kennt die Koordinaten der Katzenaugen (sie wurden eingegeben), er kennt jedoch weder seine Position, noch seine aktuelle Fahrtrichtung. Um diese zu bestimmen rotiert der Laserstrahl einmal um 360 Grad, dadurch werden die Winkel zwischen den Katzenaugen gemessen. Es ist jedoch nicht klar, welcher Winkel zu welchen zwei Katzenaugen gehoert, ebenso ist unklar, ob aufgrund von Hindernissen die Sicht auf einige Katzenaugen verdeckt war und somit diese nicht erkannt wurden. Nun wird mittels eines komplizierten mathematischen Algorithmus aus den Winkeln die Position und Fahrtrichtung errechnet. Der Anwender kann nun von seinem stationaeren Rechner aus auf dem Bildschirm die Position und Fahrtrichtung einsehen. Er kann mit der Maus einen Punkt auf dem Abbild des Raumes anklicken. Daraufhin dreht sich der EYCar in die richtige Richtung und faehrt blind geradeaus, bis er die Entfernung zurueckgelegt hat. Nun vermisst er seine Position erneut und erkennt auf diese Weise, wie sehr er von der angestrebten Position abweicht. Ist die Abweichung zu gross korrigiert er diese durch ein erneutes Fahrmanoever.

Die zwei Computer fahren ein GNU/Linux 2.0.30 Betriebssystem, der Computer auf dem EYCar hat noch die RTLinux 0.5 Echtzeit patches installiert. Der EYCar besitzt als Hardware einen AMD 386 DX-40 ohne Koprozessor, eine 1 GB Festplatte, eine Netzwerkkarte, ein Diskettenlaufwerk, eine einfache IO - Karte mit zwei 8255 ICs, eine Herkules Monochrom Grafikkarte und eine serielle Schnittstelle, an die das Funkgeraet angeschlossen ist. Dies alles sind aeusserst triviale und preislich guenstige Komponenten, die man teilweise ueberhaupt nicht mehr kaufen kann, da sie hoffnungslos veraltet sind.

Auf diese Weise haben wir gezeigt, wie man mit aeusserst geringem preislichem Aufwand ein solch komplexes System aufbauen kann. Das GNU/Linux Betriebssystem ist auf dem Internet fuer umsonst zu erhalten und uebersteigt jegliche kommerziellen Betriebssysteme (besonders die aus dem Hause Microsoft) um ein weites in Qualitaet, Leistung, Support und Flexibilitaet. Es ermoeglicht sogar die Funktionalitaet eines Echtzeitbetriebssystemes auf einem alten 386 Rechner. Gefundene Fehler werden von den Programmierern binnen weniger Stunden oder Tage behoben - und der Quellcode ist frei ferfuegbar. Besonders hervorheben muss ich auch die Netzwerkunterstuetzung des Linux Systems. Ethernet, Modem, Funkmodem (wie auf dem Fahrzeug verwendet) und viele weitere voellig unterschiedliche Systeme sind voll integriert und werden alle durch das IP Protokoll vereinigt. Dadurch ist es auch fuer mich eines der geringsten Probleme gewesen, die Verbindung zum EYCar ueber Funkgeraete zu realisieren. Und wenn mich deren Langsamkeit einmal zu sehr veraergert hat, habe ich einfach das Ethernetkabel eingesteckt. Ich muss auch noch lobend erwaehnen, dass sich Linux waehrend der gesamten Entwicklungsperiode nicht ein einziges mal aufgehaengt hat, und das obwohl ich im Teststadium befindliche Treiber verwendet habe.

Man bedenke dass der Computer auf dem EYCar zwei Schrittmotoren in Echtzeit mit einer Rampensteuerung regelt, den Raum mit einem Laser vermisst (Hierbei kommt es besonders auf eine sofortige Reaktion auf rueckfallendes Laserlicht an) und waehrenddessen ein Funkmodem ansteuert und mit einem stationaeren Rechner kommuniziert. Das alles fuer 0 DM. Ich kann es ueberhaupt nicht oft genug lobend erwaehnen.

Als Fortfuehrung des Projektes wuerde ich es interressant finden, die digitale Kamera, mit der ich die Bilder auf diesen Webseiten erstellt habe, auf dem Fahrzeug zu befestigen und auf diese Weise die Laservermessung durch eine Videoauswertung zu ersetzen.



EYCar Homepage