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.

Dienstag, 31. Juli 2007

Umwege.

Immerhin habe ich jetzt schon mal einen Videostream der Vehikel-Kamera in meinem Computer. Das Bild unten zeigt, wie sich mein Vehikel in einem anderen Zimmer im Spiegel betrachtet - das eitle Ding. Die Bildqualität ist recht mittelmäßig, etwas besser könnte sie noch durch optimalere Beleuchtung werden. So weit, so gut. Der Weg hierhin war aber wiedereinmal steinig: Weil das Stromversorgungskabel zur Kamera unverhältnismäßig dick ist (...dafür, dass nur 9 V bei 70 mA drüber sollen) und außerdem so einen seltsamen sperrigen Knubbel hat (zu sehen im Posting vom 24.07. [link]), den ich für eine Filterdrossel hielt (von wegen HF...), habe ich das Kabel gegen ein dünneres getauscht. Das allein war schon mal nichts für schwache Nerven, ich warne Neugierige! Denn im Gehäuse sind Kamera- und Funkeinheit als separate Module enthalten, die durch eine abenteuerliche fliegende Verdrahtung verbunden sind. Ich war die ganze Zeit in Sorge, mir könnte beim Hantieren ein Kabel abreißen, ohne dass ich dann rekonstruieren könnte, wo es abgerissen ist. Mit der nötigen Vorsicht ist diese Operation aber sogar geglückt. Nach dem kleinen Umbau wollte ich testen, ob ich die Kamera (Nennspannung 7,5 – 12 V) stabil an den 7,2V des Akkus betreiben kann. Seltsam, irgendwie funktionierte der Gaincontrol dann nicht mehr richtig, hielt ich die Kamera ins Licht, übersteuerte sie total. Also habe ich die Kamera zum Vergleich wieder über das entferne Kabel an das mitgeliefertes 9 V-Netzteil angeschlossen. So funktionierte sie tadellos. Was schließe ich daraus? Ist doch glasklar: der Gaincontrol funktioniert erst bei Nennspannung, die ich ja um ca. 300 mV unterschritten habe. Also baue ich mir einen kleinen Aufwärtsschaltregler (auf Basis des TL497 [link], nettes Ding, braucht wenig externe Beschaltung), der mir aus meinen 7,2 V des Akkus 9 V macht. Der Wandler funktionierte auf Anhieb - aber der Gaincontrol der Kamera trotzdem nicht. Genaueres Messen und Nachdenken (eine Kombination, die in zahlreichen Lebenslagen wahrlich Wunder wirkt) ergab dann: der Knubbel im Kabel war keine Drossel, sondern ein Spannungsregler, der die ungeregelten 9 V des zur Kamera gehörigen Steckernetzteils auf exakt 5 V abregelt. Ich habe die Kamera also nicht mit Unter- sondern mit Überspannung betrieben, deshalb funktionierte der Gaincontrol nicht richtig. Schon mal nett, dass sie’s überhaupt überlebt hat. Im Ergebnis hätte ich mir also meinen schönen Aufwärtsregler sparen, und schlicht die 5 V, die ich für die Digitaltechnik sowieso schon habe auch zur Versorgung der Kamera verwenden können - was ich jetzt auch getan habe.

Ich fasse also noch einmal für all jene zusammen, die die Pollin Funkkamera auch verwenden wollen: man kann sie problemlos an 5 V betreiben, wenn man das Kabel tauscht. Eben dieser Umbau ist aber nichts für Anfänger. Achja, man kann die Kamera auch mit Überspannung betreiben ohne sie zu schrotten, dann funktioniert aber der Gaincontrol nicht mehr. ;)

Donnerstag, 26. Juli 2007

Etappe zwei von drei

An dieser Stelle will ich kurz umreißen, was das Ziel der nächsten Etappe ist. Um es knapp zusammenzufassen: das Vehikel des jetzigen Zustandes soll nun zunächst zu einem funkferngesteuerten Auto mit Kamera werden – ja, also auch hier noch keine „Autonomie“. Dazu werde ich zunächst mal die Elektronik in ihren unproblematischen Aspekten aufbauen. Einiges ist ja schon im vorigen Posting angedeutet: Ein Atmel AVR Mega32 [link] wird als zentraler Microcontroller dienen, ein 16x2-Zeichen LCD als Ausgabeeinheit, einige Taster als Eingabeeinheit. Dabei sollten noch genügend Ports am AVR für spätere Erweiterungen - zusätzliche Sensoren neben der Funkkamera - übrig bleiben. Neuland werde ich mit der Funkverbindung betreten, ähnliches habe ich noch nie gemacht. Ich möchte RFM12 Module von HopeRF [link] verwenden. Gerade in Verbindung mit AVR µC findet man im Netz dazu schon einiges an Vorarbeiten, es wäre schön, wenn ich davon für meine Anwendung profitieren könnte. Als „straight forward“ Entwicklungsumgebung für AVRs habe ich mich sehr mit BASCOM von MCS Electronic [link] angefreundet, meiner jetzigen Planung nach werde ich es auch hier einsetzen.

