Multibody Dynamics Simulation



Concurrent Dynamics delivers high fidelity Multibody Dynamics Simulation programs to assess dynamics and control performances of mechanisms and mobile vehicles to expedite:

  • Concept Feasibility Evaluation

  • Control System Design and Testing

  • Hardware-in-the-Loop Simulation

  • System Failure Analysis, etc..

Satellite 'Ibuki': courtesy of JAXA

See MBD simulations examples and dynamics formulation notes below. Click 'pdf' at the end of paragrahs below for details on the subject being presented.


1.  MBD Simulations

We have ready-to-use simulations for a variety of vehicles and operations. Beside the ones below, more are in the robotics page and in the works. The O(n) equations of motion in these simulations are derived from the Newton-Euler equations of a typical joint connected body. They run on PC's that have Matlab/Simulink or C/C++ Compilers installed. Their main program, XSIM1,

  • Generates minimal state multibody dynamics equations for each vehicle or mechanism being simulated 

  • Solves the dynamics equations efficiently (by order(N) method) 

  • Connects easily with user defined control systems

  • Permits easy model/control system parameter modifications to achieve simulation goals quickly

Contact us regarding any of the simulations below by writing to


XSIM1 Simulations on Simulink.

The Xsim1-series-dll's are our processors that make it possible to simulate the dynamics and control of a wide variety of multibody systems in Simulink. It's the green block in each of the five examples below. For each application, user would build a model file to define the model parameters for the equations of motion processing and operational input and output parameters. With that, the user's task is to define the mapping from the engine output(ydata) to its input(udata) to close the control loop. Click on the pdf or the Simulink diagram to see the details of each of the simulations presented.

SV1sim: Simulates a vehicle with 4 wheels and 8 jets under a nominal rwa ACS and a jet ACS. The control task is to maintain vehicle attitude at  LVLH given some initial attitude disturbance. pdf 

Arraysim: Simulates an expanded version of SV1sim vehicle. It retains the same ACS, but now has two arrays each with a yoke and 3 panels. The control tasks include a coordinated array deployment using the 'gear' and 'lock' constraints and the maintenance of LVLH attitude with the ACS. pdf 

Sep1sim: Simulates the ejection of a satellite from a spinning mothership. The control tasks include ejecting the satellite, deploying the arrays after separation, followed by nulling the satellite rate and capturing LVLH attiude with jet ACS. The remainder of the simulation is to maintain LVLH attitude using RWA ACS. Examples show the VMASS (variable mass) feature of the simulation engine in managing a vehicle mass property discontinuity at the instant of the separation.  pdf 

Tethersim: Simulates the deployment of a payload with a tether. Tether length and pushoff force are adjustable. Simulation of a case where the vehicle-to-payload mass ratio of ten is presented. The vehicle flies in an inclined near circular LEO orbit. Simulations with different mass ratio can be designed. The tether stiffness and damping must be adjusted according to the mass ratio to obtain a successful tether deployment, i.e. small steady state libration angle. pdf 

CMG4sim: Simulates a vehicle with 4 SGCMG's and 6 jets. It has a CMG ACS and it fires jet thrusters to reduce excess vehicle momentum. The vehicle flies in a near circular inclined LEO orbit with an aspherical gravity model. Users can redesign this simulation with different CMG mounting configurations and test the corresponding CMG ACS. LVLH control is presented, sun-nadir ACS can be implemented also. pdf 


C-programmable XSIM1 Simulations on DOS

Examples in these packages run on PC's that have C/C++ compilers installed. Each package has the program XSIM1.exe  to run simulations based on a user specified model file and a user supplied  control.dll file for a user conceived application. Our editor, buildx.exe and application library make the programming of that control.dll file easy by creating a near functional template to accomodate user's control system. The user's manual in each package shows how  the model file is built and how the associated control.dll is programmed and compiled for each example.















2.  Multibody Dynamics Notes


Kinematics of a mechanism is about computing the motion of bodies in the mechanism given its generalized coordinates and rates. The motion includes the attitude, position and velocity of the bodies in some reference frame over time. As an example, the generalized coordinates of a chained system with 1 dof rotational joints are the joint angles of that system . More complex mechanisms can have 3 dof rotational or translational joints between bodies. In these cases, the generalized coordinates are the relative quaternions and the relative displacement coordinates of the joints in the local body frame accordingly. The kinematics of a generic tree-structured system with 1 dof rotational joints is presented in the attached file. pdf

Order of MBD Solutions

Speed of solving the generalized accelerations in multibody dynamics (MBD) problems is a function of the number of arithmetic operations involved,i.e. additions and multiplications. It can be expressed by a polynomial in N or n. N is the number of bodies in the system and n is the degrees of freedom of the system. This polynomial is a reasonable computational cost of the MBD solution in relation to N. For example, if the polynomial is strictly kN, for some integer k, then the solution is said to be order(N). If the polynomial is aN+bN^2+cN^3 for some integers (a,b,c), then the solution is said to be order(N^3). The same can be said of the order if the polynomial is in n. Between MBD solutions of the same problem, the lower order solutions execute faster than the higher order ones and progressively more so as N or n increases. This topic is expanded in the attached file. pdf

