Home Brew Camera for image tracking.
Scribbler's 1 & 2 have a three cell eye and "Robot Builder's Bonanza" discusses building several home brew vision systems. For the past year I've used the Parallax line scan camera for as Scribbler's vision on steroids and Jolt. While I like the line scan camera, it only has one dimensional vision. But this video takes a home brew vision system farther than I've seen. He has a two dimensional vision and added a lens:
That's a pretty small image and 32 x 32 seems more useful, but it seems usable for object detection in two dimensions. Not sure how he would threshold it for different levels of sensitivity unless he had an ADC.
That's a pretty small image and 32 x 32 seems more useful, but it seems usable for object detection in two dimensions. Not sure how he would threshold it for different levels of sensitivity unless he had an ADC.
Comments
http://www.ebay.com/itm/4-pcs-8x8-Dot-Matrix-5mm-Red-LED-Display-Common-Anode-/170667115992?pt=LH_DefaultDomain_0&hash=item27bc8d85d8
or, bicolor: http://www.ebay.com/itm/LED-DOT-MATRIX-DISPLAY-8X8-TWO-COLOR-LED-ARRAY-MODULE-/260723038767?pt=LH_DefaultDomain_0&hash=item3cb44dda2f
-Phil
Yeah, I followed the link to his website, but it's not in English so I couldn't get more details. From the pictures here http://nicotak.com/robot/camera/ it certainly looks like he's hooking up to the NXT brick. The brick uses I2C, so I'm guessing that's how he accesses the matrix outputs.
http://forums.parallax.com/showthread.php?126078-Poor-Man-s-BS1-Slow-Scan-Camera
http://homepage.mac.com/dave_chatting/arduinoeyeshield/
Check out David's "Reflections in Cider" demo, which is super-cool.
(Yes, it is for the Arduino, but most microcontrollers can handle it. The Propeller can handle it without the LM1881 sync circuitry, and I imagine the video op amps.)
I'm using this camera, which is is actually overkill because I'm not processing color:
http://www.geeks.com/details.asp?invtid=CM320&cat=VID
It's quite possible to get fairly decent cameras for <$15 through eBay and direct-from-China sites. (Geeks.com is a mile away and I can willcall, as I don't like waiting for my goodies.)
This is nothing like the system Phil has demonstrated, or the CMUCam4, but for down-and-dirty it's not bad.
-- Gordon
I hope you can tell the "HI" on the display is the same as the "HI" on the whiteboard. (The camera is held in my fingers (top left).)
I've got to take a video of this. It looks a lot better with a bit of motion. (I've also got a cool looking font that scrolls across the screen.)
While I have access to all the vision data, I haven't done anything useful with it yet. I'm like the fox that tries to catch the whole flock of Canadian geese instead of going after just one (and hence goes hungry). I keep adding new projects to my plate without finishing my earlier ones.
Duane your application of Hanno's machine vision has lots of LED'S, so how can it not be great. Plus the propeller can do it using only an ADC, and Phil is pushing things farther. I agree that getting the information is the easy part, it is hard to do something useful with it.
Erco, I forgot about that one., it's inspired.
All of the NTSC machine vision projects have a common trait in that they collect a lot of data and then throw a lot of it away. What's neat with this phototransistor matrix is that he gathers very little data, but that makes it easier to use.
That's just so you don't plug in a shield backward. I only occasionally wish for even spacing, and with the PICAXE AXE401 I realize how little I'd use it (it has a double row for standard and re-aligned). I've made my own "half shields" when I had to, and I've only occasionally purchased bare shields, as cheap as they are these days.
In the case of the Arduino project very little data is collected. Basically all it does is trigger an analog compare interrupt whenever the video input exceeds a threshold. So it's really only one bit of data for however few or many video scan lines you want to look at. With some open source TV sync libraries out there, it's pretty easy to set the resolution. You could, for example, gather just 8x8 or 32x32 or whatever from a 320 by 280 frame.
-- Gordon
Hanno