Let's Make Robots!

Robot camera?

I need a camera like a CMUcam or a AVRcam for my robot. I was thinking about getting a CMUcam or AVRcam, but there hasn't been much activity lately by the makers of these cameras, so I'm a little hesitant. I want to be able to do onboard color tracking, blob detection, etc.. And I have an Arduino Mega and Duemilinove to use on my robot. Any help from the LMR society goes a long way, and I appreciate it. Thanks!

Comment viewing options

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

im using 2 linksprite jpeg cameras and transmitting results back over to pc via blue tooth for processing. at 50% compression i can get a stereo image every couple of seconds from my arduino mega. interface is serial, so uses arduino hardware or software serial connections straight out of the box. limiting factor is bandwidth, which is why im looking forwards to raspberry pi. arduino itself just doesnt have the power for image processing.

if u decide to go for linksprite, feel free to grab my api - the example code is buggy and pre arduino 1.0. its at robotblogging.blogspot.com/2012/04/quick-camera-api.html. im getting to work on face recog ition soon so will document my results up there. 

p.s. if u get one, make sure u get the wire for it as well :)

GroG's picture

I would agree with RobotFreak - or as another option, get an IP Camera like a Foscam turret.
I did this for fun here

http://myrobotlab.org/content/myrobotlab-ipcamera-service

I stream the images to a computer for live processing - having a uC do processing of video IMHO is more trouble than its worth

 

Chowmix12's picture
I have tried using an android tablet as an Incan, sending live videos to my computer for image processing, then using Bluetooth to send commands back to the robot. It never worked well, I ended up burning out a motor drive with all the oscilations due to corrections in tracking. I want on board processing.
GroG's picture

This is the only uC-camera that I know of which has not been mentioned.
http://centeye.com/products/ardueye-shields-for-arduino/

I actually purchased one, and tried a form of LK-Optical tracking ...  it was "mediocre" at best and the code does not support blob detection or any other higher level functions.

I personally would prefer to be in the camp of common processors versus these exotic uCs.  The development of a vision library is not a trivial task and software like OpenCV has already been ported to run on a ARM-7 and other extremely small (yet common - thanks to the smartphone) processors.  I suspect that OpenCV will be ported to a Rasberry-Pi too if they have actually started to sell there units.

 

RobotFreak's picture

Why not use an Android mobile phone and connect the Arduino via Bluetooth or USB host shield. OpenCV is running on Android and is very easy to use. And you will get a lot of additional features like Touch Graphic Display, Accelerometers and WiFi connection for free.

Chowmix12's picture
I do have bluetooth on my current robot, I can you point me to some resources to begin? Thanks :)
RobotFreak's picture

2 projects I found:

  • Android Object Tracker  is using an Android phone + OpenCV for object recognition and controll an Arduino Uno via headphone output
  • Cellbots is using Bluetooth to communicate with an Arduino robot, no OpenCV support so far. I'm using the Cellbots code for my MASHR project
Dan M's picture

Wow, $149.75 plus shipping and extras?

Not in my price range...  I think more along the lines of http://www.ebay.com/itm/200459396933?ssPageName=STRK:MEWAX:IT&_trksid=p3984.m1423.l2649

less than 1/10 the price.  $13.98 and free shipping.

Would it work for what you need? That is for you to decide.

 

 

Ro-Bot-X's picture

That is the kind of camera the NXTcam uses. The NXTcam is based on the open design of the AVRcam, so you could use the schematic to design your own. Besides the camera sensor you need an ATmega328 and a Tiny13 if I remember correctly. While the AVRcam used the hardware serial to send out data, the NXTcam uses the I2C interface for NXT compatibility. It also has a built in FTDI chip that can be left out and have just a regular FTDI connector instead. I think Jax was working on such a camera.

Chowmix12's picture
I already have an arduino duemilinove with atmel 328 so that shoudnt be a problem, i think...