Page 435 - Introduction to AI Robotics
P. 435

418
                                                              global map       11  Localization and Map Making

                                              for n observations
                                       raw      construct  local map    match and  best pose  integrate
                                      sensor    local map                 score              local into
                                      readings                                              global map

                                       shaft     pose     k possible poses
                                      encoder  generation
                                      readings

                                     Figure 11.18  Flowchart showing the continuous localization and mapping process.
                                     Mapping phase is shown shaded.




                                     and +10 , because the robot has a tendency to drift to the right and because
                                     it initially might not be pointed straight. This is a range of real values, so
                                     the possible values to consider are infinite! In order to make this tractable
                     POSE GENERATION  the pose generation function has to convert this continuous range into discrete
                           FUNCTION  units, much as an occupancy grid represents area with elements of a finite
                                     width and height. The function might only consider   errors in increments

                                     of 5 . In that case, the possible poses will consider only   =  5; 0; 5; 10 .Of
                                     course, the pose generation function has to discretize the errors in the x and
                                     y degrees of freedom too. A pose generation function may return on the
                                     order of 128 different poses to consider. In order to cut down on the compu-
                                     tations while the robot is navigating, a pose generation function might use a
                                     lookup table which stores possible poses for a particular motion computed
                                     in advance.
                                       The localization algorithm must match the local occupancy grids to the
                                     global occupancy. To do this, it essentially overlays the center of the local
                                     grid at the k pose onto the global grid. This marks a set of grid elements
                                     which overlap in both grids. The algorithm scores how well the values in the
                                     local grid match the values in the overlapping global occupancy grid. Since
                                     the local and global grids will have uncertainty values, the matching function
                                     must somehow account for this. There are a variety of possible measures;
                                     Eqn. 11.16 can be adapted as an example of a simple one:

                                              K
                                             X
                                                                   j
                                                                 i
                                                                  ][
                                                                 [
                                     score  =    jg obal  [i][ j]  l o c a l]j
                                                 l
                                            k=i;j
   430   431   432   433   434   435   436   437   438   439   440