|
|
Albert's
Five Ears
4/15/99
I've received several comments and
questions about Albert's five sonar sensors. This report will document some of my
plans, theories, and ideas prior to any actual experimentation. Most of the concepts
you will read here are based on website research, scientific articles, posts to the comp.robotics.misc
newsgroup and e-mails from the Seattle Robotics Society mailing list. (Special
thanks to Dr. John Piccirillo for sending me an informative article about a multi-sonar
robot called Dervish.)
Sonar Placement
Many commercial robots, such as the Nomad line from Nomadic Technologies, employ a ring of evenly spaced
sonar sensors. I can see certain advantages to this placement, but it does leave
gaps -- especially high and low -- that shouldn't be ignored in real world
environments. Albert's five sonars provide coverage to the front and sides, and also
low in the front. The picture below shows their exact locations:

Albert's five sonar sensors
The side sonars (#4 and #5 in the
picture) will be used for wall following. Albert can turn perpendicular to a wall,
and use these sensors to follow it. (I'm also hoping to use the side sonars to
detect open doorways and adjoining hallways. For example, if the left side sonar
readings are fairly consistent, but then become larger for a short period of time,
it might indicate an opening of some kind.) In a hallway, I should be able to use
both side sonars to keep Albert moving straight down the hallway, equidistant from either
side.
The #3 sonar will be used to
supplement the readings from Albert's "eyes" (sonars 1 and 2), and also to
detect sleeping dogs, feet, the bottom stair, and anything else too low for the top sonars
to see. I noticed, while playing around with a Trilobot, that it routinely bumped
into the bottom step. After a little analysis, I realized that the bottom step was
below the front mounted sonar, and thus couldn't be detected.
 |
I chose to use two sonars for the front of my robot, because I felt
they would give me a stereoscopic effect, and with a little trigononmetry (better pull out
my old math books) I should be able to look at a wall and determine Albert's angle to
it. (See diagram at left.) The sonar sensors I'm using have a 15 degree
"cone" of error, so my angle calculations will only be approximations, but this
should still simplify my wall following algorithms. (When Albert thinks he has
located a wall, he could turn in the direction of the closest reading, and keep turning
until both readings are approximately the same.) |
Technical Details
I'm not going to spend a lot of time discussing the technical
details of how my sonars are hooked up, because this is not my area of expertise. I
can tell you that I purchased them for $49.95 from Zagros Robotics, and that they are Polaroid 6500 series instrument
grade electrostatic transducers, and Polaroid 6500 ranging modules. The multiplexer
board, that allows me to connect the five sonars together, was built by AJ Neal at Zagros,
and it was all hooked up by my friend Chris Hostetler.
I've included some pictures:

Here's a close shot of the multiplexer board
(Note: The red and green wires in the front are connected to my light
sensor)

Albert Front: You can see the multiplexer board and parts of
three of Albert's sonars
Note that Chris and I
decided to mount the transducers using a single "L" shaped bracket. (I
circled the bracket in the upper left corner of the picture above.) This holds the
units secure, but also allows me to rotate them left or right as I see fit.
Programming
I've been researching sonar navigation methods and I'm pretty
intrigued by Certainty Grids and Virtual Force Fields (Borenstein). Properly
implemented, these require pretty sophisticated vector calculations, but I think a simpler
(though probably somewhat less effective) execution is also possible.
For those who aren't familiar with
these concepts, the basic idea is that objects detected by sonar readings will repel the
robot away at intensities proportional to their distance (and the certainty that the
object detected is really there and is non-passable.) In simpler terms, imagine that the
robot has magnets instead of sonars, and that all the obstacles in the environment are
magnetized such that they will repel the robot away from them. The closer an object gets,
the harder the robot would be pushed away. Using this scheme (and those two side sonars),
Albert would automatically center himself while moving down a hallway, as he would move to
equalize the forces pushing on both his left and right sides.
I'm going to start my experiments
in this area by simply having the two front sonars dictate the speed of the drive
wheels. The larger the distance, the faster the wheel on the opposite side
will move. In other words, let's say that each motor has 10 speeds ranging from 1
(no movement) to 10 (fastest speed). I'll take sonar readings for the left and
right, round the readings to whole 'feet' (7 feet 3 inches = 7 feet) and use this figure
as the speed for the motor on the opposite side. Anything greater than 10
automatically becomes 10. So if Albert is in the middle of a large room he'll just
start moving straight ahead at maximum speed (because both motors are set to the highest
speed), but if someone suddenly dropped a box four feet in front of his left sonar, Albert
would turn sharply to avoid the obstacle (because his left wheel would be turning more
rapidly than his right wheel). The following diagrams should help illustrate this
more clearly:

I've seen a lot of
robots that simply 'stop' when they encounter an obstacle, then turn, then continue moving
forward. I'm anxious to implement a navigation scheme similar to the one above
because it should allow Albert to move continuously and smoothly.
To Find Out More
For further reading on the
topic of using sonar sensors for autonomous robot navigation, I highly recommend the work
of Johann Borenstein, an associate research scientist in the Department of Mechanical
Engineering and Applied Electronics at the University of Michigan. His website contains links to many
articles and reports he has written, and even has the full content of one of his books! |