The Sharp GP series IR sensors were used (both the distance measuring and object
detection types). You can get them through HVW or
Acroname. The GP series has
advantages and disadvantages. They have about the best IR response
to different colors that I have found. The GP series actually shows a return
from many black surfaces. They are not expensive (not cheap either), easy to hook up, and
very compact. However, they have a very narrow field of vision and if you want to use them
for object avoidance, you need to use more than one, or mount one of them on a servo (which
is what I did). They also require a 3 volt signal to start the transmission/detection process. That
means you have to be VERY careful and not fry them with a 5 volt TTL signal. On the balance, I think
they are a
pretty good deal and I got packs of four of them from HVW
for a reasonable price. One caution, be sure to run a ground wire to the PLASTIC case (conductive) of
the distance measuring version of the detectors. If you don't, you get strange results.
A Sprinkling of IR Sensors for Skinny
Close up of Look Down IR (Stops Skinny From Falling Off Ledges)
Close up of Distance Measuring IR on Servo with additional IR Underneath
The additional IR under the Distance measuring IR is for wall following. The servo driven IR can
keep the 'bot at the right distance from the wall, and the forward looking IR can keep the
robot from running into the corner. The IR unit on top (a distance measuring one) scans and returns
polar mapping of obstacles. It also allows for obstacle avoidance and best
path choice when trying to get out of a jam.
Skinny avoids dark doors and makes calculated turns based on clearest path.
Note that Skinny
is in 'free roaming' mode and he is making the decision to turn left or right - he wasn't
pre-programmed to go any direction except straight.
A BoBird on Skinny (gets a wider field of view than the Sharp IR Object Detector). Note the black tape used to decrease the sensitivity of
the detector and emitter diodes.
Skinny uses a Bobird (see Bobird Project), an
IRODDS detector, and two proximity detectors (see pictures above) to detect a drop off and to
detect corners and walls. I added a Bobird because I was getting tired of listening to
Skinny's IR head sweep - that stupid servo is noisy and I didn't think constant sweeping was all that
good for it (probably a ridiculous worry). With the Bobird watching from underneath and the distance detector looking straight ahead,
most obstacles get spotted easily. When the Bobird sees something, Skinny's turret makes a
180 degree sweep to pick the best direction to go. The wires to the Bobird are soldered onto the
back of the circuit card for neatness.
Skinny with a mechanical sensor. With this setup, and some appropriate coding, Skinny can
wander around the house for more than an hour without getting in trouble. It is a real hoot to
let him go. He will disappear for a while (his motors are pretty quiet so it is hard to tell what
he is doing sometimes) and then pop up from behind some furniture and go scurrying purposefully
across the room, scare the dogs, and generally do cutsey robot things. When presented with obstacles,
he gives the appearance of thinking about his course of action (which, of course, he IS doing in a
very simple way). The mechanical sensor was
added reluctantly - I would love to have had the robot bullet proofed against all obstacles, but crazy things
like office chairs, thin black legs of end tables, or obstacles that fall just below the sight of the IR sensors will fool him. On those occasions, the
mechanical sensor is needed. However, for most of the time (95% at least), Skinny survives by his IR sensors.