Worum es hier geht

Dieses Blog dokumentiert Fortschritte und Rückschläge der Entwicklung meines ersten Roboterprojektes. Ich habe dem Projekt den Namen vehikel[eins] gegeben - mit mehr oder weniger Hintersinn. Das Vehikel ist als fahrender Roboter konzipiert, der sich mittels einer Kamera visuell orientieren können soll. Die eigentliche Bildverarbeitung findet auf einem PC statt, der Roboter wird deshalb per Funk mit einem Computer in Verbindung stehen. Ich verkneife mir, allzu übermütige Pläne darüber zu schmieden, was im Detail mein Vehikel später visuell leisten können soll. Ich bin in erster Linie von der Idee eines Systems fasziniert, das mit Hilfe selbst gewonnener visueller Informationen in der realen Welt halbwegs sinnvoll agiert - mit der Welt interagiert. Alles noch etwas undurchsichtig? Ja... :)

Der aktuelle Stand

Ich habe das Projekt in drei Etappen aufgeteilt. Die erste Etappe bestand in der mechanischen Realisierung einer motorisierten Plattform für alle späteren Aufbauten. Diese Etappe wurde erfolgreich abgeschlossen. Daraus hervorgegangen ist ein dreirädriges Vehikel, dessen zwei Vorderräder unabhängig über ein Getriebe von jeweils einem Schrittmotor angetrieben werden. Das Hinterrad stellt sich passiv auf die aktuelle Bewegungsrichtung ein. In der zweiten Etappe des Projektes ging es darum, die Elektronik des Vehikels und der Basisstation zu entwickeln. Auch wenn ich noch an Details arbeite, ist diese Etappe in dem Sinne abgeschlossen, dass die gesteckten Ziele erreicht wurden. Der zentrale Mikrocontroller des Vehikels ist ein ATMEL AVR Mega32, die Firmware dafür entwickle ich mit der BASCOM IDE von MCS. Die Schrittmotoren werden durch eine Treiberelektronik auf Basis der Bausteine L297 und L298 angesteuert. Eine Funkverbindung zwischen Vehikel und PC wird mittels eines dazu entwickelten Interfaces hergestellt, das bidirektional mit dem PC über RS-232, mit dem Vehikel per Funk im 433 MHz Band kommuniziert. Die Funkstrecke wurde auf Grundlage der RFM12 Module von HopeRF realisiert. Vorne auf dem Vehikel ist eine mittels Servo bewegliche Funkkamera installiert. Die Kamera unterhält eine eigene Funkstrecke mit ihrem Empfängermodul, das mit PC-Interface und Netzteil die Basisstation bildet. Die am Vehikel befindliche Sensorik kann je nach konkretem Versuch variieren, zur Zeit ist vorne ein SRF05 Ultraschallmodul als Echolot installiert, an den Seiten vorne und hinten befinden sich Infrarot-Abstandssensoren. Die dritte Etappe ist diejenige, die für mich die unberechenbarste ist (aber deshalb auch besonders spannend), denn dabei steht die Implementierung eins visuellen Verhaltens im Mittelpunkt. Mittlerweile habe ich die ersten kleinen "Erfolge" in diesem Bereich zu verzeichnen.

Zum Aufbau dieser Seite


Unterhalb dieses Abschnittes sind die Tagebucheinträge chronologisch angeordnet, der aktuellste steht oben. Es werden nur die jeweils jüngsten acht Einträge auf dieser Seite angezeigt, ältere kann man an ihrem unteren Ende aufrufen. Man kann einen Eintrag kommentieren, in dem man auf "comments" unter dem entsprechenden Posting klickt.

Montag, 13. August 2007

Funky!

Die Funkverbindung steht. Zwar habe ich noch kein endgültiges Protokoll entwickelt, bin aber immerhin schon mal sehr zufrieden, dass ich beliebige Daten drahtlos zwischen Vehikel und Basisstation übertragen kann – und zwar bidirektional. Es existieren im Netz mittlerweile einige BASCOM-Codefragmente, die die Ansteuerung der RFM12-Module bewerkstelligen. Die Software für meine erste Testfunkstrecke habe ich aus solchen Beispielprogrammen zusammengestöpselt, es waren nur kleinere Anpassungen an meinen Aufbau nötig. Wer einfach nur an Beispielcodes interessiert ist, bemühe google mit der entsprechenden Suchanfrage [link], so habe ich es auch getan.
Hier dann auch gleich mal ein paar Bilder vom jetzigen Aufbau. Für das RFM12-Modul habe ich mir eine kleine Adapterplatine gemacht, weil dessen Anschlüsse im Rastermaß 2 mm angeordnet sind. Die Antenne für das Modul habe ich mir aus dem obersten Glied einer alten Teleskopantenne gebastelt, ich habe dieses auf λ/4 ≈ 173 mm (f=433 MHz entspricht ca. λ=0.69 m) gekürzt und in einen dazu aufgebohrten M3 Sechskantbolzen gelötet. Wie man sieht, ragt aus der Platine eine M3 Schraube, auf die die Antenne geschraubt werden kann. Über eine Lötfahne auf der Platinenunterseite ist die Schraube - und damit die Antenne - an den Antennenpin des Moduls angeschlossen. Ansonsten befindet sich auf der Platine mittlerweile ein zweizeiliges LCD und ein PCF8574 über den ich (bisher nur) zwei Tasten abfrage. Der Aufwärtswandler, den ich für das Kameramodul aufgebaut habe, ist aus weiter unten genannten Gründen unbenutzt, ich werde ihn vorerst nicht abreißen, denn man weiß ja nicht, wozu man den nochmal zu gebrauchen kann.


Dienstag, 7. August 2007

Maximale Autonomie :)

Hier mal ein erstes kleines Video meines Vehikels in Bewegung. Das Vehikel ist im Moment in höchstem Maße autonom, es fährt stumpf seinen Weg ab, ohne sich auch nur im geringsten um seine Umwelt zu kümmern... im Ernst: ich habe es zum Testen so programmiert, dass es 500 mm geradeaus fährt und dann eine 90° Wende macht. Daraus resultiert das Verhalten, das man in der rechten Bildhälfte des Videos sehen kann. Die linke Bildhälfte zeigt den ganzen Vorgang parallel aus Sicht der Vehikelkamera - dies ist also die eigentlich interessante Information. Die Bildqualität ist im Original etwas besser als der Film vermuten lässt - aber trotzdem noch schlecht genug.

Sonntag, 5. August 2007

Nur der Vollständigkeit halber.

Es ist nun nichts besonderes, aber ich poste trotzdem noch schnell ein Bild (jaja, ich weiss, die Qualität ist mies...) von dem In-System-Programming (ISP) Interface für mein Vehikel. Ich verwende die STK200/300 kompatible Variante für den Druckerport, der Schaltplan findet sich z. B. hier [link]. Da beim Mega32 die Pins für das ISP-Interface direkt nebeneinander liegen, habe ich die Pins für mein Interface ebenso angeordnet - das minimiert den Verdrahtungsaufwand am Controller. Das Bild zeigt den fertigen Programmieradapter, oben links sind zwei Aufnahmen von der Schaltung, bevor ich sie mit Schrumpfschlauch eingepackt habe. Der Aufbau war simpel genug, um auf Anhieb zu funktionieren.

Malte Ahlers 2007-2008