Arduino Robo fertig

Unser Arduino-Robot als Selbstfahrer in der Wohnung, jetzt ist er fertig.

Das Ganze basiert auf einem AT-Mega von Atmel, als IDE wurde “Marie Mole” genutzt, Sprache ist C++. Als Sensoren gibt es derzeit zwei Ultraschall-Sender/Empfaenger am Geraet und vier Mikroschalter fuer den mechanischen Nahkontakt. Zur Hauptplatine wurde noch ein Motorshield verbaut, um die beiden Gleichstrom-Getriebemotoren anzusteuern. Die Energie kommt von 6 Mignon-Akkus.

robo

Die Steuerung folgt derzeit wenigen Vorgaben. Programmiertes Ziel ist quasi das Abfahren einer Flaeche, welche dann “gereinigt wird”. Bei “Events” wird in drei Zonen unterteilt. Wird ueber eine mittlere Distanz ueber einen US-Sensor ein Hindernis erkannt, so wird eine Kurskorrektur vorgenommen.

Geraet ein Hindernis in die Kurzdistanz, so wird die Fahrrichtung umgekehrt. Eckt der Robo direkt an, so wird je nach geschaltenem Kontaktsensor das Fahrzeug vom mechanischen Hindernis “weggedreht”. Neben dieser Reaktionsfaehigkeit der Kleinhirnlogik, liegt wohl die groesste Aufgabe in den naechsten Wochen darin, eine gewisse Strategie mitzugeben. Mittels IR-Richtfeuer soll der Robo dann auch eine Ladestation wiederfinden. Echte Lernfaehigkeit und Teamplay ueberlassen wir dann mal den Universitaeten…

robo

Das Fahrgestell nutzt ein eigenes Konzept. So geschieht der Antrieb ueber zwei Getriebemotoren, welche seitlich links und rechts angebracht sind. Vorn und hinten befinden sich je eine 360 Grad schwenkbare und kugelgelagerte Rolle. Diese richten sich je nach Fahrtrichtung aus. Weiche Antriebsraeder garantieren den Vortrieb auf verschiedenen Fussboeden.

Die Fahrtrichtung wird durch das gleichmaessige oder unterschiedliche Drehen der beiden Motoren bestimmt. Dreht ein Motor entgegengesetzt, so kann der Robo auf der Stelle drehen. Steht einer der Motoren, so wird ein Kreis gefahren. Die Akkus sind uebrigens “eneloop”, so hat man wenig Entladung beim Nichtgebrauch. Sie dienen auch dazu, den Schwerpunkt des Fahrgestell zu definieren, sind also logischerweise unten und mittig ueber den beiden Antriebsachsen angebracht.

robo

Neben der Programmlogik und der Elektronik war dann auch einiges mehr noch zu konzeptionieren. So zum Beispiel der im Bild links zu sehende Rahmen (zur Schaltung der Kontaktsensoren), welcher recht genau sein musste und damit auf einer Korkplatte entworfen und zum Verloeten fixiert wurde…

Gut fuer mich jedenfalls, dass damit Erfahrungen in der Arduino-Platform gesammelt werden konnten, zusaetzlich zu unserem doch schon recht umfangreichen Einsatz des Raspberry Pi. Der Arduino steuert dann auch zuverlaessig und in Echtzeit und kommt noch fuer Weiteres in der Zukunft in Frage. Denn schnell lassen sich mit den verschiedenen Varianten der Platform eigene Projekte aufbauen. Wie dies hier eben.

Und es soll natuerlich noch weiter ausgebaut werden, damit der kleine Helfer wenigstens so tun kann, als wuerde er auch wirkliche Aufgaben uebernehmen. Ich wollte auch nicht gaenzlich auf bestehende Loesungen zurueckgreifen. Also ist alles selbst geschrieben und es wurde bewusst nicht die Roboter-Platine der Italiener verwandt. So bleibt bei der EEPROM-Kapazitaet auch noch ordentlich Spielraum nach oben.

Und klar, es bleibt Showcase…

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.