Multi Body
Multi Body
Figure 1.1 Examples of simple mechanical systems: (a) a single pendulum, (b) a four-
bar mechanism, and (c) a slider-crank mechanism.
1
Figure 1.2 Examples of robot with (a) stationary base and (b) movable base.
2
1.2 Computer-Aided Design (CAD)
There are two different aspects to the study of a mechanical system: analysis and
design. When a mechanical system is acted on by a given excitation, the system
exhibits a certain response. The process which allows an engineer to study the
response of a system to excitation is called analysis, which requires a complete
knowledge of the physical characteristics such as material composition, shape, and
arrangement of parts. The process of determining which physical characteristics are
necessary for a mechanical system to perform a prescribed task is called design or
synthesis, which requires the application of scientific techniques along with
engineering judgment. Since the scientific aspect of a design process requires analysis
techniques as a tool, it is important to learn about methods of analysis prior to design.
The branch of analysis which studies motion, time, and forces is called mechanics.
It consists of two parts--statics and dynamics. Statics considers the analysis of
stationary systems, in which time is not a factor, while dynamics deals with systems
that are nonstationary, i.e., systems that change their response with respect to time.
Dynamics is divided into two disciplines--kinematics and kinetics. Kinematics is the
study of motion regardless of the forces that produce the motion; i.e., the study of
displacement, velocity, and acceleration, while kinetics is the study of motion and its
relationship with the forces that produce that motion.
The purpose of computer-aided analysis of mechanical systems is to develop
computer formulation and solution of the equations of motion. This requires
systematic techniques for formulating the equations and numerical methods for solving
them. A computer program for the analysis of mechanical systems can be either a
special-purpose program or a general-purpose program. A special-purpose program
is a rigidly structured computer code with only one type of application. The equations
of that particular application are derived a priori and then formulated into the program.
As input to the program, the user can provide information such as the dimensions and
physical characteristics of each part. Such a program can be made computationally
efficient, but the drawback is its lack of flexibility for handling other types of
applications.
A general-purpose program can analyze a variety of mechanical systems. For
example, the planar motion of a four-bar linkage under applied loads and the spatial
motion of a vehicle driven over a rough terrain can be simulated with the same general-
purpose program. The input data to such a program are provided by the user and must
completely describe the mechanical system under consideration. The input must
contain such information as number of bodies, connectivity between the bodies, joint
types, force elements, and geometric and physical characteristics. The program then
generates all of the governing equations of motion and solves them numerically. A
3
general-purpose program, compared with a special-purpose program, is not
computationally as efficient. The efficiency depends mainly upon the choice of
coordinates and the method of numerical solution. The choice of coordinates directly
influences both the number of the equations of motion and their order of nonlinearity.
1.3 Coordinate Systems
The governing equations of motion for a mechanical system can be derived and
expressed in a variety of forms, dependent mainly upon the type of coordinates being
employed. A set of coordinates selected for a system can describe the position of
the elements in the system either with respect to each other or with respect to a common
reference frame. In order to show how different sets of coordinates can lead to
different formulations describing the same system, a four-bar linkage is considered for
kinematic analysis.
The first formulation considers only one coordinate to describe the configuration
of the system, since a four-bar linkage has only one degree of freedom. This is
referred to as the generalized coordinate of the system. As shown in Fig. 1.4, the angle
describing the orientation of the crank with respect to the ground can be selected as
For any given configuration; i.e., known , any other information on the position of
any point in the system can be calculated. For example, the angles , , and
can be found by:
(1.1)
(1.2)
(1.3)
4
where , , and represent the lengths of the links, and represents the distance
between points A and D. These formulas are derived from simple geometric
realizations. It is clear that for a given , Eq.(1.1) yields , then Eq.(1.2) yields ,
and finally Eq.(1.3) yields . The solution of these equations requires direct
substitution, and there is no need to solve a set of simultaneous algebraic equations.
Now, it should be clear that the coordinates of a typical point attached to one of the
links, say point on link can be found easily.
The second way of formulating the kinematic equations for the four-bar linkage
considers three coordinates. The selected coordinates may define the orientation of
each moving body with respect to a nonmoving body or with respect to another moving
body, referred to as relative coordinates. As shown in Fig. 1.5, angles , , and
, are selected as a set of generalized coordinates
(1.4)
5
These angles are measured between the positive -axis and the positive vectors
representing the links. Since the four-bar linkage has only one degree of freedom, the
three coordinates are not independent. Two loop equations relating these coordinates
can be written as:
(1.5)
For any given configuration; i.e., known , the set of two simultaneous algebraic
equations must be solved for , and . After Eq. (1.5) is solved, other information
such as the coordinates of point F can be calculated.
The third formulation uses three Cartesian coordinates per link--the coordinates of
the center point of each link and the angle of the link measured with respect to -axis
as shown in Fig. 1.6. Thus the set of coordinates describing the configuration of the
four-bar linkage is
(1.6)
These coordinates are dependent upon each other through eight equations:
(1.7)
For any known configuration, any of the nine variables can be specified, and then the
remaining eight variables can be found by solving the set of eight nonlinear algebraic
equations in eight unknowns.
6
Figure 1.6 Cartesian coordinates describing the configuration of a four-bar linkage.
as complex as in the first case. However, with these three differential equations, the
two algebraic constraint equations of Eq.(1.5) must be considered. Therefore, the
governing equations of motion for this system in terms of relative coordinates are a
mixed set of algebraic-differential equations. Similarly, in terms of the Cartesian
coordinates, nine second-order differential equations can be derived. Those, in
conjunction with the eight algebraic constraint equations of Eq.(1.7), would define the
governing equations of motion for the four-bar linkage. These algebraic-differential
equations are loosely coupled and have a relatively low order of nonlinearity when
compared with the previous sets.
A general comparison between these three sets of coordinates, with regard to
several crucial and important aspects, is summarized in Table 1.1. A general
conclusion that can be made from this table is that the smaller the number of coordinates
and equations, the higher the order of nonlinearity and complexity of the governing
equations of motion, and vice versa.
7
Table 1.1 Selection of Coordinate in Multibody Dynamics Modeling.
8
Chapter 2 Computation Kinematics
Kinematic analysis is necessary to generate, transmit, or control motion by the use
of cams, gears, and linkages. An analysis of the displacement, velocity and
acceleration is necessary to determine the design geometry of the mechanical parts.
As a result of the generated motion, forces must be accounted for in the design of parts
to determine the motion of a system of rigid bodies that results from applied forces.
Kinematics analysis requires solution of nonlinear algebraic equations. For small
problems with only a few variables and a few equations, it might be possible to write
and solve these equations by hand. However, for large problems with many variables,
numerical methods are necessary choice for fast and accurate solution.
2.1 Introduction
A rigid body is defined as a system of particles for which distances between
particles remain unchanged. If a particle on such a body is located by a position vector
fixed to the body, the vector never changes its position relative to the body, even when
the body is in motion. In reality, all solid materials change shape to some extent when
forces are applied to them. Nevertheless, if movement associated with the changes in
shape is small compared with the overall movement of the body, then the concept of
rigidity is acceptable. For example, displacements due to elastic vibration of the
connecting rod of an engine may be of no consequence in the description of engine
dynamics as a whole, so the rigid-body assumption is clearly in order. On the other
hand, if the problem is the stress/slash strength of the connecting rod due to vibration,
then its deformation becomes of prime importance. A mechanism is a set of rigid
elements that are arranged to produce a specified motion. This definition of a
mechanism includes classical linkages, as well as interconnected bodies that make up a
vehicle, a vending machine, aircraft landing gear, an engine, and many other
mechanical systems.
Kinematic synthesis is the process of finding the geometry of a mechanism that
yields a desired set of motion characteristics. Kinematic analysis is a tool to support
the kinematic synthesis process. The individual bodies that collectively form a
mechanism are said to be links. The combination of two links in contact constitutes a
kinematic pair, or joint. An assemblage of interconnected links is called a kinematic
chain. A mechanism is formed when at least one of the links of the kinematic chain is
held fixed and any of its other links can move. The fixed link is called the ground or
frame. If some links undergo motion in three-dimensional space, the mechanism is
called a spatial mechanism.
A mechanism that is formed from a collection of links or bodies kinematically
connected to one another. An open-loop mechanism may contain links with single
joints. An example of this kind of mechanism is the double pendulum shown in Fig.
9
2.1(a). A closed-loop mechanism is formed from a closed chain, where each link is
connected to at least two other links of the mechanism. Figure 2.1(b) shows a four-
bar linkage in a closed-loop mechanism. Kinematic analysis considers systems
containing only closed loops.
Fig. 2.1 (a) Open-loop mechanism Double pendulum and (b) closed-loop mechanism
four-bar linkage.
A closed-loop mechanism may contain one or more loops (or closed paths) in its
kinematic structure. If the number of loops in a closed-loop mechanism is 1, then the
mechanism is called a single-loop mechanism. If the closed-loop mechanism contains
more than one loop, then the mechanism is called a multi-loop mechanism. Figure 2.2(a)
is an example of a single-loop mechanism, and Fig. 2.2(b) shows a multi-loop
mechanism.
10
examples of higher-pair joints. Relative motion between two bodies of a kinematic
pair may be planar or spatial. For example, pairs (a), (b), (c), and (d) in Fig. 2.3 display
relative motion between bodies in a manner that can be considered either for planar or
spatial kinematic analysis. In contrast, pairs (e) and (f) can be studied only in a spatial
kinematics.
Figure 2.3 Example of kinematic pairs: (a) revolute joint, (b) translational joint, (c) gear
set, (d) cam follower, (e) screw joint, and (f) spherical ball joint.
11
In order to specify the configuration of a planar system, a body-fixed
coordinate system is embedded in each body of the system as shown in Fig. 2.4(a).
of the origin of the body-fixed reference system and the angle of rotation of
this system relative to the global axes. The column vector is the
Figure 2.4 Global and body-fixed coordinate systems: (a) planar motion and (b) spatial
motion.
For spatial systems, six coordinates are required to define the configuration of each
body; e.g., body shown in Fig. 2.4(b). The three components of the vector , the
joints, all of the coordinates are not independent there are equations of constraint
relating the coordinates.
The minimum number of coordinates required to fully describe the configuration
12
of a system is called the number of degrees of freedom (DOF) of the system. Consider
the triple pendulum shown in Fig. 2.5(a). Here, no fewer than three angles, , , and
, can uniquely determine the configuration of the system. Therefore, the triple
pendulum has 3 degrees of freedom. Similarly, for the four-bar mechanism shown in
Fig. 2.5(b), three variables , , and , define the configuration of the system.
However, the angles are not independent. There exist two algebraic constraint equations,
(2.1)
which define loop closure of the mechanism. The two equations can be solved for ,
and as a function of . Therefore, is the only variable needed to define the
configuration of the system, and so there is only 1 degree of freedom for the four-bar
mechanism.
13
number of degrees of freedom of a kinematic pair is less than the total number of
degrees of freedom of two free rigid bodies. Therefore, a constraint is any condition
that reduces the number of degrees of freedom in a system. A constraint equation
describing a condition on the vector of coordinates of a system can be expressed as
follows:
(2.2)
(2.3)
For example, Eq. (2.1) describes two constraint equations for the four-bar mechanism,
terms of the coordinates and time are said to be holonomic constraints. In general, if
constraint equations contain inequalities or relations between velocity components that
are not integrable in closed form, they are said to be nonholonomic constraints. The
term constraint will refer to a holonomic constraint, unless specified otherwise.
A brief study of a mechanism is essential prior to actual kinematic or dynamic
analysis. Knowledge of the number of degrees of freedom of the mechanism can be
useful when constraint equations are being formulated. The pictorial description of a
mechanism can often be misleading. Several joints may restrict the same degree of
freedom and may therefore be equivalent or redundant. As an example, consider the
double parallel-crank mechanism shown in Fig. 2.6(a). This system has 1 degree of
freedom. If this system is modeled for kinematic analysis as four moving bodies and
six revolute joints, the set of constraint equations will contain redundant equations.
The reason for redundancy becomes clear when one of the coupler links is removed to
obtain the mechanism shown in Fig. 2.6(b). The two mechanisms are kinematically
equivalent.
Figure 2.6 (a) A double parallel-crank mechanism and (b) its kinematically equivalent.
14
number of degrees of freedom is determined as follows:
(2.4)
In planar motion, a moving body can have three coordinates, and a revolnte joint
introduces two constraint equations. For the mechanism of Fig. 2.6(b), there are three
moving bodies ( ) and four revolute joints ( ). Therefore,
DOF.
15
Chapter 3 Planar Kinematics
If all links of a mechanical system undergo motion in one plane or in parallel
planes, the system is said to be experiencing planar motion. Kinematic analysis of
mechanical systems using Cartesian coordinates is no different in principle from the
method of analysis with Lagrangian coordinates. The use of Cartesian coordinates,
however, results in a larger number of coordinates and constraint equations. The
number of degrees of freedom of a system, however, is the same regardless of the type
of coordinates used. Since the number of independent coordinates is equal to the
number of degrees of freedom of a system, then the number of dependent Cartesian
coordinates is generally greater than the number of dependent Lagrangian coordinates.
3.1 Cartesian Coordinates
In order to specify the configuration or state of a planar mechanical system, it is
first necessary to define coordinates that specify the location of each body. Let the
coordinate system be a global reference frame as shown in Fig. 3.1. Define a body-
fixed coordinate system and body can be located in the plane by specifying
and the angle of rotation of this system relative to the global coordinate system.
This angle is considered positive if the rotation from positive axis to positive
axis is counterclockwise.
Figure 3.1 Locating point P relative to the body-fixed and global coordinates system.
A point on body can be located from the origin of the axes by the
vector . The coordinates of point with respect to the coordinate system
are and . The local (body-fixed) components of vector are shown as
. Since is a fixed point on body , and are constants, and
16
therefore is a constant vector. The global components of vector are
shown as . The elements of vary when body rotates. Point , may also
be located by its global coordinates . It is clear that the components of
are not necessarily constant, since body may be in motion.
The relation between the local and global coordinates of point is
(3.1)
where
(3.2)
or
(3.3)
Now that
(3.4)
(3.5)
For a mechanical system with bodies, the coordinate vector is the vector.
(3.6)
where without a subscript denotes the vector of coordinates for the entire system.
3.2 Kinematic Constraints
In a mechanical system, the links and bodies may be interconnected by one or
17
more kinematic joints. For example, the quick-return mechanism shown in Fig. 3.2(a)
consists of five moving bodies interconnected by five revolute joints and two
translational sliding joints. Since this mechanism undergoes planar motion, the
motion of each moving body is described by three coordinates two translational and
one rotational. The kinematic joints in this system can be described as algebraic
constraint equations.
In general formulation of lower-pair joints does not require any information on the
shape (outline) of the connected bodies. For example, the quick-return mechanism of
Fig. 3.2(a) can also be represented as shown in Fig. 3.2(b), where the body outlines are
drawn arbitrarily. To derive constraint equations describing each joint, one need know
only the position of the joint with respect to the bodies to which it is connected. In
some higher-pair joints, either the entire shape or a partial shape of the body outline
must be known. For example, in analyzing the motion of a cam-follower pair, the full
or partial outlines of the cam and the follower must be described. In some other
higher-pair joints, instead of the shape of the outline, the shape or curvature of a slot on
one of the bodies must be known.
Figure 3.2 Quick-return mechanism: (a) schematic presentation and (b) its equivalent
representation without showing the actual outlines.
18
shown in Fig. 3.3. The center of the joint is denoted by point P . This point can be
considered to be two coincident points; point on body and point on body
. Location of point on body and body can be described by the two
vectors and , where and are constants. The
constraint equations for the revolute joint are obtained from the vector loop equation
which is equivalent to
(3.7)
(3.8)
(3.9)
The two constraints of Eq. (3.7) reduce the number of degrees of freedom of the system
by 2. Therefore, if the two bodies of Fig. 3.3 are not connected to any other bodies,
then they have 4 degrees of freedom.
19
between the bodies. For a translational joint, there are an infinite number of parallel
lines of translation. A constraint equation for eliminating the relative rotation between
two bodies and is written as
(3.10)
where and are the initial rotational angles. In order to eliminate the relative
motion between the two bodies in a direction perpendicular to the line of translation,
the two vectors and shown in Fig. 3.5 must remain parallel.
These vectors are defined by locating three points on the line of translation two
points on body and one point on body . This condition is enforced by letting the
vector product of these two vectors be zero. A simple method would be to define
another vector perpendicular to the line of translation and to require that
remain perpendicular to ; i.e.,
20
or
(3.11)
where
if , then
Therefore Eqs. (3.10) and (3.11) yield the two constraint equations for a translational
joint as
(3.12)
Not that a translational joint reduces the number of degrees of freedom of a system by
2.
(3) Driving Link
In kinematically driven systems, the motion of one or more links (bodies) is
usually defined. If kinematic analysis is to be performed then the motion of the
driving link must be specified in the form of a driving constraint equatio
Figure 3.6 (a) The motion of the slider is controlled in the -direction and (b) the
motion of point is controlled in the -direction.
21
For example, if the motion of the slider shown in Fig. 3.6(a) is controlled as a
function of time, then Eq.(3.13) can be used as the driving constraint. For the
mechanism of Fig. 3.6(b), the motion of point in the -direction is controlled as a
function of time, one moving constraint of the form
(3.13)
The method of appended driving constraints can now be stated in its most general
form. If there are kinematic constraints, then driving constraints must be
appended to the kinematic constraints to obtain equations:
(3.14)
where superscript (d) denotes the driving constraints. Equation (3.14) represents
equations in unknowns which can be solved at any specified time .
The velocity equations are obtained by taking the time derivative of Eq. (3.14):
(3.15)
or
(3.16)
(3.17)
or
(3.18)
in Eq. (3.18) is referred to as the right side of the kinematic acceleration equations and
is represented as
(3.19)
22
3.3 Kinematic Analysis
The kinematic constraint equations derived in the preceding sections for
planar kinematic pairs are, in general, nonlinear in terms of the coordinates . If the
number of coordinates describing the configuration of a mechanical system is and
the number of degrees of freedom of the system is , then kinematic
constraints can be defined as
(3.20)
In addition, driving constraint equations must be defined as
(3.21)
Equations (3.14) and (3.15) represent a set of nonlinear algebraic equations which
can be solved for unknowns at any given time.
Consider a four-bar linkage in Cartesian coordinates. There are four bodies in
the system three moving links and one stationary link the dimension of is
. In the accompanying illustration, the body-fixed coordinates are attached
to each link. Body 1 is assumed to be the frame, and bodies 2, 3, and 4 are the crank,
the coupler, and the follower, respectively. Each revolute joint is represented by two
algebraic equations, and therefore there are algebraic equations representing
all four revolute joints. In addition, since body 1 does not move with respect to the
coordinate system, three simple constraints are needed. Therefore, the total number
of kinematic constraints is . For the rotation of the crank, one driving
constraint makes the total number of equations equal to 12.
The first and second time derivatives of Eq. (3.14) yield velocity and acceleration
equations. For position analysis using the Newton-Raphson algorithm, velocity
analysis, and acceleration analysis, the Jacobian matrix of the kinematic constraints
is needed. Also for acceleration analysis, the right side of the kinematic
acceleration equations, vector as given in Eq. (3.20), is needed. For each of the
kinematic pairs discussed in the preceding sections closed-form expressions can be
23
derived for the entries of the Jacobian matrix and the right-side vector of the
acceleration equations. From these expressions plus the constraint equations, all of
the necessary terms for kinematic analysis can be assembled systematically.
Derivation of the velocity and acceleration equations requires the time derivatives
of the constraint equations. In turn, these require the derivatives of the coordinates of
the points describing the kinematic joint. The coordinates of a point attached
to body can be found from Eq. (3.1), where it is assumed that the position of the
point on the body and the coordinates of the body are known. The velocity of the
point in the coordinate system can be found by taking the time derivative of Eq.
(3.1),
(3.22)
where
(3.23)
Similarly, the time derivative of Eq. (3.23) yield the acceleration of point :
(3.24)
Knowing the velocity of body , i.e., one can use Eq. (3.22) to find the
velocity of ; and similarly, knowing the velocity and the acceleration of body ; i.e.,
two rows to the overall system Jacobin. Since is a function of only and
24
, may have nonzero elements only in the columns associated with and
. The entries of the Jacobian matrix can also be found by taking the time derivative
of the constraint equations. The time derivative of the constraint equations for a revolute
joint is
or
To obtain the right side of the acceleration equation for a revolute joint, either Eq.
(3.19) can be used, or the velocity equations can be differentiated with respect to time
to obtain the acceleration equation:
or
where
25
The entries of the Jacobian matrix and the vector of the right side of the
acceleration equations for a revolute joint can be generated systematically. Tables 3.1
and 3.2 summarize the elements of the Jacobian matrix and the vector , respectively,
for some of the constraint equations of the basic joints. Similar elements can be
derived for other kinematic pairs.
Table 3.1 Elements of the Jacobin matrix for some of the basic constraint equation.
1 0 -1 0
0 1 0 -1
0 0 1 0 0 -1
26
Table 3.2 Vector for some of the basic constraint equation.
0
3.4 Kinematic Modeling of a Slider-Crank System
The slider-crank is one of the most widely used mechanisms in practice. This
mechanism finds its greatest application in the internal-combustion engine. The
mechanisms is made of four links or bodies as illustrated in Fig. 3.7(a). The bodies
are numbered from 1 to 4 as shown in Fig. 3.7(b). Body 1 is the fixed link (ground,
chassis, or engine block), body 2 is the crank, body 3 is the connecting rod, and body 4
is the slider. Bodies 1 and 2, 2 and 3, and 3 and 4 are connected by revolute joints A,
B, and O, respectively. Bodies 1 and 4 are connected by a translational joint T. The
since there are coordinates in the system, 3 revolute joints eliminate 6 DOF,
1 translational joint eliminates 2 DOF, and ground constraints on body 1 eliminate 3
DOF.
The body-fixed coordinates are attached to each body, including the ground,
as shown in Fig. 3.7(c). Positioning of these coordinate systems is quite arbitrary for
kinematic analysis. However, it is good practice to locate the origin of the coordinate
system at the center of gravity of the body. Furthermore, aligning at least one of the
coordinate axes with the link axis or parallel to some line of certain geometric or
kinematic importance may simplify the task of collecting data for the kinematic pairs
in the system.
For the three revolute joints, the following data are obtained from Fig. 3.7(c):
27
Figure 3.7 Kinematic modeling of a slider-crank mechanism.
(a)
For the translational joint, two points on body 4 and one point on body 1 are chosen.
The location of these points is arbitrary, as long as they are on the same line of
translation. These points are A, C, and O. The distance AC is taken here as 100 mm.
The data that define the translational joint constraints are as follows:
(b)
Additional constraints are needed to ensure that body 1 is the non-moving body. A
global coordinate system is added to the configuration as shown in Fig. 3.7(d). For
28
(c)
must be satisfied. The driving constraint on is written as
(d)
where 5.76 rad is equal to . Since the crank rotates clockwise, a negative
sign is selected for .
Since there are 12 coordinates in this problem, the computer program must
generate 12 kinematic constraint equations. These equations can be obtained by
substituting the data of Eqs. (a) to (d) in the constraint equations derived in the previous
sections. Equation yields three constraints:
(f)
Substitution of Eq. (a) into the revolute-joint constraints yields six constraint equations
for the three revolute joints:
The nonzero entries of the Jacobian matrix for these 12 constraints are found from
Table 3.2. The positions of these entries are shown in Fig. 3.8 entries in the 12 x 12
matrix. The nonzero entries are:
29
Not that some of the entries at any given instant of time, depending on the value of the
coordinates, may become zero. This example illustrates that about 83 percent of the
entries of this Jacobian matrix are exactly zero. Therefore, the matrix is said to be
sparse.
30
Chapter 4 Planar Dynamics
4.1 Rigid Body Dynamics
A body can be regarded as a collection of a very large number of particles and the
location of the particles in a body relative to one another remains unchanged. In
the discussion of the dynamics of a system of particles, the translational equation of
motion was derived as
(4.1)
The definition of the center of mass or centroid of a body is found from Eq. (4.2). The
summation over the particles is replaced by an integral over the body volume, and the
mass of the individual particle is replaced by the infinitesimal mass :
(4.2)
where is the mass center and locates an infinitesimal mass. Vector is the
sum of two vectors:
(4.3)
31
(4.4)
where the polar moment of inertia is denoted by . Equation (4.4) may also be
expressed as
(4.5)
where
where
(4.7)
(4.8)
Equation (4.8) and the constraint equations together represent the equations of
motion for a system of constrained bodies.
In kinematic analysis, the number of degrees of freedom of a system must be equal
to the number of driver constraint equations. This means that kinematic
constraint equations and driver equations provide equations in unknowns
and so will yield a unique solution. However, in dynamic analysis, in general, there
are no driveling equations to be specified. Since , there are more unknowns in
32
the constraint equations than there are equations, and so there is no unique solution to
these equations. In dynamic analysis, a unique solution is obtained when the constraint
equations are considered simultaneously with the differential equations of motion and
a proper set of initial conditions is specified. These algebraic-differential equations
are solved by numerical methods.
4.2 Constraint Force
The joint reaction forces can be expressed in terms of the Jacobian matrix of the
constraint equations and a vector of Lagrange multipliers as
(4.9)
Consider two bodies and connected by a revolute joint, as shown in Fig. 4.2 (a).
The equations of motion for bodies and are
(a)
and
(a)
Using the entries of the Jacobian matrix for a revolute joint from Table 3.2, we can
write Eq. (a) in the expanded form
(c)
Since there are two algebraic equations in the constraint equations for a revolute joint,
Equation c can be written as the set of equations
(4.10)
(4.11)
(4.12)
33
Figure 4.2 (a) Two bodies connected by a revolute joint and (b) free-body diagrams for
the bodies.
A free-body diagram for body is shown in Fig. 4.2(b). Equation (4.10) indicates
that besides , another force acts in the direction on body . Similarly, a
force acts in the y direction on the same body. However, in order for Eq. 9.36 to
be satisfied, forces and must act at point . The moment arm of is
, and hence a moment acts in the negative rotational direction.
The moment arm of is , and so a moment acts in the positive
rotational direction.
Equations of motion for body , in the same form as Eq. (c) are written as follows:
(d)
or
(4.13)
(4.14)
(4.15)
It is shown in Fig. 4.2(b) that and are two forces acting at point , in the
negative x and y directions, respectively. The moment arm for is which
yields a positive moment , and the moment arm for , is which
yields a moment or . The multipliers and can be
positive or negative quantities. In any case, the reaction forces acting at the revolute
joint on the connecting bodies are always equal in magnitude and opposite in direction.
Consider a system of two bodies connected by a revolute joint as shown in Fig.
4.2(a). The external forces acting on the system are gravity, a constant force of
10 N acting on body in the negative direction, and a constant force of 10 N
acting on body in the positive direction. The constant quantities for this
34
system are and
From Eqs. (4.10) through (4.12), the equations of motion for body are
(4.16)
Similarly, Eqs. (4.13) through (4.15) provide equations of motion for body :
(4.17)
Equations (4.16-7) are six equations in eight unknowns, and therefore two more
equations are needed. These two additional equations are the kinematic acceleration
equations. The second-time derivative of the constraint equations (refer to Table 3.2)
can be used to obtain the acceleration equations for the revolute joint as follows:
(4.18)
and
Hence, and
(4.19)
35
(4.20)
(4.21)
The free-body diagram for body is shown in Fig. 4.3(b). In this diagram the force
associated with is the reaction force caused by the first constraint equation. It is a
simple matter to show that this force, , is perpendicular to the line of translation.
The contribution of the second constraint equation is a couple acting on body . Note
that may be a positive or negative quantity.
In order to find a simpler physical description of the reaction force , one should
not locate the points and , arbitrarily on the line of translation. These
points can be selected to coincide with the edges of the slider, as shown in Fig. 4.4(a).
If is allowed to slide with the slider, then the reaction force , always acts at the
Figure 4.3 (a) Two bodies connected by a translational joint and (b) the reaction forces
acting on body associated with a translational joint.
36
Figure 4.4 (a) A typical translational joint and (b) Forces acting on body by the
sliding body .
4.3 Equations of Motion
For an unconstrained mechanical system, the equations of motion are
(4.22)
37
For a constrained mechanical system with m independent constraints
(4.23)
the velocity and acceleration equations are
(4.24)
and
(4.25)
(4.26)
Equation (4.25) can be appended to Eq. (4.26) and the result can be written as
(4.27)
, , and . Therefore at any given instant, if and are known, Eq. (4.27)
provides linear algebraic equations in unknowns that can be solved for
and .
If the position and velocity vectors are appended together as the vector then the
velocity and acceleration vectors are represented in the vector
(4.28)
; i.e.,
(4.29)
(4.30)
For a constrained mechanical system, the equations of motion are, from Eq. 9.55,
(4.31)
38
with initial conditions and . The Jacobian is a function of and
and are functions of and that can be evaluated at the initial time. Hence,
Eq. (4.31) can be solved for the unknowns at the initial time, i.e., and .
arbitrarily. The initial conditions and must satisfy the constraint equations;
i.e.,
(4.32)
and
(4.33)
For the constrained equations of motion, vectors and are as defined, and a
numerical integration algorithm is applied solving the constrained equations of motion.
39
clc;clear all;
% Set up the time interval and the initial positions of the nine coordinates
T_Int=0:0.01:2;
X0=[0 50 pi/2 125.86 132.55 0.2531 215.86 82.55 4.3026];
global T Beta J Gamma
Xinit=X0;
Beta=[0 0 0 0 0 0 0 0 2*pi]';
% Do the loop for each time interval
k=0;
for Iter=1:length(T_Int);
T=T_Int(Iter);
% Determine the displacement at the current time
[Xtemp,fval] = fsolve(@constrEq4bar,Xinit);
% Determine the velocity at the current time
phi1=Xtemp(3); phi2=Xtemp(6); phi3=Xtemp(9);
JacoMatrix=Jaco4bar(phi1,phi2,phi3);
J=JacoMatrix;
%[Vtemp,fvalv] = fsolve(@BetaSolEq4bar,Vtemp);
Vtemp=linsolve(JacoMatrix,Beta);
% Solve equation: JacoMatrix*Vemp=Beta with linear
method
% Determine the acceleration at the current time
dphi1=Vtemp(3); dphi2=Vtemp(6); dphi3=Vtemp(9);
Gamma=Gamma4bar(phi1,phi2,phi3,dphi1,dphi2,dphi3);
%[Atemp,fvala] = fsolve(@GammaSolEq4bar,Atemp);
Atemp=linsolve(JacoMatrix,Gamma);
% Solve equation: JacoMatrix*Aemp=Gamma with linear
method
% Record the results of each iteration
X(:,Iter)=Xtemp; V(:,Iter)=Vtemp; A(:,Iter)=Atemp;
40
for i=1:9;
subplot(9,1,i)
plot (T_Int,X(i,:))
set(gca,'xtick',[], 'FontSize', 5)
end
% Reset the bottom subplot to have xticks
set(gca,'xtickMode', 'auto')
41
By=Ay+260*sin(X(6,:));
Cx=180*ones(1,length(T_Int));
Cy=zeros(1,length(T_Int));
%Animation
figure
for t=1:length(T_Int);
bar1x=[Ox(t) 2*Ax(t)];
bar1y=[Oy(t) 2*Ay(t)];
bar2x=[Ax(t) Bx(t)];
bar2y=[Ay(t) By(t)];
bar3x=[Bx(t) Cx(t)];
bar3y=[By(t) Cy(t)];
plot (bar1x,bar1y,bar2x,bar2y,bar3x,bar3y);
axis([-120,400,-120,200]);
axis normal
M(:,t)=getframe;
end
42
function JacoMatrix=Jaco4bar(phi1,phi2,phi3)
43
function Gamma=Gamma4bar(phi1,phi2,phi3,dphi1,dphi2,dphi3)
Gamma=[ 50*cos(phi1)*dphi1^2;
50*sin(phi1)*dphi1^2;
50*cos(phi1)*dphi1^2+130*cos(phi2)*dphi2^2;
50*sin(phi1)*dphi1^2+130*sin(phi2)*dphi2^2;
130*cos(phi2)*dphi2^2+90*cos(phi3)*dphi3^2;
130*sin(phi2)*dphi2^2+90*sin(phi3)*dphi3^2;
90*cos(phi3)*dphi3^2;
90*sin(phi3)*dphi3^2;
0];
44
function F=constrEq4bar(X)
global T
F=[ -x1+50*cos(phi1);
-y1+50*sin(phi1);
x1+50*cos(phi1)-x2+130*cos(phi2);
y1+50*sin(phi1)-y2+130*sin(phi2);
x2+130*cos(phi2)-x3+90*cos(phi3);
y2+130*sin(phi2)-y3+90*sin(phi3);
x3+90*cos(phi3)-180;
y3+90*sin(phi3);
phi1-2*pi*T-pi/2];
45
Chapter 5 Euler Angles and Bryant Angles for Spatial Motion
Among the most common parameters used to describe the angular orientation of a
body in space are Euler angles. The angular orientation of a given body-fixed
coordinate system can be envisioned to be the result of three successive rotations.
The three angles of rotation corresponding to the three successive rotations are defined
as Euler angles. The sequence of rotations used to define the final orientation of the
coordinate system is to some extent arbitrary. A total of twelve conventions is possible
in a right-hand coordinate system. For the Euler angles described here, a particular
sequence of rotations known as the convention is considered. Another convention,
known as the convention, is also discussed here; the parameters associated with
this convention are often referred to as Bryant angles.
5.1 Euler Angles
Euler angles provide a set of three coordinates without any constraint equations.
The sequence of rotations employed in the convention starts by rotating the initial
system of axes counterclockwise about the axis by an angle , as shown in
Fig. 5.1. The resulting coordinate system is labeled . In the second step the
intermediate axes are rotated about counterclockwise by an angle to
produce another intermediate set, the axes. Finally, the axes are
rotated counterclockwise about by an angle to produce the desired
system of axes. The angles , , and , which are the Euler angles, completely
specify the orientation of the system relative to the system and can
therefore act as a set of three independent coordinates.
46
47
48
Euler Angles
(5.1)
where .
49
Figure 5.2 Euler angles for the case .
It may be necessary to calculate Euler angles that correspond to a known transformation
matrix. For this purpose, the following formulas are deduced from Eq. 5.1:
(5.2)
These formulas show that numerical difficulties are to be expected for values of that
are close to the critical values
5.2 Time Derivatives of Euler Angles
The general rotation associated with can be considered equivalent to three
This vector sum can be obtained as the sum of three separate angular velocity vectors.
axis and, is along the line of nodes, while is along the body axis.
50
axes in terms of Euler angles and rates. Since is parallel to the axis, its
components along the body axes are given by applying the orthonormal transformation
.
The line of nodes, which is the direction of , coincides with the axis, and so the
components of with respect to the body axes are furnished by applying only the
final orthonormal transformation :
No transformation is necessary for the component of , which lies along the axis.
When these components of the separate angular velocities are added, the components
of with respect to the body axes are
51
(5.3)
Since Euler angle rates are not orthogonal, the inverse of the matrix of Eq. (5.3) yields
(5.4)
(5.5)
52
Figure 5.4 Rotations defining Bryant angles.
Eq. (5.5), to obtain
(5.6)
It can be observed again that there exists a critical case, namely, when
in which the axes of the first and third rotations coincide, so that the
rotation angles and become indistinguishable.
5.4 Time Derivative of Bryant Angles
The relationship between angular velocity and Bryant angles and rates can he
found in a similar fashion to that for the Euler rates. The transformation matrix for
the velocity components is
(5.7)
(5.8)
It can be seen that Eq. (5.8) fails numerically in the vicinity of the critical values
53