Representations of Body Motion


This content is specific to Simscape™ Multibody™ First Generation software. First-generation features are slated to be deprecated and should be avoided.

Machine Geometry and Motion

Machines are composed of bodies, which have relative degrees of freedom (DoFs). Bodies have positions, orientations, mass properties, and sets of Body coordinate systems. Joints represent the motions of the bodies.

  • A machine's geometry consists of its static body features before starting a simulation: positions, orientations, and Body coordinate systems.

  • A machine's kinematics consist of all degrees of freedom (DoFs) of all bodies: the positions/orientations and their derivatives of at any instant during the machine's motion.

The full description of a machine's motion includes not only its kinematics, but also specification of its observers, who define reference frames(RFs) and coordinate systems (CSs) for measuring the machine motion.

All vectors and tensors, unless otherwise noted, are represented by Cartesian matrices with three and nine, respectively, spatial components measured by rectangular coordinate axes.

Reference Frames and Coordinate Systems

The reference frame of an observer is an observer's state of motion, which has to be measured by other observers. A Simscape Multibody model simulates a machine's motion using its Newtonian dynamics, which takes its simplest form in the set of inertial RFs, the set of all frames unaccelerated with respect to inertial space. Within an RF, you can pick any point as a coordinate system origin, then set up Cartesian (orthogonal) axes there.

The master Simscape Multibody inertial RF is called World. A CS origin and axis triad are also defined in World. World can mean either the RF or the CS, although in most contexts, it means the World coordinate system. World defines absolute rest and a universal coordinate origin and axes independent of any bodies and grounds in a machine.

A common synonym for coordinate system is working frame.

Relating Coordinate Systems in Relative Motion

Now add a second CS, called O, whose origin is translating with respect to the World origin and whose axes are rotating with respect to the World axes. Later in this section, this second CS is identified with a CS fixed in a moving body. (See Representing Body Translations and Rotations.)

A vector C represents the origin of O. Its head is at the O origin and its tail is at the World origin. The O origin moves as an arbitrary function of time C(t).

The orthogonal unit vectors {u(x), u(y), u(z)} define the coordinate axes of O.

  • This set is oriented with respect to the World coordinate axes X, Y, Z, with unit vectors {e(x), e(y), e(z)}. The orientation changes with time.

  • You can express the set {u(x), u(y), u(z)} as a linear combination of the basis {e(x), e(y), e(z)} in terms of nine coefficients. These are relationships between vectors (not vector components) and are independent of the reference frame and coordinate system.

  • You obtain the components of the u's in World by projecting the u's on to the e's by scalar products. The time-dependent R coefficients represent the orientation of the u's with respect to the e's. You can use the labels (1,2,3) as equivalents for (x,y,z).

  • The components of any vector v measured in World are e(i)·v. Represent them by a column vector, vWorld. The components of v in O are u(i)·v. Represent them by a column vector, vO. The two sets of components are related by the matrix transformation vWorld = RWO·vO. The coefficients R form a matrix whose columns are the components of the u's in World:

    The orthogonality and unit length of the u's guarantee that R is an orthogonal rotation matrix satisfying RRT = RTR = I, the identity matrix. RT is the transpose of R (switch rows and columns). Thus R-1 = RT.

  • Rotations always follow the right-hand rule, so that det(R) = +1.

  • You use rotation matrices in general to transform the components of any vector from one CS representation to another, rotated CS representation.

Observing Body Motion in Different Coordinate Systems

To the two observer CSs, World and O, now add a third point p in arbitrary motion. p could represent a point mass, the center of gravity (CG) of an extended body, or a point fixed in a moving rigid body, for example. The two observers describe the motion of this point in different ways, related to one another by time-dependent World-to-O coordinate transformations.

The components of p are given by projecting it on to some CS axes. The components of p as measured in World are a column vector pWorld and, measured in O, are a column vector pO. The two descriptions are related by

Thus the motion as measured by pWorld, when transformed and observed by O as pO, has additional time dependence arising from the motion of C and R.

Relating Velocities Observed in Different Coordinate Systems

Differentiate the relationship between pWorld and pO once with respect to time. The result relates the velocity of p as measured by O to the velocity as measured in World.

The section The Angular Velocity of a Body from Its Rotation Matrix explains how to express the third term in a simpler form.

Representing Body Translations and Rotations

Next consider the special case essential for describing the rigid body motions: the moving point p is fixed in the body itself. Let O be the center of gravity coordinate system (CG CS) of an extended rigid body (the origin of O at the CG itself) and let p be a point fixed somewhere in the same body. This body-fixed point is denoted by b in this special case. Because a moving body in general accelerates both translationally and rotationally, the CG CS is noninertial.

The rotation matrix R now describes the rotational motion of the body in terms of the rotation of the CG CS axes with respect to the World axes. Furthermore, because b is now fixed in the body itself, it does not move in O: dbO/dt = 0. All of its motion as seen by World is due implicitly to the motion of R and C.

The Angular Velocity of a Body from Its Rotation Matrix

Continue to identify O with the body CG CS and b as a point fixed in the body. The vector components of b are observed by World as bWorld and by the CG CS as bBody. In the body, the point is immobile: dbBody/dt = 0. Its velocity observed by World is composed of the translational and rotational motion of the entire rigid body.

Because RRT = I, (dR/dt)*RT + R(*dRT/dt) = 0. Insert RTR = I to the left of bBody and define an antisymmetric matrix Ω = +(dR/dt)*RT = -R*(dRT/dt). Its components are Ωik = +Σj ɛijkωj.

where ω is the body's angular velocity in the World CS.

The motion of bBody decomposes into the motion of the body's CG plus the angular rotation of bBody relative to the CG, all measured in World.

The relationship between time derivatives of a vector measured in World and measured in the body holds generally. For any vector V,

The derivative of the angular velocity ω is the angular acceleration. It is the same, whether measured in World or in the body, because = 0.

The Permutation Symbol and the Vector Cross Product

The permutation symbol ɛijk is defined by

ɛijk= +1 if ijk is an even permutation (123 or any cyclic permutation thereof)

ɛijk= -1 if ijk is an odd permutation (321 or any cyclic permutation thereof)

ɛijk changes sign upon switching any two indices and vanishes if any two indices are equal. The components of the cross (vector) product c = a X b of two vectors a and b are

ci = Σjk ɛijkajbk