Initial transient oscillations inhibited in the dynamic simulations responses of multibody systems can lead to inaccurate results, unrealistic load prediction, or simulation failure. These transients could result from incompatible initial conditions, initial constraints violation, and inadequate kinematic assembly. Performing static equilibrium analysis before the dynamic simulation can eliminate these transients and lead to stable simulation. Most exiting multibody formulations determine the static equilibrium position by minimizing the system potential energy. This paper presents a new general purpose approach for solving the static equilibrium in large-scale articulated multibody. The proposed approach introduces an energy drainage mechanism based on Baumgarte constraint stabilization approach to determine the static equilibrium position. The spatial algebra operator is used to express the kinematic and dynamic equations of the closed-loop multibody system. The proposed multibody system formulation utilizes the joint coordinates and modal elastic coordinates as the system generalized coordinates. The recursive nonlinear equations of motion are formulated using the Cartesian coordinates and the joint coordinates to form an augmented set of differential algebraic equations. Then system connectivity matrix is derived from the system topological relations and used to project the Cartesian quantities into the joint subspace leading to minimum set of differential equations.

Virtual development procedures became the most economical venue in product design and optimization including earth-moving equipment and automotive systems. These systems are typically large and complex and composed of heterogeneous physical subsystems. Simulation of such systems may require multidomain modeling, for example, rigid and flexible bodies, nonlinear contact and friction force modules, terrain interaction, electrical and hydraulic subsystems, control systems, and nonholonomic constraints. Accurate multibody solver will be required in the heart of the analysis of such systems. As per Giampiero and Manfred [

Large earth-moving equipment, agricultural machinery, tracked vehicles, tractors, bulldozers, motor graders, wheeled loaders, and forestry machines are some of the equipment that may work on slopped terrain. Stability assessment of such machinery on the slopes under different loading conditions and different articulation configurations requires accurate modeling of the machine and its interaction with the terrain. The behavior of existing terrain models, in most cases [

Another example would be when the multibody dynamics approach is used to model and simulate the startup and shut down of reciprocating engines and turbines which are supported by journal bearings. Journal bearings are typically nonlinear components and their dynamic characteristics (stiffness, damping, etc.) are history dependent [

In general, analysis and simulation scenarios of dynamic multibody systems could be summarized as follows:

performing transient dynamic simulation of typical machine working cycle or operation;

performing eigenvalue analysis to calculate the natural frequencies and normal modes and assess the system stability;

determining the static equilibrium of an articulated system that may include rigid and flexible bodies connected with joints.

Three traditional approaches have been used to formulate the multibody system equations of motion: the Cartesian body coordinates (absolute coordinates), the joint coordinates, and velocity transformation method. The Cartesian body coordinates formulations are very popular and reported to be a simpler method to construct the equations of motion leading to a large set of differential algebraic equations [

Featherstone [

Traditional approach of solving for the static equilibrium is based on minimizing the potential energy of the system [

Recently, Yang et al. [

The general approach to solve for the static equilibrium position starts by writing the objective function as follows:

This equation represents a standard eigenvalue problem that could be solved using standard solver. The frequency shift could be used to insure that

Avilés et al. [

Similarly, commercial multibody dynamic simulation solvers like SIMPACK use Newton-Raphson based solver for nonlinear equations and find the system equilibrium positions and/or calculate the preload in the springs and bushing elements. This solution approach has been used for trains, automotive, and airplane systems. Another approach to determine the static equilibrium is the quasistatic approach. In multibody systems, this approach may not be very efficient if there is significant difference in the inertia of the bodies in the system or if there are dynamic oscillators in the system.

This paper describes a general purpose formulation and implementation for modeling rigid and flexible body in multibody system based on the joint coordinates formulation. A new approach for solving static equilibrium will be presented in this paper. The presented static solver utilizes a recursive transient solver to evaluate the system equations of motion. An energy dissipative damping is introduced to eliminate the system oscillations around the equilibrium position. The system states are dampened using weighted damping factor that is function of the state velocity and the state error. The attributes associated with this method are the ability to handle large heterogeneous systems and ability to linearize the system in terms of arbitrary user-defined coordinates in a straightforward implementation. The spatial algebra operators are used to formulate the kinematic and dynamic equations of motion.

This paper is organized as follows. In the following section, the structure of the equation of motion of the multibody system using joint coordinate formulation is introduced for rigid body system based on the spatial algebra operator. In Section

Figure

Typical structure of a wheel loader.

The proposed formulation in this investigation utilizes a joint coordinates based multibody approach. The kinematic tree or connectivity graph is developed to describe the system topology based on the connectivity between the different bodies in the system. The ground body (the inertial body) is considered the root (base) of the kinematic tree. Any dynamic body in the system is connected or referenced to one parent body through an arc joint that allows one or more DoF. While each body can have only one parent (ancestor body), it could have one or more child bodies (descendant bodies). In the kinematic tree the root body is numbered as 0 while the descendant bodies are numbered consecutively from 1 to

Kinematic tree of the wheel loader model.

In the proposed formulation the child body is joined to its parent through two markers; as shown in Figure

Body kinematics and joint connections.

The position vector of body

The spatial velocity vector can be transformed from the CS at

The spatial velocity vector of body

It should be mentioned that

Similarly the spatial acceleration vector of body

Equations (

The equation of motion of any two connected bodies

The equations could be rearranged in matrix form as follows:

Similar to the velocity and acceleration equations (

The system of equations in (

The flexible body dynamics can be modeled in the multibody system as a reduced form of the finite element model. The finite element can be reduced using nodal approach or modal approach. Modal formulation uses a set of kinematically admissible modes to represent the deformation of the flexible body [

A general form of the equation of motion of multibody system with flexible bodies could be written in a compact form as follows [

The system of equations given by (

The abovementioned development could be efficiently used to model open-loop systems like robots and human body systems. In the open-loop systems, each body is connected with one joint only. This open-loop systems approach will not be adequate to model the wheel loader system shown in Figure

The coefficient matrix in the left hand side of (

The equations of motion in (

A similar modification would be made to the right hand side of (

The mechanical system can be considered at static equilibrium if the kinetic energy is zero or constant target value and the potential energy is minimum. Many methods have been proposed to solve static equilibrium in nonlinear multibody system models. Most of those proposed techniques require minimizing potential functions and/or linearizing the equations of motion [

In the energy-drainage approach, a technique similar to the Baumgarte equation was implemented into the solver. After solving (

Another feature of energy-drainage damping is its ability to inhibit the effects of bad initial conditions that often cause models to fly apart and the numerical integrator to fail. Extremely high forces from the offending contact models can cause unrealistic accelerations, which are then integrated to give unrealistic velocities and displacements. When energy-drainage damping is active, the resulting large system velocities are immediately fed back through the above damping equation, and this generates large opposing acceleration terms, canceling those from the model. With energy-drainage damping, the contacting bodies will tend to drift slowly apart until the forces and accelerations become reasonable.

At the beginning of the dynamic simulation, the structure of the equation of motion is determined based on a preliminary analysis of the system topology. The dependent and independent variable sets are determined using the generalized coordinate portioning approach. The solver integrates both dependent and independent variable sets and the kinematic constraints are enforced using Baumgarte stabilization, as explained in the previous section. The input states to the integrator represent the first and second time derivative of the joint variables and the output states are the joint displacements and the joint velocities. The recursive algorithm of the multibody dynamic simulation can be summarized as follows.

Using the joint variables which returned from the integrator, the solver calculates the Cartesian displacements, velocities, and accelerations. Forward evaluation scheme is utilized (starting from the root body to the descendant/branch bodies).

Update and factor the Jacobian matrix.

Apply generalized coordinate portioning technique to determine the quality of the independent and dependent set of variables.

Calculate the constraint violations and apply the Baumgarte stabilization.

Calculate the internal and external forces and apply them to the different bodies (interaction forces between bodies, driver forces, soil/terrain forces, etc.).

Transform the inertia matrices into global coordinate system.

Calculate the inertia forces and centrifugal and Coriolis forces in Cartesian space.

Propagate the external and inertia forces from the descendant bodies into their parents.

Project the Cartesian forces into the body joint space.

Factor the mass matrix based on the current independent and dependent variables selection.

Calculate second derivatives of the joint variables.

Apply the energy drainage operator according to (

Send the states to the integrator.

This section presents some examples of the simulation results multibody system ranging from simple pendulum to a full wheeled machine. The first example represents a uniform beam connected to the ground with a revolute joint to form a single pendulum, as shown in Figure

Single pendulum beam.

The proposed multibody formulation and solver were used to model the pendulum and compute the static equilibrium position. The transient simulation is run for a few iterations to allow the system to pick up some kinetic energy. Once the pendulum starts to move the energy draining mechanism is applied. A stopping criterion is set to be a target value of the kinetic energy. When the pendulum reaches this target value, it would have reached the static equilibrium.

Figure

The pendulum angle as it falls under the effect of gravity.

The velocity and kinetic energy of the pendulum.

The change in the pendulum potential energy from the reference is shown in Figure

The potential energy of the pendulum.

It should be mentioned that time in the plots is only a representation of the number of iteration to achieve solution convergence. Also, it should be mentioned that this example represents an extreme case where the pendulum initial position was extremely far from the equilibrium position. This example shows that the solver is stable and can achieve realistic solutions even in extreme cases.

The second example represents a system that might have minor assembly errors or constraint violations. The system represents a chain of 50 links connected with revolute joints. The chain links had same properties of the link in first example. In this example, the first link is attached to the ground and it has initial angle of 5° from the vertical position. Every following link has an initial deviation of 1° relative to its parent. The static equilibrium analysis was performed on the system. The kinetic energy of the system is shown in Figure

Kinetic energy of the 50-link chain.

Potential energy of the 50-link chain.

Angles of the links in the 50-link chain.

To demonstrate the completeness of the proposed approach a full machine with closed kinematic loops will be presented in the following example. Forestry equipment is typically required to work on different terrains ranging from swampy, compactable, and hard soil. It may be required to work on slopes dragging wood logs and tree. During operation and articulations, the location of the center of mass of such machine may change and causes the machine to slip, flip over, or fall. Design of such machines requires accurate prediction of the machine stability under the different loading conditions and at different articulation angles. Also, power requirements analysis of such machine requires the simulation to start from a stable static equilibrium position. A grapple skidder machine, shown in Figure

Grapple skidder forestry machine.

The kinematic tree of the machine could be developed, as shown in Figure

Kinematic tree of log dragging forestry equipment.

The next step for the solver is to analyze the closed loops and merge any two loops that share any joint variable into one larger superelement. This operation could be iterative and may lead to very large superelements. In our example, since the two closed loops are sharing the variables of body 9, they have to be merged into a large superelement that contains all the bodies of the two loops. The Jacobian matrix of this superelement could be calculated as follows:

The first raw block of the Jacobian matrix represents the partial derivatives of the first kinematic loop constraint equations with respect to the joint variables of the bodies in the first loop while the second row block represents the partial derivatives of the second loop constraint equations. The system topology matrix will be generated by the solver and should be as follows:

To perform the static analysis, at this point, the system accelerations are modified using the energy drainage function as shown in (

Figure

Static equilibrium of wheeled machine (grapple skidder) on a washboard surface.

This paper presented an approach for evaluating the static equilibrium position of multibody systems. The multibody system can include rigid and flexible bodies. The proposed approach is implemented in a joint-based multibody dynamics formulation that uses the spatial algebra to derive the equation of motion of the multibody system. The kinematic equation of the closed-loop systems was optimized to employ Baumgarte constraint stabilization approach to eliminate the constraint violation while at the same time avoiding using iterative constraint enforcement schemes. In order to determine the system static equilibrium position, an energy drainage mechanism was introduced to modify the system states before integrating it. The static equilibrium is achieved by running a transient simulation of the dynamics system while the integrated states were dampened with the energy drainage operator.

The author declares that there is no conflict of interests regarding the publication of this paper.