Simbody: multibody dynamics for biomedical research.

Multibody software designed for mechanical engineering has been successfully employed in biomedical research for many years. For real time operation some biomedical researchers have also adapted game physics engines. However, these tools were built for other purposes and do not fully address the needs of biomedical researchers using them to analyze the dynamics of biological structures and make clinically meaningful recommendations. We are addressing this problem through the development of an open source, extensible, high performance toolkit including a multibody mechanics library aimed at the needs of biomedical researchers. The resulting code, Simbody, supports research in a variety of fields including neuromuscular, prosthetic, and biomolecular simulation, and related research such as biologically-inspired design and control of humanoid robots and avatars. Simbody is the dynamics engine behind OpenSim, a widely used biomechanics simulation application. This article reviews issues that arise uniquely in biomedical research, and reports on the architecture, theory, and computational methods Simbody uses to address them. By addressing these needs explicitly Simbody provides a better match to the needs of researchers than can be obtained by adaptation of mechanical engineering or gaming codes. Simbody is a community resource, free for any purpose. We encourage wide adoption and invite contributions to the code base at https://simtk.org/home/simbody.

[1]  E. Hairer,et al.  Solving Ordinary Differential Equations II: Stiff and Differential-Algebraic Problems , 2010 .

[2]  Ben Shneiderman,et al.  Response time and display rate in human performance with computers , 1984, CSUR.

[3]  Abhinandan Jain Recursive Algorithms Using Local Constraint Embedding for Multibody System Dynamics , 2009 .

[4]  Stephen J Piazza,et al.  Muscle-driven forward dynamic simulations for the study of normal and pathological gait , 2006, Journal of NeuroEngineering and Rehabilitation.

[5]  Olivier Verlinden,et al.  An Implicit Multistage Integration Method Including Projection for the Numerical Simulation of Constrained Multibody Systems , 1997 .

[6]  Alexander I. Rudnicky,et al.  A performance model of system delay and user strategy selection , 1992, CHI.

[7]  E. Eich Convergence results for a coordinate projection method applied to mechanical systems with algebraic constraints , 1993 .

[8]  Abhinandan Jain,et al.  Spatial Operator Algebra for multibody system dynamics , 1992 .

[9]  U. Ascher,et al.  Stabilization of Constrained Mechanical Systems with DAEs and Invariant Manifolds , 1995 .

[10]  J. Baumgarte Stabilization of constraints and integrals of motion in dynamical systems , 1972 .

[11]  Daniel Thalmann,et al.  Correlative joint definition for motion analysis and animation , 2010, Comput. Animat. Virtual Worlds.

[12]  Margarita Vergara,et al.  A modified elastic foundation contact model for application in 3D models of the prosthetic knee. , 2008, Medical engineering & physics.

[13]  David Baraff,et al.  Fast contact force computation for nonpenetrating rigid bodies , 1994, SIGGRAPH.

[14]  Josef Stoer,et al.  Numerische Mathematik 1 , 1989 .

[15]  Hertz On the Contact of Elastic Solids , 1882 .

[16]  Richard R Neptune,et al.  Biomechanics and muscle coordination of human walking. Part I: introduction to concepts, power transfer, dynamics and simulations. , 2002, Gait & posture.

[17]  C D Schwieters,et al.  Internal coordinates for molecular dynamics and minimization in structure determination and refinement. , 2001, Journal of magnetic resonance.

[18]  Allen Newell,et al.  The psychology of human-computer interaction , 1983 .

[19]  E. Hairer,et al.  Solving ordinary differential equations I (2nd revised. ed.): nonstiff problems , 1993 .

[20]  S J Piazza,et al.  Three-dimensional dynamic simulation of total knee replacement motion during a step-up task. , 2001, Journal of biomechanical engineering.

[21]  Russ B. Altman,et al.  Fast Flexible Modeling of RNA Structure Using Internal Coordinates , 2011, IEEE/ACM Transactions on Computational Biology and Bioinformatics.

[22]  Jeanette P. Schmidt,et al.  The Simbios National Center: Systems Biology in Motion , 2008, Proceedings of the IEEE.

[23]  M G Pandy,et al.  Computer modeling and simulation of human movement. , 2001, Annual review of biomedical engineering.

[24]  Roy Featherstone,et al.  Robot Dynamics Algorithms , 1987 .

[25]  K. H. Hunt,et al.  Coefficient of Restitution Interpreted as Damping in Vibroimpact , 1975 .

[26]  Jack Dongarra,et al.  LAPACK Users' Guide, 3rd ed. , 1999 .

[27]  M. A. Akanbi,et al.  Numerical solution of initial value problems in differential - algebraic equations , 2005 .

[28]  Robert H. Halstead,et al.  Matrix Computations , 2011, Encyclopedia of Parallel Computing.

[29]  Henry Peredur Evans,et al.  A Simple, Accurate Method for Calculation of Stresses and Deformations in Elliptical Hertzian Contacts , 1992 .

[30]  Ajay Seth,et al.  Muscle contributions to propulsion and support during running. , 2010, Journal of biomechanics.

