Page 61 - Anatomy of a Robot
P. 61
02_200256_CH02/Bergren 4/17/03 11:23 AM Page 46
46 CHAPTER TWO
Nonlinear elements We have to realize that our model depends on a linear
behavior of all the components. We expect a smooth performance all the way
around. Between loose pieces (that might move free and then snap tight) and
some “digital” elements (that are on-off), some jerky motion will occur. Try to
minimize the effect of these components; we’ll look at nonlinear design in a
while.
Too much overshoot Sometimes a system will move the robot too far and be
unable to recover. Such a situation occurred in the introduction where a robot
moved too far in one single motion and its limited “eye” was not given time to
see that it passed the boundary where it was supposed to stop. Such a situation
can occur if there is too much overshoot. One solution is to increase the damp-
ing on the system.
Complex designs Often, the robot is much more complex than our second-
order system. If it really is a third-order or higher system, take the time to try
to simplify it. Look at the performance and look at the specifications.
Let me give you an example of trouble brewing. Suppose we are trying to
design a baseball robot. It has to run, catch, and throw. It might be able to run
and catch at the same time, but it would be simpler to build a robot that would
run under the ball, stop, and then catch it. Similarly, it would be simpler if the
robot would stop running before it had to throw the ball. Granted, a human
baseball player would never get to the majors playing like that. However, if the
specifications and performance requirements can be relaxed ahead of time and
if we can afford to have a clunky robot player, then our design will be much
simple if you can partition the design. We then just separately design a runner,
a catcher, and a thrower. We do not have to combine the designs and suffer the
interactions that drive up complexity and threaten the stability of our design.
Again, we repeat the old advice: Keep it simple.
You laugh about robots playing baseball? Just keep your eyes on the minor
leagues! See Figure 2-18 from http://home.twcny.rr.com/mgraser/ballpark.htm.
So how do we stabilize a system? Several symptoms can occur. They’re easy to
observe and correct:
Severe overshoot Sometimes overshoot can become very large. We can fix it by
increasing the damping constant d (we’ll get to how that’s done soon). Refer to
Figure 2-17. Changing v won’t affect the overshoot much. If changing doesn’t
help, perhaps the robot is not following the model and we should determine why.
Severe ringing (the oscillations are causing problems) To fix this, we can
increase the damping constant d. This will help decrease the oscillations sooner.
If the oscillations are still objectionable, we must investigate why this is the case.