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
   68   69   70   71   72   73   74   75   76   77   78