Let's Make Robots!

DroidBot

image tracking/processing on android with bluetooth/arduino controls
AttachmentSize
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.

ATTACHMENTS:

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.

 

UPDATE:

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.

Great job, I would love to see a video of the facial recognition. What do you get for range?

Thank You! I just started getting into robotics and AI and am really enjoying it. So far I've been able to get up to 15-20 ft, limited by the size of my apartment, but seems to have a good signal from room to room. I'll get some shots of the facial recognition up soon. Its really fun when you turn on IP Cam on the phone thats on the bot, which allows streaming the video over wifi to say a monitor, then you can drive it around from a different room. Pretty fun stuff.