For a robot that is about a meter high and needs to navigate through a
crowd of people (art opening - this is an art roject :-), I need to
sense the proximity of people in the way.
I need to do that only in the direction I am driving in, but it needs to
react quickly and give me some kind of rough distance information, so I
can steer around people.
It needs to avoid any obstacle, but if I could distinguish I would have
additional ways of making the bot more communicative. It would probably
be funny though if it apologized to a wall for running into it... . ;-)
There are entire university programs on experimenting with "people
detectors" for robotics -- even teleoperated robotics -- and so far no
one has it 100% right. In addition to people there's also walls, trash
cans, and other things. People don't move in a consistent manner so
there's always the element of surprise. And people sue.
So, the first rule of thumb is that the robot must be small enough that
it won't cause damage to people or objects if it hits them -- because it
will. (Or they'll run into the robot, hurt themselves, and blame the
robot.) A three foot robot sounds too big and too heavy to be safely
used around people if "it" will "react quickly" to them. Sounds like a
lawsuit waiting to happen. It needs physical bump sensors in addition to
anything else so that it will stop immediately if it hits something.
Beyond that, most folks use a combination of things like infrared
proximity detectors (like the ones from Sharp), and ultrasonic. But I'll
say that it's all in the programming.
If you will be operating the robot, maybe there's another approach.
Don't have "it" do anything. You do all the driving. And rather than
having it move around people, have people move around it. Put a big
flasher on the top so everyone sees it, and put cushioning all around
it. Add a ring bumper on it and have it say, "Oh excuse me" (or
whatever) when someone bumps into it. Your lawyer will thank you for it!
Matthias Melcher wrote:
It seems to me an awkward size, just tall enough to trip someone but not
tall enough to be within the normal field of vision of adults. Might be a
good idea to put an eye-level extension of some kind on it (and not
something pointy--the top should _not_ be able to fit into someone's
eye-socket)--even a cluster of helium balloons would be enough for people
to notice the presence of an obstacle.
Also have it move slowly enough that people can avoid it easily and make
sure it has as little real motive power as possible for the application--if
it bumps into someone and they don't move and it fails to shut down it
should stall rather than pushing them aside.
Alternatively, put a Big Effing Gun (Non-Functional) on it and have it shout
"Annihilate-Annihilate" while waving the BEG(NF) about.
>>Sounds like a
>>lawsuit waiting to happen.
> Alternatively, put a Big Effing Gun (Non-Functional) on it and have
> "Annihilate-Annihilate" while waving the BEG(NF) about.
I love the anihilate part :-). Maybe I give it a Vogon voice saying
"Resistance is futile"... .
Thanks for the sensor suggestions. I just ordered a bunch of them to see
how it will work in real life.
I am very open to additional ideas. This is a little project, a nice
diversion from my daily robotics. The robot will participate at an art
opening with invited guests. It's job is to hold my stuff while I
present my work. The show is in Europe, so the lawsuit is rather
The shape of the robot is somewhat like this on wheels:
It'll be actively balanced, and I'll make it a little higher so it is
better visible. Thanks for the suggestion.
Also, it is supposed to stay close to me, preferably without interaction
on my part (*), so it will be supervised in a way. It will not run into
walls as long as I don't, but it should have a sense of things (or
people) and avoid them.
Thanks for the help,
*: probably following an orange ball attached to my clothes...
Ahhh, the BFG threory. I have always said that every robot needs
a laser. And I've always wondered about putting a harmless gun
on a robot and use it to threaten strangers when in anti-burgler
mode: "Ask yourself, do I feel lucky?"
D. Jay Newman
Along those lines my first thought is a combination of Sharp IR sensors
or Devantech Ultrasonic sensors for range finding coupled with some
sort of heat-detecting sensors. This would allow you to avoid obstacles
in general (range sensors) and actually distinguish between objects and
people (heat sensors). I've wanted to mock up a heat-tracking turret
for my bots for some time, using a couple servos and 4 to 6 heat
sensors with a simple difference comparison algortihm to center on the
heat source, i.e. left/right and up/down sensor pairs. The algorithm
could be identical to a simple Braitenberg light-seeking bot.
The trick of course is finding heat sensors that sense in the right
temp range and are cheap. I've thought about using a thermistor mounted
inside a flashlight parabolic reflector as a poor-man's medium range
heat detector but finding a thermistor in the right range that doesn't
require direct contact to measure temp has been difficult. Has anyone
had any experience with such a setup or know of thermistors (or other
sub-$10) components that could be used as such?
I've looked at firefighting robot competition pages to see how they do
it but most of them detect the candle flame using the IR component of
the candle light, some using short-range temp sensing to do fine
I feel like a medium-range heat sensor shouldn't be that hard to build,
thoughts? Perhaps I should start a new thread for this idea....
Infrared thermocouples allow for fairly accurate temperature non-contact
temperature readings even at 10-20 feet, but as a "people" sensor they
leave something to be desired. They'd work if everyone were naked.
Which, is usually not the case. (Might work at a beach, but then,
there's the warm sand, the sun...)
What happens is that the temperate differences are so great that it's
not always possible to determine what is a person, and what is a person
wearing clothes that are fairly good insulators. I've tried this out
with a hand-held non-contact thermometer, and found that aimed at
someone's skin, temperature readings are usually pretty consistent. But
aimed at different parts of a clothed body, and it's sometimes difficult
to tell that someone is there, versus say a window radiating heat from
If you could scan the sensor you could make a little map and determine
if the approximate shape is that of an upright human. A couple of servos
or steppers might do the trick, but the scanning would have to be fast
for a room full of people walking about. The scan might not complete by
the time the person walks off. Forget a matrix type thermocouple array.
These are thousands of dollars.
I have not found infrared thermocouples for under $10. I think that's a
bit off given the current technology, but you can sometimes find the
thermocouples in imported temperature handheld temp sensors. I've been
seeing them at the computer swap meets, for about $50-60. Retail they're
$100+. You can gut the thing and get the sensor out of it. Otherwise the
sensors themselves are around $100 -- like this one:
I just found these on the Matsushita (Panasonic) web site (NaPiOn
Passive Infrared Motion Sensor). Seems to be a new product, specifically
for sensing the change in temperature when a person steps up to a
What do you think about those? I have no idea on pricing yet.
Oh, that is pricing worth the experiment. I will try this, keeping what
Gordon said in the back of my head.
There are ordinary passive infarared (PIR) sensors, as used on burglar
alarm motion detectors and security lights, and on a moving robot are
not too useful. They detect the *change* in a moving object, so if the
sensor or robot moves (within a certain speed range), it's always
sensing something. They can be used if the robot stops completely. The
sensor can also be turned 90 degrees to be less sensitive to lateral
motion. However, if the person and robot are motionless, the sensor will
not detect anything.
Infrared thermocouples are a different technology as they measure actual
radiant temperature within a known spot range.
It might be very out-dated idea but I remember many (20?) years ago
when electronic was my hobby as a teenager I made a circuit with 741
chip. It had a small antenna and sensitivity was so hi that it was
making noise if someone was getting close to it.
Sounds like an ersatz Theremin circuit, though it may not have worked
like a classic Theremin.
The principle behind a Thermin is a good project for a robotics sensor.
The idea is to have two LC oscillators operating at least 10-20 times
that of the extent of human hearing, both tuned to the same center
frequency. On one of the oscillators you use a metal antenna to change
the value of the C portion of the oscillator. When the two oscillators
are mixed together, the frequencies "beat" together, producing sum and
difference signals. The difference signals we can hear.
Such circuits, when properly designed, are *very* sensitive, and can be
used to detect people and other objects from within a foot or two away.
However, they need constant retuning in a changing environment, and they
can't really detect the difference between a person and a refrigerator.
Polytechforum.com is a website by engineers for engineers. It is not affiliated with any of manufacturers or vendors discussed here.
All logos and trade names are the property of their respective owners.