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