Page 140 - Introduction to AI Robotics
P. 140

123
                                      4.4 Potential Fields Methodologies
                                      describe here, so instead a generalization will be presented. Potential field
                             VECTORS  styles of behaviors always use vectors to represent behaviors and vector sum-
                    VECTOR SUMMATION  mation to combine vectors from different behaviors to produce an emergent
                                      behavior.


                               4.4.1  Visualizing potential fields
                                      The first tenet of a potential fields architecture is that the motor action of a
                                      behavior must be represented as a potential field. A potential field is an array,
                                      or field, of vectors. As described earlier, a vector is a mathematical construct
                                      which consists of a magnitude and a direction. Vectors are often used to
                                      represent a force of some sort. They are typically drawn as an arrow, where
                                      the length of the arrow is the magnitude of the force and the angle of the
                                      arrow is the direction. Vectors are usually represented with a boldface capital
                                      letter, for example, V. A vector can also be written as a tuple (m;d  ), where m
                                      stands for magnitude and d for direction. By convention the magnitude is a
                                      real number between 0.0 and 1, but the magnitude can be any real number.
                   ARRAY REPRESENTING   The array represents a region of space. In most robotic applications, the
                              A FIELD  space is in two dimensions, representing a bird’s eye view of the world just
                                      like a map. The map can be divided into squares, creating a (x,y) grid. Each
                                      element of the array represents a square of space. Perceivable objects in the
                                      world exert a force field on the surrounding space. The force field is anal-
                                      ogous to a magnetic or gravitation field. The robot can be thought of as a
                                      particle that has entered the field exuded by an object or environment. The
                                      vector in each element represents the force, both the direction to turn and the
                                      magnitude or velocity to head in that direction, a robot would feel if it were
                                      at that particular spot. Potential fields are continuous because it doesn’t mat-
                                      ter how small the element is; at each point in space, there is an associated
                                      vector.
                                        Fig. 4.12 shows how an obstacle would exert a field on the robot and make
                                      it run away. If the robot is close to the obstacle, say within 5 meters, it is inside
                                      the potential field and will fell a force that makes it want to face directly away
                                      from the obstacle (if it isn’t already) and move away. If the robot is not within
                                      range of the obstacle, it just sits there because there is no force on it. Notice
                                      that the field represents what the robot should do (the motor schema) based
                                      on if the robot perceives an obstacle (the perceptual schema). The field isn’t
                                      concerned with how the robot came to be so close to the obstacle; the robot
                                      feels the same force if it were happening to move within range or if it was
                                      just sitting there and someone put their hand next to the robot.
   135   136   137   138   139   140   141   142   143   144   145