Concurrent Dynamics delivers high fidelity Multibody Dynamics Simulation programs to assess dynamics and control performances of mechanisms and mobile vehicles to expedite:
Satellite 'Ibuki': courtesy of JAXA
MBS simulations and dynamics formulation notes follow.
1. MBS 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,
Contact us regarding any of the simulations below by writing to firstname.lastname@example.org. Click 'pdf' for details on creating the model file using the editor, buildx.exe, and on the mdl file or the control.dll file designed for that application and more. We welcome suggestions on vehicle simulations that you would like to have.
XSIM1 Simulations on Simulink Platform.
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
Simulatons with C-programmable XSIM1
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 mechanisms is about computing the motion of bodies in the system given its generalized coordinates and rates. The motion include the attitude of bodies, their positions and velocities in some reference frame over time. The coordinates for a chained system with 1 dof rotational joints between bodies comprise of the joint angles. More complex mechanisms can be made of tree-configured joint connected bodies that has joints permitting 3 dof rotational or translational motions 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 MBS Algorithms
Speed of algorithms in solving the generalized accelerations from the equations of motion is very important to analysts and engineers in multibody dynamics (MBD) problems. The said speed is a function of the number of arithmetic operations involved. 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 the exact computational cost of the algorithm in relation to N. For example, if the polynomial is kN, for some integer k, then the algorithm is said to be order(N). If that polynomial is aN+bN^2+cN^3 for some integers (a,b,c),then the algorithm is said to be order(N^3). The same can be said of the order if the polynomial is in n. Between MBD algorithms for the same computation the lower order algorithms execute faster than the higher order ones and progressively more so as N increases. This topic is expanded in the attached file. pdf
Generalized Mass Matrix
One encounters generalized mass matrix 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 inertial 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 that matrix for any tree-structured MBS using recursive operators is shown in the attached file. pdf
Many formalisms exist to establish the equations of motion (eom) of a multibody system. These include the Euler-Lagrange equations, D'Alembert's work principle, Newton-Euler equations and others. Regardless of the formulation method 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 when the modeled MBS is subjected to the same forces and torque (internal and external). Moreover, the eom must comply with momentum conservation when no external force or torque is applied. pdf
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
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
EOM with Redundant Coordinates
Two MBD formulations using redundant coordinates are often encountered. One is to assign 6 dof's to each joint in the system, and the other is to treat each body in the system as a free body thereby giving it 6 dof in the inertial frame. For each of the two choices, constraints are defined to keep the redundant coordinates at each joint to zero to form a composite system of DAE's as the MBD eom.This approach creates a model that has the right number of dof's fitting the simulated mechanism. In both cases,the system-wide accelerations can be solved in two very simple but different O(N) manners given the joint activation forces and joint-constraint forces. However,the required joint-constraint forces for that solution method for tree-structured MBS's can only be solved in an O(N^3) manner on single CPU platforms, i.e. PC's.This effectively makes the DAE solution an O(N^3) process.
The NE and Hamilton's methods of formulation given above for tree-structured MBS do not use Lagrange multipliers as required by the DAE approach.They derive only as many eom's as there are 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. The advantage of the non-DAE approach is self explanatory.
Notably, use of Lagrange multipliers for constraints compliance is a very important subject in many applications. We will explore this topic later.
System Angular Momentum Testing
Multibody system angular momentum has two important properties for trouble-shooting
vehicle dynamics simulations.
P1: It is a state of motion given the vehicle's generalized coordinates and
rates. P2: It is constant in the inertial space when no external torque is exerted on
the system. P1 means that this state computed by the simulation program must be identical
to an independently computed one based on the body angular rates, velocities and stored angular
momenta that are output from the program. Error in P1 test reflects inconsistency in the kinematics or in the mass
property used by the simulation program. Successful P2 test insures that the underlying
dynamics formulation of the simulation is done properly.
Validation of any MBD simulation must pass the P1 and P2 tests for the simulation results to be useful.
The post-sim system angular momentum calculation is simple and does not require knowlege of the joint-topology
of the mechanism as given by Eqs.(6,7) in the attached file. pdf
Validation of any MBD simulation must pass the P1 and P2 tests for the simulation results to be useful. The post-sim system angular momentum calculation is simple and does not require knowlege of the joint-topology of the mechanism as given by Eqs.(6,7) in the attached file. pdf
Click here to see selected papers and books published on multibody dynamics formulations.
Concurrent Dynamics International