On-board image processing - robot car

General project help for Adafruit customers

Moderators: adafruit_support_bill, adafruit

On-board image processing - robot car

Postby johnny_jones » 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

Postby BruceF » 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: 184
Joined: Tue May 03, 2011 3:51 pm

Re: On-board image processing - robot car

Postby johnny_jones » 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

Postby BruceF » 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: 184
Joined: Tue May 03, 2011 3:51 pm


Return to General Project help

Who is online

Users browsing this forum: No registered users and 7 guests

Stuff to buy from the Adafruit store and links to product documentation!


New Products [103]

Raspberry Pi[80]
 
FLORA[23]
 
Bunnie Studios[9]
 
FPGA[1]
 
mbed[11]
Arduino[60]
 
NETduino[14]
 
BeagleBone[24]
 
Android[6]
 
XBee[10]
More Dev Boards[30]


 
BoArduino[8]
 
SpokePOV[4]
 
TV-B-Gone[4]
 
MiniPOV[3]
 
SIM reader[3]
 
Microtouch[5]
 
Clocks & Watches[18]
 
Drawdio[4]
 
Brain Machine[1]
 
Game of Life[2]
 
MintyBoost[2]
More DIY Kits[16]


 
MaKey MaKey[3]
 
Tweet-a-Watt[5]
 
Young Engineers[33]
 
Discover Electronics[2]
 
Snap Circuits[4]
 
littleBits[3]
 
Project packs[8]


 
Breakout Boards[33]
LCDs & Displays[48]
Components & Parts[69]
Batteries & Power[49]
EL Wire/Tape/Panel[52]
LEDs[109]
 
Wireless[14]
Cables[61]
 
Lasers[6]
Sensors/Parts[145]
 
Enclosures/Cases[11]
 
Solar[11]
 
RFID / NFC[13]
Prototyping[70]
 
iDevices[13]
Tools[71]
 
Wearables[39]
 
CNC[37]
 
Robotics[29]
 
3D printing[1]
 
Materials[24]


 
Stickers[41]
 
Skill badges[55]
 
Books[25]
 
Circuit Playground[7]
 
Gift Certificates[4]