Hello I'm currently working on a robot with a camera and i would like it to be able to detect humans. So i wondered if it was possible to abalyze the image with an Arduino (I have a dueminalove) to regognize shapes.
Thanks for any help
Not very likely; not enough memory (nor really the speed needed for image analysis).
Well this has been done with a 644:
I have not looked into it though.
It should be possible for someone who knows about code optimisation and object tracking. I have seen similar things stuck on tiny microchips (arduino type) but I doubt the code is easy to do.
It would be low res and slow acting but it should be possible.
Mowcius
Thanks, i had a look at that project that detects objects. It does look hard but i'll try. Maybe if i stored the photo in a dataflash and processed it pixel per pixel. it would be slow but should work.
Well I am thinking of trying something with sensing the position of a green line for sensing close distance with a laser and camera.
Laser creating a line, camera positioned further up looking down at an angle. When something gets in the way of the line, the camera will see it nearer the top or bottom of the display. By knowing the relative distance that the camera sees, the distance of any object can be measured (withint the camera's field of vision. This means that small objects can also be sensed differently to big objects. Also, multiple objects and distances can be sensed to work out which way round the object to travel.
The laser would be green with a green filter over the camera, also mainly being used in the dark would help with this. Just a bit of fun really if I can get it working as I am going to have a camera on anyway and probably a laser for coolness.
Everything is cooler with lasers! ;D
Mowcius
The laser would be green with a green filter over the camera, also mainly being used in the dark would help with this. Just a bit of fun really if I can get it working as I am going to have a camera on anyway and probably a laser for coolness.
I don't know what wattage your laser is, but in some very informal experiments done with a >100 mW green laser pointer and a Logitech Orbit AF web camera, it was found to have pretty massive "bloom" on-camera, though the laser dot was pretty small. A filter wasn't used, so that might make things different.
Of course, it could've been the fact that such a powerful laser was being used.
Everything is cooler with lasers!
Agreed!
Insert "frickin' sharks with frickin' laser beams" comment here.
Add an xbee, hide a PC round the corner to do the processing
I don't know what wattage your laser is, but in some very informal experiments done with a >100 mW green laser pointer and a Logitech Orbit AF web camera, it was found to have pretty massive "bloom" on-camera, though the laser dot was pretty small. A filter wasn't used, so that might make things different.
Of course, it could've been the fact that such a powerful laser was being used.
Mine looks fine on a camera, I can adjust the power though. It was rated at 5mA (in a pen - I removed it) but I think it did more and I have made it do more without getting too warm. I am going to get a new one though.
I have seen this:
All images from Max's Little Robot Shop (Kenneth Maxon): http://www.users.qwest.net/~kmaxon/page/side/robots_137.htm
A must read if you are interested in robotics/electronics or just cool stuff! I think the small bot is the coolest!
There is some range finding code I need to take a look at...
Insert "frickin' sharks with frickin' laser beams" comment here
Haha yeah!
Add an xbee, hide a PC round the corner to do the processing
That spoils the fun! Just use lots of ATmega1280s! Or an ARM processor or something.
What was that chip that that person got the arduino IDE to work on? (It was on hackaday)
Mowcius
Mine looks fine on a camera, I can adjust the power though. It was rated at 5mA
Like I said, it was probably the "high power" laser pointer being used. The pointer is powerful enough to burst a black balloon, and even give you a small burn if you hold it near your skin.
It is slated for a LIDAR system similar to what you are playing with, but in an outdoor arena - however, a lower power laser might be used because of the eye danger with it.
Something to keep in mind is that you can get diffraction gratings to spread the beam out into a grid of points or lines; in theory you could do image analysis on the data, and knowing a "baseline" (flat surface) in front of the robot, you could get a heightfield map for each point in a trapezoidal shape...
Something to keep in mind is that you can get diffraction gratings to spread the beam out into a grid of points or lines; in theory you could do image analysis on the data, and knowing a "baseline" (flat surface) in front of the robot, you could get a heightfield map for each point in a trapezoidal shape...
Yes, I have got various diffraction gratings (plastic out of an ipod touch display and laptop display} which work pretty good but when I buy a new laser module I will buy a line generator lens to fit on it.
I have been looking at the duino644 camera analysing which they did for the 'human tetris' and it looks pretty easy so I think I might get myself an NTSC camera and try that out of my duino644. I might even move to the ATmega1280 to get more RAM for a larger res recognition area.The limiting factor is also the 16/20mhz on the common ATmega chips.
I am thinking of trying the FPGA which was posted on hackaday as being ported to the arduino IDE.
The AVR8 Soft Processor runs on the same hardware as our 100Mhz....
Runs on system clock of 8Mhz currently but I could increase that. The extra speed would do wonders for image/object recognition...
http://www.gadgetfactory.net/gf/project/avr_core
Maybe not though...
Mowcius