Page 132 - Designing Autonomous Mobile Robots : Inside the Mindo f an Intellegent Machine
P. 132
Basic Navigation Philosophies
Disadvantages of goal seeking
Goal seeking is elegant and interesting, but it assumes that the only reason for choosing
a route is to avoid obstacles. In most applications, there are other reasons for choos-
ing a particular route as well. For example, a security robot’s route is planned to
assure that the robot performs surveillance on all important areas. In other cases,
there may be traffic in the area that requires rules of the road to be followed.
As mentioned earlier, the major disadvantage of goal seeking is that it takes routing
decisions out of the hands of the system programmer. Therefore, if a robot is to patrol a
building in a specific manner using goal seeking, then it must be given a sequence of
goals that force it to cover the areas desired.
A practical starting point and “a priori” knowledge
Returning to the question of whether our robot should be self-teaching or prepro-
grammed, we must again ask the following question: “If our robot were to map its
environment without help, and be totally independent and self-programming, then
how would it know how to call and board an elevator or open a door?” Even if it
could be made smart and dexterous enough to perform these tasks, how would we
communicate what we wanted it to do?
So, which of these concepts and techniques represents the best approach? In the end, the
most practical method of programming is one that merges many of the qualities of
both the academic and industrial camps, the virtual path-following techniques and
the goal-seeking techniques. Like so many decisions in robotics, there is a natural
answer and no matter which camp you start in you will be drawn toward the same
consensus.
Our approach will therefore be one that lies somewhere between the extremes just
discussed. Since wonderful maps and floor plans now exist in digital form for almost
every public place, we will start with these drawings as a basis for the programming
approach. The data on these maps and drawings is far more global and detailed than
our robot will ever be able to produce on its own. If we wish our robot to participate
in the mapping process, then let’s give it what we know and let it build its maps on
top of this information.
115