Generalized Mass Matrix

Generalized mass matrix is an important component in the study of the system kinetic energy, momentum and force equations of an MBS. This matrix is a second order partial derivative of the system kinetic energy with respect to the generalized rates with the energy given in terms of total angular rates and velocities of the bodies in the system. Obtaining this partial derivative can be challenging even for a small scale mechanism. A simpler way to compute this matrix for any tree-structured MBS using recursive operators is shown in the attached file. pdf

Newton-Euler Equations

Euler-Lagrange equations, D'Alembert's work principle, Newton-Euler equations and few other principles/methods are often used in formulating MBD problems. Regardless of the physics principle used, the final EOM for the targeted mechanism for the same generalized coordinates are identical. One variation in the EOM is that they could be formulated to solve for the system accelerations or for the time derivative of system momenta. Still, solving either form of EOM and propagating the motion with the associated kinematics equations should yield the same dynamics response for the same MBD problem. Furthermore, the EOM must comply with momentum conservation when no external force or  torque is applied. pdf

Hamilton's Equations

The Hamiltonian is the total energy of the system and it permits a transformation of the Lagrangian equations into a system of 2n first order differential equations in generalized coordinates and generalized momenta, n being the degrees of freedom in the system. These equations produce identical results as those by acceleration based EOM. pdf

Joint Motion

Joints connect bodies in a mechanism and define the relative motion between them. It is the coordinated movements at these joints that creates the trajectory of the robot arm grapple device, the cyclic up and down motion of a piston in a combustion engine, and the precise placement or pointing of a device on a hexapod platform. Most mechanisms are designed with 1 dof rotational joints. Yet, it is not uncommon to see universal joints, ball joints or prismatic joints in mechanisms. Kinematics equations for four types of joints are presented in the attached file. pdf

Redundant vs Minimal Coordinates Formulations

MBD formulations using redundant coordinates can be done by assigning 6 dof's to each joint in the system. It can also be done by treating each body in the system as a free body thereby giving it 6 dof in the inertial frame. Either way, constraints are defined to keep the values of the redundant coordinates at each joint to zero to form the MBD EOM.This approach creates a DAE model that has the right number of dof's fitting the simulated mechanism. In both cases,the system-wide accelerations can be solved by two simple but different O(N) procedures if the joint activation forces and joint-constraint forces are given. However,the required joint-constraint forces for this solution method for tree-structured MBS's can only be solved in an O(N^3) manner on sequential processors, i.e. PC's.This effectively makes the said DAE solution an O(N^3) process.

The NE and Hamilton's methods of minimal coordinates formulation discussed earlier for tree-structured MBS do not have Lagrange multipliers in the EOM as required by the redundant coordinates approach. In these cases, the derived EOM size equals the degrees of freedom in the system. Furthermore, the generalized accelerations can be solved from these EOM's in an O(N) manner given the joint-activation forces. Notably, the joint constraint forces were eliminated during the formulation process. The execution speed and EOM-size advantage of the minimal coordinates eom formulations speak to its strength over the formulation with redundant coordinates methods.

It must be mentioned that the use of Lagrange multipliers is very important in many MBD problems with closed-loop, non-joint and contact constraints. We will explore this topic later.

System Momentum Testing

Multibody system linear and angular momentum are two states of mechanical motion that are functions of the vehicle's generalized coordinates and rates. One test is to compare of these two states computed by the simulation program against those computed independently based on the body angular rates, velocities and stored angular momenta that are output from the simulation. The two sets of states must be identical. A discrepancy may mean that the implemented mass property is different from the intended one or that the simulator did not compute the system mass matrix properly. The second test is the momentum conservation test. By the Newton-Euler principle, the system linear and angular momentum states are constant in the inertial space when no external forces/torque are exerted on the system. Notably, this test applies to vehicles whose base body has 6 dof wrt the inertial space and it does not apply to ground fixed systems. The reason for the latter is that the constraint force at the interface between the base body and the ground acts like an external force to the system in the EOM and it is never zero over time. pdf

System Energy Testing

Kinetic (KE) and potential (PE) energy of a joint-connected multibody system (MBS) are useful quantities with which to validate MBD simulations under controlled conditions. If KE and PE are not explicitly time dependent, and the only forces in the system are conservative ones then the total energy (KE+PE) of the system is constant. This test can be applied to grounded systems that are overlooked by the momentum tests. If KE and PE are not explicitly time dependent, and no interbody joint forces/torque nor external forces are present in the system, then KE of the system is constant. This test applies to all non-grounded N-body systems. pdf

Passing the system momentum and energy tests above means that the dynamics principle underlying the simulation and its implementation are credible and that the associated result is useful. The post-sim system linear and angular momentums and the corresponding KE and PE are as easy to calculate as they are powerful in validating a simulation. These calculations in the attached pdf files require no knowlege of the joint-topology of the mechanism nor that of the dynamics formulation method used by the simulation.


Click here to see selected papers and books published on multibody dynamics formulations.


See robotics/mechanisms page


Interesting Websites:

  1. Multibody System Dynamics- Research Activities ( )
  2. Space flight news ( )
  3. Review of multibody dynamics software ( )



Concurrent Dynamics International
Last modified: December 31, 2018