Page 46 - Sensing, Intelligence, Motion : How Robots and Humans Move in an Unstructured World
P. 46

BASIC CONCEPTS  21

              A serious analysis of holonomic and nonholonomic systems requires more
            rigorous mathematical definitions. These will be introduced later as needed.


            1.2.6 Robot Programming
            A robot executes a given motion because it is programmed to do so. The meaning
            of the words robot motion programming is not dissimilar to what an adult does
            when teaching a child how to walk.
              One can distinguish between two basic approaches to robot motion pro-
            gramming:

              • Explicit robot motion programming—when every robot configuration along
                the path is prescribed explicitly. One variation of this is when a set of
                configurations is given explicitly beforehand, and the robot interpolates con-
                figurations between the set points using some rule.
              • Task-level robot motion programming—in which contents-based subtasks
                are given, such as “Grasp a part” or “Insert a peg in a hole,” and the robot
                figures out further details on its own.

            The “subtask” above can be a complex motion or procedure that has been pro-
            grammed separately beforehand. For example, details of the task “Grasp a part”
            may differ from one task instantiation to the other, depending on the sensing
            data. Clearly, task-level programming is, in general, preferable to explicit pro-
            gramming. It is also significantly more difficult to realize because it requires
            much beforehand knowledge on the part of the robot.
              The “programming” of a dancer or a gymnast is clearly closer to the task-level
            approach than to the explicit programming. The choreographer can, for example,
            say to the ballerina, “Here you do a pirouette followed by an arabesque.” A
            pirouette is a rather complex combination of little motions that the ballerina
            learned while at school. The motions have been “programmed” into her, so just
            naming it is sufficient for her to know what to do. The same is so for an arabesque.
            On the other hand, this does not mean the pirouette will be exactly the same at
            all times: For instance, the ballerina may slightly deviate from her usual pirouette
            when seeing another dancer backing up toward her.
              Another classification of robot motion programming is given by different types
            of robot teaching systems. A robot teaching system is a specific technique for
            robot programming. The following list applies primarily to robot arm manipu-
            lators; the corresponding analogues for mobile robots are simpler and present a
            subset of this list:

              • Manually guiding a robot through the path in real time
              • Point-to-point guidance, with an automatic generation of the time pattern
              • Teach pendant
              • Off-line programming, procedural languages
              • Automatic programming using the task database
   41   42   43   44   45   46   47   48   49   50   51