Yorn Robot
Da ich wirklich keine Zeit hatte meine Platine selbst zu löten (die Zeit wird aber kommen, spätestens wenn das langweilige Semester wieder anfängt und ich nicht weiss, was ich in meiner Studentenbude machen soll...) und andere Sachen wichtiger waren, habe ich mich entschieden für die Platine erstmal zum Testen eine Out-Of-The-Box Lösung zu besorgen. Meine Wahl viel dabei auf ein Anfängerboard von Robotikhardware.de, das dem Roboternetz.de Standard unterliegt. Ich kann das RN-Control Board für Anfänger nur empfehlen, der Support im offiziellen Forum und die Datenblätter, die man mitgeliefert bekommt sind erstklassig und man kann sofort loslegen. Anschlüsse und Test/Beispiel-Programme sind genügend vorhanden und liefern einem einen guten Start wenn man von AVRs, Basic und anderem Spass absolut keine Ahnung hat (so wie ich...). Dazu hab ich noch zwei Kabel, ein ISP-Dongel zum Programmieren über den seriellen oder wahlweise den Drucker Port. Dazu noch ein serielles Kabel für die RS232 Kommunikation, das sich wunderbar für Fehlerdiagnosen eignet.
Zum Bot:
Der Bot besteht im Moment aus einem Sharp IR Abstandssensor, dem Board, 2 Ge-moddeten Servos und einem Chassis, das ich aus einem alten RC Fahrzeug zusammengebaut habe.
v0.1a
Die erste Version des Bots bestand aus oben genannten Komponenten, wobei ich die Standard Motoren aus dem RC Racer benutzt hab. Das RN-Control Board habe ich einfach auf den Bot gelegt, nachdem ich alles, bis auf das Chassis abgeschraubt hatte. Das Chassis besteht aus einem schwarzen Plastik-Körper, an dem 4 Räder angebracht sind, die zwei Ketten Antreiben. Nach vorne ist eine Sharp IR-Sensor zur Abstandsmessung angebracht. Stromversorgung über einen Netzadapter, für den ich einfach ein passendes Gegenstück am Bot angebracht habe.
v0.1b
Die zweite Version entstand aus der Notwendigkeit, die Motoren ersetzen zu müssen. Die Mistdinger waren nämlich zu stark für den Motorcontroller (L293D) der auf dem Board war und haben mir einmal den Motorcontroller abrauchen lassen und im weiteren Betrieb dann andere Motorcontroller übermäßig erhitzt (und Hitze ist hier untertrieben, man hätte drauf Eier braten können). Auf einen Tip aus dem Roboternetz.de Forum habe ich dann einen weiteren Motorcontroller Huckepack auf den verbauten gelötet und damit die Temperatur etwas drücken können, allerdings war das ganze immernoch keine Lösung im Dauerbetrieb. Ich hab dann mit den billigsten 5 Euro Servos experimentiert, die ich von Conrad bekommen konnte. Die waren im Limit was den Betrieb anging und der Motortreiber wird jetzt "NUR" warm, raucht aber nicht mehr ab, hoffe ich zumindest. Im Dauerbetrieb noch nicht getestet. Das Problem war hierbei, die erstaunlich komplexe Verarbeitung des RC-Antriebs so zu modden, das man die Raupen über die zwei Servos betreiben konnte. Da hat natürlich nichts gestimmt, weder die Maße, noch die Zahnradkonstruktionen. Also hab ich die schönen Motorgehäuse abgesägt und hinten einen komplett neuen Motorraum gemoddet (siehe Bilder und ein Video!). Die Heissklebepistole rockt, sach ich nur! Jetzt fährt das Ding jedenfalls wieder.
v0.2a
So es ist Zeit für die nächste Version des Bots. Hinzugekommen sind 2 neue Sharp IR-Sensoren, die ich nach vorne Ausgerichtet hab. Dann hat der Bot noch ein Softwareupdate erhalten, um die zwei zusätzlichen Sensoren sinnvoll verwenden zu können. Im Prinzip läuft das ganze jetzt so ab, dass der Bot ein einseitiges Hinderniss von einem frontalen Hinderniss unterscheiden kann und nun nicht einfach immer umdreht wenn sich vor ihm was tut, sonder erstaunlich intelligent seine Richtung so korrigieren kann, bis der Weg wieder frei ist. Ich habe ein paar Videos hochgeladen, jetzt als mpg, jeweils 1,3MB.
Hier: Bot 1, Bot 2, Bot 3, Bot 4!
Bilder gibts auch, und zwar hier: Bot mit neuen Sensoren1, Bot mit neuen Sensoren2!
Features:
Der Bot fährt mit annehmbarer Geschwindigkeit und bis jetzt erkennt er nur Gegenstände die direkt vor ihm liegen und weicht diesen aus, indem er etwas zurück fährt, sich ein paar Grad auf der Stelle dreht und dann weiter fährt. Ein Bumper wurde Testweise angeschlossen, aber wieder verworfen, da die Abstandsmessung eigentlich alles ersetzt. Auf Console wird dann bei jeder Routine eine Meldung ausgegeben, um die Fehler besser analysieren zu können. Ein Snapshot von der Firmware ist hier zu finden.
-> Nach dem Update vom 02.11. kann der Bot jetzt intelligenter navigieren und fährt nicht nur einfach immer zurück.
In Planung:
Jetzt wo ich erstmal mit dem Ding wieder arbeiten kann ist geplant mit den weiteren Sharp IR Sensoren ein etwas komplexeres Navigationssystem zu erstellen. ZB den Abstand zum Boden ständig zu messen, um Steigungen und Löcher zu erkennen. Ziel ist, den Bot wissen zu lassen wo er sich in seinem Umfeld befindet. Jedoch nicht absolut, sondern in Relation zu den erkannten Hindernissen.
Eine weitere Idee ist, den Bot mit seinen Sensoren einen Korridor "ausleuchten" zu lassen und nur innerhalb dieses Korridors Hindernisse zu bearbeiten. Dabei kann man sich mit dem Radius, der sich aus der Reichweite eines sich drehendem IR Sensor ergibt und einer Kontaktschaltung für die verschiedenen Grad bzw. Richtung einen Korridor errechnen, indem sich kein Hinderniss befinden darf.