A Framework for Real-Time Multi-Contact Multi-Body Dynamic Simulation

Part of the Springer Tracts in Advanced Robotics book series (STAR, volume 114)


In this paper we propose a unified framework for the real-time dynamic simulation and contact resolution of rigid articulated bodies. This work builds on previous developments in the field of dynamic simulation, collision detection, contact resolution, and operational space control. However, the key to efficiency and real-time performance is a new parallel implementation of our collision detection and contact resolution algorithm which decomposes the problem into tasks that can be concurrently executed. Finally, the results and accuracy of our simulation models are compared for the first time against recorded motions of real articulated bodies colliding on a frictionless air floating table.


Contact Point Convex Hull Leaf Node Collision Detection Contact Parameter 
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.


  1. 1.
    Bajaj, C.L., Dey, T.K.: Convex decomposition of polyhedra and robustness. SIAM J. Comput. 21(2), 339–364 (1992)MathSciNetCrossRefzbMATHGoogle Scholar
  2. 2.
    Baraff, D.: Analytical methods for dynamic simulation of non-penetrating rigid bodies. In: Thomas, J.J. (ed.) SIGGRAPH, pp. 223–232. ACM (1989)Google Scholar
  3. 3.
    Baraff, D.: Curved surfaces and coherence for non-penetrating rigid body simulation. In: Baskett, F. (ed.) SIGGRAPH, pp. 19–28. ACM (1990). ISBN 0-201-50933-4Google Scholar
  4. 4.
    Baraff, D.: Coping with friction for non-penetrating rigid body simulation. In: Thomas, J.J. (ed.) SIGGRAPH, pp. 31–41. ACM (1991). ISBN 0-89791-436-8Google Scholar
  5. 5.
    Baraff, D.: Issues in computing contact forces for non-penetrating rigid bodies. Algorithmica 10(2–4), 292–352 (1993)MathSciNetCrossRefzbMATHGoogle Scholar
  6. 6.
    Baraff, D.: Fast contact force computation for nonpenetrating rigid bodies. SIGGRAPH, pp. 23–34. ACM (1994). ISBN 0-89791-667-0Google Scholar
  7. 7.
    Baraff, D.: Linear-time dynamics using lagrange multipliers. SIGGRAPH, pp. 137–146 (1996)Google Scholar
  8. 8.
    Chang, K.S., Khatib, O.: Operational space dynamics: efficient algorithms for modeling and control of branching mechanisms. Proc. IEEE Int. Conf. Robot. Autom. 1, 850–856 (2000)Google Scholar
  9. 9.
    Chazelle, B.: Convex partitions of polyhedra: a lower bound and worst-case optimal algorithm. SIAM J. Comput. 13(3), 488–507 (1984)MathSciNetCrossRefzbMATHGoogle Scholar
  10. 10.
    Chazelle, B., Palios, L.: Triangulating a nonconvex polytope. Discret. Comput. Geom. 5, 505–526 (1990)MathSciNetCrossRefzbMATHGoogle Scholar
  11. 11.
    Conti, F., Barbagli, F., Balaniuk, R., Halg, M., Lu, C., Morris, D., Sentis, L., Warren, J., Khatib, O., Salisbury, K.: The chai libraries. Proc. Eurohaptics 2003, 496–500 (2003)Google Scholar
  12. 12.
    Coumans, E.: Bullet Physics Library. (2001)
  13. 13.
    Drumwright, E.: Moby Simulator. (2008)
  14. 14.
    Ehmann, S.A., Lin, M.C.: Accurate and fast proximity queries between polyhedra using convex surface decomposition. Comput. Graph. Forum 20(3), 500–511 (2001)CrossRefGoogle Scholar
  15. 15.
    Featherstone, R.: Robot dynamics. Scholarpedia 2(10), 3829 (1987)CrossRefGoogle Scholar
  16. 16.
    Gilbert, E.G., Johnson, D.W., Keerthi, S.S.: A fast procedure for computing the distance between complex objects in three-dimensional space. IEEE J. Robot. Autom. 4(2), 193–203 (1988)CrossRefGoogle Scholar
  17. 17.
    Khatib, O.: A unified approach for motion and force control of robot manipulators: the operational space formulation. IEEE J. Robot. Autom. 3(1), 43–53 (1987)CrossRefGoogle Scholar
  18. 18.
    Khatib, O., Brock, O., Chang, K.S., Conti, F., Ruspini, D.C., Sentis, L.: Robotics and interactive simulation. Commun. ACM 45(3), 46–51 (2002)CrossRefGoogle Scholar
  19. 19.
    Quinlan, S.: Efficient distance computation between non-convex objects. ICRA, pp. 3324–3329. IEEE Computer Society (1994). ISBN 0-8186-5330-2Google Scholar
  20. 20.
    Rappoport, A.: The n-dimensional extended convex differences tree (ecdt) for representing polyhedra. In: Symposium on Solid Modeling and Applications, pp. 139–147 (1991)Google Scholar
  21. 21.
    Ruppert, J., Seidel, R.: On the difficulty of triangulating three-dimensional nonconvex polyhedra. Discret. Comput. Geom. 7, 227–253 (1992)MathSciNetCrossRefzbMATHGoogle Scholar
  22. 22.
    Ruspini, D.C., Khatib, O.: Collision/contact models for the dynamic simulation of complex environments. In: 9th International Symposium of Robotics Research (ISRR’99), pp. 185–195. Snowbird (1997)Google Scholar
  23. 23.
    Ruspini, D.C., Khatib, O.: A framework for multi-contact multi-body dynamic simulation and haptic display. In: Proceedings of the 2000 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2000), vol. 2, pp. 1322–1327 (2000). doi: 10.1109/IROS.2000.893204
  24. 24.
    Smith, R.: Open Dynamics Engine. (2001)

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  1. 1.Artificial Intelligence LaboratoryStanford UniversityStanfordUSA

Personalised recommendations