0% found this document useful (0 votes)
95 views53 pages

Multi Body

try

Uploaded by

AmexTesfayeKora
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
95 views53 pages

Multi Body

try

Uploaded by

AmexTesfayeKora
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 53

MULTIBODY KINEMATICS AND DYNAMICS

Chapter 1 Multibody Mechanical Systems


1.1 Introduction
A mechanical system is defined as a collection of bodies (or links) in which some
or all of the bodies can move relative to one another. An example of a simple
mechanical system is the single pendulum as shown in Fig. 1.1(a), which contains two
bodies--the pendulum and the ground. Other examples of more complex mechanical
systems are the four-bar linkage and the slider-crank mechanism as shown in Fig. 1.1(b)
and (c), respectively, which are commonly used in motion transmission such as internal-
combustion engine. While the motion of the systems in Fig. 1.1 is planar (two-
dimensional), other may experience spatial (three-dimensional) motion, such as the
suspension and the steering system of an automobile.

Figure 1.1 Examples of simple mechanical systems: (a) a single pendulum, (b) a four-
bar mechanism, and (c) a slider-crank mechanism.

Another example of a mechanical system is a robot fixed to a stationary base or to


a movable base as shown in Fig. 1.2. The motion of the end effector of a robot is
controlled through force actuators located about each joint connecting the bodies that
make up the robot.

1
Figure 1.2 Examples of robot with (a) stationary base and (b) movable base.

Any mechanical system can be represented schematically as a multi-body system


as shown in Fig. 1.3. The actual shape or outline of a body may not be of immediate
concern in the process of analysis; of primary importance is the connectivity and the
inertial characteristics of the bodies, the type and the location of the joints, and the
physical characteristics of the springs, dampers in the system.

Figure 1.3 Schematic representation of a multi-body system.

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

the generalized coordinate; i.e.,

Figure 1.4 A four-bar mechanism with generalized coordinate .

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)

Figure 1.5 Relative coordinates describing the configuration of a four-bar system.

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.

The three preceding formulations with generalized coordinates, relative


coordinates, and Cartesian coordinates describe the kinematics of a four-bar mechanism.
For dynamic analysis, the differential equations of motion for the four-bar linkage, can
also be derived in terms of any of these sets of coordinates. For the four-bar linkage,
formulation with generalized coordinates yields one second-order differential equation
in terms of , , and . This equation is highly nonlinear and complex in terms of
and . The equations of motion for the four-bar linkage in terms of the relative

coordinates consist of three second-order differential equations in terms of , , and

for = 1, 2, and 3. The order of nonlinearity of these equations is not as high or

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.

Generalized Relative Cartesian


coordinates coordinates coordinates
Number of coordinates Minimum Moderate Large
Number of second-order Minimum Moderate Large
differential equations
Number of algebraic None Moderate Large
constraint equations
Order of nonlinearity High Moderate Low
Derivation of the Hard Moderate Simple
equations of motion hard
Computational Efficient Efficient Not as efficient
efficiency
Development of a Difficult Relatively Easy
general-purpose difficult
computer program

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.

Figure 2.2 (a) Single-loop mechanism and (b) multi-loop mechanism.

Mechanisms and kinematic pairs can be classified in a number of different ways.


One method is purely descriptive; e.g., gear pairs, cams and sliding pairs. However,
kinematic pairs may be classified generally into two groups: joints with surface contact
are referred to as lower pairs and those with point or line contact are referred to as
higher pairs. Figure 2.3 gives a number of examples of kinematic pairs. The pairs (a),
(b), (e), and (f) in Fig. 2.3 are examples of lower-pair joints, and pairs (c) and (d) are

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.

2.2 Coordinate System and Degree-of-freedom


Any set of parameters that uniquely specifies the position (configuration) of all
bodies of a mechanism is called a set of coordinates. For systems in motion, these
parameters vary with time. The term coordinates can refer to any of the commonly
used coordinate systems, but it can also refer to any of an infinite variety of other sets
of parameters that serve to specify the configuration of a system. Vectors of

coordinates are designated by column vectors , where is the

total number of generalized coordinates used in describing the system. Examples of


commonly used coordinates are Lagrangian and Cartesian coordinates. The
distinction between the two coordinates is that the former allows definition of the
position of a body relative to a moving coordinate system, whereas the latter normally
requires that the position of each body in space be defined relative to a fixed global
coordinate system. Thus the Cartesian coordinate system requires that a large number
of coordinates be defined to specify the position of each body of the system.

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).

Body can be located by specifying the global translational coordinates

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

vector of coordinates for body in a plane.

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

global translational coordinates to locate the origin of the body-fixed

reference system relative to the global axes and three rotational


coordinates , , and specify the angular orientation of the body. Therefore,

