On-board image processing - robot car

by johnny_jones on Sun Nov 18, 2012 8:20 pm

Hi all, I am trying to get a little robot car to do on-board image processing.

So far my plans are as follows:
- microcontroller (ardiuno uno) to sync up the camera, SRAM memory and DSP chip(s)
- DSP chips will perform image processing algorithms and return result(s) to microcontroller
- camera is a very small CMOS type (6mm x 6mm x 4.5mm)

Thoughts:
- feed the 8 bit data stream from the camera into a 1Mx8 bits (8Mbit total memory)
- storage of 640x480 images (so I need 921600 locations of 8 bit storage)
- address line will be controlled by the microcontroller

DSP Chips:
- I have never worked with these before, is it similar to FPGA development?
- I still have to look into my DSP chip needs (multipliers, clock speed and on-chip memory are the most important?)

I have never done this before, does this sound like a reasonable effort that will not be too hard to debug or verify?

Thanks
johnny_jones
 
Posts: 3
Joined: Sun Nov 18, 2012 8:01 pm

Re: On-board image processing - robot car

by BruceF on Mon Nov 19, 2012 5:21 am

That sounds like it might be a pretty challenging project. I'd almost suggest considering a wifi link to a PC to offload the video work and make the car remote controlled from there, but much depends on your budget, goals, etc. Or maybe a Raspberry Pi / webcam setup instead of the Uno / RAM / DSP approach?

At a minimum, I'd think an Uno would be a bit underpowered gluing all that other hardware together, and adding your own video-capable DSP would be hard.
- Bruce
BruceF
 
Posts: 205
Joined: Tue May 03, 2011 3:51 pm

Re: On-board image processing - robot car

by johnny_jones on Mon Nov 19, 2012 7:45 pm

Alright so I talked to a professor, it was rushed, he said to look into a DSP development board with full API for openCV. Don't know if such a thing exists or is easy to use.

Another person I consulted said to go with an ARM development board to make interfacing the camera and what not easier.

Do you know some guidelines on how to select a suitable hardware application? I have almost no idea on how to determine if the processor and it's board organization can suit my processing needs. Most of the stuff I have experience with is low-level FPGA design and, well when you design all the logic elements, clock cycle and processing time is a hop skip and a jump away.
johnny_jones
 
Posts: 3
Joined: Sun Nov 18, 2012 8:01 pm

Re: On-board image processing - robot car

by BruceF on Mon Nov 19, 2012 10:45 pm

I've never done CV work outside of an x86 environment, but Google seems to suggest that there's OpenCV support available for the BeagleBoard. That sounds like a promising start to me, maybe ask around for advice on their forums?
- Bruce
BruceF
 
Posts: 205
Joined: Tue May 03, 2011 3:51 pm