IOIO-SHR – Java programmierbarer Roboter

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.

001_2_3_tonemapped.tif.jpg

Hardware

Das Chassis besteht aus einer 3mm dicken Polystyrol Platte. Zunächst wurde mit SketchUp eine Bohrschablone entworfen.
ioio-shr-chassis.jpg

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.

090.JPG

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.

098.JPG

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. 4x2 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.

073.JPG

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.

009.JPG

Videos

Das erste Video zeigt den IOI-SHR beim Ausweichen von Hindernissen (mehr oder weniger)

IOIO-SHR Obstacle Avoiding
Dieses Video ansehen auf YouTube.

Das zweite Video zeigt den IOIO-SHR beim Linienfolgen

IOIO-SHR Line follower
Dieses Video ansehen auf YouTube.

Im dritten Video zeigt der IOIO-SHR beim Verfolgen von Gegenständen.

IOIO-SHR Object Follower
Dieses Video ansehen auf YouTube.

Weblinks

2 Antworten auf „IOIO-SHR – Java programmierbarer Roboter“

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

siebzehn − 8 =