Dienstag, 24. Juli 2007

So weit, so gut...

Die erste angestrebte Etappe ist erreicht: ich habe einen "fahrbaren Untersatz". Wenn der Weg dahin auch nicht ganz geradlinig war, bin ich mit dem Zwischenergebnis doch recht zufrieden. Ich habe weitere sechs Bilder gemacht, die den aktuellen Zustand dokumentieren. Wie die ersten beiden Fotos (man entschuldige die etwas dürftige Qualität) zeigen, habe ich jetzt auf das Chassis die zukünftige "Hauptplatine" montiert, die vorerst natürlich noch unbestückt ist. Hier wird sich dann bald ein AVR Mega32 befinden, sicherlich auch ein kleines LCD und ein paar Taster um verschiedene Betriebsmodi anwählen zu können, und – wichitg – ein RFM12 Funkmodul [link], über das das Vehikel mit einem PC kommunizieren soll (aber so weit sind wir noch lange nicht...). Ich habe dem Roboter bereits jetzt schon eine Funkkamera gegönnt (sehr mittelmäßiges Ding, dafür aber günstig bei Pollin [link]), um mir später all zu aufwendige Umbauten zu sparen – denn dass ich irgendwann eine Kamera wollen würde, ist völlig klar :). Die Kamera ist auf einem Miniservo montiert, damit mein Vehikel auch Augenbewegungen durchführen kann. Dieser Aufbau ist nach meinem Geschmack noch nicht optimal, ich werde sehen, ob das unter Funktion so bleiben kann.
Auch das "tiefergelegte" Hinterrad sei hier nochmal gezeigt. Das Tiferlegen habe ich einfach mit zwei PVC-Platten realisiert. In dem sich ergebenden Zwischenraum hat jetzt die Steckverbindung von Akku und Elektronik Platz.
Außerdem gibt es noch zwei Bilder vom Getriebe. Das erste zeigt im wesentlichen den Aufbau: Eine Alu-Grundplatte ist über vier Sechskantbolzen (hier kaum zu sehen) am Chassis befestigt, an dieser Platte ist der Schrittmotor angeflanscht. Wie man sieht, ist das rechte Loch der Motorbefestigung ein Langloch, um später den Eingriff des Ritzels in das Zahnrad justieren zu können. Das Hauptzahnrad sitzt auf einer 4mm-Achse, diese läuft in zwei gesinterten Buchsen, eine in der genannten Grundplatte, eine in der Deckplatte, die über vier Abstandsbolzen das Getriebe zum Rad hin abschließt. Ich hatte zwischenzeitlich das Problem, dass unter Last die Achsen in den Klemmbuchsen der Räder durchdrehten. Um das zu verhindern ist die Achse jetzt geschlitzt, und ein kleines Blechstück sperrt sie mittels eines glücklicherweise in den Rädern vorhandenen Schlitzes (Fischertechnik ist wirklich gut durchdacht!) – dies ist auf dem letzten Bild zu sehen.



Samstag, 21. Juli 2007

Läuft!

Ich bin gerade mit dem aktuellen Umbau fertig geworden. Und weil ich direkt ein bisschen begeistert davon bin, dass mein Vehikel sich jetzt immerhin vernünftig über den Boden bewegen kann, veröffentliche ich doch direkt und auf die Schnelle mal ein paar Bilder. Weitere Detailaufnahmen und Erläuterungen folgen dann in Kürze.
Auch wenn jetzt alles recht schlicht aussieht, war der Bau des Getriebes durchaus nicht ganz trivial - aber dazu wie gesagt bei Zeiten mehr. Da ich für die Vorversion des Antriebes die Ritzel von den Motoren gezogen habe, habe ich mir für diesen Aufbau neue Motoren bestellt. Geeignete Zahnräder für mein Getriebe waren ausnahmsweise mal schnell und kostenoptimal (=umsonst) gefunden: in der Krims-Krams-Kiste kullerten schon seit längerem zwei wirklich schöne, sehr präzise gesinterte Metallzahnräder gleichen Moduls wie die Motorritzel herum. Sie entstammen wie mein Hinterrad (ehemals Papierandruckrolle) einem zerlegten Drucker.
Die Motoren haben ihre Position zum Chassis zwar nicht verändert (auch wenn sie jetzt anders aufgehängt sind), die Radachse ist aber nun um etwas mehr als den Radius des neuen Zahnrades nach unten verschoben. Dieses hat den positiven Nebeneffekt, dass mein Vehikel nun an Bodenfreiheit gewonnen hat. Diese Erhöhung des Chassis erforderte es natürlich auch, dass das Hinterrad „tiefer gelegt“ werden musste.


Malte Ahlers 2007-2008