Society of Robots - Robot Forum

Electronics => Electronics => Topic started by: johnny_jones on November 18, 2012, 09:38:29 PM

Title: On-board image processing - robot car
Post by: johnny_jones on November 18, 2012, 09:38:29 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?

EDIT: actually, I'm thinking the UNO cannot supply the necessary 20 bit wide address line? perhaps I need to use an FPGA as well?

Thanks
Title: Re: On-board image processing - robot car
Post by: Soeren on November 19, 2012, 09:58:06 AM
Hi,

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

DSP, which btw. is quite math intensive, is not something that you just jump into with zero knowledge - grab a couple of books on the subject and see if you can get a basic understanding, then try applying what you learn to a DSP chip, one little step at a time.
Title: Re: On-board image processing - robot car
Post by: johnny_jones on November 19, 2012, 06:56:18 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.

Or any thoughts/suggestions also appreciated.
Title: Re: On-board image processing - robot car
Post by: Soeren on November 19, 2012, 08:36:22 PM
Hi,

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.
You have to determine the needed data throughput per time unit, considering time for whatever processiing of the data you need. This will give you the absolute minimum speed.


Or any thoughts/suggestions also appreciated.
ITX-Pico PC or ITX-Nano PC with a top quality web cam would be my preferred "motor", then the code can be written and compiled directly on the target system (just plug it in between screen/keyboard/mouse), get Robo Realm (or similar) installed and you'll save a lot of time.
Perhaps take a look at some of the PC-104 boards as well.

While you may like the size of your tiny cam, it will most likely be crap on all points color/focusgeometry/etc. compared to a larger cam with high quality optics - and the better your raw data, the easier it will be to process.