An improved formulation of the dynamics of multiple flexible bodies coupled via joints, and an algorithm that implements the formulation, have been developed at Johnson Space Center (JSC). A robot arm with multiple, somewhat flexible links is a prime example of a dynamic system to which the formulation and algorithm are intended to be applied. Other potential domains of application could include spacecraft, aircraft, industrial, automotive, and marine systems. The goal in developing the formulation and algorithm was to increase the efficiency of computational simulations of the dynamics of all such systems.

Algorithms and computer programs that simulate dynamics ("dynamics simulators" for short) have become necessary for designing and operating increasingly sophisticated systems - especially in the case of spacecraft. As simulated systems become more sophisticated and more complex (thus increasing the amounts of computation needed to simulate their dynamics), increases in computational efficiency are needed to keep computation times as short as possible.

Prior dynamics simulators, of which there are many, can mostly be characterized as belonging to either of two general methods: the recursive Newton-Euler (NE) or the recursive projection (Lagrange-Kane) method. An attempt to base a dynamics simulator on either method results in inherent computational inefficiency for either a flexible- or a rigid-body problem for the following reasons:

  • The recursive projection method also requires, among other things, the computation of a system-level mass matrix. In the case of a flexible-body problem, a system-level mass matrix is necessary for finding eigensolutions and for performing the modal truncations necessary to reduce computation time sufficiently for real-time applications. Therefore, the recursive projection method is better suited for a flexible-body problem. On the other hand, because the recursive projection method requires a system-level mass matrix even though such a matrix is not needed to solve a rigid-body problem, it is less computationally efficient when applied to such a problem.
  • The recursive NE method does not require the computation of a system-level mass matrix and, because it does not, it cannot be used by itself to solve a flexible-body problem. On the other hand, because it does not require a system-level mass matrix, it is more computationally efficient for solving a rigid-body problem. In order to be able to apply the recursive NE method to a flexible-body problem, it is necessary to perform additional computations to construct the system-level mass matrix.
  • Each of the recursive Newton-Euler (NE) and recursive projection (Lagrange-Kane) methods requires (1) both an inbound and an outbound recursion pass and (2) incorporation, into each dynamics simulator, of a tree-branch-indexing scheme to track the inbound and outbound recursions.

Unlike the formulations of recursive NE and recursive projection dynamics simulators, the formulation of the JSC dynamics simulator is based solely on body-to-body relations. As a consequence, there is no concept of branches in the algorithm; instead, there is only the relation of the current body to the previous body, as specified in a list of bodies. As a further consequence, only one recursion pass is necessary.

In the JSC dynamics simulator, the base body of a given system structure can be fixed or free. Each subsequent body, if any, can be attached to its parent body via joints characterized by any combination of 3 rotational or 3 translational degrees of freedom. Each body in the system can be wholly or partly rigid or flexible in any one or all of three dimensions.

The JSC dynamics simulator is designed to partition data and associated computations for multiprocess, multifrequency computation: The algorithm includes a set of subroutines that can be executed independently, at different frequencies, to optimize the computational performance in a given application. All of the subroutines work together to produce a complete dynamical solution, but computation time can be reduced, at the cost of lower fidelity, by lowering the frequencies of execution of some subroutines or not calling the subroutines at all.

In the JSC dynamics simulator, the number of operations to compute the coefficients of a mass matrix has been reduced significantly, relative to the corresponding numbers from all prior dynamics simulators; because of this and because all operations to construct a mass matrix and forcing-function terms are performed recursively, the execution time is reduced tremendously. As applied to a given flexible-body problem, the JSC dynamics simulator requires only about one-third as many computations (additions and multiplications) as do dynamics simulators based on the NE and projection methods applied to the same problem.

The JSC dynamics simulator relies on the proven symmetry of the mass matrix of a dynamic system to facilitate computation of elements in the upper left portion of a system mass matrix-elements that pertain to cross-coupling between rigid- and flexible-body dynamics and that are not easily computable in terms of the lower left portion of the mass matrix. This feature is an essential part of the mathematical justification of the single-pass recursion scheme.

The JSC dynamics-simulator formulation and algorithm have exceeded expectations at JSC, where computation times for simulations of the flexible-body dynamics of the space-shuttle remote manipulator system (RMS) have been reduced significantly below those of a dynamics simulator based on the recursive projection method. Similar reductions in computation time are anticipated for other applications.

This work was done by An Huynh of LinCom Corp. for Johnson Space Center.