Page 73 - Designing Autonomous Mobile Robots : Inside the Mindo f an Intellegent Machine
P. 73
Chapter 5
the position of the actual robot or servo is referred to as the hound. This terminology
comes from the dog racing business, where a mechanical rabbit is driven down the
track ahead of the pack of racing canines. A closed loop system is one that measures
the error between the rabbit and hound, and attempts to minimize the gap without
becoming erratic.
Classical control theory has been in existence for a very long time. Engineering
courses have traditionally taught mathematical techniques involving poles and zeros
and very abstract mathematics that beautifully describe the conditions under which
a control can be designed with optimal performance. Normally, this involves produc-
ing a control system that maintains the fastest possible response to changing input
functions without becoming underdamped (getting the jitters). It is perhaps fortu-
nate that the professor who taught me this discipline has long ago passed from this
plane of existence, else he would most probably be induced to cause me to do so
were he to read what I am about to say.
Control theory, as it was taught to me, obsessed over the response of a system to a
step input. Creating a control that can respond to such an input quickly and without
overshooting is indeed difficult. Looking back, I am reminded of the old joke where
the patient lifts his arm over his head and complains to the doctor “It hurts when I
do this, Doc,” to which the doctor replies, “Then don’t do that.”
With software controls, the first rule is never to command a control to move in a way it
clearly cannot track.
If you studied calculus, you know that position is the integral of velocity, velocity is
the integral of acceleration, and acceleration is the integral of jerk. Calculus in-
volves determining the effect of these parameters upon each other at some future
time.
In real-time controls this type of prediction is not generally needed. Instead, we
simply divide time into small chunks, accumulating the jerk to provide the acceleration,
and accumulating the acceleration to provide the velocity, etc. This set of calcula-
tions moves the rabbit, and if all of these parameters are kept within the capability
of the hardware, a control can be produced that will track the rabbit.
Furthermore, the operator who controls the “rabbit” at a dog race makes sure that
the hounds cannot pass the rabbit, and that it never gets too far ahead of them.
Similarly, our software rabbit should adjust its acceleration if the servo lags too far
behind.
56

