Let's Make Robots!


image tracking/processing on android with bluetooth/arduino controls
Proposal.doc18.5 KB
ScreenCapture.zip3.44 MB
CotsBotsArd_V2.zip5.93 KB
CotsBotsArd_V1.zip4.73 KB

This is DroidBot!, I'm doing some AI research for my University and this is a test bot I put together to test some of my code. It uses an Arduino Romeo to control the motors/servos via bluetooth connected to the mounted droid. Using the camera to do some image processing, it searches for a predefined set of pixels and relates a command on location. Its not very intelligent on decision making yet but I'm working on a full bore image recognition and tracking app that I will update when I can.


Proposal.doc.txt - Project proposal for anyone more interested in what's the plan, how I intend to use a genetic algorithm, etc.

The CotsBotArd zip contains the arduino library for the robot(CotsBot). Sorry I haven't had the time to write up the readme for it, I'll update that soon. Read through the header file and comment out anything you don't have setup, for example the IR sensor. Then load the example .pde on to your board. Basically it will wait for a serial command (F,B,L,R) in the form of ascii hex (caps) and move based on those commands. The idea here is to keep the microcontroller stuff super simple and fast, while having the computational stuff being done on the phone.

The src zip contains the three java files neccesary for the phone, NOTE that you must enter in your bluetooth modules MAC address before it'll work correctly, or you can add some code to pick from paired devices if you'd like. The code doesn't do much yet, just sets up a camera preview, creates the bluetooth connecting and looks for a specific pixel and moves based on that pixels position. Over the next few months I'll be working on tracking/searching algorithm.

I AM NEW TO ANDROID AND AI! I have taught myself almost all of this by practice and reading example code so please leave comments and suggestions I enjoy them all.

EDIT: March 2, 2012: I have implemented OpenCV in my android app. It will search for an object based on color, it learns by the user touching the screen in the location of the object, the more the user tells the app where to look the better its color ranging gets.

The apk is too large for this site, I'll work on that so people can check it out. The screenshots.zip folder contains some screenshots of it in action.



I've posted a few pictures of the tracking in action, I will be updating this page more seriously/completely in a couple (more like 4) weeks when summer starts. I have some interresting/usefull things to post.





Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Thank you! It's quite the setup but definitely helps in learning it, at least for me, when I can see how others have done something instead of trying to read through the dev documentation. I have read a little about the IOIO, seems like a really good place to start. For around 50 bucks its a great price and it has a nice API to go along with it. I'm considering using openCV for the continuation of this project but thats still in the air.The algorithms I'm working on are using edge detection for obstacle avoidance. 

Hmm. . .New base.  Did you outgrow the RP5?  It seemed to be working for you.  How does it compare to the Rover 5?

Well my university purchased a few for a class and they let me use one so I figured why not. A little more capable with the adjustable ground clearance and slightly more powerful, looks a little better too I think. One major factor I thought was nice is that you can have body angled downward, which worked well for my setup since I have the phone mounted statically and thats currently how I adjust the viewing angle.

DrdBot? Are you a fan of Farscape?

A Farscape Diagnostic Repair Drone (DRD)

Absolutely!  I always *loved* Farscape.  Was unhappy they took it off the air. I haven't seen a DRD in ages. Cool.

I suppose I am a sucker for just about any show that is in the SciFi genre.


Actually this is the first time I've heard of Farscape.

Am interested in whatever code you can post. Will follow this one with interest. Have you heard of google goggles? I'm not saying it's good but it is a project aimed at object recognition using the cloud. I installed it on my phone but it hasn't even learnt to identify my coffee cup yet which is a pretty basic shape. I'd love to hear if someone else has more success with it.

Thank you! I'll post some code here shortly, its not very "smart" but It'll be enough to get ya going. I would love to see google put out an API for goggles, that would greatly improve what I'm doing or at least make it a lot more capable.

Have you heard of Cellbots.com? they use android/arduino communication with bluetooth for robotics.

I haven't heard of them, thanks for the info, seems they have quite a bit of experience in this kind of stuff and they have some really neat robots.