Wall Following Algorithm for Sonars

Jan 12, 2004 1 Replies

Hi, I've been looking around for some algorithms for sonar wall following, although I've not really found anything useful....yet. I've see a few basic ones which go something like:



IF (LEFT_SONAR_DISTANCE < MIN_WALL_DISTANCE) THEN WHILE(LEFT_SONAR_DISTANCE < MIN_WALL_DISTANCE) MOVE AWAY FROM WALL



IF (LEFT_SONAR_DISTANCE > MIN_WALL_DISTANCE) THEN WHILE(LEFT_SONAR_DISTANCE > MIN_WALL_DISTANCE) MOVE TOWARDS WALL



IF (LEFT_SONAR_DISTANCE == MIN_WALL_DISTANCE) THEN MOVE FORWARDS.



My Robot's is a standard 1/2 sonar ring arrangement at the front. With



3 Sonar's on the left side, 1 at the front and 3 moving round the right side.

I'm aware that there can be problems with angular reflections, but I would like to try and utilise as many of these sonar's as possible to achieve this task. Does anyone have any suggestions on either successful methods or where to look.



Thanks in advance.



Regards



Mark


Joe Jones has a nice algorythm in his new book "Robot Programming, A Practical Guide to Behavior-Based Robotics. Ch 5 pg 126.

And you can play with it in simulation on Daniel Roth's site:

formatting link
One very interesting thing Joe mentions is, "A somewhat subtle detail ... is that the measurement point must lead (or follow) the robot's center of rotation by some amount. Were the range sensor mounted on the same axis as the wheels, we would find that the measured distance offers no hint as to which way to turn to achieve alignment."

You may need a couple of your ring sensors to get a "projected" image of the wall orientation.

Randy

formatting link
Objects in Mirror are more confused than they appear

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required