IOIO-SHR (IOIO Start Here Robot) ist mein erster Roboter der in Java programmiert werden kann. Das Gehirn bildet ein Android Handy (Nexus One). Die Hardware wird von einem Sparkfun IOIO Board angesteuert. Das IOIO Board selbst muss nicht programmiert werden. Die IOIO Firmware gestattet einen bequemen Zugriff auf die 48 IOs über die ADB Schnittstelle (Android Dedug Mode). Spezielle Peripherie wie I2C, SPI, PWM werden ebenso unterstützt wie analoge Inputs und digitale IOs.
Hardware
Das Chassis besteht aus einer 3mm dicken Polystyrol Platte. Zunächst wurde mit SketchUp eine Bohrschablone entworfen.
Der Antrieb besteht aus 2 gehackten Servos und Pololu Rädern mit Servo Befestigung. Die Servos sind mit selbstgemachten Halterungen mit dem Chassis verbunden. Eine Deo Roller Kugel dient als Stützrad. Als Bumper Sensoren wurden zunächst Taster mit Kabelbinder Schleifen verwendet. Das erwies sich aber als zu unsicher. Die Kabelbinder fielen schon sehr bald ab.
Das IOIO Board ist mit Klettband mit dem Chassis verbunden ebenso das Breakout Board mit 3poligen Stiftleisten (GND, VCC, Signal) für 16 IOs. Jeweils 8 davon können über Jumper mit der Batteriespannung bzw. mit 5V verbunden werden. Wegen der Servos wurde die Batteriespannung auf 6V mit 5xAA Zellen festgelegt. Das IOIO Board ist zwar ein 3V Board, aber viele IOs sind 5V tolerant ausgelegt. Lediglich bei den Analog Eingängen muss man aufpassen, die funktionieren nur bis max. 3.3V.
Bis zu 16 analoge Eingänge können am IOIO Board angeschlossen werden. Davon sind derzeit 10 belegt, 6 für die Liniensensoren und 4 für den Compound Eye Sensor. Das Compound Eye ist eine vereinfachte Art eines Insekten Facettenauges. 4×2 Fototransistoren erlauben eine Richtungserkennung für Objekte und Hindernisse. Auf einem Pan/Tilt Einheit montiert kann der Roboter damit Objekte verfolgen oder die Lage von Hindernisse erkennen. Auf dem Infratot Foto ist zu erkennen, dass die schwarzen Fototransistoren im Infrarot Bereich durchsichtig sind.
Software
Die Software basiert auf den Beispielen zur IOIO-Library. Auch ohne grosse Ahnung von Java gelang es mir damit recht einfach eigene Android Apps zu schreiben. Das Sparkfun IOIO Tutorial zeigt alles notwendige um eigene Apps zu entwickeln. Im IOIO Wiki werden alle wichitigen Funktionen der IOIO-Library erläutert. Ebenso wichtige Tips über den Anschluss der Hardware. Die Quellecodes zu den verschiedenen Apps befinden sich auf meiner Google Code Seite.
Bei der Programmierung war es mir wichtig, dass der Roboter autonomes Verhalten zeigt. Der Bildschirm des Android Phones ermöglicht zudem eine präzise Echtzeit Anzeige der Sensoren und Aktoren und eine einfache manuelle Steuerung der Aktoren.
Videos
Das erste Video zeigt den IOI-SHR beim Ausweichen von Hindernissen (mehr oder weniger)
httpv://www.youtube.com/watch?v=IGkqdokwDXQ
Das zweite Video zeigt den IOIO-SHR beim Linienfolgen
httpv://www.youtube.com/watch?v=7oPWN1_5u1E
Im dritten Video zeigt der IOIO-SHR beim Verfolgen von Gegenständen.
httpv://www.youtube.com/watch?v=8w-0x8YQ064
wird in https://sensiblochamaeleon.wordpress.com/2013/12/16/roboter-bots-und-webcrawler/ gelistet
Sehr cooler Roboter. Ich hab zwar mal ein Tutorial geschireben: http://www.kammerath.net/android-app-programmieren.html Aber Roboter hab ich bisher noch nicht ausprobiert. Werd ich jetzt bestimmt mal machen…