Page 198 -
P. 198

4.3 Computer Simulation of Robotic Systems                   181


            4.3 Computer Simulation of Robotic Systems

            It is very important to simulate on a digital computer a proposed manipulator
            control scheme before actually implementing it on an arm. We show here
            how to perform such computer simulations for robotic systems. Since most
            robot controllers are actually implemented in a digital fashion (Section 4.5),
            we also show how to simulate digital robot arm controllers.

            Simulation of Robot Dynamics
            There is a variety of software packages for the simulation of nonlinear
            dynamical systems, including SIMNON [Åström and Wittenmark 1984],
            MATLAB, and others. For convenience, we include in Appendix B some
            simulation programs that are quite useful for continuous and digital control.
              All simulation programs require the user to write similar subroutines. Time
            response simulators that use integration routines such as Runge-Kutta all require
            the computation of the state derivative given the current state. In Section 3.4
            we saw how to represent the robot arm equation
                                                                       (4.3.1)


            in the nonlinear state-space form

                                                                       (4.3.2)

            with x(t) the state and u(t) the input.
                                    .
                                  T
              Defining a state as x=[q  q ] , we may write the implicit form
                                     T T
                                                                       (4.3.3)


            with τ the arm control torque that is provided by the controller and τ d the
            disturbance torque. We say that this is an implicit form since the coefficient
            matrix of the left-hand side means that               is not given
            explicitly in terms of the right-hand side.
              Given x(t), it is necessary to provide a subroutine for the integration program
            that computes  (t). One approach to solving for   is to invert M(q). However,
            due to potential numerical problems this is not recommended. Let us represent
            (4.3.3) as
                                                                       (4.3.4)

            Note that in this case u(t) is the vector composed of the controls  (t) and the
            disturbances   d(t).


            Copyright © 2004 by Marcel Dekker, Inc.
   193   194   195   196   197   198   199   200   201   202   203