Page 108 - Introduction to AI Robotics
P. 108

91
                                      3.5 Schema Theory
                                         for the use of internal models to distinguish “your coffee cup” from “my
                                         coffee cup.” This is where top-down, model-based perception occurs.
                                        On a more practical note, Neisser’s dichotomy suggests that the first de-
                                      cision in designing a behavior is to determine whether a behavior can be
                                      accomplished with an affordance or requires recognition. If it can be accom-
                                      plished with an affordance, then there may be a simple and straightforward
                                      way to program it in a robot; otherwise, we will most certainly have to em-
                                      ploy a more sophisticated (and slower) perceptual algorithm.


                                3.5   Schema Theory


                                      Schema theory provides a helpful way of casting some of the insights from
                                                                                   6
                                      above into an object-oriented programming format. Psychologists have used
                                      schema theory since the early 1900’s. It was first brought to the serious at-
                                      tention of AI roboticists by Michael Arbib while at the University of Mas-
                                      sachusetts, and later used extensively by Arkin and Murphy for mobile ro-
                                      botics, Lyons and Iberall for manipulation, 75  and Draper et al. for vision. 46
                                        Schemas were conceived of by psychologists as a way of expressing the
                             SCHEMA   basic unit of activity. A schema consists both of the knowledge of how to act
                                      and/or perceive (knowledge, data structures, models) as well as the com-
                                      putational process by which it is uses to accomplish the activity (the algo-
                                      rithm). The idea of a schema maps nicely onto a class in object-oriented
                        SCHEMA CLASS  programming (OOP). A schema class in C++ or Java would contain both data
                                      (knowledge, models, releasers) and methods (algorithms for perceiving and
                                      acting), as shown below.
                                                                     Schema:

                                                                     Data
                                                                     Methods


                                        A schema is a generic template for doing some activity, like riding a bi-
                                      cycle. It is a template because a person can ride different bicycles without
                                      starting the learning process all over. Since a schema is parameterized like a
                                      class, parameters (type of bicycle, height of the bicycle seat, position of the
                                      handlebars) can be supplied to the object at the time of instantiation (when
                                      an object is created from the class). As with object-oriented programming,
                             SCHEMA   the creation of a specific schema is called a schema instantiation (SI).
                     INSTANTIATION (SI)
   103   104   105   106   107   108   109   110   111   112   113