Argos the Chromovore
Tags: mechanical and outreachPersonhours: 80
Task: Get some pre-season experience with Android controlled robots
We've been experimenting with Android controlled robots while we wait for our ModernRobotics modules. Argos is a chromovore - it seeks an identified color using OpenCV4Android machine vision processing. It tries to maintain a given distance from the colored object and follow it around. It's built using the IOIO-OTG for low level interface with the motor control electronics. The ZTE Speed phone is mounted on pan/tilt hardware from ServoCity and Actobotics. The chassis is a MaxStone 1/5 scale rock crawler by Exceed RC.
Reflections
We are starting to learn a bit about using Android devices for controlling robotics. There seems to be a lot of potential here, but we are mostly finding that we have more and more to learn. Machine vision is not easy, and we don't even know if it will be useful in next season's challenge. We are also learning about the location and orientation APIs. Unfortunately it seems the ZTE Speed doesn't have an actual gyro in it, so we'll have to continue using an external gyro for heading management.
We don't plan to publish (meaning document and support) the source code. Our code is just a hack forcing two projects into one - plus you really want to build it from scratch to get a good idea of what is going on. It's pretty much a blend of the ColorBlobDetector sample that comes with OpenCV4Android, and the IOIOSimpleApp present in the IOIO Github project. Use the gradle branch for compatibility with Android Studio. But if you want to look at our implementation you can find it here.