Drake
Multibody Dynamics Concepts
Collaboration diagram for Multibody Dynamics Concepts:

Modules

 Terminology and Notation
 Drake uses consistent terminology and notation for multibody mechanics.
 
 Spatial Algebra
 Multibody dynamics involves both rotational and translational quantities, for motion, forces, and mass properties.
 

Detailed Description

Translating from the mathematics of multibody mechanics to correct code is a difficult process and requires careful discipline to ensure that the resulting code is correct.

In Drake we use terminology, notation, and abstractions that have been designed specifically to reduce the possibility of errors, based on these observations:

In this section we provide general documentation about our terminology, notation, and abstraction choices in a form that can be referenced from code documentation. Much of the information here is most useful for programmers who are writing or reading Drake multibody code. Some comments are specifically targeted to those developers, and formatting compromises have been made so that the information in this section is (mostly) readable from the source code used to generate it (for example, ASCII drawings instead of image files, simple Markdown tables rather than fancy-but-unreadable html ones). However, much of this can be useful to users of the Drake API also so it is included in the external documentation.

Warning
Drake is under development and these concepts have not yet been adopted consistently throughout the code. New code uses these concepts and older code will be retrofitted over time. The documentation here applies to the new MultibodyTree family of classes; there are some differences from the earlier RigidBodyTree family.

Developers: you can link directly to specific discussion topics here from your Doxygen comments; instructions are at the top of the source file used to generate them.

Next topic: Terminology and Notation