Page 81 - Anatomy of a Robot
P. 81

02_200256_CH02/Bergren  4/17/03  11:24 AM  Page 66
                             66 CHAPTER TWO
                               Other cost functions beyond LMS are available. LMS still requires multiplication,
                             which can eat up computer time and resources. LMS multiplies the step size by the dif-
                             ferential error (X1   X1d) to get the iteration step size. This can be approached in other
                             ways:
                                 Use just the sign of (X1   X1d), not the magnitude. The sign simply indicates
                                 which way X1 is off. The entire step size is then simply added or subtracted from
                                 X1 to iterate to the next value. This makes the iteration step a simple addition or
                                 subtraction and avoids the multiplication. This can be of particular value if we
                                 choose to use a small microcomputer that has no multiplier.
                                 Use the relative size of (X1   X1d) to pick the step size from a table of step sizes.
                                 This can work well and also avoids multiplication. It can converge faster when the
                                 cost function is large and can remain fairly quiet about the optimal solution. Care
                                 must be taken when switching gears in an arbitrary manner like this. Please reread
                                 the earlier “A Caution” section.
                               Multivariable systems have other peculiarities to worry about as well. Issues of sta-
                             bility, convergence, and speed of operation all must be addressed here:

                                 Stability As already discussed, if the step size is too large, the system may oscil-
                                 late about the solution point in an unacceptable manner. Further, all the variables
                                 may not be able to reach an optimal solution at the same time. The system may
                                 remain noisy forever, even if the inputs stop moving.
                                 Convergence   It’s possible, in some situations, that the control system will not
                                 actually move to an acceptable solution:
                                   Finding a solution  Sometimes the starting position of the robot can affect
                                    whether it will move to the desired location or not. The control system always
                                    has a set of points beyond which it cannot recover. In the design and operation
                                    of our robot’s control system, we must assure ourselves that the robot will not
                                    be asked to recover from such a situation. Note that we must determine what
                                    an acceptable solution is for the robot. Often, this involves some metric on the
                                    size of the cost function, but this can be done many different ways.
                                   Avoiding false solutions  Sometimes arithmetic systems will settle into a
                                    false solution. An example might be a robot looking for the highest hill, only
                                    to find a smaller hill nearby. If the control system must contend with a com-
                                    plex environment, this can happen easier than we might suspect. If the situa-
                                    tion looks suspicious, consider putting some safety mechanism into the control
                                    system that will jar the robot out of a false solution if it gets stuck in one. Such
   76   77   78   79   80   81   82   83   84   85   86