[ANN] AVRcam: Real-time image processing engine based on the AVR

Hi All,

I thought I would pass along some information on my latest project: the AVRcam. The AVRcam is a small, low-cost, image processing engine based on the Atmel mega8 microcontroller. The AVRcam provides the following capabilities: * Track 8 different objects of 8 different user-defined colors at 27 frames/sec * Provide real-time tracked object statistics (color, bounding box, center of object, and more) through a standard serial port (UART) * Tracked image resolution of up to 88 x 144 (at 27 frames/sec) * Low power consumption (the ENTIRE system draws 5V at only 53 mA running at full speed) * Small size (Experimental Version with breadboard area: 3.5" x 3.1" Final Version: 2.3" x 2.0") * In-circuit programmability for expanding its capabilities

In addition, a PC application called AVRcamVIEW supports the AVRcam, allowing the user to test and calibrate the AVRcam. AVRcamVIEW provides the following: * Take full-color snapshots (176 x 144 pixels) with the system and display the images (both raw Bayer data and interpolated data) * Easily create a Color Map of colors to track based on a snapshot (just click on the colors of interest and add them to the Color Map) * Adjust the precision of each tracked color (i.e. provide a range of acceptable R-G-B values for each color), allowing the user to adjust the Color Map to the available lighting conditions * Display the real-time tracking results of each tracked object (with color and bounding box information) * Record a tracking session for playback at a later time * Test the system out in any OS supported by Java 1.4 (Windows, Linux, Macintosh, etc.)

You can find out more about the AVRcam at:

formatting link

by clicking on the AVRcam link (there are also links to some of my other robot projects here...you'll have to forgive my "basic" website...I'm just starting to figure out this HTML stuff ;-)

I'm continuing development on the project, but wanted to get the word out to those of you who may be interested in it. I'm planning on posting both source code as well as schematics and other info about the project as time becomes available. I also may end up doing a small production run of the system as well. If interested, drop me an email at

snipped-for-privacy@jrobot.net

Thanks for reading,

John Orlando

formatting link

Reply to
john orlando
Loading thread data ...

Impressive!

--
KC6ETE  Dave's Engineering Page, www.dvanhorn.org
Microcontroller Consultant, specializing in Atmel AVR
Reply to
Dave VanHorn

Hi John,

this is impressive! Seems like a miracle to me how you managed to fit all this in to an AVR with a few hundred bytes of SRAM only. My first thought was you must be kidding. But now as I've seen the pics on your website I'm convinced that this is actually working.

Do you plan to lay the µC source code open?

Jan

"john orlando" schrieb im Newsbeitrag news: snipped-for-privacy@posting.google.com...

Reply to
Jan Weber

Hi Jan,

Ha! That would be funny...yes, the system does actually work. I've continued developing the project past my submission into the Circuit Cellar contest, and have been adding more features along the way. After all, I still have both code space, RAM, and EEPROM left...can't let it go to waste.

I am seriously considering open-sourcing the software. I'm in a bit of a quandry about my next move with the project. I'm still considering selling a kit form or a ready-to-go version, though I have a feeling that putting the system into "production" will take much of the enjoyment out of it (though making some $$ to fund my next project would be nice...). I'll be sure to post back to usenet as progress is made.

John Orlando

formatting link

Reply to
john orlando

Although open-source is always beneficial to the community. You should probably take a serious look at putting this into production. Especially if you have any plans of merging the camera chip/lens and processor onto a *small* smt-type board. Could be serious competition for CMUCam.

m2c, Jas> Hi Jan,

Reply to
Jason Tang

I would be interested in buying a kit if the price is right.

Especially if it is open source/hardware.

-- D. Jay Newman

formatting link

Reply to
D. Jay Newman

Same here! I'm truly impressed.

I recently did a 4 inch thermal printer in the M8, which I thought was rather cool spitting out paper at many inches per second (more than 14 but I forget) 832 pixels, 2000 times a second, plus stepper accel and decel, analog measurements, and burn density calculation and control, all running concurrently.

It's an amazingly capable chip.

--
KC6ETE  Dave's Engineering Page, www.dvanhorn.org
Microcontroller Consultant, specializing in Atmel AVR
Reply to
Dave VanHorn

Cool project Dave! I wholeheartedly agree that the AVR mega8 is one heck of a processor. I really don't think anything else comes close in capability vs. power consumption vs. size. Geez...you'd think I work for Atmel or something...I don't...I'm just a happy customer using their products.

