human detection

Hi Everyone,
I've got a patrolling robot that has to detect people. The problem is I don't know what the best most efficient and precise way of detecting people would be. I tried a basic IR detector like the ones used in home alarm but that goes off at any time as the robot is moving. :frowning:

I need a cheap effective way of detecting people on a moving robot. Thanks for any advice.

JVPython

These will detect the distance to an object, but they will not tell you if the object is human or not.

The best approach is using a combination of sensors, each with its pros and cons... You will not necessarily need a Kalmanfilter to process the sensors, just common sense...

Capacitance sensors will work to an extent.

Video analysing, Heat sensors, PIR sensors...

How about using a small dog instead?
Or a goose - I hear they're pretty reliable

I need a cheap effective way of detecting people on a moving robot.

If a "cheap effective" way to detect only "people" was available, you would already see it in use in security, home automation, and similar applications.

In what way does your robot need to treat people differently to other 'obstacles'?

You could use a proximity sensor to detect that you are getting close to 'something' and then stop the robot momentarily and use your original IR movement detector to decide if the object is moving.

Assuming humans are the only thing moving in your environment, that may give you a solution.

In what way does your robot need to treat people differently to other 'obstacles'?

My robot rings an alarm if its a human. Thanks for the advice. I gonna look into he proximity sensor + ir thing. I sounds not to complex but quite effective.

JVPython

Good luck,

Sounds like an interesting project. 'Securitybot'.

You aren't going to get that with any single sensor. Your best bet is probably to use image recognition. Check out RoboVision aa a starter.

There is no reliable "human detector", though. Do let us know if you invent one :wink:

I thought of a system that could and I would like others opinion. I thought I could use an ir detector Infrared Emitters and Detectors - SEN-00241 - SparkFun Electronics to detect the heat emitted by human.

But the quantity of ir changes in the air with sunlight and other variables so I thought of calibrating it every 10 or so minutes so it could precisely feel a abnormal change of ir in the air.

It would obviously not be a 100% effective but would be relatively precise though I think.

JVPython

Those IR detectors are near IR, that is IR close to the wavelength of visible light. They will not detect heat given of by people.

I tried them and the detector acted as a sorted of range finder the closer it was to an object (not just an ir source) the more the analog output would be. And the higher the pull-up resistor I used the furtherer it could detect. This could be useful but unexpected!

JVPython

Is it just the detector or are you getting the reflection off an emitter?

If it is just the detector you are reading the change in ambient light as some one approaches. In other words shadows.

Is it just the detector or are you getting the reflection off an emitter?

Just the detector.

About the shadows, even if I bring something really hot towards, which should be emitting lots of ir there isn't any more change than if I bring a cold object which is a poor ir emitter.

JVPython

even if I bring something really hot towards, which should be emitting lots of ir there isn't any more change

That is because these detectors DO NOT DETECT HEAT

So you basically saying they have a wrong name and should actually be called light detectors, right?

JVPython

No they have the right name it is just you have the wrong idea that all infra red light is a measure of heat emitted from an object in the temperature range up to 600C.

In order to detect heat from objects you have to measure much lower wavelengths of IR than these sensors will measure.

OK, so could these sensors still be used for detecting objects of any sort in front of the robot?

JVPython

Objects yes, identifying those objects as human no.