Automatic Scheduling of the Newton-Euler Inverse Dynamics

  • Erik H. D’Hollander
Part of the Microprocessor-Based Systems Engineering book series (ISCA, volume 6)


The robust control of a robot arm requires the fast calculation of the dynamic equations. Up to now the Newton-Euler formulation is considered to offer the most efficient implementation, with a workload proportional to the number of links. However, most low cost micro-controllers are unable to deliver the processing speed required for operation in a real-time environment. Therefore several authors suggest a parallel implementation. Using a careful manual decomposition of the taskgraph, speedups of roughly equal to the number of links are reported in the literature. In this chapter some general techniques for the automatic program decomposition and scheduling are presented. These methods are embedded in the LEM Analyzer, a tool to generate multiprocessor schedules from a high-level language program. A simulator allows to measure the parallelism and estimate the performance of the execution. The automated analysis is applied to the inverse dynamics problem. It compares favorably with a manual decomposition and scheduling. Moreover, the LEM Analyzer holds the promise to decompose and simulate many other robot-arm configurations in a large range of multiprocessor configurations.


Execution Time Shared Memory Communication Overhead Precedence Constraint Global Memory 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    Adam T.L., Chandy K.M., Dickinson J.R., A comparison of list schedules for parallel processing systems, Communications of the ACM 17, 12, 685–690, 1974.CrossRefGoogle Scholar
  2. [2]
    Amin-Javaheri M., Orin D.E., A systolic architecture for computation of the manipulator inertia matrix, IEEE International Conference on Robotics and Automation 87, Vol. 2, pp. 647–653, 1987.Google Scholar
  3. [3]
    Andersson R.L., Computer Architectures for Robot Control: A Comparison and a New Processor Delivering 20 Real Mflops, IEEE International Conference on Robotics and Automation 89, pp. 1162–1167, 1989.Google Scholar
  4. [4]
    Coffmann Jr., E.G., Denning P.J., Operating Systems Theory, Prentice Hall, 1973.Google Scholar
  5. [5]
    Cook Stephen A., An overview of computational complexity, Communications of the ACM 26, 6, 401–408, 1983.Google Scholar
  6. [6]
    D’Hollander E.H., Performance Modelling of Supercomputer Architectures and Algorithms, In ”Scientific Computing on Supercomputers”, Devreese J.T. and Van Camp P.E. (Eds.), Plenum Press, Chapter 1, pp. 3–28, 1989.Google Scholar
  7. [7]
    D’Hollander E.H., Speedup bounds for continuous system simulation on a homogeneous multiprocessor, Proceedings of the Intl. Conf. on Parallel Processing’ 81, pp. 318–324, 1981Google Scholar
  8. [8]
    Graham R.L., Bounds on Certain Multiprocessing Anomalies, SIAM Journal of Applied Mathematics, Vol. 17,2, pp. 416–429, 1969.zbMATHCrossRefGoogle Scholar
  9. [9]
    Harber R.G., Hu X., Li J., Bass S.C., The Application of Bit-Serial CORDIC Computational Units to the Design of Inverse Kinematic Processors, IEEE International Conference on Robotics and Automation, Vol. 2, pp. 1152–1163, 1988.Google Scholar
  10. [10]
    Hu T.C., Parallel sequencing and assembly line problems, Op. Res., 9,6, 841–848, 1961.CrossRefGoogle Scholar
  11. [11]
    Izaguirre A., Paul R.P., Automatic Generation of the Dynamic Equations of the Robot Manipulators Using a LISP Program, IEEE International Conference on Robotics and Automation, Vol. 1., pp. 220–226, April 1986.Google Scholar
  12. [12]
    Kasahara H., Narita S., Parallel Processing of Robot-Arm Control Computation on a Multimicroprocessor System, IEEE Journal of Robotics and Automation, Vol. 1,2 (June), pp. 105–113, 1985.CrossRefGoogle Scholar
  13. [13]
    Kasahara H., Narita S., Practical multiprocessor scheduling algorithms for efficient parallel processing, IEEE Trans. on Computers 33, 1023–1029, 1984.CrossRefGoogle Scholar
  14. [14]
    Kaufman M.T., An almost optimal algorithm for the assembly line problem, IEEE Trans. on Computers-23, 11, 1169–1174, 1974.CrossRefGoogle Scholar
  15. [15]
    Lee C.S. George, Chang Po Rong, Efficient Parallel Algorithms for Robot Inverse Dynamics Computation, IEEE Trans, on Systems, Man and Cybernetics, Vol. 16,4, pp. 532–542, 1986.CrossRefGoogle Scholar
  16. [16]
    Lee C.S.G., Chang P.R., A Maximum Pipelined CORDIC Architecture for Inverse Kinematic Position Computation, IEEE Journal of Robotics and Automation, Vol. 3, 5, pp. 445–458, 1987.CrossRefGoogle Scholar
  17. [17]
    Ling Y.L.C., Sadayappan P., Olson K.W., Orin D.E., A VLSI Robotics Vector Processor for Real-Time Control, IEEE International Conference on Robotics and Automation, Vol. 1, pp. 303–308, 1988.Google Scholar
  18. [18]
    Luh J.Y.S., Lin C.S., Scheduling of Parallel Computation for a Computer-Controlled Mechanical Manipulator, IEEE Transactions on Systems Man and Cybernetics, Vol. 12, pp. 214–234, 1982.CrossRefGoogle Scholar
  19. [19]
    Luh J.Y.S., Walker M.W., Paul R.P.C., On-line Computational Scheme for Mechanical Manipulators, Trans. of ASME J. of Dynam. Syst. Meas. and Control, Vol. 102,6, pp. 69–76, 1980.MathSciNetCrossRefGoogle Scholar
  20. [20]
    Luh J.Y.S., Walker M.W., Paul R.P.C., Resolved-acceleration control of Mechanical Manipulators, IEEE Transactions on Automatic Control, Vol. 25,3, pp. 468–474, 1980.zbMATHCrossRefGoogle Scholar
  21. [21]
    Narasimhan S., Siegel D.M., Hollerbach J.M., Condor: A Revised Architecture for Controlling the Utah-MIT Hand, IEEE International Conference on Robotics and Automation, Vol. 2, pp. 1116–1119, March, 1987.Google Scholar
  22. [22]
    Nigam R., Lee C.S.G., A Multiprocessor-Based Controller for the Control of Mechanical Manipulators, IEEE Journal of Robotics and Automation, Vol. 1,4, pp. 173–181, 1985.CrossRefGoogle Scholar
  23. [23]
    Vukobratovic M., Kircanski N., Li S.G., An Approach to Parallel Processing of Dynamic Robot Models, The Intl. Journal of Robotics Research, pp. 64–71, 1988.Google Scholar
  24. [24]
    Vukobratovic M., Kircanski N., Computer-assisted generation of robot dynamic models in analytical form, Acta Appl. Math., Vol. 3, pp. 49–70, 1985.zbMATHCrossRefGoogle Scholar
  25. [25]
    Wander J.P., Tesar D., Pipelined Computation of Manipulator Modeling Matrices, IEEE Journal of Robotics and Automation, Vol. 3,6 (December), pp. 556–566, 1987.CrossRefGoogle Scholar
  26. [26]
    Wang W-S., Chen K-K., Lai Y-S., Liu C-H., Implementation of a Multiprocessor System for Real-Time Inverse Dynamics Computation, IEEE International Conference on Robotics and Automation, pp. 1174–1179, 1989.Google Scholar

Copyright information

© Springer Science+Business Media Dordrecht 1991

Authors and Affiliations

  • Erik H. D’Hollander
    • 1
  1. 1.State University of Ghent Department of Electrical EngineeringGhentBelgium

Personalised recommendations