Page 264 - Introduction to AI Robotics
P. 264

247
                                      6.8 Case Study: Hors d’Oeuvres, Anyone?
                                        The initial behaviors for Borg Shark are given in the behavior table below:
                         Releaser         Behavior   Motor Schema        Percept        Perceptual Schema
                         always on        avoid()    vfh()               most-open-direction  polar-plot(sonar)
                         FOOD-REMOVED=    track-face  center-face(face-centroid)  face-centroid  find-face(vision)
                         treat-removal(laser)        track-face()
                                                     check-VIP()         ribbon-color   look-for-ribbon(VIP-color)
                         SERVING-TIME-OUT,  move-to-goal  pfields.attraction(waypoint)  waypoint  list of waypoints
                         TRAY-FULL=bumper()
                         FOOD-DEPLETED=   track-face  center-face(face-centroid)  face-centroid  find-face(vision)
                         treat-removal(laser)
                                        The initial behavior table for Puffer Fish was:



                         Releaser           Behavior    Motor Schema      Percept        Perceptual Schema
                         always on          avoid()     vfh()             most-open-direction  polar-plot(sonar)
                         AT-HOME=           sleep()     turn-camera-head()  obstacle     polar-plot(sonar)
                         dead-reckoning(encoders)       cycle-skirt()
                         AWAKE=radio-signal()  move-to-goal()  pfields.attraction(location)  relative-location  read-encoders()
                         AWAKE=radio-signal()  move-to-goal()  pfields.attraction(shark)  shark  find-shark-blue(camera)
                         TRAY-FULL=bumper()  move-to-goal()  pfields.attraction(home)  relative-location  read-encoders()

                                        The vfh behavior is an obstacle avoidance behavior using polar plots de-
                                      rived from models described in Ch. 11. As the team tested the behaviors
                                      individually, the find-face and treat-removal behaviors proved to be
                                      unreliable. While color was a reasonable affordance for a face, the algorithm
                                      often returned false negatives, missing faces unless in bright light. Mean-
                                      while the laser appeared to occasionally get a reflection from the teeth, also
                                      generating false positives, and more than 75% of the time it would miss a
                                      person’s hand if the motion was quick. The rates were:


                                         logical sensor  False Positives  False Negatives
                                         Face-Find            1.7%          27.5%
                                         Food-Count           6.7%          76.7%


                                        The solution to the find-face performance was to exploit another affor-
                                      dance of a human, one used by mosquitoes: heat. The problem was partial
                                      segmentation; candidate regions were getting rejected on being too small.
                                      Heat would make a good the decision criteria. If a candidate region was co-
                                      located with a hot region, then it was declared a face. Fortunately, the team
                                                             2
                                      was able to transfer an E T digital thermometer used on another robot to
                                      Borg Shark. The thermal sensor shown in Fig. 6.30 was intended for deter-
   259   260   261   262   263   264   265   266   267   268   269