column vector is the vector of coordinates for body in three-

dimensional space. If a mechanism with bodies is considered, the number of


coordinates required is if the system is planar, and if the system
is spatial. The overall vector of coordinates for the system is denoted by

. Since bodies making up a mechanism are interconnected by

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.

Fig. 2.5(a) Triple pendulum and (b) four-bar mechanism.

In a mechanical system, if is the number of degrees of freedom of the system,


then independent coordinates are required to completely describe the system. These
quantities need not all have the dimensions of length. Depending on the system, it
may be convenient to choose some coordinates with dimensions of length and some
that are dimensionless, such as angles. Any set of coordinates that are independent
and are equal in number to the number of degrees of freedom of the system is called a
set of independent coordinates. Any remaining coordinates, which may be
determined as a function of the independent coordinates, are called dependent
coordinates.
2.3 Constraint Equations
A kinematic pair imposes certain conditions on the relative motion between the
two bodies it comprises. When these conditions are expressed in analytical form, they
are called equations of kinematic constraint. Since in a kinematic pair the motion of
one body fully or partially defines the motion of the other, it becomes clear that the

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)

In some constraint equations, the variable time may appear explicitly:

(2.3)

For example, Eq. (2.1) describes two constraint equations for the four-bar mechanism,

which has a vector of coordinates . Algebraic equality constraints in

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.

For a system having m independent constraint equations and coordinates, the

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

the global coordinates of the origin of the body-fixed coordinate system

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)

is the rotational transformation matrix for body . The transformation matrix is


the simplified form of the following matrix.

Equation (3.1) in expanded form can be written as

or
(3.3)
Now that

(3.4)

is the relationship between the local and global components of vector .

The vector of coordinates for body is denoted by the vector

(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.

The constraint equations are denoted by with a superscript indicating the


constraint type and the number of algebraic equations of that expression. For example,
denotes the revolute joint constraint which contains two equations, and
denotes the translational joint constraint which contains one equation.
(1) Revolute Joints (LP)
Revolute and translational joints are lower-pair kinematic joints. Examples of
revolute joints are joints and in the quick-return mechanism of Fig.
3.2. Schematic representation of a revolute joint connecting to bodies and is

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)

More explicitly, Eq.(3.7) can be written in the form

(3.8)

Equation (3.8) can be written in expanded form, using Eq. 3.3, as

(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.

Figure 3.3 Revolute joint connecting bodies and .

(2) Translational Joint


In the quick-return mechanism of Fig. 3.2, the two sliders ( and ) are good
examples of translational joints. This type of joint may appear in different shapes in
a mechanism. Figure 3.4 illustrates several forms and presentations of translational
joints. In a translational joint, the two bodies translate with respect to each other
parallel to an axis known as the line of translation; therefore, there is no relative rotation

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.

Figure 3.4 Different representations of a translational joint.

Figure 3.5 A translational joint between bodies and .

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)

which represents algebraic equations, linear in terms of .


Similarly, the time derivative of Eq. (3.15) yields the acceleration equations:

(3.17)

or

(3.18)

which represents algebraic equations linear in terms of . The term

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.,

and , we can find the acceleration of , by using Eq. (3.24).


Systematic generation of the Jacobian matrix and the right side of the acceleration
equations for some of the standard kinematic joints can best be illustrated by deriving
these elements for a revolute joint. Consider the revolute-joint constraint equations:

and in expanded form they are

The partial derivative of these equation with respect to , i.e., , provides

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

number of degrees of freedom for this mechanism is ,

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

convenience, the coordinate system is positioned to coincide with the

coordinates. Therefore, the conditions

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:

Two constraint equations for the translational joint of Eq. (b)

Equation (d) is the driving constraint:

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)

Figure 4.1 A body as a collection of infinitesimal masses.

Translational and rotational equations of motion for an unconstrained body are


written as follows:

31
(4.4)

where the polar moment of inertia is denoted by . Equation (4.4) may also be
expressed as
(4.5)
where

For a system unconstrained bodies, Eq. (4.5) is repeated times as

where

The system mass matrix is a constant diagonal matrix, and vector


and are 3 -vectors.
For a system of constrained bodies, the equations of motion can be written as
(4.6)
where is the vector of constraint reaction forces. Since Eq. (4.6), and hence
is describe in the same coordinate system as , then from it is found that

(4.7)

where represent m independent constraint equations. Substitution of Eq. (4.7)


in Eq. (4.6) yields

(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

The constraint equations for this revolute joint are

The Jacobian matrix for these constraints is

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)

The right side of the acceleration equations is . These


equations can be solved to find

and

Hence, and

If a translational joint is considered between bodies and as shown in Fig.


4.3(a), the equations of motion for body can be written as

