A Spatial Operator Algebra for Computational Multibody Dynamics
Explore the source record for details and available documents.
SEARCH · Search NASA
Search indexed NASA NTRS and DOE OSTI research on propulsion, heat transfer, battery materials and energy systems. Follow report and document links to the original sources.
Quote a phrase for an exact phrase match. Source license links do not imply unrestricted reuse.
Explore the source record for details and available documents.
Multibody dynamics play a critical role in simulation testbeds for space missions. There has been a considerable interest in the development of efficient computational algorithms for solving the dynamics of multibody systems. Mass matrix factorization and inversion techniques and the O(N) class of forward dynamics algorithms developed using a spatial operator algebra stand out as important breakthrough on this front. Techniques such as these provide the efficient algorithms and methods for the application and implementation of such multibody dynamics models. However, these methods are limited only to tree-topology multibody systems. Closed-chain topology systems require different techniques that are not as efficient or as broad as those for tree-topology systems. The closed-chain forward dynamics approach consists of treating the closed-chain topology as a tree-topology system subject to additional closure constraints. The resulting forward dynamics solution consists of: (a) ignoring the closure constraints and using the O(N) algorithm to solve for the free unconstrained accelerations for the system; (b) using the tree-topology solution to compute a correction force to enforce the closure constraints; and (c) correcting the unconstrained accelerations with correction accelerations resulting from the correction forces. This constraint-embedding technique shows how to use direct embedding to eliminate local closure-loops in the system and effectively convert the system back to a tree-topology system. At this point, standard tree-topology techniques can be brought to bear on the problem. The approach uses a spatial operator algebra approach to formulating the equations of motion. The operators are block-partitioned around the local body subgroups to convert them into aggregate bodies. Mass matrix operator factorization and inversion techniques are applied to the reformulated tree-topology system. Thus in essence, the new technique allows conversion of a system with closure-constraints into an equivalent tree-topology system, and thus allows one to take advantage of the host of techniques available to the latter class of systems. This technology is highly suitable for the class of multibody systems where the closure-constraints are local, i.e., where they are confined to small groupings of bodies within the system. Important examples of such local closure-constraints are constraints associated with four-bar linkages, geared motors, differential suspensions, etc. One can eliminate these closure-constraints and convert the system into a tree-topology system by embedding the constraints directly into the system dynamics and effectively replacing the body groupings with virtual aggregate bodies. Once eliminated, one can apply the well-known results and algorithms for tree-topology systems to solve the dynamics of such closed-chain system.
Report presents analysis of variety of algorithms developed to solve equations of motion of multiple-rigid-link robot arms. Techniques of spatial-operator algebra used to derive algorithms concisely and study relationships among them.
The development of new and efficient algorithms for multibody dynamics has been an important research area. These algorithms are used for modeling, simulation, and control of systems such as spacecraft, robotic systems, automotive applications, the human body, manufacturing operations, and micro-electromechanical systems (MEMS). At JPL's Dynamics and Real Time Simulation (DARTS) Laboratory we have developed software that serves as a computational workbench for these algorithms. This software utilizes the mathematical perspective of the spatial operator algebra, which allows the development of dynamics algorithms and new insights into multibody dynamics.
Ndarts software provides algorithms for computing quantities associated with the dynamics of articulated, rigid-link, multibody systems. It is designed as a general-purpose dynamics library that can be used for the modeling of robotic platforms, space vehicles, molecular dynamics, and other such applications. The architecture and algorithms in Ndarts are based on the Spatial Operator Algebra (SOA) theory for computational multibody and robot dynamics developed at JPL. It uses minimal, internal coordinate models. The algorithms are low-order, recursive scatter/ gather algorithms. In comparison with the earlier Darts++ software, this version has a more general and cleaner design needed to support a larger class of computational dynamics needs. It includes a frames infrastructure, allows algorithms to operate on subgraphs of the system, and implements lazy and deferred computation for better efficiency. Dynamics modeling modules such as Ndarts are core building blocks of control and simulation software for space, robotic, mechanism, bio-molecular, and material systems modeling.
This report advances a linear operator approach for analyzing the dynamics of systems of joint-connected rigid bodies.It is established that the mass matrix M for such a system can be factored as M=(I+H phi L)D(I+H phi L) sup T. This yields an immediate inversion M sup -1=(I-H psi L) sup T D sup -1 (I-H psi L), where H and phi are given by known link geometric parameters, and L, psi and D are obtained recursively by a spatial discrete-step Kalman filter and by the corresponding Riccati equation associated with this filter. The factors (I+H phi L) and (I-H psi L) are lower triangular matrices which are inverses of each other, and D is a diagonal matrix. This factorization and inversion of the mass matrix leads to recursive algortihms for forward dynamics based on spatially recursive filtering and smoothing. The primary motivation for advancing the operator approach is to provide a better means to formulate, analyze and understand spatial recursions in multibody dynamics. This is achieved because the linear operator notation allows manipulation of the equations of motion using a very high-level analytical framework (a spatial operator algebra) that is easy to understand and use. Detailed lower-level recursive algorithms can readily be obtained for inspection from the expressions involving spatial operators. The report consists of two main sections. In Part 1, the problem of serial chain manipulators is analyzed and solved. Extensions to a closed-chain system formed by multiple manipulators moving a common task object are contained in Part 2. To retain ease of exposition in the report, only these two types of multibody systems are considered. However, the same methods can be easily applied to arbitrary multibody systems formed by a collection of joint-connected regid bodies.
There has been a growing interest in the development of new and efficient algorithms for multibody dynamics in recent years. Serial rigid multibody systems form the basic subcomponents of general multibody systems, and a variety of algorithms to solve the serial chain forward dynamics problem have been proposed. In this paper, the economy of representation and analysis tools provided by the spatial operator algebra are used to clarify the inherent structure of these algorithms, to identify those that are similar, and to study the relationships among the ones that are distinct. For the purposes of this study, the algorithms are categorized into three classes: algorithms that require the explicit computation of the mass matrix, algorithms that are completely recursive in nature, and algorithms of intermediate complexity. In addition, alternative factorizations for the mass matrix and closed form expressions for its inverse are derived. These results provide a unifying perspective, within which these diverse dynamics algorithms arise naturally as a consequence of a progressive exploitation of the structure of the mass matrix.
Due to their structural flexibility, spacecraft and space manipulators are multibody systems with complex dynamics and possess a large number of degrees of freedom. Here the spatial operator algebra methodology is used to develop a new dynamics formulation and spatially recursive algorithms for such flexible multibody systems. A key feature of the formulation is that the operator description of the flexible system dynamics is identical in form to the corresponding operator description of the dynamics of rigid multibody systems. A significant advantage of this unifying approach is that it allows ideas and techniques for rigid multibody systems to be easily applied to flexible multibody systems. The algorithms use standard finite-element and assumed modes models for the individual body deformation. A Newton-Euler Operator Factorization of the mass matrix of the multibody system is first developed. It forms the basis for recursive algorithms such as for the inverse dynamics, the computation of the mass matrix, and the composite body forward dynamics for the system. Subsequently, an alternative Innovations Operator Factorization of the mass matrix, each of whose factors is invertible, is developed. It leads to an operator expression for the inverse of the mass matrix, and forms the basis for the recursive articulated body forward dynamics algorithm for the flexible multibody system. For simplicity, most of the development here focuses on serial chain multibody systems. However, extensions of the algorithms to general topology flexible multibody systems are described. While the computational cost of the algorithms depends on factors such as the topology and the amount of flexibility in the multibody system, in general, it appears that in contrast to the rigid multibody case, the articulated body forward dynamics algorithm is the more efficient algorithm for flexible multibody systems containing even a small number of flexible bodies. The variety of algorithms described here permits a user to choose the algorithm which is optimal for the multibody system at hand. The availability of a number of algorithms is even more important for real-time applications, where implementation on parallel processors or custom computing hardware is often necessary to maximize speed.
The inverse and forward dynamics problems for flexible multibody systems were solved using the techniques of spatially recursive Kalman filtering and smoothing. These algorithms are easily developed using a set of identities associated with mass matrix factorization and inversion. These identities are easily derived using the spatial operator algebra developed by the author. Current work is aimed at computational experiments with the described algorithms and at modelling for control design of limber manipulator systems. It is also aimed at handling and manipulation of flexible objects.
Algorithm for improved control of underactuated multiple-link robotic manipulators developed via spatial-algebra-operator approach. Aspects of this approach described in several previous articles in NASA Tech Briefs-most recently "Robot Control Based on Spatial-Operator Algebra" (NPO-17918). Underactuated manipulator has fewer actuators than it has degrees of freedom. Complexity of underactuated systems managed by unified analysis. It has implications for fault-tolerant control, and many practical manipulators underactuated. Examples include manipulators with flexible joints and/or flexible links; space/underwater robots; manipulators that operate with some actuators that turned off because of failure or because of need to conserve energy; manipulators that grasp objects loosely, and manipulators that grasp objects with internal degrees of freedom (e.g., plungers, rollers).
Method for mathematical modeling and control of robotic manipulators based on spatial-operator algebra providing concise representation and simple, high-level theoretical frame-work for solution of kinematical and dynamical problems involving complicated temporal and spatial relationships. Recursive algorithms derived immediately from abstract spatial-operator expressions by inspection. Transition from abstract formulation through abstract solution to detailed implementation of specific algorithms to compute solution greatly simplified. Complicated dynamical problems like two cooperating robot arms solved more easily.
A recently developed spatial operator algebra approach to modeling and analysis of multibody robotic systems is used to develop O(n) recursive algorithms that compute the operational space mass matrix and the operational space coriolis/centrifugal and gravity terms of an n-link serial manipulator. These algorithms enable an O(n) recursive implementation of operational space control.
PyCraft is a computer program that provides an interactive, workbenchlike computing environment for developing and testing algorithms for multibody dynamics. Examples of multibody dynamic systems amenable to analysis with the help of PyCraft include land vehicles, spacecraft, robots, and molecular models. PyCraft is based on the Spatial-Operator- Algebra (SOA) formulation for multibody dynamics. The SOA operators enable construction of simple and compact representations of complex multibody dynamical equations. Within the Py-Craft computational workbench, users can, essentially, use the high-level SOA operator notation to represent the variety of dynamical quantities and algorithms and to perform computations interactively. PyCraft provides a Python-language interface to underlying C++ code. Working with SOA concepts, a user can create and manipulate Python-level operator classes in order to implement and evaluate new dynamical quantities and algorithms. During use of PyCraft, virtually all SOA-based algorithms are available for computational experiments.
A powerful new spatial operator algebra for modeling, control, and trajectory design of manipulators is discussed along with its implementation in the Ada programming language. Applications of this algebra to robotics include an operator representation of the manipulator Jacobian matrix; the robot dynamical equations formulated in terms of the spatial algebra, showing the complete equivalence between the recursive Newton-Euler formulations to robot dynamics; the operator factorization and inversion of the manipulator mass matrix which immediately results in O(N) recursive forward dynamics algorithms; the joint accelerations of a manipulator due to a tip contact force; the recursive computation of the equivalent mass matrix as seen at the tip of a manipulator; and recursive forward dynamics of a closed chain system. Finally, additional applications and current research involving the use of the spatial operator algebra are discussed in general terms.
A study is made of the kinematics and dynamics of under-actuated manipulators. The presence of passive hinges causes the kinematics and dynamics of these manipulators to be considerably more complex when compared with fully actuated manipulators. Techniques from the spatial operator algebra are used to develop expressions for the generalized Jacobian, the mass matrix, and an efficient inverse dynamics computational algorithm.
This study extends to flexible multibody manipulators the recent results of the author on the use of spatially recursive filtering and smoothing techniques for robot arm dynamics. The configuration analyzed is that of a mechanical system of flexible bodies joined together by articulated joints. The inverse and forward dynamics problems are solved using the techniques of spatially recursive Kalman filtering and smoothing. The algorithms are easily developed using a set of identities associated with mass matrix factorization and inversion. The identities are easily derived using a spatial operator algebra developed by the author.
Linearized dynamics models for manipulators are useful in robot analysis, motion planning, and control applications. Techniques from the spatial operator algebra are used to obtain closed form operator expressions for two types of linearized dynamics models, the linearized inverse and forward dynamics models. Spatially recursive algorithms of O(n) and O(n-squared) complexity for the computation of the perturbation vector and coefficient matrices for the linearized inverse dynamics model are developed first. Subsequently, operator factorization and inversion identities are used to develop corresponding closed-form expressions for the linearized forward dynamics model (LFDM). Once again, these are used to develop algorithms of O(n) and O(n-squared) complexity for the computation of the perturbation vector and the coefficient matrices. The algorithms for the LFDM do not require the explicit computation of the mass matrix nor its numerical inversion and are also of lower complexity than the conventional O(n-cubed) algorithms.
Darts++ is a computer program for solving the equations of motion of a multibody system or of a multibody model of a dynamic system. It is intended especially for use in dynamical simulations performed in designing and analyzing, and developing software for the control of, complex mechanical systems. Darts++ is based on the Spatial-Operator- Algebra formulation for multibody dynamics. This software reads a description of a multibody system from a model data file, then constructs and implements an efficient algorithm that solves the dynamical equations of the system. The efficiency and, hence, the computational speed is sufficient to make Darts++ suitable for use in realtime closed-loop simulations. Darts++ features an object-oriented software architecture that enables reconfiguration of system topology at run time; in contrast, in related prior software, system topology is fixed during initialization. Darts++ provides an interface to scripting languages, including Tcl and Python, that enable the user to configure and interact with simulation objects at run time.