Concurrent Dynamics delivers high fidelity Multibody Dynamics Simulation programs to assess dynamics and control performances of mechanisms and mobile vehicles. They expedite:
Satellite 'Ibuki': courtesy of JAXA
MBS packages and dynamics formulation notes follow.
1. MBS Packages
We have ready-to-use simulation packages for a variety of vehicles and operations. Beside the packages below, more are on the robotics page and in the works. The model equations in these packages are derived from Euler-Lagrange formulation. They are extremely accurate and run significantly faster than programs built by leading commercial codes. Moreover, they can be modified easily to fit user's immediate needs.
Our simulations run on PC's that have Matlab/Simulink or C/C++ Compilers installed. Their core engine, XSV01, connect easily with user defined control systems. In short, it
The manual in each package first shows how to define a model file using the tool, buildx.exe. This file defines the connectivity, mass property of bodies and wheels, force objects, gravity model and the dynamics input/output/plot data list for the control system interface. It then shows how to build a nominal control system for the vehicle represented by the model file. One would use that control system to perform multiple of tasks in series or in parallel. The result is a simulation program in the form of an mdl file for the Simulink case. For the C/C++ programmable case, the result of the programming is a control.dll program that works with XSV01.exe and the model file to accomplish the user specified simulation. Examples are presented for illustration.
Get a free Project license for any of the packages below by contacting email@example.com. Click 's' below for a synopsis of each package. Click 'm' 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.
XSV01 Packages for Simulink.
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. s, m
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. s, m
Tethersim: Simulates the deployment of a payload with a tether. Tether length and pushoff force are adjustable. Examples show a different system response between a small pld/vehicle mass ratio and a large such ratio. Successful deployment depends on several parameters. s, m
CMG4sim: Simulates a vehicle with 4 SGCMG's and 8 jets. It has a nominal CMG ACS and a momentum management system. Examples show the ACS operations with/without momentum mgmt. Users can design different CMG mounting configurations and test the corresponding CMG ACS. LVLH control is shown, sun-nadir ACS can be done also. s, m
C-programmable XSV01 Packages
Examples in these packages run on PC's that have C/C++ compilers installed. Each package has the program XSV01.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 deals with computing the motion of bodies in the system as a function of the generalized coordinates and rates obtained from solving the dynamics of that mechanism. The motion include the attitude of bodies, their position and velocity over time. The generalized coordinates for simple systems comprise of the attitude of the reference body, its cm inertial motion, and all angles between single-axis-joint connected bodies in the system. Generalized coordinates for more complex system would include coordinates for 3 dof relative rotational and relative translational motions between bodies.
Click here to see the kinematics of a simple multibody system(MBS).
Generalized Mass Matrix
In studying the dynamics of multibody systems, one inevitably encounters the generalized mass matrix early on in the context of the system kinetic energy, momentum and force equations. Given that the kinetic energy is specified in terms of total angular rates and velocities of member bodies then the generalized mass matrix is a second order partial derivative of the system kinetic energy with respect to the generalized rates. Deriving the system mass matrix by that second order partial derivative can be challenging even for a small scale mechanism.
Click here to see a derivation of the generalized mass matrix of a multibody system in a factored form. In the process, the notion of incidence matrix is introduced to simplify the derivation of the Jacobian and the mass matrix.
Many formalisms exist to establish the force equations or equations of motion (EOM) of a multibody system. These include the use of Euler-Lagrange equations, D'Alembert's work principle, Newton-Euler equations and others. Physics dictates that the final EOM for the targeted mechanism for the same specified generalized coordinates by any method of dynamics formulation must be 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, Hamilton's equations. Regardless of this variation, 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 solved response must exhibit momentum conservation when no external torque is applied to the system.
Click here to see the derivation of the EOM of tree-configured systems using the Newton-Euler equations. Solving the accelerations from the EOM in O(n) manner is presented.
Hamilton's equations is closely related to Lagrangian equations. The Hamiltonian, a scalar similar to the Lagrangian, is the total energy of the system and it permits a transformation of the Lagrangian equations into a system of 2n differential equations in generalized coordinates and generalized momenta, n being the number of dof's in the system. In order to solve the Hamilton's equations, the generalized rates needs be solved from system momenta. O(n) method of that solution is presented. In short, these equations produce identical results as those by acceleration based EOM. Thus they are ideal companion tools to simulate MBS dynamics and to verify MBS simulations resulting from other forms of EOM.
Click here to see details of the Hamilton's equations and the numerical processes involved in using them for MBS dynamics simulations.
Joints are linkages that connect bodies in a mechanism and they define the relative motion between the connected bodies. It is the coordinated motion 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.
A common treatment of joint motion in a mathematical model is to assign 6 dof's to each body in the system and then define joint constraints to be satisfied by solving a large system of DAE's. This approach effectively creates a dynamics model that has the right number of dof's fitting the simulated mechanism. It has advantages and obvious drawbacks. The presentation given here avoids the use of Lagrange multipliers as required by this approach. We choose to derive only as many EOM's as there are degrees of freedom in the system. The advantage of the latter approach is self explanatory.
Notably, use of Lagrange multipliers for constraints compliance is a very important subject in many applications. This topic will be addressed later.
Click here to see a presentation on the adjustments to the kinematic equations given earlier to accomodate multiple types of joint motion in a mechanism.
System Angular Momentum
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 and it is independent of the dynamics formalism. 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 kinematical variables output from the program and mass property of the vehicle. Error in this test reflects inconsistency in the kinematics or in the mass property used by the simulation program. P2 compliance insures that the underlying dynamics formulation of the simulation is done properly.
Click here to see three ways to compute the multibody system angular momentum based on how the position of member body cm's are defined by the simulation. This angular momentum is easy to compute in a post-sim or exo-sim manner. P1 and P2 compliances underscore the validity of any multibody dynamics simulation.
Click here to see selected papers and books published on multibody dynamics formulations over the period 1965-2006.
Copyright © Concurrent Dynamics International