Page 144 - Designing Autonomous Mobile Robots : Inside the Mindo f an Intellegent Machine
P. 144
9
CHAPTER
The Best Laid Plans
of Mice and Machines
Having trampled our way through all of the requisite background subjects, we arrive
at last at the fun part. We must now structure a software environment that enables
our robot or vehicle to move purposefully and safely through its environment, using
data that is often incomplete and even contradictory. This structure must also be
flexible enough to undergo evolution as sensors and algorithms evolve.
The answer is to create an almost schizophrenic process, in which one half is the
optimistic planner and executer, and the other half is the skeptical critic and back-
seat driver. Navigation in autonomous robots is actually two almost completely separate
processes that take place at the same time. The first process assumes that the posi-
tion estimates are correct, and executes a plan. The second process monitors the
progress and sensor systems, and corrects the odometry estimates as appropriate.
First, let’s consider planning.
The trick to the planner part is that the planning process must be capable of having
its preconditions changed on a continual basis without becoming disoriented. This
means that the process is dynamic, keeping little static information about its previous
plans. If it had been planning to converge on a path from the left, and the planner
suddenly finds it is mysteriously already on the right side of the path, it must simply
adapt its approach without missing a beat.
There are two immutable laws we must accept:
1. A robot is never exactly where its position estimate says it is.
2. A robot’s position estimate is never exactly where it wants to be.
127

