e1

All posts tagged e1

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

/dev/ttyACM0

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!

Drive wheels

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.

image

image

image

image

image

image

Prototyping

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:

image

image

image

image