7
\$\begingroup\$

I need some ideas of sensors to use so my tank can drive towards humans and seek them out.

Distinguishing them from the background.

Assume the human is standing still / quitely

Any ideas?

  • looking to use an Arduino as the controller - though if there are better options please let me know.
\$\endgroup\$
6
\$\begingroup\$

A smart sensor might help -- take a look at the CMUcam.

\$\endgroup\$
4
\$\begingroup\$

Could you use an array of passive infrared sensors?

Ladyada's got a bunch of stuff on interfacing with them, including Arduinos.

I think the Arduino only has 6 analog inputs, but you could multiplex more sensors in and out using FETs if you need them.

\$\endgroup\$
3
\$\begingroup\$

OpenCV as zklapow says will allow you to use Haar Training to train the camera/controller to recognise faces or other shapes (this is how face recognition is done on my camera I think) but I'm not sure what resources there are available for Arduino. There's what looks like a fairly detailed discussion here using OpenCV. There's an interesting looking page here which is talking about haartraining and robots (recognising hands to be specific).

\$\endgroup\$
1
  • \$\begingroup\$ I've been searching and I can't find any links joining haartraining and arduino, so you may be out of luck. \$\endgroup\$
    – Amos
    Dec 7 '09 at 18:57
3
\$\begingroup\$

I don't believe the arduino has the horsepower to do this. It's a very difficult task you propose.

\$\endgroup\$
3
\$\begingroup\$

What kind of platform are you using to run the robot. If you are running a like an ARM processor (with linux) than you can use a camera and OpenCV, but if you are using an Arduino or somethings along those lines that wont work. An arduino will be tough and definitely wont run OpenCV.

\$\endgroup\$
2
\$\begingroup\$

An infrared camera would be perfect.

\$\endgroup\$
3
  • 1
    \$\begingroup\$ Are you thinking thermal or NIR? Thermal would be a bit expensive for the project and subject to a whole host of other problems. I don't think an NIR camera would provide much more useful information than any gray scale image you could get from any other sensor, and frankly a filter to pick your desired band would be cheaper. \$\endgroup\$
    – Lou
    Dec 3 '09 at 14:41
  • \$\begingroup\$ Was thinking about thermal - but I didn't have any idea how much they were. \$\endgroup\$ Dec 3 '09 at 18:07
  • 1
    \$\begingroup\$ Yeah, they're pretty neat but very expensive. They're a drop in the bucket for, say, a weapons platform, but for a hobbyist they're a bit out of reach. \$\endgroup\$
    – Lou
    Dec 9 '09 at 17:27
1
\$\begingroup\$

One strong predictor of Human-versus-Object is that the human body's temperature often lies in a specific range that is different from most objects' temperatures. Exploiting this fact, you can try one of the following two ideas, which I think should have good accuracy and straightforward implementation:

  • Option 1: Use an IR temperature sensor (small and inexpensive) like Texas Instruments TMP006 or alternatively Melexis MLX90614
  • Option 2: Use a prepackaged solution like Panasonic Grid-eye, which is an infrared array sensor that provides an 8X8 pixel representation of temperatures sensed in its view. The part is inexpensive (and available from distributors like Digikey) and, because the dataset isn't very intensive, you can even interface the sensor with a microcontroller board like an Arduino.

Using either of these sensors, and comparing the sensed data against a pre-defined window (for human body temperatures), you should be able to tell fairly accurately whether an entity is an object or a human.

\$\endgroup\$
0
\$\begingroup\$

You can hook up a camera that sends serial data to the Arduino (available from Sparkfun, I think they are normally used for cell phones, it looks similar to the CMUcam solution) then send data to your computer via usb, or you can use a wireless module if your feeling swanky. Then you could download a facial tracking program, that would process the images from the Arduino. Facial tracking is a well established method of real time video processing, it should be relatively easy to find one. That's the only way I can think of that may get around the Arduino's lack of horsepower, you will need to be hooked up to a proper computer tho, if you want to process realtime video. It would be more expense and effort compared to using NIR sensors, but the results may be more suited for your application.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.