Unter Navigation bezeichnet man das Sichzurechtfinden in einem geografischen Raum, um einen bestimmten Ort zu erreichen. Die Tätigkeit des Navigierens besteht aus drei Teilbereichen:
- Bestimmen der geografischen Position durch Ortung nach verschiedensten Methoden
- Berechnen des Weges zum Ziel und
- Führung des Fahrzeugs zu diesem Ziel, also vor allem das Halten des optimalen Kurses
Es ist also eine zentrale Aufgabe beim Bau von Robotern. Es ist sogar das Thema, das einen besonders großen Reiz auf die Bastler ausübt.
Inhaltsverzeichnis
Ein mobiler Roboter, der durch Bewegung mit seiner Umgebung in Kontakt tritt, braucht Sensoren zur Orientierung und er wird auch eine einfache Navigation durchführen.
Orientierung in natürlicher Umgebung
Im einfachsten Fall werden es Berührungssensoren sein, mit denen der Roboter feststellt, ob ein Hindernis direkt vor ihm oder in seiner Reichweite ist. Auch beim Einsatz von komplexeren Sensoren zum berührungslosen Orten von natürlichen Hindernissen sind einfache Kontaktsensoren zur Unterstützung sinnvoll. Mit diesen Sensoren kann eine Orientierung aufgebaut werden, wenn Objekte der natürlichen Umgebung erkannt und in der Position registriert werden. Sie können beispielsweise in eine Karte eingetragen werden. Die sogenannte natürliche Umgebung ist dabei in vielen Fällen speziell im Indoor-Bereich kaum von der Natur geschaffen, es sind hier vor allem Wände, Türen, Möbel. Sie wird nur so genannt, weil sie andererseits nicht zur Orientierung geschaffen wurde.
Ortung durch Berührung
Üblicherweise sind das Mikro-Schalter, die über eine Stoßstange (BUMPER) den passiven oder aktiven Kontakt mit einem Hindernis erkennen.
- Aktiver Kontakt - der Robby ist beim Fahren drangestoßen (Tischbein)
- Passiver Kontakt - Irgendwas hat den Robby berührt, z.B. die Hauskatze
Den Unterschied kann der Roboter nur feststellen, wenn er seine momentane Bewegungsrichtung weiss und berücksichtigt.
Bei einfachen Systemen wird meist so vorgegangen:
- Bumper rechts: etwas nach links drehen
- Bumper links: etwas nach rechts drehen
- Beide Bumper: umdrehen
Dass man so ein primitives Verfahren nicht als Orientierung und kaum als Ortung bezeichnen kann, zeigt folgender einfache Vergleich: Stellen Sie sich vor, sie werden mit verbundenen Augen in einen Raum eingesperrt und sollen diesen durch einen Ausgang verlassen oder an einer vorgegebenen Stelle halten. Sie werden recht planlos an den Wänden entlanggehen und wahrscheinlich nicht merken, dass sie an der gleichen Stelle schon sechsmal vorbeikamen. Wenn der Raum um eine dicke Säule gebaut ist und Sie dort entlangehen, werden Sie die Türen an der Aussenwand kaum finden. Trotzdem arbeiten viele Roboter nach diesem Prinzip.
Berührungslose Ortung
Zur berührungslosen Orientierung an Objekten in der Umgebung kann der Roboter selbst ein akustisches oder optisches Testsignal aussenden und damit die Umgebung abtasten oder er kann sich am Bild der Umgebung orientieren. Es ist allerdings nicht ganz einfach, aus den empfangenen Signalen eine "innere" Landkarte zusammenzustellen und sich darin zurechtzufinden. Ohne so eine Landkarte ist die berührungslosen Orientierung nicht besser als ein verlängerter Arm der einfachen Kontaktschalter.
1. Akustische Abtastung
1.a. Akustischer Reflexkoppler
Bei der akustischen Abtastung des Raumes stellt die "Einparkhilfe" die einfachste Lösung dar. Hier wird eine Sende- und eine Empfangskapsel über einen Verstärker gekoppelt und wenn im Bereich des Sensors ein Hindernis die Kopplung zwischen beiden erhöht, dann kommt es zum Anschwingen und damit zur Anzeige eines Hindernisses. Das Verfahren ist einfach, billig und lässt allenfalls senkrecht vor einer glatten Wand eine Bestimmung des Abstands zu. Beispiel: Einparkhilfe Bild
1.b. Akustische Laufzeitmessung (Echolot)
Etwas aufwendiger und genauer arbeiten die Ultraschallsensoren mit Laufzeitmessung. Hier wird ein Ultraschall-Impuls von 8-16 Perioden Dauer ausgesendet und es wird die Zeit gemessen, bis das Echo eintrifft. Mit diesem Verfahren kann die Zeit bis zum ersten Echo gemessen und über die Schallgeschwindigkeit der Abstand bestimmt werden. Die Genauigkeit liegt dabei im cm-Bereich. Es gibt Systeme mit anderen Verfahren: Kurz nach dem ersten Echo wird der Empfänger wieder empfindlich gemacht und dann werden weitere (maximal sieben) Echos registriert. Auf diese Weise kann man erkennen, ob hinter einem kleinen Hindernis (Ball) noch ein anderes (Wand) vorhanden ist. Bei ungünstiger Montage der Sensoren kann es auch vorkommen, dass der Sendepuls am eigenen Roboter reflektiert wird. Ein "normales" Echolot liefert dann keine brauchbaren Ergebnisse mehr - denkbar wäre das man einfach alle Ergebnisse weg läßt, die kleiner als 10 cm sind.
2. Optische Abtastung
2.a. Optischer Reflexkoppler
Bei den optischen Verfahren gibt es auch den einfachen Fall des Reflexsensors. Ein integriertes Sensor-IC gibt Stromimpulse für eine IR-LED aus und detektiert die Echos, die diesem Impulsmuster entsprechen. Man erreicht damit eine gute Unterdrückung der Umgebungshelligkeit, aber - wie auch im akustischen Fall - ist das Verfahren sehr von den Reflexionseigenschaften des Objektes abhängig und lässt kaum eine Bestimmung des Abstandes zu. Beispiel IRF471 Bild
2.b. Optische Triangulation
Sehr viel genauer arbeiten die Sensoren, die den Abstand bis zu einem Hindernis trigonometrisch vermessen. Sie bestehen aus einer IR-Diode und einem Empfänger, die zusammen mit einer Steuerung in einem Modul integriert sind. Die Impulse werden wieder nach einem Schema zur Unterdrückung der Umgebungshelligkeit ausgesendet und detektiert. Hier aber handelt es sich um einen gebündelten Lichtstrahl, der auf das Hindernis trifft und der seitlich versetzte Empfänger - eine Position Sensitive Device (PSD) - misst, aus welchem Winkel das Licht reflektiert wird und setzt den Winkel in einen Spannungswert um. Leider ist der Zusammenhang Entfernung - Spannung recht nichtlinear. Über entsprechende Formeln oder Tabellen ist eine einfache Umrechnung möglich.
Beispiel Sharp GP2D12
http://www.roboternetz.de/bilder/gp2d12-nb.jpg
http://www.roboternetz.de/wiki/uploads/Main/gp2d12diagram_a.jpeg
2.c. Optische Laufzeitmessung
Auch bei den optischen Verfahren gibt es Sensoren, die nach dem Laufzeitprinzip arbeiten. Sie sind allerdings bis heute Messgeräte, die noch so groß sind, dass sie kaum als Sensoren in Robotern eingesetzt werden. Ein vielversprechender Ansatz, einen Sensor als Modul zu realisieren, wurde vor ein paar Monaten von einem Fraunhofer Institut vorgestellt.
Eine sehr hohe Genauigkeit der Abtastung der Umgebung liefern Laserscanner. Diese Sensoren tasten auf einer Ebene in einem Öffnungswinkel von 180 Grad die Entfernung bis zu den Hindernissen ab. Die Genauigkeit geht bis zu 1mm. Laserscanner sind sehr teuer, neu kosten sie etliche Tausend €, gebraucht bekommt man sie mit sehr viel Glück für einige Hundert €. Außerdem sind übliche Laserscanner recht groß (etwa 20x20x20cm) und schwer, sodass sie nur für sehr große Roboter ab etwa 20kg Gesamtgewicht brauchbar sind.
3. Bildverarbeitung
Das Beispiel der optischen Abtastung mit trigonometrischer Messung funktioniert nicht nur mit einem PSD, sondern auch mit einer Kamera, mit der man den Winkel misst, unter dem der Teststrahl auf dem Objekt erscheint. Darüber hinaus ist es natürlich auch möglich, das Bild der Umgebung mit zwei Kameras stereoskopisch aufzunehmen und durch Bildverarbeitung die Abstände zu den einzelnen Objekten zu bestimmen.
Orientierung an künstlichen Markierungen
1. Passive Markierungen
Künstliche Markierungen sind solche, die speziell zur Markierung geschaffen oder zur Orientierung ausgewählt und beschrieben sind. Ein typisches Beispiel für künstliche Markierungen sind Reflexmarken am Ende eines Gangs, durch den ein Roboter fahren soll. Er kann sich zunächst leicht am Verlauf des Gangs orientieren, zur Bestätigung, dass genau an einer bestimmten Stelle abgebogen werden soll, wird man zusätzlich eine Reflexmarke anbringen. Vorteilhaft ist eine passive Marke, die nicht mit Energie versorgt werden muss, denn die geringe Energie, die Marke zu finden, kann der autonom fahrende Roboter leicht selbst aufbringen.
Viel häufiger als einzelne Reflexmarken sind noch dunkle Linien anzutreffen, denen ein Roboter folgen soll. Viele Einsteiger-Modelle, wie die Modelle von Lego und natürlich auch ASURO, sind dafür ausgerüstet. Am vorderen Ende des Fahrzeugs ist dazu eine Beleuchtung angebracht, die auf den Boden vor dem Fahrzeug gerichtet ist. Es reichen dann zwei lichtempfindliche Sensoren rechts und links von der Linie aus, um die Spurverfolgung zu kontrollieren und Abweichungen zu melden. Bei breiten Linien genügt ein einziger Sensor, der an einen ADC angeschlossen ist:
- Mittlere Helligkeit heisst : Geradeaus fahren.
- Zu dunkel: nach rechts fahren.
- Zu hell: nach links fahren.
Der Roboter fährt dann an einer Kante entlang, die andere intessiert nicht. Der Abstand vom Drehpunkt des Fahrzeugs im Zusammenspiel mit der Fahrtregelung ermöglicht dann unterschiedlich schnelle und sichere Aktionen zum Halten der Spur bei rascher Verfolgung der Linie.
2. Aktive Markierungen
- Infrarotbake - 1
Ein noch recht einfach umzusetzendes Prinzip für eine aktive Bake. Über IR-LEDs wird ein codiertes Signal ausgestrahlt. Der Roboter besitzt einen Infrarotempfänger mit relativ geringem Öffnungswinkel mit nachgeschaltetem Decoder für das Signal. Hiermit kann der Roboter feststellen, ob der Empfänger gerade in Richtung der Bake zeigt. Da durch die Codierung des Signals (und evtl mehrere Trägerfrequenzen) mehr als einen Bake gleichzeitig aktiv sein darf, kann man mit mehreren Baken, die man nacheinader anpeilt und dabei die Winkel misst, auch die absolute Position feststellen.
- Infrarotbake - 2
Deutlich einfacher geht es mit LEDs an unterschiedlichen Ecken des Spielfeldes, die jeweils von einem NE555 getaktet werden. Jede Bake hat eine eigene, feste Frequenz. Es gibt Projekte wo man unterschiedliche Frequenzfilter einschalten und mit einem IR-Empfänger auf einem Servo suchen kann, aus welcher Richtung welche Bake blinkt. Durch dieses Frequenzfilter ist der Roboter immun gegen andere Lichtquellen. Drei Baken genügen theoretisch.
- Transponder
Als sehr sicher haben sich - wie im Flugverkehr - aktive Transponder erwiesen. Diese werden durch einen Impuls abgefragt und antworten individuell. Dazu erzeugt der Roboter einen kurzen Ultraschallimpuls. Entweder mit Zielrichtung zum vermuteten Transponder oder ungerichtet. Sobald ein Transponder den Abfrageimpuls registriert, antwortet er mit einem oder mehreren Lichtblitzen, die auch unterschiedliche Farbe besitzen können. Aus der zwischenzeitlich vergangenen Zeit und der Empfangsrichtung lässt sich bei mehreren Transpondern der Standort berechnen. Beim ROBOprogy lässt sich das eingebaute Programm für das Echolot sehr gut für diesen Zweck verwenden.
- induktive Begrenzungsschleifen
Dieses Verfahren wird vor allem bei einigen Rasenmäher-Robotern benutzt. Ein Draht wird am Rand der für den Roboter zulässigen Fläche ausgelegt (oder eingegraben). Über den Draht wird ein Signal gesendet, das von einem Empänger im Roboter empfangen wird, falls sich der Roboter dem Draht nähert.
Als Koppelnavigation wird die fortlaufende Ortsbestimmung aus momentanem Kurs und Geschwindigkeit bezeichnet. Die so bestimmte Position wird dann auch als Koppelort bezeichnet.
Odometrie
Die Odometrie ist der wohl wichtigste Teilbereich der Koppelnavigation für die Robotik. Bei der Odometrie wird auf Grundlage der Umdrehungen der einzelnen Räder die Position des Roboters berechnet.
Erfassung der Richtung und Weg/Geschwindigkeit erfolgt dabei durch
- die Einschaltdauer des Antriebs
- zählen der getätigten Steps von Schrittmotoren
- sensorisch durch spezielle Encoder, aber auch Kugel-, Rad- und optische Mäuse
Man besitzt nun Entfernungswerte für die zurückgelegte Entfernung der einzelnen Räder. Durch fortlaufende Berechnung der aktuellen Roboterposition kann man seine Position und Drehung bestimmen. Die einzelnen Fehler addieren sich dabei jedoch auf, sodass man von Zeit zu Zeit durch andere Sensordaten nachkalibrieren muss. Mit der Odometrie lassen sich bei ausreichend hoher Auflösung der Encoder recht gute Genauigkeiten erreichen.
Beschleunigung Winkelbeschleunigung
Die Trägheitsnavigation ist eine Art der Koppelnavigation. Die Position wird hierbei durch Messung von Beschleunigungen und Drehungen bestimmt. Um zu wissen, welcher Beschleunigungssensor für welche Richtung im Raum zuständig ist, muss aber erstmal bestimmt werden, in welcher Lage sich der Roboter (vornehmlich Flugroboter, bei anderen Arten macht Trägheitsnavigation wenig Sinn) befindet. Ist nämlich z.B. die Nase, beispielsweise bei einem Luftschiff, angehoben, misst der Beschleunigungssensor, der in Längsrichtung montiert ist, auch einen Teil der vertikalen Beschleunigung. Die Bestimmung der Lage erfolgt meist über Gyrometer. Diese geben die Drehung des Objekts um eine bestimmte Achse aus. Dieser Wert wird aufsummiert (integriert), der integrierte Wert ist dann die Drehung des Objekts um eine bestimmte Achse. Der Wert, den die Beschleunigungsensoren ausgeben, wird je nach Lage aufgeteilt und auf verschiedene Achsen aufsummiert, als Ergebnis hat man dann die Geschwindigkeit. Ein weiteres Aufsummieren ergibt den Weg, den das Objekt zurückgelegt hat - fertig.
Globale Orientierung
Globale Felder Erdmagnetfeld Luftdruck GPS
Kompass Höhenmesser
natürliche Felder zur globalen Orientierung Erdmagnetfeld, barometrischer Luftdruck
GPS
Globales Positions System. (siehe Wikipedia) Ultimatives Navigationssystem mit Genauigkeit im Meterbereich und weltweiter Verwendbarkeit. Es ist aber für kleine Roboter und auch in geschlossenen Räumen nur bedingt zu verwenden, da der Satellitenempfang in Gebäuden schlecht ist und die Module weder klein noch preiswert sind.
Begrenzungsschleife - Induktionsschleife
Eine Begrenzungsschleife wird verwendet um den Arbeitsbereich eines Roboters festzulegen. Am gebräuchlichsten ist diese bei Rasenmäherroboter. Die Induktionsschleife wird dabei um die zu mähenden Fläche verlegt. Ein Roboter kann auch entlang einer Induktionsschleife zur Ladestation geleitet werden. Die Induktionsschleife funktioniert über kurze Stromimpulse, welche im Bereich der Schleife ein wechselndes Magnetfeld erzeugen. Im Roboter kann mit einer Detektorspule festgestellt werden, ob sich diese innerhalb oder ausserhalb der Schleife befindet.