I wonder if this is going to stir up the PIC camp to respond...here we go again...

John

Reply to
john orlando

I'd be interested too. But it's not that easy to buy something overseas when you're an EU citizen like me. All the added taxes and shipping fees easily double the prices.

Therefore, I'd prefer to take a look at the software without having to buy hardware, although I'm willing to pay for your work. Maybe you'll offer the source code only?

Jan

"D. Jay Newman" schrieb im Newsbeitrag news:ch07ri$1ooq$ snipped-for-privacy@f04n12.cac.psu.edu...

Reply to
Jan Weber

UNBELIEVABLE

FANTASTIC..

INCREDIBLE..

MINDBOGGLING..

ASTONISHING..

PHENOMENAL..

..

Reply to
<cvs>

Thanks...I really appreciate the kindness. I also wanted to throw out a general thanks to newsgroups like this one, and

formatting link
because both of these forums have always helped me out in the past when I have run into problems.

I also wanted to pass on some information to those who have asked about the source code and/or schematics to the project. I am pretty sure that my original submission into the Circuit Cellar contest is going to be made available sometime in the next couple of weeks on their website. My entry contains the COMPLETE source code for the project, as well as additional technical information. It also includes the schematic for the original "breadboard" version of the project.

As I said before, I have continued developing the project, adding new features as well as fixing several bugs in the system. I do plan to do a production run of the system over the next couple of months that will have the latest and greatest software (both embedded and PC) as well as the latest hardware.

Stay tuned...I'll be sure to post here as things progress.

Regards, John

Reply to
john orlando

Is your source code (hopefully) in C or assembler ?

...

...

Reply to
<isa -->PCI>

Hello,

Its 95% in C...there are a couple of Assembly routines that are critically timed to interact with the stream of pixels coming from the OV6620. But I tried to comment EVERYTHING as well as possible (mostly because my memory stinks sometimes, and its just flat out easier to understand that way).

John

Reply to
john orlando

While I've see modivation for tracking a single color blob to use with the soccer-bot type of robot games, I am not clear on the end purpose for your device. (then again, I am not that familiar with robotics)

Here are some random ideas, in case you might want to plan for these in the future kits. Please add other ideas that I've omitted.

- Tracking an object in 3-d space by using two of your devices. I've seen virtual-reality type pointing device which is simply a stick that has a ball on each end. By placing 3 different colored balls in a triangular orientation, it is possible to extract 6dof for the observed object.

- Your camera is relatively low-resolution. Pehaps allow for the possibility of adding a higher resolution camera for more accuracy.

- Give a robot the ability to see beacons so it can extract its location by triangulating on two bases. Alternatively, locate and drive to a charging station. If you stack the beacon with a few colors on top of each other, you can encode each base with an address.

Joe Dunfee

Reply to
Smiley

Wasn't there some fella that recently needed to track people down a hallway for an art exhibit?????

chris > While I've see modivation for tracking a single color blob to use with

Reply to
chris

John:

I can understand your quandry. I went through a similar quandry when various members of my robotics club encouraged me to commercialize RoboBricks (now RoboBRiX). There is a huge amount of work required to take something from "works for you" to "works for everybody else". For RoboBRiX it is still a work in progress. Sigh.

It would be a shame to let what is obviously some pretty slick engineering fall by the way side. A suggestion would be to form a yahoo group to get the interested parties together to form a self support group. Such a self support group could perform a group buy of the camera, boards, installing the GCC compiler, etc. I know I would sign rup, and I suspect a dozen or so other people would as well. This would spread the effort of taking something from the "works for you" to "works for other people" out to a bunch of interested people.

Just a though,

-Wayne

P.S. The snipped-for-privacy@PacBell.Net is a spam trap. To repond to me directly, Wayne AT Gramlich DOT Net. Make sure the subject looks pretty interesting, or my spam filter will get to it before I do.

Reply to
Wayne C. Gramlich

Me too!

-- D. Jay Newman

formatting link

Reply to
D. Jay Newman

I have the equipment to make 2 sided PCB's. plotter, dip tanks, cnc drill press.

This could be a good time for me to figure out how to convert popular CAD PCB formats into the format my CAD program uses.

aiiadict AT hotmail DOT com

formatting link

Reply to
Rich J.

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.