main-content

## Über dieses Buch

Rigid Body Dynamics Algorithms presents the subject of computational rigid-body dynamics through the medium of spatial 6D vector notation. It explains how to model a rigid-body system

and how to analyze it, and it presents the most comprehensive collection of the best rigid-body dynamics algorithms to be found in a single source. The use of spatial vector notation greatly reduces the volume of algebra which allows systems to be described using fewer equations and fewer quantities. It also allows problems to be solved in fewer steps, and solutions to be expressed more succinctly. In addition algorithms are explained simply and clearly, and are expressed in a compact form. The use of spatial vector notation facilitates the implementation of dynamics algorithms on a computer: shorter, simpler code that is easier to write, understand and debug, with no loss of efficiency.

## Inhaltsverzeichnis

### Chapter 1. Introduction

Abstract
Rigid-body dynamics is an old subject that has been rejuvenated and transformed by the computer. Today, we can find dynamics calculations in computer games, in animation and virtual-reality software, in simulators, in motion control systems, and in a variety of engineering design and analysis tools. In every case, a computer is calculating the forces, accelerations, and so on, associated with the motion of a rigid-body approximation of a physical system.
Roy Featherstone

### Chapter 2. Spatial Vector Algebra

Abstract
Spatial vectors are 6D vectors that combine the linear and angular aspects of rigid-body motions and forces. They provide a compact notation for studying rigid-body dynamics, in which a single spatial vector can do the work of two 3D vectors, and a single spatial equation replaces two (or sometimes more) 3D vector equations. Spatial vector notation allows us to develop equations of motion quickly, and to express them succinctly in symbolic form. It also allows us to derive dynamics algorithms quickly, and to express them in a compact form that is easily converted into efficient computer code.
Roy Featherstone

### Chapter 3. Dynamics of Rigid Body Systems

Abstract
The purpose of a dynamics algorithm is to evaluate numerically an equation of motion; but, before we can evaluate it, we must first know what that equation is. This chapter introduces the equations of motion for a general rigid-body system, and presents a variety of methods for constructing them from simpler equations. These methods form the basis for various algorithms that appear in later chapters. However, the focus of this chapter is mainly on the mathematics of rigid-body dynamics, rather than on particular algorithms.
Roy Featherstone

### Chapter 4. Modelling Rigid Body Systems

Abstract
A rigid-body system is an assembly of component parts. Those components include rigid bodies, joints and various force elements. The joints are responsible for the kinematic constraints in the system, so we interpret the term ‘joint’ broadly to mean any possible kinematic relationship between a pair of rigid bodies. In this chapter, we look at ways of describing a rigid-body system in terms of its component parts. In particular, we seek to describe systems consisting solely of bodies and joints. Such a description can be called a system model, on the grounds that it describes the system itself, rather than some aspect of its behaviour.
Roy Featherstone

### Chapter 5. Inverse Dynamics

Abstract
Inverse dynamics is the problem of finding the forces required to produce a given acceleration in a rigid-body system. Inverse dynamics calculations are used in motion control systems, trajectory design and optimization (e.g. for robots and animated figures), in mechanical design, and as a component in some forward dynamics algorithms. This last application is covered in Chapter 6.
Roy Featherstone

### Chapter 6. Forward Dynamics — Inertia Matrix Methods

Abstract
Forward dynamics is the problem of finding the acceleration of a rigid-body system in response to given applied forces. It is used mainly for simulation; and it is sometimes called ‘direct dynamics’, or simply ‘dynamics’. In this chapter and the next, we examine the forward dynamics of kinematic trees. The dynamics of closed-loop systems is covered in Chapter 8.
Roy Featherstone

### Chapter 7. Forward Dynamics — Propagation Methods

Abstract
The forward dynamics problem presents us with two sets of unknowns: the joint accelerations and the joint constraint forces. It is usually not possible to solve for any of these unknowns locally at any one body; but it is possible to formulate equations that they must satisfy. Propagation methods work by calculating the coefficients of such equations locally, and propagating them to neighbouring bodies, until we eventually reach a point where we can solve the dynamics locally at one particular body. Having the solution at this one body, it becomes possible to solve the dynamics at neighbouring bodies, and so on, until the whole problem is solved. In principle, the process is akin to solving a linear equation by first triangularizing the coefficient matrix, and then solving it by back-substitution. Indeed, some propagation algorithms have been formulated via this analogy (e.g. see Ascher et al., 1997; Rosenthal, 1990; Saha, 1997). Propagation algorithms are more complicated than inertia-matrix algorithms, but they have a computational complexity of O(N B ), which is the theoretical minimum for solving the forward dynamics problem.
Roy Featherstone

### Chapter 8. Closed Loop Systems

Abstract
This chapter covers the forward and inverse dynamics of rigid-body systems containing kinematic loops. The presence of kinematic loops brings a new level of complexity to the dynamics problem: new formulations are required; new problems arise; the systems exhibit new behaviours; and the inverse dynamics problem, in particular, changes its nature in the presence of kinematic loops. There are two main strategies for formulating the equations of motion for a closed-loop system:
Roy Featherstone

### Chapter 9. Hybrid Dynamics and Other Topics

Abstract
This chapter covers the following topics: hybrid dynamics, floating bases, gears and dynamic equivalence. Hybrid dynamics is a generalization of forward and inverse dynamics in which the forces are known at some joints, the accelerations at the rest, and the task is to calculate the unknown forces and accelerations. In effect, one is performing forward dynamics at some joints and inverse dynamics at the rest. A floating-base system is one in which the base is a moving body. Such systems can be modelled as fixed-base systems by installing a 6-DoF joint between the fixed base and the body representing the floating base. However, floating-base systems are an important class of rigid-body systems, and merit special treatment. Sections 9.1 to 9.5 present several algorithms for hybrid dynamics and floating bases. Gears impose constraints between joint variables. They therefore resemble kinematic loops, and Section 9.6 shows how gear constraints can be incorporated into a rigid-body system using a technique that was developed in Chapter 8 for kinematic loops. Two different rigid-body systems are dynamically equivalent if they have the same equation of motion. Section 9.7 explores this concept, and presents a method for modifying the inertia parameters of a rigid-body system without altering its equation of motion.
Roy Featherstone

### Chapter 10. Accuracy and Efficiency

Abstract
In theory, the algorithms presented in this book are all exact. However, the presence of round-off errors in the calculations ensures that the results are rarely so. Other sources of error include the use of numerical integration, and the differences in behaviour between a rigid-body system and the physical system it represents. Section 10.1 examines these various sources of error, paying particular attention to the sources of round-off error in dynamics calculations and ways to avoid them.
Roy Featherstone

### Chapter 11. Contact and Impact

Abstract
When two rigid bodies come into contact, they become subject to a contact constraint which says that the two bodies are not allowed to penetrate. If φ is a measure of the signed distance between them, meaning that φ < 0 if they overlap, then the contact constraint is given by the inequality φ ≥ 0. The forces that impose this constraint are similarly one-sided: they can act to prevent penetration, but not to prevent separation—they can repel, but not attract. If two bodies meet with velocities that are not consistent with the contact constraint between them, then an impulse is generated that causes a step change in their velocities. We call this event an impact.
Roy Featherstone

### Backmatter

Weitere Informationen