[31]  Brian Armstrong-Hélouvry,et al.  Control of machines with friction , 1991, The Kluwer international series in engineering and computer science.

[32]  K. Anderson,et al.  Improved `Order-N' Performance Algorithm for the Simulation of Constrained Multi-Rigid-Body Dynamic Systems , 2003 .

[33]  Ajay Seth,et al.  Minimal formulation of joint motion for biomechanisms , 2010, Nonlinear dynamics.

[34]  D. Struik Lectures on classical differential geometry , 1951 .

[35]  Werner Schiehlen,et al.  Multibody Systems Handbook , 2012 .

[36]  P O Riley,et al.  Propulsive adaptation to changing gait speed. , 2001, Journal of biomechanics.

[37]  Gene H. Golub,et al.  Matrix computations (3rd ed.) , 1996 .

[38]  W. Goldsmith,et al.  Impact: the theory and physical behaviour of colliding solids. , 1960 .

[39]  David E. Orin,et al.  Simulation of contact using a nonlinear damping model , 1996, Proceedings of IEEE International Conference on Robotics and Automation.

[40]  L. Shampine Conservation laws and the numerical solution of ODEs, II , 1999 .

[41]  A. Hindmarsh,et al.  CVODE, a stiff/nonstiff ODE solver in C , 1996 .

[42]  H. Grootenboer,et al.  Articular contact in a three-dimensional model of the knee. , 1991, Journal of Biomechanics.

[43]  Gabriel Abba,et al.  Approximate Analytical Model for Hertzian Elliptical Contact Problems , 2006 .

[44]  F. A. Seiler,et al.  Numerical Recipes in C: The Art of Scientific Computing , 1989 .

[45]  Ed Anderson,et al.  LAPACK Users' Guide , 1995 .

[46]  D. E. Rosenthal High Performance Multibody Simulations via Symbolic Equation Manipulation and Kane's Method , 1986 .

[47]  B. P. Ziegler,et al.  Theory of Modeling and Simulation , 1976 .

[48]  Jeffrey A Reinbolt,et al.  OpenSim: a musculoskeletal modeling and simulation framework for in silico investigations and exchange. , 2011, Procedia IUTAM.

[49]  Ernst Hairer,et al.  Solving Ordinary Differential Equations I: Nonstiff Problems , 2009 .

[50]  L. Verlet Computer "Experiments" on Classical Fluids. I. Thermodynamical Properties of Lennard-Jones Molecules , 1967 .

[51]  Reinhold von Schwerin MultiBody System SIMulation - Numerical Methods, Algorithms, and Software , 1999, Lecture Notes in Computational Science and Engineering.

[52]  D. Kerrigan,et al.  Kinetics of stiff-legged gait: induced acceleration analysis. , 1999, IEEE transactions on rehabilitation engineering : a publication of the IEEE Engineering in Medicine and Biology Society.

[53]  Roy Featherstone,et al.  Rigid Body Dynamics Algorithms , 2007 .

[54]  E. Hairer,et al.  Geometric Numerical Integration: Structure Preserving Algorithms for Ordinary Differential Equations , 2004 .

[55]  C Scheffer,et al.  Predictive modelling of cervical disc implant wear. , 2008, Journal of biomechanics.

[56]  William W. Hooker,et al.  The Dynamical Attitude Equations for n-Body Satellite , 1965 .

[57]  William H. Press,et al.  Numerical recipes in C. The art of scientific computing , 1987 .

[58]  F. Zajac,et al.  Determining Muscle's Force and Action in Multi‐Articular Movement , 1989, Exercise and sport sciences reviews.

[59]  Roland Kasper,et al.  A New Software Approach for the Simulation of Multibody Dynamics , 2007 .

[60]  E. Hairer,et al.  Dense output for extrapolation methods , 1990 .

[61]  Abhinandan Jain,et al.  A Spatial Operator Algebra for Manipulator Modeling and Control , 1989, Proceedings, 1989 International Conference on Robotics and Automation.

[62]  Friedrich Pfeiffer,et al.  Multibody Dynamics with Unilateral Contacts , 1996 .

[63]  Scott L. Delp,et al.  A computational framework for simulating and analyzing human and animal movement , 2000, Comput. Sci. Eng..

[64]  Martin Mauve,et al.  Local-lag and timewarp: providing consistency for replicated continuous applications , 2004, IEEE Transactions on Multimedia.

[65]  Uri M. Ascher,et al.  Stabilization of invariants of discretized differential systems , 1997, Numerical Algorithms.

[66]  Abhinandan Jain,et al.  A fast recursive algorithm for molecular dynamics simulation , 1993 .

[67]  Ayman Habib,et al.  OpenSim: Open-Source Software to Create and Analyze Dynamic Simulations of Movement , 2007, IEEE Transactions on Biomedical Engineering.

[68]  Abhinandan Jain,et al.  RECURSIVE DYNAMICS ALGORITHM FOR MULTIBODY SYSTEMS WITH PRESCRIBED MOTION , 1993 .