The Mambo Toolbox - A Maple package for multibody kinematics and dynamics

Description

The Mambo toolbox contains procedures for establishing a geometry, extracting information about the geometry, and formulating conditions on the geometry.

A Mambo toolbox geometry is spanned by a set of observers, a set of points, and a set of triads. Specifically, an observer is defined by its corresponding reference point and reference triad; a pair of points are defined by the position vector from the first point to the second point and vice versa; and a pair of triads is defined by the rotation matrix between the first triad and the second triad and vice versa.

If the position vector (rotation matrix) between a pair of points (triads) has been explicity defined or can be computed from explicitly defined position vectors (rotation matrices) using vector addition (matrix multiplication), the points (triads) are said to be related.

An observer tree structure is established within the Mambo toolbox by declaring pairs of observers as immediate neighbors within the tree structure. If two observers have been declared immediate neighbors, the observers are said to be directly related. If two observers belong to the same tree structure, but are not immediate neighbors, the observers are said to indirectly related.

Three separate steps are involved in establishing a Mambo toolbox geometry, namely

In following these steps, it is entirely acceptable to declare (and define) points and triads that do not correspond to reference points and reference triads of any observers. Such unassociated points and triads may represent geometrical features of objects that are stationary relative to an observer.


The Mambo toolbox geometry is represented by three pairs of global variables as described below.

The global variable GlobalObserverDeclarations is a Maple table with indices given by declared observer labels. If A is the label of a declared observer, then the entry GlobalObserverDeclarations[A] is a set containing the labels of all directly related observers.

The global variable GlobalPointDeclarations is a Maple table with indices given by declared point labels. If A is the label of a declared point, then the entry GlobalPointDeclarations[A] is a set containing the labels of all directly related points.

The global variable GlobalTriadDeclarations is a Maple table with indices given by declared triad labels. If a is the label of a declared triad, then the entry GlobalTriadDeclarations[a] is a set containing the labels of all directly related triads.

The global variable GlobalObserverDefinitions is a Maple table with indices given by declared observer labels. If A is the label of a declared observer, then the entry GlobalObserverDefinitions[A] is a table with entries given by the corresponding reference point and reference triad.

The global variable GlobalPointDefinitions is a Maple table with indices given by pairs of declared point labels. If A and B are the labels of two declared points, then the entry GlobalPointDefinitions[A,B] is given by the corresponding position vector from A to B.

The global variable GlobalTriadDefinitions is a Maple table with indices given by pairs of declared triad labels. If a and b are the labels of two declared triads, then the entry GlobalTriadDefinitions[a,b] is given by the corresponding rotation matrix from a to b.

Upon loading the Mambo toolbox, an empty Mambo toolbox geometry is established. Subsequent declarations and definitions modify this Mambo toolbox geometry. See Restart and Undo.

Further information about the Mambo toolbox including multiple worked-through examples and a detailed discussion of the underlying mathematical formalism can be found in Multibody Mechanics and Visualization by Harry Dankowicz published by Springer Verlag UK, 2004.

Help files for the individual Mambo Toolbox procedures are also available by selecting the support tab at the top of the screen. If the tab menu is not showing, please click here.

© Harry Dankowicz 2003-2006
Mechanical and Industrial Engineering
University of Illinois at Urbana-Champaign
Urbana, IL 61801
e-mail: danko@uiuc.edu