DroidBot

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.

 

 

 

 

image tracking/processing on android with bluetooth/arduino controls

  • Control method: Bluetooth, android
  • Operating system: Android
  • Sensors / input devices: camera

This is a companion discussion topic for the original entry at https://community.robotshop.com/robots/show/droidbot

Great job, I would love to

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

Thank You! I just started

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.

Very nice.

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

I haven’t heard of them,

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.

**Most definately **

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

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.

DrdBot? Are you a fan of

DrdBot? Are you a fan of Farscape?

220px-DRD_01.jpg

A Farscape Diagnostic Repair Drone (DRD)

Hmm. . .New base. Did you

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

You went the hard way to

You went the hard way to learn Android/Java, my respect for it. I started similar but abandoned much earlier because of lack of time to learn Android/Java. Then I met the IOIO board. That was the missing gap I needed, an easy start point.

Continue the good work. I’ve looked at your programs, because I was interested in the camera control. I would also try this later. I’ve played around also with a facial recognition program. Does not look very difficult to use this example code.

Well my university purchased

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.

Actually this is the first

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

Thank you! It’s quite the

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. 

Looking forward to seeing more of this project

Am looking forward to seeing your progress with OpenCV and edge detection for obstacle avoidance. I am currently implementing a ball following bot in Python and OpenCV and once I have cracked that was going to move onto object avoidance using OpenCV as opposed to using sensors connected directly to an aurdino.

Thank you, I will be

Thank you, I will be updating this post here in the next week or so with a project update on how I implement the color recognition and how I use that for the object tracking.

UPDATE

Sorry its taken me so long to update this project, I’ve recently been putting together a web site for all my projects(ALOT!). Its not complete yet but I have a few of my updated projects and source code available at the moment. I’ll be working on it and will be updating my LMR pages soon as well. Heres the link <http://www2.cs.uidaho.edu/~lamb3619/>.

Where can I find the application?

Where can I find the app? Is the .apk file in the OpenCVBot file I found at your web site?

Hey konto89,I haven’t had

Hey konto89,

I haven’t had any time to keep my site updated this summer to do work but its on my list. I’ll check and see about the apk when I get home today. Its worth mentioning that I have the MAC address for the bluetooth module hard coded, not the best solution, but you’ll have to change that if you want to connect to your own module.

Here is a link to a zip file

Here is a link to a zip file containing the last two APK’s I have for this project, sorry to everyone who has been waiting, summer job has me swomped. <http://www2.cs.uidaho.edu/~lamb3619/fwdlmrdroidbot.zip>

Hey

Hey wassup

So awesome app and projevt u made here

I mean seriously this is awesome

I tried to download the apk it didmt respond to me properly

If u can give me a proper link to download the apk… 

Would be really helfulp