(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

edge of the slider as shown in Fig. 4.4(b).

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)

The equations of motion for this constrained system are

(4.26)

Equation (4.25) can be appended to Eq. (4.26) and the result can be written as

(4.27)

The Jacobian matrix , is a function of , and vectors and are functions of

, , 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)

At time , vector y (i ) can be integrated numerically to obtain , where

; i.e.,

(4.29)

Initially, at , the initial conditions on and are required to start the


integration process.

(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 .

The initial conditions on and for a constrained system cannot be specified

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;

% Determine the new initial position to solve the equation of the


next
Xinit=Xtemp;
end

% T vs displacement plot for the nine coordinates


figure

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')

% T vs velocity plot for the nine coordinates


figure
for i=1:9;
subplot(9,1,i)
plot (T_Int,V(i,:))
set(gca,'xtick',[], 'FontSize', 5)
end
set(gca,'xtickMode', 'auto')

% T vs acceleration plot for the nine coordinates


figure
for i=1:9;
subplot(9,1,i)
plot (T_Int,A(i,:))
AxeSup=max(A(i,:));
AxeInf=min(A(i,:));
if AxeSup-AxeInf<0.01
axis([-inf,inf,(AxeSup+AxeSup)/2-0.1
(AxeSup+AxeSup)/2+0.1]);
end
set(gca,'xtick',[], 'FontSize', 5)
end
set(gca,'xtickMode', 'auto')

% Determine the positions of the four revolute joints at each iteration


Ox=zeros(1,length(T_Int));
Oy=zeros(1,length(T_Int));
Ax=80*cos(X(3,:));
Ay=80*sin(X(3,:));
Bx=Ax+260*cos(X(6,:));

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)

JacoMatrix=[ -1 0 -50*sin(phi1) 000


0 0 0;
0 -1 50*cos(phi1) 000
0 0 0;
1 0 -50*sin(phi1) -1 0 -130*sin(phi2) 0
0 0;
0 1 50*cos(phi1) 0 -1 130*cos(phi2)
0 0 0;
000 1 0 -130*sin(phi2)
-1 0 -90*sin(phi3);
000 0 1 130*cos(phi2)
0 -1 90*cos(phi3);
000 000
1 0 -90*sin(phi3);
000 000
0 1 90*cos(phi3);
001 000
0 0 0];

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

x1=X(1); y1=X(2); phi1=X(3);


x2=X(4); y2=X(5); phi2=X(6);
x3=X(7); y3=X(8); phi3=X(9);

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

Figure 5.1 The rotations defining the Euler Angles.


The elements of the complete transformation matrix A can be obtained as the triple
product of the matrices that define the separate rotations, i.e., the matrices

where and . Hence, is found to be

(5.1)

It can be verified that matrix is orthonormal, i.e., that .


The advantage of having three independent rotational coordinates, instead of nine
dependent direction cosines, is offset by the disadvantage that the elements of A in
terms of the Euler angles are complicated trigonometric functions. Figure 5.2 shows
that if . . . , the axes of the first and third rotations coincide, so that
and cannot be distinguished. This fact is illustrated by setting in
to obtain

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

successive rotations with angular velocities . Hence,

This vector sum can be obtained as the sum of three separate angular velocity vectors.

This vector sum cannot be obtained easily, since the directions

are not orthogonally placed: is along the global

axis and, is along the line of nodes, while is along the body axis.

However, the orthonormal transformation matrices may be used to


determine the components of these vectors along any desired set of axes.
Figure 5.3 can be used to obtain the components of the velocity vector in the

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
.

Figure 5.3 Euler angle rates.

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

or, in matrix form,

51
(5.3)

In addition, the Euler angle rates can be expressed in terms of

Since Euler angle rates are not orthogonal, the inverse of the matrix of Eq. (5.3) yields

(5.4)

Similar techniques may be applied to express the components of along the


axes, in terms of Euler angles and rates. Equation (5.4) shows, again, that numerical
problems will arise if is close to the critical values

5.3 Bryant Angles


The Bryant angle convention considers rotations about axes other than those for
the Euler angles. The first rotation may be carried out counterclockwise about the
axis through an angle ; the resultant coordinate system will be labeled , as
shown in Fig. 5.4. The second rotation, through an angle counterclockwise about
the axis, produces the coordinate system . Finally, the third rotation,
counterclockwise about the axis through an angle , results in the
coordinate system. The transformation matrices for the individual rotations are

Hence, the matrix of the complete transformation, , is

(5.5)

Again, it may be necessary to calculate Bryant angles that correspond to a known


transformation matrix. This can be done, with the help of formulas derived from

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)

The inverse transformation can be found to be

(5.8)

It can be seen that Eq. (5.8) fails numerically in the vicinity of the critical values

53

You might also like