|If clothes make the man, then sensors make the robot.
Without sensors, a mobile robot is deaf, dumb, blind and useless. Without the best sensors being made
available to a robot for a specific task, the performance of the robot is a compromise or even a failure.
Even when provided with the best available sensor, it often happens that the sensor is not very good. It can
also happen that the sensor needed for optimum robot performance for a given task just doesn't exist, or is
so expensive that it cannot be considered by hobbyists. For this reason, sensors are a continuous subject of
interest for roboticists.
Being always on the alert for new sensors, I am happy to report that we have just experienced a major
enhancement to the sensors available for us to use on our robots. It comes in the form of a range-finder.
Introducing: the SRF04 Sonar Ranging Module.
Up until now, we have been working with the Polaroid Sonar module for long distances, and the Sharp GP2D02 or
GP2D12 IR ranging modules for short distances. The Polariod unit is useable from about 18" out to about 16
feet. The GP2D02 or GP2D12 modules have a usable range of about 5" out to about 30." Each sensor has its
advantages and disadvantages.
The Polaroid Sonar works very well, but is demanding to interface. Plus, it is large and expensive. The
transducer is so big that it is the predominant feature on small robots. While the range of the sensor at the
high end can be very handy, most robots don't need information on what is out 16 feet from the robot.
However, most robots do need to know what is happening in close proximity. On the Polaroid Sonar, since the
transducer must be blanked for a period of time after firing -- the transducer both sends and receives the
sonic pulse -- we cannot detect anything closer than about 18." This is because the Sonar receiver must wait
for the transducer to stop vibrating from the Sonar transmission before it can begin watching for it to
vibrate due to the returned echo.
The Sharp GP2D02 and GP2D12 sensors, which each provide the same information in the same format as the other,
have their own advantages and limitations. Their biggest advantage is that they are very accurate, with
repeatability in the range of 1/4" when using the right software. A limitation is that their range of 30"
or so consigns them to close-in work. Another characteristic of the Sharp sensors, that can be either an
advantage or disadvantage depending on their use, is that the detection cone of the device is very narrow.
Taking the Polaroid Sonar for comparison, the Polaroid beam width is wide enough that complete area coverage
can be obtained by simply mounting a few transducers spaced around the periphery of the robot base. To get
similar coverage with a Sharp IR unit, it must be attached to a pan-tilt mechanism, such as a pair of model
aircraft servo-motors mounted one atop the other, and swept to cover all areas where information on objects is
needed. So we see that the trade-off for high accuracy with the IR unit is high overhead in terms of both
software and hardware, and, the most deadly of all, time. Finally, the signal from the Sharp device is not
linear. A number of people have come up with algorithms to handle this non-linearity and derive range, and
all of them are clunky polynomials taking up lots of processor time. The best solution is a look-up table,
again taking up valuable resources on the microcontroller.
The SRF04 Sonar module basically fills in the middle for the Polaroid module, working down to very short
ranges. The literature says the SRF02, which uses one transducer for transmitting the sonic pulse, and
another for receiving the echo, is only blanked for about 100 microseconds (one I tested was actually blanked
for 200 microseconds, not that it matters much as long as you are aware). After that, the module is ready to
catch an echo, with the result being that you can detect things much closer than the Polaroid module. And
with a range of 9 feet, except for the most specific applications needing a range of 16 feet, the SRF04 can
usually replace the Polaroid sensor completely.
Comparing the SRF04 with the GP2D02/12, the range of the SRF04 is ten times greater on the high end, and
somewhat shorter on the low end. Plus, the output of the SRF04 is linear, requiring only the direct
determination of time-of-flight of the pulse. If highly directional information is not needed, such as is the
case in obstacle avoidance or corridor following for example, then one or two SRF04's can completely replace
the GP2D02/12 units with improved performance and reduced processor overhead. However, if the GP2D02/12 is
being used for gathering highly specific information such as angle from walls, exact range and direction from
specific objects such as Coke cans, tennis balls, etc., then they must still be utilized. In those cases, the
inclusion of the SRF04 on a robot base can free up the GP2D02/12 for its dedicated purpose with a net gain in
Take a look at the SRF04 for your next project. Steve Richards has them on his site at
http://www.acroname.com They are also available from http://www.lynxmotion.com