Page 146 - Designing Autonomous Mobile Robots : Inside the Mindo f an Intellegent Machine
P. 146

The Best Laid Plans of Mice and Machines

               In Figure 9.1, our robot was supposed to be at Node A, and was to travel from there
               to Node B. When the robot prepared to execute the move, it realized that its posi-
               tion was actually some distance from where it should have been at Node A. There
               are three obvious strategies it can use to accomplish the move.

               The first possible strategy is to ignore the path, and move straight for destination
               Node B. The problem with this strategy, at least in this case, is that the robot will
               run into an obstacle. The fact is that the path was placed where it is to provide a
               safe avenue for the robot, and when we ignore it we may invite disaster.

               The second strategy is to play it safe and first move straight to the correct starting
               position (Node A) before heading for Node B. This strategy may be safer, but it is
               also very time consuming. There is also a problem with this strategy if the robot is
               on the move when it begins the process. In this case, it would need to stop to ex-
               ecute the 90-degree turn to the path.
               The third strategy is the “wagon tongue” method, so named because it works like a
               child pulling a wagon by its tongue. If the child stays on the path, the wagon will
               smoothly converge onto the path as well. In software, the robot is given a rabbit to
               chase that is on the path, but some lead distance closer to the goal than the robot.
               As the robot chases the rabbit, the rabbit continues to stay the same distance ahead.
               If the distance to the destination is less than the lead distance, then the strategy will
               not be appropriate.

               So, which strategy is right? The answer is that they all are, at different times and
               under different circumstances. If the robot is only slightly off the path, and relatively
               near the destination, then the first strategy is fine. On the other hand, if the robot is
               grossly off the path and far from the destination, then the second strategy is indi-
               cated. For situations between these extremes, the third method is best.

               The problem becomes one of definition. How far off the path do we need to be to
               use the first strategy? In a tight area, the distance will be shorter than in an open
               area. One solution is to treat paths as objects and provide a property that defines
               this distance.

               Another approach is to create a path program that the robot executes to move be-
               tween the nodes. If we do this, we can include an instruction in this path program
               that provides a definition of this distance. If our robot is to accomplish specific tasks
               along the path, then a path program is almost essential.







                                                       129
   141   142   143   144   145   146   147   148   149   150   151