There are two basic philosophies about how a robot should find its way from one place to another: virtual path following and goal seeking. Goal seeking has traditionally been the favorite method of academia. In goal seeking the robot knows where it wants to go in terms of coordinates and it plans the best route to achieve the goal. In doing so, it may or may not be provided in advance with a map of known obstacles. In any case, as it encounters new obstacles it will build a map of them.
Virtual path following
Virtual path following is essentially like physical path following except that the path is defined in the programs of the robot and not by painting a stripe on the floor. A virtual path-following robot will typically have a path program defined either graphi- cally or as a text program or both.
Cybermotion robots, for example, execute pseudocode programs that require the transmission of very little data. These programs are generated using a graphical environment called PathCAD (Figure 7.3). In the PathCAD environment, graphi- cal objects that are dropped onto the drawing have properties that are carried invisibly with the drawing. These objects include nodes with names such as V1, V2, and E3 on Figure 7.3.
Once nodes and the paths connecting them have been drawn, a graphical aid is used to generate text “path actions.” These actions are then compiled into the path pro- grams that the robot receives. We will discuss this process more in later sections, but a few objects are worth noting.
Besides the nodes, objects of interest in the example shown include the event EV_31 and the range definitions RG_20, RG_62, and RG_66. Events tell a robot to do some- thing at a point along a path. Range lines are used in the navigation process. The most complex object is the elevator node in the center of the drawing. This node references all of the programs required to operate the elevator and to take the robot from one floor to another.
Virtual paths are more than a halfway step between physical paths and goal seeking.
Since the robot knows where it is, it can also have behaviors for circumnavigation that are very similar to goal seeking.
Goal seeking
The method of finding the shortest route through obstacles has traditionally been based on one of several models, including “growing obstacles” and “force fields.”
Figure 7.4 demonstrates the concept of growing obstacles.
The precept is simply that the size of all obstacles is swollen by the clearance re- quired for the robot. Once this is accomplished, one has only to assure that there is a
Figure 7.3. PathCAD programming environment for virtual paths
(Courtesy of Cybermotion, Inc.)
is oblong, then one has to decide which dimension to use to grow the obstacles. If the width is less than the length (the usual case), then it may be tempting to use the width as the growth dimension. If this is done, however, then the robot may not be able to turn around in some tighter places.
Route planning by growing obstacles
The obstacle growing method is essentially binary, in that the planner tries to make the path go as directly toward the goal as possible, and in so doing pushes the path to the very edge of the swollen obstacles. The process yields the shortest, but not the safest or smoothest path.
Goal
Obstacle
Obstacle
Obstacle
Start
Figure 7.4. Growing obstacles for path planning
Route planning by force fields
Another popular approach is based on calculating imaginary repelling fields emanat- ing from obstacles as shown in Figure 7.5. The fields can diminish linearly with distance or geometrically. The process typically yields a path that stays as far away from obstacles as possible. Limits are normally placed on the range of the field ef- fects, so that calculations do not need to include distant objects.
In order to visualize this process, it helps to imagine the resulting map as a landscape where the obstacles are ridges or peaks, and the most likely routes follow the valleys (Figure 7.6). The floor of a valley occurs where two or more force fields cancel each other and the height of a valley floor is equal to the magnitude of the canceling fields. The path planner is allowed to route the robot through a valley as long as its height is below a minimum. This minimum corresponds to the clearance of the vehicle.
Goal
Obstacle
Obstacle
Obstacle
Start
Figure 7.5. Force fields for path planning
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.