Page 83 - Designing Autonomous Mobile Robots : Inside the Mindo f an Intellegent Machine
P. 83

Chapter 5

            Asymmetric gains

            One of the most common problems encountered is that many systems are asymmet-
            ric in their response to a power command. For example, a heater may be adequately
            powerful to quickly increase the temperature of a mass with say 30% power, but
            when the same amount of power is removed, the temperature may not drop nearly as
            fast as it had increased. This asymmetric response is obviously due to the fact that
            cooling is not merely the result of removing power, but rather the result of air con-
            vection.

            The drive power requirement for a heavy robot is also very asymmetric. While a
            good deal of forward power is usually required to accelerate the robot, only a small
            amount of reverse power is required to decelerate it at the same rate. If a symmetric
            PID is used to control such a motor, it may be impossible to obtain adequate forward
            responsiveness without causing the robot to summersault when deceleration occurs.
            Things get even more exciting when a robot goes over the top of a ramp and starts
            down the back side.
            For asymmetric loads, it is often useful to provide two gains for each term. One gain is used
            for positive term inputs, while the other is used for negative inputs.


            Error band limits
            Another useful modification to reactive PID terms is to limit the error range over
            which they respond proportionally. If the error is within this band, then the error is
            multiplied by the gain, otherwise the appropriate error limit is used. This is particu-
            larly useful with the integral term to prevent wind-up. The example below is coded
            in Visual Basic, and utilizes many of the techniques discussed thus far.
            In all these cases, you will be governed by the principal of enlightened instinct. To
            become a Zen master of such techniques, you must understand the causes of prob-
            lems, and the basics of physics and dynamics, but in the end the solution is often
            half theory and half instinct. If the choice is made to be rigidly mathematical in the
            solution, you may still end up guessing at a lot of parameters, and producing an
            algorithm that sucks every available cycle out of your control computer.

            My personal preference for creating such controls is to design the software so that
            virtually every factor can be changed on the fly during operation. You can then run
            the system and observe its response to changes in various parameters. For example,
            the robot can be set to drive backward and forward between two points while vari-
            ous gains are tried. In other words, let the system talk to you.



                                                    66
   78   79   80   81   82   83   84   85   86   87   88