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

Chapter 13

             I was very puzzled by this. In any event, shortly after I had given the new programs to the
             Navy technician, I asked him if there were any problems. He told me that he had removed
             the new software because it was obviously defective. He said that the robot would barely
             move when it left its charger.

             The mystery was solved!  When the robot approached the charger to dock, it had to
             physically contact the charger. The program therefore disabled the sonar collision avoid-
             ance as the robot approached the charger. In the path program leading away from the
             charger, the programmer had placed an instruction to reenable the sonar collision avoid-
             ance. We had verified this beforehand.

             The bug was introduced when someone had programmed a second path leading from
             the dock, but had not reenabled the sonar on that path. If the robot left by one route, all
             was well. If it left the charger by the other route, the robot would have disabled collision
             avoidance for some distance. In this case, it would eventually execute a path where the
             collision range setting was changed and it would suddenly become civil again. In the
             earlier version of the code, the robot was perfectly free to run about at full speed with its
             sonar system disabled if told to do so by its programmer.
             We had serendipitously discovered an added advantage to calculating confidence from
             these settings; robots accidentally running with unsafe settings became very obvious!

            At this point we have discussed how to calculate the five confidence factors. For
            force fields, the inherent, learned, and position confidence can all be derived from the
            field map. For the virtual path method they are calculated separately. To obtain a
            single confidence factor for the robot, we simply multiply these normalized values for
            the path segment.

                       C  = C  * C * C  * C  * C f                           (Equation 13.1)
                                  i
                                           u
                             p
                        t
                                      d
                   where:
                       C  = Total confidence (0-1)
                        t
                       C  = Confidence from recent pain
                        p
                       C = Inherent path confidence (0-1)
                        i
                       C  = Learned danger confidence (0-1)
                        d
                       C  = Position uncertainty confidence (0-1)
                        u
                       C = Fitness confidence (0-1)
                        f







                                                   206
   218   219   220   221   222   223   224   225   226   227   228