I put together a fun script which isolates colors using HSV filtering and then finds the largest “blob”, which is presumably an object that should be tracked. It then finds the center of the “blob” draws a target indicator on it, along with the X,Y coordinates.
The result is surprising good object tracking with minimal code. I have yet to port it over to the BeagleBoard because I wrote the script taking advantage of OpenCV’s “CV2″ library which requires Python 2.7. Unfortunately Only 2.6 is available via packages for the BeagleBoard and I have had little success in getting 2.7 to cross-compile. So I’m in the middle of porting the code to use only the core “CV” functions.
Here is the results of the object tracking (running on my Windows laptop):
Ultimately the E1 will be controlled by a beagle board computer. To accomplish this I bought a Torobot 24-servo controller board, but had a really hard time getting an easy-to-use API to interface it. I tried pyUSB to no avail.
Finally I found that the Torobot USB board could be communicated with through an Arduino serial driver. Conveniently this is available through opkg:
opkg install kernel-module-cdc-acm
When the board is plugged in, it comes up as
From here you can simply echo commands to the device.
echo "#8P1500T100" > /dev/ttyACM0
This basically says “set servo 8 to position 1500 with speed 100″. Doesn’t get much simpler than that!
Make Magazine, one of my favorite sources of inspiration is sponsering the Rhode Island Mini Maker Faire at AS220 Foo Fest today. We are proud to have the opportunity to show off the E1 (Now known as “Nuts”).
Join us at the Maker Faire today (Aug 10). We will be there from 1pm till at least 5pm – though the Faire will last till 1am.
We brained stormed some drive wheel configurations, and our prototype showed that the large wheels were going to be problematic. So we went with roller blade wheels with direct drive R/C motors.
The prototype showed us that the base needed to be a bit more streamlined, and it occurred to me that a chair base with built in swivel wheels should work.
I suggested to Boy #1 that we build a prototype. This would allow us to see the dimensions and design of the robot prior to investing in any real robot parts. PVC and Cardboard did the trick:
My oldest boy came to me and said: “Dad, I’ve got a great idea. Let’s build a robot!”
So we got started. Step one was to draw up some plans