Entwicklung einer Roboterplattform(Hexapod FTW-Hex1-1)

Entwicklung einer Roboterplattform(Hexapod FTW-Hex1-1)

Diplomand: Jörg Fimpler (März 2005)

<< Bilder >> << Videos >>

Die Aufgabenstellung dieser Diplomarbeit war es, zunächst eine Roboter – Basis – Hardware als Konstruktion auf Beinen (mechanisches Insekt) zu realisieren, und Steuerprozesse für die Bewegung zu erstellen. Des Weiteren sollten Hard – und Softwaremodule für die Verwendung von Sensoren, insbesondere Ultraschall – und Infrarotentfernungssensoren, entwickelt werden. Zusätzlich sollte unter Verwendung der erstellten Module eine Software geschrieben werden um den Roboter autonom, durch das Entlanglaufen an einer Wand, hier der rechten, aus einem Labyrinth herausfinden zu lassen.

Dieses Roboterprojekt wurde im Bezug auf die beiden betreuenden Professoren, Prof. Dr. Ing. Ferdinand Engelberger und Prof. Dr. Ing. Thomas Latzel (und Prof. Dr.-Ing. Wolfgang Göpfert) auf den Namen FTW-Hex1-1 getauft. Die Nummer bezeichnet den Robotertyp Hex1 als Parallax Hexcrawler und den Prototypen als Zählnummer 1.

Bei der als Bausatz zugekauften Roboterplattform handelt es sich um den sechsbeinigen HexCrawler der von der Firma Crustcrawler entwickelt wurde, und von der Firma Parallax vertrieben wird. Der Basisbausatz wurde durch einen Sensorkopf und einen Erweiterungssatz für seitliche Bewegungen ergänzt.

Für die Steuerung des Roboters wurde der Infineon XC161CJ Prozessor, der auf dem phyCore-XC161 der Firma Phytec Messtechnik aufgesetzt ist, verwendet. Der Prozessor ist auf dem phyCore Development Board HD200 verbaut, dass für eigene Schaltungsstrukturen mit einem Expansion Board erweitert wurde. 

Die Programmierung der Applikation erfolgte in der Programmiersprache C, und als Entwicklungsumgebung wurde die Software Keil µVision 3 benutzt. Als Debug-Schnittstelle diente das Keil U Link Interface, welches am hinteren Ende des Roboters befestigt wurde.

Die Ansteuerung der Servos erfolgt über zwei hintereinander geschaltete Parallax Servo Controller (PSC). Bei dem PSC handelt es sich um ein serielles Gerät mit 16 Kanälen, wobei zwei Geräte zusammengeschaltet bis zu 32 Kanäle ansteuern können.

Sensoren

Der in Abbildung 3 dargestellte Ultraschallsensor SRF04 (Sonic Range Finder) ist ein Ultraschallentfernungsmesser der Entfernungsmessungen im Bereich von ca. 3cm bis 3m ermöglicht. Hier wurde dieser Sensor für das Aufnehmen von fünf Entfernungswerten im Schwenkbereich des Kopfes verwendet, um mit diesen Werten eine Matrix zu erstellen, die die direkte Umgebung des Roboters schematisch abbildet. Auf Grundlage dieser Matrix werden die Entscheidungen getroffen wie sich der Roboter weiterbewegt. 

Da der Ultraschallsensor bedingt durch seine Abstrahlcharakteristik nicht den gesamten Bereich vor dem Roboter abdecken konnte, wurden zusätzlich zwei Infrarotsensoren vom Typ Sharp GP2D12 verbaut. Diese Beiden Sensoren detektieren Objekte im Nahbereich vor den beiden vordersten Beinen des Roboters.

Außerdem wurde der Roboter mit einer Kamera mit Funkübertragung versehen, um so an einem Monitor die Bewegung des Roboters “aus seiner Sicht“ verfolgen zu können.

Nach dem Programmieren der verschiedenen Bewegungsarten, wie z.B. dem Tripod Walk (Dreibeingang) bei dem jeweils drei Beine am Boden die Bewegung des Roboters ausführen, und die drei anderen Beine an ihre neue Position gesetzt werden, wurden die oben beschriebenen Sensoren in Betrieb genommen und entsprechende Programme für den Betrieb mit dem Roboter geschrieben.

In der endgültigen Version der Applikation Labyrinth / Wandverfolgung kann der Roboter, durch das Entlanglaufen an der rechten Wand, aus einem Labyrinth herausfinden. Hierbei werden auftretende Hindernisse selbstständig erkannt und umgangen.

Dabei werden nach jedem Schritt des Roboters der Nahbereich mit den Infrarotsensoren, sowie der Bereich um den Kopf des Roboters mit dem Ultraschallsensor gescannt, und darauf basierend eine Entscheidung über die weitere Bewegung des Roboters getroffen.

Wenn sich der Roboter in den freien Raum bewegt, er sich also von der zu verfolgenden rechten Wand entfernt, führt er eine Drehung um ca.90° nach rechts aus um sich wieder der Wand zu nähern.

Treten Hindernisse im Bereich vor dem Roboter auf, werden diese durch seitliches Gehen umgangen, jedoch nur, wenn der Bereich neben dem Roboter auf der entsprechenden Seite frei ist. Ist der seitliche Bereich nicht frei, wird eine Drehung um ca.90° nach links ausgeführt und der Bereich vor dem Roboter gescannt. Ist vor dem Roboter kein Hindernis mehr, bewegt er sich wieder vorwärts. Wenn nach einigen Schritten der Bereich rechts vom Roboter wieder frei ist, wird, wie oben beschrieben, wieder eine Drehung nach rechts ausgeführt und der Roboter ist somit wieder zur rechten Wand ausgerichtet.

Jörg Fimpler, März 2005