This is IOIO-Rover, my actual robot project. I has taken a long time to get it working, due to hardware and software problems. The project started 8 month ago. I’m not working full time on it. And most of the time I spend to learn Java and how to write Android apps.
The IOIO-Rover will be used as our new house guard. It can drive around through our home when nobodys home and will check for intruders. Later on I hope it will be possible to start the robot with a phone call and watch live video via Skype or a G+ hangout.
[pe2-image src=“http://lh3.ggpht.com/-zGf1Kj7eD1Q/UDFCVnxfAyI/AAAAAAAAGS8/2G9wEXeyImE/s144-c-o/IMG_5143_4_5_fused.tif.jpg“ href=“https://picasaweb.google.com/100614490999857774768/IOIORover#5778472736114279202″ caption=“IOIO-Rover, based on a SparkFun IOIO board. Controlled by an Android phone.“ type=“image“ alt=“IMG_5143_4_5_fused.tif.jpg“ ]
Hardware:
- Sparkfun IOIO board as hardware controller
- Dagu Rover 5 chassis with 2WD
- Lynxmotion Pan/Tilt servo
- HCSR04 ultrasonic sensor
- Dagu IR compound eye
- 2 Sharp IR sensors as cliff sensors
- Roboternetz RN-2V dual motor controller
- ThingM BlinkM Max smart RGB LED using a LED band from home depot
The original Dagu 4WD motor controller makes me a lot of problem. Just 1 week before Campus Party 2 more motor drivers died wih blue smoke. After changing the motor controller with an RN-2V, all problems disappeared. During Campus Party the tilt servo dies. I realized that the lever is too big, to hold the phone. But it’s too late to change this now. I need to redesign the complete pan/tilt section.
View from above showing the BlinkM Max, the IOIO board, the pan/tilt servo and the cliff sensors
Lynxmotion pan/tilt servo
RN-VN2 motor controller
The Sharp IR sensors works very well as cliff sensors at a distance <10cm.
Software:
Only an Android Java app has to be written. Using the IOIO API library for Android is quite easy. But I ran into problems using the front camera. It seems that the Samsung Nexus phone doesn’t like it, when the camera preview is only faked to make the compiler happy, not a real preview with a SurfaceView element.
Modes of operation:
The IOIO rover has 4 autonomous modes at the moment and 1 remote controlled mode using Bluetooth. The modes of operation are shown on the screen with different animated background pics.
Chilling mode:
The robot just do nothing. Just sit and wait. But all sensors are working. The distance to an object is shown on the screen and by using the RGB LEDs. Red for very close, yellow and green for near objects, blue for no objects.
Chameleon mode:
The Chameleon mode doesn’t work either, because of the camera problem. The robot should drive around and when it detects an obstacle it should change the color of the robot to the color of the detected object.
Paparrazi Mode:
The Paparazzi mode doesn’t work yet, because of the camera problem. The robot should drive around and take pictures automously, when it detects a face.
Stalker Mode:
The Stalker mode works good. It follows an object with the servos using the IR compound eye. The ultrasonic ensor has been use to keep a constant distance between robot and object.
Remote controlled Mode:
For remote controlled mode a seperate app has been used. You can drive around and move the pan/tilt servos in all directions.
IOIO-Rover at Campus Party:
IOIO-Rover take part on the „Best of Show“ robot contest on Campus Party Berlin. It won 3rd prize in the software section. What a surprise, because the software is far from being complete. I worked on the software until 1 hour before the show. When I try to test the remote app, it wasn’t there. After reinstall the remote app my autonomous app disappeared. WTF, so I decided only to show the autonomous app. No time to reinstall another app during the show. Each participant has only 7 minutes to show its robot.
Video:
Finally I found the time to create a video for my IOIO-Rover. So far no solution for the camera issues. So I’m not sure if this project will ever be continued.
httpv://www.youtube.com/watch?v=pequzICEv5Q
Weblinks:
- http://letsmakerobots.com/node/33968 Lets Make Robots Forum