
Citation 
 Permanent Link:
 http://ufdc.ufl.edu/AA00025814/00001
Material Information
 Title:
 Kinematic and dynamic modeling, analysis and control of robotic systems via generalized coordinate transformation
 Creator:
 Freeman, Robert Arthur, 1954
 Publication Date:
 1985
 Language:
 English
 Physical Description:
 ix, 181 leaves : ill. ; 28 cm.
Subjects
 Subjects / Keywords:
 Acceleration ( jstor )
Coordinate systems ( jstor ) Dynamic modeling ( jstor ) Inertia ( jstor ) Jacobians ( jstor ) Kinematics ( jstor ) Mathematical vectors ( jstor ) Matrices ( jstor ) Robotics ( jstor ) Velocity ( jstor ) Dissertations, Academic  Mechanical Engineering  UF Dynamics  Mathematical models ( lcsh ) Feedback control systems ( lcsh ) Feedforward control systems ( lcsh ) Kinematics  Mathematical models ( lcsh ) Mechanical Engineering thesis Ph. D Mechanics, Analytic  Mathematical models ( lcsh ) Robotics ( lcsh ) City of Gainesville ( local )
 Genre:
 bibliography ( marcgt )
theses ( marcgt ) nonfiction ( marcgt )
Notes
 Thesis:
 Thesis (Ph. D.)University of Florida, 1985.
 Bibliography:
 Includes bibliographical references (leaves 176180).
 Additional Physical Form:
 Also available online.
 General Note:
 Typescript.
 General Note:
 Vita.
 Statement of Responsibility:
 by Robert Arthur Freeman.
Record Information
 Source Institution:
 University of Florida
 Holding Location:
 University of Florida
 Rights Management:
 Copyright [name of dissertation author]. Permission granted to the University of Florida to digitize, archive and distribute this item for nonprofit research and educational purposes. Any reuse of this item in excess of fair use or other copyright exemptions requires permission of the copyright holder.
 Resource Identifier:
 029610019 ( ALEPH )
14972035 ( OCLC )

Downloads 
This item has the following downloads:

Full Text 
KINEMATIC AND DYNAMIC MODELING, ANALYSIS
AND CONTROL OF ROBOTIC SYSTEMS VIA
GENERALIZED COORDINATE TRANSFORMATION
By
ROBERT ARTHUR FREEMAN
A DISSERTATION PRESENTED TO THE GRADUATE SCHOOL
OF THE UNIVERSITY OF FLORIDA IN PARTIAL
FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE
OF DOCTOR OF PHILOSOPHY
UNIVERSITY OF FLORIDA 1985
Copyright 1985
by
ROBERT ARTHUR FREEMAN
TO MY PARENTS
Thanks for everything!
ACKNOWLEDGMENTS
The author feels extremely fortunate and privileged to have had the opportunity to be involved with the Center for Intelligent Machines and Robotics (CIMAR) at the University of Florida, for the education gained from the faculty associated with CIMAR and for their friendship. It is for this opportunity to learn from (with) such a high quality group (both faculty and fellow students) of creative and enthusiastic individuals that the author is perhaps most endebted to his mentor and committee chairman, Dr. Del Tesar. The author is also greatly appreciative of the guidance and support of his chairman though out the author's educational experience. The author would particularly like to express his gratitude and appreciation to Dr. Joe Duffy for his instruction in the area of mechanism geometry and kinematics, Dr. Gary Matthew (and Keilah) for his patience and support in helping work out numerous technical details dealing with this and other works, Dr. Ralph Selfridge for introducing the author to the computer language APL which greatly facilitates the analyses in this work, Dr. Ed Kamen for the author's initiation into the field of modern control, and Professors Ken Hunt and Lou Torfason for their comments and interest concerning this work.
The author would also like to acknowledge all his fellow Cimarians (or Cimarities) for their criticisms, support, encouragements, and, most of all, their friendship. Special iv
thanks are extended to Harvey (and Leslie) Lipkin, Mark Thomas and Fahriborz Behi. Finally, the author is especially grateful to Becky Gee for her dedication and persistence in typing this manuscript.
V
TABLE OF CONTENTS
Page
ACKNOWLEDGMENTS . . . . . . . . . iv
ABSTRACT . . . . . . . . . . . viii
CHAPTERS
I INTRODUCTION . . . . . . . . . 1
II DEVELOPMENT OF THE CONTROLLING EQUATIONS . . 12
Method of Kinematic Influence Coefficients . 13
Generalized Kinematics . . . . . 13 Kinematics of Serial Manipulators . . 23
System definition and notation . . 24 Firstorder kinematics . . . . 30 Secondorder kinematics . . . 34 Thirdorder kinematics . . . . 46
The Dynamic Model . . . . . . . 54
The Principle of Virtual Work . . . 55 The Generalized Principle of D'Alembert . 57 The Dynamic Equations . . . . . 62
Dynamics of Serial Manipulators . . . 64
Applied loads . . . . . . 65
Inertial effects . . . . . 65
The dynamic equations . . . . 77
The Linearization of the Dynamic Model . . 78
The Linearized Equations of Motion . . 79 Actuator Dynamics . . . . . . 87
State Space Representation . . . . 91
Note . . . . . . . . . . . 94
III TRANSFER OF GENERALIZED COORDINATES . . . 95
The Dynamic Equations . . . . . . 98
Kinematic Influence Coefficients . . 101 vi
CHAPTERS
III (Continued)
Direct kinematic transfer . . . 101
Kinematic transfer of dependent
parameters . . . . . . 104
Dynamic Model Parameters . . . . 106
The Linearized Equations . . . . . . 109
Kinematics . . . . . . . 109
State Space Equations . . . . . 111
IV APPLICATION OF GENERALIZED COORDINATE
TRANSFORMATION TO DYNAMIC MODELING AND CONTROL
A UNIFIED APPROACH . . . . . . . 115
Single Closedloop Mechanisms . . . . 116 Multiloop Parallel Mechanisms . . . . 127 Redundant Systems . . . . . . . 134
Overconstrained Systems . . . . . . 139
V CONCLUSIONS . . . . . . . . 145
APPENDICES
A DEVELOPMENT AND DEFINITION OF GENERALIZED
SCALAR (e) PRODUCT OPERATOR FUNDAMENTAL
TO DYNAMIC MODELING AND TRANSFER OF
COORDINATES . . . . . . . . . 150
B SECONDORDER TRANSFER FOR A SIMPLE
MANIPULATOR . . . . . . . . 153
C SINGLELOOP PLANAR FIVEBAR ANALYSIS . . . 159 D SPECIAL CASE SINGLELOOP MECHANISMS . . . 165 E PARALLEL MECHANISM MODELING . . . . . 170 BIBLIOGRAPHY . . . . . . . . . . 176
BIOGRAPHICAL SKETCH . . . . . . . . 181
vii
Abstract of Dissertation Presented to the
Graduate School of the University of Florida in Partial
Fulfillment of the Requirements for the
Degree of Doctor of Philosophy
KINEMATIC AND DYNAMIC MODELING, ANALYSIS
AND CONTROL OF ROBOTIC SYSTEMS VIA
GENERALIZED COORDINATE TRANSFORMATION By
ROBERT ARTHUR FREEMAN
August, 1985
Chairman: Delbert Tesar
Major Department: Mechanical Engineering
This work presents a unified approach to the dynamic modeling and analysis of the general case of rigidlink multidegree of freedom mechanical devices and includes the detailed treatment of the specific case of the serial manipulator. The approach is based on the transference of the system dependence from one set of generalized coordinates to another (e.g., from the relative joint angles to artesian referenced hand coordinates of the serial manipulator) and is shown to allow the analysis of any singleloop mechanism (e.g., the Bricard mechanism), multiloop parallelinput linkages, systems with a superabundance kinematically independent inputs (e.g., redundant manipulators), and systems containing a superabundance of kinematically dependent inputs (e.g., walking machines). The technique involves the initial modeling of the system (or its components) in terms of simple open kinematic chain relationships; then using the viii
concept of loop closure and the kinematic constraints relating the possible sets of generalized coordinates the final desired system model is obtained.
The derivation of the initial dynamic model is based almost entirely on the principle of virtual work and the generalized principle of d'Alembert and is treated in great detail (from firstorder properties through the linearized state space model, including actuator dynamics). The resultant model is expressed in terms of kinematic and dynamic influence coefficients and is particularly well suited for the transfer of generalized coordinates, especially the quadratic form of the nonlinear effective load terms. The validity of the results of the unified modeling approach is demonstrated by some simple yet sufficient examples.
ix
CHAPTER I
INTRODUCTION
one of the most pressing issues facing engineers today
is the control of highly integrated mechanicalbased systems capable of addressing a wide variety of tasks, without physical alteration of the system itself. These integrated systems (commonly referred to as robotic devices) are, in essence, asked to manipulate an object (e.g., a tool attached to the endeffector) in the presence of varying process and environmental effects in a very precise manner. To respond to this desire for both diverse motion capability and precise maintenance (during operation) of the specified motion requires not simply a battery of sensors feeding back infinite information to a centralprocessingunit which magically assimilates and transforms these data into appropriate compensatory commands to the system actuators, but an acute awareness of the device itself. That is to say, a sufficient mathematical representation (model) of the object of control (the actuated mechanical linkage) must exist. The obtainment, and subsequent investigation of this model (which not only removes the magic from the control process, but also indicates what feedback information is necessary and sufficient for that process) is the primary focus of this work. While there is argument that one only
2
needs a qualitative model (e.g., knowledge that a particle's acceleration is linearly related to force) of the system for feedback compensation, there is no question that a quantitative model (e.g., a particle's acceleration is equal to the force applied to the particle divided by its mass) is essential for feedforward compensation. Now, while the author is not familiar with all the vagarities of adaptive control, it seems only reasonable that one would prefer to accomplish as much feedforward compensation as possible, and then use feedback techniques to obtain the (reduced) remaining required compensation. Admittedly, the quantification of the model (e.g., determination of the particle's mass) is considerably more difficult than its qualification, but this difficulty is not sufficient reason to dismiss the possibility (and potential) of combined feedforward, feedback control schemes for robotic devices. Keeping the goal of this combined control in mind, the kinematic and dynamic models developed in this work are derived in a qualitative manner while the final expressions require the quantification of basic system properties, such as link dimensions and mass parameters.
The formalized modeling procedure presented establishes a bdse technology capable of addressing the full range of possible mechanisms, from a single generic approach. The procedure stems from the work of Tesar and his graduate students, most notably the general development of Benedict and Tesar (1971) and the rigidlink serial manipulator model
3
of Thomas (1981). The model is based on the use of kinematic influence coefficients. These coefficients describe the positiondependent reaction of such pertinent systems parameters as link centroids to the action of the independent generalized coordinates (system inputs). While the basic model is a rigidlink model, and robotic devices typically demonstrate some compliance (Sunada and Dubowsky, 1983), the model is presently being used as the basis for extension to the treatment of quasistatic deformations (Fresonke, 1985) and quasistatically induced vibrations (Behi, 1985), for optimized design procedures (Thomas, 1984 and 1985), and as an aid in the experimental identification of pertinent system parameters.
The extension to nonrigidlink devices is not
specifically addressed here, nor is the question of realtime dynamic compensation (see Wander, 1985). Again, the primary objective of this work is the development of a general, unified modeling procedure capable of addressing the full range of robotic devices, including redundant manipulators, cooperating robots, walking machines and multifingered endeffectors. For discussion and comparison of the various popular dynamic model formulations, the reader is referred to Tesar and Thomas (1979) and Thomas and Thomas (1982b), Silver (1982) and Lee (1982), among others.
Before giving a more detailed overview of the contents of this work, it will prove beneficial to introduce the notational scheme developed herein. Referring (throughout)
4
to Table 11, the basic setul involves a block arrangement consisting of a central bloc' surrounded by both pre and post, superscripts and subscripts. The center block is reserved for a symbol repres( nting either a system parameter(s) (e.g., the set u)), a physical quantity (e.g., a vector of applied loads (T) or a mathematical operator or operation (e.g., partial differentiation). Next, the two superscript blocks are reserved for dependent system parameters (or their properties, such as velocity), with the postscript indicating which parameter(s) is involved and with the prescript giving a ditional information concerning the parameter(s). Finally, he two subscript blocks are used in exactly the same fasiion as the superscripts, but are reserved for independent system parameters (e.g., generalized coordinates (T) cr fixed linkage dimensions (ajk)). At this stage the reader is again referred to Table
1.1 to review the illustratie examples. While this notation is indeed redundant when dealing with a single (fixed) set of independent g neralized coordinates, it is far from redundant when deal ng with the analytic developments and application:. in Chapters III and IV where the system dependence is tra sferred from one possible generalized coordinate set t( another. Regardless, it is felt that even when dealing lith a fixed input set, that the separation of dependent and ndependent system parameters by the respective use of supers(ripts and subscripts serves as a valuable aid in the descri tion and analysis of the system
5
Table 11. Notation Dependent [Modifier] [Parameter(s)] Dependent
FSymbol1
__________47 ~Operatorj_ ___Independent [Modifier] [Parameter(s)] Independent
Examples
1. u = f(P
u = (ul,u2,...,UP)T dependent [ul ]
T = k~i'P2' ... M)T independent I(
I uml
2. L() L ) [GUI = LG12] (Thomas amd Tesar, 1982b)
where G (() See eqn~s. (25) and (26)]
3.3 42~ = 2 t] [Hu I = [ (hmsand Tesar,
3 W ( aoa ~ Q(P1982b)
where H S ( ) [See eqn's. (21l)(227)]
5( )3(T
4. Mk[jGc]T[jGcj) = [P] [I I PTh*I
PI* M
where j E Mik[jGc ]T[iFc I (See eqn. (2157)]
6
under investigation. In addition to being descriptive in nature, this notational scheme underscores the fundamental theme of this work; that there are only two basic types of system parameters (dependent and independent), but that there is not a unique set of generalized coordinates from which to view the system. The notational scheme also has been developed with the assimilation of ten plus years of various kinematic and dynamic analyses presented by Tesar and his students into a single formalized unit. As a final note to readers familiar with the notation utilized by Thomas and Tesar (1982b), to obtain the parameter descriptions given in that work simply drop all subscripts (since only one set of generalized coordinates is addressed) and rotate the superscripts one block in the clockwise direction (e.g., the postsuperscript in this work becomes the subscript in Thomas and Tesar (1982b) as shown in examples 2 and 3 of Table 11).
In keeping with the desire to present as generic a treatment as possible, Chapter II starts off with the development of the first, second and thirdorder kinematics of a general multidegree of freedom system. Here, the conceptual use of kinematic influence coefficients, along with the definition of the associated notation, is introduced. The concept of influence coefficients is fundamental to the modeling methodology employed throughout this work and the need to understand this basic idea cannot be overemphasized. Additionally, the
7
qualitative approach to deriving the highorder kinematics is stressed, as well as the utility and simplicity of the standard Jacobian format for arranging the results of vector differentiation. Again, the reader's complete familiarity with the method of derivation employed (and the notation involved in describing the results) in this section (II.A.1.) will greatly facilitate his understanding of the remainder of this work.
Next, the kinematics of the general serial manipulator are addressed. First, the geometric parameters and the associated notation describing the serial manipulator are defined, then the first, second and thirdorder kinematics are addressed. The derivation presented here is based on the previously developed generalized kinematics, with the major emphasis here being on the determination of the kinematic influence coefficients for this specific device. The method of derivation and form of the results (simple vectors or vector cross products) are based directly on the work of Thomas (1981).
Having completed the treatment of the system kinematics, attention is then turned to the development of the dynamic model. The dynamic model presented here is almost completely determined with the use of just two principles of mechanics: the principle of virtual work and the generalized principle of D'Alembert. In light of this, and in keeping with the generic nature of this work, the use of these two principles in the development of the dynamic equations for a general
8
device is presented first. Here the momentum form of Newton's second law is used. After establishing the general approach, the dynamics of the serial manipulator are addressed specifically. In this treatment (II.B.4.), the results for the manipulator are expressed in matrix form, this being consistent with the method of derivation as well as with the computer language (APL) that the author uses for simulation. In fact, the author's familiarity with the multidimensional array handling and operational capabilities of this language (APL) is most certainly a contributing factor in the chosen form of the resultant modeling expressions. Again, for the investigator familiar with the work of Thomas (1981) (aside from the notation and method of derivation) and the expression of the coefficients of the dynamic model in matrix (vector) form here, as opposed to the summation (scalar) form of Thomas (1981), is the only difference in the modeling results of the two works. Also, and of paramount importance to the transformation of generalized coordinates technique presented in Chapter III, a generalized vector scalar product operator (a) is introduced. Because of the significance of this operator to this entire work, it is addressed in detail in Appendix A.
Next, for completeness, the linearization of the dynamic equations of the general serial manipulator is pursued. The derivation of these linearized equations is again attacked in a qualitative fashion (i.e., partials are taken with
9
respect to the generalized coordinate positions, velocities and accelerations). Unfortunately, the resultant expressions are extremely complicated and a nice compact form was not found. At any rate, having obtained expressions for the linearized equations, the drive train kinematics and actuator (dc motor) dynamics are incorporated into the model. The nominal voltages required to drive the system along some specified generalized coordinate trajectory are then determined and, finally, a velocityreferenced state space model of the linearized system is developed. While the resulting state space model can be used to address the possibility of applying modern linear control techniques to controller design for specific manipulator trajectories (Whitehead, 1984), this is not a goal of this work and is not pursued. This completes the material presented in Chapter II, covering the complete development of the kinematic and dynamic equations governing the motion of both a general mechanism and the serial manipulator in terms of a specific set of generalized coordinates.
Having established the general procedure for obtaining the dynamic model directly in terms of a specific set of generalized coordinates, attention is now turned to the determination of the model with respect to any set of generalized coordinates. Chapter III specifically addresses this question, with the basic approach employing a transfer of system dependence from one set of generalized coordinates to another. The technique involves the determination of the
10
model (in the direct fashion of Chapter II) with respect to some initial set of generalized coordinates (selected for ease of modeling), then (using this initial model information along with the principle of virtual work and the system's kinematic constraints) the system model is effectively transferred to any arbitrary desired set of generalized coordinates. The treatment here is basic in nature and covers the three main elements comprising the system modeling of Chapter II: kinematics, dynamics and the linearized state space representation. The use of this concept is not without precedent as it has been employed in one form or another by numerous researchers (referenced in Chapter III), primarily with regards to system control. one of the selfimposed constraints on the model transformation presented here is that the resultant desired model maintain the same general form as the initial model (e.g., equations (27), (217) and (2198)). Also, as is shown in Chapter III, the generalized scalar product (Appendix A) is the key mathematical realization allowing the maintenance of the general form.
Now, having established the basic procedures for
obtaining an initial system model (Chapter II) and the subsequent determination of the system model referenced to any set of generalized coordinates (Chapter III), the full utility of the generalized coordinate transfer technique is addressed. Through the treatment of some fairly general applications, Chapter IV presents a unified
11
and straightforward approach to the kinematic and dynamic modeling of a wide variety of extremely complicated mechanical systems. This unified approach first entails the initial modeling of the system (or separable components of the system) in the relatively simple terms of an openloop kinematic chain. Then, having obtained this simple initial model, the system is constrained (or closed) by single or muitipie application of the transfer equations resulting in the desired dynamic model. This means that the most complicated kinematic device that one need model directly is the simplest possible, the open kinematic chain (or serial manipulator). Finally, for illustration of the full power and scope of this technique it is shown to be capable of modeling
1. Any singleloop mechanism (including such degenerate
devices as the Bricard mechanism) with respect to
any set of generalized coordinates.
2. Multiloop parallelinput mechanisms, such as the
generalized Stewart platform.
3. Systems with a superabundance of kinematically
independent inputs, such as the redundant
manipulator.
4. Systems with a superabundance of kinematically
dependent inputs; such as cooperating robots,
walking machines and multifingered endeffectors.
CHAPTER II
DEVELOPMENT OF THE CONTROLLING EQUATIONS
The investigation of the basic kinematic and dynamic nature of multidegree of freedom mechanisms and the subsequent determination of a set of differential equations useful in addressing the control of such mechanisms are presented in this chapter. The presentation is separated into three major divisions. The first section develops a generalized approach to the modeling and analysis of the system kinematics. The approach, which is based on the use of kinematic influence coefficients, is applicable to mechanisms consisting of rigid, or at least quasirigid, iinks. In the second section, the influence coefficient methodology is incorporated in the determination of the dynamic model, yielding the relationship between the system's load and motion states. Finally, the dynamic equations (developed in the second section) are linearized and a general state space representation is presented. This representation, which includes actuator dynamics, is useful when considering the control of the mechanism about some prespecified nominal trajectory.
12
13
Method of Kinematic
Influence Coefficients
This approach to dynamic modeling of rigidlink
mechanisms is based on the separation of all kinematic (and dynamic) phenomena into a collection of purely position dependent functions (kinematic influence coefficients) operated on by independent functions of time (input time states). The concept of kinematic influence coefficients can be applied to all classes of mechanisms (e.g., parallelinput planar systems, serialinput spatial devices, etc.) and has been well established in the literature by the works of Tesar and his graduate students: Benedict and Tesar (1971), (1978a) and (1978b), Freeman and Tesar (1982) and (1984), Cox and Tesar (1981), Thomas (1981) and Sklar and Tesar (1984). Because of the fundamental nature of this concept and its almost limitless range of application, this section is presented in two parts. The first contains a detailed development, in general terms, of the basic methodology involved. The second addresses the specific case of the serial manipulator.
Generalized Kinematics
Consider a Pdimensional time varying vector
U(t) = (ui(t), ...' uP(t))T (21)
14
representative of the motion parameters required to describe the kinematics of a given system where the superscripts indicate which parameter is involved (not that uP is u raised to the pth power). Further, consider that these parameters are functions of an Mdimensional set of generalized coordinates
T(t) = ((Pl(t), P2(t),..., (M(t))T (22)
This allows a parametric description of the system where
uP = uP(_);p = 1,2,...,P (23)
and
(Pn = (Pn(t);n = 1,2,...,M (24)
Adopting the standard convention for differentiation of a vector (e.g.,u(p)) by a vector (e.g., _(t)) one obtains the typical Jacobian form, where the nth column of the result is the partial derivative of u(cR) with respect to the nth component of ((t), for the first time derivative of u(t)) as
Ti 9(2 3 (M (25)
3u_ ul ... 9uf N
a iP 3 2 a (M
(P2
Throughout this section an explicit shorthand notation is developed to serve as a descriptive aid in the expression of the system kinematics. The first order geometric
15
derivatives (i.e., kinematic influence coefficients) are denoted as follows:
[y] = [Gu] = P x M matrix (P
[__ = [G] [Gu u = P x i vector
Pn p ;n n n (26)
[auP] = [Gu E [Gu] = SP = 1 x M vector
5 Ipp; (P Q; 1xM vco
[_uP] = [Gu] [GP] E gP = 1 x 1
Pn pP; n n n
where the letter (g,G) is reserved for first order geometric derivatives, the superscript indicates the dependent parameter(s) involved (i.e., uP) and the subscript specifies which generalized coordinate(s) (i.e., (Pn) is involved. Also, the snape of the result is indicated by the dimensions of symbols used as the superscript and subscript(s). For example, the shape of qu is equal to the dimension of the subscript u (i.e., P) by the dimension of the subscript n (i.e., 1). Referring to equations (26), the first order kinematics of the system can be written in a variety of ways depending on the manner of expression one wishes to employ. The velocity (a) of the complete parameter set (u) can be expressed as
S= [Gu] = (P x M)(M x 1) = P x 1 (27)
or
=Mg
= gU'n = E(P x 1)(1 x i) = P x 1 vector
n=l n
(28)
16
And, the velocity (UP) of a particular dependent parameter
(uP) is written as
P = (1 x M)(M x 1) = 1 x 1 (29)
or
aP = M gP "n = (i x i)(1 x i) = 1 x 1 (210)
n=i n
Noting that firstorder influence coefficients (g,G) are functions of the generalized coordinates (T), one recognizes that the velocity vector (i) is a function both of the position (p) and velocity ( ) of the independent coordinates (pm; m = 1,2,...,M). This allows one to obtain the second time derivative (U) of the dependent parameters (u) from
= + u = (211)
The first partial derivative in equation (211) is
= G = _U[U]) = [GU]_ = [GU]IMxM (212)
3 (b _P
where the last term is the MxM identity matrix. This gives the partial acceleration of (u) due to the acceleration of the inputs (p) as
= ] (213)
Recalling the standard Jacobian form for derivatives of vectors, one has
17
D1l 8 2 3 M
a= [Gu] = (aGU]) = 2
(214)
DuP 3ap
i M
where
M
gP = uP = 8 ( E gP 5n), p = 1,2,...,P
m 3 m nl n (215)
m = 1,2,...,M
Recalling the definition given in equation (26) for (gP),
n
and performing the differentiation, equation (215) becomes = M
gP = n( 3 (8uP)]n m n=1 34m n M (216)
= E hP $n n=1 mn
= 1 x 1
where
S (3uP) hP = 1 x 1 x 1 (217)
aM 3 (n mn Alternately, equation (216) can be expressed in vector form as
gp = &T(hP )T = 1 x 1 (218)
m m where
hP = (hP hP, ..., hP ) = 1 x 1 x M (219)
m(P ml m2 mM
18
Here, the letter (h,H) is used to denote the secondorder geometric derivative, and the shape of the result is equal to the dimension of the superscript by the dimensions of the subscripts ordered from left to right. Using the vector form of equation (218), the pth row of equation (214) can be written as
[] = [Gu = [GP]
_P; P P;
= T[(hP ) (hP ) ... (hP )Tj
10 2p "MP
= T[HP ]T (220)
= 1 xM
where
hP hP ... hP 11 12 lM
[HP J [ (8uP)] = hP = 1 x Mx M
S _21
(221)
hP hP
M1 MM
From this, the partial acceleration of the pth dependent parameter (uP) due to the velocity of the inputs (0) is seen to be
p. = T[HP ]T$ = i x 1 x 1 (222)
(P (PO
19
Since the transpose of a scalar is equal to itself, equation (222) becomes
p. = THP ] (223)
Now, considering the complete parameter set (u), one has &T[H1
%TIIHl 1i
"(P
= _T[H 2] = (H u = P x (224)
OT[(H ]
were
(Hu ] = P x M x M (225)
and
[Hu ] = (HP ] (226)
QQP; (D(P
Finally, from equations (211), (213) and (224), the acceleration (u) is found to be u = [Gu] + T[Hu (227)
Observing that the acceleration (u) is a function of
(2), (_6) and (Z6), the third order time derivative ('Y) can be determined from
= B + + u (228)
20
Here
=Glj = [G"jII'MxM (229)
so
(GuD = (230)
The second term in equation (228) is found from
(231)
3 4p. jpm
where, from equation (222), = ~~ ( t (p~l
(232)
= ([HP T i + ( TfHP T = (jT[H] d + @jT[H$] T)~ since
(CPTIHO(P);j = [.[Hj; jT ([Hj =T 1 x1 (233)
The phrow of equation (231) can be written as
dL= ( ((T r HP 1);j + (TrHP p p ;M
___ L (P(P~' p T) ;jjTCH11p(M M
( T[HP ]'1);M)(234)
LP WT
21
The complete Jacobian of equation (231) is then S1 + 1 ]
N[[H ] + H ]T]
2 2
= T[H2 J + [H2 ]T] (235)
_T[[H ] + [H~ ]T] u uT
~T[[H ] + [H ]T]
yielding = [[H U] + [Hu JT]g (236)
where the transpose operation is performed plane by plane. The last partial in equation (228) can be separated into two parts, giving
Ki.. Ki..
a 3 ( (237)
where, recalling equations (213) through (220), G u ..
= __[G_]_HiT
(238)
2
= T[H ]T
I T
iT [H(PPJ
22
~T[H ( ]HU = P x M and
3 .. T Hu TI
(P r (Pp](29
F T H1 T i T H1( [ (P(P ) ( L M ] C )
e i 3 (P2 ( M
*T 2
= H( [H (239)
HP 1 T [HP
T H qT H M
Now
3T HP T( ( ( [Hp)
D (Pi 3 el
(240)
ST[D ] g = 1 x 1 yielding
1 1 .T 1
_T[D1 T(D2eC]D ... jT[DMee iu 2
= T[D1e (241)
p P
T [ D 1ee] ( T [ DMee ]
_TEDuJ = P x M
The letter (d,D) is used to denote the thirdorder geometric derivative, and the shape of the quantity is equal to the dimension of the superscript by the dimensions of the subscripts, respectively. Further defining the third order kinematic influence coefficient (d,D) one has
23
3 u
a = [D = P x M x M x M
3 3
33 p u p
u = Up (D 1.. = [D ] = 1 x M x M x M
(242)
2u u
( ) = (D J.. =[D(P] = P x 1 x M x M
el 2
U p =
(p (Du p
( (u)) = [D1(PPp;1;m;n; = dimn = 1 x 1 x 1 x 1
ai 3m a9n
Now, substituting equations (238) and (241) into equation (237) gives the partial derivative of the dependent parameter acceleration (U) with respect to the generalized coordinate(s) position (p) as = ETCHU]T + T(Du(]I (243)
Finally, from equations (228), (230), (236) and (243), the thirdorder time derivative (Y) of the dependent parameter set (u) is
u u u u
[] + iT[]+ [HT + ( HT+ _TD])
= ] + T(H + 2[H]T) + ( [DH]) (244)
completing the general kinematic development.
Kinematics of Serial Manipulators
The analytical development presented here, altered
notationally and extended to cover thirdorder kinematics, is based directly on the work of Thomas (1981) and is included
24
for completeness. The definition of the particular physical system that is being considered is addressed first. Then the notation defining the physical parameters is established. Next, the geometric relationships corresponding to equation (23) are developed. Finally, the kinematics of the serial manipulator are derived in terms of explicit equations defining the kinematic influence coefficients as opposed to the conceptual relationships of the preceding general development.
System definition and notation
The analytical development presented here, altered
notationally and extended to cover thirdorder kinematics, is based directly on the work of Thomas (1981) and is included for completeness. The serial manipulator, in essence an open loop kinematic chain consisting of a series of rigid links joined by onedegree of freedom lowerpair connectors, is illustrated in Fig. 21. This treatment specifically addresses only revolute (R) and prismatic (P) pairs because most other typically encountered joints can be considered as combinations of the two (e.g., a cylindric joint is analyzed as an RP combination). Investigation of Fig. 2.1 shows that both types of joints, revolute and prismatic, have two independent parameters associated with them, (sjj, 8j) and (sj, E~j), respectively. The parameter sjj (or sji is the offset distance along the joint axis, sJ, between the two links connected by the joint connects. The parameter 8j (or
25
ejj) is the relative rotation about sJ between these links. Here the double subscript serves to indicate that the quantity is a fixed independent parameter, while the single subscript implies that the parameter is an independent variable. The two parameters ajk, the fixed distance between joints j and k as measured along their common perpendicular aJk, and k, the twist angle between the joint axes measured in a righthand sense about aJk, define link jk.
The global reference is a fixed Cartesian system (X,Y,Z) with the Z axis directed along the first joint axis, sl, and the X axis located arbitrarily in the plane perpendicular to s1 (Note that the independent parameters associated with joint one are measured with respect to the X axis). Local (or bodyfixed) dextral Cartesian reference systems ((J)x, (J)y,
(j)z), with (J)x along aJk and (J)z along sJ, are assigned for each link (jk). The vectors ajk and sJ are unit vectors expressed in terms of direction cosines and given by
*aJk = Tj(j)ajk = (*xjk, *yjk, *zJk)
(245)
*sj = TjBJ )s3 = (*xj, *YJ, *ZJ) with
(j)ajk = (1, 0, 0)T
(246)
()sj = (0, 0, 1)T
where the rotational transformation matrix Tj is Tj = *ajk sJxjajk *sj] (247)
The preceding superscript, (J), is used to indicate that the vector is expressed in terms of the jth local reference, and the preceding superscript (*) denotes a vector given in
26
terms of its direction cosines. The direction cosine representation of the vectors aijk and si can be obtained, where all joints are assumed to be revolutes, from the initial direction cosines
*s1 = (0, 0, 1)T
(248)
*al2 = (ce1, s81, 0)T
and the recursive relations
*sj = Tjl(jl)sJ = Tjl(0,Sal(jl)j, c (jl)jJ)T j = 2,3,...,M (249)
*ajk = Tjl(jl)ajk = Tjl(c8j,ca(j)jsej,s(jl)jsj)T
where c8 = cos8, sO = sin8, etc. If the joint is prismatic, simply replace 81 by 811 and s11 by sl here and in the subsequent general equations. Finally, the position vector, RJ, locating the origin of the jth reference is given by
RJ = slls1 + (a(1)1a(11)1 + s )
1=2
(250)
Using equations (248), (249) and (250), the configuration of the serial manipulator is completely defined once all the zeroth order independent parameters are specified (e.g., sll. a(11)1, a(11)l, 81, etc.). The reverse position solution, that of solving for the variable input parameters given the desired hand location (e.g., R6, a67, s6), is (in general) considerably more difficult (Duffy, 1980) and is not addressed here. The notation involved in the kinematic
27
jk (j) a, X
Sjk
a j sj
]k
sj, (J) \ \
(j)j
23
a
Ri
22
a
12 s
ss
S ,Z
Figure 21. Kinematic representation of the serial
manipulator
28
Table 21. Manipulator Joint and Link Parameters
SJ Vector for Joint Axes Between Links
Sjj is Fixed Offset Value (Revolute)
Ojj is Fixed Rotation Value (Prismatic)
Dj Generic Input for Joint Axis sJ
Sj Sliding Along SJ 8i Rotation About SJ
a3k Fixed Link Dimensions Between Axes j and k
ajk
aik Common Perpendicular Along ajk
ajk Twist Angle
29
Table 22. Coordinate Systems GLOBAL SYSTEM
X
Y Absolute Reference System (Z Along Axis Si)
Z
xi
Y Direction Cosines for Joint S3
zJ
*gjk
*Yjk Direction Cosines for Link ajk
*Zik
LOCAL (j) SYSTEM
(J)y Body Fixed System for Link jk
(J)Z (J)X along ajk
(J)z along Sjk
30
representation of the serial manipulator is given in Tables
2.1 and 2.2 for quick reference. Firstorder kinematics
In the development of the generalized kinematics, the
specific nature of the dependent motion parameters (up) and the independent input parameters (en) were not taken into account. In the case of the serial manipulator there is a fundamental difference in the nature of the two basic motion parameters considered. In this treatment the two parameters are the cartesianreferenced link orientations (which are not considered true coordinates) and the cartesianreferenced coordinates of a point (which are true coordinates). Also, the effect of an input on these parameters depends on whether the input is a revolute or prismatic joint. In light of these facts, the kinematics for rotational parameters amd those for translational parameters are treated separately, and the results for both revolute and prismatic inputs are given in each case.
In dealing with the kinematics of rotational parameters, it is not convenient to start with an equation of the form of equation (21) (i.e., u = f(Qp)) since finite angles of rotation cannot be represented by vectors. Fortunately, however, it is possible to represent infinitesimal rotations by vectors (Meirovitch, 1970), and these infinitesimal rotations can most readily be interpreted as the angular velocity (w) of the body. So, instead of using a zerothorder holonomic constraint equation (e.g., u = f_)
31
to derive a link's firstorder rotational influence coefficients, a firstorder nonholonomic constraint equation expressing the link's angular velocity (wjk) is used.
Referring to Fig. 21, the angular velocity addition theorem gives the angular velocity (wjk) of link jk as simply the sum of the relative angular velocities between preceding links in the chain
J
Wjk = in S n, n = 1,2,..,L (251)
n~l
where, 6nSn is the relative angular velocity between links (nl)n and n(n+l), and en is identically zero for a prismatic joint. Investigation of equation (251) shows that the angular velocity (wjk) can be separated into a function of position (i.e., sn = f() operated on by a function of time (i.e., 8 = 8(t)) or, in the form of equation (27), jk = f(Q)*B(t) = [G j ] ( 5
( (252)
Now, in order to obtain the 3xM configuration dependent matrix CG 1, one has that (also see equation (212))
(Pk
3(wjk) = _([G
= [Gjk]_9(. ) (253)
= [Gjk]
In fact, for any position dependent vector (u = ( )) one has from calculus that
32
(d(u)) = 3 (3(u)de) n t D n p dt
n (254)
This turns out to be a very convenient relationship and is used to obtain the kinematic influence coefficients for translational parameters even though it is not necessary since the position vector u = P = (XP, yP, ZP)T exists and could be differentiated directly.
Returning to the question at hand, from equations
(251), (252) and (253), the rate of change of the angular orientation of link jk is jk = [GJk]
(255)
where
_jk = (wjk) D E si)
(256)
{ sn n < j; (Pn = 8n (revolute) o, otherwise
Here, the angular velocities (e.g., wjk) are expressed in terms of cartesian reference frames and denoted, in a component sense, as wjk = (wjx, wjy, wjz)T (257)
Consistent with this notation, the influence coefficients take the form
33
gjk = (gjX, gjy, gjz)T (258)
n n n n
where
sn = (*Xn, *yn, *zn)T (259)
The translational velocity (2) of a point (2) in link jk, and hence (from equation (254)) the translation influence coefficients, can be derived from P = R + TJ(J)P (260)
where, (J)P is the location of point P in terms of the body fixed reference j, and multiplication of (J)P by the rotation matrix TJ transforms the coordinates from the jth reference to an intermediate system with the same origin but with axes parallel to the global reference (X, Y, Z). Substituting equation (250) for RJ and differentiating equation (260) gives the velocity of point P in link jk as
S1S 1 2 (a(l1)1l(l1)1 + slls + 5Sl)
(261)
+ d(TJ(J)P)
dt
Now, since a(l1)1 and s1 are unit vectors fixed in link (11)1 and (TJ(J)P) is a vector fixed in link jk, the time rate of change of these vectors can be expressed in terms of the vector cross product as
a(11)1 =(11)1 x a(11)1 1 1 n sn x a(11)1
n=l
(262)
1 =(11)1 x sl = n sn x sl
 n=1 n
34
d(TJ(J)P = Jk x (TJ(J)P) =1 n) x (Tj(j)P)
. .. ~~~n=1 ns (JJP
dt
Substitution of equations (262) into equation (261) and regrouping of terms leads to
P = {nSn + nin x (a(ll)la(l1)1 + slls1)
n=1 l=n+1
+ TJ(J)P}
(263)
= n {S n + nn x (PRn)}
n=1
where, referring to Fig. (21),
1(a()1(1)1 + 11) + TJ(J)P =(PR)
l=n+l + _n
(264)
is a vector from the origin of the nth reference to the point P. Finally, recalling equation (254), the velocity of point P can be expressed in the form P .
P= [G ]@ (265)
where
sn x(PRn) n~j; n=8n (revolute)
P
In = 9P =, nj; n=sn (prismatic)
(266)
a n>j
Secondorder kinematics
Now, relying heavily on the development presented for the second and thirdorder kinematics of a general motion
35
parameter, the higherorder kinematic influence coefficients, and hence the higherorder kinematics for the serial manipulator, can be obtained by directly operating on the firstorder coefficients given in equations (227) and (266). observing that both the rotational and translational influence coefficients are expressed in terms of position dependent vectors leads one to again use the relationship of equation (254) to obtain the (h,H) and (d,D) functions.
Recalling the firstorder rotational coefficients and equations (254), one has s n ,nj ; Qn=En
d(gjk) = (267)
dt n o otherwise
where
n Z 1 i s) x sn (268)
Performing the partial differentiation with respect to the mth generalized velocity yields, for the secondorder rotational coefficients, the expected nonsymmetric (i.e., hjk hjk) result
inn nm
sm x sn m
mn _nn
n m nm n(269)
o otherwise
36
Also, notice that the rotational (h,H) functions are zero if either input is prismatic. Referring to the general form of equation (227), the angular acceleration of link jk becomes ajk = [Gjk] + T[Hjk], (270)
where
ajk = (ajx, ajy, ajz)T (271)
and
(Hik] = 3 x M x M (272)
with
[Hjk] = hjk = (hix, hJY, hjz)T 273
QQ ;m;n mn mn mn mn
The second order kinematics of a point P in link jk are perhaps most easily understood by identifying all possible input combinations and addressing each situation independently. Looking first at the case where the nth generalized coordinate is a prismatic joint (i.e., Qn = Sn), the time rate of change of the (g,G) function is 4P = n ,n~j; nS
n n n=sn (274)
Since sn can be viewed as a unit vector fixed in link (n1)n, one has that
gP = w(n1)n x sn =(nil i i)x sn nj; n=sn
n 1(275)
Taking the partial derivative of this expression yields, for a prismatic joint n
37
sm x Sn m
mn n n
n (276)
2 m=sm ; (Pn=Sn
Now, considering the case where the nth joint is a revolute (i.e., n = 8n), the time rate of change of the influence coefficient is
gP = sn x (PRn) + sn x (pRn) (277)
n (277)
or, by differentiating equation (264) to obtain (PRn) and substituting the cross product form of equations (262) for the vector derivatives,
4P n=l )xsn n
S= (( g s) x ) x (PRn)
n 1=1
(278)
snx( [( si) 11)+l
+ l=n+l in i) x (la1)a(11)1 + Silsl)]
1=n+1 1=1
+ ( 8 isi) x (TJ(J)P)) i=l + sn x ( sl)
l=n+l
Investigating the case where the mth input is a prismatic joint (i.e., pm = sm), one sees immediately from the last term of the preceding equation that
P P sn x sm n
hn = 3n =
8Sm o minsj (279)
38
The reader should note that this equation is consistent with equation (276) and shows that the result is nonzero only if the revolute precedes the prismatic joint in the serial P P
chain. The symmetry (i.e., hnn = hnm) of the translational (h,H) functions should also be noted. Now, when the mth input is also a revolute (i.e., m = em) it is best to look at the case in two steps. First, when m 2 n, from the second term of equation (278)
.P
an = sn x (sm x [ (a(11)la(11)1
 1=m+l (280)
+ sls1l) + Tj(j)P))
or, from equation (264)
3P
n = sn x (sm x (PRm)) n
am (281)
If m < n, both of the first two terms in equation (278) are involved and, one finds that
@gP
n = (sm x sn) x (PRn)
mm (282)
+ sn x (sm x ( (a11 la(11)l +slls + Tj(j)P))
1=n+l )
or, again recalling equation (264)
P
n = (sm x sn) x (PRn) + sn x (sm x (PRn))
= sm x (sn x (PRn)) m5nj (283)
Combining this result with that of equation (281) further illustrates the symmetry inherent in the translational (h,H) functions and yields
39
P P
hmn = h = x (sJ x (PRJ)) i = min (m,n) = max (m,n)
(284)
Before proceeding with the kinematic development, it will prove beneficial to reinvestigate a representative sampling of the first and secondorder translational influence coefficients in a more geometric light. Recalling equations (28) and (266), the firstorder geometric influence coefficient for a point P in link jk with respect to the nth input is a vector ( ) which when multiplied by the nth generalized velocity ( n) yields the nth partial velocity (kn) of the vector (P)
P = = i !P P = 0 ; n>j
n n =0 n n (285)
Let us first investigate the case where the nth input is a prismatic joint (i.e., n = Sn) and the desire is to find (san Here, the preceding subscript (s) is introduced to indicate that input n is prismatic. Referring to Fig. 22, one can readily see that the vector (P), and hence, its velocity (P), can be expressed in a variety of ways. In the manipulator of Fig. 22, where the second joint is prismatic (i.e., P2 = s2), it is advantageous to view the vector (P) as
P = R2 + (PR2)
(286)
40
Here the quantity (PR2) is considered a free vector and the pure translation of a free vector in no way alters the vector (i.e., (p:R2)=O). With this representation it is readily apparent that the action of the slider (s2) only affects the vector (R2) Also, by inspection, the rate of change of this vector (R2), and therefore, the rate of change of P due to the action of s2, is
S= k2
L = 2 (287)
since
R2 = s11Sl + ai2a12 + s2s2 (288)
From equation (277) one obtains the expected result (see equation (266))
P
sin = sn n=2 (289)
Now, consider the derivation of the (g,G) function for a revolute joint (e.g., Cn = 83)" In this situation, the coefficient (ei3) is most easily found by expressing the position vector P as
P = R3 + (PR3) (290)
In this case it is the vector R3 that is unaffected by the action of the revolute (83). Recalling the vector cross product representation of the velocity of a body fixed vector, one has the partial velocity of P due to the third input as
3 = (P:R3)3 = e3 s3 x (PR3) (291)
since (PR3) can be viewed as a vector fixed in link 34. This again yields the expected result (see equation (266))
41
jk (j) a, x
pS
__i, ) PR3 a3 eg
Y PR2 73
 / S F23
pa
R
R 3
12
a
Yp
S 9
R a/
s
s ,Z
Figure 22. Firstorder kinematic influence coefficients
42
P
Ssn x (PRn) n=3 (292)
E8gn =
The difference between the translational firstorder coefficients for revolute and prismatic joints is perhaps more easily understood now, from equations (286) through (292), than from the more analytical development resulting in equation (266). That is, by expressing the vector (P) as P = Rn + (PRn) (293)
it becomes obvious that, if the nth input is prismatic (i.e., 8n = Sn) the location of the origin of the local reference (Rn) fixed to link n(n+l) is translated and, if the nth input is a revolute (i.e., (n = 8n) the vector (PRn) from the local origin to the point of interest is rotated.
To reinterpret the secondorder coefficients (i.e., hmn), take the case where the nth joint is a revolute. Here, referring to Fig. 23, one has
P
8 n = sn x (P Rn) (294)
First, if m S n, one can obtain (h Pn) immediately by noting that (8qn) as expressed in equation (294) represents a vector fixed in link n(n+l). From the firstorder results it follows that
P
salmn = o msn~j (295)
and
OOhmn = sm x (sn x (PRn)) m5n~j (296)
43
P
pR33
S3 S1
SR3
S ,Z Figure 23. Secondorder kinematic influence coefficients
when second joint is a revolute
44
since (9_q is affected in the same manner as (PRn) was previously. Now, if m > n, the first step is to reexpress equation (294) as (see Fig. 24)
P
= n x ((PRm) + (RmRn)] (297)
Here, from past results, it can be seen that if the mth input is a prismatic joint only the vector (RmRn) is effected. On the other hand, if the mth input is a revolute the only affect is on the vector (PRm). This gives the secondorder results as
P
sohmn = sn x sm n
and
P
eehimn = sn x (sm x (PRm)) n
The remaining secondorder influence coefficients are left for the reader to reinterpret and compare with the more analytically derived equations (276), (279), (281) and (283).
Now, with the secondorder influence coefficients fully established, the acceleration of point (P) can be obtained as
Q=+~~] (2100)
where
= (RP, P, 2P)T (2101)
and
45
P
PR3 hp= slx (s3x (PR 3))
8831
3
PR1
P
PR2
R3R1 2
P 1 2 se21= xs X R 2R 1
S ,Z
s 1
Figure 24. Secondorder kinematic influence coefficients
when first joint is a revolute.
46
(H1 3 x M x M (2102)
with
IH PJ [H = I= (hmn hmn, hmnZ)T
(PT m; OT n;m mn hmn mn (2103)
Thirdorder kinematics
The thirdorder kinematics require the development of the thirdorder influence coefficients (i.e., the (d,D) functions). Here, only a few representative cases will be derived. The rotational coefficients are obtained via the strict analytic approach, whereas the translational coefficients are addressed using the more illustrative graphic approach. The complete thirdorder coefficient results, along with those for the first and secondorder coefficients are presented in Tables 23, 24 and 25.
Again, the rotational influence coefficients will be investigated first. Here, if any of the three inputs involved is a prismatic joint, then the thirdorder geometric derivative is identically zero. This result is due to the fact that the translation of a free vector does not alter the vector (as was also the case for the (h,H) function). Now, if all inputs considered are revolutes, one has
xem snm~~ (2104)
0 ,n: m
47
and the concern is to determine the effect of the third revolute ((l = 81) on this secondorder property. There are two unique nonzero situations nere, l
mn
link (ml)m and the thirdorder geometric derivative is
jk mi .
edImn = M (( e1 s ) x (sm x sn))
1i=
(2105)
= s x (sm x sn) i
If m
jk ni i) sn
888dlmn = sm x (( i ) x ) (2106)
<01 i=l (2 106
= sm x (sl x sn) m
One can now write the time rate of change of the angular acceleration of link jk as (see equation (244))
&jk = [GJk]" + 'T[[Hjk] + 2(HJk]T]$ Q0 (P(P P0
(2107)
+ ((T(Djk
where all algebraic operations are as defined previously in the general kinematics section and jk
[D ] = 3 x M x M x M (2108)
with
jk j dk jX j3Y jZ
D(Q ];1;m;n = lmn = (dlmn,dlmn, dlmn)T
(2109)
48
The thirdorder translational coefficients where one of the inputs is prismatic can be obtained in exactly the same manner as were the rotational coefficients for three revolute inputs (since the symmetry exhibited by the secondorder translational coefficients carries over to the higher order properties), where
a ( a (P ) = a ( a (= .
asn ae1 3m aE1 aem 9sn (2110)
As with the translational (h,H) functions the only nonzero result occurs when the prismatic joint is the last joint considered and can be expressed as
P P
s nlm = 8slmn = ... = si x (sJ x sn) i=min (1,m) j=max (l,m)
(2111)
Considering the situation where all three inputs concerned are revolutes, and m:nsj, one has
P
h n= sm x (sn x (PRn)) (2112)
Taking the more graphic approach (see Fig. 25), for 15m,
P
(mn) can be considered as a vector fixed in link m(m+l), yielding
P 1 s sm sn
P
dlmn = s x (S x (Sn x (PRn))) 15msnsj
(2113)
For m
49
P
PR
sj
1 3
R j R33
Ps ,Z
Figure 25. Thirdorder kinematic influence coefficients
13 31] 313 = sx (s3 (S (PR3)))
Ri
P
R3
X
s, Z Figure 25. Thirdorder kinematic influence coefficients
50
dmn = sm x (sl x (sn x (PRn))) m
(2114)
Finally, for m
lmn = sm x (sn x (sl x (PR1))) m
(2115)
The remaining translational thirdorder geometric derivatives are left for the reader to derive and are given in Table 23. The time rate of change of the acceleration of a point P in link jk can now be expressed, from equation (244), as
... PPP .
P [G] + 3T[H ]g + [2T[Dp ]@]
(2116)
where
P
[D ] = 3 x M x M x M (2117)
with
P P
D J;l;m;n = dmn (2118)
and the symmetry of the translational (h,H) functions has been observed (i.e., (H ]T = [H ]). This completes the treatment of the kinematics of serial manipulators.
51
Table 23. First Order Influence Coefficients
for Serial Manipulators
Joint Type
Symbol at M at N Restrictions Value
Rotational n sj Sn
[GJ kin n>j 0
(P
All n 0
Translational
R nij Sn x (PRn)
[JGP]n
(P P nsj Sn
R,P n>j 0
52
Table 2.4 Second order Influence Coefficients
f or Serial Manipulators
Joint Type
Symbol At M At N Restrictions Value
Rotational R R m
[Hik lmn R R mvn or n>j 0
P P All m,n 0
R P All m,n 0
Translational
R R m~n:5j SmxLSnx(PRn)]
[)HP 1M~n
R R n'~mj Snx[Smx(PRm)]
P R n
R P m'~n:j SmxSfl
P R m~n~j 0
R P n~m:Sj 0
R,P R,P (m or n) < j 0
53
Table 25. Thirdorder Influence Coefficients for Serial Manipulators
Joint Type
Symbol 1 M n Restrictions value
Rotational R R R 1
IDjk]l;m~n R R R m
R R R m,lSn or ni 0
P all l,m,n 0
Translational
[DP 1lm~ R R R 1l5m~n~j S lx(Smx[Snx(PRn)])
(P(M R R R m
R R R m~n
R R R n
R R P l5m:5n~j SlX(SmXSn)
R R P m~ln5j Smx(SlxSn)
R R P m,1n or nj 0
R P p all other by symmetry
1 ,m, n~j
P p all l,m,n 0
l,m,n>j 0
54
The Dynamic Model
This section deals with the determination of the
generalized input loads (forces and, or torques) required to cause the system in question to undergo some arbitrary desired motion. The derivation of the describing equations presented herein is based almost entirely on two fundamental principles of mechanics (the principle of virtual work and d'Alembert's principle). Lagrange's equation could have been employed, yielding the same results (typically in scalar form as in Thomas, 1981). However, it is felt that the approach taken here more directly stresses the geometric nature of the result.
The principle of virtual work is used to obtain the generalized forces (or torques) necessary to counteract externally applied loads and put the system in a configuration (i.e., position) dependent static equilibrium. This principle has been employed by many researchers (e.g., Whitney, 1972, Paul, 1972 and Thomas, 1981) to deal with loads applied to the endeffector of a serial manipulator. It can also be used to handle loads generated by such system components as springs and dampers as demonstrated by Benedict and Tesar (1978b) and Freeman (1980).
D'Alembert's principle is used in conjunction with the principle of virtual work to address the system's inertial dynamics. This approach to determining the generalized inertial loads is not unique to the author and has been
ARM
55
observed by several investigators (e.g., Kane, 1961 and Silver, 1982). One form of the equations resulting from this approach has even been referred to recently (by Kane and Levinson, 1983) as Kane's dynamic equations. The concept (alluded to as early as 1923 by Wittenbauer), however, is a natural consequence of the two principles and is usually referred to as the generalized principle of d'Alembert (see Lanczos, 1962, Meirovitch, 1970 and Lee, 1982).
Finally, the dynamic equations are expressed in terms of configuration (i.e., position) dependent coefficients operated on by the higherorder generalized input coordinate kinematics (i.e., velocity and acceleration). This result for the dynamic model is greatly facilitated by the use of kinematic influence coefficients and yields a highly geometric description of the system dynamics where the effect of the action of the generalized coordinates on each other is transparent. It should be noted that this transparency is of extreme importance (if not absolutely necessary) when dealing with the transfer of the dynamic model from one set of generalized coordinates to another.
The Principle of Virtual Work
This principle is the first variational principle in mechanics and aids in the transition from Newtonian (Vectorial) dynamics to Lagrangian (Analytical) dynamics. It is concerned with the static equilibrium of mechanical systems, and can be stated as: The work done by the applied
56
forces in infinitesimal reversible virtual displacements compatible with the system constraints is zero. To get a more analytical handle on this principle, consider a system containing N, Pdimensional, dependent motion parameters
u = (iul iu2 iuP)T i =1,2,...,N
acted on by N, Pdimensional, applied loads (2119)
iTu = (iT1 iT2, ..., iTP)T ,i=1,2,...,N
(2120)
where the preceding superscript indicates which parameter is being considered, and the applied loads can be viewed as implicitly dependent on the generalized coordinates. Further, suppose that the system has M degreesoffreedom and, hence, its motion can be completely described in terms of M generalized inputs, q = (ql, q2..., qM)T (2121)
and that these coordinates are acted on by M generalized forces
jq = (T1, T2, ..., TM)T (2122)
For the system to be in static equilibrium, the principle of virtual work states that the virtual work (8W) must be zero, or
6W = T q q + i1 u u (2123)
i=1 (223
(Sq)T T + N (6iu)T iTu
q i=1
= (5q)T Tq + N eTiuTiu =(q)T Tq + iE ((8q)T[iGu]T)iTu i=l q
=0
57
since, for the virtual displacements (&iu) to be compatible with the system constraints (see equations (27) and (28)) 6iu = D J 6qn = [iGul&
n=l Dqn q (2124)
Now, because the virtual generalized displacements (6qn) are all independent, hence arbitrary, equation (2123) yields M independent equations for the required generalized loads as, in vector form
N iGuTiTuTL
il q q (2125)
where TL is the effective load at the inputs due to all
q
applied loads.
The Generalized Principle of D'Alembert
The statement of this principle is as follows: the total virtual work performed by the applied and inertial forces through infinitesimal virtual displacements, compatible with the system constraints, is zero. To see how this principle can be used to obtain the generalized input loads (Tq) required to overcome the system's inertia and cause the desired motion, again consider the dependent parameters (iu) of equation (2119) where, now, they describe the kinematics of the system's mass parameters [iMu] = P x P i=l,2,...,N (2126)
This allows the system's momentum (Lu) (both linear and angular) to be expressed by the N, Pdimensional, vectors
(Lu) as
58
NN
LU = E (iLu) E ([NiMUi(
i=1 i=1
Further, assume that there exist N, Pdimensional, load vectors (iTu, i = 1,2,...,n) that if applied to the associated mass motion parameters (iu) would cause the desired system kinematics (i.e., the position, velocity and acceleration of the iu). The generalized principle can now be written as
N N d_ _=
Z (iTu iLu) iu = (iTu d ((iMu]iu))'iu = 0
i=l i=l t (2128)
yielding, for the virtual work (6W) done by these hypothetical applied loads (iTu), the following relationship:
N iu N
6W =E ITu 6iu = d([ MuJla) 61u
(2129)
This result, in itself, is not very useful since the virtual displacements (&iu, i = 1,2,...,n) are not independent. However, when one recognizes that the virtual work can also be expressed in terms of a set of M generalized forces (Tq) acting on a corresponding set of generalized coordinates
(S), which are independent, as (where here the generalized forces are, in essence, replacing the hypothetical applied loads instead of opposing them, as in equation (2125) to obtain static equilibrium)
N
8W = ~u iu = Tq 6q(210
i=l (2130)
the following, very powerful, result occurs:
59
N
Tq 8 d([iMu]i3) 6iu
Tq 6 ~= 1~ ..
N (2131)
= N d([iMu1 ) [iGU]6i=l jt q
or, following manipulations similar to equations (2123), the required generalized forces are
N
1q = Ej [IGU]T { d([iMujiu)} = q dt (2132)
Investigation of equation (2132) yields an interesting result. That is, the effect of the dynamics of each mass motion parameter (e.g., each link) on the generalized inputs can be considered independently (also see Silver, 1982, equation (25), where the dynamics of each link are expressed in terms of the NewtonEuler equations). In fact, the result of equation (2132) can be obtained from the derivation of the generalized input loads required to offset a set of applied loads (see equations (2123), (2124) and (2125)). To see this, simply replace the applied loads (iTu) in these equations with either the d'Alembert loads (&_([iMu]ia)) or the negative of the NewtonEuler dt
equations. In this light, one could view the result of equation (2132) as being obtained from the virtual work of the d'Alembert loads.
Now, recalling equation (27) for (iu), equation (2132) can be written as
N
Tq = E [iGu]T f d([iMu][iGu] )}
i=1 q dt q (2133)
60
Recognizing that the momentum vectors are functions of the generalized coordinate positions and velocities (i.e., q and q), one has that
d([iMu][iGuj4) = 3 ([iMu][iGu]4)4 + ([iMu][iGu])q
d q q
dt q (2134)
The second of these terms follows immediately from equation (213) as
3 ([iMu]iGu]4)q = [iMu][iGujq (2135)
q  q
If the mass parameters ([iMu]) are configuration independent (i.e., [iMu] = f(q)) (which is not the case when dealing with the effects of inertia in spatial devices, but including the generalization gives no insight here and the question will be dealt with specifically in the case of the serial manipulator), then recalling the development of equations (214) through (224), the first term of equation (2134) becomes
([iMu][iGu]) = [iMu]qT(iHu ]q (2136)
q q qqSubstituting the results of equations (2135) and (2136) into equation (2133) gives for the required input loads
N
Tq = E {Gu]T iMu]tiGu]}
i1 q q (2137)
N
+ N {[iGujT[iMul4T[iHu ]} i=l q qq
Note that for constant mass ([iMu]), this equation can be immediately obtained by substituting equation (227) for
(iu) into equation (2132). Now, equation (2137) can be written in the general form for the generalized inertia loads (TI ) as
*q
61
TI = [I* ]q + Tfp* (2138)
q qq L qqq where, the configuration dependent coefficient
= N
[I* Z [iGu]TiMu][iGu] = M x M
qq q q (2139)
is a positive definate matrix representing the effective inertia of the system as seen by the inputs. The system's kinetic energy is also expressable in terms of this coefficient (see Thomas, 1981) as KE = 1 iT[I* ]4
qq (2140)
The configuration dependent coefficient
* =N ((iuT[iMu])
LP* I E (([iGU] [iHu ]) = M x M x Mt
qqq 1=1 q qq
(2141)
is the inertiapower modeling matrix dealing with the effects of the velocityrelated acceleration terms. Note that the subscripts on the model coefficients indicate, not only the dimension of the result, but also aid in investigating specific terms. For example, the nth generalized inertia load is
TI = [I* ]j + 4T[p* ]q
n nq nqg (2142)
= rfj* I qj + q*T[P*
qq n; qqq n;;
where
62
nq ] N [iGu]T[iMu][iGuj
=q n [q[ (2143)
and
[Pq J N {((iGU]T[iMu]) 2[1
nqq i=i n qq (2144)
It should be noted that the form given in equation
(2138) for the inertia related terms of the dynamic model is completely general and applies to all types of rigidlink mechanisms. The only differences lie in how the kinematic influence coefficients are obtained and, if the mass parameters ([iMul) are configuration dependent, the coefficient [P* ] contains an additional term (as will be
nqq
seen in the serial manipulator development).
The Dynamic Equations
Finally, recalling equations (2125) and (2138), the generalized input forces (or torques) required to generate the desired system trajectory under load are given by
I L
=q Tq Tq (2145)
= [I* ]T + NT* ] [
_q +_q P Iq E[ iGU]T iTu
qq qqq i=1 q
This result shows the highly geometric nature of the dynamics of multibody systems, and is precisely the reason why this representation for the dynamic model is chosen over the NewtonEuler form. While this form may, or may not, immediately yield the most efficient scheme for realtime
63
computation (Hollerbach, 1980), the insight that can be obtained from this geometric view is considered essential for realtime control. What is meant by this is that, if one does not understand the essence (which is geometric) of how the effects of the system parameters (e.g., system mass, endeffector loads) on the inputs vary, then it is unlikely that one can intelligently address the question of any type of control, much less realtime control. Regardless, as will be seen later, when dealing with cooperating manipulators (including walking machines and multifingered hands) the geometric form of equation (2145) is extremely useful, if not altogether essential.
This form (equation (2145)) is also convenient in
addressing the question of dynamic simulation. Here, since the effective inertia matrix ([1* 1) is positive definite qq
(i.e., its inverse always exists),one can determine the system's response by solving equation (2145) for the generalized accelerations as
= Iq]q (~ qqq' N~ IuTiU (2146)
While any of a number of numerical integration routines can be employed to solve this equation, multistep predictorcorrector methods (e.g., Adams) are suggested over singlestep methods (e.g., RungeKutta) due to their greater efficiency regarding computetime versus accuracy. This greater efficiency is desired because of the computational
64
complexity of the function evaluations required at each time step. It should be pointed out, however, that the effective inertia matrix is the only model coefficient necessary for the response prediction. The remaining terms are perhaps best obtained in terms of a recursive formulation due to the supposed greater computational efficiency afforded by that method (Walker and Orin, 1982).
Also, the influence coefficient model formulation allows one to directly address the question of design (Thomas, 1981). Here, the model parameters can be used in conjunction with classical optimization techniques to develop actuator sizing (Thomas et al., 1984) and stiffness (Thomas et al., 1985) criteria, as well as motion and load capacity due to actuator limitations (Thomas and Tesar, 1982a).
Dynamics of Serial Manipulators
The development of the dynamic equations presented here wiil follow the structure of the previous parts of this section. First, the effect of applied loads on the manipulator's generalized inputs ((p) will be addressed using the principle of virtual work. Next, the systems inertial effects will be considered via the generalized principle of d'Alembert. Finally, the resulting dynamic equations are presented in the form of the generalized dynamic model of equation (2145).
65
Applied loads
As with the kinematics, it is convenient to separate the rotational and translational properties when dealing with the dynamics of rigid bodies undergoing spatial motion. In this light, consider a set of M, 3component, force vectors (JfP, j = 1,2,...,M) and a set of M, 3component, moment vectors (mJk, j = 1,2,...,M) applied to their respective translational (J) and rotational (wjk) motion parameters. Now, immediately from the virtual work result of equation (2125), the effect of the applied loads on the generalized input coordinates ((p) is given by
N
TL = Y ((JGP]T JfP + [GJkjT mjkj
( j=l ( P
(2147)
where, the Jacobians are both 3xM matrices defined in equations (266) and (255).
Inertial effects
To address the effects of the system inertia one could, as previously implied, simply apply the principle of virtual work to the classical NewtonEuler equations of motion for a rigid body, yielding
M
TI= {[JGcjT gjk jac
S =1 (2148)
+ [GJk]T([IiJk] aik + Wjk x [Iikjwjk)} Here, Rjk and [Ijk] are, respectively, the mass and global inertia matrix of link jk, with
66
3ac = [JGC]3 + CT(JHc ]c (2149)
O P(
being the acceleration of the center of mass of link jk
(Jc), and
W jk = [Gjk]p (2150)
(P
and
cjk = [Gjk]jg + T[Hjk] (2151)
are the absolute angular velocity and acceleration of link jk. Now, by substituting equations (2149), (2150) and (2151) into equation (2148) and algebraically manipulating the result one could obtain the desired general form of equation (2138). While this operation gives the desired result it is felt that a slightly more rigorous approach, starting with the system momentum, gives more insight into the geometric nature of the solution.
The momentum of a rigid body (e.g., link jk) can be
expressed in terms of two distinct vector quantities; these being the linear momentum (pjk) expressed in terms of the mass (Mjk) and the velocity (iVc) of the center of mass
(Jc), and the angular momentum (Ljk) given in terms of the link's angular velocity (wjk) and the global inertia tensor ([IIjk]) about the centroid of the link.
The effective generalized inertia loads resulting from the rate of change of the system's linear momentum can be obtained directly from the development of equations (2133)
67
through (2141). This is possible since the link's mass (Fjk) is constant with respect to the global reference (i.e., independent of the system's configuration) and can be expressed as
[JMU] = jk(I]3x3 (2152)
which allows one to write the link's linear momentum as pik = Rjk[jGC] (2153)
The time rate of change is now
jk = rjk([ jGcI + TJHc]
 V (2154)
and yields
PT = M [jGCIT pjk
Q j=1 0 (2155)
as the total effective load due to changing linear momentum. Expressing equation (2155) in model form gives the load as
TI = [PI* ] + T[Pp* (2156)
( (2156)
with
(PI* ] = M [Pyjk] =j (M[GCT[jGc]) = Mx M
(P9 j j=Q
(2157)
and
[p,] M M
[P ] = [fPpjk ] = jk([jGc]T [JHc ]) = 3 x M x M
VPQ j=l (P2 j=l 2 1
(2158)
68
where the Jacobians ([JGc]) have shape (3xM) and the secondorder coefficients ([jH ]) have shape (3xMxM).
The development of the effective inertia loads (LT,,) caused by changes in the system's generalized angular momentum is more difficult. This is due to the fact that, while the local inertial properties ([(J)IIJk]) of link jk are constant, the inertia properties ([IIJk]) expressed in terms of the global reference are not. As previously mentioned, this configuration dependence, resulting from the rate of change of the local reference frame in which the link's constant local inertia matrix is expressed, introduces an additional term into the inertial power matrix
L*
([Lp])
With this in mind, it is perhaps best to initially view the global angular momentum of link jk (LJk) in terms of the link's angular momentum as expressed in its own bodyfixed reference ((j)LJk). Recalling the use of the rotation matrix (TJ) illustrated by equations (247) and (258), one has
Lk = TJ(j)LJk (2159)
Now, the local angular momentum is
(j)LJk = [(J)Iijkj(j)wjk (2160)
where, noting that the rotation matrix is orthogonal (i.e., (TJ]T = (TJ]1), the link's locally expressed angular velocity is
(j)jk = [TJjTwjk = [Ti]T[Gik] (2161)
69
Combining equations (2159), (2160) and (2161) gives the globally referenced angular momentum of link jk as
Lik = [Ti][(J)IIk][Ti]T[Gjk]2
(2162)
This is the desired form of the momentum since all configuration dependent terms are shown explicitly. Even so, notice that the global angular momentum of link jk (L3k) can be expressed in the same form as the local momentum (equation 2160) as
Ljk = [ijk]wjk = [Iijk][Gjk]g (2163)
(P
where, from equation (2162)
[IIjk] = [TJ][(J)IIk][Ti]T (2164)
is the globally referenced inertia dyadic.
As before, the momentum is seen to be a function of the generalized coordinate positions (p) and velocities (W). Therefore, the time rate of change of link jk's angular momentum can be obtained from jk Ljk jk ..
Lk =DL ek + DL jk
_a (2165)
The second term in equation (2165) is immediately seen to be
ak [IIjk](Gjkj (2166)
=(
70
The position derivative is not as transparent and will be pursued in terms of the standard Jacobian formulation for vector differentials. Although there are three configuration dependent terms in the momentum expression, the differentiation will only be broken into two separate operations and addressed in the manner of Thomas (1981). This method gives, for the position derivative
jk
= ([ijJk]wjk)
= _([IIjk][Gjk] ) (2167)
= (T 3) [(j)IJk][Tj]T[Gjk]
+ (TJ]T[(j)j1 k]_ _([TJ]T[GJk] )
To obtain the first partial in equation (2167) it is beneficial to remember what the elements are that make up the columns of the rotation matrix:
Tj= [*ajk *sj x*aJk *sJ (2168)
Here, one sees that the vectors whose direction cosines make up the columns of (TJ) are free vectors fixed relative to (i.e., in) link jk. In this light, recalling the more geometric formulation of the kinematic influence coefficients, the differentiation yields the familiar vector cross product result
71
(T ) = gjk x TJ n=1,2,...,M (2169) On n
Defining the remainder of the first term of equation (2167), for convenience, as
b = [(j)jIjk][TJ]T[Gjkj T (2170)
and observing the Jacobian convention, gives the nth column of the first partial in equation (2167) as
T]b) = I([T ib) = gjk x [TJ]b ;n (n n (2171)
where, the vector (b) is considered constant in this operation as indicated by the bar overstrike (b). Introducing a generalized cross product notation (x) one has
[Gk]T x TJb S [gjk x TJb : .. gjk x TJb]
1 M
(2172)
where the first dimension (i.e., row) of the left argument operates across the first dimension of the right argument (i.e., across all rows). Now, recalling equations (2164) and (2170), equation (2172) gives, for the first partial in equation (2167), the relationship
3(TJ)[(j)IIJk][TJ]T[GJk] = (GJk]T x [IIk][GJk]i
3 Q (DQ
(2173)
Turning our attention to the second partial in equation (2167), the first step (Thomas, 1981) is to recognize that since the rotation matrix (TJ) is orthogonal, i.e.,
72
TJ[TJ]T = [I]3x3 = constant, (2174)
one has that
3(TJ[T]T[Gjk]) = ([Gk~)
( (P (2175)
Using the chain rule on the lefthand side of equation (2175), and referring to equations (220) and (2173), yields
[Gik]T x [Gjk]$ + TJ _([TJ]T(Gjk]$) = GT[Hjk]T
( P(P VPX
(2176)
Rearranging and premultiplying by [TJ]T gives
_([Tj]TIGjk]g) = [TJT( T[Hik T GjkT x [Gjk]) ( P (P (P
(2177)
Direct investigation of the righthand side of equation (2177) shows that
&T[HJk]T (GjkjT x [Gjk = T[Hik]
(2178)
Confirmation of the above result is left to the reader; however there is another way to show the validity of the final result which also points out an interesting result. Considering that the partial derivative of equation (2177) is to be postmultiplied by 4, the ultimate usage of the relationship given by equation (2178) can be justified by showing that
([GJk]T x [GJk) = (2179)
( (2179)
73
since
T[Hjk]T = T[HJk (2180)
(2 1
Recalling equations (255) and (2172), and manipulating the result, one has the following:
([Gjk]T x [Gjk]}() = ([Gik] x _jk)
(P (P (P (2181)
= [ajk x jk k x jk]1
= (ik xjk
n=l n n
= ijk x &jk
= ([Gjk] ) x ([Gjkj$) (P (P
=0
Therefore, while not rigorously verifying equation (2178), the preceding proves that
_([TJjT[Gjk]_) = [Tj]T(AT(Hjk] )
z (2182)
which is the term ultimately needed. Finally, by substituting equations (2166), (2173) and (2182) into equation (2165) and, recalling equation (2164), the time rate of change of the angular momentum of link jk can be expressed as
Ljk = [(ijkj[Gjk] + [IiJk]2TlHjk]*
9 (2183)
+ ([Gik]T x fIIJk]l[Gjk])$
(PD
74
Note that, by combining the first two terms of equation (2183) and following the algebra of equation (2181), equation (2183) is an alternate form of Euler's equation of motion for a rigid body as expressed in the global reference
N = L3k = [Iijk]0jk + ajk x (IIjk]wjk (2184)
Now, referring to either equation (2132) or (2148), to obtain the generalized load required for this change in momentum (LTI) one premultiplies equation (2183) by the transpose of the link's first order rotational influence coefficient ([Gk jT), yielding
LTI = M [G TLk = {[GJkT Jk][GJk
E f(GjG]k]Tjjik[= k](
(D j=ll
(2185)
+ [Gjk]T[Ijk] T[Hjk 5
+ P W
+ [Gjk]T([Gjk]T x [Gjk])p)} (D (P (P
To get this equation into the desired form of equation (2138) requires some manipulation of the velocity related terms. The first of these terms is readily accommodated by the generalized dot product (see Appendix A) giving
[GJk]T(IIJk]T[Hjk]q = 2T([GjkjT[I!jk] [Hjkj)g
(2186)
The remaining term is a bit more obscure and is attacked with the aid of the following vector relationship: a b x c = c a x b (2187)
. . .(2187)
75
Recalling
LIk (jjjkj[Gjkj (2188)
(P
one has that
(GjkjT([GjkjT x (Ijjkj[G"r]$)
(P (P (P
(Gjk]T([GjkjT x Ljk) (2189)
(P (D
[GjkjT( [gjk x Lik (P g3K x Lik]
m
jk qjk x Lik ... gjk gjk
M x Lik
ik gjk x Lik ... gjk gjk
M M x Lik
;jjk ik x lik ... LJk ik ik x 2 m
Lik _q k x aik Lik k x k
1 4 41,
(Lik)T[[Gjk]T x CGjk]j
(P (P
where
([GjkjT x (1jk]] = gjk x [Gjk] = 3 x M n;; n (D
so (2190)
(Gjk]T((GJ'kjT x[jjjk]
(P [Gjkj )&
(P  (2191)
T([Gj k]T[jjjk]((GjkjT x (Gjkj))
(D (P
76
Now, from equations (2185), (2186) and (2191), one has LmI [Li* TrLp* (2192)
I (p + (p I W CPQ QQ(D
where
(Lj* M (Ljjk] ((Gjk]T(Ijjk][Gjk])
(DQ j=1 W j1 Q (P
(2193)
and
M M
LLp* E (Lpjk E f[GjkjT(Ijkj [Hik])
QW j=l WQ J=1 Q W
([Gjk]TIjjkj([GjkjT x (Gjkj)))
(2194)
Finally, combining the effects of both the linear and angular momentum gives
TI = (1* 12 + T*r'nLP* 1$ (2195) Q W QQQ
for the total generalized inertia load, where
[I* [Pj* ] + [Lj*
QQ Q(D QQ
(2196)
k[jGc]T[jGcj + (GjkiT[jjjk][Gjk,) j=1 (D Q Q Q J
and
[p* [Pp* [Lp*
I QQQ QQQ
(2197)
M
E (Rik([jGcjT [jHc 1)
j=1 (D QQ
([GjkjT[Ijjkj [Hjkj) Q QQ
(Gjk]Trjjjk]((G'kjT x (Gjk])),
77
The dynamic equations
The dynamic equations for the general Mdegree of
freedom serial manipulator can now be written in the desired general form of equation (2145), giving the required generalized input load as
S[T (I E ([jGP]T jfP + [GJk]TmJk
(P (2198)
with the I* and P* matrices as defined in equations (2196) and (2197). Solving this equation for the generalized coordinate accelerations gives the simulation form of the dynamic equation
= [I* I1{T [p* ] + TLJ
(DCP (P((P Q (2199)
used to predict the motion of the manipulator resulting from the load state on the system.
This completes the development of the dynamic model for the general Mdegree of freedom serial manipulator. The two secondorder equations (2198) and (2199), or some other representation of these relationships, are the usual stopping points in the study of the motion of rigidlink mechanisms. While one can determine the input loads (T(P) (force or torque) required to cause a specified motion (p(t)/, or the response (((t)) of the system to the specified load state (T&), the question of control is not immediately addressable. The reason for this is that these equations assume the instantaneous availability of finite
78
torque. This availability is not generally the case since the actuators themselves are governed by their own dynamic equations. In an effort to overcome this deficiency the following section, cognizant of modern linear control theory, is included.
The Linearization of the Dynamic Model
Many researchers (e.g., Kahn and Roth, 1971, Dubowsky and DesForges, 1979, Horowitz and Tomizuka, 1980, Liegeois et al., 1980, Armada and No, 1981, LeBorgne et al., 1981, Golla et al., 1981, Freund, 1982, Guez, 1982, Vukobratovic and Stokic, 1982a, and Stoten, 1983) have investigated (and are continuing to investigate) various methods of linear and nonlinear, adaptive and nonadaptive, control. While it appears likely that nonlinear adaptive control schemes hold the greatest promise for the ultimate realtime control of highly nonlinear systems such as robotic manipulators, the development of such a scheme is not the purpose of this section. The purpose of this section is, instead, to use the well established technique of linearization about a nominal motion trajectory, to develop a generalized state space model. once this model is established, while again not the purpose here, one can apply the tremendous body of knowledge of modern control theory to address the feasibility of such control methods. Here, of primary concern would be the question of the time variance of the
79
coefficients in the state space model. In other words, for a given task (or trajectory), do the coefficients vary slowly enough to allow the system to be treated as time invariant with respect to controller design? While this type of formulation is not original (see Vukobratovic and Kircanski, 1982b, Lee and Lee, 1984, and Whitehead, 1984), it does not appear to have been fully investigated. Therefore, for possible future investigation (for specific shortterm solutions) and completeness, this section presents thedevelopment of the generalized controlling state space equations for the serial manipulator, including actuator dynamics.
The Linearized Equations of Motion
The first step in the development of the controlling state space equations is the linearization of the dynamic equations with respect to the prescribed state variables (ignoring, for the moment, the actuator dynamics). Here, adopting the standard velocityreferenced model, the deviations in the generalized coordinate positions (8o) and velocities (& ) make up the (2Mxl) state vector (x), or
Q 6()=( actual p nominal
CP actual CP nominal/
Now, noting that the generalized load (q:(,) is a function of the generalized positions ((p), velocities ()and accelerations ( 6), one has
80
= = + 6 + (2201)
I(t)nom. (P(t)nom. (P(t)nom.
as the general equation for the linearized dynamics (the question of independent external load disturbance is addressed later). The task at hand, then, is to derive expressions for the partial derivatives in equation (2201), to as great a degree as possible, in terms of the same general algebraic operations and parametric modeling coefficients employed in the dynamic equations themselves (to minimize the additional computational burden).
Writing the generalized load in the form of equation (2198) gives
/0 + iT(p* [jGu]T jTu
(M (P j=1 (P (2202)
where (JTU) is a general applied load vector associated with link jk consisting of both force and moment components (and is assumed to be constant in the following derivations). This form allows one to obtain the first two terms in equation (2201) directly from previous operations. Recognizing the similarity in the form of equations (227) and (2202) and, recalling the development of equations (228) through (236), one has that DT
_CP (2203)
and
81
d6 = ([P ] + LP ]T 4 (2204)
Now, to address the third term of equation (2201), particularly in light of the previously described generalized vector dot (*) and cross (x) product operations, it is convenient to express the dynamics in terms of the NewtonEuler form of equations (2147), (2155) and (2185) as
T =Z ([Gjk]T Lik + [jGc]T jk (jGuT jTu)
(2205)
Investigating the last term of equation (2205), where the preceding superscript (j) is dropped, one has the standard Jacobian result
T 3TL TL
i .1 1
9P1 3(2 YPM
Gu T u TL TL (2206)
[ T]I ) = (p = 2
9TL 3TL
M M
This gives the component in the mth row and nth column as
3TL uT gu u
m = ((T ) (m)) = (Tu)T h
D3n 8 n (2207)
or, for the total MxM matrix result, reintroducing the superscript (j), one obtains the expression
82
JGu T i u
([ P] ) = (JTU)T [jHu T
Bg 49 (2208)
The contribution of the linear momentum can be determined, using the chain rule, from
jGc T.jk 3Gc Tjk .k
3([ P1 ) = 2([ ) + [JGc]T (.3)
(2209)
The first term, where the change in momentum is considered constant (signified by the bar notation), follows directly from the previous derivation and yields
3Gc Tjk
([ G ] ) = (_jk)T [jHc
(2210)
with the symmetry in the translational (h,H) function observed. Recalling equation (2154), one has that
3. U )= jk 3(([JGc 1 + jT[H Hc )
3 (2211)
which, referring to equation (238) and (241), becomes
jk +~~~ ~
( jk ) = M]k(jTjHc + TDC
(2212)
Now, premultipling equation (2212) by the Jacobian transpose and substituting, with equation (2210), the result into equation (2209) gives ]Gc T jk2213
(Gm T )T ] (2213)
9(tP* QQj~
83
+ jkjG T jHC + Rjk[ jGCjT(T[HjD])
Application of the generalized inner product to the second term of this equation yields
Mjk[jGc]T( TjHc 1) = T(jkjkGcjT [JHc ])
(P (P(P(P (P(P
(2214)
which, recalling equation (2158), gives the fortuitous result
jk[J3Gc]TT(jHc T) = TPpjk
(P W (PP (2215)
Finally, substituting equation (2215) into (2213) one obtains the expression
3GC T.jk .k)T [jH1
3 ( P ] ) = (P ) Hc
(2216)
ST (Pjk]
+ gJk[ jGC T( T[ jDC ]8 Now, recalling the result of equation (2208) and the form of equation (2209), the contribution of a link's angular momentum to the last term in equation (2201) can be written immediately as
([GJk T jk = (JLik)T ([Hik]T + [Gjk]T a(i )
(2217)
84
To obtain the final partial derivative it is perhaps most convenient, especially considering previous derivations, to use Euler's form for the change in angular momentum (see equation(2184)), or
=. j Jk]jk + [k x [Ijk]jk) (2218)
Addressing the first term one has (see the development presented in equations (2167) through (2177))
([IIjk]jk) [GJkjT x [Ijk]jaijk
(2219)
+ [iiJk]( gjk [Gjk]T x a jk)
Recalling equation (270) for link jk's angular acceleration and the form of equation (243) for the first geometric derivative of the acceleration allows one to rewrite equation (2219) as
([JIIjk]cjk)= ([Gjk T (jk(Gjk Tjk
(2220)
+ [IIJk{(T[Hjk]T + T[Djk ](2220)
[Gjk]T x ([Gjk] + T[Hjk)}
WD Q (D(P
Utilizing the result of equation (2178), equation (2220) can be reduced slightly to
3([iiJk]ajk) = ([Gjk]T x tjJk]((Gjk] + jT[Hjk] ))
(2221)
+ [IIjk](T(Hjk] + T[Djk ]$ [Gjk]T x T[Hik]) VDP (P(P (pV
85
Now, returning to equation (2218), one has that
_8(jk x [iIjk]jk) = __(mjk x LJk) (2222)
= jk x Lik + wjk x Ljk
Substituting the results of equations (220) and (2167), respectively, for the partial derivatives in equation (2222) give
a(jk x Ljk) = (T(Hjk]T) x Lik
8 (2223)
+ wjk x ([Gjk]T x Lik + (jk IIk](T[Hjk])) Q P(
Combining the results of equations (2221) and (2223) to obtain an expression for equation (2218) and substituting this expression into equation (2217) yields, in light of equation (2194) and the generalized vector dot (*) and cross (x) products, the 3xM matrix
3([GjkjTLjk) = (Ljk)T [Hjk]T (P
TLpjk (2224)
+ [Gjk]T{([GjkIT x T( jJk] [HJk)) (D (P (D(P
+ (($T[Hjk]T x [IIjk]j[GJk])
+ (([GJk] /T x ((jIIJk](T[HJk]T)
+ [GjkiT x ([IIjk][Gjk])))
(P (P
86
+ [IIJk]((T[Djk ] [GJk]T x T[HJk]) (P(P Q OQ
Finally, substituting the results of equations (2203), (2204), (2208), (2216) and (2224) into equation (2201) one has the general linearized dynamics given by (where all coefficients are evaluated at the nominal generalized coordinate values)
ST = j 84 + T( + (2225)
0L L ((2225)
= [I* ]B + [iT([p* ]+ [p* ]T)]6
+ {(jTU)T [jHu ]T + (pjk)T [jHc ]T
S(jkr)T. [Hik]T + [JGC]T g(pJk) QQD
+ [GJk]T (Ljk)}] 8(
Notice that, if the load (JTu) is a known function of the generalized coordinates, the effect can be easily accounted for. For example, if the load is a function of velocity the second term in equation (2201) will become
@T T [p* + p* ]T) M j u
8 l [([p ] + L ]) [JGU]T T!LT
(2226)
Also, if the load itself varies from its nominal value, which is likely, equation (2201) contains the additional term
87
M T M
E =P E O(G]T &jTu
j1 jT j=i Q~j (2227)
Investigation of equation (2225) shows that no new computations are required for the first two coefficient matrices however; for the third (i.e., (3T~] there
appears to be a considerable additional requirement. In view of this, especially with recognition of the considerable similarity in the basic nature of the various components making up this coefficient, a detailed investigation of this matrix to determine the minimal reduced equation is warranted. However, since the linearized model coefficients are based on the nominal trajectory and determined offline, this effort is left for future work.
Actuator Dynamics
In this section only one of many types (e.g.,
electromechanical, hydraulic, pneumatic, etc.) of actuators is investigated. For additional information on actuators and their dynamics the reader is referred to Borovac et al. (1983), Electrocraft (1978) and other sources.
The specific type of actuator addressed here is the separately excited dc motor (Myklebust, 1982). In this device, the field current is held constant and speed control is accomplished by control of the armature terminal voltage. The controlling equations for this type of device are
88
Ldi + Ri + CEq = V (2228)
dt
TI + Bq CMi = Tq
for a single actuator or, in matrix form, for all M actuators
[Lq]i + [Rq]i + [CEq]k = Y (2229)
[q] + [Bq]{ [CMq1] = q
where i is the Mxl vector of armature currents (amp), v is the Mxl vector of terminal voltage (volt), [Rq] is the MxM diagonal matrix of armature resistances (Ohm), [Lq] is the MxM diagonal matrix of armature inductances (Henry), q is the Mxl vector of motor output shaft angles (rad), [Tq] is the constant MxM diagonal matrix of rotor inertias (in.lbfsec2), [Bq] is the MxM diagonal matrix of rotor damping (in.lbfsec), (CEq] is the MxM diagonal matrix of motor speed constants (voltsec), (CMq] is the MxM diagonal matrix of motor torque constants (in.lbf/amp) and Tq is the Mxl vector of load torques (in.lbf).
Addressing the actuator dynamics one must relate the M output shaft parameters (q) to the M generalized joint coordinates ((p). Here, the following assumptions have been made: of constant transmission between the motor (g) and joint ((p) parameters (i.e., the Jacobian [GP] is constant),
q
zero compliance in the drive train, and zero backlash in the drive train. Recalling equations (27), (227) and (2130) allows one to write
89
= [Gm]
q (2230)
=[GO] [GP] = constant
q
and
= [G(Pj TT (2231)
q
where the MxM Jacobian ([G(]) is dependent on the specific
q
drive trains employed. Here, the entry in row m, column n relates the motion of the mth joint parameter (om) to the nth motor shaft (qn). Typically, this matrix is diagonal since each joint is usually controlled by a single associated motor. In fact, for direct drive devices this Jacobian is simply the MxM identity matrix. At any rate, having obtained the Jacobian ((GQ]), and recognizing that it
q
is the joint motion (not the motor shaft) that one wishes to control, equation (2230) is used to find the desired relations
= ](2232)
q
and
q (2233)
Now, substituting equations (2231), (2232) and (2233) into equation (2229) yields
(Lq]i + [Rq]i + (CEq][G(]1 = V (2234)
q
90
[Iq][G']1 + [Bq][G]_1 [CMqJi = [GP]TT
q q q
for the motor dynamics expressed in terms of the joint parameters. Finally, the actuator dynamics (equation (2232)) can be expressed as [Lq]i + [Rq]i + ICE(p](P = V_ (2235)
and
[I' ] I [BCJ + [CMW] = T (2236)
where the second of equations (2234) was premultiplied by minus the inverse transpose of the Jacobian and, for example, where
[I I]= [GQ]T[Yq][GIP]I
P[q q (2237)
One should note that, with the stated assumptions, all the coefficient matrices on the lefthand side of equations (2234) and (2236) are independent of the generalized coordinate positions (p) and, since the variation of the motor parameters is not addressed, are considered constant.
Having obtained the desired expressions for the actuator dynamics, one can now determine the nominal input voltages
(M) required to drive the system along the specified nominal trajectory (((t)). Recalling equation (2202) and solving equation (2236) for the current gives
1 = [CMI]I(T + [B ]p) (2238)
where the effective rotor inertia ([I,,]) has been included in the effective inertia matrix ([I*]). Now,
91
differentiating equation (2238) with respect to time, and recalling equation (2225), yields
i M ( + ( + [ BO (D
I P (2239)
Finally, assuming that the nominal joint kinematics are known up to the third order (iL.e., Q(t), 4(t), *iP(t) and t) are known), equations (2238) and (2239) can be substituted into equation (2235) to obtain the nominal voltage (V) as Ynominal = Y(1rii~oia (2240)
As with equation (2225) for the linearized generalized load (6T~), equation (2240) could possible be reduced to a minimum generic form of the class of equation (2145) (TQ). Again, this question will be left open for now since the immediate usage of the linearized scheme only required offline computation of equation (2240).
State Space Representation
Having incorporated the manipulator dynamics into the describing equations for the actuator dynamics, and having determined the nominal input (voltage) requirements one can proceed to develop the state space model of the system. In the case of the dc motor driven manipulator, the state variables are chosen to be the deviations in the generalized coordinate positions (5(p) and velocities (6$) and the deviation in motor currents (6i).
With this selection of the state variables the state space model is of the form

Full Text 
36
Also, notice that the rotational (h,H) functions are zero if
either input is prismatic. Referring to the general form of
equation (227), the angular acceleration of link jk becomes
where
and
with
0.3^ = [g3^]c + qt[h3^](p
cp cpcp
a.3k = (ajx# ajy, ajz)T
[H3k] = 3 x M x M
epep
[H3k] = h3k = (h3X, h3Y, h3Z)T
epep ;m,*n ~mn mn mn mn
(270)
(271)
(272)
(273)
The second order kinematics of a point P in link jk are
perhaps most easily understood by identifying all possible
input combinations and addressing each situation
independently. Looking first at the case where the nth
generalized coordinate is a prismatic joint (i.e., cpn = sn) ,
the time rate of change of the (g,G) function is
g? = in n
Since Â£n can be viewed as a unit vector fixed in link
(nl)n, one has that
x sn i x _sn n
(275)
Taking the partial derivative of this expression yields, for
a prismatic joint n
10
model (in the direct fashion of Chapter II) with respect to
some initial set of generalized coordinates (selected for
ease of modeling), then (using this initial model
information along with the principle of virtual work and the
system's kinematic constraints) the system model is
effectively transferred to any arbitrary desired set of
generalized coordinates. The treatment here is basic in
nature and covers the three main elements comprising the
system modeling of Chapter II: kinematics, dynamics and the
linearized state space representation. The use of this
concept is not without precedent as it has been employed in
one form or another by numerous researchers (referenced in
Chapter III), primarily with regards to system control. One
of the selfimposed constraints on the model transformation
presented here is that the resultant desired model maintain
the same general form as the initial model (e.g., equations
(27), (217) and (2198)). Also, as is shown in Chapter
III, the generalized scalar product (Appendix A) is the key
mathematical realization allowing the maintenance of the
general form.
Now, having established the basic procedures for
obtaining an initial system model (Chapter II) and the
subsequent determination of the system model referenced to
any set of generalized coordinates (Chapter III), the
full utility of the generalized coordinate transfer
technique is addressed. Through the treatment of some
fairly general applications, Chapter IV presents a unified
27
Figure 21. Kinematic representation of the serial
manipulator
75
Recalling
L.lk = [II^k][G^]
(2188)
one has that
[G^kJT([G^kJT x [11^kJ[ G jk j cp)
= [G^kJT([G^kJT X L j k)
(2189)
= [G^k]T([g^k x L^k ... Â¡ gk x L^k])
cp i M
M
gjk a^k x L^k .
*1 *1
g j k
M
gjk x Lk
gjk g jk x lJk
1 M 
g3k
M
gjk X rJk
M
lJk gjk x g^k
*1 *1
L^k 2^k x
L!
ik
g^k x gjk
*1
L^k gik x gPk
where
= (L^k)T[[G^k]T x [G^k]]
cp cp
[[G^kJT x [ G j k ]] = gjk x [Gjkj = 3 x M
(P cp n; ; n cp
(2190)
so
CG^k]T( [Gjk]T x' [II jk] [G^k]cp)
cp
cp cp cp (2191)
= T([G3 k]T[11j k]((G3k]T x (Gj k j))
cp cp cp
124
analysis method should also be noted. Also, the results of
equation (431) are verified (in Appendix D) (for the simple
case of the planar 5Bar) by comparison with the results of
a direct dyadbased analysis.
Now, if the second intermediate coordinate set (y) is
the desired set of (MR) generalized coordinates from which
one wishes to actuate the mechanism, one is done. If,
however, the desired set of coordinates (q) differs from
(y), one must (in part) first obtain the intermediate
dynamics. From equation (431), one has
Ty = [I* ly + yT[P* Jy tl
y YY YYY ~ ~Y
(432)
where the first (MR) rows of ([I* ]) gives ([I* ]) and the
wy yy
ie ic
first (MR) planes of ([Pwyy]) gives ([Pyyy]). Next, one
needs to determine the influence coefficients ([Gr1]) and
Y
([Hyy]) relating the desired set (q) to (y).
Assuming, for now, that (q) is a subset of the parameter
sets (a), (Â§) and (f) one merely needs to recognize that
[G&] = [J] = N x (MR)
y a f
(433)
from the previous results of equation (419), and from
equation (422) that
[H& ]
YY
H3 'h3 '
HaaIriaf
h3 'hP
L fa. I ff
= Nx(MR)x(MR)
(434)
23
3jl =
3(Â£3
s3 p
o U =
3 O1
3 (9 il)
0>1 2
3iÂ£
u
[Dqxpcp] = PxMxMxM
^(pcpcp ] p; ; ; C ^Cpcpcp ^ 1 X M X M X M
(242)
, u u
[ Dcpcpcp J ; 1; ; 1 D
lcpcp
= PxlxMxM
u
_3( (3_u_) ) LDqxpcpJp; l;m;n; ^1
lmn
= lxlxlxl
3^1 3 4>m 3
Now, substituting equations (238) and (241) into equation
(237) gives the partial derivative of the dependent
parameter acceleration (u) with respect to the generalized
coordinate( s ) position (eg) as
3_ = 2T[H^JT + TCDÂ¡Â¡(p(p] (243)
3
Finally, from equations (228), (230), (236) and (243),
the thirdorder time derivative (u) of the dependent
parameter set (u) is
u
r u u r u
L Gcp) !Â£ + ( L ^cocpJ + L ^rpep
f U, ... m U U
f Gcp ] iÂ£ ( J + 2 [
]T) + (
]T) + (T[DjÂ¡(p(p])
])
(244)
completing the general kinematic development.
Kinematics of Serial Manipulators
The analytical development presented here, altered
notationally and extended to cover thirdorder kinematics, is
based directly on the work of Thomas (1981) and is included
70
The position derivative is not as transparent and will be
pursued in terms of the standard Jacobian formulation for
vector differentials. Although there are three
configuration dependent terms in the momentum expression,
the differentiation will only be broken into two separate
operations and addressed in the manner of Thomas (1981).
This method gives, for the position derivative
_3_( [lljk]
8 <Â£
3([II^k][G^]) (2167)
3
3(Tj) [ ( > II [T^ ]T[G3^]cÂ£
3Â£
+ (T3 ]T[ ( j ) nlk]_3 ( [Tj ]T[Gjk])
30
To obtain the first partial in eguation (2167) it is
beneficial to remember what the elements are that make up
the columns of the rotation matrix:
T3 = [*ajk *s3 x *ajk Vh (2168)
Here, one sees that the vectors whose direction cosines make
up the columns of (T^) are free vectors fixed relative to
(i.e., in) link jk. In this light, recalling the more
geometric formulation of the kinematic influence
coefficients, the differentiation yields the familiar vector
cross product result
jk
3(0
APPENDIX D
SPECIAL CASE SINGLELOOP MECHANISMS
Consider the spatial slidercrank mechanism of Fig. Dl.
This device is considered a special case in that it is a
twodegree of freedom mechanism, where one of the
generalized coordinates (the spin of the coupler link about
its axis, 5) has no effect on the output (Pz) motion
(Sandor, 1984, Chap. 6). To analyze this mechanism (and
others like it) using the unified approach of the first
section of Chapter IV, the unspecified (nonactuated)
coordinate 5 must be included in all generalized coordinate
sets. With this requirement noted, the analysis simply
follows the procedure outlined in Fig. Dl and set forth in
Chapter IV.
Consider the Bricard mechanism of Fig. D2. According
to the Gruebler criteria, this mechanism should have zero
mobility. However, due to its special geometry, this device
has onedegree of freedom (Uicker et al., 1964). The
existence of a redundant constraint produces this unexpected
freedom and manifests itself in the linear dependence of the
screw'associated with (or motion afforded by) joint 6 on
joints 1 through 5. This means that the Jacobian ([G^,])
relating the motion of the hypothetical endeffector (u) to
the initial openchain generalized coordinates (eg) is of
rank 5 and, thus, singular. In terms of the algebra, this
165
91
differentiating equation (2238) with respect to time, and
recalling equation (2225), yields
, i ar ... / 3t ,\.. 9t .
1 = [CM(p] i{_^e
\ 3<Â£ / 3<Â£ (2239)
Finally, assuming that the nominal joint kinematics are
known up to the third order (i.e., cp(t),
are known), equations (2238) and (2239) can be substituted
into equation (2235) to obtain the nominal voltage (V) as
^nominal = Y(o,Â£,Â£,<Â£) nominal (2240)
As with equation (2225) for the linearized generalized load
(STjp), equation (2240) could possible be reduced to a
minimum generic form of the class of equation (2145) (T^).
Again, this question will be left open for now since the
immediate usage of the linearized scheme only required
offline computation of equation (2240).
State Space Representation
Having incorporated the manipulator dynamics into the
describing equations for the actuator dynamics, and having
determined the nominal input (voltage) requirements one can
proceed to develop the state space model of the system. In
the case of the dc motor driven manipulator, the state
variables are chosen to be the deviations in the generalized
coordinate positions (6 ) and the
deviation in motor currents (6i).
With this selection of the state variables the state
space model is of the form
135
general serial manipulator with more than six inputs (i.e.,
M>N=6). The situation is of course exhibited by a much
broader class of systems. Take for example, the planar,
multiloop, parallel sixdegree of freedom mechanism shown
in Fig. 44. Here, there are six independent inputs (all of
which must be controlled) available to drive the system
according to the most general motion specification possible
(i.e., x=x(t), y=y(t) and 0=0(t)). Therefore, there are
three redundant inputs (three more than required) in this
particular robotic device. Alternately, this type of
redundancy exists when only a partial specification (e.g.,
translation but not orientation) of the endeffector
trajectory of a general sixdegree of freedom serial
manipulator is made, or when the trajectory is obtainable
with a subset of the available inputs. Now, without
considering the specifics of the particular system in
question, or the justification of the optimization criteria
(i.e., cost function) employed, the application of the
transfer of generalized coordinates to the modeling of
redundant mechanisms will be discussed.
Here, it is assumed that the position of the system is
known and that the dynamic model of the system with
respect to the desired coordinates (q) has been
established, yielding
= [Gu]q
q ~
u
(465)
138
where
[G<3] = [guJr = MxN (469)
u q
is the pseudo (right) inverse of the unique (NxM) jacobian
of equation (465). For example, if one wishes to minimize
the kinetic energy of the system (i.e., equation (2140)),
subject to the constraint of equation (465), one obtains
(Whitney, 1969)
[Gu1"r = [I* ]_1[GUjTc[Gu](I* J"1[Gu]t)'1
q qq q q qq q (4_70)
for the desired pseudo inverse.
Having established the pseudo inverse given by equation
(469), one can (though it is not necessary) now apply the
coordinate transfer technique to obtain the reverse of
equation (466) as
q = [gS] + T[H3 ] (471)
U ~ UU
where
[HS ] = [Gu]rt([Gu]r [Hu ])[Gu]r
uu q q qq q
Now, finally, substituting the results of equations (468)
and (470) into equation (467) yields
Ta = [I* ]U + T[P* ]ii
qu ~ quu
[Gu]rTt
q
(473)
as the effective generalized loads at the desired
I certify that I have read this study and that in my
opinion it conforms to acceptable standards of scholarly
presentation and is fully adequate, in scope and quality, as
a dissertation for the degree of Doctor of Philosophy.
Delbert Tesar, Chairman
Professor of Mechanical Engineering
I certify that I have read this study and that in my
opinion it conforms to acceptable standards of scholarly
presentaiton and is fully adequate, in scope and quality, as
a dissertation for the degree of Doctor of Philosophy.
Joseph Duffy
Professor of Mechanical Engineering
I certify that I have read this study and that in my
opinion it conforms to acceptable standards of scholarly
presentation and is fully adequate, in scope and quality, as
a dissertation for the degree of Doctor of Philosophy.
G4ry tf. Matthew
Professor of Mechanical Engineering
I certify that I have read this study and that in my
opinion it conforms to acceptable standards of scholarly
presentation and is fully adequate, in scope and quality, as
a dissertation for the degree of Doctor of Philosophy.
\ A/ )
R.
G. 1
iSelf riiddb
Professor bf Computer and
Information Sciences
40
Here the quantity (PR2) is considered a free vector
and the pure translation of a free vector in no way alters
the vector (i.e., (PR2)=0). With this representation it is
readily apparent that the action of the slider (S2) only
affects the vector (R2) Also, by inspection, the rate of
change of this vector (R2), and therefore, the rate of
change of P due to the action of s2, is
2 2 s2^ (287)
since
R2 = s^1 + a12a12 + s2s2 (2_88)
From equation (277) one obtains the expected result (see
equation (266))
s2n = sn n=2 (289)
Now, consider the derivation of the (g,G) function for a
revolute joint (e.g., (pn = 3) In this situation, the
coefficient (qÂ£?) is most easily found by expressing the
position vector P as
P = R3 + (PR3) (290)
In this case it is the vector R3 that is unaffected by the
action of the revolute (63). Recalling the vector cross
product representation of the velocity of a body fixed
vector, one has the partial velocity of P due to the third
input as
Ij = (Â£:E3>3 = 3a3 x (PR3) (2.91
since (PR3) can be viewed as a vector fixed in link 34.
This again yields the expected result (see equation (266))
163
Table C2. Openchain Model Parameters
10 0 0
[Gw] =
ep
[Ge]
(P
10 0 0
8.71" 19.98" 33.75" 12"
33.91" 29.80" 10.14" 0"
1111
iw :
(pep
[HW ;
(pep
epep
rhw 14
L nepep J 4 /
[He
epep
]3
/
= [0]
'3 3
.91
29.
80
10
14
= 
29
.80
29.
80
10
14
/
10
.14
10.
14
10
14
0
0
(
)
[Hw ]3..
epep J '
r u2
[He ]2..
epep c' '
8.71 19.98 33.75 12.0
19.98 19.98 33.75 12.0
33.75 33.75 33.75 12.0
12.0 12.0 12.0 12.0
[I 1 =
(pep
2.774 1.418 0 0
1.418 0.808 0 0
0 0 0 0
0 0 0 0
(inlbfs^)
0 0
.428
0
0
[P* ]i
=
0.428 0
.428
0
0
(inlb
ep(p(p '
}
0
0
0
0
0
0
0
0
0.428
0
0
0
[P* ]2.
. =
0
0
0
0
(inlbf
(pep '
0
0
0
0
0
0
0
0
CP*
]3; ;
= CO]
[P*
uft
= CO]
 = 2
c2
(in. )
(in. )
55
observed by several investigators (e.g., Kane, 1961 and
Silver, 1982). One form of the equations resulting from
this approach has even been referred to recently (by Kane
and Levinson, 1983) as Kane's dynamic equations. The concept
(alluded to as early as 1923 by Wittenbauer), however, is a
natural consequence of the two principles and is usually
referred to as the generalized principle of d'Alembert (see
Lanczos, 1962, Meirovitch, 1970 and Lee, 1982).
Finally, the dynamic equations are expressed in terms of
configuration (i.e., position) dependent coefficients
operated on by the higherorder generalized input coordinate
kinematics (i.e., velocity and acceleration). This result
for the dynamic model is greatly facilitated by the use of
kinematic influence coefficients and yields a highly
geometric description of the system dynamics where the
effect of the action of the generalized coordinates on each
other is transparent. It should be noted that this
transparency is of extreme importance (if not absolutely
necessary) when dealing with the transfer of the dynamic
model from one set of generalized coordinates to another.
The Principle of Virtual Work
This principle is the first variational principle in
mechanics and aids in the transition from Newtonian
(Vectorial) dynamics to Lagrangian (Analytical) dynamics.
It is concerned with the static equilibrium of mechanical
systems, and can be stated as: The work done by the applied
141
variable are specified, the kinematic state of the entire
system is uniquely determined (i.e., all system parameters
are kinematically invariant with respect to the controlled
variable). The result of this invariance is an antagonistic
(rather than cooperative) situation, where the load
generated by one input is geometrically (rather than
through, dynamic, inertial effects) transferred to the
others. As illustrated by the planar examples of Fig. 45,
this is exactly the situation encountered when dealing with
the coordinated action of multiple openchain systems, such
as walking machines, multifingered hands and cooperating
manipulators.
Here, without loss of generality, the specific case of
the twofingered hand (Fig. 45b) is addressed. In addition
to the analytic generality afforded by this example, it also
allows the reader to immediately verify (by simple
experiment) the absolute necessity of the direct actuation
of the four parameters
q= (LCPL, xcp2, 2
to even hold the object (u) stationary (much less maintain
some kinematic trajectory). Therefore, one must determine a
balanced loading among the four actuators while,at the same
time maintaining the desired kinematics of the dependent
controlled variable (u).
The first step, once the kinematics of (u) are
specified, is to obtain the model of the system (where the
contact points are viewed, instantaneously, as pin joints)
116
Single Closedloop Mechanisms
Consider an unconstrained general Mdegree of freedom
serial manipulator (i.e., open kinematic chain) operating
relative to an Ndimensional space, with (M > N).
Further,consider that the free end (e) of this chain is
connected to ground by a constraint of degree R (relative to
the same Nspace). The resulting closedloop mechanism is
then seen (refer to Fig. 41) to be of mobility (MR). Now,
the task at hand is to analyze this mechanism (for a given
configuration) from any desired, (MR)dimensional, set of
generalized coordinates.
The first step, as is always the case, is to model the
system as if it were an unconstrained open kinematic chain.
Therefore, using the modeling procedure developed in Chapter
II for the serial manipulator one immediately (directly)
obtains
[Ge] = N x M
cp
[ He ] = N x M x M
cpcp
[I* J = M x M
cpcp
[P* ] = M x M x M (44)
cpocp
and
TL = M x 1 (45)
~cp
(41)
(42)
(43)
30
representation of the serial manipulator is given in Tables
2.1 and 2.2 for quick reference.
Firstorder kinematics
In the development of the generalized kinematics, the
specific nature of the dependent motion parameters (up) and
the independent input parameters (0n) were not taken into
account. In the case of the serial manipulator there is a
fundamental difference in the nature of the two basic motion
parameters considered. In this treatment the two parameters
are the cartesianreferenced link orientations (which are not
considered true coordinates) and the cartesianreferenced
coordinates of a point (which are true coordinates). Also,
the effect of an input on these parameters depends on whether
the input is a revolute or prismatic joint. In light of these
facts, the kinematics for rotational parameters amd those for
translational parameters are treated separately, and the
results for both revolute and prismatic inputs are given in
each case.
In dealing with the kinematics of rotational parameters,
it is not convenient to start with an equation of the form
of equation (21) (i.e., u = f(cg)) since finite angles of
rotation cannot be represented by vectors. Fortunately,
however, it is possible to represent infinitesimal rotations
by vectors (Meirovitch, 1970), and these infinitesimal
rotations can most readily be interpreted as the angular
velocity (w) of the body. So, instead of using a
zerothorder holonomic constraint equation (e.g., u = f (cÂ£) )
118
where
e (e]_, e2 / / eisi)
(46)
describes the motion parameters associated with the free
end, and the initial generalized coordinates
m
Â£ = ( $2 * X (47)
are associated with the joint freedoms of the open chain.
Now, with M>N, (MN) of the initial coordinates (q>)
must be involved in any set of generalized coordinates since
one can constrain (or control) at most N of the free end
freedoms (i.e., R
redundantlike situation (i.e., M>N) the dependent parameter
set (e) must be augmented by (MN) of the initial
coordinates. Here, for convenience, take the first (MN)
components of (cp) defined as (a), to be the parameters
chosen to augment (e), yielding
a \ /(MN) x 1'
e / \ N x 1
w
= M x 1
(48)
as an intermediate set (w) of desired coordinates.
For future reference, the remaining N components of the
initial set (eg) are defined by the vector (Â£) giving
cp
a \ /(MN) x 1\
Â£ y ^ N x 1 J
(49)
and recalling that one will eventually constrain R of the
parameters (e), define
130
for the model of each leg referenced to the intermediate
coordinates (w). Now, combining the effects of each leg and
including the inertial effects of the platform and the
resolved vector of loads applied directly to the platform,
one has
[I J =
ww
[P* ]
WWW
[Iww] + S [rI* ]
r=l ww
6 v *
>
r=l' www'
f PWWW ] + Â£ r^ J
(448)
and
where
ijiL
~W
6fcN
li
rrpL
m
+ E LT
r=l
t^ww^
M
67
M
67
M
67
0
[II67]
(449)
(450)
and where the first three planes of ([P^]) are 6x6 null
matrices, and
[PWWW11;;
0
i n
. o
0
Â¡[^lww]
1 = 4,5,6
(451)
where
^p4ww]
= [oÂ¡iz;iy]
= 3x3
^5ww^
= [iz;o:ixj
= 3x3
[p6ww]
= [iy!ix;o]
= 3x3
(452)
CHAF :er III
TRANSFER OF GENERALIZED COORDINATES
Consider the development of the general Mdegree of
freedom mechanism presented _n Chapter II. Recalling, in
particular, the sections dealing with the generalized
kinematics and dynamics, one sees that the equations (Sg)
describing the mechanics of ;uch devices (e.g., equation
(2145) for the generalized .oad Tg) can be expressed in
terms of any desired set (q = (qj_, q^, . ,qÂ¡yÂ¡)T) of
generalized coordinates once the kinematic influence
coefficients (relating the dependent system parameters (u)
to that particular coordinat set (q)) are known. Therefore,
at least conceptually, the k.nematics, dynamics and control
of these systems can be addr ;ssed in generic form from any
set (q) of generalized coord nates that one desires, with
the only difficulty being th ? determination of the required
influence coefficients. Un ortunately, the determination
of these required influence oefficients (directly) in terms
of the desired coordinates (O may be (and often is)
extremely difficult and impr ctical, if not altogether
impossible. Fortunately how ver, most (if not all)
conceivable mechanisms can be directly modeled (i.e., the
influence coefficients can b< directly obtained) from at
least one of the many possib e sets of generalized
95
60
Recognizing that the momentum vectors are functions of the
generalized coordinate positions and velocities (i.e., q and
q), one has that
d( [iMu] [iGuJq) = J_( [iMu] [iGu]q)q + _8_( [ iMu] [ XGU]q) q
dt q 3q q 9 2. q (2134)
The second of these terms follows immediately from equation
(213) as
/ r ift/rU i r /.U i X. \ X r irviU 1 r i^U i X
(2135)
3 ([1MU][1GU]q)q = [1Mu][1GuJq
3^ q q
If the mass parameters ([1MU]) are configuration independent
(i.e., [XMU] = f(q)) (which is not the case when dealing
with the effects of inertia in spatial devices, but
including the generalization gives no insight here and the
question will be dealt with specifically in the case of the
serial manipulator), then recalling the development of
equations (214) through (224), the first term of equation
(2134) becomes
( [XMU] [xGu]q)q = ]q (2136)
3 q q qq
Substituting the results of equations (2135) and (2136)
into equation (2133) gives for the required input loads
Tq = ,Z {[iGu]T[iMu]tiGu]}q
1=1 q q 
+ E ( [ G11 jT[ mu]qT[ iHu ] q}
1=1 q qq 
(2137)
Note that for constant mass ([1MU]), this equation can be
immediately obtained by substituting equation (227) for
(xu) into equation (2132). Now, equation (2137) can be
written in the general form for the generalized inertia
loads (T1) as
q
146
2. Singleloop mechanisms referenced to any generalized
coordinate set.
3. Multiloop parallelinput mechanisms.
4. Systems with a superabundance of kinematically
independent inputs.
5. Systems with a superabundance of kinematically
dependent inputs.
Because of the dependence of the unified approach on the
chosen generic model form and the relative joint angle
referenced openloop kinematic chain, an exhaustive
treatment of these elementary, yet fundamental, concepts was
given. In addition, a new and descriptive notation was
developed as an illustrative aid in the analysis of the
systems discussed. The graphic separation of dependent and
independent system parameters afforded by this notation is
extremely beneficial when dealing with the transference of
system dependence among various sets of generalized
coordinates, and is the primary reason for its introduction.
The main drawback of the overall approach is the need to
invert the Jacobian relating the desired generalized
coordinates to the initial generalized coordinates. This is
not only computationally demanding, but is, of course, also
subject to singularities. While the issue of singularities
was not addressed in the work, it is noted that a singular
Jacobian does not mean that the system cannot, in general,
attain the desired motion. What is meant is that a
reduction in the allowable motion space has occurred, and if
74
Note that, by combining the first two terms of equation
(2183) and following the algebra of equation (2181),
equation (2183) is an alternate form of Euler's equation of
motion for a rigid body as expressed in the global reference
N = L^k = [ Il3k]cJk + wjk x [iijkjwjk (2184)
Now, referring to either equation (2132) or (2148), to
obtain the generalized load required for this change in
momentum () one premultiplies equation (2183) by the
transpose of the link's first order rotational influence
coefficient ([G^>kJT), yielding
M M
LtI = [GJk]TL^ = E {[G^jTCllj^HG^lcp

(2185)
+ [G^k]T[Illik](pT[H^k](p
+ [G^k]T( [Gjk]T x [G^k]cp)cp)
cp cp cp
To get this equation into the desired form of equation
(2138) requires some manipulation of the velocity related
terms. The first of these terms is readily accommodated by
the generalized dot product (see Appendix A) giving
(G^k]T[II^k]cpT[H3kJce = cpT( [GjkjTfujkj [H^kj )cp
cp cpcp cp cpcp
(2186)
The remaining term is a bit more obscure and is attacked
with the aid of the following vector relationship:
a*bxc = c*axb
(2187)
178
Kahn, M.E., and Roth, B. 1971. The near minimumtime
control of openloop articulated kinematic chains.
Trans. ASME J. Dyn. Syst., Measurement Contr.
93:164172.
Kane, T.R. 1961. Dynamics of nonholonomic systems. J.
Applied Mechanics 28:574578.
Kane, T.R., and Levinson, D.A. 1983. The use of Kane's
dynamic equations in robotics. Int. J. Robotics Res.
2(3):321.
Khatib, 0. 1983. Dynamic control of manipulators in
operational spaces. Proc. 6th World Congress on Theory
of Mach, and Mechanisms 2:11281131.
Lanczos, C. 1962. The variational principles of mechanics.
Toronto: University of Toronto Press.
LeBorgne, M., Ibarra, J.M., and Espiau, B. 1981. Adaptive
control of high velocity manipulators. 11th Int. Symp.
Industrial Robots 227236.
/Lee, C.S.G. 1982(Dec.). Robot arm kinematics, dynamics,
and control. IEEE Computer 15(12):6280.
Lee, C.S.G., and Lee, B.H. 1984(June). Resolved motion
adaptive control for mechanical manipulators. Trans.
ASME J. Dyn. Syst., Measurement Contr. 106:134142.
Liegeois, A., Fournier, A., and Aldon, M.J. 1980(Aug.
1315). Model reference control of highvelocity
industrial robots. Proc. 1980 Joint Automatic Control
Conf. TPIOD.
Luh, J.Y.S., Walker, M.W., and Paul, R.P.C. 1980(June).
Resolved acceleration control of mechanical manipulators.
IEEE Trans. Auto. Contr. 25(3):468474.
Meirovitch, L. 1970. Methods of analytical dynamics. New
York: McGrawHill Book Company.
Myklebust, A. 1982(Jan.). Dynamic response of an electric
motorlinkage system during startup. Trans. ASME J.
Mechanical Design 104(1):137142 .
Orin, D.E., and McGhee, R.B. 1981(Sept.). Dynamic
computer simulation of robotic mechanisms. Presented
Conf. Theory and Practice of Robots and Manipulators,
Warsaw, Poland.
38
The reader should note that this equation is consistent with
equation (276) and shows that the result is nonzero only
if the revolute precedes the prismatic joint in the serial
P P
chain. The symmetry (i.e., h^n = hnm) of the translational
(h,H) functions should also be noted. Now, when the m^
input is also a revolute (i.e.,
at the case in two steps. First, when m > n, from the second
term of equation (278)
3~n = sn x (sm x [ 1 (a( i_i \ la( 11) 1
r ~ ~ l=m+l 11 
3um
(280)
+ s^1) + T3( 3 )Â£) )
or, from equation (264)
n = sn x (sm x (PRm)) n
3(281)
If m < n, both of the first two terms in equation (278) are
involved and, one finds that
9gp
n = (sm x sn) x (?Rn)
3^ (282)
+ sn X (sm X
( l
l=n+l
a(ll)l(1_1)1 +SHsi + T7(3)p))
or, again recalling equation (264)
3 gp
n = (sm x sn) x (PRn) + Â£n x (sm x (PRn))
^m
= sm x (sn x (PRn)) m
Combining this result with that of equation (281) further
illustrates the symmetry inherent in the translational (h,H)
functions and yields
172
H<3 ] =
ww
L 1Hcp ]]_.
ww '
[2H^ ]x.
WW
ww
[3H ]x.
ww x '
Finally, applying the transfer equations once more, the
expected desired model
[I* ] [G<5rT[I* '][G<3]1 =
qq w ww w
10 0
0 2 0
0 0 3
(E7)
[P* ] = [G^ J T{ ( [G<3]t [P* ]) ([i* ] [H^ ])}[Gc3]1
qqq w w www ww ww w
= [0]
is obtained, verifying the transfer technique.
73
since
(pep (pep
(2180)
Recalling equations (255) and (2172), and manipulating
the result, one has the following:
([g3*Jt x [Gjk])cp = ( [G^k] x w^k)
(2181)
= [2?kx^k ... 2k uijk]<Â¡>
= i X uik
n=l n n
= OL^k X
= ( [G^Â¡k]) X ( [G^k])
cp cp
= 0
Therefore, while not rigorously verifying equation (2178),
the preceding proves that
_J_( [T3 JT[G^k]^)cp = [T3]T(T[Hjk])
9(p *P
(2182)
which is the term ultimately needed. Finally, by
substituting equations (2166), (2173) and (2182) into
equation (2165) and, recalling equation (2164), the time
rate of change of the angular momentum of link jk can be
expressed as
iJk [iijkj [Gjk]Â£ + [ii3k]^TLHjkj^
CP4> (2183)
+ ([G^kJT x [II^k][G^k])
X
APPENDIX E
PARALLEL MECHANISM MODELING
Consider the threedegree of freedom parallelinput
planar robotic mechanism of Fig. El. The goal of this
analysis is to verify the overall modeling procedure
presented in the second section of Chapter IV, particularly
the distribution of the system mass parameters. To
accomplish this, the system is specified such that the
desired model coefficients are directly available, the
transfer procedure is then applied and the results obtained
are compared with the known (directly obtrained) coefficient
values.
The desired input locations (q) are specified to be the
base joints of the three branches
q = (i
(El)
Now, in order to have direct knowledge of the desired model
only the base links themselves can have mass. Refering to
the specifications given in Fig. El, the effective inertia
matrix referenced to the desired coordinates (q) is
10 0
(I ] = 0 2 0
qq 003
constant
(E2)
and the velocity related coefficient ([Pqqq])is identically
zero (i.e., each actuator is solely responsible for its own
170
with
(2103)
Thirdorder kinematics
The thirdorder kinematics require the development of
the thirdorder influence coefficients (i.e., the (d,D)
functions). Here, only a few representative cases will be
derived. The rotational coefficients are obtained via the
strict analytic approach, whereas the translational
coefficients are addressed using the more illustrative
graphic approach. The complete thirdorder coefficient
results, along with those for the first and secondorder
coefficients are presented in Tables 23, 24 and 25.
Again, the rotational influence coefficients will be
investigated first. Here, if any of the three inputs
involved is a prismatic joint, then the thirdorder
geometric derivative is identically zero. This result is
due zo the fact that the translation of a free vector does
not alter the vector (as was also the case for the (h,H)
function). Now, if all inputs considered are revolutes, one
has
sm x sn m
n
(2104)
KINEMATIC AND DYNAMIC MODELING, ANALYSIS
AND CONTROL OF ROBOTIC SYSTEMS
VIA
GENERALIZED COORDINATE TRANSFORMATION
By
ROBERT ARTHUR FREEMAN
A DISSERTATION PRESENTED TO THE GRADUATE SCHOOL
OF THE UNIVERSITY OF FLORIDA IN PARTIAL
FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE
OF DOCTOR OF PHILOSOPHY
UNIVERSITY OF FLORIDA
1985
KINEMATIC AND DYNAMIC MODELING, ANALYSIS
AND CONTROL OF ROBOTIC SYSTEMS
VIA
GENERALIZED COORDINATE TRANSFORMATION
By
ROBERT ARTHUR FREEMAN
A DISSERTATION PRESENTED TO THE GRADUATE SCHOOL
OF THE UNIVERSITY OF FLORIDA IN PARTIAL
FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE
OF DOCTOR OF PHILOSOPHY
UNIVERSITY OF FLORIDA
1985
Copyright 1985
by
ROBERT ARTHUR
FREEMAN
TO MY PARENTS
Thanks
for everything!
ACKNOWLEDGMENTS
The author feels extremely fortunate and privileged to
have had the opportunity to be involved with the Center for
Intelligent Machines and Robotics (CIMAR) at the University
of Florida, for the education gained from the faculty
associated with CIMAR and for their friendship. It is for
this opportunity to learn from (with) such a high quality
group (both faculty and fellow students) of creative and
enthusiastic individuals that the author is perhaps most
endebted to his mentor and committee chairman, Dr. Del
Tesar. The author is also greatly appreciative of the
guidance and support of his chairman though out the author's
educational experience. The author would particularly like
to express his gratitude and appreciation to Dr. Joe Duffy
for his instruction in the area of mechanism geometry and
kinematics, Dr. Gary Matthew (and Keilah) for his patience
and support in helping work out numerous technical details
dealing with this and other works, Dr. Ralph Selfridge for
introducing the author to the computer language APL which
greatly facilitates the analyses in this work, Dr. Ed Kamen
for the author's initiation into the field of modern
control, and Professors Ken Hunt and Lou Torfason for their
comments and interest concerning this work.
The author would also like to acknowledge all his fellow
Cimarians (or Cimarities) for their criticisms, support,
encouragements, and, most of all, their friendship. Special
IV
thanks are extended to Harvey (and Leslie) Lipkin, Mark
Thomas and Fahriborz Behi. Finally, the author is
especially grateful to Becky Gee for her dedication and
persistence in typing this manuscript.
v
TABLE OF CONTENTS
Page
ACKNOWLEDGMENTS V
ABSTRACT viii
CHAPTERS
I INTRODUCTION 1
II DEVELOPMENT OF THE CONTROLLING EQUATIONS .... 12
Method of Kinematic Influence Coefficients ... 13
Generalized Kinematics 13
Kinematics of Serial Manipulators 23
System definition and notation .... 24
Firstorder kinematics 30
Secondorder kinematics 34
Thirdorder kinematics 46
The Dynamic Model 54
The Principle of Virtual Work 55
The Generalized Principle of D'Alembert . 57
The Dynamic Equations 62
Dynamics of Serial Manipulators 64
Applied loads 65
Inertial effects 65
The dynamic equations 77
The Linearization of the Dynamic Model 78
The Linearized Equations of Motion .... 79
Actuator Dynamics 87
State Space Representation 91
Note 94
III TRANSFER OF GENERALIZED COORDINATES 95
The Dynamic Equations 98
Kinematic Influence Coefficients 101
vi
CHAPTERS
III (Continued)
Direct kinematic transfer 101
Kinematic transfer of dependent
parameters 104
Dynamic Model Parameters 106
The Linearized Equations 109
Kinematics 109
State Space Equations Ill
IV APPLICATION OF GENERALIZED COORDINATE
TRANSFORMATION TO DYNAMIC MODELING AND CONTROL
A UNIFIED APPROACH 115
Single Closedloop Mechanisms . 116
Multiloop Parallel Mechanisms 127
Redundant Systems 134
Overconstrained Systems 139
V CONCLUSIONS 145
APPENDICES
A DEVELOPMENT AND DEFINITION OF GENERALIZED
SCALAR () PRODUCT OPERATOR FUNDAMENTAL
TO DYNAMIC MODELING AND TRANSFER OF
COORDINATES 150
B SECONDORDER TRANSFER FOR A SIMPLE
MANIPULATOR 153
C SINGLELOOP PLANAR FIVEBAR ANALYSIS 159
D SPECIAL CASE SINGLELOOP MECHANISMS 165
E PARALLEL MECHANISM MODELING 170
BIBLIOGRAPHY 176
BIOGRAPHICAL SKETCH 181
vii
Abstract of Dissertation Presented to the
Graduate School of the University of Florida in Partial
Fulfillment of the Requirements for the
Degree of Doctor of Philosophy
KINEMATIC AND DYNAMIC MODELING, ANALYSIS
AND CONTROL OF ROBOTIC SYSTEMS
VIA
GENERALIZED COORDINATE TRANSFORMATION
By
ROBERT ARTHUR FREEMAN
August, 1985
Chairman: Delbert Tesar
Major Department: Mechanical Engineering
This work presents a unified approach to the dynamic
modeling and analysis of the general case of rigidlink
multidegree of freedom mechanical devices and includes the
detailed treatment of the specific case of the serial
manipulator. The approach is based on the transference of
the system dependence from one set of generalized
coordinates to another (e.g., from the relative joint angles
to cartesian referenced hand coordinates of the serial
manipulator) and is shown to allow the analysis of any
singleloop mechanism (e.g., the Bricard mechanism),
multiloop parallelinput linkages, systems with a
superabundance kinematically independent inputs (e.g.,
redundant manipulators), and systems containing a
superabundance of kinematically dependent inputs (e.g.,
walking machines). The technique involves the initial
modeling of the system (or its components) in terms of
simple open kinematic chain relationships; then using the
Vlll
concept of loop closure and the kinematic constraints
relating the possible sets of generalized coordinates the
final desired system model is obtained.
The derivation of the initial dynamic model is based
almost entirely on the principle of virtual work and the
generalized principle of d'Alembert and is treated in great
detail (from firstorder properties through the linearized
state space model, including actuator dynamics). The
resultant model is expressed in terms of kinematic and
dynamic influence coefficients and is particularly well
suited for the transfer of generalized coordinates,
especially the quadratic form of the nonlinear effective
load terms. The validity of the results of the unified
modeling approach is demonstrated by some simple yet
sufficient examples.
IX
CHAPTER I
INTRODUCTION
One of the most pressing issues facing engineers today
is the control of highly integrated mechanicalbased systems
capable of addressing a wide variety of tasks, without
physical alteration of the system itself. These integrated
systems (commonly referred to as robotic devices) are, in
essence, asked to manipulate an object (e.g., a tool
attached to the endeffector) in the presence of varying
process and environmental effects in a very precise manner.
To respond to this desire for both diverse motion capability
and precise maintenance (during operation) of the specified
motion requires not simply a battery of sensors feeding back
infinite information to a centralprocessingunit which
magically assimilates and transforms these data into
appropriate compensatory commands to the system actuators,
but an acute awareness of the device itself. That is to
say, a sufficient mathematical representation (model) of the
object of control (the actuated mechanical linkage) must
exist. The obtainment, and subsequent investigation of this
model (which not only removes the magic from the control
process, but also indicates what feedback information is
necessary and sufficient for that process) is the primary
focus of this work. While there is argument that one only
1
2
needs a qualitative model (e.g., knowledge that a particle's
acceleration is linearly related to force) of the system for
feedback compensation, there is no question that a
quantitative model (e.g., a particle's acceleration is equal
to the force applied to the particle divided by its mass) is
essential for feedforward compensation. Now, while the
author is not familiar with all the vagarities of adaptive
control, it seems only reasonable that one would prefer to
accomplish as much feedforward compensation as possible,
and then use feedback techniques to obtain the (reduced)
remaining required compensation. Admittedly, the
quantification of the model (e.g., determination of the
particle's mass) is considerably more difficult than its
qualification, but this difficulty is not sufficient reason
to dismiss the possibility (and potential) of combined
feedforward, feedback control schemes for robotic devices.
Keeping the goal of this combined control in mind, the
kinematic and dynamic models developed in this work are
derived in a qualitative manner while the final expressions
require the quantification of basic system properties, such
as link dimensions and mass parameters.
The formalized modeling procedure presented establishes
a bse technology capable of addressing the full range of
possible mechanisms, from a single generic approach. The
procedure stems from the work of Tesar and his graduate
students, most notably the general development of Benedict
and Tesar (1971) and the rigidlink serial manipulator model
3
of Thomas (1981). The model is based on the use of
kinematic influence coefficients. These coefficients
describe the positiondependent reaction of such pertinent
systems parameters as link centroids to the action of the
independent generalized coordinates (system inputs). While
the basic model is a rigidlink model, and robotic devices
typically demonstrate some compliance (Sunada and Dubowsky,
1983), the model is presently being used as the basis for
extension to the treatment of quasistatic deformations
(Fresonke, 1985) and quasistatically induced vibrations
(Behi, 1985), for optimized design procedures (Thomas, 1984
and 1985), and as an aid in the experimental identification
of pertinent system parameters.
The extension to nonrigidlink devices is not
specifically addressed here, nor is the question of
realtime dynamic compensation (see Wander, 1985). Again,
the primary objective of this work is the development of a
general, unified modeling procedure capable of addressing
the full range of robotic devices, including redundant
manipulators, cooperating robots, walking machines and
multifingered endeffectors. For discussion and comparison
of the various popular dynamic model formulations, the
reader is referred to Tesar and Thomas (1979) and Thomas and
Thomas (1982b), Silver (1982) and Lee (1982), among others.
Before giving a more detailed overview of the contents
of this work, it will prove beneficial to introduce the
notational scheme developed herein. Referring (throughout)
4
to Table 11, the basic setui involves a block arrangement
consisting of a central bloc] surrounded by both pre and
post, superscripts and subscripts. The center block is
reserved for a symbol represe nting either a system
parameter(s) (e.g., the set (u)), a physical quantity (e.g.,
a vector of applied loads (T ) or a mathematical operator or
operation (e.g., partial differentiation). Next, the two
superscript blocks are reser ed for dependent system
parameters (or their properties, such as velocity), with the
postscript indicating which parameter(s) is involved and
with the prescript giving ac ditional information concerning
the parameter(s). Finally, the two subscript blocks are
used in exactly the same fashion as the superscripts, but
are reserved for independent system parameters (e.g.,
generalized coordinates (eg) cr fixed linkage dimensions
(aj^)). At this stage the reader is again referred to Table
1.1 to review the illustrate e examples. While this
notation is indeed redundant when dealing with a single
(fixed) set of independent generalized coordinates, it is
far from redundant when dealing with the analytic
developments and application;: in Chapters III and IV where
the system dependence is tra: sferred from one possible
generalized coordinate set t< another. Regardless, it is
felt that even when dealing \ ith a fixed input set, that the
separation of dependent and independent system parameters by
the respective use of superscripts and subscripts serves as
a valuable aid in the descrii tion and analysis of the system
5
Table 11. Notation
Dependent
[Modifier]
t
Symbol
Operator
[Parameter(s)] Dependent
t
Ir
Independent [Modifier]
[Parameter(s)] Independent
Examples
1. u = f (
i [ J [p]
u = (u1 ,u,. . up) 1 dependent [u]
[ ] [ ]
cp = ((P1, cp2 *
[ ] [ ]
.cpjyj) r independent [cp]
[ ] [m]
[ ] [ u]
9(u) = ( ) a [Gu] = [G,,] (Thomas amd Tesar, 1982b)
3 cp TT <
[ ] [cp]
where G a _9( )_ [See eqns. (25) and (26)]
"9( )
3 (jjj = 3 ( ) = [Hu ] = [Huj (Thomas and Tesar,
3cp3cÂ£ 9cp3cp W 1982b)
[ ] L <Â£CÂ£ J
where H a 9( ) [See eqns. (211)(227) ]
3 ( ) 3 ( )
M . . CP] [ 1
SiM^k[3Gc]T[3Gc]} = [I*]
3=1 cp cp r i
[ ]
[cpcp]
= LpI* ]
cpcp
M
where PI* a )]T[]F
6
under investigation. In addition to being descriptive in
nature, this notational scheme underscores the fundamental
theme of this work; that there are only two basic types of
system parameters (dependent and independent), but that
there is not a unique set of generalized coordinates from
which to view the system. The notational scheme also has
been developed with the assimilation of ten plus years of
various kinematic and dynamic analyses presented by Tesar
and his students into a single formalized unit. As a final
note to readers familar with the notation utilized by Thomas
and Tesar (1982b), to obtain the parameter descriptions
given in that work simply drop all subscripts (since only
one set of generalized coordinates is addressed) and rotate
the superscripts one block in the clockwise direction
(e.g., the postsuperscript in this work becomes the
subscript in Thomas and Tesar (1982b) as shown in examples 2
and 3 of Table 11).
In keeping with the desire to present as generic a
treatment as possible, Chapter II starts off with the
development of the first, second and thirdorder
kinematics of a general multidegree of freedom system.
Here, the conceptual use of kinematic influence
coefficients, along with the definition of the associated
notation, is introduced. The concept of influence
coefficients is fundamental to the modeling methodology
employed throughout this work and the need to understand
this basic idea cannot be overemphasized. Additionally, the
7
qualitative approach to deriving the highorder kinematics
is stressed, as well as the utility and simplicity of the
standard Jacobian format for arranging the results of vector
differentiation. Again, the reader's complete familiarity
with the method of derivation employed (and the notation
involved in describing the results) in this section
(II.A.l.) will greatly facilitate his understanding of the
remainder of this work.
Next, the kinematics of the general serial manipulator
are addressed. First, the geometric parameters and the
associated notation describing the serial manipulator are
defined, then the first, second and thirdorder kinematics
are addressed. The derivation presented here is based on
the previously developed generalized kinematics, with the
major emphasis here being on the determination of the
kinematic influence coefficients for this specific device.
The method of derivation and form of the results (simple
vectors or vector cross products) are based directly on the
work of Thomas (1981).
Having completed the treatment of the system kinematics,
attention is then turned to the development of the dynamic
model. The dynamic model presented here is almost completely
determined with the use of just two principles of mechanics:
the principle of virtual work and the generalized principle
of D'Alembert. In light of this, and in keeping with the
generic nature of this work, the use of these two principles
in the development of the dynamic equations for a general
8
device is presented first. Here the momentum form of
Newton's second law is used. After establishing the general
approach, the dynamics of the serial manipulator are
addressed specifically. In this treatment (II.B.4.), the
results for the manipulator are expressed in matrix form,
this being consistent with the method of derivation as well
as with the computer language (APL) that the author uses for
simulation. In fact, the author's familiarity with the
multidimensional array handling and operational
capabilities of this language (APL) is most certainly a
contributing factor in the chosen form of the resultant
modeling expressions. Again, for the investigator familiar
with the work of Thomas (1981) (aside from the notation and
method of derivation) and the expression of the coefficients
of the dynamic model in matrix (vector) form here, as
opposed to the summation (scalar) form of Thomas (1981), is
the only difference in the modeling results of the two
works. Also, and of paramount importance to the
transformation of generalized coordinates technique
presented in Chapter III, a generalized vector scalar
product operator () is introduced. Because of the
significance of this operator to this entire work, it is
addressed in detail in Appendix A.
Next, for completeness, the linearization of the dynamic
equations of the general serial manipulator is pursued. The
derivation of these linearized equations is again attacked
in a qualitative fashion (i.e., partials are taken with
9
respect to the generalized coordinate positions, velocities
and accelerations). Unfortunately, the resultant expressions
are extremely complicated and a nice compact form was not
found. At any rate, having obtained expressions for the
linearized equations, the drive train kinematics and
actuator (dc motor) dynamics are incorporated into the
model. The nominal voltages required to drive the system
along some specified generalized coordinate trajectory are
then determined and, finally, a velocityreferenced state
space model of the linearized system is developed. While
the resulting state space model can be used to address the
possibility of applying modern linear control techniques to
controller design for specific manipulator trajectories
(Whitehead, 1984), this is not a goal of this work and is
not pursued. This completes the material presented in
Chapter II, covering the complete development of the
kinematic and dynamic equations governing the motion of both
a general mechanism and the serial manipulator in terms of a
specific set of generalized coordinates.
Having established the general procedure for obtaining
the dynamic model directly in terms of a specific set of
generalized coordinates, attention is now turned to the
determination of the model with respect to any set of
generalized coordinates. Chapter III specifically addresses
this question, with the basic approach employing a transfer
of system dependence from one set of generalized coordinates
to another. The technique involves the determination of the
10
model (in the direct fashion of Chapter II) with respect to
some initial set of generalized coordinates (selected for
ease of modeling), then (using this initial model
information along with the principle of virtual work and the
system's kinematic constraints) the system model is
effectively transferred to any arbitrary desired set of
generalized coordinates. The treatment here is basic in
nature and covers the three main elements comprising the
system modeling of Chapter II: kinematics, dynamics and the
linearized state space representation. The use of this
concept is not without precedent as it has been employed in
one form or another by numerous researchers (referenced in
Chapter III), primarily with regards to system control. One
of the selfimposed constraints on the model transformation
presented here is that the resultant desired model maintain
the same general form as the initial model (e.g., equations
(27), (217) and (2198)). Also, as is shown in Chapter
III, the generalized scalar product (Appendix A) is the key
mathematical realization allowing the maintenance of the
general form.
Now, having established the basic procedures for
obtaining an initial system model (Chapter II) and the
subsequent determination of the system model referenced to
any set of generalized coordinates (Chapter III), the
full utility of the generalized coordinate transfer
technique is addressed. Through the treatment of some
fairly general applications, Chapter IV presents a unified
11
and straightforward approach to the kinematic and dynamic
modeling of a wide variety of extremely complicated
mechanical systems. This unified approach first entails the
initial modeling of the system (or separable components of
the system) in the relatively simple terms of an openloop
kinematic chain. Then, having obtained this simple initial
model, the system is constrained (or closed) by single or
multiple application of the transfer equations resulting in
the desired dynamic model. This means that the most
complicated kinematic device that one need model directly is
the simplest possible, the open kinematic chain (or serial
manipulator). Finally, for illustration of the full power
and scope of this technique it is shown to be capable of
modeling
1. Any singleloop mechanism (including such degenerate
devices as the Bricard mechanism) with respect to
any set of generalized coordinates.
2. Multiloop parallelinput mechanisms, such as the
generalized Stewart platform.
3. Systems with a superabundance of kinematically
independent inputs, such as the redundant
manipulator.
4. Systems with a superabundance of kinematically
dependent inputs; such as cooperating robots,
walking machines and multifingered endeffectors.
CHAPTER II
DEVELOPMENT OF THE CONTROLLING EQUATIONS
The investigation of the basic kinematic and dynamic
nature of multidegree of freedom mechanisms and the
subsequent determination of a set of differential equations
useful in addressing the control of such mechanisms are
presented in this chapter. The presentation is separated
into three major divisions. The first section develops a
generalized approach to the modeling and analysis of the
system kinematics. The approach, which is based on the use
of kinematic influence coefficients, is applicable to
mechanisms consisting of rigid, or at least quasirigid,
links. In the second section, the influence coefficient
methodology is incorporated in the determination of the
dynamic model, yielding the relationship between the
system's load and motion states. Finally, the dynamic
equations (developed in the second section) are linearized
and a general state space representation is presented. This
representation, which includes actuator dynamics, is useful
when considering the control of the mechanism about some
prespecified nominal trajectory.
12
13
Method of Kinematic
Influence Coefficients
This approach to dynamic modeling of rigidlink
mechanisms is based on the separation of all kinematic (and
dynamic) phenomena into a collection of purely position
dependent functions (kinematic influence coefficients)
operated on by independent functions of time (input time
states). The concept of kinematic influence coefficients
can be applied to all classes of mechanisms (e.g.,
parallelinput planar systems, serialinput spatial devices,
etc.) and has been well established in the literature by the
works of Tesar and his graduate students: Benedict and Tesar
(1971), (1978a) and (1978b), Freeman and Tesar (1982) and
(1984), Cox and Tesar (1981), Thomas (1981) and Sklar and
Tesar (1984). Because of the fundamental nature of this
concept and its almost limitless range of application, this
section is presented in two parts. The first contains a
detailed development, in general terms, of the basic
methodology involved. The second addresses the specific case
of the serial manipulator.
Generalized Kinematics
Consider a Pdimensional time varying vector
u(t) = (u1(t),
t
up(t))T
(21)
14
representative of the motion parameters required to describe
the kinematics of a given system where the superscripts
indicate which parameter is involved (not that uP is u
raised to the pth power). Further, consider that these
parameters are functions of an Mdimensional set of
generalized coordinates
CP ( t ) = (CPi(t),
This allows a parametric description of the system where
UP = uP(cg);p = 1,2,...,P (23)
and
Adopting the standard convention for differentiation of
a vector (e.g.,u(cp)) by a vector (e.g., eg (t) ) one obtains
the typical Jacobian form, where the nth column of the
result is the partial derivative of u(cg) with respect to the
n^ component of cg(t), for the first time derivative of
u( t)) as
= [9j]
9<Â£
[9U
9U
... 9^
3
3cp2
9
9U1
9U1
. . 9U*
n
9 (P]_
9
9<Â£>M
cp2
9up
9up
ci)M
9 4>]_
9 tpjyi
Throughout this section an explicit shorthand notation is
developed to serve as a descriptive aid in the expression of
the system kinematics. The first order geometric
15
derivatives (i.e., kinematic influence coefficients) are
denoted as follows:
[Ju] =
= [Gu] = P
x M
matrix
3(0
cp
[ 3U ] =
= [Guj =
[Gu]
= gu = P x 1 vector
3cpn
(P ; n
n
a n
[JuPj =
= [Gu ] =
[ Gu j
= gP = 1 x M vector
3
^P;
CP
cp
[ 3uP] =
= [Gu] =
CGPj
= gP = 1 x 1
3
^Pzn
n
n
where the letter (g,G) is reserved for first order geometric
derivatives, the superscript indicates the dependent
parameter(s) involved (i.e., up) and the subscript specifies
which generalized coordinate (s) (i.e.,
Also, the snape of the result is indicated by the dimensions
of symbols used as the superscript and subscript(s). For
example, the shape of 2^ is equal to the dimension of the
subscript u (i.e., P) by the dimension of the subscript n
(i.e., 1). Referring to equations (26), the first order
kinematics of the system can be written in a variety of ways
depending on the manner of expression one wishes to employ.
The velocity (u) of the complete parameter set (u) can be
expressed as
= [Gu] = (P x M)(M x 1) = P x 1 (27)
M
S
n=l
gu
_n a
P x 1 vector
(28)
u
16
And, the velocity (P) of a particular dependent parameter
(uP) is written as
P = 2ep 2 = U x M)(M x 1) =1x1 (29)
or
M
P = E gP(pn = E(lxl)(lxl)=lxl (210)
n=l n 11
Noting that firstorder influence coefficients (g,G) are
functions of the generalized coordinates (eg), one recognizes
that the velocity vector () is a function both of the
position (eg) and velocity (
(cpm; m = 1,2,... ,M) This allows one to obtain the second
time derivative (u) of the dependent parameters (u)
from
= 3^ + 3 = ^ = U(j)(p (211)
3
The first partial derivative in equation (211) is
3 = [GVJ = ^H[Gu]
where the last term is the MxM identity matrix. This gives
the partial acceleration of (_u) due to the acceleration of
the inputs (eg) as
as = Â¡Sis (2i3)
Recalling the standard Jacobian form for derivatives of
vectors, one has
17
3 = [Gj = _3 ( CGuJÂ£Â£)
Scg
31 91 ... 31
34>1 3(P2 9(Pm
(214)
3P 3P
9(Pj_ 3
where
3P
3cpra
M
JL ( E gp <Â¡>n), P = 1.2,... ,P
3cpm n_1 n (215)
m = 1,2,...,M
Recalling the definition given in equation (26) for (gP),
and performing the differentiation, equation (215) becomes
M
gp = E [ 3 (3uP) ]cpn
m 11=1 3*m 3n
M
= E hP
n=l mn
= 1x1
(216)
where
3 (3uP) = hP =1x1x1 (217)
3m 3n mn
Alternately, equation (216) can be expressed in vector form
as
gP = (pT(hP )T = 1 X 1
m ~mcp
where
hP
~mcp
(hp.
ml
hP
m2
hP ;
mM
1 x 1 x M (219)
18
Here, the letter (h,H) is used to denote the secondorder
geometric derivative, and the shape of the result is equal
to the dimension of the superscript Py the dimensions of the
subscripts ordered from left to right. Using the vector
form of equation (218), the p^ row of equation (214) can
be written as
[j]
3cp
p;
[G]
cp p;
[GP]
lcp 2cp
=
cpcp
= 1 x M
'
Mcp
(220)
where
[HP j
cpcp
[_9(iuP) ]
9cp 9cp
= 1 x M x M
(221)
hP hP
Ml MM
From this, the partial acceleration of the pP^ dependent
parameter (uP) due to the velocity of the inputs (cp) is seen
to be
P. = t[hP jT(p = 1 x 1 x 1
cpcp cpcp
(222)
19
Since the transpose of a scalar is equal to itself, equation
(222) becomes
UP = t[hP ]
cpcp cpcp
Now, considering the complete parameter set (u), one has
cpcp =
T(Hcp]
iT[HP ] cp /
(pep ~~i
= TH$cp] = P x 1
(224)
where
[Hu ] = P x M x M
(225)
and
[Hu ] = [HP ] (226)
cpcp p; ; cpcp
finally, from equations (211), (213) and (224), the
acceleration (u) is found to be
= [Gu]cp + cpT[Hu jcp
cp  cp
(227)
Observing that the acceleration () is a function of
(cp) () and (cp) the third order time derivative (u) can be
determined from
u
9 r\ r\
eg + cp + Oii cp
<5"$ 3 cp 3 cp
(228)
20
Here
so
3_U = [ Gu ] 9i = [ Gu ] [ I ]MxM
3 cp cp 3Â£p cp
3_ (D = [ Gu ] c'
3 cp (p
The second terra in equation (228) is found from
3 u. .
= cpcp =
3Â£ 3Â£
3 1 3U1
cpcp cpcp
3cp]_ 3 d>2
3 ul.
cpcp
3 cpj/j
3
2
cpcp
3
3 u,
jpcp
3^1
3?.
cpcp
3
where, from equation (222),
3 UP cpT HP Tcp
cpcp = 3 (~ [ cpcp] ~)
3
= < HÂ¡p(p]T6) 1; + (Â£T[H^p]T);1
= (TCH^p 1 ) 1 + (T[HÂ¡p
(229)
(230)
(231)
(232)
since
(TÂ£H^cp] ) ;1 = [ ( [Hjq>JT)1; ]T = 1x1 (233)
The p1^1 row of equation (231) can be written as
3 UP . m P ,m D m p
= ((rtHp])^ + (r!HW]T);1,...,((Â£T[H(p(p]);M +
3 iÂ£
iteajp) + [hL,1t]
cpcp 
(234)
21
The complete Jacobian of equation (231) is then
3ji =
a
^Hw] + H(p(pJT]
= T
2
2
cpcp J
+
L ^cpcp
P
, P
^cpcp J
+
L ^cpcp
u
u
^cpcp *
+
L ^cpcp
i T
(235)
yielding
3 cp = E CH^pJ + CH^(p]T]cp
35
(236)
where the transpose operation is performed plane by plane.
The last partial in equation (228) can be separated into
two parts, giving
... 3U.. 9 u. .
9_U = cp + cpcp
9<Â£ 3 cp 3CÂ£
(237)
where, recalling equations (213) through (220),
3 Gu cp
^cp = 3([ cp]*)
92
92
"Tr^^ iT
cp [ cpcp J1
(238)
2T [ Hcpcp JT
22
and
P x M
3. ^ Â£T Hu tT(<\
cpcp = 3( [ cpcp ] ~)
9Â£ 9Â£
cpT cp? cp
9(~ [ cpcp] ) 3(~ L cpcpjJ
3
3,Â£TrH2 ,Â£*
3( [ cpcp] )
9 q>l
(T H^5
9t [ cpcp]^)
9 cp^
cpT H2 cp
9(~ [
9 cpjyj
(239)
cp^ cp
3(~ [ cpcp])
9
Now
yielding
9(^ [Hcpcp]^)= 6T[_1_( [hSq,3) ]g>
9 (Pi
9 (Pi
(240)
= Â£TLDicp(p]Â£ =1x1
9 u
cpcp =
9 Â£
Â£T[Dl(pcpjÂ£ Â£^f^2cpcpIÂ£ i^^Mcpcp^
Â£TtDl(pcp]Â£
Â£T[D1(p(p](Â£
rn r
Â£T [ DMcpcp J Â£
(241)
= Â£TE Vpcp]Â£ = P x M
The letter (d,D) is used to denote the thirdorder geometric
derivative and the shape of the quantity is equal to the
dimension of the superscript by the dimensions of the
subscripts, respectively. Further defining the third order
kinematic influence coefficient (d,D) one has
23
3jl =
3(Â£3
s3 p
o U =
3 O1
3 (9 il)
0>1 2
3iÂ£
u
[Dqxpcp] = PxMxMxM
^(pcpcp ] p; ; ; C ^Cpcpcp ^ 1 X M X M X M
(242)
, u u
[ Dcpcpcp J ; 1; ; 1 D
lcpcp
= PxlxMxM
u
_3( (3_u_) ) LDqxpcpJp; l;m;n; ^1
lmn
= lxlxlxl
3^1 3 4>m 3
Now, substituting equations (238) and (241) into equation
(237) gives the partial derivative of the dependent
parameter acceleration (u) with respect to the generalized
coordinate( s ) position (eg) as
3_ = 2T[H^JT + TCDÂ¡Â¡(p(p] (243)
3
Finally, from equations (228), (230), (236) and (243),
the thirdorder time derivative (u) of the dependent
parameter set (u) is
u
r u u r u
L Gcp) !Â£ + ( L ^cocpJ + L ^rpep
f U, ... m U U
f Gcp ] iÂ£ ( J + 2 [
]T) + (
]T) + (T[DjÂ¡(p(p])
])
(244)
completing the general kinematic development.
Kinematics of Serial Manipulators
The analytical development presented here, altered
notationally and extended to cover thirdorder kinematics, is
based directly on the work of Thomas (1981) and is included
24
for completeness. The definition of the particular physical
system that is being considered is addressed first. Then the
notation defining the physical parameters is established.
Next, the geometric relationships corresponding to equation
(23) are developed. Finally, the kinematics of the serial
manipulator are derived in terms of explicit equations
defining the kinematic influence coefficients as opposed to
the conceptual relationships of the preceding general
development.
System definition and notation
The analytical development presented here, altered
notationally and extended to cover thirdorder kinematics, is
based directly on the work of Thomas (1981) and is included
for completeness. The serial manipulator, in essence an open
loop kinematic chain consisting of a series of rigid links
joined by onedegree of freedom lowerpair connectors, is
illustrated in Fig. 21. This treatment specifically
addresses only revolute (R) and prismatic (P) pairs because
most other typically encountered joints can be considered as
combinations of the two (e.g., a cylindric joint is analyzed
as an RP combination). Investigation of Fig. 2.1 shows that
both types of joints, revolute and prismatic, have two
independent parameters associated with them, (Sjj, 0j ) and
(sj, Â¡j), respectively. The parameter Sjj (or Sj} is the
offset distance along the joint axis, s^, between the two
links connected by the joint connects. The parameter 0j (or
25
0jj) is the relative rotation about s^1 between these links,
Here the double subscript serves to indicate that the
quantity is a fixed independent parameter, while the single
subscript implies that the parameter is an independent
variable. The two parameters aj^, the fixed distance between
joints j and k as measured along their common perpendicular
a3k, and o^, the twist angle between the joint axes measured
in a righthand sense about a^k, define link jk.
The global reference is a fixed Cartesian system (X,Y,Z)
with the Z axis directed along the first joint axis, s^, and
the X axis located arbitrarily in the plane perpendicular to
s1 (Note that the independent parameters associated with
joint one are measured with respect to the X axis). Local (or
bodyfixed) dextral Cartesian reference systems (^)x, (^y,
(J*z), with (j^x along a^k an (j)2 along s 3 are assigned
for each link (jk). The vectors a.Jk and s^ are unit vectors
expressed in terms of direction cosines and given by
*a^k = t^(3)= (*X^k, *Y3k, *Z^k)
*sj = t3<3)s3 = (*xj, *z3)
with
(3)a3k = (1, 0, 0)T
= (0, 0, 1)T
where the rotational transformation matrix T^ is
T j = [*a^k s^x*a.jk *s^ ]
The preceding superscript, (j), is used to indicate that the
vector is expressed in terms of the jth local reference, and
the preceding superscript (*) denotes a vector given in
(245)
(246)
(247)
26
terms of its direction cosines. The direction cosine
representation of the vectors and s^ can be obtained,
where all joints are assumed to be revolutes, from the
initial direction cosines
*sx = (0, 0, 1)T
*a12 = (c!, slf 0)T
and the recursive relations
(248)
*sj = 1)s^ = T j 1(0,sa(j.jj j, ca(j_1)jj)T
j = 2,3,...,M (249)
*a3k = T^1^_1)a^k = _1 ( c0j ,ca( j _1 j js0j sa( j _j_) jS0j )T
where c0 = cos0, s = sin, etc.
If the joint is prismatic, simply replace 0]_ by ]_]_ and s^
by Sj_ here and in the subsequent general equations. Finally,
the position vector, R j, locating the origin of the jt^1
reference is given by
Rj = sm1 + (*(11)1 a(11)1 + sjjjs1)
(250)
Using equations (248), (249) and (250), the configuration
of the serial manipulator is completely defined once all the
zeroth order independent parameters are specified (e.g.,
sll'. a(ll)l' a(ll)l' 1' etc.). The reverse position
solution, that of solving for the variable input parameters
given the desired hand location (e.g., R6, a67, s6), is (in
general) considerably more difficult (Duffy, 1980) and is
not addressed here. The notation involved in the kinematic
27
Figure 21. Kinematic representation of the serial
manipulator
28
Table 21. Manipulator Joint and Link Parameters
 Vector for Joint Axes Between Links
Sjj is Fixed Offset Value (Revolute)
j j is Fixed Rotation Value (Prismatic)
Oj Generic Input for Joint Axis S^
Sj Sliding Along
0j Rotation About
^ J }Â£
> Fixed Link Dimensions Between Axes j and k
ajk
a,^ Common Perpendicular Along a^
 Twist Angle
29
Table 22. Coordinate Systems
GLOBAL SYSTEM
X\
Y
Z
Absolute Reference System
( Z Along Axis S*)
/X^
Y3
l*xA
*Yjk
Direction Cosines for Joint
Direction Cosines for Link a^
LOCAL (j) SYSTEM
/<:>x\
( j)y
\( j >Z
\
Body Fixed System for Link jk
(3)x along a^k
^ ) z along S^
30
representation of the serial manipulator is given in Tables
2.1 and 2.2 for quick reference.
Firstorder kinematics
In the development of the generalized kinematics, the
specific nature of the dependent motion parameters (up) and
the independent input parameters (0n) were not taken into
account. In the case of the serial manipulator there is a
fundamental difference in the nature of the two basic motion
parameters considered. In this treatment the two parameters
are the cartesianreferenced link orientations (which are not
considered true coordinates) and the cartesianreferenced
coordinates of a point (which are true coordinates). Also,
the effect of an input on these parameters depends on whether
the input is a revolute or prismatic joint. In light of these
facts, the kinematics for rotational parameters amd those for
translational parameters are treated separately, and the
results for both revolute and prismatic inputs are given in
each case.
In dealing with the kinematics of rotational parameters,
it is not convenient to start with an equation of the form
of equation (21) (i.e., u = f(cg)) since finite angles of
rotation cannot be represented by vectors. Fortunately,
however, it is possible to represent infinitesimal rotations
by vectors (Meirovitch, 1970), and these infinitesimal
rotations can most readily be interpreted as the angular
velocity (w) of the body. So, instead of using a
zerothorder holonomic constraint equation (e.g., u = f (cÂ£) )
31
to derive a link's firstorder rotational influence
coefficients, a firstorder nonholonomic constraint
equation expressing the link's angular velocity is
used.
Referring to Fig. 21, the angular velocity addition
theorem gives the angular velocity (wjk) of link jk as
simply the sum of the relative angular velocities between
preceding links in the chain
j .
u1 = 2 n sn, n = 1,2,. ..,L (251)
where, 0nsn is the relative angular velocity between links
(nl)n and n(n+l), and @n is identically zero for a
prismatic joint. Investigation of equation (251) shows that
the angular velocity (w^) can be separated into a function
of position (i.e., sn = f((Â£) operated on by a function of
time (i.e., 0 = 0(t)) or, in the form of equation {21) t
J* = f()*8(t) [of Ji (2_52)
Now, in order to obtain the 3xM configuration dependent
matrix [G^ ], one has that (also see equation (212))
(ujk) = _3_( [G ]<Â£)
3g> 9 2
= [G^k] 9()
32
= [G^]
cp
In fact, for any position dependent vector (u = u((f>) )
one has from calculus that
32
JM_d(u)) = 9 ( 3 (u)d
(pn dt 9n 3cÂ£ dt
= 9()
9(p 3
= C 3(a) ]
3 cp '*n
= 9(U)
(254)
This turns out to be a very convenient relationship and is
used to obtain the kinematic influence coefficients for
translational parameters even though it is not necessary
since the position vector u = P = (XP, Yp, zP)T exists and
could be differentiated directly.
Returning to the question at hand, from equations
(251), (252) and (253), the rate of change of the angular
orientation of link jk is
)jk [ q3 k ]<Â£
(255)
where
c^k = 3_(w_3k) = 3_( .2 0; s1
n 3n 3
'n
,n
(256)
sn, n < j; cpn = 0n (revolute)
o otherwise
Here, the angular velocities (e.g., are expressed in
terms of cartesian reference frames and denoted, in a
component sense, as
w 3 k = (W3X, uiY, o)3Z}T (257)
Consistent with this notation, the influence coefficients
take the form
33
gjk = (gjxf gjy# gjZ)T (258)
n n n n
where
sn = (*Xn, *Yn, *Zn)T (259)
The translational velocity (P) of a point (P) in link jk,
and hence (from equation (254)) the translation influence
coefficients, can be derived from
P = R + T3 ^ 3 )p (260)
where, ^3)p is the location of point P in terms of the body
fixed reference j, and multiplication of (3)p by the
rotation matrix t3 transforms the coordinates from the jth
reference to an intermediate system with the same origin but
with axes parallel to the global reference (X, Y, Z).
Substituting equation (250) for r3 and differentiating
equation (260) gives the velocity of point P in link jk as
J
= ^s1 + Jj2 (a(1_i)1(11)1 + s^s1 + s^)
+ _d(T^(3>P)
dt
(261)
Now, since and s^ are unit vectors fixed
in link (11)1 and ((3)p) is a vector fixed in link jk, the
time rate of change of these vectors can be expressed in
terms of the vector cross product as
(11)1 = u(ll)l x a(11)1 =
11
x a'
n=l
n
E_ 0n sn ) x a
(11)1
1 = OO ( 1 1 ) 1 X s* =( ^ E^ 0n Â£n )X S^
n=l
(262)
34
d(T^(j)p = w3k x (13 ) P) =( 1E1 0n sn ) x (T^^P)
dt \ n=l /
Substitution of equations (262) into equation (261) and
regrouping of terras leads to
P =
nx {snsn + nsn X [1=+1(a(1.1)1a(1 1)1 + sm1)
+ ( 3 ) P ] }
= l {snsn + 0nsn x (PRn)}
n=l
(263)
where, referring to Fig. (21),
11)1 + siii + t(3)Â£ = <Â£'En)
(264)
is a vector from the origin of the nt^1 reference to the
point P. Finally, recalling equation (254), the velocity of
point P can be expressed in the form
1 = CG^Jcp (265)
where
r sn x(PRn) n
P
2n =
9P
3cpn
= <
.n
' o
, n
, n>j
(266)
Secondorder kinematics
Now, relying heavily on the development presented for
the second and thirdorder kinematics of a general motion
35
parameter, the higherorder kinematic influence
coefficients, and hence the higherorder kinematics for the
serial manipulator, can be obtained by directly operating on
the firstorder coefficients given in equations (227) and
(266). Observing that both the rotational and
translational influence coefficients are expressed in terms
of position dependent vectors leads one to again use the
relationship of equation (254) to obtain the (h,H) and
(d,D) functions.
Recalling the firstorder rotational coefficients and
equations (254), one has
d(gjk)
dt n
, n< j ? cpn=0n
, otherwise
(267)
where
sn
(268)
Performing the partial differentiation with respect to the
mt'1 generalized velocity yields, for the secondorder
rotational coefficients, the expected nonsymmetnc (i.e.,
h^k = h^k) result
mn nm
h^ = 8 (g3k) = 9 (qjkj J
~mn rt: n 77; n
9>m
9 CD
'm
sm x sn m
(269)
o
, otherwise
36
Also, notice that the rotational (h,H) functions are zero if
either input is prismatic. Referring to the general form of
equation (227), the angular acceleration of link jk becomes
where
and
with
0.3^ = [g3^]c + qt[h3^](p
cp cpcp
a.3k = (ajx# ajy, ajz)T
[H3k] = 3 x M x M
epep
[H3k] = h3k = (h3X, h3Y, h3Z)T
epep ;m,*n ~mn mn mn mn
(270)
(271)
(272)
(273)
The second order kinematics of a point P in link jk are
perhaps most easily understood by identifying all possible
input combinations and addressing each situation
independently. Looking first at the case where the nth
generalized coordinate is a prismatic joint (i.e., cpn = sn) ,
the time rate of change of the (g,G) function is
g? = in n
Since Â£n can be viewed as a unit vector fixed in link
(nl)n, one has that
x sn i x _sn n
(275)
Taking the partial derivative of this expression yields, for
a prismatic joint n
37
hp = 9 (gp) = {
~mn 3(i) n
X sn
, m
; CPmm/
o
, n
; 4>m=Qm, (i)n=sn
(276)
o
' ^m^m
; cpn=sn
Now, considering the case where the nth joint is a revolute
(i.e., cpn = 0n), the time rate of change of the influence
coefficient is
gP = _sn x (PRn) + sn x (PRn) (277)
or, by differentiating equation (264) to obtain (PRn) and
substituting the cross product form of equations (262) for
the vector derivatives,
gp = ((V 0i s1) x sn) x (PRn)
n i=l ~ ~ 
n=l
(278)
Sn X ( ft.E si) X (al.nia11*111 + SnS1)]
 l=n+l 1=1 1 ll_
+ ( l i s1) x (T^^P))
i=l x ~
+ sn X
S1 S')
l=n+l 1 ~
Investigating the case where the m**1 input is a prismatic
joint (i.e., cpm = sm) one sees immediately from the last
term of the preceding equation that
p
. P 2*
ilmn ^ n
3s
m
sn x sm n
o m
(279)
38
The reader should note that this equation is consistent with
equation (276) and shows that the result is nonzero only
if the revolute precedes the prismatic joint in the serial
P P
chain. The symmetry (i.e., h^n = hnm) of the translational
(h,H) functions should also be noted. Now, when the m^
input is also a revolute (i.e.,
at the case in two steps. First, when m > n, from the second
term of equation (278)
3~n = sn x (sm x [ 1 (a( i_i \ la( 11) 1
r ~ ~ l=m+l 11 
3um
(280)
+ s^1) + T3( 3 )Â£) )
or, from equation (264)
n = sn x (sm x (PRm)) n
3(281)
If m < n, both of the first two terms in equation (278) are
involved and, one finds that
9gp
n = (sm x sn) x (?Rn)
3^ (282)
+ sn X (sm X
( l
l=n+l
a(ll)l(1_1)1 +SHsi + T7(3)p))
or, again recalling equation (264)
3 gp
n = (sm x sn) x (PRn) + Â£n x (sm x (PRn))
^m
= sm x (sn x (PRn)) m
Combining this result with that of equation (281) further
illustrates the symmetry inherent in the translational (h,H)
functions and yields
39
P P
ilmn limn
x (s3 x (PR^))
i = min (m,n)
j = max (nun)
(284)
Before proceeding with the kinematic development, it
will prove beneficial to reinvestigate a representative
sampling of the first and secondorder translational
influence coefficients in a more geometric light. Recalling
equations (28) and (266), the firstorder geometric
influence coefficient for a point p in link jk with respect
hh p
to the ntn input is a vector (c^ ) which when multiplied by
the nth generalized velocity (cpn) yields the nth partial
velocity (Pn) of the vector (p)
P = Pn = j
n=l"n
 2P L / 2P = 0 ; n>j
n=l n h n
(285)
Let us first investigate the case where the nt^1 input is a
prismatic joint (i.e., cpn = sn) and the desire is to find
p
(sStjJ* Here' the preceding subscript (s) is introduced to
indicate that input n is prismatic. Referring to Fig. 22,
one can readily see that the vector (P), and hence, its
velocity (P), can be expressed in a variety of ways. In the
manipulator of Fig. 22, where the second joint is prismatic
(i.e., 2 = s 2) it is advantageous to view the vector (P)
as
P = R2 + (PR2)
(286)
40
Here the quantity (PR2) is considered a free vector
and the pure translation of a free vector in no way alters
the vector (i.e., (PR2)=0). With this representation it is
readily apparent that the action of the slider (S2) only
affects the vector (R2) Also, by inspection, the rate of
change of this vector (R2), and therefore, the rate of
change of P due to the action of s2, is
2 2 s2^ (287)
since
R2 = s^1 + a12a12 + s2s2 (2_88)
From equation (277) one obtains the expected result (see
equation (266))
s2n = sn n=2 (289)
Now, consider the derivation of the (g,G) function for a
revolute joint (e.g., (pn = 3) In this situation, the
coefficient (qÂ£?) is most easily found by expressing the
position vector P as
P = R3 + (PR3) (290)
In this case it is the vector R3 that is unaffected by the
action of the revolute (63). Recalling the vector cross
product representation of the velocity of a body fixed
vector, one has the partial velocity of P due to the third
input as
Ij = (Â£:E3>3 = 3a3 x (PR3) (2.91
since (PR3) can be viewed as a vector fixed in link 34.
This again yields the expected result (see equation (266))
41
22. Firs
atic influence coefficients
torder kinematic
Figure
42
Q^n = sn x (PRn) n=3 (292)
The difference between the translational firstorder
coefficients for revolute and prismatic joints is perhaps
more easily understood now, from equations (286) through
(292), than from the more analytical development resulting
in equation (266). That is, by expressing the vector (P) as
P = Rn + (PRn) (293)
it becomes obvious that, if the n1*1 input is prismatic
(i.e., 0n = sn) the location of the origin of the local
reference (Rn) fixed to link n(n+l) is translated and, if
the n^ input is a revolute (i.e., cpn = 0n) the vector
(PRn) from the local origin to the point of interest is
rotated.
To reinterpret the secondorder coefficients (i.e.,
h ), take the case where the n111 joint is a revolute.
Here, referring to Fig. 23, one has
02n = sn x (P Rn) (294)
P
First, if m < n, one can obtain (h ) immediately by noting
P
that (2n) as expressed in equation (294) represents a
vector fixed in link n(n+l). From the firstorder results
it follows that
p
sSmn = 2 / m
and
0hmn = x (sn x (PRn)) m
(296)
43
Figure 23. Secondorder kinematic influence coefficients
when second joint is a revolute
44
P
since (qc^) is affected in the same manner as (PRn) was
previously. Now, if m > n, the first step is to reexpress
equation (294) as (see Fig. 24)
02n = sn x [(PRm) + (RmRn)] (297!
Here, from past results, it can be seen that if the m1*1
input is a prismatic joint only the vector (RmRn) is
effected. On the other hand, if the mth input is a revolute
the only affect is on the vector (PRra). This gives the
secondorder results as
and
P
st)mn
sn x sm n
(298)
P
00lmn
sn x (sm x (PRm))
n
(299)
The remaining secondorder influence coefficients are left
for the reader to reinterpret and compare with the more
analytically derived equations (276), (279), (281) and
(283) .
Now, with the secondorder influence coefficients fully
established, the acceleration of point (P) can be obtained
as
p p
F [ G(p ] <Â£ + ] <Â£
where
P = (XP, YP, ZP)T
and
(2101)
45
Figure 24. Secondorder kinematic influence coefficients
when first joint is a revolute.
with
(2103)
Thirdorder kinematics
The thirdorder kinematics require the development of
the thirdorder influence coefficients (i.e., the (d,D)
functions). Here, only a few representative cases will be
derived. The rotational coefficients are obtained via the
strict analytic approach, whereas the translational
coefficients are addressed using the more illustrative
graphic approach. The complete thirdorder coefficient
results, along with those for the first and secondorder
coefficients are presented in Tables 23, 24 and 25.
Again, the rotational influence coefficients will be
investigated first. Here, if any of the three inputs
involved is a prismatic joint, then the thirdorder
geometric derivative is identically zero. This result is
due zo the fact that the translation of a free vector does
not alter the vector (as was also the case for the (h,H)
function). Now, if all inputs considered are revolutes, one
has
sm x sn m
n
(2104)
47
and the concern is to determine the effect of the third
revolute = ]_) on this secondorder property. There
are two unique nonzero situations nere, l
If l
mn
link (ml)m and the thirdorder geometric derivative is
00^lmn = i s1) x (sra x sn))
3 0>i i"1
(2105
= s* x (sm x snj l
If m
be considered as a vector fixed in link (nl)n yielding
Jk
00Slmn
sm x 3 (^E1 0j sM x sn)
1=1 "
sm x (s^ x s11) m
(2106)
One can now write the time rate of change of the angular
acceleration of link jk as (see equation (244))
jk = [Gjk]ffl +
(P (pep epep
(2107)
3
+ (TCD(p(p(p])
where all algebraic operations are as defined previously in
the general kinematics section and
jk
CDcpcpcp J = 3 x M x M x M (2108)
with
ID
jk .
epepep
; 1; m; n
jk jX jY
lmn ^lmn'^lmn'
1 j m
^lmn'
(2109)
48
The thirdorder translational coefficients where one of
the inputs is prismatic can be obtained in exactly the same
manner as were the rotational coefficients for three
revolute inputs (since the symmetry exhibited by the
secondorder translational coefficients carries over to the
higher order properties), where
_L_
3sn 30L 30m 30x 30m 3sn (2110)
As with the translational (h,H) functions the only nonzero
result occurs when the prismatic joint is the last joint
considered and can be expressed as
P P
s00^nlm = 00s^lmn = = s1 x (s3 x sn) i=min (l,m)
j=max (l,m)
(2111)
Considering the situation where all three inputs concerned
are revoiutes, and m
. P
^mn "
,m
x
(sn x (PRn))
(2112)
Taking the more graphic approach (see Fig. 25), for l
p
(h^) can be considered as a vector fixed in link m(m+l),
yielding
P
^lmn
s1 x (sm x (sn x (PRn))) l
(2113)
For m
can be viewed as a vector fixed in link n(n+l), giving
49
Figure 25. Thirdorder kinematic influence coefficients
50
d^mn = sm x (s1 x (sn x (PRn))) m
(2114)
Finally, for m
(2112) as [(PR1) + (R^Rn)J one sees that the only
affected vector is (PR*), so
P i i
dlmn = sra x (sn x (s1 x (PR1))) m
(2115)
The remaining translational thirdorder geometric
derivatives are left for the reader to derive and are given
in Table 23. The time rate of change of the acceleration
of a point P in link jk can now be expressed, from equation
(244 ) as
where
(2116)
with
P
[D
P P
D(p
and the symmetry of the translational (h,H) functions has
been observed (i.e., [H^cp]T = [H^]). This completes the
treatment of the kinematics of serial manipulators.
51
Table 23. First Order Influence Coefficients
for Serial Manipulators
Symbol
Joint Type
at M at N
Restrictions
Value
Rotational

n
Sn
[gJKj
n> j
All n
0
0
Translational
R
n
(PRn)
0
P
n<3
Sn
R,P n>j 0
52
Table 2.4 Second Order Influence Coefficients
for Serial Manipulators
Joint
Type
Symbol
At M
At N
Restrictions
Value
Rotational
R
R
m
Sra x Sn
Â£HjkVn
R
R
mj
0
P
P
All m,n
0
R
P
All m,n
0
Translational
R
R
m
Srax[Snx(PRn)]
R
R
n
Snx[Smx(PRm)]
P
R
n
SnxSm
R
P
m
SmxSn
P
R
m
0
R
P
n
0
R,P
R r P
(m or n) < j
0
53
Table 25. Thirdorder Influence Coefficients for Serial
Manipulators
Joint Type
Symbol
1
m
n
Restrictions
Value
Rotational
R
R
R
l
S Xx(SmxSn)
tDjkhmn
cpcpcp 'L 11
R
R
R
m
Srax (_S_1xSn)
R
R
R
m,l
0


P
all l,m,n
0
Translational
R
R
R
l
S1x(Smx[Snx(PRn)])
[^1mn
cpcpcp 111,11
R
R
R
m
Smx(SXx[Snx(PRn)])
R
R
R
m
Smx(Sx[SXx(PR1)])
R
R
R
n
by symmetry
R
R
P
l
S1x(SmxSn)
R
R
P
m
SmX(sXxsn)
R
R
P
m,lj
0
R
P
P
all other
1,m,n
by symmetry

P
P
all l,m,n
0



1,m,n>j
0
54
The Dynamic Model
This section deals with the determination of the
generalized input loads (forces and, or torques) required to
cause the system in question to undergo some arbitrary
desired motion. The derivation of the describing equations
presented herein is based almost entirely on two fundamental
principles of mechanics (the principle of virtual work and
d'Alembert's principle). Lagrange's equation could have been
employed, yielding the same results (typically in scalar
form as in Thomas, 1981). However, it is felt that the
approach taken here more directly stresses the geometric
nature of the result.
The principle of virtual work is used to obtain the
generalized forces (or torques) necessary to counteract
externally applied loads and put the system in a
configuration (i.e., position) dependent static equilibrium.
This principle has been employed by many researchers (e.g.,
Whitney, 1972, Paul, 1972 and Thomas, 1981) to deal with
loads applied to the endeffector of a serial manipulator.
It can also be used to handle loads generated by such system
components as springs and dampers as demonstrated by
Benedict and Tesar (1978b) and Freeman (1980).
D'Alembert's principle is used in conjunction with the
principle of virtual work to address the system's inertial
dynamics. This approach to determining the generalized
inertial loads is not unique to the author and has been
55
observed by several investigators (e.g., Kane, 1961 and
Silver, 1982). One form of the equations resulting from
this approach has even been referred to recently (by Kane
and Levinson, 1983) as Kane's dynamic equations. The concept
(alluded to as early as 1923 by Wittenbauer), however, is a
natural consequence of the two principles and is usually
referred to as the generalized principle of d'Alembert (see
Lanczos, 1962, Meirovitch, 1970 and Lee, 1982).
Finally, the dynamic equations are expressed in terms of
configuration (i.e., position) dependent coefficients
operated on by the higherorder generalized input coordinate
kinematics (i.e., velocity and acceleration). This result
for the dynamic model is greatly facilitated by the use of
kinematic influence coefficients and yields a highly
geometric description of the system dynamics where the
effect of the action of the generalized coordinates on each
other is transparent. It should be noted that this
transparency is of extreme importance (if not absolutely
necessary) when dealing with the transfer of the dynamic
model from one set of generalized coordinates to another.
The Principle of Virtual Work
This principle is the first variational principle in
mechanics and aids in the transition from Newtonian
(Vectorial) dynamics to Lagrangian (Analytical) dynamics.
It is concerned with the static equilibrium of mechanical
systems, and can be stated as: The work done by the applied
56
forces in infinitesimal reversible virtual displacements
compatible with the system constraints is zero. To get a
more analytical handle on this principle, consider a system
containing N, Pdimensional, dependent motion parameters
4u = ('u1, ^u2, 4up)T i = 1,2,...,N
(2119)
acted on by N, Pdimensional, applied loads
iTu = (iTl It2, iTF)T i=l,2,...,N
(2120)
where the preceding superscript indicates which parameter
is being considered, and the applied loads can be viewed as
implicitly dependent on the generalized coordinates.
Further, suppose that the system has M degreesoffreedom
and, hence, its motion can be completely described in terms
of M generalized inputs,
q = (qi, q2'*' 3m,t (2121)
and that these coordinates are acted on by M generalized
forces
Tq = (Tx, T2, ..., Tm)t (2122)
For the system to be in static equilibrium, the principle of
virtual work states that the virtual work (6W) must be zero,
or
6W = Tq 6q + ii iu (2123)
= (6g)T T + 2 (Su)1 t11
M 1=1 ~
= ( 6q)T Ta + j ( (SqjTfiG11]7)1^
M 1=1 q ~
= (SqjTi^j + .2
~4 1=1 q
0
57
since, for the virtual displacements (6xu.) to be compatible
with the system constraints (see equations (27) and (28))
M i
61u = E 9 u 6qn = [1GuJ6q
n=l T7T q
3qn 4 (2124)
Now, because the virtual generalized displacements (6qn) are
all independent, hence arbitrary, equation (2123) yields M
independent equations for the required generalized loads as,
in vector form
T Â§ [iGu]T ^ = Tl
1=1 q ~q
(2125)
where is the effective load at the inputs due to all
applied loads.
The Generalized Principle of D'Alembert
The statement of this principle is as follows: the total
virtual work performed by the applied and inertial forces
through infinitesimal virtual displacements, compatible with
the system constraints, is zero. To see how this principle
can be used to obtain the generalized input loads (Tq)
required to overcome the system's inertia and cause the
desired motion, again consider the dependent parameters (^u)
of equation (2119) where, now, they describe the kinematics
of the system's mass parameters
[1MU] = P x P i=l,2,...,N (2121
This allows the system's momentum (Lu) (both linear and
angular) to be expressed by the N, Pdimensional, vectors
(1LU) as
58
Lu = E (^Lu) = E ([iMu]iu) (2127)
 i=l ~ i=l ~
Further, assume that there exist N, Pdimensional, load
vectors (iTu, i = l,2,...,n) that if applied to the
associated mass motion parameters (1u) would cause the
desired system kinematics (i.e., the position, velocity and
acceleration of the ^u) The generalized principle can now
be written as
.E (iqnu lU) 5iu = .E (TU d_( [iMu]iu) ) diu = 0
11 11 dt (2128)
yielding, for the virtual work (6W) done by these
hypothetical applied loads ('Tu) the following relationship:
6W
E iTu 6iu
i=l 
S d([iMuJiu)
11 dt
fi'u
(2129)
This result, in itself, is not very useful since the virtual
displacements (61u, i = l,2,...,n) are not independent.
However, when one recognizes that the virtual work can also
be expressed in terms of a set of M generalized forces (Tq)
acting on a corresponding set of generalized coordinates
(g), which are independent, as (where here the generalized
forces are, in essence, replacing the hypothetical applied
loads instead of opposing them, as in eguation (2125) to
obtain static equilibrium)
6W
N
E
i=l
iTu
6q
(2130)
the following, very powerful, result occurs:
59
Ta 6g = S _d([iMu]i)
d 11 dt
N (2131)
= 2 d([1MuJ1u) [iGu]6q
1=1 dt ^
or, following manipulations similar to equations (2123),
the required generalized forces are
Ta = 2 [iGu]T { dU^M)}
~q i=l 3 dt
(2132)
Investigation of equation (2132) yields an interesting
result. That is, the effect of the dynamics of each mass
motion parameter (e.g., each link) on the generalized inputs
can be considered independently (also see Silver, 1982,
equation (25), where the dynamics of each link are expressed
in terms of the NewtonEuler equations). In fact, the
result of equation (2132) can be obtained from the
derivation of the generalized input loads required to offset
a set of applied loads (see equations (2123), (2124) and
(2125)). To see this, simply replace the applied loads
(1TU) in these equations with either the d'Alembert loads
( _: ( [ ^MU ] ^.) ) or the negative of the NewtonEuler
dt
equations. In this light, one could view the result of
equation (2132) as being obtained from the virtual work of
the d'Alembert loads.
Now, recalling equation (27) for (Hi), equation (2132)
can be written as
Tq = 2 { d( [V^H^G^g)}
q 1=1 q dt q
(2133)
60
Recognizing that the momentum vectors are functions of the
generalized coordinate positions and velocities (i.e., q and
q), one has that
d( [iMu] [iGuJq) = J_( [iMu] [iGu]q)q + _8_( [ iMu] [ XGU]q) q
dt q 3q q 9 2. q (2134)
The second of these terms follows immediately from equation
(213) as
/ r ift/rU i r /.U i X. \ X r irviU 1 r i^U i X
(2135)
3 ([1MU][1GU]q)q = [1Mu][1GuJq
3^ q q
If the mass parameters ([1MU]) are configuration independent
(i.e., [XMU] = f(q)) (which is not the case when dealing
with the effects of inertia in spatial devices, but
including the generalization gives no insight here and the
question will be dealt with specifically in the case of the
serial manipulator), then recalling the development of
equations (214) through (224), the first term of equation
(2134) becomes
( [XMU] [xGu]q)q = ]q (2136)
3 q q qq
Substituting the results of equations (2135) and (2136)
into equation (2133) gives for the required input loads
Tq = ,Z {[iGu]T[iMu]tiGu]}q
1=1 q q 
+ E ( [ G11 jT[ mu]qT[ iHu ] q}
1=1 q qq 
(2137)
Note that for constant mass ([1MU]), this equation can be
immediately obtained by substituting equation (227) for
(xu) into equation (2132). Now, equation (2137) can be
written in the general form for the generalized inertia
loads (T1) as
q
61
T1 = [I* ]q + qT[P* ]q
~q qq qqq
(2138)
where, the configuration dependent coefficient
[I* ] = S [iGujT[iMu] [iGu] = M x M .....
qq 1=1 q q (2139)
is a positive definate matrix representing the effective
inertia of the system as seen by the inputs. The system's
kinetic energy is also expressable in terms of this
coefficient (see Thomas, 1981) as
KE = 1 qT[I ]q
2 ^q
(2140)
The configuration dependent coefficient
[P* ] = .2 ( ( [iGu]T[iMu] ) [h11 ]) = M X M X M*
qqq 1=1 q qq
(2141)
is the inertiapower modeling matrix dealing with the
effects of the velocityrelated acceleration terms. Note
that the subscripts on the model coefficients indicate, not
only the dimension of the result, but also aid in
investigating specific terms. For example, the ntn
generalized inertia load is
T1 = [I* ]q + qT[P* ]q
n nq nqq ~
(2142)
= [I* ] q + qT[P* ] q
qq nr ~ qqq n
where
62
[I* 1 = E [ iGu]Tf [qU j
nq i=l n q
(2143)
and
[P* ] = .E {(CGu]TtiMui) [HU ])
nqq i=l n qq (2144)
It should be noted that the form given in equation
(2138) for the inertia related terms of the dynamic model
is completely general and applies to all types of rigidlink
mechanisms. The only differences lie in how the kinematic
influence coefficients are obtained and, if the mass
parameters ([1MU]) are configuration dependent, the
coefficient [P* ] contains an additional term (as will be
nqq
seen in the serial manipulator development).
The Dynamic Equations
Finally, recalling equations (2125) and (2138), the
generalized input forces (or torques) required to generate
the desired system trajectory under load are given by
= [I ]g +
qq
CP ]g
qqq
E [iGu]T 1tu
i=l q
(2145)
This result shows the highly geometric nature of the
dynamics of multibody systems, and is precisely the reason
why this representation for the dynamic model is chosen over
the NewtonEuler form. While this form may, or may not,
immediately yield the most efficient scheme for realtime
63
computation (Hollerbach, 1980), the insight that can be
obtained from this geometric view is considered essential
for realtime control. What is meant by this is that, if
one does not understand the essence (which is geometric) of
how the effects of the system parameters (e.g., system mass,
endeffector loads) on the inputs vary, then it is unlikely
that one can intelligently address the question of any type
of control, much less realtime control. Regardless, as
will be seen later, when dealing with cooperating
manipulators (including walking machines and multifingered
hands) the geometric form of equation (2145) is extremely
useful, if not altogether essential.
This form (equation (2145)) is also convenient in
addressing the question of dynamic simulation. Here, since
the effective inertia matrix ([I* ]) is positive definite
qq
(i.e., its inverse always exists),one can determine the
system's response by solving equation (2145) for the
generalized accelerations as
q = [I* ]_1(T
qq
q
 qT[P* ]q + E CiGu]T LTU)
qqq ~ 1=1
(2146)
While any of a number of numerical integration routines can
be employed to solve this equation, multistep
predictorcorrector methods (e.g., Adams) are suggested over
singlestep methods (e.g., RungeKutta) due to their greater
efficiency regarding computetime versus accuracy. This
greater efficiency is desired because of the computational
64
complexity of the function evaluations required at each time
step. It should be pointed out, however, that the effective
inertia matrix is the only model coefficient necessary for
the response prediction. The remaining terms are perhaps
best obtained in terms of a recursive formulation due to the
supposed greater computational efficiency afforded by that
method (Walker and Orin, 1982).
Also, the influence coefficient model formulation allows
one to directly address the question of design (Thomas,
1981). Here, the model parameters can be used in conjunction
with classical optimization techniques to develop actuator
sizing (Thomas et al., 1984) and stiffness (Thomas et al.,
1985) criteria, as well as motion and load capacity due to
actuator limitations (Thomas and Tesar, 1982a).
Dynamics of Serial Manipulators
The development of the dynamic equations presented here
will follow the structure of the previous parts of this
section. First, the effect of applied loads on the
manipulator's generalized inputs (eg) will be addressed using
the principle of virtual work. Next, the systems inertial
effects will be considered via the generalized principle of
d'Alembert. Finally, the resulting dynamic equations are
presented in the form of the generalized dynamic model of
equation (2145).
65
Applied loads
As with the kinematics, it is convenient to separate the
rotational and translational properties when dealing with
the dynamics of rigid bodies undergoing spatial motion. In
this light, consider a set of M, 3component, force vectors
(3fP, j = 1,2,...,M) and a set of M, 3component, moment
vectors (m^, j = 1,2,...,M) applied to their respective
translational (3j?) and rotational motion parameters.
Now, immediately from the virtual work result of equation
(2125), the effect of the applied loads on the generalized
input coordinates (q>) is given by
Â§ {PGP]T 3fp + [G^jT m^}
j=l
(2147)
where, the Jacobians are both 3xM matrices defined in
equations (266) and (255).
Inertial effects
To address the effects of the system inertia one could,
as previously implied, simply apply the principle of virtual
work to the classical NewtonEuler equations of motion for a
rigid body, yielding
M
T1 = S {pGcjT 3ac
cp j=l
(2148)
+ [G3^]T( [ ii jkj ^jk + (jjk x [iij^j^jjk)}
Here, m3^ and [Il3k] are, respectively, the mass and global
inertia matrix of link jk, with
66
3ac = [ Gc ] cp +
cp
being the acceleration of the center of mass of link jk
(3 c), and
and
u^k = [G3k]
 (P
(2150)
a3k = [G^^lcp + (pT[H^k](p

(2151)
are the absolute angular velocity and acceleration of link
jk. Now, by substituting equations (2149), (2150) and
(2151) into equation (2148) and algebraically manipulating
the result one could obtain the desired general form of
equation (2138). While this operation gives the desired
result it is felt that a slightly more rigorous approach,
starting with the system momentum, gives more insight into
the geometric nature of the solution.
The momentum of a rigid body (e.g., link jk) can be
expressed in terms of two distinct vector quantities; these
being the linear momentum (P^k) expressed in terms of the
mass (M^^) and the velocity (3vc) of the center of mass
(3c), and the angular momentum (L^) given in terms of the
link's angular velocity (w_3k) and the global inertia tensor
( [ 113) ] ) about the centroid of the link.
The effective generalized inertia loads resulting from
the rate of change of the system's linear momentum can be
obtained directly from the development of equations (2133)
67
through (2141). This is possible since the link's mass
(M^k) is constant with respect to the global reference
(i.e., independent of the system's configuration) and can be
expressed as
ijMUI = Mjkfl]3x3 (2152)
which allows one to write the link's linear momentum as
pjk = HikpsCjj (21.53)
The time rate of change is now
pjk = Mjk( [ jGclcp + T[Dhc ]cp
cp 459 (2154)
and yields
PTI = E [3qct P^k
(2155)
as the total effective load due to changing linear momentum.
Expressing equation (2155) in model form gives the load as
PTI = [pl* ](j> + T[pp* ]6
cp cpcp cpcpcp
(2156)
with
L PI*
cpcp
] =
M
E
1 = 1
[plik]
cpcp
M
E
j=l
(M j k [ Gc ] I1 [ Gc ] )
cp cp
M x M
(2157)
and
[PP* ]
cpcpcp
E [pP^k ]
3 = 1 cpcpcp
M 1 m
E M^k([lGclT pHc J) = 3 x M x M
3 = 1 cp cpcp
(2158)
68
where the Jacobians (pG^J) have shape (3xM) and the
secondorder coefficients (pH^]) have shape (3xMxM).
The development of the effective inertia loads ( %)
caused by changes in the system's generalized angular
momentum is more difficult. This is due to the fact that,
while the local inertial properties (pPlpk]) of link jk
are constant, the inertia properties ([Ipkj) expressed in
terms of the global reference are not. As previously
mentioned, this configuration dependence, resulting from the
rate of change of the local reference frame in which the
link's constant local inertia matrix is expressed,
introduces an additional term into the inertial power matrix
( 1 k^cpcpcp ^ )
With this in mind, it is perhaps best to initially view
the global angular momentum of link jk (Pk) in terms of the
link's angular momentum as expressed in its own bodyfixed
reference (P)pk). Recalling the use of the rotation
matrix (Tp illustrated by equations (247) and (258), one
has
pk = T^(3}L3k (2159)
Now, the local angular momentum is
(j) l jk = [( j)njk](j)yjk (2160)
where, noting that the rotation matrix is orthogonal (i.e.,
[T3]l = [T3), the link's locally expressed angular
velocity is
(j)a)3k = [ T j J Tto3j k = [T3]T[G^k]m
cp
(2161)
69
Combining equations (2159), (2160) and (2161) gives the
globally referenced angular momentum of link jk as
L* = TH<)ll*i[T]T[G*l
This is the desired form of the momentum since all
configuration dependent terms are shown explicitly. Even
so, notice that the global angular momentum of link jk (LJk)
can be expressed in the same form as the local momentum
(equation 2160) as
Lk = [ II3k ] u)J k = [II^k][G^k] (2163)
where, from equation (2162)
[ 11 j k! = [T3 ] [ ( )llk] [T^j ]T (2164)
is the globally referenced inertia dyadic.
As before, the momentum is seen to be a function of the
generalized coordinate positions (cp) and velocities () .
Therefore, the time rate of change of link jk's angular
momentum can be obtained from
0k =
$cp 3 (2165)
The second term in equation (2165) is immediately seen to
be
9L3K O = [ II3k] [G^k j J
9
(2166)
70
The position derivative is not as transparent and will be
pursued in terms of the standard Jacobian formulation for
vector differentials. Although there are three
configuration dependent terms in the momentum expression,
the differentiation will only be broken into two separate
operations and addressed in the manner of Thomas (1981).
This method gives, for the position derivative
_3_( [lljk]
8 <Â£
3([II^k][G^]) (2167)
3
3(Tj) [ ( > II [T^ ]T[G3^]cÂ£
3Â£
+ (T3 ]T[ ( j ) nlk]_3 ( [Tj ]T[Gjk])
30
To obtain the first partial in eguation (2167) it is
beneficial to remember what the elements are that make up
the columns of the rotation matrix:
T3 = [*ajk *s3 x *ajk Vh (2168)
Here, one sees that the vectors whose direction cosines make
up the columns of (T^) are free vectors fixed relative to
(i.e., in) link jk. In this light, recalling the more
geometric formulation of the kinematic influence
coefficients, the differentiation yields the familiar vector
cross product result
jk
3(0
71
a(T3)
3(Pn
g]k x Tj
n
n=l, 2 . ,M
(2169)
Defining the remainder of the first term of equation
(2167), for convenience, as
b = 17,
(p t z1 /1
and observing the Jacobian convention, gives the n**1 column
of the first partial in equation (2167) as
3 ([lb)
9cp
; n
3([TJJb)
3cpn
gjk X [
n
(2171)
where, the vector (b) is considered constant in this
operation as indicated by the bar overstrike (b).
Introducing a generalized cross product notation (x) one has
[Gjk]T x Tjvj = [gjk x Tjb ' ... gjk x T^b]
(p 1 ' M ~
(2172)
where the first dimension (i.e., row) of the left argument
operates across the first dimension of the right argument
(i.e., across all rows). Now, recalling equations (2164)
and (2170), equation (2172) gives, for the first partial
in equation (2167), the relationship
3 () [ ( j >nJk] Ct3 ]T[G3k1(p = [G^k]T x [ II^k] [G=>k]
gcp cp (P cp
(2173)
Turning our attention to the second partial in equation
(2167), the first step (Thomas, 1981) is to recognize that
since the rotation matrix (T^) is orthogonal, i.e.,
72
lO[TO]T = [I]3x3 = constant,
one has that
_3lTj [T3 ]T[G^k]6) =_3_([G^kJ)
3 cp
(2174)
(2175)
Using the chain rule on the lefthand side of equation
(2175), and referring to equations (220) and (2173),
yields
[G^k]T x [ G j k ] ) = pT[H^k]T
cp cp ^ cp ~ CPCP
(2176)
Rearranging and premultiplying by [T^ jT gives
3 ( [T^ ]T[G^k]Â£) = [T3]T(T[Hjk]T fQjkjT x [Gjk](i))
g cp cp cpcp cp cp
(2177)
Direct investigation of the righthand side of equation
(2177) shows that
TLH3k]T [GjkjT x [Gjk](p = T[Hjk]
(P
(2178)
Confirmation of the above result is left to the reader;
however there is another way to show the validity of the
final result which also points out an interesting result.
Considering that the partial derivative of equation (2177)
is to be postmultiplied by
relationship given by equation (2178) can be justified by
showing that
([G^k]T
cp
[G^k]0)cp = 0
cp
x
(2179)
73
since
(pep (pep
(2180)
Recalling equations (255) and (2172), and manipulating
the result, one has the following:
([g3*Jt x [Gjk])cp = ( [G^k] x w^k)
(2181)
= [2?kx^k ... 2k uijk]<Â¡>
= i X uik
n=l n n
= OL^k X
= ( [G^Â¡k]) X ( [G^k])
cp cp
= 0
Therefore, while not rigorously verifying equation (2178),
the preceding proves that
_J_( [T3 JT[G^k]^)cp = [T3]T(T[Hjk])
9(p *P
(2182)
which is the term ultimately needed. Finally, by
substituting equations (2166), (2173) and (2182) into
equation (2165) and, recalling equation (2164), the time
rate of change of the angular momentum of link jk can be
expressed as
iJk [iijkj [Gjk]Â£ + [ii3k]^TLHjkj^
CP4> (2183)
+ ([G^kJT x [II^k][G^k])
X
74
Note that, by combining the first two terms of equation
(2183) and following the algebra of equation (2181),
equation (2183) is an alternate form of Euler's equation of
motion for a rigid body as expressed in the global reference
N = L^k = [ Il3k]cJk + wjk x [iijkjwjk (2184)
Now, referring to either equation (2132) or (2148), to
obtain the generalized load required for this change in
momentum () one premultiplies equation (2183) by the
transpose of the link's first order rotational influence
coefficient ([G^>kJT), yielding
M M
LtI = [GJk]TL^ = E {[G^jTCllj^HG^lcp

(2185)
+ [G^k]T[Illik](pT[H^k](p
+ [G^k]T( [Gjk]T x [G^k]cp)cp)
cp cp cp
To get this equation into the desired form of equation
(2138) requires some manipulation of the velocity related
terms. The first of these terms is readily accommodated by
the generalized dot product (see Appendix A) giving
(G^k]T[II^k]cpT[H3kJce = cpT( [GjkjTfujkj [H^kj )cp
cp cpcp cp cpcp
(2186)
The remaining term is a bit more obscure and is attacked
with the aid of the following vector relationship:
a*bxc = c*axb
(2187)
75
Recalling
L.lk = [II^k][G^]
(2188)
one has that
[G^kJT([G^kJT x [11^kJ[ G jk j cp)
= [G^kJT([G^kJT X L j k)
(2189)
= [G^k]T([g^k x L^k ... Â¡ gk x L^k])
cp i M
M
gjk a^k x L^k .
*1 *1
g j k
M
gjk x Lk
gjk g jk x lJk
1 M 
g3k
M
gjk X rJk
M
lJk gjk x g^k
*1 *1
L^k 2^k x
L!
ik
g^k x gjk
*1
L^k gik x gPk
where
= (L^k)T[[G^k]T x [G^k]]
cp cp
[[G^kJT x [ G j k ]] = gjk x [Gjkj = 3 x M
(P cp n; ; n cp
(2190)
so
CG^k]T( [Gjk]T x' [II jk] [G^k]cp)
cp
cp cp cp (2191)
= T([G3 k]T[11j k]((G3k]T x (Gj k j))
cp cp cp
76
Now, from equations (2185), (2186) and (2191), one has
LTI = [^i* j(p + TfLp* ](p (2192)
"cpcp cpcp epepep
where
[LI* j = 2 [LI^k]
cpcp j=l cpcp
M
.2 ((G^k]T[Il3k][G^k])
J = 1 cp cp
(2193)
and
LlP* ] = 2 [Lpk j = 2 {[G3k)T(lljkJ [Hik])
epepep 3 = 1 epepep 3=1 ep epep
+ ([G^kJT[II^k]([G3kjT x (kJ))}
ep ep ep
(2194)
Finally, combining che effects of both the linear and
angular momentum gives
T1 = [I* ]$ + LP* ]ep
ep epep epepep '
(2195)
for the total generalized inertia load, where
[I* ] = [pI* ] + [LI* ]
epep epep epep
(2196)
M
= .2 {M J k L Gc ]T [ ^ Gc J + [GjkiT[II^k] [G^k! )
3=1 ep ep ep ep"
and
[P* ] = [Pp* ] + (Lp* j
epepep epepep epepep
(2197)
= 2 {M^k([3gcjT [3rc ])
3=1 ep epep
+ ( [G^jTfujkj [H^k] )
ep epep
+ ( [G3k]T[njk] ( [GjkjT x [G3k] ) ) }
77
The dynamic equations
The dynamic equations for the general Mdegree of
freedom serial manipulator can now be written in the desired
general form of equation (2145), giving the required
generalized input load as
To) = [I* ]$ + cpT[P* ](Â£ 2 ( [ j GP ]T 3iP + [G3k]Tmjk
~^ CD(D CD(D(P 1=1 CD
 ^ (2198)
with the I* and P* matrices as defined in equations (2196)
and (2197). Solving this equation for the generalized
coordinate accelerations gives the simulation form of the
dynamic equation
y = [I* ]"1{T(p T[P* ]
m
used to predict the motion of the manipulator resulting from
the load state on the system.
This completes the development of the dynamic model for
the general Mdegree of freedom serial manipulator. The two
secondorder equations (2198) and (2199), or some other
representation of these relationships, are the usual
stopping points in the study of the motion of rigidlink
mechanisms. While one can determine the input loads (T^)
(force or torque) required to cause a specified motion
(cp(t) ) or the response (cp(t)) of the system to the
specified load state (T^), the question of control is not
immediately addressable. The reason for this is that these
equations assume the instantaneous availability of finite
78
torque. This availability is not generally the case since
the actuators themselves are governed by their own dynamic
equations. In an effort to overcome this deficiency the
following section, cognizant of modern linear control
theory, is included.
The Linearization of the Dynamic Model
Many researchers (e.g., Kahn and Roth, 1971, Dubowsky
and DesForges, 1979, Horowitz and Tomizuka, 1980, Liegeois
et al. 1980, Armada and No, 1981, LeBorgne et al., 1981,
Golla et al., 1981, Freund, 1982, Guez, 1982, Vukobratovic
and Stokic, 1982a, and Stoten, 1983) have investigated (and
are continuing to investigate) various methods of linear and
nonlinear, adaptive and nonadaptive, control. While it
appears likely that nonlinear adaptive control schemes hold
the greatest promise for the ultimate realtime control of
highly nonlinear systems such as robotic manipulators, the
development of such a scheme is not the purpose of this
section. The purpose of this section is, instead, to use
the well established technique of linearization about a
nominal motion trajectory, to develop a generalized state
space model. Once this model is established, while again
not the purpose here, one can apply the tremendous body of
knowledge of modern control theory to address the
feasibility of such control methods. Here, of primary
concern would be the question of the time variance of the
79
coefficients in the state space model. In other words, for
a given task (or trajectory), do the coefficients vary
slowly enough to allow the system to be treated as time
invariant with respect to controller design? While this
type of formulation is not original (see Vukobratovic and
Kircanski, 1982b, Lee and Lee, 1984, and Whitehead, 1984),
it does not appear to have been fully investigated.
Therefore, for possible future investigation (for specific
shortterm solutions) and completeness, this section
presents the development of the generalized controlling
state space equations for the serial manipulator, including
actuator dynamics.
The Linearized Equations of Motion
The first step in the development of the controlling
state space equations is the linearization of the dynamic
equations with respect to the prescribed state variables
(ignoring, for the moment, the actuator dynamics). Here,
adopting the standard velocityreferenced model, the
deviations in the generalized coordinate positions (6co) and
velocities () make up the (2Mxl) state vector (x), or
x
g> actual
Now, noting that the generalized load (T^) is a function of
the generalized positions (
accelerations ($), one has
80
lx
CP_ 9T
= lcp = _JP
9
^ o
ocp + cp
+
9
9 cp
O(t)nom.
cp( t) nom.
6<Â£ (2201)
cp (t) nom.
as the general equation for the linearized dynamics (the
question of independent external load disturbance is
addressed later). The task at hand, then, is to derive
expressions for the partial derivatives in equation (2201),
to as great a degree as possible, in terms of the same
general algebraic operations and parametric modeling
coefficients employed in the dynamic equations themselves
(to minimize the additional computational burden).
Writing the generalized load in the form of equation
(2198) gives
lo
[I* ]cp + T(P* ]0
(pep epepep
E [^GuJT Tu
j=l cp
(2202)
where (^Tu) is a general applied load vector associated with
link jk consisting of both force and moment components (and
is assumed to be constant in the following derivations).
This form allows one to obtain the first two terms in
equation (2201) directly from previous operations.
Recognizing the similarity in the form of equations (227)
and (2202) and, recalling the development of equations
(228) through (236), one has that
9$
[I* ]6o
epep 
(2203)
and
81
J. # m
~(p 6<Â£ = cp ( IP
3Â£
cpcpcp
+ [P* ^t)6
cpcpcp
(2204)
Now, to address the third term of equation (2201),
particularly in light of the previously described
generalized vector dot () and cross (x) product operations,
it is convenient to express the dynamics in terms of the
NewtonEuler form of equations (2147), (2155) and (2185)
as
T = E (G^jT Ljk + [ j Gc ] T plk [ j Gu j T j^Uj
j=l cp cp cp
(2205)
Investigating the last term of equation (2205), where the
preceding superscript (j) is dropped, one has the standard
Jacobian result
Gu T u Tu
3( [ (Pi T ) = 3( cp)
9
9^Â£
9TL 9TL
9^1 9^2
9TX
9^1
9T^
M
90>i
9>M
9T1
M
9^1
(2206)
This gives the component in the m1*1 row and n**1 column as
9Tl u T gu
m = 9 ( (T ) (m))
9<Â£>n a^n
(TU)T
u
lnm
(2207)
or, for the total MxM matrix result, reintroducing the
superscript (j), one obtains the expression
82
3 qU. Till i ^ 1 rp i .. m
3 ( [
3
(2208)
The contribution of the linear momentum can be determined,
using the chain rule, from
3Gc T.jk 3gc Ttjk T jk
9 ( [
3 cp 3 cp ^ 3
(2209)
The first term, where the change in momentum is considered
constant (signified by the bar notation), follows directly
from the previous derivation and yields
d([lGv]TIjk) = (Pk)T L^HC ]
3cp
with the symmetry in the translational (h,H) function
observed. Recalling equation (2154), one has that
(2210)
i k *
3 (_B~ ) = M^k 3 ( [ 3 Gc ] cp + T[ 3Hc ])
3cp 3(p ^ W
(2211)
which, referring co equation (238) and (241), becomes
3(Â£jk) = M9k(cpT[3Hc 1 + TLDc j)
3
(2212)
Now, premultipling equation (2212) by the Jacobian
transpose and substituting, with equation (2210), the
result into equation (2209) gives
3.3GSlVS =
3 cp >cp
(2213)
83
+ m^[5g)T($T[h^)
Application of the generalized inner product to the second
term of this equation yields
M j ^ [ j Gc ] T (cpT [ 3 Hc ]) = (pT(Mjk[jGCjT [jHc ])
cp cpcp (p cpcp
(2214)
which, recalling equation (2158), gives the fortuitous
result
M^k[3Gc]T(cpT[3Hc ]) = q^Ppjk j
CP ^ cpcp cpcpcp (2215)
Finally, substituting equation (2215) into (2213) one
obtains the expression
9 ( C
9gc T.jk
3cp
(pikjT [jHc ]
cpcp
+ ffiTfPpjk J
cpcpcp
(2216)
+ M9k[lGcJT(cpT[9Dc ]&)
cp cpcpcp
Now, recalling the result of equation (2208) and the form
of equation (2209), the contribution of a link's angular
momentum to the last term in equation (2201) can be written
immediately as
. G^k t. jk
9 ( [ cp ] I/ )
3cp
(Ljk)T [Hjk]T + [GjkjT 3( ^
cpcp cp 3^
(2217)
84
To obtain the final partial derivative it is perhaps most
convenient, especially considering previous derivations, to
use Euler's form for the change in angular momentum (see
equation!2184)), or
3(L3k) = J_( [Il^a^ + ^jk x (22i8)
3 cp 3 cp
Addressing the first term one has (see the development
presented in equations (2167) through (2177))
_l(lll3k]ajk; = [GjkjT x (njk]g.jk
3 (2219)
+ II^k]( dÂ£^ ~ [Gk]T x a^k)
3 cp
Recalling equation (270) for link jk's angular acceleration
and the form of equation (243) for the first geometric
derivative of the acceleration allows one to rewrite
equation (2219) as
3 ( [II^k]g.7kj = ([G3k]T x [njk] ( [Gjk]$ +
3.cp cp cp ~ cpcp ~
(2220)
+ (II^kH(oT[H3kJT +
cpcp cpcpcp ~
 [G3k]T x ([Gjk]$ +
(P cp cpcp
Utilizing the result of equation (2178), equation
(2220) can be reduced slightly to
3([Il3k]alk) = ([Gjk]T x [n jkj ( ^jk^ + <Â¡>T[Hjk](i)))
Tcp
(2221)
+ [Il^k] (^j. [fjjk] +
cpcp cpcpcp ~ cp cpcp
85
Now, returning to equation (2218), one has that
_i( ok x = ^(.^k x L^)
8cp gcp
(2222)
= 9aPk v iJk + apk x 3L^
32
= 0 W X
32
Substituting the results of equations (220) and (2167),
respectively, for the partial derivatives in equation
(2222) give
9(Pk x L^k)
32
((PT[H^]T) x L^k
 tpcp
(22
oj^k x ([G^]T x Ljk + [ ii jk] (T[Hjk j } ,
2 cpcp
Combining the results of equations (2221) and (2223) to
obtain an expression for equation (2218) and substituting
this expression into equation (2217) yields, in light of
equation (2194) and the generalized vector dot () and
cross (x) products, the 3xM matrix
SUG^kjTLjk) = (1,9kjT [Hjk]T
9cj> 2 22
(2224)
+ cpT(Lpjk j
222
+ [G^kjT{ ( [Qjk jT x ^T([njkj [k ] )
to cp cpcp
+ ( (T(H3k]T x [ii jkj [Qjkj)
22 CP 
+ ( ( [ G^ k ]
2 cpcp
+ [G^kjT x ( [II jk] [Qjkjjp) ) )
2 2
86
+ [IlJk]((Â£T[D^ ]cp (G^k]T x T[H^k])}
cpcpcp cp cpcp
Finally, substituting the results of equations (2203),
(2204), (2208), (2216) and (2224) into equation (2201)
one has the general linearized dynamics given by (where all
coefficients are evaluated at the nominal generalized
coordinate values)
3T
cp +
3T
6cp +
3T
STcp =
cp
32
32
32
6cf>
(2225)
= [I* J6cp + [
cpcp cpcpcp cpcpcp
M
+ [ E {(^Tu)T pHu ]T + (p3k)T [^Hc ]T
j=l cpcp cpcp
+ (L3k)T (H^kJT + [^Gc]t 3(P^k)
+ [G^k]T 3 ( L ^ k) ') ] 6cp
Notice that, if the load (^Tu) is a known function of the
generalized coordinates, the effect can be easily accounted
for. For example, if the load is a function of velocity the
second term in equation (2201) will become
\ = [$T([P* ] + [P* ]T) 2 [^Gu]T3jTUl6
36
(2226)
Also, if the load itself varies from its nominal value,
which is likely, equation (2201) contains the additional
term
87
M
E
3=1
9T
<Â£
9 jTu
M n m
= E pGu]T
9=1 cp
6jlu
(2227)
Investigation of equation (2225) shows that no new
computations are required for the first two coefficient
matrices however; for the third (i.e., [gT^/g^]) there
appears to be a considerable additional requirement. In
view of this, especially with recognition of the
considerable similarity in the basic nature of the various
components making up this coefficient, a detailed
investigation of this matrix to determine the minimal
reduced equation is warranted. However, since the
linearized model coefficients are based on the nominal
trajectory and determined offline, this effort is left for
future work.
Actuator Dynamics
In this section only one of many types (e.g.,
electromechanical, hydraulic, pneumatic, etc.) of actuators
is investigated. For additional information on actuators
and their dynamics the reader is referred to Borovac et al.
(1983), Electrocraft (1978) and other sources.
The specific type of actuator addressed here is the
separately excited dc motor (Myklebust, 1982). In this
device, the field current is held constant and speed control
is accomplished by control of the armature terminal voltage.
The controlling equations for this type of device are
88
Ldi + Ri + CEq V (2228)
dt
Iq + Bq CMi = Tq
for a single actuator or, in matrix form, for all M
actuators
t Lq ] i + [Rq]i + [CEqJ. Y (2229)
[Iq]q + [Bq]q [CMq]i = Tq
where i is the Mxl vector of armature currents (amp), v is
the Mxl vector of terminal voltage (volt), [Rq] is the MxM
diagonal matrix of armature resistances (Ohm), [Lq] is the
MxM diagonal matrix of armature inductances (Henry), q is
the Mxl vector of motor output shaft angles (rad), [Tq'J is
the constant MxM diagonal matrix of rotor inertias
(in.lbfsec^) > LBqj is t^Le MxM diagonal matrix of rotor
damping (in.lbfsec), [CEq] is the MxM diagonal matrix of
motor speed constants (voltsec), [CMq] is the MxM diagonal
matrix of motor torque constants (in.lbf/amp) and Tq is the
Mxl vector of load torques (in.lbf).
Addressing the actuator dynamics one must relate the M
output shaft parameters (q) to the M generalized joint
coordinates (
made: of constant transmission between the motor (q) and
joint (>) parameters (i.e., the Jacobian [G^J is constant),
q
zero compliance in the drive train, and zero backlash in the
drive train. Recalling equations (27), (227) and (2130)
allows one to write
89
cp = [G<]q
q ~
cp = [G
q ~
(2230)
constant
and
Tq = [0^]%
(2231)
where the MxM Jacobian ([G^.]) is dependent on the specific
drive trains employed. Here, the entry in row m, column n
relates the motion of the m^*1 joint parameter (cpm) to the
n1^ motor shaft (qn). Typically, this matrix is diagonal
since each joint is usually controlled by a single
associated motor. In fact, for direct drive devices this
Jacobian is simply the MxM identity matrix. At any rate,
having obtained the Jacobian ([G^]), and recognizing that it
is the joint motion (not the motor shaft) that one wishes to
control, equation (2230) is used to find the desired
relations
q = la]1
q
(2232)
and
q
Now, substituting equations
into equation (2229) yields
= [G^r1^
q
(2233)
(2231), (2232) and (2233)
[Lq]i + [Rqji + [CEq J [G
q
v
(2234)
90
[IgHG*]3^ + [Bq] [G^] 1 [CMqJi = [G^jT^p
for the motor dynamics expressed in terms of the joint
parameters. Finally, the actuator dynamics (equation
(2232)) can be expressed as
[Lq]i + [Rq]i + [CEcp]
and
+ CcM(D^i = (2236)
where the second of equations (2234) was premultiplied by
minus the inverse transpose of the Jacobian and, for
example, where
[I
(2237)
One should note that, with the stated assumptions, ail the
coefficient matrices on the lefthand side of equations
(2234) and (2236) are independent of the generalized
coordinate positions (q>) and, since the variation of the
motor parameters is not addressed, are considered constant.
Having obtained the desired expressions for the actuator
dynamics, one can now determine the nominal input voltages
(V) required to drive the system along the specified nominal
trajectory (cÂ£(t)). Recalling equation (2202) and solving
equation (2236) for the current gives
i = t Cjyicp ^ 1(Tq) + [Bqj]g>) (2238)
where the effective rotor inertia ([1^]) has been included
in the effective inertia matrix ([I*^]). Now,
91
differentiating equation (2238) with respect to time, and
recalling equation (2225), yields
, i ar ... / 3t ,\.. 9t .
1 = [CM(p] i{_^e
\ 3<Â£ / 3<Â£ (2239)
Finally, assuming that the nominal joint kinematics are
known up to the third order (i.e., cp(t),
are known), equations (2238) and (2239) can be substituted
into equation (2235) to obtain the nominal voltage (V) as
^nominal = Y(o,Â£,Â£,<Â£) nominal (2240)
As with equation (2225) for the linearized generalized load
(STjp), equation (2240) could possible be reduced to a
minimum generic form of the class of equation (2145) (T^).
Again, this question will be left open for now since the
immediate usage of the linearized scheme only required
offline computation of equation (2240).
State Space Representation
Having incorporated the manipulator dynamics into the
describing equations for the actuator dynamics, and having
determined the nominal input (voltage) requirements one can
proceed to develop the state space model of the system. In
the case of the dc motor driven manipulator, the state
variables are chosen to be the deviations in the generalized
coordinate positions (6 ) and the
deviation in motor currents (6i).
With this selection of the state variables the state
space model is of the form
92
/*.
62
>11
I F12 !f13
/62 ^
G11
6V
i"
>2

F21
! F22_F23
+
G21
\i i
_f3 1
! f32 1f33
\*LI
g3 1
(2241)
where each of the partition matrices (Fj_j, Gj_j ) is MxM.
These matrices are determined by considering the
generalized velocities independent, and from equations
(2235) and (2236). First
2 = 2 (2242)
gives
= 62 (2243)
so
[Fn] = [F13] = [Gn] = [0]
and
[F12J = [I]MxM
Next, from equation (2236)
^ GMcp ^ t [ B^j ] 6cp
or, recalling equation (2225)
(2244)
(2245)
(2246)
* .. / 9T \ / 9 T \
l Cjyjgj j 6i = [I ]cp +( ~cp + [ ] j + ( ~cp)6cp
W \ 92 J \ 92/
(2247)
which, when solved for 6cg, yields
.* _i, 3T
[f2i = ti rVljE')
w ^ so)
* 1 3l
c f22 i = "C1 J_1( 2 + [Bg,])
[p23l =
(2248)
93
and
[G21] = [0]
(2249)
Finally, from equation (2235)
[Lq]6i + [RqJi + [CE(p]6(p = 6V
(2250)
which, when solved for 6i, gives
[F31] = [0]
[ F 3 2 ] = [Lq]_1CCE(p]
[G33J = [Lq]1[Rq]
(2251)
and
[G31] [Lq]1
(2252)
where the inverse of the constant diagonal matrix [Lg] is
simply the diagonal matrix whose entries are inverted.
With the state space model describing the
characteristics of the system about some nominal trajectory
fully established, the questions associated with controller
design can now be addressed. This is, again, not the purpose
here and the reader is referred to the extensive work
(Vukobratovic and Stokic, 1982a) and the work of Whitehead
(1984) for discretization and potential controller
development.
94
Note
'The dot () operator will prove to be an extremely
powerful tool in the analyses presented throughout this
work, and hence, will be dealt with in an appendix for easy
reference. It is a generlized inner (or dot) product and is
developed, along with the transition from equation (2137)
to equation (2141), in Appendix A.
CHAF :er III
TRANSFER OF GENERALIZED COORDINATES
Consider the development of the general Mdegree of
freedom mechanism presented _n Chapter II. Recalling, in
particular, the sections dealing with the generalized
kinematics and dynamics, one sees that the equations (Sg)
describing the mechanics of ;uch devices (e.g., equation
(2145) for the generalized .oad Tg) can be expressed in
terms of any desired set (q = (qj_, q^, . ,qÂ¡yÂ¡)T) of
generalized coordinates once the kinematic influence
coefficients (relating the dependent system parameters (u)
to that particular coordinat set (q)) are known. Therefore,
at least conceptually, the k.nematics, dynamics and control
of these systems can be addr ;ssed in generic form from any
set (q) of generalized coord nates that one desires, with
the only difficulty being th ? determination of the required
influence coefficients. Un ortunately, the determination
of these required influence oefficients (directly) in terms
of the desired coordinates (O may be (and often is)
extremely difficult and impr ctical, if not altogether
impossible. Fortunately how ver, most (if not all)
conceivable mechanisms can be directly modeled (i.e., the
influence coefficients can b< directly obtained) from at
least one of the many possib e sets of generalized
95
96
coordinates. Now considering such a case, what one would
like to do (see Benedict and Tesar,1971 and Freeman and
Tesar, 1982) is, first obtain the system model (S^) with
respect to some initial set of coordinates ((g) for which the
influence coefficients (including those relating the desired
coordinates (q) to the initial coordinates ((g) ) are easily
determined and then, use this information (i.e., SQ), along
with the coefficients relating (q) to ((g) to determine the
desired relationships (Sq).
To illustrate this situation, consider the general
sixdegree of freedom serial manipulator (i.e., M = 6)
presented in Chapter II. Further, suppose that one desires
to consider the system in terms of six generalized
coordinates (q) associated with the six endeffector
freedoms since, after all, it is the hand that one typically
wishes to control. For all but the simplest of systems,
(e.g., partitionable systems such as those treated by Paul
et al., 1981a and 1981b and Hollerbach and Sahar, 1983)
where the inverse kinematics solution is readily available,
the determination of the describing equations (Sq) directly
in terms of the endeffector coordinates (q) is, at best,
extremely complicated (I know of no such solution existing
in the literature). However, as shown in Chapter II, if one
investigates the serial manipulator in terms of the relative
joint angles ((g), the describing equations (Sq) result from
simple vector operations and are relatively easy to obtain.
Also, since the endeffector coordinates (q) can be viewed
97
as simply a particular set of dependent system parameters
(u), the kinematic influence coefficients relating the hand
motion (q) to the relative joint angles ((g) are readily
available. Finally, as will be shown later, the initial
model information (i.e., S^), along with the known
generalized coordinate relationships (i.e., [G^] and higher
order coefficients), can be used in a straight forward
manner to determine the desired description (Sg) of the
system interactions.
The development of this transfer (i.e., S^+Sg) of
generalized coordinates procedure presented in this chapter
is based almost entirely on the principle of virtual work
and the previously discussed kinematic influence coefficient
relationships and will be addressed in two main sections.
The first deals with the first and secondorder kinematics
and dynamics and, the second deals, briefly, with the
thirdorder kinematics and the linearized state space model.
Also, this chapter deals solely with the basic analytical
development (all the components of which have already been
discussed) and leaves the more interesting possible
applications of this technology for the next chapter.
While the treatment presented here is far more complete
in its development and application than any other
investigation, and is a generalized (and logical) extension
of the onedegree of freedom work of Benedict and
Tesar (1971) and the multidegree of freedom sequential
transfer of Freeman (1980), the basic philosophy involved is
98
not totally unique to the author and his associates. The
basic premise is widely accepted and utilized (particularly
in the previously described case of the serial manipulator)
throughout the community in numerous forms, to various
extents, and with differing emphasis. Specific instances of
the application of some form of coordinate transfer with
regards to control (often misleadingly referred to in the
literature as decoupled control) include the resolved motion
rate control of Whitney (1969), resolved acceleration
control of Luh et al. (1980) and its extension to the
linearized equations of motion by Lee and Lee (1984), the
active force control scheme of Hewit and Burdess (1981), the
hybrid control approach of Raibert and Craig (1981) and,
most notably, the operational space work of Khatib (1983)
which most closely parallels the work presented here in that
it deals with the nonlinear secondorder geometric transfer
question. Other applications dealing more directly with
system design than with control include the actuator load,
motion investigations of Thomas and Tesar (1982a) and, the
effective inertia ellipsoid considerations of Assada and
YoucefToumi (1983).
The Dynamic Equations
To begin the development of the transfer of generalized
coordinates concept a detailed restatement of the situation
is beneficial. The procedure consists of four steps and is
99
presented in terms of first and secondorder system
properties.
First, the kinematic influence coefficients (of the
dependent system parameters (u)), and hence, the dynamic
model (i.e., the describing equations (Sq)) are not directly
obtainable with respect to the generalized coordinates (q).
In other words, one desires the first and secondorder
coefficients
[Gu] = m
q 3q
[Hu ]
qq
...aia
aqaq
(31)
and the ensuing kinematics (recall equations (27) and
(227))
u = [Gu]q
q 
u
[Gu]q + qT(Hu
q qq
]q
(32)
and dynamics
(recall equation (2145))
[I* ]q + g_T[P*
qq qqq
(33)
but cannot obtain them directly (i.e., they are unknown).
Second, the describing equations (S^) are directly
obtainable with respect to some other, initial, set of
coordinates (cp) This means that the kinematics
= [Gu]
cp
(34)
100
= [Gu]cg + T[Hu ](p
(p cpcp ~
and dynamics
cp
[I* ]cp + cpT[P* ]cg Tl
cpcp cpcpcp cp
(35)
of the system (related to the set (eg)) are known since, the
influence coefficients
[Gu] = 3u
3 cp
[Hu ] =
W 3 cp3 cÂ£
(36)
and, hence, the effective model parameters ([1^]) and
(Â£p(pqxp]) are immediately accessible.
Third, since the desired generalized coordinates (q) are
also known, directly obtainable functions of the initial
coordinates (eg), the kinematic influence coefficients
[G<3] 5 93
3 eg
(37)
[H<3 ] = 9 ~
W 3cg 3
relating the desired coordinates (q) to the initial
coordinates (eg) are available. This knowledge allows one to
express the desired coordinate velocities (q) and
accelerations (q) as
<3 = [G^Jep
(38)
and
101
q = [G3]Â£ + ]<Â£
(0 cpcp
(39)
and, applying the principle of virtual work (recall equation
(2130)), the (effective) load relationship as
(310)
Finally, with the relationships given by equations
(34), (35), (38), (39) and (310), one has all the
information necessary to determine the desired unknown
parameters in equations (32) and (33) in terms of the
initial, easily obtained, describing equations (S^). The
direct kinematic transfer between the initial (eg) and
desired (q) coordinates (i.e., first and secondorder
reverse kinematics solution) is also available.
Kinematic Influence Coefficients
Here, the kinematic relationships of equations (32),
(34), (38) and (39) are used to obtain the desired
influence coefficients. The direct transfer between
generalized coordinates is addressed first, and then, the
general dependent parameter situation is considered.
Direct kinematic transfer
Consider the case where one wishes to determine the
kinematics of the initial coordinates (
desired coordinate kinematics (q(t)). This is, in fact, the
situation in the resolved rate and acceleration control
102
schemes of Whitney (1969) and Luh et al. (1980),
respectively, where the desired coordinates (q) are the
endeffector motion parameters, and the initial coordinates
(o) are the relative joint angles of a serial manipulator.
Recalling the general form of equations (32), one wants to
determine the coefficients
[G
<3 3q
[H ] a 32o
^ 9q9q
(311)
required (for the generalized parametric form) to evaluate
the initial coordinate velocities
cp = [G
q
(312)
and accelerations
CP = [G
<3 ~ qq (3i3)
This information (equation (311)) is not directly
available; however, the reverse relationships of equation
(37) are. Therefore, from equation (38), one has
= tG2rl (314)
or, comparing with equation (312), the desired firstorder
kinematic influence coefficient is found to be, simply
[G
q cp
(315)
103
Now, recalling equation (39), the initial coordinate set
acceleration vector (eg) can be written as
eg = [G^] 1q [G<3]1(pT[H<3 ]
Applying the generalized scalar product () (developed in
Appendix A), equation (316) becomes
CP = [G^j 1q q>T( [ G^ ]1 [H^ ] )g> ,3 17
or, replacing (g>) by equation (314),
q> = [G^ ] _1q q?[G%]T([Gcl]1 [H<* ] ) [G^ J _1q
cp cp cp epep cp (318)
which, when compared with equation (313), yields
[H
qq cp cp epep cp (319)
as the desired secondorder influence coefficient
(analytically verified, in Appendix C, by comparison with
directly obtainable results for a simple manipulator), where
the superscript (T) implies the transpose of the matrix
inverse. At this point one should recognize that equations
(315) and (319) allow one to obtain the previously
intractable desired influence coefficients in terms of
simple directly addressable coefficients related to the
initial coordinates (cp) provided the firstorder (g,G)
function matrix (i.e., Jacobian) of equations (37) is
square and nonsingular. The dependence on wellconditioned
Jacobians is an inherent property of coordinate
104
transformation and will not be dealt with to any significant
extent in this work. The use of pseudoinverses will,
however, be discussed with regards to redundant systems in
Chapter IV.
Kinemaic transfer of dependent parameters
Suppose the transfer of the dependence of a general
dependent system parameter set (u) from the initial (a>) to
the desired (q) generalized coordinates is required. Here
the parametric coefficients of equations (31) are desired,
allowing the dependent parameter kinematics to be expressed
in the form of equations (32). Recalling the first of
equations (34), one has the dependent parameter velocity
() as
u = [GuJcp (320)
Now, replacing () by equation (314) gives
u = [Gu][G^]1q (321)
Comparing the result of equation (321) with the general
form of equation (32) yields
[ Gu ] = [Gu][G<3]"1 (322)
q cp cp
as the required firstorder coefficient. To investigate the
secondorder kinematics, recall the second of equation (34)
for the dependent parameter acceleration
= [Gu]Â£ + cbT[Hu ] (323)
105
Substituting equation (316) for the initial coordinate
acceleration (c) into equation (323) gives
= [GUHgS]^ [Gu][G<5]'1t[Hc3 + t[Hu
cp cp
(324)
Now, applying the generalized dot () operation and
combining the quadratic terms yields
= [Gu][G<5]1q + 0T{[Hu ] ([Gu][G<3]_1 [H<2 ] ) }
cp cp cpcp cp cp cpcp
(325)
Where, finally, replacing () with equation (314) and
comparing the result with the second of equations (32), the
desired secondorder kinematic influence coefficient is
[Hu ] = [G3rT{[Hu ] ([Gu][Gc3]1 [H<3 J ) } [G^]1
qq cp cpcp cp cp cpcp cp
(326)
Equations (322) and (326) again give expressions for the
desired coefficients in terms of the easily obtained initial
system parameters, and reduce to the direct transfer
coefficient equations (315) and (319) when the dependent
parameter (u) considered is the initial coordinate set (cp)
since
and
L Gu] = [G
cp cp
[11mxM
(327)
[Hu J = [H^ ] = [0] = MxMxM
'P
(328)
106
Dynamic Model Parameters
One approach (suggested) to the transfer of the dynamic
model is to employ the effective load relationship of
equation (310) along with the previously discussed
kinematic transfer results. From equation (310), provided
the Jacobian is nonsingular, the desired generalized loads
(Tq) can be expressed as
q = [G^]_T^P (329)
or, recalling equation (35),
q
= [g^Tui* ]$ + T[P* TL)
cp cpcp epepep cp
(330)
Replacing (eg) in equation (330) by the result of equation
(316) gives
Tq = [G^] T[ I JUGS]^* [G<3]1
M cp cpcp
+ [G^jVtP* ]cp [G
cp epepep cp cp
(331)
which, applying the generalized inner product (), combining
the quadratic terms and substituting the result of equation
(314) for (), yields
T = [G<3]T[I* ][G%]~1q
H (p (pep ep
+ qT[G
(p ep epepep
(332)
([G<3]'r[I* ] [ G^]1
(p ep(p ep
[H<3 ] ) } [G^]!4 S ( [1GU] [G<3] 1)T XTU
cpcp ep i=l ep ep
Finally, comparing this result with the general form of
equation (33), one has the effective generalized loads (Tq)
107
seen by the desired generalized coordinates (q) in terms of
parameters directly obtainable from the initial coordinates
((g) as
T<3= [I* ]q + qTfp* ]q TL (333)
qq  qqq _q
where
[I* J = [G^JTtl* ][G^J1 (334)
qq cp cpcp cp
is the desired generalized inertia matrix,
[P* J = [OSjTUiGSr? [P* ])
qqq cp cp cpcpcp
(335)
 ([I* J [H<3 J ) } [G^J1
qq cpcp cp
is the inertia power array yielding the velocity related
effective loads, and the desired effective load due to all
applied loads (1TU, i = 1,2,...,n) is
TL = [GqjT Tl (336)
' q cp cp
Alternately, the dynamic model can be transfered by
direct use of the generic (for constant mass systems)
equations (2139), (2141) and (2145) once the desired
(transferred) kinematic influence coefficients have been
obtained. For example, consider the determination of the
desired effective load (T^) due to applied system loads.
Recalling equation (2125), one has
TL = E [iGu]T iTu
~q i=l q
(337)
108
or, recalling equation (322) for the kinematic transfer
TL = 2 ( [iGu] [ j 1)T iT11 (338)
~q i=l cp cp
Now, to demonstrate the equality of the results of equations
(336) and (338), rewrite equation (338) as
TL = 2 [G^]"t[GUjT ^Tu
q i=l cp cp
which becomes
TL = [G^]t 2 [iGu]T lTu
~q cp i=l cp
Finally, recalling from the general form of equation (2125)
that
(339)
(340)
ipL j [qUjT ijiU (3 41)
"cp i=l cp
equation (340) can be written as
Tl = [G^]~T Tl (342)
q cp ~cp
illustrating the equality of the results of the two model
transfer techniques.
As previously mentioned, the full power and freedom that
this transfer of generalized coordinates affords one when
investigating the design, analysis, and control of
complicated mechanical systems will become apparent through
the study of the possible applications presented in Chapter
IV. Here it will only be pointed out that, with the
109
particular resultant form of the kinematic and dynamic
models presented in this work, the generalized scalar
product () is the key realization and operation.
The Linearized Equations
The consideration of the transfer of the linearized
dynamic equations and the resulting state space model will
be addressed in two parts. The first deals simply with the
direct transfer of the thirdorder kinematics (allowing one
to determine, for example, the voltage input required to
obtain a specified nominal hand trajectory), while the
second discusses a possible state model resulting from a
partial transfer of coordinates.
Kinematics
Recalling the general form of equation (228) and the
second set of equations (244), the thirdorder time state
(q) of the desired coordinates (q) can be expressed, in
terms of the initial coordinates (eg) (e.g., the relative
joint angles of a serial manipulator), as
or
3 q ...
2 = _Z
3 cp
3 q ..
_T cp +
3 cp
3 q .
_Z Â£
3 cp
(343)
q [ G2 J (Â£ + 3? ( [ ] + 2 [ ] ^) cp + (cp^ [ J cp)
cp epep epep epepep
(344)
110
where the influence coefficients are considered known up to
the third order. Now, solving equation (344) for the
initial coordinate's jerk (i.e., "cb") one has
= [G'J]'1^ 3_Z $ 9_r) (345)
Q 3
or
cp = [ ] 1 (q cpT ( [ ] + 2 [H*5 ]T) cp (<Â£T [ j cp) cj>)
cp cpcp cpcp cpcpcp
(346)
At this point the previously derived expressions for (eg)
and (eg) (i.e., the results of equations (314) and (318))
could be substituted into equation (346), the result could
then be manipulated and compared with the general form of
equation (244), ultimately yielding
[D> ] = fUG^MH^ ],[D
qqq (0 cpcp cpcpcp
However, the manipulation required to obtain a nice result
(such as that afforded by the inner product for the
secondorder coefficient) for equation (346) is excessive
and not required for the task at hand. That task, again, is
the evaluation of equation (2240) relating the required
actuator voltages to the nominal joint motions (eg(t) )
resulting from the desired endeffector trajectory (q(t)).
Therefore, to obtain the required voltages (v), all one
needs to do is solve equations (314), (316) or (318), and
(345) for (<Â£), (cj>) and (cp) in terms of the specified hand
motion (q(t)) and then substitute the results into equation
(2240). While the computational effort involved here (in
Ill
what might be referred to as resolvedjerk control) is
considerable, the procedure is straightforward with the
required voltages determined offline and only their
numerical values stored for realtime recall.
State Space Equations
The presentation here (as with the state space treatment
of Chapter II), while conceptually generic, deals specifically
with the case of the dc motor actuated serial manipulator.
In this case, since the actuators are generally associated
with the joint motions and cannot be practically located at
the endeffector, only a partial transfer of states (i.e.,
generalized coordinate perturbation) is considered. Here,
the dependence on the linkagerelated states (i.e., the
joint coordinate perturbations (6
transfered to the endeffector motion perturbations (i.e.,
(6q), (6q) and (6q)) while the actuator locations remain
unaltered.
Recalling equation (2241), one has
6<Â£ ^
FllÂ¡
f12 !f13
(&<\
*11
6cj$
=
*2l\
f22 f23
S<Â£
+
g21
W i
TT1
311
f32 i f33
\6il
g31_
where the partition matrices (Fand Gj_j ) are as defined
by equation (2242) through (2252). Now referring to the
form of the kinematic equation (25), (211) and (228) and
applying the kinematic transfer concept, one can express the
joint related perturbations in terms of the hand
perturbations as
112
and
5m [Gq]*6q
= [ Gq j 16q [G^J"1 ( Gq ] ~ X6q
6$ = [GSj^dq [G<^]1id^][G^]1dq
 [G(3]1f^_z\ fLz\GqJY?lNl][Gq]"16q
45 [va/ Va/ 41 \3seyj 45
(349)
(350)
(351)
Finally, substituting equations (349), (350) and (351)
into the initial state space representation of equation
(348) gives
6q
*V\ A /S
FllÂ¡ f12 Â¡f13
[ &q \
r~A. 
Gil
6q
=
3 1 6 1 $
f211 F22 1F23
6q
+
G21
a 1 /"> 1
\i /
_31 1 F32 I F3 3 _
\^l
_G31 J
as the desired state model, where
Gii ~ Fil i1/2,3
Fij = Fij t 3=l/2,3
f21
(3Jj (lÂ§W]i (S)
\a <Â£/ Vs Â£/ 45 Vs
f22
A
f23
+ [Gq](F21 F22[Gq]1f8 )) 1 [ Gq J 1
45 9 '31/
j /
. fd\ + LGq]F22 [Gq J 1 (353)
\dvj 9 J
[Gq]F
cp
23
113
31
32
33
= F32[GqrV3^LGcJ]1
= F32G<3]1
3
(D
ip
= F
33
with the partais relating the desired (q) and initial (^)
coordinates given by the general form of equations (214),
(235) and (243).
Equivalently, one could first derive expressions for the
effective joint loads (T^) in terms of the desired
coordinate (q) kinematics (Thomas and Tesar, 1982b), and
then follow the linearization procedure of Chapter II to
obtain the state model of equation (352). This method
simply reverses the order in which the transfer of
coordinates takes place and does not affect the results.
Alternately, one could work with the original (i.e.,
initial) state model of equation (348) and simply use
equations (349) and (350) to obtain the states (i.e., 6cj>
and ) in terms of measured endeffector perturbations
(i.e.,6q and 6q). This is the more common approach
(generally taken by the investigators cited at the beginning
of this chapter) but does not yield much additional insight
with regards to system control. Here, the state model (on
which the controller design is based) is still referenced to
the joint coordinates (eg) whereas the transfer procedure
actually affords one a new state model (directly referenced
to the desired endeffector motion parameters (q)) on which
to base the controller design. While the transferred model
114
approach may (or may not) yield a better controller design
(since, after all, as the joint perturbations go to zero so
to do those at the endeffector (for a relativelyrigidlink
device)) it at least allows one to view the system from a
different point of view.
CHAPTER IV
APPLICATION OF GENERALIZED COORDINATE TRANSFORMATION TO
DYNAMIC MODELING AND CONTROLA UNIFIED APPROACH
The transfer of generalized coordinate technique, in
conjunction with the kinematic influence coefficient based
model formulation for which it was developed, gives one
the ability to consider an incredible variety of linkages
(and their interactions with one another) with a single
unified approach. The approach involves the relatively
simple modeling of serial kinematic chains, the application
(single or multiple) of the transformation equations, and if
necessary (e.g., when dealing with redundancies) the
inclusion of classical optimization techniques, such as the
method of Lagrange multipliers. This chapter, then, deals
with the application of this unified approach to the
analysis of a representative selection of single and
multiple linkage systems illustrating its full power and
scope. In addition, the utility of (and reason for) the
general descriptive notation presented in the Introduction
is more fully demonstrated as a consequence of the
applications.
115
116
Single Closedloop Mechanisms
Consider an unconstrained general Mdegree of freedom
serial manipulator (i.e., open kinematic chain) operating
relative to an Ndimensional space, with (M > N).
Further,consider that the free end (e) of this chain is
connected to ground by a constraint of degree R (relative to
the same Nspace). The resulting closedloop mechanism is
then seen (refer to Fig. 41) to be of mobility (MR). Now,
the task at hand is to analyze this mechanism (for a given
configuration) from any desired, (MR)dimensional, set of
generalized coordinates.
The first step, as is always the case, is to model the
system as if it were an unconstrained open kinematic chain.
Therefore, using the modeling procedure developed in Chapter
II for the serial manipulator one immediately (directly)
obtains
[Ge] = N x M
cp
[ He ] = N x M x M
cpcp
[I* J = M x M
cpcp
[P* ] = M x M x M (44)
cpocp
and
TL = M x 1 (45)
~cp
(41)
(42)
(43)
117
Figure 41. Single closedloop mechanism
118
where
e (e]_, e2 / / eisi)
(46)
describes the motion parameters associated with the free
end, and the initial generalized coordinates
m
Â£ = ( $2 * X (47)
are associated with the joint freedoms of the open chain.
Now, with M>N, (MN) of the initial coordinates (q>)
must be involved in any set of generalized coordinates since
one can constrain (or control) at most N of the free end
freedoms (i.e., R
redundantlike situation (i.e., M>N) the dependent parameter
set (e) must be augmented by (MN) of the initial
coordinates. Here, for convenience, take the first (MN)
components of (cp) defined as (a), to be the parameters
chosen to augment (e), yielding
a \ /(MN) x 1'
e / \ N x 1
w
= M x 1
(48)
as an intermediate set (w) of desired coordinates.
For future reference, the remaining N components of the
initial set (eg) are defined by the vector (Â£) giving
cp
a \ /(MN) x 1\
Â£ y ^ N x 1 J
(49)
and recalling that one will eventually constrain R of the
parameters (e), define
119
e
/(NR) x 1
y R x 1
N x 1
(410)
where the set (:f) describes the remaining freedoms of (e)
after the R constraints, which allow no motion of the
parameters (c)(i.e., c=c=0), are applied. Again, as with
the partitioning of (<Â£) the sequential ordering in the set
(e) of the components making up (f) and (c) is done merely
for convenience in discussing the general case (i.e., it is
not necessary).
Returning to the augmented set (w), one is now able to
express the firstorder kinematic influence coefficients
relating the intermediate coordinates (w) to the initial
coordinates (
1
(MN)
X (MN)
!(MN) x N
Ge 1 Ge
N x
(MN)
' N X N
al B
1
(411)
with (from equation (41))
[Ge GJ = [Ge ] (412)
a B cp
Recalling that
w = [Gw]
o
(413)
one sees that the first (MN) rows of equation (411) merely
state that
a
a
(414)
120
Correspondingly, the secondorder influence coefficient
matrix becomes (recalling how the dimensions of the super
and subscripts give the dimension of the result)
[HW J =
r w (
Haa i
W "I
Ha!3
MX(MN)X(MN)Â¡MX(MN)X(N)
cpcp
HW 1
(3a 1
HW
00j
Mx(N)x(MN) j Mx(N)x(N)
(415)
where the first (MN) planes are given by
(Ha ] = [0J = (MN) x M x M (416)
cpcp
since
2: = ^ (417)
and the last N planes ([]) are given by equation (42).
Next, recalling the direct transfer equation (315), and
noting the block partitioned form of equation (411), one
has
[G
w
[I]
! [0]
 [Gr^ ] 1 CGS
]! [G*r]1
0 a
0 J
(MN)X(MN)
i
i( MN) xN
NX(MN)
Â¡ NxN
(418)
for the intermediate firstorder
recalling equations (48), (49)
[G>] =  
w G0 I G0
a  e
coefficients, which
and (410), yields
G0 G01G0
a  f c
MxM
(419)
121
Notice that the parameters (a) are still independent but the
parameters (3) are now dependent on the full intermediate
set (w) Now, recalling equation (319), the intermediate
secondorder coefficient is
[H^ ] = CGw]T([Gw11 [Hw ])[Gw]1 = MxMxM
ww 0> co cpcp
where the first (MN) planes are, again, MxM null matrices
(since (a) is independent) and the last N planes give
[H& ]
ww
rHe
waa
1 3 1
i Hae
NX(MN)X(MN)  NX(MN)xN
hP
[hP
NxNx(MN) NxNxN
ea
1 eej
1
or, recalling equation (410),
[HP ]
ww
" 3 1
3
3
^aa l
Haf
^ac
hÂ£5 1
hP
hP
fa i
ft
f c
h3 I
hP
hP
ca 
ct
cc
NxMxM
(422)
Note that, due to the form of ([G^]*) and ( []) to save
unneccessary multiplication by zero, the last N planes of
equation (420) can be (and in actuality are) obtained from
[HP ] = [Gw]t([GJ"1 [He ])[Gw]~1
ww cp (3 cpcp cp (423)
Now, refering to equations (333) through (336), one
can obtain the intermediate dynamic equations as
Tw = [I* ]w + wT[P* ]w Tl
ww WWW ~ ~w
(424)
4
122
or
where
/ w
1 2:
1 4 '
w^f
= [I* ]
ww
f
+ (T,fT,cT)[P* ]
WWW
f
\ wc 1
\ i
U /
u
(425)
WWW
and
[I* ]
ww
[Gw]"T{([Gw]T
cp cp
= [Gw]'T[I* J[Gw]_1
cp cpcp cp
[P* ])([!* ] [Hw
axp(p ww cpcp
TL = [Gw]"t tl
w cp
(426)
])}[Gw]"1
cp
(427)
(428)
Again, there are computational simplifications that can be
made in equations (426), (427) and (428) due, not only to
the special forms of the component matrices in the
equations, but also to the fact that (c=c=0) here. These
simplifications are left to the reader to investigate; but
it needs to be stressed that while the kinematics of the
set (a) remain independent the dynamic effects of the
system on (a) have been altered by the active transfer of
the N parameters (3) to the N parameters (e) In other
words, given the same kinematic state (defined by say, e(t))
and applied loading condition, the intermediate effective
load (wTa) on the generalized coordinates (a) is not the
same as the initial effective load (cp^cx) Perhaps the
easiest way to demonstrate this is to note the difference in
the effect of the applied loads. Recalling equations (418)
and (419), equation (428) gives
L L T m L
wa (p3!a + (w^a J cp(3
(429)
123
where the preceding subscripts indicate which generalized
coordinate set the parameter is related to (i.e., the
preceding subscript gives additional information concerning
the independent parameters).
Now, returning to equations (425) through (428), in
light of the R constraints (c) it is convenient to define a
new intermediate parameters set (y) given by the remaining
(MR) free coordinates as
(MN)xr
(NR)xl.
= (MR)xl
(430)
With this notation one can rewrite equation (425) as
+ (y
I rp
,C*)
p
p
wyyiPwyc
wcyI wcy
(431)
since the parameters (c) are now fixed (i.e., c=c=0) Note
that equation (431) not only gives the effective loads
(Ty) required to drive the (MR)degree of freedom mechanism
from the coordinate set (y) (for some specified kinematic
state y, y, y), but also gives the resulting constraint
forces (Tc) (if desired). Additionally, the first of
equations (431) can be used to address the effects of (and
on) nonrigid bearings. The similarity between the closure
approach taken here and the 7R mechanism approach to the
reverse position solution of the general 6R manipulator of
Duffy and Crane (1980) and the Uicker et al.(1964) iterative
124
analysis method should also be noted. Also, the results of
equation (431) are verified (in Appendix D) (for the simple
case of the planar 5Bar) by comparison with the results of
a direct dyadbased analysis.
Now, if the second intermediate coordinate set (y) is
the desired set of (MR) generalized coordinates from which
one wishes to actuate the mechanism, one is done. If,
however, the desired set of coordinates (q) differs from
(y), one must (in part) first obtain the intermediate
dynamics. From equation (431), one has
Ty = [I* ly + yT[P* Jy tl
y YY YYY ~ ~Y
(432)
where the first (MR) rows of ([I* ]) gives ([I* ]) and the
wy yy
ie ic
first (MR) planes of ([Pwyy]) gives ([Pyyy]). Next, one
needs to determine the influence coefficients ([Gr1]) and
Y
([Hyy]) relating the desired set (q) to (y).
Assuming, for now, that (q) is a subset of the parameter
sets (a), (Â§) and (f) one merely needs to recognize that
[G&] = [J] = N x (MR)
y a f
(433)
from the previous results of equation (419), and from
equation (422) that
[H& ]
YY
H3 'h3 '
HaaIriaf
h3 'hP
L fa. I ff
= Nx(MR)x(MR)
(434)
125
and since the coordinates (y) are now considered to be the
generalized coordinates (i.e., independent) that
[GY] = [I] = (MR) x (MR)
Y
(435)
and
[HY J = [0] = (MR) X (MR) X (MR) i4_3i
YY J
Now, following the technique (which will be more rigorously
illustrated in the next application) implied by the
construction of the influence coefficient matrices ([G^])
and ([H^]) relating the augmented set (w) to the initial
set (eg) one can simply piece together the required
influence coefficients
[G3] = (MR) x (MR) (437)
and
LH^ ] = (MR) X (MR) X (MR)
YY (438)
from the known relationships of equations (433) through
(436) for any (MR) desired components (q) of the set (a,
f). Note that judicious selection of (a) will simplify
this task.
Finally, the desired describing equations are obtained
from a second application of the generalized transfer
equations as
[GY] = [G^]1
q Y
[HY ] = [G<3]t( [GS]1
qq y y
[H<3 mcS]!
YY Y
(439)
126
and
Tg. = [I* ]q + qT[P* ]q TL (440)
_q qq qqq ~ q
where
[i* ] = [g^jTci* ][]X
qq y yy y
[P* ] = [G<5jT{( [G^jT [P* ]) ([I* ] [H<3 mtGS]1
qqq Y Y YYY qq YY Y
TL = [G^]T TL (441)
q y ~y
Thus, (by the double application of the transfer technique)
one is able to model any singleloop mechanism (with the
actuators located at any set (q) of the linkage joints) by
simply determining the jointreferenced model of an open
kinematic chain. Now, if the actuators are associated with
coordinates other than the joints (
obtain the required coefficients ([Gq]) and ([Hq^,]) one
must take care to use the general dependent parameter
kinematic transfer equations to carry the desired parameter
along throughout the complete transfer process. This, then
actually allows one to obtain the model for (any)
generalized coordinate set. In fact, this procedure avails
itself to the analysis of the two main types of specialcase
singleloop linkages. Those being; mechanisms containing
unspecified independent coordinates, and mechanisms having
one or more redundant constraints. These two cases are
discussed briefly in Appendix D in terms of the spatial
slidercrank and Bricard mechanisms, respectively.
127
Multiloop Parallel Mechanisms
The procedure for the modeling of multiloop parallel
mechanisms is not as onedirectional as that for the
singleloop case, and therefore, is not addressed in
allinclusive general terms. This is not to say that a much
more general class of parallelism cannot be addressed by the
same procedure, but simply that there is no single general
outline for the infinite variety of conceivable parallel
devices. Here, the primary concern will be for linkages of
the class illustrated by the generalized Stewart platform
represented in Fig. 42, where the figure is intended to be
viewed, for example, as six general sixdegree of freedom
manipulators all grasping the same object (or having a
common endeffector. Also, by class what is meant is that
each branch (or leg) has the same number of joints as the
mechanism has freedoms (i.e., in the singleloop case M = N),
and that there are no coupling links between legs (which
would require nongeneral techniques to obtain the related
influence coefficients).
Now, addressing the sixdegree of freedom mechanism of
Fig. 42 (i.e., the generalized Stewart platform), suppose
that one wishes to model (or control) this device from any
collection of six of the thirtysix of joint freedoms (i.e.,
generalized coordinates where, as in the singleloop
128
r=4 r=3
Desired Generalized Coordinates
q = (.cp. _
Initial Generalized Coordinates
r
Figure 42. Generalized Stewart platform
129
situation, one notes that the joint motion parameters are
not the only possible generalized coordinates). Again, the
first step is to directly model the system with respect to
some initial set of coordinates. Here the approach is to
model each leg (r=l,2,...,6) with respect to its own joint
coordinate set (ro) as if the other legs did not exist.
This yields, using the serial manipulator procedure of
Chapter II, six sets of describing equations, with the r1*1
one given by
l rS(n) = [rGw],[rHw ],[rI ],[rp ],rTL (442)
^
where (w) is an intermediate coordinate set associated with
the six parameters describing the motion of the platform,
and where the mass of the platform, along with any load
applied directly to the platform, is neglected (although it
could be included in the model of one of the legs).
Next, apply the transfer equations to each leg yielding
[rG>]
w
= CrG*]"1
cp
(443)
[rH> ]
ww
= [rGwrT< [rGw]"1 [rHw ])[rGwJ"1
cp cp (pep L cp
(444)
[rI* j
ww
= LrGwrT[rI* ] t rGw J1
cp epep 1 cp
(445)
CrP* ]
WWW
= rGwÂ¡T{([rG]T (rp* ])
(P cp Cp(p(p
([rI* ] [rHw ])}[rGwJ~1
WW (pep (p
(446)
and
rTL = [ Gw]r Tl
~ W cp L ~(p
(447)
130
for the model of each leg referenced to the intermediate
coordinates (w). Now, combining the effects of each leg and
including the inertial effects of the platform and the
resolved vector of loads applied directly to the platform,
one has
[I J =
ww
[P* ]
WWW
[Iww] + S [rI* ]
r=l ww
6 v *
>
r=l' www'
f PWWW ] + Â£ r^ J
(448)
and
where
ijiL
~W
6fcN
li
rrpL
m
+ E LT
r=l
t^ww^
M
67
M
67
M
67
0
[II67]
(449)
(450)
and where the first three planes of ([P^]) are 6x6 null
matrices, and
[PWWW11;;
0
i n
. o
0
Â¡[^lww]
1 = 4,5,6
(451)
where
^p4ww]
= [oÂ¡iz;iy]
= 3x3
^5ww^
= [iz;o:ixj
= 3x3
[p6ww]
= [iy!ix;o]
= 3x3
(452)
131
with
[II67] = [IxÂ¡IyÂ¡Iz]
since (by choice)
(453)
(454)
At this stage, having obtained the description of the
total mechanism referenced to the intermediate parameters
(w), one may proceed to transfer the model to any desired
set (q) of six of the thirtysix joint freedoms. Here, for
illustration, assume that the desired coordinates are the
base joints of each leg, or
q= (icpi, 2(f)l' ' 6*l)T (455)
yielding, for the first and secondorder influence
coefficients relating the desired coordinates (q) to the
intermediate coordinates (w) (from equations (443) and
(444) )
[g^;
w
[1GCP]1.
w
C2g^]1.
w
[~6gQ]~l.
TaT '
and
[H<3 ] =
ww
[1H(P
[2H^ .
_ ww '
ww L' '
(456)
(457)
132
Before continuing, note that (in general) if
then
[G<2] = C rG
w n' w 111'
(458)
(459)
and
LHS ]n.. = [rH^ ]m..
WW lL r r x*7t7 '
WW
(460)
Finally, applying the transfer equations, one obtains for
the desired describing equations
where
T = [I* ]q + qT[P* ]q TL
q
qq
(461)
[I* ] = [g^JTci* kg'?]1
qq w ww w
CP* ]
qqq
with
and
[G<*rTucg^jt [p* j) (ci* j [h
w w www qq ww w
(462)
TL = C G^]T tl
q w ~W
[Gw] = [G^r1
q w
(463)
[Hw ] = [ G^ 3 T ( [G^]1 [H<3 J ) [ G^ ] ~ !
qq w w ww w
(464)
Here, the dynamic model of an extremely complicated
multiinput spatial mechanism has been derived in terms of
relatively simple serial manipulator relationships, again,
133
Desired Generalized Coordinates
q = (i
Initial Generalized Coordinates
r
Figure 43. Parallelserial mechanism
134
via a double application of the generalized coordinate
transfer equations. In fact, the hybrid parallelserial
mechanism (Fig. 43) treated by Sklar (1984) can be modeled
using the same procedure. To see this, simply include (cp4),
(CP5) and (cpg) in each of the three initial sets (rcp,
r=l,2,3). Include the inertial effects of links (3), (4),
(5) and (6) in the direct (initial) modeling of one (and
only one) branch, and note that (cp4), (cpg) and (cpg) must
(also) be included in the desired coordinate set (q). Also
note, the reverse position problem (i.e., specify (w) and
determine (q)) for both devices can be addressed using the
analysis techniques of Duffy (1980) and Duffy and Crane
(1980). The results of this parallelmechanism analysis are
verified (in Appendix E) by simulation of a simple
threedegree of freedom planar device.
Redundant Systems
Consider a general Mdegree of freedom system (qe RM)
operating relative to an Ndimensional space ( 1RN).
Further, consider that there exists a superabundance of
kinematically independent inputs (q) with which to obtain
the most general motion possible (ue IRN) for a free
unconstrained body (u) residing in that space (i.e., M>N).
This superabundance of kinematically independent inputs
(refered to here and in the general literature as
redundancy) is perhaps most easily illustrated by the
135
general serial manipulator with more than six inputs (i.e.,
M>N=6). The situation is of course exhibited by a much
broader class of systems. Take for example, the planar,
multiloop, parallel sixdegree of freedom mechanism shown
in Fig. 44. Here, there are six independent inputs (all of
which must be controlled) available to drive the system
according to the most general motion specification possible
(i.e., x=x(t), y=y(t) and 0=0(t)). Therefore, there are
three redundant inputs (three more than required) in this
particular robotic device. Alternately, this type of
redundancy exists when only a partial specification (e.g.,
translation but not orientation) of the endeffector
trajectory of a general sixdegree of freedom serial
manipulator is made, or when the trajectory is obtainable
with a subset of the available inputs. Now, without
considering the specifics of the particular system in
question, or the justification of the optimization criteria
(i.e., cost function) employed, the application of the
transfer of generalized coordinates to the modeling of
redundant mechanisms will be discussed.
Here, it is assumed that the position of the system is
known and that the dynamic model of the system with
respect to the desired coordinates (q) has been
established, yielding
= [Gu]q
q ~
u
(465)
136
q = ^1^1'2^1'3^1'1^2'2^2'T e rM
u = (X, Y, 8) T e ]RN
Figure 44. Sixdegree of freedom planar device
137
u
[Gu]q + q[Hu ]q
(466)
q
qq
and
(467)
In viewing equations (465), (466) and (467), one sees
that the relationships are unique for specified values of
the desired coordinates (q) velocities (q) and accelerations
(q) Unfortunately (from the modeling and control point of
view) however, the desired coordinate kinematics (i.e., q
and q) are not uniquely determined by specification of the
desired kinematics (i.e., and ) of the controlled
variable (u).
Therefore, the first step is to determine (MN)
additional constraining relationships between the
coordinates (q) and (u). Here, one typically decides to
optimize (instead of arbitrarily specifying (MN) kinematic
relationships among the (q)) some performance criteria
involving the superabundant coordinates (q) subject to the
required kinematic constraints (e.g., equation (465))
relating the controlled parameter (u) to (q). Once the
performance criteria is established one can use any of a
number of optimization techniques (e.g., the classical
Lagrangemultiplier approach) to determine the additional
constraints between (q) and (u) The end result of this
being the reverse of equation (465), or
q = [G<3]u
u
(468)
138
where
[G<3] = [guJr = MxN (469)
u q
is the pseudo (right) inverse of the unique (NxM) jacobian
of equation (465). For example, if one wishes to minimize
the kinetic energy of the system (i.e., equation (2140)),
subject to the constraint of equation (465), one obtains
(Whitney, 1969)
[Gu1"r = [I* ]_1[GUjTc[Gu](I* J"1[Gu]t)'1
q qq q q qq q (4_70)
for the desired pseudo inverse.
Having established the pseudo inverse given by equation
(469), one can (though it is not necessary) now apply the
coordinate transfer technique to obtain the reverse of
equation (466) as
q = [gS] + T[H3 ] (471)
U ~ UU
where
[HS ] = [Gu]rt([Gu]r [Hu ])[Gu]r
uu q q qq q
Now, finally, substituting the results of equations (468)
and (470) into equation (467) yields
Ta = [I* ]U + T[P* ]ii
qu ~ quu
[Gu]rTt
q
(473)
as the effective generalized loads at the desired
139
coordinates required to obtain the specified controlled
variable kinematics in accordance with the given performance
criteria, where
[I* ]
qu
and
[P* J
quu
[i* ][gu]r = [gu]t([gu][i* r1[GujTr1
qq q q q qq q
[GurRT{[P* ] ([i* j [hu ])HGurR
q qqq qu qq q
MxN
(474)
MxNxN
(475)
Here (see also Thomas and Tesar, 1982a, equation (3.35) for
a nonredundant manipulator), it should be noted that the
effective loads at (q) are expressed directly in terms of
the controlled variable kinematics resulting in what could
be refered to as a partial transfer of coordinates.
Qverconstrained Systems
The devices considered in this section can also be
thought of as redundant in that the redundancy comes from
a superabundance of kinematically (dependent) inputs, as
illustrated by the threedegree of freedom, four (and
six)input systems of Fig. 45. This situation is
dramatically different from the previous case where the
superabundance was of kinematically (independent) inputs.
In that case, the only kinematic invariant is the controlled
variable itself, and the joint loads are uniquely determined
after the remaining system kinematics are selected (via
optimization). Here, once the kinematics of the controlled
140
Figure 45. Overconstrained systems, a) Walking Machine ;
b) Multifingered hand/Cooperating Manipulators
141
variable are specified, the kinematic state of the entire
system is uniquely determined (i.e., all system parameters
are kinematically invariant with respect to the controlled
variable). The result of this invariance is an antagonistic
(rather than cooperative) situation, where the load
generated by one input is geometrically (rather than
through, dynamic, inertial effects) transferred to the
others. As illustrated by the planar examples of Fig. 45,
this is exactly the situation encountered when dealing with
the coordinated action of multiple openchain systems, such
as walking machines, multifingered hands and cooperating
manipulators.
Here, without loss of generality, the specific case of
the twofingered hand (Fig. 45b) is addressed. In addition
to the analytic generality afforded by this example, it also
allows the reader to immediately verify (by simple
experiment) the absolute necessity of the direct actuation
of the four parameters
q= (LCPL, xcp2, 2
to even hold the object (u) stationary (much less maintain
some kinematic trajectory). Therefore, one must determine a
balanced loading among the four actuators while,at the same
time maintaining the desired kinematics of the dependent
controlled variable (u).
The first step, once the kinematics of (u) are
specified, is to obtain the model of the system (where the
contact points are viewed, instantaneously, as pin joints)
142
referenced to the intermediate generalized coordinates (u).
To do this one follows exactly the same procedure as
represented in the parallel mechanism section (equations
(442) through (460) with w=u), yielding the unique results
Tu =
[G<3]
u
[I* ] + T[P* ] Tl = 3x1
UU UUU u
[1G(P]
U x
u
; 2
[2G>] .!
u 'x
[2G(P] .
u
; 2
= 4x3
(477)
(478)
and
H<5 ] =
uu
= 4x3x3
(479)
Now, to distribute (via the Lagrangemultiplier
approach) the required generalized load (Tu) between the
actuators (q) while maintaining the desired kinematics one
may use any of a number of objective functions (i.e.,
optimizing criteria), but must use the constraint
relationship
c
[G^jTt T =
u
q ia
0
(480)
143
since, because the kinematics are unique, (Tu) is unique.
If, for example, one decides to minimize the sum of the
squares of the desired torques (i.e., the square of the p=2
norm), then the objective function is given by
f = Tt T
~q ~q
(481)
yielding, with the constraint (c), the Lagrangian
f = TT Tg + XT([Gq]TIW Tn)
"'q
u
^q U
(482)
Setting the partials with respect to the independent
variables to zero gives
and
resulting in
9f\T = 2Ta + [G^JA = 0 = 4x1
\ q
q
u
3f\ = [Gq]TTq Tu = 0 = 3x1
Tg = [G^]([Gq]T[Qq])_1TU
M U U U u
(483)
(484)
(485)
which, when compared with equation (480), gives the pseudo
(left) inverse transpose
[Gq]LT = [Gujt = [Gq]([Gq]T[Gq])i = 4X3 ,,
u q u u u (486)
Finally, applying the transfer equations once more
(i.e., substituting equation (477) into equation (485)),
one obtains the desired distributed load (Tq) as
144
Ta = [I* ]u + uT[P* ]u TL
_q qu quu ~q (487)
with
[I* ]
= [G<3]LT[I*
] = 4x3
qu
u uu
(488)
CP* ]
= ([GS]LT .
[P* ]) = 4x3x3
quu
u
uuu
(489)
Tl = [Gc5]_lt
q u
^U
(490)
where, again, only a partial transformation of coordinates
is employed. As with the solution for the redundant case
(equation (473)), the partial transfer is employed because
the resulting equations are in the desired form; that is,
the (desired) required generalized loads are expressed
directly in terms of the controlled variable kinematics.
CHAPTER V
CONCLUSIONS
The major thrust of this work has been the development
of a single general method which allows one to investigate
the dynamics of (almost) any rigidlink mechanism (or system
of mechanisms) from any desired set of generalized
coordinates. The method requires the determination of an
initial dynamic model(s) in terms of the simplest linkage
possible, the openloop kinematic chain. Once this
elementary model(s) is obtained the principle of virtual
work and the kinematic constraints (i.e., kinematic
influence coefficients) relating the initial generalized
coordinates to any other set of generalized coordinates
allow the determination of the model(s) referenced to the
other (desired) set of coordinates. Thus, one is able to
determine the dynamic model of extremely complicated linkage
systems (or systems referenced to an obscure set of
generalized coordinates) in terms of easily obtained
elementary openchain model parameters. The approach was
shown to enable the dynamic analysis of
1. The general serial manipulator in terms of the end
effector coordinates (or any other set of
generalized coordinates).
145
146
2. Singleloop mechanisms referenced to any generalized
coordinate set.
3. Multiloop parallelinput mechanisms.
4. Systems with a superabundance of kinematically
independent inputs.
5. Systems with a superabundance of kinematically
dependent inputs.
Because of the dependence of the unified approach on the
chosen generic model form and the relative joint angle
referenced openloop kinematic chain, an exhaustive
treatment of these elementary, yet fundamental, concepts was
given. In addition, a new and descriptive notation was
developed as an illustrative aid in the analysis of the
systems discussed. The graphic separation of dependent and
independent system parameters afforded by this notation is
extremely beneficial when dealing with the transference of
system dependence among various sets of generalized
coordinates, and is the primary reason for its introduction.
The main drawback of the overall approach is the need to
invert the Jacobian relating the desired generalized
coordinates to the initial generalized coordinates. This is
not only computationally demanding, but is, of course, also
subject to singularities. While the issue of singularities
was not addressed in the work, it is noted that a singular
Jacobian does not mean that the system cannot, in general,
attain the desired motion. What is meant is that a
reduction in the allowable motion space has occurred, and if
147
the desired motion is not in that reduced space, it cannot
be obtained. Again, while the issue of singularities is not
dealt with in general, the treatment of the Bricard
mechanism (Appendix D) addresses a special case of this
phenomena.
As comprehensive as this work is, it is merely a
foundation on which to base the more complete treatment
required for realtime dynamic compensation and control of
robotic devices. To achieve the ultimate goal of precision
operation under load will require considerably more than the
rigidlink model presented here. Of high priority for the
immediate future (and addressable by the concepts developed
in this work) are the issues of
1. Metrology (Behi, 1985)
The determination of the system parameters required
for the quantitative model (e.g., link dimensions,
*
mass and stiffness parameters, etc.).
2. Local Compensation for InPlane Deformation
(Tesar and Kamen, 1983)
Both feedforward and feedback compensation for link
and actuator deformations occurring in the plane
locally addressable by each individual actuator.
3. Global Compensation for General Deformations
(Fresonke, 1985)
Feedforward and feedback compensation for dynamic
and load induced endeffector deflection due to
general link deformations.
148
4. SufficientModel Determination (Wander, 1985)
Investigation of the controlling equations to
determine the minimum model (as well as the most
efficient computational scheme) sufficient for
realtime dynamic compensation.
5. Control of Redundant Systems (Tesar and Kamen, 1983)
Determination of algorithms appropriate for the
control of systems with a superabundance of
kinematically independent inputs envisioned for the
separation of large and small motion priorities, as
well as, for enhanced operating volume and
dexterity.
6. Control of Overconstrained Systems (Orin and McGhee,
1981)
Indepth investigation of the antagonistic nature of
systems with a superabundance of kinematically
dependent inputs (e.g., walking machines,
multifingered endeffectors, cooperating robots)
aimed at the determination of the ideal set of
generalized coordinates for control.
7. Hybrid Control (Raibert and Craig, 1981)
Investigation of system control in terms of a set of
generalized coordinates consisting of a mix of
kinematic and dynamic parameters.
In conclusion, while there is much to be done, it is
suggested that this work removes (to a large extent) one of
the most difficult tasks facing the design (or control)
149
engineer. That is, the determination of the basic
mathematical model representing the system dynamics. It is
hoped that the removal of this burden (and the additional
insight obtained by viewing the system from different sets
of generalized coordinates) will encourage one to be more
creative and investigate the possibility of systems that
might otherwise be thought unattainable.
APPENDIX A
DEVELOPMENT AND DEFINITION OF GENERALIZED
SCALAR () PRODUCT OPERATOR FUNDAMENTAL TO
DYNAMIC MODELING AND TRANSFER OF COORDINATES
1. Quadratic Operation of a Matrix on a 3dimension Array
Given
Define
Where
[D] = M x N Matrix
[C] = N x M x M Array
[D]t[C][D]
[D]T [C]x..LD]
[DTJ [CJ 2. .[D]
^ / /
[D]T [C]N;.CD]
= N x M x M Array
[CJn;; = ntl_l plane of [C]
= M x M Matrix
2. Quadratic Operation of a Vector on a 3dimension Array
Given
b = M component column vector
Define
bT[C]b = / bT[C]1;; b\
bT[C]. b
\>TÂ¡C]n;. b
= M x 1 Vector
150
151
j. Vector Multiplication of Quadratic Result
Given
[A] = P x N matrix
CA]p. = pth row of [A] = ([A]p;1> [A]p;2'
[ A ] p ; N )
Then
[A J p.(bT[C]b) = [A]p;1bT[C]1;.b + [A]p.2bT[C]2.. b
+ . + [ A ] p. j^b'1 [ C ] N. b
= bT[A]p;1[C]1;;b + bT[A]p;2[C]2;.6
+ * +MT[A]p.N[C]N..b
= tA]p;n[C]n;;)b
= scalar
Define Operator () Dot"
N
([A]d. CC]) = ( E [A]D.nC]n..) = N x N matrix
P/ n=l p,n n''
= scalar multiplication of planes followed
by a summation of the resulting planes
4. Matrix Multiplication of Quadratic Result using ()
operator
[A](bT[C]b) =
fbT([A]1;
[C])b\
bT(t A]2.
[C])b
\ T ( [ A ] P ;
[C])b /
= bT([A]
[C] )b
P x 1 vector
152
Where
([A] [C]) = P x M x M array
Therefore
([GU]T[iMUj,4T[iHU = qT ( ( [ iGu j T [ i jyjU j j
q qq q
])q
qq ~
APPENDIX B
SECONDORDER TRANSFER FOR A SIMPLE MANIPULATOR
Here the specific case of the wristpartitioned
manipulator shown in Fig. Bl and treated by Hollerbach and
Sahar (1983) is addressed. In this class of manipulator
(i.e., wristpartitionable) the orientation of the
endeffector is completely specified by (and completely
specifies) the last three joint positions. This allows the
inverse kinematics of the first three joints (eg) to be
obtained in terms of the cartesian coordinates of a
wristpoint (P), where the wristpoint (P) is determined
directly from the position and orientation of the
endeffector. (i.e., independent of the last three joints).
As a result of this partitioned solution capability the
kinematic influence coefficients relating the joint
coordinates (
determined directly (and simply), without the need to employ
the transfer of generalized coordinate approach. Therefore,
the wristpartitioned manipulator is ideally suited to serve
as vehicle to verify (algebraically) the results of the
generalized coordinate transformation approach to the
inverse kinematics problem (specifically, the transferred
(h,H) function result).
153
154
Assuming that the kinematics of the wristpoint (P) are
known, one can express the acceleration vector (cp) in the
general form of equation (227) as
cp = [G^JP + P^H^ ]P
P ~ PP
Here, for brevity, only the acceleration of the first joint
will be considered. From equation (Bl), one has
0, = [G^li.P + PT[H
i p '~ PP ',
The primary objective is now to show that
Hpp11transferred = ^Hpp^1;;^direct
where, from equation (319)
([H
pp ' cp cp (pep ' cp
Referring to Table Bl, one has that
which yields
LG] = [G]l
S0
 1
c
1
r
r
0
C C0
S0 c
S0
1 2+3
1 2+3
2+3
a23s03
a23s03
a23s03
rc
1
rs
1
(1)pz
a23a34s03 a23s34s03 a23a34s03
where, s01+2=sin(0j_ + 2) etc. Applying the generalized
dot operator gives
155
([Gp]1 [Hp ])i..
(P (pep L '
([GP J _1)n [HP ]
= (g1)T [Hp ]
p cpcp
(B7)
= 1
r
0
(1)PZ a^s
34so2 + 3
(l)pz o 0
a3 4s02 + 3
0
where [H^] is given in Table Bl. Finally, performing the
remaining multiplications one has that
SU!) c(21) 0
c(201) s(201) 0
0 0 0
or, for the acceleration of joint one
s(20x) c(2Q) 0
= 1
pp i,, c
r
(B8)
]_ = lts! cx 0]P + _1 PJ
r 2
r
where recognizing that
c(20]_) s(20]_) 0
0 0 0
P
J (B9)
(1)pZc02+3 r s02+3 = a23s03 r = (1)PX
(B10)
aids considerably in the derivation of equation (B8). Now,
from Fig. Bl, one has the two simple relationships
rc! = Px
rsQL = PY (B11)
Taking the derivative of equation (Bll) with respect to
time yields
rQps^ + rc1 = Px
rj^cQL + rs1 = Â£>y
(B12)
156
which can be solved to give
r = Pxc0x + P^sGi (B13)
and
r2_ = Pxs1 + pYc^ (B 14)
Differentiating equation (B14) with respect to time, and
substituting equation (B13) for (r) and the solution of
equation (B14) for (]_) in the resulting expression gives
! = 1(PYC01 Pxs1) + _2 (Pxc]_ + PYS01)(PYC1 Pxs1)
r 2
r (B15)
which yields the same result as that obtained using the
transfer of coordinate approach (i.e., equation (B9),
thereby verifying the sought after relationship of equation
(B3 ) .
For an interesting example of the overall transfer of
coordinate approach to the modeling of wristpartitioned
manipulators see Rill (1985). That work deals (in essence)
with the dynamic analysis of a generalized Stewart platform
where each leg (manipulator) contains a spherical wrist.
Included in the analysis is a simplified (specialized) set
of transfer equations which specifically address
partitionable manipulators.
157
Figure Bl.
WristPartitioned Manipulator (First three links)
158
Table Bl. Kinematic Influence Coefficients for the first
three links of the WristPartitioned Manipulator
P = s^s1 + a23a23 + 334a34
n
sn
Rn
(PRn)
gp
n
HP = HP
in n]
1
s1
SllS1
a232j + a3434
s1 x (PR*)
s1 x gp
2
s2
Sill1
a2323 + a3434
3 2 x (PR2)
sa x gp
2
3
s3
Sill1 + a2 3 2 3
a3434
s3 x (PR3)
i D
s1 x g
[Gp]
rs]_ ?pzc01 ( a34S02+3 )c0x
rc0Â¡_ (DpZs! ( a34S2+3 ) s]_
0 r a34c02+3
[Hp ]x..
cpcp '
, rcQi
(1)pzs
(a3 4s2 + 3
Is!
(l)pzs1 (334302+3)3!
rc! (a34C02+3)c!
(a24C2+3)c! (a34C2+3)c!
[Hp ]2..
(pep ^' '
rsQi
"(a34S2+3)c!
_(l)pzc! (a34S2+3)c!
rs! (a34C2+3)s!
 ( a34c2+3 ) s0i (a34C02+3)si
[HP
cpcp
0 0 0
0 U)pz (a34s02 + 3)
0 (a34s02+3) (a34s2+3)
CM CM
APPENDIX C
SINGLELOOP PLANAR FIVEBAR ANALYSIS
The analytic example presented here is given as a
partial verification of the loopclosure technique developed
in the first section of Chapter IV. The well established
(Curtis, 1972 and Freeman, 1980) dyadbased linkage analysis
procedure is employed for comparison. Consider the fivebar
linkage of Fig. Cl.
The results of the dyadbased analysis are given in
Table Cl. This analysis is a direct procedure and is
summarized as follows
1. Kinematics of dyad poles (i.e., A(t) and B(t))
determined from specified input kinematics
(
2. Kinematics of mass parameters (X^(t), Y^(t),
^(t)) determined using pole kinematics.
3. Pinjoint reaction forces (FA, FB, Fc)
due to d'Alembert loads determined.
4. Required driving torques (T]_) and (Tv,) and reaction
forces (Fa) and (FB).
Now, following the transfer procedure presented in
Chapter IV. one first obtains the openchain model
coefficients
Sq, = [GeJ,[He ],[I* J [P* ]
^ (P (pep epep (pepep
(Cl)
in the manner prescribed in Chapter II, where
e = (Xh,Yh,0h)T
(C2)
159
160
and
cp =
(cpL ,cp2,4>3 ,c?4 )
T
(C3)
and the resultant coefficients are given in Table C2.
Next, the augmented intermediate coordinate set w is chosen
to be
*l\
 a cpx (c4)
V
yielding the corresopnding influence coefficients ([G^j) and
([H^p]) given in Table C2. Finally, using the transfer
equations one obtains
TW =
Tl
phx
F^y
= [I* ]w + wT[P* Jw
ww WWW ~
(C5)
\Th,
as the generalized load state at the coordinates (w), where
[I* ] = [GwrT[I* ][GW]_1
ww cp cpcp cp
(C6)
and
[p* J = [Gw]t{ ( [GwrT [P* ]) ([I* ] [Hw ] ) } [ Gw J 1
WWW cp cp epepep WW cpcp cp
(C7)
The results of equations (C5), (C6) and (C7) are given in
Table C3. Comparison of these results with those of the
direct dyadbased analysis confirm the validity of the
transfer approach.
161
Figure Cl.
Planar FiveBar Mechanism
162
Table
Cl. Dyadbased Analysis
u
Position
u (in., rad.)
Velocity
u (in/s, rad/s)
Acceleration
(u(in/s^, rad/
qi
7n
18
2.0
1.0
XA
4.10
22.55
27.69
yA
11.28
8.21
41.0
^2
In
2
3.0
0.5
xB
33.9
36.0
6.0
yB
3.29
0.0
108.0
i
7n
36
0.074
3.405
x^
13.93

4.31
y2
18.16

74.51
(fax,
Fay) = (0.009
, 0.24)lbf Tx
= 0.05 inlbf
(fBX,
Fby) = (0.07,
0.15)lbf
(FHX,
FHY) = (0.07,
T2 = 0.83 in
0.15)lbf
lbf
163
Table C2. Openchain Model Parameters
10 0 0
[Gw] =
ep
[Ge]
(P
10 0 0
8.71" 19.98" 33.75" 12"
33.91" 29.80" 10.14" 0"
1111
iw :
(pep
[HW ;
(pep
epep
rhw 14
L nepep J 4 /
[He
epep
]3
/
= [0]
'3 3
.91
29.
80
10
14
= 
29
.80
29.
80
10
14
/
10
.14
10.
14
10
14
0
0
(
)
[Hw ]3..
epep J '
r u2
[He ]2..
epep c' '
8.71 19.98 33.75 12.0
19.98 19.98 33.75 12.0
33.75 33.75 33.75 12.0
12.0 12.0 12.0 12.0
[I 1 =
(pep
2.774 1.418 0 0
1.418 0.808 0 0
0 0 0 0
0 0 0 0
(inlbfs^)
0 0
.428
0
0
[P* ]i
=
0.428 0
.428
0
0
(inlb
ep(p(p '
}
0
0
0
0
0
0
0
0
0.428
0
0
0
[P* ]2.
. =
0
0
0
0
(inlbf
(pep '
0
0
0
0
0
0
0
0
CP*
]3; ;
= CO]
[P*
uft
= CO]
 = 2
c2
(in. )
(in. )
164
Table C3.
Constrained System Model
Iw
[I* J
ww
$1
<31
0
+ (qi 0 0 q2) [P ]
0
=
0
WWW
0

32
<32

50.77 x 10Jinlbf
68.83 x 10"3lbf
.47.60 x 103lb^
[I* ]
ww
411.24 5.73 12.29 68.79
5.73 0.26 0.55 3.10
12.29 0.55 1.19 6.64
68.79 3.10 6.64 37.17
x 103
[P*
WWW
303.35 0.18 8.96 2.15
0.18 0.24 0.61 2.84
8.96 0.61 0.52 7.27
2.15 2.84 7.27 181.56
x 103
[P*
WWW
3.38 0.13 0.14 1.58
0.13 0.02 0.01 0.20
0.14 0.01 0.005 0.17
1.58 0.20 0.17 9.06
x 10"3
WWW
CP* ]4
WWW
'7.24
0.28
0.29
3.38"
=
0.28
0.04
0.03
0.43
0.29
0.03
0.01
0.36
3.38
0.43
0.36 
19.43
"40.50
1.58
1.66
18.95
1.58
0.20
0.17
2.42
1.66
0.17
0.06
2.03
18.95
2.42
2.03
108.7
APPENDIX D
SPECIAL CASE SINGLELOOP MECHANISMS
Consider the spatial slidercrank mechanism of Fig. Dl.
This device is considered a special case in that it is a
twodegree of freedom mechanism, where one of the
generalized coordinates (the spin of the coupler link about
its axis, 5) has no effect on the output (Pz) motion
(Sandor, 1984, Chap. 6). To analyze this mechanism (and
others like it) using the unified approach of the first
section of Chapter IV, the unspecified (nonactuated)
coordinate 5 must be included in all generalized coordinate
sets. With this requirement noted, the analysis simply
follows the procedure outlined in Fig. Dl and set forth in
Chapter IV.
Consider the Bricard mechanism of Fig. D2. According
to the Gruebler criteria, this mechanism should have zero
mobility. However, due to its special geometry, this device
has onedegree of freedom (Uicker et al., 1964). The
existence of a redundant constraint produces this unexpected
freedom and manifests itself in the linear dependence of the
screw'associated with (or motion afforded by) joint 6 on
joints 1 through 5. This means that the Jacobian ([G^,])
relating the motion of the hypothetical endeffector (u) to
the initial openchain generalized coordinates (eg) is of
rank 5 and, thus, singular. In terms of the algebra, this
165
166
singularity is essential in that it implies the existence of
at least one linearly independent nontrivial solution to
the equation (see Fig. D2 for notation)
e = 0 = CiG]! (Di)
Now, from the algebra, since the Jacobian is of dimension 6
and rank 5, there exists exactly one linearly independent
solution associated with the one generalized coordinate
required to specify the motion of this mechanism.
Therefore, equation (Dl) can be solved yielding
[2q
(D2)
for the firstorder influence coefficients relating the
initial coordinates (2S&) to the intermediate generalized
coordinate (y). Having obtained these constraining
relationships (equation (D2)) one can obtain the desired
dynamic model by, again, following the procedure of
Chapter IV. The reader is referred to Fig. D2 for the
basic outline of this analysis. It should be noted that the
analysis of this mechanism is problematically similar to
having a singular manipulator configuration, yet still being
able to attain the specified endeffector motion (i.e., the
specified motion space is spanned by the linearly
independent columns of the Jacobian). However, here the
column dependency is predetermined and the specified motion
(rotation by cp6 about s6) is known to be allowable.
167
Unfortunately, this is not the case in general manipulator
motion.
168
1.
j Transfer
2. y = (0_, X Y ,Z ,0 , ,0 )T  S
5 p' p' p' x y' z y
 Constrain
3. w =(5,Z )
w
 Transfer
. q =(01,5)T  S
Figure Dl. Spatial slidercrank mechanism
169
l2
V
T
= (w.
T
1.
2.
3.
Determine
Determine
Determine
and
[1G5] [1HV9>]
2Scp ^2P{f
2 cp
[ G ] from equation (D2)
2
[ Hyy] from equation (319)
4.
Obtain intermediate model
S = [I* ],[P* ]
y yy yyy
Figure D2. The Bricard mechanism
APPENDIX E
PARALLEL MECHANISM MODELING
Consider the threedegree of freedom parallelinput
planar robotic mechanism of Fig. El. The goal of this
analysis is to verify the overall modeling procedure
presented in the second section of Chapter IV, particularly
the distribution of the system mass parameters. To
accomplish this, the system is specified such that the
desired model coefficients are directly available, the
transfer procedure is then applied and the results obtained
are compared with the known (directly obtrained) coefficient
values.
The desired input locations (q) are specified to be the
base joints of the three branches
q = (i
(El)
Now, in order to have direct knowledge of the desired model
only the base links themselves can have mass. Refering to
the specifications given in Fig. El, the effective inertia
matrix referenced to the desired coordinates (q) is
10 0
(I ] = 0 2 0
qq 003
constant
(E2)
and the velocity related coefficient ([Pqqq])is identically
zero (i.e., each actuator is solely responsible for its own
170
171
mass). With the final (desired) model known, the transfer
technique is now applied to verify its accuracy. First,
following the analyses of Chapter II, the (independently
treated) joint referenced model for each leg is obtained
(rS*) = [rGwJ,(rHw ), [rI* ] r = 1,2,3
(E3)
The results of equation (E3) for branch one (i.e., r = 1)
are given in Table El. Then, applying the transfer
equations (443), (444), (445) and (446), the system
model referenced to the intermediate generalized coordinates
(w) is determined, yielding (see Table El)
(Sw) = [ rG(P ], [ rHcp ],[rI* Mrp* ]
W WW WW WWW
(E4)
Next, the effects of each leg are combined and the influence
coefficients relating desired coordinates (q) to the
intermediate coordinates (w) are formed, giving (see Table
E2)
and
[I* ] = E [rI* J
ww r=l ww
[P* J = i [rP* ]
www r=l www
LG
w
[1G
w
[2G(P]
w
t3G
w
(E5)
(E6)
172
H<3 ] =
ww
L 1Hcp ]]_.
ww '
[2H^ ]x.
WW
ww
[3H ]x.
ww x '
Finally, applying the transfer equations once more, the
expected desired model
[I* ] [G<5rT[I* '][G<3]1 =
qq w ww w
10 0
0 2 0
0 0 3
(E7)
[P* ] = [G^ J T{ ( [G<3]t [P* ]) ([i* ] [H^ ])}[Gc3]1
qqq w w www ww ww w
= [0]
is obtained, verifying the transfer technique.
173
Figure El. ThreeDOF Planar Robotic Mechanism
174
Table El. Joint and HandReferenced Models (r=l
tlGw] =
cp
[lHw ]x . =
L (p
[lHw J 2.. =
A (pep A '
1.475
0
0.5
(in. )
1
0
0
2.55
2.28
0.866
(in. )
[il* ] =
0
0
0
1
1
1
cocp
0
0
0
(inlbf
2.55 2.28 0.866
2.28 2.28 0.866
0.866 0.866 0.866
1.475 0 0.5
0 0 0.5
0.5 0.5 0.5
( in)
( in. )
ClHw ]3.. = [0]
A ep(p J
[]P ] = [0]
epepep
CiG
A w
0.637
0.225
0.513
(in.1)
0.405
0.143 0.327
0.758
0.439
0.001
(in.1)
[XI* ]=
0.143
0.0510.116
0.122
0.664
1.514
ww
0.327
0.116 0.264
[W ]x..
WW A '
0.050
0.105
0.116
0.105
0.439
.0.328
0.116
0.328
0.665
(in
1
)
hP ]
WWW
1
r /
0.032 0.067 0.074
0.067 0.280 0.209
0.074 0.209 0.423
ClH^ ]
ww
2
r t
0.358 0.053 0.225
0.053 0.419 0.390
0.225 0.390 1.327
(in.1)
[XP* J2
WWW A
0.011 0.024 0.026
0.024 0.099 0.074
0.026 0.074 0.150
]3..
ww J '
0.408 0.158 0.341
0.158 0.019 0.062
0.341 0.062 0.662
C1P* ]3
WWW J
0.026 0.054 0.059
0.054 0.225 0.168
0.059 0.168 0.341
175
Table E2. Complete HandReferenced Model
[GS] =
w
0.637
0.225
0.513
(in.
1.225
0.367
0.589
0.124
0.665
0.514
(in.
1)
[I* ] =
0.367
1.513
0.106
0.513
0.439
0.513
ww
0.589
0.106
1.582
ww '
0.050
0.159
0.116
0.105
0.439
0.326
0.116
0.326
0.665
(in.1)
[P* ]X.. =
WWW A''
0.479
0.432
0.188
0.432
0.031
0.629
0.188
0.629
0.762
[HS ]2.. =
WW '
0.408
0.159
0.342
0.159
0.018
0.633
0.342
0.633
0.665
(in. 1)
[P
WWW
J 2
f r
0.259 0.534 0.777
0.534 0.340 0.188
0.777 0.188 0.137
H<3 ] 3. =
ww '
0.225 0.263 0.225
0.263 0.165 0.263
0.225 0.263 0.664
[P
WWW
J 3 . 
J t t
0.741 0.188 0.054
0.188 0.459 0.302
0.054 0.302 2.045
Units for [I*j and [P* ] include: (inlbfs2) I*
ww www L 33
(lbfs2) I*
r 13
lbfS2/in.) I*
r 11
BIBLIOGRAPHY
Armada, M.A., and No, J. 1981. Bilinear manipulator models:
Application to suboptimal control. Proc. 11th Int. Symp.
Industrial Robots 747754.
Assada, H., and YoucefToumi, K. 1983. Analysis and design
of semidirectdrive robot arms. Proc. of 1983 American
Contr. Conf. 757764.
Behi, F. 1985. Ph.D. dissertation in preparation,
University of Florida.
Benedict, C.E., and Tesar, D. 1971. Dynamic response
analysis of quasirigid mechanical systems using
kinematic influence coefficients. J. Mechanisms
6:383403.
Benedict, C.E., and Tesar, D. 1978a(Oct.). Model
formulation of complex mechanisms with multiple inputs:
Part I Geometry. J. Mechanical Design 100(4): 747753.
Benedict, C.E., and Tesar, D. 1978b(Oct.). Model
formulation of complex mechanisms with multiple inputs:
Part II The dynamic model. J. Mechanical Design 100(4)
755761.
Borovac, B., Vukobratovic, M., and Stokic, D. 1983.
Analysis of the influence of actuator model complexity on
manipulator control synthesis. Mechanism Mach. Theory
18(2):113122.
Cox, D.J., and Tesar, D. 1981(Sept.). The dynamic modeling
and command signal formulation for parallel
multiparameter robotic devices. Internal report, CIMAR,
University of Florida.
Curtis, F.C. 1972. Dynamic state analysis of mechanisms
composed of binary structury groups. Master's thesis,
University of Florida.
Dubowsky, S., and DesForges, D.T. 1979(Sept.). The
application of modelreferenced adaptive control to
robotic manipulators. Trans. 'ASME J. Dyn. Syst.,
Measurement Contr. 101(3):193200.
Duffy, J. 1980. Analysis of mechanisms and robot
manipulators. New York, N.Y.: John Wiley and Sons, Inc.
Duffy, J., and Crane, C. 1980. A displacement analysis of
the general spatial 7link, 7R mechanism. Mechanism
Mach. Theory 15(3):153169.
176
177
Electrocraft. 1978. DC motors, speed controls, servo
systems. Hopkins, Minn.: ElectroCraft Corp.
Freeman, R.A. 1980. Interchange of reference parameters for
dynamic modeling and analysis of complex multidegree of
freedom planar mechanical systems. Master's thesis,
University of Florida.
/Freeman, R.A., Tesar, D. 1982(Jan.). The generalized
coordinate selection for the dynamics of complex planar
mechanical systems. Trans. ASME, J. Mechanical Design
104(1):206217.
^Freeman, R.A., Tesar, D. 1983. Dynamic model for
generalized planar robotic manipulator. Proc. 6th World
Congress on Theory of Mach, and Mechanisms 2:9981002.
Fresonke, D. 1985 (May). Analytic formulation for
deformation compensation in robotic structures. Master's
thesis, University of Florida.
Freund, E. 1982. Fast nonlinear control with arbitrary
poleplacement for industrial robots and manipulators.
Int. J. Robotics Research 1(1):6578.
Golla, D.F., Garg, S.C., and Hughes, P.C. 1981. Linear
statefeedback control of manipulators. Mech. Machine
Theory 16(1):93103.
Guez, A. 1982. Optimal control of N degrees of freedom
robotic manipulator. Ph.D. dissertation, University of
Florida.
Hewit, J.R., and Burdess, J.S. 1981. Fast dynamic decoupled
control for robotics, using active force control Mech.
Machine Theory 16(5):535542.
Hollerbach, J.M. 1980. A recursive formulation of
Lagrangian manipulator dynamics. IEEE Trans. Syst. Man
Cybern. SMC 10 (11):730736.
Hollerbach, J.M., and Sahar, G. 1983. Wristpartitioned,
inverse kinematic accelerations and manipulator dynamics.
Int. J. Robotics Res. 2(4) ;6176.
Horowitz, R., and Tomizuka, M. 1980(Nov. 1621). An
adaptive control scheme for mechanical manipulators
compensation of nonlinearity and decoupling control.
Presented Winter Annual Meeting Dyn. Syst. Contr.
division of ASME.
178
Kahn, M.E., and Roth, B. 1971. The near minimumtime
control of openloop articulated kinematic chains.
Trans. ASME J. Dyn. Syst., Measurement Contr.
93:164172.
Kane, T.R. 1961. Dynamics of nonholonomic systems. J.
Applied Mechanics 28:574578.
Kane, T.R., and Levinson, D.A. 1983. The use of Kane's
dynamic equations in robotics. Int. J. Robotics Res.
2(3):321.
Khatib, 0. 1983. Dynamic control of manipulators in
operational spaces. Proc. 6th World Congress on Theory
of Mach, and Mechanisms 2:11281131.
Lanczos, C. 1962. The variational principles of mechanics.
Toronto: University of Toronto Press.
LeBorgne, M., Ibarra, J.M., and Espiau, B. 1981. Adaptive
control of high velocity manipulators. 11th Int. Symp.
Industrial Robots 227236.
/Lee, C.S.G. 1982(Dec.). Robot arm kinematics, dynamics,
and control. IEEE Computer 15(12):6280.
Lee, C.S.G., and Lee, B.H. 1984(June). Resolved motion
adaptive control for mechanical manipulators. Trans.
ASME J. Dyn. Syst., Measurement Contr. 106:134142.
Liegeois, A., Fournier, A., and Aldon, M.J. 1980(Aug.
1315). Model reference control of highvelocity
industrial robots. Proc. 1980 Joint Automatic Control
Conf. TPIOD.
Luh, J.Y.S., Walker, M.W., and Paul, R.P.C. 1980(June).
Resolved acceleration control of mechanical manipulators.
IEEE Trans. Auto. Contr. 25(3):468474.
Meirovitch, L. 1970. Methods of analytical dynamics. New
York: McGrawHill Book Company.
Myklebust, A. 1982(Jan.). Dynamic response of an electric
motorlinkage system during startup. Trans. ASME J.
Mechanical Design 104(1):137142 .
Orin, D.E., and McGhee, R.B. 1981(Sept.). Dynamic
computer simulation of robotic mechanisms. Presented
Conf. Theory and Practice of Robots and Manipulators,
Warsaw, Poland.
179
Paul, R.P. 1972(Nov.). Modelling, trajectory calculation,
and seroing of a computer controlled arm. AIM 177,
Stanford University, Artificial Intelligence Laboratory.
Paul, R.P., Shimano, B., and Mayer, G.E. 1981a(June).
Kinematic control equations for simple manipulators.
IEEE Trans. Syst. Man Cybern. SMCli(6):449455.
Paul, R.P., Shimano, B., and Mayer, G.E. 1981b(June).
Differential kinematic control equations for simple
manipulators. IEEE Trans. Syst. Man Cybern.
SMC11(6):456460.
Raibert, M.H., and Craig, J.J. 1981(June). Hybrid
position/force control of manipulators. Trans. ASME J.
Dyn. Syst., Measurement Contr. 102:126133.
Rill, D. 1985. Master's thesis in preparation,
University of Florida.
Sandor, G.N., and Erdman, A.G. 1984. Advanced mechanism
design: Analysis and synthesis 2. London: PrenticeHall
International, Inc.
Silver, W. 1982. On the equivalence of Lagrangian and
NewtonEuler dynamics for manipulators. Int. J. Robotics
Research 1(2):60 70
Sklar, M., and Tesar, D. 1984(Apr.). The analysis of
hybrid parallei/serial manipulators. Internal report,
CIMAR, University of Florida.
Stoten, D.P. 1983. The adaptive control of manipulator
arms. Mechanism Mach. Theory 18(4):283288.
Sunada, W.H., and Dubowsky, S. 1983. On the dynamic
analysis and behavior of industrial robotic manipulators
with elastic members. To appear Trans. ASME J.
Mechanical Design. Paper No. 82DET45.
Tesar, D., and Thomas, M. 1979. Assessment for the
mathematical formulation for the design and digital
control of programmable manipulator systems. NSF Grant
ENG7820012 and DOE Contract Er785056102. CIMAR,
University of Florida.
Tesar, D., and Kamen, E. 1983(Jan.). Controlinthesmall
technology for enhanced precision under load for light
machining with industrial robots. Preliminary proposal,
CIMAR, University of Florida.
/ Thomas, M. 1981. Dynamic model formulation for rigidlink
serial manipulators with revolute joints. Master's
thesis, University of Florida.
180
Thomas, M., and Tesar, D. 1982a(Nov.). Dynamic modeling
and analysis of rigidlink serial manipulators. DOE
Grant DeAC0579ER10013. CIMAR, University of Florida.
Thomas, M. and Tesar, D. 1982b(Sept.). Dynamic modeling
of serial manipulator arms. Trans. ASME J. Dyn. Syst.,
Measurement Contr. 104(3):218228.
Thomas, M., YuanChou, H.C., and Tesar, D. 1984(Oct.).
Optimal actuator sizing for robotic manipulators based
on local dynamic criteria. Submitted to ASME, Mechanisms
Conf., Cambridge, MA.
Thomas, M., YuanChou, H.C., and Tesar, D. 1985(Mar.
2528). Trans. IEEE Int. Conf. Robotics Automation
275281."
Uicker, J.J., Denavit, J., and Hartenburg, R.S. 1964(June).
An iterative method for the displacement analysis of
spatial mechanisms. Trans. ASME Series E 86:309314.
Vukobratovic, M., and Stokic, D. 1982a. Control of
manipulation robots: Theory and application.
(Monograph.) New York: SpringerVerlag.
Vukobratovic, M., and Kircanski, N. 1982b.
Computeroriented method for linearization of dynamic
models of active spatial mechanisms. Mechanism Mach.
Theory 17(1):2132.
Walker, M.W., and Orin, D.E. 1982. Efficient dynamic
computer simulation of robot mechanisms. Trans. ASME J.
Dyn. Syst., Measurement Contr. 104(3):205211.
Wander, J.P. 1985. Master's thesis in preparation,
University of Florida.
Whitehead, M.L. 1984. Control of serial manipulators with
emphasis on disturbance rejection. Master's thesis,
University of Florida.
Whitney, D.E. 1969(June). Resolved motion rate control of
manipulators and human prostheses. IEEE Trans. Man Mach.
Syst. MMS10(2):4753.
Whitney, D.E. 1972(Dec.). The mathematics of coordinated
control of prosthetic arms and manipulators. Trans.
ASME J. Dyn. Syst., Measurement Contr. 94(4 ):303309 .
Wittenbauer, F. 1923. Graphische Dynamik. Berlin:
Springer.
BIOGRAPHICAL SKETCH
Robert Arthur Freeman was born in Gainesville, Florida,
on August 26, 1954. He grew up in Gainesville, Florida, and
attended P.K. Yonge Laboratory School in Gainesville,
graduating in June of 1972. He entered the University of
Florida in September of 1972, receiving a Bachelor of
Science in Mechanical Engineering in August of 1976 and a
Master of Engineering in March of 1980. He was employed as
a design engineer for the Wayne H. Coloney Company in
Tallahassee, Florida, from September of 1979 to September
of 1980. He reentered the University of Florida in
September of 1980 and began working towards the degree of
Doctor of Philosophy.
He is a member of the Florida Alpha chapter of Tau Beta
Pi and the Sigma Omicron chapter of Pi Tau Sigma. He is
presently employed as an Instructor and Research Fellow at
the University of Texas at Austin.
181
I certify that I have read this study and that in my
opinion it conforms to acceptable standards of scholarly
presentation and is fully adequate, in scope and quality, as
a dissertation for the degree of Doctor of Philosophy.
Delbert Tesar, Chairman
Professor of Mechanical Engineering
I certify that I have read this study and that in my
opinion it conforms to acceptable standards of scholarly
presentaiton and is fully adequate, in scope and quality, as
a dissertation for the degree of Doctor of Philosophy.
Joseph Duffy
Professor of Mechanical Engineering
I certify that I have read this study and that in my
opinion it conforms to acceptable standards of scholarly
presentation and is fully adequate, in scope and quality, as
a dissertation for the degree of Doctor of Philosophy.
G4ry tf. Matthew
Professor of Mechanical Engineering
I certify that I have read this study and that in my
opinion it conforms to acceptable standards of scholarly
presentation and is fully adequate, in scope and quality, as
a dissertation for the degree of Doctor of Philosophy.
\ A/ )
R.
G. 1
iSelf riiddb
Professor bf Computer and
Information Sciences
I certify that I have read this study and that in my
opinion it conforms to acceptable standards of scholarly
presentation and is fully adequate, in scope and quality, as
a dissertation for the degree of Doctor of Philosophy.
Edward W. Kamen
Professor of Electrical Engineering
This dissertation was submitted to the Graduate Faculty of
the College of Engineering and to the Graduate School and
was accepted as partial fulfillment of the requirements for
the degree of Doctor of Philosophy.
August 1985
Dean, College of Engineering
Dean, Graduate School
80
lx
CP_ 9T
= lcp = _JP
9
^ o
ocp + cp
+
9
9 cp
O(t)nom.
cp( t) nom.
6<Â£ (2201)
cp (t) nom.
as the general equation for the linearized dynamics (the
question of independent external load disturbance is
addressed later). The task at hand, then, is to derive
expressions for the partial derivatives in equation (2201),
to as great a degree as possible, in terms of the same
general algebraic operations and parametric modeling
coefficients employed in the dynamic equations themselves
(to minimize the additional computational burden).
Writing the generalized load in the form of equation
(2198) gives
lo
[I* ]cp + T(P* ]0
(pep epepep
E [^GuJT Tu
j=l cp
(2202)
where (^Tu) is a general applied load vector associated with
link jk consisting of both force and moment components (and
is assumed to be constant in the following derivations).
This form allows one to obtain the first two terms in
equation (2201) directly from previous operations.
Recognizing the similarity in the form of equations (227)
and (2202) and, recalling the development of equations
(228) through (236), one has that
9$
[I* ]6o
epep 
(2203)
and
APPENDIX A
DEVELOPMENT AND DEFINITION OF GENERALIZED
SCALAR () PRODUCT OPERATOR FUNDAMENTAL TO
DYNAMIC MODELING AND TRANSFER OF COORDINATES
1. Quadratic Operation of a Matrix on a 3dimension Array
Given
Define
Where
[D] = M x N Matrix
[C] = N x M x M Array
[D]t[C][D]
[D]T [C]x..LD]
[DTJ [CJ 2. .[D]
^ / /
[D]T [C]N;.CD]
= N x M x M Array
[CJn;; = ntl_l plane of [C]
= M x M Matrix
2. Quadratic Operation of a Vector on a 3dimension Array
Given
b = M component column vector
Define
bT[C]b = / bT[C]1;; b\
bT[C]. b
\>TÂ¡C]n;. b
= M x 1 Vector
150
6
under investigation. In addition to being descriptive in
nature, this notational scheme underscores the fundamental
theme of this work; that there are only two basic types of
system parameters (dependent and independent), but that
there is not a unique set of generalized coordinates from
which to view the system. The notational scheme also has
been developed with the assimilation of ten plus years of
various kinematic and dynamic analyses presented by Tesar
and his students into a single formalized unit. As a final
note to readers familar with the notation utilized by Thomas
and Tesar (1982b), to obtain the parameter descriptions
given in that work simply drop all subscripts (since only
one set of generalized coordinates is addressed) and rotate
the superscripts one block in the clockwise direction
(e.g., the postsuperscript in this work becomes the
subscript in Thomas and Tesar (1982b) as shown in examples 2
and 3 of Table 11).
In keeping with the desire to present as generic a
treatment as possible, Chapter II starts off with the
development of the first, second and thirdorder
kinematics of a general multidegree of freedom system.
Here, the conceptual use of kinematic influence
coefficients, along with the definition of the associated
notation, is introduced. The concept of influence
coefficients is fundamental to the modeling methodology
employed throughout this work and the need to understand
this basic idea cannot be overemphasized. Additionally, the
Copyright 1985
by
ROBERT ARTHUR
FREEMAN
94
Note
'The dot () operator will prove to be an extremely
powerful tool in the analyses presented throughout this
work, and hence, will be dealt with in an appendix for easy
reference. It is a generlized inner (or dot) product and is
developed, along with the transition from equation (2137)
to equation (2141), in Appendix A.
8
device is presented first. Here the momentum form of
Newton's second law is used. After establishing the general
approach, the dynamics of the serial manipulator are
addressed specifically. In this treatment (II.B.4.), the
results for the manipulator are expressed in matrix form,
this being consistent with the method of derivation as well
as with the computer language (APL) that the author uses for
simulation. In fact, the author's familiarity with the
multidimensional array handling and operational
capabilities of this language (APL) is most certainly a
contributing factor in the chosen form of the resultant
modeling expressions. Again, for the investigator familiar
with the work of Thomas (1981) (aside from the notation and
method of derivation) and the expression of the coefficients
of the dynamic model in matrix (vector) form here, as
opposed to the summation (scalar) form of Thomas (1981), is
the only difference in the modeling results of the two
works. Also, and of paramount importance to the
transformation of generalized coordinates technique
presented in Chapter III, a generalized vector scalar
product operator () is introduced. Because of the
significance of this operator to this entire work, it is
addressed in detail in Appendix A.
Next, for completeness, the linearization of the dynamic
equations of the general serial manipulator is pursued. The
derivation of these linearized equations is again attacked
in a qualitative fashion (i.e., partials are taken with
56
forces in infinitesimal reversible virtual displacements
compatible with the system constraints is zero. To get a
more analytical handle on this principle, consider a system
containing N, Pdimensional, dependent motion parameters
4u = ('u1, ^u2, 4up)T i = 1,2,...,N
(2119)
acted on by N, Pdimensional, applied loads
iTu = (iTl It2, iTF)T i=l,2,...,N
(2120)
where the preceding superscript indicates which parameter
is being considered, and the applied loads can be viewed as
implicitly dependent on the generalized coordinates.
Further, suppose that the system has M degreesoffreedom
and, hence, its motion can be completely described in terms
of M generalized inputs,
q = (qi, q2'*' 3m,t (2121)
and that these coordinates are acted on by M generalized
forces
Tq = (Tx, T2, ..., Tm)t (2122)
For the system to be in static equilibrium, the principle of
virtual work states that the virtual work (6W) must be zero,
or
6W = Tq 6q + ii iu (2123)
= (6g)T T + 2 (Su)1 t11
M 1=1 ~
= ( 6q)T Ta + j ( (SqjTfiG11]7)1^
M 1=1 q ~
= (SqjTi^j + .2
~4 1=1 q
0
107
seen by the desired generalized coordinates (q) in terms of
parameters directly obtainable from the initial coordinates
((g) as
T<3= [I* ]q + qTfp* ]q TL (333)
qq  qqq _q
where
[I* J = [G^JTtl* ][G^J1 (334)
qq cp cpcp cp
is the desired generalized inertia matrix,
[P* J = [OSjTUiGSr? [P* ])
qqq cp cp cpcpcp
(335)
 ([I* J [H<3 J ) } [G^J1
qq cpcp cp
is the inertia power array yielding the velocity related
effective loads, and the desired effective load due to all
applied loads (1TU, i = 1,2,...,n) is
TL = [GqjT Tl (336)
' q cp cp
Alternately, the dynamic model can be transfered by
direct use of the generic (for constant mass systems)
equations (2139), (2141) and (2145) once the desired
(transferred) kinematic influence coefficients have been
obtained. For example, consider the determination of the
desired effective load (T^) due to applied system loads.
Recalling equation (2125), one has
TL = E [iGu]T iTu
~q i=l q
(337)
71
a(T3)
3(Pn
g]k x Tj
n
n=l, 2 . ,M
(2169)
Defining the remainder of the first term of equation
(2167), for convenience, as
b = 17,
(p t z1 /1
and observing the Jacobian convention, gives the n**1 column
of the first partial in equation (2167) as
3 ([lb)
9cp
; n
3([TJJb)
3cpn
gjk X [
n
(2171)
where, the vector (b) is considered constant in this
operation as indicated by the bar overstrike (b).
Introducing a generalized cross product notation (x) one has
[Gjk]T x Tjvj = [gjk x Tjb ' ... gjk x T^b]
(p 1 ' M ~
(2172)
where the first dimension (i.e., row) of the left argument
operates across the first dimension of the right argument
(i.e., across all rows). Now, recalling equations (2164)
and (2170), equation (2172) gives, for the first partial
in equation (2167), the relationship
3 () [ ( j >nJk] Ct3 ]T[G3k1(p = [G^k]T x [ II^k] [G=>k]
gcp cp (P cp
(2173)
Turning our attention to the second partial in equation
(2167), the first step (Thomas, 1981) is to recognize that
since the rotation matrix (T^) is orthogonal, i.e.,
92
/*.
62
>11
I F12 !f13
/62 ^
G11
6V
i"
>2

F21
! F22_F23
+
G21
\i i
_f3 1
! f32 1f33
\*LI
g3 1
(2241)
where each of the partition matrices (Fj_j, Gj_j ) is MxM.
These matrices are determined by considering the
generalized velocities independent, and from equations
(2235) and (2236). First
2 = 2 (2242)
gives
= 62 (2243)
so
[Fn] = [F13] = [Gn] = [0]
and
[F12J = [I]MxM
Next, from equation (2236)
^ GMcp ^ t [ B^j ] 6cp
or, recalling equation (2225)
(2244)
(2245)
(2246)
* .. / 9T \ / 9 T \
l Cjyjgj j 6i = [I ]cp +( ~cp + [ ] j + ( ~cp)6cp
W \ 92 J \ 92/
(2247)
which, when solved for 6cg, yields
.* _i, 3T
[f2i = ti rVljE')
w ^ so)
* 1 3l
c f22 i = "C1 J_1( 2 + [Bg,])
[p23l =
(2248)
14
representative of the motion parameters required to describe
the kinematics of a given system where the superscripts
indicate which parameter is involved (not that uP is u
raised to the pth power). Further, consider that these
parameters are functions of an Mdimensional set of
generalized coordinates
CP ( t ) = (CPi(t),
This allows a parametric description of the system where
UP = uP(cg);p = 1,2,...,P (23)
and
Adopting the standard convention for differentiation of
a vector (e.g.,u(cp)) by a vector (e.g., eg (t) ) one obtains
the typical Jacobian form, where the nth column of the
result is the partial derivative of u(cg) with respect to the
n^ component of cg(t), for the first time derivative of
u( t)) as
= [9j]
9<Â£
[9U
9U
... 9^
3
3cp2
9
9U1
9U1
. . 9U*
n
9 (P]_
9
9<Â£>M
cp2
9up
9up
ci)M
9 4>]_
9 tpjyi
Throughout this section an explicit shorthand notation is
developed to serve as a descriptive aid in the expression of
the system kinematics. The first order geometric
109
particular resultant form of the kinematic and dynamic
models presented in this work, the generalized scalar
product () is the key realization and operation.
The Linearized Equations
The consideration of the transfer of the linearized
dynamic equations and the resulting state space model will
be addressed in two parts. The first deals simply with the
direct transfer of the thirdorder kinematics (allowing one
to determine, for example, the voltage input required to
obtain a specified nominal hand trajectory), while the
second discusses a possible state model resulting from a
partial transfer of coordinates.
Kinematics
Recalling the general form of equation (228) and the
second set of equations (244), the thirdorder time state
(q) of the desired coordinates (q) can be expressed, in
terms of the initial coordinates (eg) (e.g., the relative
joint angles of a serial manipulator), as
or
3 q ...
2 = _Z
3 cp
3 q ..
_T cp +
3 cp
3 q .
_Z Â£
3 cp
(343)
q [ G2 J (Â£ + 3? ( [ ] + 2 [ ] ^) cp + (cp^ [ J cp)
cp epep epep epepep
(344)
thanks are extended to Harvey (and Leslie) Lipkin, Mark
Thomas and Fahriborz Behi. Finally, the author is
especially grateful to Becky Gee for her dedication and
persistence in typing this manuscript.
v
131
with
[II67] = [IxÂ¡IyÂ¡Iz]
since (by choice)
(453)
(454)
At this stage, having obtained the description of the
total mechanism referenced to the intermediate parameters
(w), one may proceed to transfer the model to any desired
set (q) of six of the thirtysix joint freedoms. Here, for
illustration, assume that the desired coordinates are the
base joints of each leg, or
q= (icpi, 2(f)l' ' 6*l)T (455)
yielding, for the first and secondorder influence
coefficients relating the desired coordinates (q) to the
intermediate coordinates (w) (from equations (443) and
(444) )
[g^;
w
[1GCP]1.
w
C2g^]1.
w
[~6gQ]~l.
TaT '
and
[H<3 ] =
ww
[1H(P
[2H^ .
_ ww '
ww L' '
(456)
(457)
17
3 = [Gj = _3 ( CGuJÂ£Â£)
Scg
31 91 ... 31
34>1 3(P2 9(Pm
(214)
3P 3P
9(Pj_ 3
where
3P
3cpra
M
JL ( E gp <Â¡>n), P = 1.2,... ,P
3cpm n_1 n (215)
m = 1,2,...,M
Recalling the definition given in equation (26) for (gP),
and performing the differentiation, equation (215) becomes
M
gp = E [ 3 (3uP) ]cpn
m 11=1 3*m 3n
M
= E hP
n=l mn
= 1x1
(216)
where
3 (3uP) = hP =1x1x1 (217)
3m 3n mn
Alternately, equation (216) can be expressed in vector form
as
gP = (pT(hP )T = 1 X 1
m ~mcp
where
hP
~mcp
(hp.
ml
hP
m2
hP ;
mM
1 x 1 x M (219)
37
hp = 9 (gp) = {
~mn 3(i) n
X sn
, m
; CPmm/
o
, n
; 4>m=Qm, (i)n=sn
(276)
o
' ^m^m
; cpn=sn
Now, considering the case where the nth joint is a revolute
(i.e., cpn = 0n), the time rate of change of the influence
coefficient is
gP = _sn x (PRn) + sn x (PRn) (277)
or, by differentiating equation (264) to obtain (PRn) and
substituting the cross product form of equations (262) for
the vector derivatives,
gp = ((V 0i s1) x sn) x (PRn)
n i=l ~ ~ 
n=l
(278)
Sn X ( ft.E si) X (al.nia11*111 + SnS1)]
 l=n+l 1=1 1 ll_
+ ( l i s1) x (T^^P))
i=l x ~
+ sn X
S1 S')
l=n+l 1 ~
Investigating the case where the m**1 input is a prismatic
joint (i.e., cpm = sm) one sees immediately from the last
term of the preceding equation that
p
. P 2*
ilmn ^ n
3s
m
sn x sm n
o m
(279)
169
l2
V
T
= (w.
T
1.
2.
3.
Determine
Determine
Determine
and
[1G5] [1HV9>]
2Scp ^2P{f
2 cp
[ G ] from equation (D2)
2
[ Hyy] from equation (319)
4.
Obtain intermediate model
S = [I* ],[P* ]
y yy yyy
Figure D2. The Bricard mechanism
33
gjk = (gjxf gjy# gjZ)T (258)
n n n n
where
sn = (*Xn, *Yn, *Zn)T (259)
The translational velocity (P) of a point (P) in link jk,
and hence (from equation (254)) the translation influence
coefficients, can be derived from
P = R + T3 ^ 3 )p (260)
where, ^3)p is the location of point P in terms of the body
fixed reference j, and multiplication of (3)p by the
rotation matrix t3 transforms the coordinates from the jth
reference to an intermediate system with the same origin but
with axes parallel to the global reference (X, Y, Z).
Substituting equation (250) for r3 and differentiating
equation (260) gives the velocity of point P in link jk as
J
= ^s1 + Jj2 (a(1_i)1(11)1 + s^s1 + s^)
+ _d(T^(3>P)
dt
(261)
Now, since and s^ are unit vectors fixed
in link (11)1 and ((3)p) is a vector fixed in link jk, the
time rate of change of these vectors can be expressed in
terms of the vector cross product as
(11)1 = u(ll)l x a(11)1 =
11
x a'
n=l
n
E_ 0n sn ) x a
(11)1
1 = OO ( 1 1 ) 1 X s* =( ^ E^ 0n Â£n )X S^
n=l
(262)
93
and
[G21] = [0]
(2249)
Finally, from equation (2235)
[Lq]6i + [RqJi + [CE(p]6(p = 6V
(2250)
which, when solved for 6i, gives
[F31] = [0]
[ F 3 2 ] = [Lq]_1CCE(p]
[G33J = [Lq]1[Rq]
(2251)
and
[G31] [Lq]1
(2252)
where the inverse of the constant diagonal matrix [Lg] is
simply the diagonal matrix whose entries are inverted.
With the state space model describing the
characteristics of the system about some nominal trajectory
fully established, the questions associated with controller
design can now be addressed. This is, again, not the purpose
here and the reader is referred to the extensive work
(Vukobratovic and Stokic, 1982a) and the work of Whitehead
(1984) for discretization and potential controller
development.
177
Electrocraft. 1978. DC motors, speed controls, servo
systems. Hopkins, Minn.: ElectroCraft Corp.
Freeman, R.A. 1980. Interchange of reference parameters for
dynamic modeling and analysis of complex multidegree of
freedom planar mechanical systems. Master's thesis,
University of Florida.
/Freeman, R.A., Tesar, D. 1982(Jan.). The generalized
coordinate selection for the dynamics of complex planar
mechanical systems. Trans. ASME, J. Mechanical Design
104(1):206217.
^Freeman, R.A., Tesar, D. 1983. Dynamic model for
generalized planar robotic manipulator. Proc. 6th World
Congress on Theory of Mach, and Mechanisms 2:9981002.
Fresonke, D. 1985 (May). Analytic formulation for
deformation compensation in robotic structures. Master's
thesis, University of Florida.
Freund, E. 1982. Fast nonlinear control with arbitrary
poleplacement for industrial robots and manipulators.
Int. J. Robotics Research 1(1):6578.
Golla, D.F., Garg, S.C., and Hughes, P.C. 1981. Linear
statefeedback control of manipulators. Mech. Machine
Theory 16(1):93103.
Guez, A. 1982. Optimal control of N degrees of freedom
robotic manipulator. Ph.D. dissertation, University of
Florida.
Hewit, J.R., and Burdess, J.S. 1981. Fast dynamic decoupled
control for robotics, using active force control Mech.
Machine Theory 16(5):535542.
Hollerbach, J.M. 1980. A recursive formulation of
Lagrangian manipulator dynamics. IEEE Trans. Syst. Man
Cybern. SMC 10 (11):730736.
Hollerbach, J.M., and Sahar, G. 1983. Wristpartitioned,
inverse kinematic accelerations and manipulator dynamics.
Int. J. Robotics Res. 2(4) ;6176.
Horowitz, R., and Tomizuka, M. 1980(Nov. 1621). An
adaptive control scheme for mechanical manipulators
compensation of nonlinearity and decoupling control.
Presented Winter Annual Meeting Dyn. Syst. Contr.
division of ASME.
89
cp = [G<]q
q ~
cp = [G
q ~
(2230)
constant
and
Tq = [0^]%
(2231)
where the MxM Jacobian ([G^.]) is dependent on the specific
drive trains employed. Here, the entry in row m, column n
relates the motion of the m^*1 joint parameter (cpm) to the
n1^ motor shaft (qn). Typically, this matrix is diagonal
since each joint is usually controlled by a single
associated motor. In fact, for direct drive devices this
Jacobian is simply the MxM identity matrix. At any rate,
having obtained the Jacobian ([G^]), and recognizing that it
is the joint motion (not the motor shaft) that one wishes to
control, equation (2230) is used to find the desired
relations
q = la]1
q
(2232)
and
q
Now, substituting equations
into equation (2229) yields
= [G^r1^
q
(2233)
(2231), (2232) and (2233)
[Lq]i + [Rqji + [CEq J [G
q
v
(2234)
90
[IgHG*]3^ + [Bq] [G^] 1 [CMqJi = [G^jT^p
for the motor dynamics expressed in terms of the joint
parameters. Finally, the actuator dynamics (equation
(2232)) can be expressed as
[Lq]i + [Rq]i + [CEcp]
and
+ CcM(D^i = (2236)
where the second of equations (2234) was premultiplied by
minus the inverse transpose of the Jacobian and, for
example, where
[I
(2237)
One should note that, with the stated assumptions, ail the
coefficient matrices on the lefthand side of equations
(2234) and (2236) are independent of the generalized
coordinate positions (q>) and, since the variation of the
motor parameters is not addressed, are considered constant.
Having obtained the desired expressions for the actuator
dynamics, one can now determine the nominal input voltages
(V) required to drive the system along the specified nominal
trajectory (cÂ£(t)). Recalling equation (2202) and solving
equation (2236) for the current gives
i = t Cjyicp ^ 1(Tq) + [Bqj]g>) (2238)
where the effective rotor inertia ([1^]) has been included
in the effective inertia matrix ([I*^]). Now,
Abstract of Dissertation Presented to the
Graduate School of the University of Florida in Partial
Fulfillment of the Requirements for the
Degree of Doctor of Philosophy
KINEMATIC AND DYNAMIC MODELING, ANALYSIS
AND CONTROL OF ROBOTIC SYSTEMS
VIA
GENERALIZED COORDINATE TRANSFORMATION
By
ROBERT ARTHUR FREEMAN
August, 1985
Chairman: Delbert Tesar
Major Department: Mechanical Engineering
This work presents a unified approach to the dynamic
modeling and analysis of the general case of rigidlink
multidegree of freedom mechanical devices and includes the
detailed treatment of the specific case of the serial
manipulator. The approach is based on the transference of
the system dependence from one set of generalized
coordinates to another (e.g., from the relative joint angles
to cartesian referenced hand coordinates of the serial
manipulator) and is shown to allow the analysis of any
singleloop mechanism (e.g., the Bricard mechanism),
multiloop parallelinput linkages, systems with a
superabundance kinematically independent inputs (e.g.,
redundant manipulators), and systems containing a
superabundance of kinematically dependent inputs (e.g.,
walking machines). The technique involves the initial
modeling of the system (or its components) in terms of
simple open kinematic chain relationships; then using the
Vlll
57
since, for the virtual displacements (6xu.) to be compatible
with the system constraints (see equations (27) and (28))
M i
61u = E 9 u 6qn = [1GuJ6q
n=l T7T q
3qn 4 (2124)
Now, because the virtual generalized displacements (6qn) are
all independent, hence arbitrary, equation (2123) yields M
independent equations for the required generalized loads as,
in vector form
T Â§ [iGu]T ^ = Tl
1=1 q ~q
(2125)
where is the effective load at the inputs due to all
applied loads.
The Generalized Principle of D'Alembert
The statement of this principle is as follows: the total
virtual work performed by the applied and inertial forces
through infinitesimal virtual displacements, compatible with
the system constraints, is zero. To see how this principle
can be used to obtain the generalized input loads (Tq)
required to overcome the system's inertia and cause the
desired motion, again consider the dependent parameters (^u)
of equation (2119) where, now, they describe the kinematics
of the system's mass parameters
[1MU] = P x P i=l,2,...,N (2121
This allows the system's momentum (Lu) (both linear and
angular) to be expressed by the N, Pdimensional, vectors
(1LU) as
15
derivatives (i.e., kinematic influence coefficients) are
denoted as follows:
[Ju] =
= [Gu] = P
x M
matrix
3(0
cp
[ 3U ] =
= [Guj =
[Gu]
= gu = P x 1 vector
3cpn
(P ; n
n
a n
[JuPj =
= [Gu ] =
[ Gu j
= gP = 1 x M vector
3
^P;
CP
cp
[ 3uP] =
= [Gu] =
CGPj
= gP = 1 x 1
3
^Pzn
n
n
where the letter (g,G) is reserved for first order geometric
derivatives, the superscript indicates the dependent
parameter(s) involved (i.e., up) and the subscript specifies
which generalized coordinate (s) (i.e.,
Also, the snape of the result is indicated by the dimensions
of symbols used as the superscript and subscript(s). For
example, the shape of 2^ is equal to the dimension of the
subscript u (i.e., P) by the dimension of the subscript n
(i.e., 1). Referring to equations (26), the first order
kinematics of the system can be written in a variety of ways
depending on the manner of expression one wishes to employ.
The velocity (u) of the complete parameter set (u) can be
expressed as
= [Gu] = (P x M)(M x 1) = P x 1 (27)
M
S
n=l
gu
_n a
P x 1 vector
(28)
u
173
Figure El. ThreeDOF Planar Robotic Mechanism
9
respect to the generalized coordinate positions, velocities
and accelerations). Unfortunately, the resultant expressions
are extremely complicated and a nice compact form was not
found. At any rate, having obtained expressions for the
linearized equations, the drive train kinematics and
actuator (dc motor) dynamics are incorporated into the
model. The nominal voltages required to drive the system
along some specified generalized coordinate trajectory are
then determined and, finally, a velocityreferenced state
space model of the linearized system is developed. While
the resulting state space model can be used to address the
possibility of applying modern linear control techniques to
controller design for specific manipulator trajectories
(Whitehead, 1984), this is not a goal of this work and is
not pursued. This completes the material presented in
Chapter II, covering the complete development of the
kinematic and dynamic equations governing the motion of both
a general mechanism and the serial manipulator in terms of a
specific set of generalized coordinates.
Having established the general procedure for obtaining
the dynamic model directly in terms of a specific set of
generalized coordinates, attention is now turned to the
determination of the model with respect to any set of
generalized coordinates. Chapter III specifically addresses
this question, with the basic approach employing a transfer
of system dependence from one set of generalized coordinates
to another. The technique involves the determination of the
142
referenced to the intermediate generalized coordinates (u).
To do this one follows exactly the same procedure as
represented in the parallel mechanism section (equations
(442) through (460) with w=u), yielding the unique results
Tu =
[G<3]
u
[I* ] + T[P* ] Tl = 3x1
UU UUU u
[1G(P]
U x
u
; 2
[2G>] .!
u 'x
[2G(P] .
u
; 2
= 4x3
(477)
(478)
and
H<5 ] =
uu
= 4x3x3
(479)
Now, to distribute (via the Lagrangemultiplier
approach) the required generalized load (Tu) between the
actuators (q) while maintaining the desired kinematics one
may use any of a number of objective functions (i.e.,
optimizing criteria), but must use the constraint
relationship
c
[G^jTt T =
u
q ia
0
(480)
158
Table Bl. Kinematic Influence Coefficients for the first
three links of the WristPartitioned Manipulator
P = s^s1 + a23a23 + 334a34
n
sn
Rn
(PRn)
gp
n
HP = HP
in n]
1
s1
SllS1
a232j + a3434
s1 x (PR*)
s1 x gp
2
s2
Sill1
a2323 + a3434
3 2 x (PR2)
sa x gp
2
3
s3
Sill1 + a2 3 2 3
a3434
s3 x (PR3)
i D
s1 x g
[Gp]
rs]_ ?pzc01 ( a34S02+3 )c0x
rc0Â¡_ (DpZs! ( a34S2+3 ) s]_
0 r a34c02+3
[Hp ]x..
cpcp '
, rcQi
(1)pzs
(a3 4s2 + 3
Is!
(l)pzs1 (334302+3)3!
rc! (a34C02+3)c!
(a24C2+3)c! (a34C2+3)c!
[Hp ]2..
(pep ^' '
rsQi
"(a34S2+3)c!
_(l)pzc! (a34S2+3)c!
rs! (a34C2+3)s!
 ( a34c2+3 ) s0i (a34C02+3)si
[HP
cpcp
0 0 0
0 U)pz (a34s02 + 3)
0 (a34s02+3) (a34s2+3)
CM CM
25
0jj) is the relative rotation about s^1 between these links,
Here the double subscript serves to indicate that the
quantity is a fixed independent parameter, while the single
subscript implies that the parameter is an independent
variable. The two parameters aj^, the fixed distance between
joints j and k as measured along their common perpendicular
a3k, and o^, the twist angle between the joint axes measured
in a righthand sense about a^k, define link jk.
The global reference is a fixed Cartesian system (X,Y,Z)
with the Z axis directed along the first joint axis, s^, and
the X axis located arbitrarily in the plane perpendicular to
s1 (Note that the independent parameters associated with
joint one are measured with respect to the X axis). Local (or
bodyfixed) dextral Cartesian reference systems (^)x, (^y,
(J*z), with (j^x along a^k an (j)2 along s 3 are assigned
for each link (jk). The vectors a.Jk and s^ are unit vectors
expressed in terms of direction cosines and given by
*a^k = t^(3)= (*X^k, *Y3k, *Z^k)
*sj = t3<3)s3 = (*xj, *z3)
with
(3)a3k = (1, 0, 0)T
= (0, 0, 1)T
where the rotational transformation matrix T^ is
T j = [*a^k s^x*a.jk *s^ ]
The preceding superscript, (j), is used to indicate that the
vector is expressed in terms of the jth local reference, and
the preceding superscript (*) denotes a vector given in
(245)
(246)
(247)
xml version 1.0 encoding UTF8
REPORT xmlns http:www.fcla.edudlsmddaitss xmlns:xsi http:www.w3.org2001XMLSchemainstance xsi:schemaLocation http:www.fcla.edudlsmddaitssdaitssReport.xsd
INGEST IEID EKYVNOCDS_1PR11C INGEST_TIME 20141009T21:30:56Z PACKAGE AA00025814_00001
AGREEMENT_INFO ACCOUNT UF PROJECT UFDC
FILES
129
situation, one notes that the joint motion parameters are
not the only possible generalized coordinates). Again, the
first step is to directly model the system with respect to
some initial set of coordinates. Here the approach is to
model each leg (r=l,2,...,6) with respect to its own joint
coordinate set (ro) as if the other legs did not exist.
This yields, using the serial manipulator procedure of
Chapter II, six sets of describing equations, with the r1*1
one given by
l rS(n) = [rGw],[rHw ],[rI ],[rp ],rTL (442)
^
where (w) is an intermediate coordinate set associated with
the six parameters describing the motion of the platform,
and where the mass of the platform, along with any load
applied directly to the platform, is neglected (although it
could be included in the model of one of the legs).
Next, apply the transfer equations to each leg yielding
[rG>]
w
= CrG*]"1
cp
(443)
[rH> ]
ww
= [rGwrT< [rGw]"1 [rHw ])[rGwJ"1
cp cp (pep L cp
(444)
[rI* j
ww
= LrGwrT[rI* ] t rGw J1
cp epep 1 cp
(445)
CrP* ]
WWW
= rGwÂ¡T{([rG]T (rp* ])
(P cp Cp(p(p
([rI* ] [rHw ])}[rGwJ~1
WW (pep (p
(446)
and
rTL = [ Gw]r Tl
~ W cp L ~(p
(447)
85
Now, returning to equation (2218), one has that
_i( ok x = ^(.^k x L^)
8cp gcp
(2222)
= 9aPk v iJk + apk x 3L^
32
= 0 W X
32
Substituting the results of equations (220) and (2167),
respectively, for the partial derivatives in equation
(2222) give
9(Pk x L^k)
32
((PT[H^]T) x L^k
 tpcp
(22
oj^k x ([G^]T x Ljk + [ ii jk] (T[Hjk j } ,
2 cpcp
Combining the results of equations (2221) and (2223) to
obtain an expression for equation (2218) and substituting
this expression into equation (2217) yields, in light of
equation (2194) and the generalized vector dot () and
cross (x) products, the 3xM matrix
SUG^kjTLjk) = (1,9kjT [Hjk]T
9cj> 2 22
(2224)
+ cpT(Lpjk j
222
+ [G^kjT{ ( [Qjk jT x ^T([njkj [k ] )
to cp cpcp
+ ( (T(H3k]T x [ii jkj [Qjkj)
22 CP 
+ ( ( [ G^ k ]
2 cpcp
+ [G^kjT x ( [II jk] [Qjkjjp) ) )
2 2
53
Table 25. Thirdorder Influence Coefficients for Serial
Manipulators
Joint Type
Symbol
1
m
n
Restrictions
Value
Rotational
R
R
R
l
S Xx(SmxSn)
tDjkhmn
cpcpcp 'L 11
R
R
R
m
Srax (_S_1xSn)
R
R
R
m,l
0


P
all l,m,n
0
Translational
R
R
R
l
S1x(Smx[Snx(PRn)])
[^1mn
cpcpcp 111,11
R
R
R
m
Smx(SXx[Snx(PRn)])
R
R
R
m
Smx(Sx[SXx(PR1)])
R
R
R
n
by symmetry
R
R
P
l
S1x(SmxSn)
R
R
P
m
SmX(sXxsn)
R
R
P
m,lj
0
R
P
P
all other
1,m,n
by symmetry

P
P
all l,m,n
0



1,m,n>j
0
43
Figure 23. Secondorder kinematic influence coefficients
when second joint is a revolute
CHAPTER I
INTRODUCTION
One of the most pressing issues facing engineers today
is the control of highly integrated mechanicalbased systems
capable of addressing a wide variety of tasks, without
physical alteration of the system itself. These integrated
systems (commonly referred to as robotic devices) are, in
essence, asked to manipulate an object (e.g., a tool
attached to the endeffector) in the presence of varying
process and environmental effects in a very precise manner.
To respond to this desire for both diverse motion capability
and precise maintenance (during operation) of the specified
motion requires not simply a battery of sensors feeding back
infinite information to a centralprocessingunit which
magically assimilates and transforms these data into
appropriate compensatory commands to the system actuators,
but an acute awareness of the device itself. That is to
say, a sufficient mathematical representation (model) of the
object of control (the actuated mechanical linkage) must
exist. The obtainment, and subsequent investigation of this
model (which not only removes the magic from the control
process, but also indicates what feedback information is
necessary and sufficient for that process) is the primary
focus of this work. While there is argument that one only
1
61
T1 = [I* ]q + qT[P* ]q
~q qq qqq
(2138)
where, the configuration dependent coefficient
[I* ] = S [iGujT[iMu] [iGu] = M x M .....
qq 1=1 q q (2139)
is a positive definate matrix representing the effective
inertia of the system as seen by the inputs. The system's
kinetic energy is also expressable in terms of this
coefficient (see Thomas, 1981) as
KE = 1 qT[I ]q
2 ^q
(2140)
The configuration dependent coefficient
[P* ] = .2 ( ( [iGu]T[iMu] ) [h11 ]) = M X M X M*
qqq 1=1 q qq
(2141)
is the inertiapower modeling matrix dealing with the
effects of the velocityrelated acceleration terms. Note
that the subscripts on the model coefficients indicate, not
only the dimension of the result, but also aid in
investigating specific terms. For example, the ntn
generalized inertia load is
T1 = [I* ]q + qT[P* ]q
n nq nqq ~
(2142)
= [I* ] q + qT[P* ] q
qq nr ~ qqq n
where
179
Paul, R.P. 1972(Nov.). Modelling, trajectory calculation,
and seroing of a computer controlled arm. AIM 177,
Stanford University, Artificial Intelligence Laboratory.
Paul, R.P., Shimano, B., and Mayer, G.E. 1981a(June).
Kinematic control equations for simple manipulators.
IEEE Trans. Syst. Man Cybern. SMCli(6):449455.
Paul, R.P., Shimano, B., and Mayer, G.E. 1981b(June).
Differential kinematic control equations for simple
manipulators. IEEE Trans. Syst. Man Cybern.
SMC11(6):456460.
Raibert, M.H., and Craig, J.J. 1981(June). Hybrid
position/force control of manipulators. Trans. ASME J.
Dyn. Syst., Measurement Contr. 102:126133.
Rill, D. 1985. Master's thesis in preparation,
University of Florida.
Sandor, G.N., and Erdman, A.G. 1984. Advanced mechanism
design: Analysis and synthesis 2. London: PrenticeHall
International, Inc.
Silver, W. 1982. On the equivalence of Lagrangian and
NewtonEuler dynamics for manipulators. Int. J. Robotics
Research 1(2):60 70
Sklar, M., and Tesar, D. 1984(Apr.). The analysis of
hybrid parallei/serial manipulators. Internal report,
CIMAR, University of Florida.
Stoten, D.P. 1983. The adaptive control of manipulator
arms. Mechanism Mach. Theory 18(4):283288.
Sunada, W.H., and Dubowsky, S. 1983. On the dynamic
analysis and behavior of industrial robotic manipulators
with elastic members. To appear Trans. ASME J.
Mechanical Design. Paper No. 82DET45.
Tesar, D., and Thomas, M. 1979. Assessment for the
mathematical formulation for the design and digital
control of programmable manipulator systems. NSF Grant
ENG7820012 and DOE Contract Er785056102. CIMAR,
University of Florida.
Tesar, D., and Kamen, E. 1983(Jan.). Controlinthesmall
technology for enhanced precision under load for light
machining with industrial robots. Preliminary proposal,
CIMAR, University of Florida.
/ Thomas, M. 1981. Dynamic model formulation for rigidlink
serial manipulators with revolute joints. Master's
thesis, University of Florida.
152
Where
([A] [C]) = P x M x M array
Therefore
([GU]T[iMUj,4T[iHU = qT ( ( [ iGu j T [ i jyjU j j
q qq q
])q
qq ~
105
Substituting equation (316) for the initial coordinate
acceleration (c) into equation (323) gives
= [GUHgS]^ [Gu][G<5]'1t[Hc3 + t[Hu
cp cp
(324)
Now, applying the generalized dot () operation and
combining the quadratic terms yields
= [Gu][G<5]1q + 0T{[Hu ] ([Gu][G<3]_1 [H<2 ] ) }
cp cp cpcp cp cp cpcp
(325)
Where, finally, replacing () with equation (314) and
comparing the result with the second of equations (32), the
desired secondorder kinematic influence coefficient is
[Hu ] = [G3rT{[Hu ] ([Gu][Gc3]1 [H<3 J ) } [G^]1
qq cp cpcp cp cp cpcp cp
(326)
Equations (322) and (326) again give expressions for the
desired coefficients in terms of the easily obtained initial
system parameters, and reduce to the direct transfer
coefficient equations (315) and (319) when the dependent
parameter (u) considered is the initial coordinate set (cp)
since
and
L Gu] = [G
cp cp
[11mxM
(327)
[Hu J = [H^ ] = [0] = MxMxM
'P
(328)
77
The dynamic equations
The dynamic equations for the general Mdegree of
freedom serial manipulator can now be written in the desired
general form of equation (2145), giving the required
generalized input load as
To) = [I* ]$ + cpT[P* ](Â£ 2 ( [ j GP ]T 3iP + [G3k]Tmjk
~^ CD(D CD(D(P 1=1 CD
 ^ (2198)
with the I* and P* matrices as defined in equations (2196)
and (2197). Solving this equation for the generalized
coordinate accelerations gives the simulation form of the
dynamic equation
y = [I* ]"1{T(p T[P* ]
m
used to predict the motion of the manipulator resulting from
the load state on the system.
This completes the development of the dynamic model for
the general Mdegree of freedom serial manipulator. The two
secondorder equations (2198) and (2199), or some other
representation of these relationships, are the usual
stopping points in the study of the motion of rigidlink
mechanisms. While one can determine the input loads (T^)
(force or torque) required to cause a specified motion
(cp(t) ) or the response (cp(t)) of the system to the
specified load state (T^), the question of control is not
immediately addressable. The reason for this is that these
equations assume the instantaneous availability of finite
81
J. # m
~(p 6<Â£ = cp ( IP
3Â£
cpcpcp
+ [P* ^t)6
cpcpcp
(2204)
Now, to address the third term of equation (2201),
particularly in light of the previously described
generalized vector dot () and cross (x) product operations,
it is convenient to express the dynamics in terms of the
NewtonEuler form of equations (2147), (2155) and (2185)
as
T = E (G^jT Ljk + [ j Gc ] T plk [ j Gu j T j^Uj
j=l cp cp cp
(2205)
Investigating the last term of equation (2205), where the
preceding superscript (j) is dropped, one has the standard
Jacobian result
Gu T u Tu
3( [ (Pi T ) = 3( cp)
9
9^Â£
9TL 9TL
9^1 9^2
9TX
9^1
9T^
M
90>i
9>M
9T1
M
9^1
(2206)
This gives the component in the m1*1 row and n**1 column as
9Tl u T gu
m = 9 ( (T ) (m))
9<Â£>n a^n
(TU)T
u
lnm
(2207)
or, for the total MxM matrix result, reintroducing the
superscript (j), one obtains the expression
19
Since the transpose of a scalar is equal to itself, equation
(222) becomes
UP = t[hP ]
cpcp cpcp
Now, considering the complete parameter set (u), one has
cpcp =
T(Hcp]
iT[HP ] cp /
(pep ~~i
= TH$cp] = P x 1
(224)
where
[Hu ] = P x M x M
(225)
and
[Hu ] = [HP ] (226)
cpcp p; ; cpcp
finally, from equations (211), (213) and (224), the
acceleration (u) is found to be
= [Gu]cp + cpT[Hu jcp
cp  cp
(227)
Observing that the acceleration () is a function of
(cp) () and (cp) the third order time derivative (u) can be
determined from
u
9 r\ r\
eg + cp + Oii cp
<5"$ 3 cp 3 cp
(228)
52
Table 2.4 Second Order Influence Coefficients
for Serial Manipulators
Joint
Type
Symbol
At M
At N
Restrictions
Value
Rotational
R
R
m
Sra x Sn
Â£HjkVn
R
R
mj
0
P
P
All m,n
0
R
P
All m,n
0
Translational
R
R
m
Srax[Snx(PRn)]
R
R
n
Snx[Smx(PRm)]
P
R
n
SnxSm
R
P
m
SmxSn
P
R
m
0
R
P
n
0
R,P
R r P
(m or n) < j
0
122
or
where
/ w
1 2:
1 4 '
w^f
= [I* ]
ww
f
+ (T,fT,cT)[P* ]
WWW
f
\ wc 1
\ i
U /
u
(425)
WWW
and
[I* ]
ww
[Gw]"T{([Gw]T
cp cp
= [Gw]'T[I* J[Gw]_1
cp cpcp cp
[P* ])([!* ] [Hw
axp(p ww cpcp
TL = [Gw]"t tl
w cp
(426)
])}[Gw]"1
cp
(427)
(428)
Again, there are computational simplifications that can be
made in equations (426), (427) and (428) due, not only to
the special forms of the component matrices in the
equations, but also to the fact that (c=c=0) here. These
simplifications are left to the reader to investigate; but
it needs to be stressed that while the kinematics of the
set (a) remain independent the dynamic effects of the
system on (a) have been altered by the active transfer of
the N parameters (3) to the N parameters (e) In other
words, given the same kinematic state (defined by say, e(t))
and applied loading condition, the intermediate effective
load (wTa) on the generalized coordinates (a) is not the
same as the initial effective load (cp^cx) Perhaps the
easiest way to demonstrate this is to note the difference in
the effect of the applied loads. Recalling equations (418)
and (419), equation (428) gives
L L T m L
wa (p3!a + (w^a J cp(3
(429)
164
Table C3.
Constrained System Model
Iw
[I* J
ww
$1
<31
0
+ (qi 0 0 q2) [P ]
0
=
0
WWW
0

32
<32

50.77 x 10Jinlbf
68.83 x 10"3lbf
.47.60 x 103lb^
[I* ]
ww
411.24 5.73 12.29 68.79
5.73 0.26 0.55 3.10
12.29 0.55 1.19 6.64
68.79 3.10 6.64 37.17
x 103
[P*
WWW
303.35 0.18 8.96 2.15
0.18 0.24 0.61 2.84
8.96 0.61 0.52 7.27
2.15 2.84 7.27 181.56
x 103
[P*
WWW
3.38 0.13 0.14 1.58
0.13 0.02 0.01 0.20
0.14 0.01 0.005 0.17
1.58 0.20 0.17 9.06
x 10"3
WWW
CP* ]4
WWW
'7.24
0.28
0.29
3.38"
=
0.28
0.04
0.03
0.43
0.29
0.03
0.01
0.36
3.38
0.43
0.36 
19.43
"40.50
1.58
1.66
18.95
1.58
0.20
0.17
2.42
1.66
0.17
0.06
2.03
18.95
2.42
2.03
108.7
13
Method of Kinematic
Influence Coefficients
This approach to dynamic modeling of rigidlink
mechanisms is based on the separation of all kinematic (and
dynamic) phenomena into a collection of purely position
dependent functions (kinematic influence coefficients)
operated on by independent functions of time (input time
states). The concept of kinematic influence coefficients
can be applied to all classes of mechanisms (e.g.,
parallelinput planar systems, serialinput spatial devices,
etc.) and has been well established in the literature by the
works of Tesar and his graduate students: Benedict and Tesar
(1971), (1978a) and (1978b), Freeman and Tesar (1982) and
(1984), Cox and Tesar (1981), Thomas (1981) and Sklar and
Tesar (1984). Because of the fundamental nature of this
concept and its almost limitless range of application, this
section is presented in two parts. The first contains a
detailed development, in general terms, of the basic
methodology involved. The second addresses the specific case
of the serial manipulator.
Generalized Kinematics
Consider a Pdimensional time varying vector
u(t) = (u1(t),
t
up(t))T
(21)
98
not totally unique to the author and his associates. The
basic premise is widely accepted and utilized (particularly
in the previously described case of the serial manipulator)
throughout the community in numerous forms, to various
extents, and with differing emphasis. Specific instances of
the application of some form of coordinate transfer with
regards to control (often misleadingly referred to in the
literature as decoupled control) include the resolved motion
rate control of Whitney (1969), resolved acceleration
control of Luh et al. (1980) and its extension to the
linearized equations of motion by Lee and Lee (1984), the
active force control scheme of Hewit and Burdess (1981), the
hybrid control approach of Raibert and Craig (1981) and,
most notably, the operational space work of Khatib (1983)
which most closely parallels the work presented here in that
it deals with the nonlinear secondorder geometric transfer
question. Other applications dealing more directly with
system design than with control include the actuator load,
motion investigations of Thomas and Tesar (1982a) and, the
effective inertia ellipsoid considerations of Assada and
YoucefToumi (1983).
The Dynamic Equations
To begin the development of the transfer of generalized
coordinates concept a detailed restatement of the situation
is beneficial. The procedure consists of four steps and is
133
Desired Generalized Coordinates
q = (i
Initial Generalized Coordinates
r
Figure 43. Parallelserial mechanism
148
4. SufficientModel Determination (Wander, 1985)
Investigation of the controlling equations to
determine the minimum model (as well as the most
efficient computational scheme) sufficient for
realtime dynamic compensation.
5. Control of Redundant Systems (Tesar and Kamen, 1983)
Determination of algorithms appropriate for the
control of systems with a superabundance of
kinematically independent inputs envisioned for the
separation of large and small motion priorities, as
well as, for enhanced operating volume and
dexterity.
6. Control of Overconstrained Systems (Orin and McGhee,
1981)
Indepth investigation of the antagonistic nature of
systems with a superabundance of kinematically
dependent inputs (e.g., walking machines,
multifingered endeffectors, cooperating robots)
aimed at the determination of the ideal set of
generalized coordinates for control.
7. Hybrid Control (Raibert and Craig, 1981)
Investigation of system control in terms of a set of
generalized coordinates consisting of a mix of
kinematic and dynamic parameters.
In conclusion, while there is much to be done, it is
suggested that this work removes (to a large extent) one of
the most difficult tasks facing the design (or control)
ACKNOWLEDGMENTS
The author feels extremely fortunate and privileged to
have had the opportunity to be involved with the Center for
Intelligent Machines and Robotics (CIMAR) at the University
of Florida, for the education gained from the faculty
associated with CIMAR and for their friendship. It is for
this opportunity to learn from (with) such a high quality
group (both faculty and fellow students) of creative and
enthusiastic individuals that the author is perhaps most
endebted to his mentor and committee chairman, Dr. Del
Tesar. The author is also greatly appreciative of the
guidance and support of his chairman though out the author's
educational experience. The author would particularly like
to express his gratitude and appreciation to Dr. Joe Duffy
for his instruction in the area of mechanism geometry and
kinematics, Dr. Gary Matthew (and Keilah) for his patience
and support in helping work out numerous technical details
dealing with this and other works, Dr. Ralph Selfridge for
introducing the author to the computer language APL which
greatly facilitates the analyses in this work, Dr. Ed Kamen
for the author's initiation into the field of modern
control, and Professors Ken Hunt and Lou Torfason for their
comments and interest concerning this work.
The author would also like to acknowledge all his fellow
Cimarians (or Cimarities) for their criticisms, support,
encouragements, and, most of all, their friendship. Special
IV
11
and straightforward approach to the kinematic and dynamic
modeling of a wide variety of extremely complicated
mechanical systems. This unified approach first entails the
initial modeling of the system (or separable components of
the system) in the relatively simple terms of an openloop
kinematic chain. Then, having obtained this simple initial
model, the system is constrained (or closed) by single or
multiple application of the transfer equations resulting in
the desired dynamic model. This means that the most
complicated kinematic device that one need model directly is
the simplest possible, the open kinematic chain (or serial
manipulator). Finally, for illustration of the full power
and scope of this technique it is shown to be capable of
modeling
1. Any singleloop mechanism (including such degenerate
devices as the Bricard mechanism) with respect to
any set of generalized coordinates.
2. Multiloop parallelinput mechanisms, such as the
generalized Stewart platform.
3. Systems with a superabundance of kinematically
independent inputs, such as the redundant
manipulator.
4. Systems with a superabundance of kinematically
dependent inputs; such as cooperating robots,
walking machines and multifingered endeffectors.
97
as simply a particular set of dependent system parameters
(u), the kinematic influence coefficients relating the hand
motion (q) to the relative joint angles ((g) are readily
available. Finally, as will be shown later, the initial
model information (i.e., S^), along with the known
generalized coordinate relationships (i.e., [G^] and higher
order coefficients), can be used in a straight forward
manner to determine the desired description (Sg) of the
system interactions.
The development of this transfer (i.e., S^+Sg) of
generalized coordinates procedure presented in this chapter
is based almost entirely on the principle of virtual work
and the previously discussed kinematic influence coefficient
relationships and will be addressed in two main sections.
The first deals with the first and secondorder kinematics
and dynamics and, the second deals, briefly, with the
thirdorder kinematics and the linearized state space model.
Also, this chapter deals solely with the basic analytical
development (all the components of which have already been
discussed) and leaves the more interesting possible
applications of this technology for the next chapter.
While the treatment presented here is far more complete
in its development and application than any other
investigation, and is a generalized (and logical) extension
of the onedegree of freedom work of Benedict and
Tesar (1971) and the multidegree of freedom sequential
transfer of Freeman (1980), the basic philosophy involved is
102
schemes of Whitney (1969) and Luh et al. (1980),
respectively, where the desired coordinates (q) are the
endeffector motion parameters, and the initial coordinates
(o) are the relative joint angles of a serial manipulator.
Recalling the general form of equations (32), one wants to
determine the coefficients
[G
<3 3q
[H ] a 32o
^ 9q9q
(311)
required (for the generalized parametric form) to evaluate
the initial coordinate velocities
cp = [G
q
(312)
and accelerations
CP = [G
<3 ~ qq (3i3)
This information (equation (311)) is not directly
available; however, the reverse relationships of equation
(37) are. Therefore, from equation (38), one has
= tG2rl (314)
or, comparing with equation (312), the desired firstorder
kinematic influence coefficient is found to be, simply
[G
q cp
(315)
104
transformation and will not be dealt with to any significant
extent in this work. The use of pseudoinverses will,
however, be discussed with regards to redundant systems in
Chapter IV.
Kinemaic transfer of dependent parameters
Suppose the transfer of the dependence of a general
dependent system parameter set (u) from the initial (a>) to
the desired (q) generalized coordinates is required. Here
the parametric coefficients of equations (31) are desired,
allowing the dependent parameter kinematics to be expressed
in the form of equations (32). Recalling the first of
equations (34), one has the dependent parameter velocity
() as
u = [GuJcp (320)
Now, replacing () by equation (314) gives
u = [Gu][G^]1q (321)
Comparing the result of equation (321) with the general
form of equation (32) yields
[ Gu ] = [Gu][G<3]"1 (322)
q cp cp
as the required firstorder coefficient. To investigate the
secondorder kinematics, recall the second of equation (34)
for the dependent parameter acceleration
= [Gu]Â£ + cbT[Hu ] (323)
concept of loop closure and the kinematic constraints
relating the possible sets of generalized coordinates the
final desired system model is obtained.
The derivation of the initial dynamic model is based
almost entirely on the principle of virtual work and the
generalized principle of d'Alembert and is treated in great
detail (from firstorder properties through the linearized
state space model, including actuator dynamics). The
resultant model is expressed in terms of kinematic and
dynamic influence coefficients and is particularly well
suited for the transfer of generalized coordinates,
especially the quadratic form of the nonlinear effective
load terms. The validity of the results of the unified
modeling approach is demonstrated by some simple yet
sufficient examples.
IX
32
JM_d(u)) = 9 ( 3 (u)d
(pn dt 9n 3cÂ£ dt
= 9()
9(p 3
= C 3(a) ]
3 cp '*n
= 9(U)
(254)
This turns out to be a very convenient relationship and is
used to obtain the kinematic influence coefficients for
translational parameters even though it is not necessary
since the position vector u = P = (XP, Yp, zP)T exists and
could be differentiated directly.
Returning to the question at hand, from equations
(251), (252) and (253), the rate of change of the angular
orientation of link jk is
)jk [ q3 k ]<Â£
(255)
where
c^k = 3_(w_3k) = 3_( .2 0; s1
n 3n 3
'n
,n
(256)
sn, n < j; cpn = 0n (revolute)
o otherwise
Here, the angular velocities (e.g., are expressed in
terms of cartesian reference frames and denoted, in a
component sense, as
w 3 k = (W3X, uiY, o)3Z}T (257)
Consistent with this notation, the influence coefficients
take the form
CHAPTER V
CONCLUSIONS
The major thrust of this work has been the development
of a single general method which allows one to investigate
the dynamics of (almost) any rigidlink mechanism (or system
of mechanisms) from any desired set of generalized
coordinates. The method requires the determination of an
initial dynamic model(s) in terms of the simplest linkage
possible, the openloop kinematic chain. Once this
elementary model(s) is obtained the principle of virtual
work and the kinematic constraints (i.e., kinematic
influence coefficients) relating the initial generalized
coordinates to any other set of generalized coordinates
allow the determination of the model(s) referenced to the
other (desired) set of coordinates. Thus, one is able to
determine the dynamic model of extremely complicated linkage
systems (or systems referenced to an obscure set of
generalized coordinates) in terms of easily obtained
elementary openchain model parameters. The approach was
shown to enable the dynamic analysis of
1. The general serial manipulator in terms of the end
effector coordinates (or any other set of
generalized coordinates).
145
31
to derive a link's firstorder rotational influence
coefficients, a firstorder nonholonomic constraint
equation expressing the link's angular velocity is
used.
Referring to Fig. 21, the angular velocity addition
theorem gives the angular velocity (wjk) of link jk as
simply the sum of the relative angular velocities between
preceding links in the chain
j .
u1 = 2 n sn, n = 1,2,. ..,L (251)
where, 0nsn is the relative angular velocity between links
(nl)n and n(n+l), and @n is identically zero for a
prismatic joint. Investigation of equation (251) shows that
the angular velocity (w^) can be separated into a function
of position (i.e., sn = f((Â£) operated on by a function of
time (i.e., 0 = 0(t)) or, in the form of equation {21) t
J* = f()*8(t) [of Ji (2_52)
Now, in order to obtain the 3xM configuration dependent
matrix [G^ ], one has that (also see equation (212))
(ujk) = _3_( [G ]<Â£)
3g> 9 2
= [G^k] 9()
32
= [G^]
cp
In fact, for any position dependent vector (u = u((f>) )
one has from calculus that
83
+ m^[5g)T($T[h^)
Application of the generalized inner product to the second
term of this equation yields
M j ^ [ j Gc ] T (cpT [ 3 Hc ]) = (pT(Mjk[jGCjT [jHc ])
cp cpcp (p cpcp
(2214)
which, recalling equation (2158), gives the fortuitous
result
M^k[3Gc]T(cpT[3Hc ]) = q^Ppjk j
CP ^ cpcp cpcpcp (2215)
Finally, substituting equation (2215) into (2213) one
obtains the expression
9 ( C
9gc T.jk
3cp
(pikjT [jHc ]
cpcp
+ ffiTfPpjk J
cpcpcp
(2216)
+ M9k[lGcJT(cpT[9Dc ]&)
cp cpcpcp
Now, recalling the result of equation (2208) and the form
of equation (2209), the contribution of a link's angular
momentum to the last term in equation (2201) can be written
immediately as
. G^k t. jk
9 ( [ cp ] I/ )
3cp
(Ljk)T [Hjk]T + [GjkjT 3( ^
cpcp cp 3^
(2217)
68
where the Jacobians (pG^J) have shape (3xM) and the
secondorder coefficients (pH^]) have shape (3xMxM).
The development of the effective inertia loads ( %)
caused by changes in the system's generalized angular
momentum is more difficult. This is due to the fact that,
while the local inertial properties (pPlpk]) of link jk
are constant, the inertia properties ([Ipkj) expressed in
terms of the global reference are not. As previously
mentioned, this configuration dependence, resulting from the
rate of change of the local reference frame in which the
link's constant local inertia matrix is expressed,
introduces an additional term into the inertial power matrix
( 1 k^cpcpcp ^ )
With this in mind, it is perhaps best to initially view
the global angular momentum of link jk (Pk) in terms of the
link's angular momentum as expressed in its own bodyfixed
reference (P)pk). Recalling the use of the rotation
matrix (Tp illustrated by equations (247) and (258), one
has
pk = T^(3}L3k (2159)
Now, the local angular momentum is
(j) l jk = [( j)njk](j)yjk (2160)
where, noting that the rotation matrix is orthogonal (i.e.,
[T3]l = [T3), the link's locally expressed angular
velocity is
(j)a)3k = [ T j J Tto3j k = [T3]T[G^k]m
cp
(2161)
162
Table
Cl. Dyadbased Analysis
u
Position
u (in., rad.)
Velocity
u (in/s, rad/s)
Acceleration
(u(in/s^, rad/
qi
7n
18
2.0
1.0
XA
4.10
22.55
27.69
yA
11.28
8.21
41.0
^2
In
2
3.0
0.5
xB
33.9
36.0
6.0
yB
3.29
0.0
108.0
i
7n
36
0.074
3.405
x^
13.93

4.31
y2
18.16

74.51
(fax,
Fay) = (0.009
, 0.24)lbf Tx
= 0.05 inlbf
(fBX,
Fby) = (0.07,
0.15)lbf
(FHX,
FHY) = (0.07,
T2 = 0.83 in
0.15)lbf
lbf
CHAPTER IV
APPLICATION OF GENERALIZED COORDINATE TRANSFORMATION TO
DYNAMIC MODELING AND CONTROLA UNIFIED APPROACH
The transfer of generalized coordinate technique, in
conjunction with the kinematic influence coefficient based
model formulation for which it was developed, gives one
the ability to consider an incredible variety of linkages
(and their interactions with one another) with a single
unified approach. The approach involves the relatively
simple modeling of serial kinematic chains, the application
(single or multiple) of the transformation equations, and if
necessary (e.g., when dealing with redundancies) the
inclusion of classical optimization techniques, such as the
method of Lagrange multipliers. This chapter, then, deals
with the application of this unified approach to the
analysis of a representative selection of single and
multiple linkage systems illustrating its full power and
scope. In addition, the utility of (and reason for) the
general descriptive notation presented in the Introduction
is more fully demonstrated as a consequence of the
applications.
115
160
and
cp =
(cpL ,cp2,4>3 ,c?4 )
T
(C3)
and the resultant coefficients are given in Table C2.
Next, the augmented intermediate coordinate set w is chosen
to be
*l\
 a cpx (c4)
V
yielding the corresopnding influence coefficients ([G^j) and
([H^p]) given in Table C2. Finally, using the transfer
equations one obtains
TW =
Tl
phx
F^y
= [I* ]w + wT[P* Jw
ww WWW ~
(C5)
\Th,
as the generalized load state at the coordinates (w), where
[I* ] = [GwrT[I* ][GW]_1
ww cp cpcp cp
(C6)
and
[p* J = [Gw]t{ ( [GwrT [P* ]) ([I* ] [Hw ] ) } [ Gw J 1
WWW cp cp epepep WW cpcp cp
(C7)
The results of equations (C5), (C6) and (C7) are given in
Table C3. Comparison of these results with those of the
direct dyadbased analysis confirm the validity of the
transfer approach.
APPENDIX C
SINGLELOOP PLANAR FIVEBAR ANALYSIS
The analytic example presented here is given as a
partial verification of the loopclosure technique developed
in the first section of Chapter IV. The well established
(Curtis, 1972 and Freeman, 1980) dyadbased linkage analysis
procedure is employed for comparison. Consider the fivebar
linkage of Fig. Cl.
The results of the dyadbased analysis are given in
Table Cl. This analysis is a direct procedure and is
summarized as follows
1. Kinematics of dyad poles (i.e., A(t) and B(t))
determined from specified input kinematics
(
2. Kinematics of mass parameters (X^(t), Y^(t),
^(t)) determined using pole kinematics.
3. Pinjoint reaction forces (FA, FB, Fc)
due to d'Alembert loads determined.
4. Required driving torques (T]_) and (Tv,) and reaction
forces (Fa) and (FB).
Now, following the transfer procedure presented in
Chapter IV. one first obtains the openchain model
coefficients
Sq, = [GeJ,[He ],[I* J [P* ]
^ (P (pep epep (pepep
(Cl)
in the manner prescribed in Chapter II, where
e = (Xh,Yh,0h)T
(C2)
159
180
Thomas, M., and Tesar, D. 1982a(Nov.). Dynamic modeling
and analysis of rigidlink serial manipulators. DOE
Grant DeAC0579ER10013. CIMAR, University of Florida.
Thomas, M. and Tesar, D. 1982b(Sept.). Dynamic modeling
of serial manipulator arms. Trans. ASME J. Dyn. Syst.,
Measurement Contr. 104(3):218228.
Thomas, M., YuanChou, H.C., and Tesar, D. 1984(Oct.).
Optimal actuator sizing for robotic manipulators based
on local dynamic criteria. Submitted to ASME, Mechanisms
Conf., Cambridge, MA.
Thomas, M., YuanChou, H.C., and Tesar, D. 1985(Mar.
2528). Trans. IEEE Int. Conf. Robotics Automation
275281."
Uicker, J.J., Denavit, J., and Hartenburg, R.S. 1964(June).
An iterative method for the displacement analysis of
spatial mechanisms. Trans. ASME Series E 86:309314.
Vukobratovic, M., and Stokic, D. 1982a. Control of
manipulation robots: Theory and application.
(Monograph.) New York: SpringerVerlag.
Vukobratovic, M., and Kircanski, N. 1982b.
Computeroriented method for linearization of dynamic
models of active spatial mechanisms. Mechanism Mach.
Theory 17(1):2132.
Walker, M.W., and Orin, D.E. 1982. Efficient dynamic
computer simulation of robot mechanisms. Trans. ASME J.
Dyn. Syst., Measurement Contr. 104(3):205211.
Wander, J.P. 1985. Master's thesis in preparation,
University of Florida.
Whitehead, M.L. 1984. Control of serial manipulators with
emphasis on disturbance rejection. Master's thesis,
University of Florida.
Whitney, D.E. 1969(June). Resolved motion rate control of
manipulators and human prostheses. IEEE Trans. Man Mach.
Syst. MMS10(2):4753.
Whitney, D.E. 1972(Dec.). The mathematics of coordinated
control of prosthetic arms and manipulators. Trans.
ASME J. Dyn. Syst., Measurement Contr. 94(4 ):303309 .
Wittenbauer, F. 1923. Graphische Dynamik. Berlin:
Springer.
BIOGRAPHICAL SKETCH
Robert Arthur Freeman was born in Gainesville, Florida,
on August 26, 1954. He grew up in Gainesville, Florida, and
attended P.K. Yonge Laboratory School in Gainesville,
graduating in June of 1972. He entered the University of
Florida in September of 1972, receiving a Bachelor of
Science in Mechanical Engineering in August of 1976 and a
Master of Engineering in March of 1980. He was employed as
a design engineer for the Wayne H. Coloney Company in
Tallahassee, Florida, from September of 1979 to September
of 1980. He reentered the University of Florida in
September of 1980 and began working towards the degree of
Doctor of Philosophy.
He is a member of the Florida Alpha chapter of Tau Beta
Pi and the Sigma Omicron chapter of Pi Tau Sigma. He is
presently employed as an Instructor and Research Fellow at
the University of Texas at Austin.
181
65
Applied loads
As with the kinematics, it is convenient to separate the
rotational and translational properties when dealing with
the dynamics of rigid bodies undergoing spatial motion. In
this light, consider a set of M, 3component, force vectors
(3fP, j = 1,2,...,M) and a set of M, 3component, moment
vectors (m^, j = 1,2,...,M) applied to their respective
translational (3j?) and rotational motion parameters.
Now, immediately from the virtual work result of equation
(2125), the effect of the applied loads on the generalized
input coordinates (q>) is given by
Â§ {PGP]T 3fp + [G^jT m^}
j=l
(2147)
where, the Jacobians are both 3xM matrices defined in
equations (266) and (255).
Inertial effects
To address the effects of the system inertia one could,
as previously implied, simply apply the principle of virtual
work to the classical NewtonEuler equations of motion for a
rigid body, yielding
M
T1 = S {pGcjT 3ac
cp j=l
(2148)
+ [G3^]T( [ ii jkj ^jk + (jjk x [iij^j^jjk)}
Here, m3^ and [Il3k] are, respectively, the mass and global
inertia matrix of link jk, with
18
Here, the letter (h,H) is used to denote the secondorder
geometric derivative, and the shape of the result is equal
to the dimension of the superscript Py the dimensions of the
subscripts ordered from left to right. Using the vector
form of equation (218), the p^ row of equation (214) can
be written as
[j]
3cp
p;
[G]
cp p;
[GP]
lcp 2cp
=
cpcp
= 1 x M
'
Mcp
(220)
where
[HP j
cpcp
[_9(iuP) ]
9cp 9cp
= 1 x M x M
(221)
hP hP
Ml MM
From this, the partial acceleration of the pP^ dependent
parameter (uP) due to the velocity of the inputs (cp) is seen
to be
P. = t[hP jT(p = 1 x 1 x 1
cpcp cpcp
(222)
136
q = ^1^1'2^1'3^1'1^2'2^2'T e rM
u = (X, Y, 8) T e ]RN
Figure 44. Sixdegree of freedom planar device
175
Table E2. Complete HandReferenced Model
[GS] =
w
0.637
0.225
0.513
(in.
1.225
0.367
0.589
0.124
0.665
0.514
(in.
1)
[I* ] =
0.367
1.513
0.106
0.513
0.439
0.513
ww
0.589
0.106
1.582
ww '
0.050
0.159
0.116
0.105
0.439
0.326
0.116
0.326
0.665
(in.1)
[P* ]X.. =
WWW A''
0.479
0.432
0.188
0.432
0.031
0.629
0.188
0.629
0.762
[HS ]2.. =
WW '
0.408
0.159
0.342
0.159
0.018
0.633
0.342
0.633
0.665
(in. 1)
[P
WWW
J 2
f r
0.259 0.534 0.777
0.534 0.340 0.188
0.777 0.188 0.137
H<3 ] 3. =
ww '
0.225 0.263 0.225
0.263 0.165 0.263
0.225 0.263 0.664
[P
WWW
J 3 . 
J t t
0.741 0.188 0.054
0.188 0.459 0.302
0.054 0.302 2.045
Units for [I*j and [P* ] include: (inlbfs2) I*
ww www L 33
(lbfs2) I*
r 13
lbfS2/in.) I*
r 11
99
presented in terms of first and secondorder system
properties.
First, the kinematic influence coefficients (of the
dependent system parameters (u)), and hence, the dynamic
model (i.e., the describing equations (Sq)) are not directly
obtainable with respect to the generalized coordinates (q).
In other words, one desires the first and secondorder
coefficients
[Gu] = m
q 3q
[Hu ]
qq
...aia
aqaq
(31)
and the ensuing kinematics (recall equations (27) and
(227))
u = [Gu]q
q 
u
[Gu]q + qT(Hu
q qq
]q
(32)
and dynamics
(recall equation (2145))
[I* ]q + g_T[P*
qq qqq
(33)
but cannot obtain them directly (i.e., they are unknown).
Second, the describing equations (S^) are directly
obtainable with respect to some other, initial, set of
coordinates (cp) This means that the kinematics
= [Gu]
cp
(34)
3
of Thomas (1981). The model is based on the use of
kinematic influence coefficients. These coefficients
describe the positiondependent reaction of such pertinent
systems parameters as link centroids to the action of the
independent generalized coordinates (system inputs). While
the basic model is a rigidlink model, and robotic devices
typically demonstrate some compliance (Sunada and Dubowsky,
1983), the model is presently being used as the basis for
extension to the treatment of quasistatic deformations
(Fresonke, 1985) and quasistatically induced vibrations
(Behi, 1985), for optimized design procedures (Thomas, 1984
and 1985), and as an aid in the experimental identification
of pertinent system parameters.
The extension to nonrigidlink devices is not
specifically addressed here, nor is the question of
realtime dynamic compensation (see Wander, 1985). Again,
the primary objective of this work is the development of a
general, unified modeling procedure capable of addressing
the full range of robotic devices, including redundant
manipulators, cooperating robots, walking machines and
multifingered endeffectors. For discussion and comparison
of the various popular dynamic model formulations, the
reader is referred to Tesar and Thomas (1979) and Thomas and
Thomas (1982b), Silver (1982) and Lee (1982), among others.
Before giving a more detailed overview of the contents
of this work, it will prove beneficial to introduce the
notational scheme developed herein. Referring (throughout)
96
coordinates. Now considering such a case, what one would
like to do (see Benedict and Tesar,1971 and Freeman and
Tesar, 1982) is, first obtain the system model (S^) with
respect to some initial set of coordinates ((g) for which the
influence coefficients (including those relating the desired
coordinates (q) to the initial coordinates ((g) ) are easily
determined and then, use this information (i.e., SQ), along
with the coefficients relating (q) to ((g) to determine the
desired relationships (Sq).
To illustrate this situation, consider the general
sixdegree of freedom serial manipulator (i.e., M = 6)
presented in Chapter II. Further, suppose that one desires
to consider the system in terms of six generalized
coordinates (q) associated with the six endeffector
freedoms since, after all, it is the hand that one typically
wishes to control. For all but the simplest of systems,
(e.g., partitionable systems such as those treated by Paul
et al., 1981a and 1981b and Hollerbach and Sahar, 1983)
where the inverse kinematics solution is readily available,
the determination of the describing equations (Sq) directly
in terms of the endeffector coordinates (q) is, at best,
extremely complicated (I know of no such solution existing
in the literature). However, as shown in Chapter II, if one
investigates the serial manipulator in terms of the relative
joint angles ((g), the describing equations (Sq) result from
simple vector operations and are relatively easy to obtain.
Also, since the endeffector coordinates (q) can be viewed
82
3 qU. Till i ^ 1 rp i .. m
3 ( [
3
(2208)
The contribution of the linear momentum can be determined,
using the chain rule, from
3Gc T.jk 3gc Ttjk T jk
9 ( [
3 cp 3 cp ^ 3
(2209)
The first term, where the change in momentum is considered
constant (signified by the bar notation), follows directly
from the previous derivation and yields
d([lGv]TIjk) = (Pk)T L^HC ]
3cp
with the symmetry in the translational (h,H) function
observed. Recalling equation (2154), one has that
(2210)
i k *
3 (_B~ ) = M^k 3 ( [ 3 Gc ] cp + T[ 3Hc ])
3cp 3(p ^ W
(2211)
which, referring co equation (238) and (241), becomes
3(Â£jk) = M9k(cpT[3Hc 1 + TLDc j)
3
(2212)
Now, premultipling equation (2212) by the Jacobian
transpose and substituting, with equation (2210), the
result into equation (2209) gives
3.3GSlVS =
3 cp >cp
(2213)
47
and the concern is to determine the effect of the third
revolute = ]_) on this secondorder property. There
are two unique nonzero situations nere, l
If l
mn
link (ml)m and the thirdorder geometric derivative is
00^lmn = i s1) x (sra x sn))
3 0>i i"1
(2105
= s* x (sm x snj l
If m
be considered as a vector fixed in link (nl)n yielding
Jk
00Slmn
sm x 3 (^E1 0j sM x sn)
1=1 "
sm x (s^ x s11) m
(2106)
One can now write the time rate of change of the angular
acceleration of link jk as (see equation (244))
jk = [Gjk]ffl +
(P (pep epep
(2107)
3
+ (TCD(p(p(p])
where all algebraic operations are as defined previously in
the general kinematics section and
jk
CDcpcpcp J = 3 x M x M x M (2108)
with
ID
jk .
epepep
; 1; m; n
jk jX jY
lmn ^lmn'^lmn'
1 j m
^lmn'
(2109)
66
3ac = [ Gc ] cp +
cp
being the acceleration of the center of mass of link jk
(3 c), and
and
u^k = [G3k]
 (P
(2150)
a3k = [G^^lcp + (pT[H^k](p

(2151)
are the absolute angular velocity and acceleration of link
jk. Now, by substituting equations (2149), (2150) and
(2151) into equation (2148) and algebraically manipulating
the result one could obtain the desired general form of
equation (2138). While this operation gives the desired
result it is felt that a slightly more rigorous approach,
starting with the system momentum, gives more insight into
the geometric nature of the solution.
The momentum of a rigid body (e.g., link jk) can be
expressed in terms of two distinct vector quantities; these
being the linear momentum (P^k) expressed in terms of the
mass (M^^) and the velocity (3vc) of the center of mass
(3c), and the angular momentum (L^) given in terms of the
link's angular velocity (w_3k) and the global inertia tensor
( [ 113) ] ) about the centroid of the link.
The effective generalized inertia loads resulting from
the rate of change of the system's linear momentum can be
obtained directly from the development of equations (2133)
21
The complete Jacobian of equation (231) is then
3ji =
a
^Hw] + H(p(pJT]
= T
2
2
cpcp J
+
L ^cpcp
P
, P
^cpcp J
+
L ^cpcp
u
u
^cpcp *
+
L ^cpcp
i T
(235)
yielding
3 cp = E CH^pJ + CH^(p]T]cp
35
(236)
where the transpose operation is performed plane by plane.
The last partial in equation (228) can be separated into
two parts, giving
... 3U.. 9 u. .
9_U = cp + cpcp
9<Â£ 3 cp 3CÂ£
(237)
where, recalling equations (213) through (220),
3 Gu cp
^cp = 3([ cp]*)
92
92
"Tr^^ iT
cp [ cpcp J1
(238)
2T [ Hcpcp JT
45
Figure 24. Secondorder kinematic influence coefficients
when first joint is a revolute.
117
Figure 41. Single closedloop mechanism
161
Figure Cl.
Planar FiveBar Mechanism
171
mass). With the final (desired) model known, the transfer
technique is now applied to verify its accuracy. First,
following the analyses of Chapter II, the (independently
treated) joint referenced model for each leg is obtained
(rS*) = [rGwJ,(rHw ), [rI* ] r = 1,2,3
(E3)
The results of equation (E3) for branch one (i.e., r = 1)
are given in Table El. Then, applying the transfer
equations (443), (444), (445) and (446), the system
model referenced to the intermediate generalized coordinates
(w) is determined, yielding (see Table El)
(Sw) = [ rG(P ], [ rHcp ],[rI* Mrp* ]
W WW WW WWW
(E4)
Next, the effects of each leg are combined and the influence
coefficients relating desired coordinates (q) to the
intermediate coordinates (w) are formed, giving (see Table
E2)
and
[I* ] = E [rI* J
ww r=l ww
[P* J = i [rP* ]
www r=l www
LG
w
[1G
w
[2G(P]
w
t3G
w
(E5)
(E6)
35
parameter, the higherorder kinematic influence
coefficients, and hence the higherorder kinematics for the
serial manipulator, can be obtained by directly operating on
the firstorder coefficients given in equations (227) and
(266). Observing that both the rotational and
translational influence coefficients are expressed in terms
of position dependent vectors leads one to again use the
relationship of equation (254) to obtain the (h,H) and
(d,D) functions.
Recalling the firstorder rotational coefficients and
equations (254), one has
d(gjk)
dt n
, n< j ? cpn=0n
, otherwise
(267)
where
sn
(268)
Performing the partial differentiation with respect to the
mt'1 generalized velocity yields, for the secondorder
rotational coefficients, the expected nonsymmetnc (i.e.,
h^k = h^k) result
mn nm
h^ = 8 (g3k) = 9 (qjkj J
~mn rt: n 77; n
9>m
9 CD
'm
sm x sn m
(269)
o
, otherwise
TABLE OF CONTENTS
Page
ACKNOWLEDGMENTS V
ABSTRACT viii
CHAPTERS
I INTRODUCTION 1
II DEVELOPMENT OF THE CONTROLLING EQUATIONS .... 12
Method of Kinematic Influence Coefficients ... 13
Generalized Kinematics 13
Kinematics of Serial Manipulators 23
System definition and notation .... 24
Firstorder kinematics 30
Secondorder kinematics 34
Thirdorder kinematics 46
The Dynamic Model 54
The Principle of Virtual Work 55
The Generalized Principle of D'Alembert . 57
The Dynamic Equations 62
Dynamics of Serial Manipulators 64
Applied loads 65
Inertial effects 65
The dynamic equations 77
The Linearization of the Dynamic Model 78
The Linearized Equations of Motion .... 79
Actuator Dynamics 87
State Space Representation 91
Note 94
III TRANSFER OF GENERALIZED COORDINATES 95
The Dynamic Equations 98
Kinematic Influence Coefficients 101
vi
72
lO[TO]T = [I]3x3 = constant,
one has that
_3lTj [T3 ]T[G^k]6) =_3_([G^kJ)
3 cp
(2174)
(2175)
Using the chain rule on the lefthand side of equation
(2175), and referring to equations (220) and (2173),
yields
[G^k]T x [ G j k ] ) = pT[H^k]T
cp cp ^ cp ~ CPCP
(2176)
Rearranging and premultiplying by [T^ jT gives
3 ( [T^ ]T[G^k]Â£) = [T3]T(T[Hjk]T fQjkjT x [Gjk](i))
g cp cp cpcp cp cp
(2177)
Direct investigation of the righthand side of equation
(2177) shows that
TLH3k]T [GjkjT x [Gjk](p = T[Hjk]
(P
(2178)
Confirmation of the above result is left to the reader;
however there is another way to show the validity of the
final result which also points out an interesting result.
Considering that the partial derivative of equation (2177)
is to be postmultiplied by
relationship given by equation (2178) can be justified by
showing that
([G^k]T
cp
[G^k]0)cp = 0
cp
x
(2179)
7
qualitative approach to deriving the highorder kinematics
is stressed, as well as the utility and simplicity of the
standard Jacobian format for arranging the results of vector
differentiation. Again, the reader's complete familiarity
with the method of derivation employed (and the notation
involved in describing the results) in this section
(II.A.l.) will greatly facilitate his understanding of the
remainder of this work.
Next, the kinematics of the general serial manipulator
are addressed. First, the geometric parameters and the
associated notation describing the serial manipulator are
defined, then the first, second and thirdorder kinematics
are addressed. The derivation presented here is based on
the previously developed generalized kinematics, with the
major emphasis here being on the determination of the
kinematic influence coefficients for this specific device.
The method of derivation and form of the results (simple
vectors or vector cross products) are based directly on the
work of Thomas (1981).
Having completed the treatment of the system kinematics,
attention is then turned to the development of the dynamic
model. The dynamic model presented here is almost completely
determined with the use of just two principles of mechanics:
the principle of virtual work and the generalized principle
of D'Alembert. In light of this, and in keeping with the
generic nature of this work, the use of these two principles
in the development of the dynamic equations for a general
67
through (2141). This is possible since the link's mass
(M^k) is constant with respect to the global reference
(i.e., independent of the system's configuration) and can be
expressed as
ijMUI = Mjkfl]3x3 (2152)
which allows one to write the link's linear momentum as
pjk = HikpsCjj (21.53)
The time rate of change is now
pjk = Mjk( [ jGclcp + T[Dhc ]cp
cp 459 (2154)
and yields
PTI = E [3qct P^k
(2155)
as the total effective load due to changing linear momentum.
Expressing equation (2155) in model form gives the load as
PTI = [pl* ](j> + T[pp* ]6
cp cpcp cpcpcp
(2156)
with
L PI*
cpcp
] =
M
E
1 = 1
[plik]
cpcp
M
E
j=l
(M j k [ Gc ] I1 [ Gc ] )
cp cp
M x M
(2157)
and
[PP* ]
cpcpcp
E [pP^k ]
3 = 1 cpcpcp
M 1 m
E M^k([lGclT pHc J) = 3 x M x M
3 = 1 cp cpcp
(2158)
4
to Table 11, the basic setui involves a block arrangement
consisting of a central bloc] surrounded by both pre and
post, superscripts and subscripts. The center block is
reserved for a symbol represe nting either a system
parameter(s) (e.g., the set (u)), a physical quantity (e.g.,
a vector of applied loads (T ) or a mathematical operator or
operation (e.g., partial differentiation). Next, the two
superscript blocks are reser ed for dependent system
parameters (or their properties, such as velocity), with the
postscript indicating which parameter(s) is involved and
with the prescript giving ac ditional information concerning
the parameter(s). Finally, the two subscript blocks are
used in exactly the same fashion as the superscripts, but
are reserved for independent system parameters (e.g.,
generalized coordinates (eg) cr fixed linkage dimensions
(aj^)). At this stage the reader is again referred to Table
1.1 to review the illustrate e examples. While this
notation is indeed redundant when dealing with a single
(fixed) set of independent generalized coordinates, it is
far from redundant when dealing with the analytic
developments and application;: in Chapters III and IV where
the system dependence is tra: sferred from one possible
generalized coordinate set t< another. Regardless, it is
felt that even when dealing \ ith a fixed input set, that the
separation of dependent and independent system parameters by
the respective use of superscripts and subscripts serves as
a valuable aid in the descrii tion and analysis of the system
106
Dynamic Model Parameters
One approach (suggested) to the transfer of the dynamic
model is to employ the effective load relationship of
equation (310) along with the previously discussed
kinematic transfer results. From equation (310), provided
the Jacobian is nonsingular, the desired generalized loads
(Tq) can be expressed as
q = [G^]_T^P (329)
or, recalling equation (35),
q
= [g^Tui* ]$ + T[P* TL)
cp cpcp epepep cp
(330)
Replacing (eg) in equation (330) by the result of equation
(316) gives
Tq = [G^] T[ I JUGS]^* [G<3]1
M cp cpcp
+ [G^jVtP* ]cp [G
cp epepep cp cp
(331)
which, applying the generalized inner product (), combining
the quadratic terms and substituting the result of equation
(314) for (), yields
T = [G<3]T[I* ][G%]~1q
H (p (pep ep
+ qT[G
(p ep epepep
(332)
([G<3]'r[I* ] [ G^]1
(p ep(p ep
[H<3 ] ) } [G^]!4 S ( [1GU] [G<3] 1)T XTU
cpcp ep i=l ep ep
Finally, comparing this result with the general form of
equation (33), one has the effective generalized loads (Tq)
2
needs a qualitative model (e.g., knowledge that a particle's
acceleration is linearly related to force) of the system for
feedback compensation, there is no question that a
quantitative model (e.g., a particle's acceleration is equal
to the force applied to the particle divided by its mass) is
essential for feedforward compensation. Now, while the
author is not familiar with all the vagarities of adaptive
control, it seems only reasonable that one would prefer to
accomplish as much feedforward compensation as possible,
and then use feedback techniques to obtain the (reduced)
remaining required compensation. Admittedly, the
quantification of the model (e.g., determination of the
particle's mass) is considerably more difficult than its
qualification, but this difficulty is not sufficient reason
to dismiss the possibility (and potential) of combined
feedforward, feedback control schemes for robotic devices.
Keeping the goal of this combined control in mind, the
kinematic and dynamic models developed in this work are
derived in a qualitative manner while the final expressions
require the quantification of basic system properties, such
as link dimensions and mass parameters.
The formalized modeling procedure presented establishes
a bse technology capable of addressing the full range of
possible mechanisms, from a single generic approach. The
procedure stems from the work of Tesar and his graduate
students, most notably the general development of Benedict
and Tesar (1971) and the rigidlink serial manipulator model
137
u
[Gu]q + q[Hu ]q
(466)
q
qq
and
(467)
In viewing equations (465), (466) and (467), one sees
that the relationships are unique for specified values of
the desired coordinates (q) velocities (q) and accelerations
(q) Unfortunately (from the modeling and control point of
view) however, the desired coordinate kinematics (i.e., q
and q) are not uniquely determined by specification of the
desired kinematics (i.e., and ) of the controlled
variable (u).
Therefore, the first step is to determine (MN)
additional constraining relationships between the
coordinates (q) and (u). Here, one typically decides to
optimize (instead of arbitrarily specifying (MN) kinematic
relationships among the (q)) some performance criteria
involving the superabundant coordinates (q) subject to the
required kinematic constraints (e.g., equation (465))
relating the controlled parameter (u) to (q). Once the
performance criteria is established one can use any of a
number of optimization techniques (e.g., the classical
Lagrangemultiplier approach) to determine the additional
constraints between (q) and (u) The end result of this
being the reverse of equation (465), or
q = [G<3]u
u
(468)
28
Table 21. Manipulator Joint and Link Parameters
 Vector for Joint Axes Between Links
Sjj is Fixed Offset Value (Revolute)
j j is Fixed Rotation Value (Prismatic)
Oj Generic Input for Joint Axis S^
Sj Sliding Along
0j Rotation About
^ J }Â£
> Fixed Link Dimensions Between Axes j and k
ajk
a,^ Common Perpendicular Along a^
 Twist Angle
88
Ldi + Ri + CEq V (2228)
dt
Iq + Bq CMi = Tq
for a single actuator or, in matrix form, for all M
actuators
t Lq ] i + [Rq]i + [CEqJ. Y (2229)
[Iq]q + [Bq]q [CMq]i = Tq
where i is the Mxl vector of armature currents (amp), v is
the Mxl vector of terminal voltage (volt), [Rq] is the MxM
diagonal matrix of armature resistances (Ohm), [Lq] is the
MxM diagonal matrix of armature inductances (Henry), q is
the Mxl vector of motor output shaft angles (rad), [Tq'J is
the constant MxM diagonal matrix of rotor inertias
(in.lbfsec^) > LBqj is t^Le MxM diagonal matrix of rotor
damping (in.lbfsec), [CEq] is the MxM diagonal matrix of
motor speed constants (voltsec), [CMq] is the MxM diagonal
matrix of motor torque constants (in.lbf/amp) and Tq is the
Mxl vector of load torques (in.lbf).
Addressing the actuator dynamics one must relate the M
output shaft parameters (q) to the M generalized joint
coordinates (
made: of constant transmission between the motor (q) and
joint (>) parameters (i.e., the Jacobian [G^J is constant),
q
zero compliance in the drive train, and zero backlash in the
drive train. Recalling equations (27), (227) and (2130)
allows one to write
59
Ta 6g = S _d([iMu]i)
d 11 dt
N (2131)
= 2 d([1MuJ1u) [iGu]6q
1=1 dt ^
or, following manipulations similar to equations (2123),
the required generalized forces are
Ta = 2 [iGu]T { dU^M)}
~q i=l 3 dt
(2132)
Investigation of equation (2132) yields an interesting
result. That is, the effect of the dynamics of each mass
motion parameter (e.g., each link) on the generalized inputs
can be considered independently (also see Silver, 1982,
equation (25), where the dynamics of each link are expressed
in terms of the NewtonEuler equations). In fact, the
result of equation (2132) can be obtained from the
derivation of the generalized input loads required to offset
a set of applied loads (see equations (2123), (2124) and
(2125)). To see this, simply replace the applied loads
(1TU) in these equations with either the d'Alembert loads
( _: ( [ ^MU ] ^.) ) or the negative of the NewtonEuler
dt
equations. In this light, one could view the result of
equation (2132) as being obtained from the virtual work of
the d'Alembert loads.
Now, recalling equation (27) for (Hi), equation (2132)
can be written as
Tq = 2 { d( [V^H^G^g)}
q 1=1 q dt q
(2133)
113
31
32
33
= F32[GqrV3^LGcJ]1
= F32G<3]1
3
(D
ip
= F
33
with the partais relating the desired (q) and initial (^)
coordinates given by the general form of equations (214),
(235) and (243).
Equivalently, one could first derive expressions for the
effective joint loads (T^) in terms of the desired
coordinate (q) kinematics (Thomas and Tesar, 1982b), and
then follow the linearization procedure of Chapter II to
obtain the state model of equation (352). This method
simply reverses the order in which the transfer of
coordinates takes place and does not affect the results.
Alternately, one could work with the original (i.e.,
initial) state model of equation (348) and simply use
equations (349) and (350) to obtain the states (i.e., 6cj>
and ) in terms of measured endeffector perturbations
(i.e.,6q and 6q). This is the more common approach
(generally taken by the investigators cited at the beginning
of this chapter) but does not yield much additional insight
with regards to system control. Here, the state model (on
which the controller design is based) is still referenced to
the joint coordinates (eg) whereas the transfer procedure
actually affords one a new state model (directly referenced
to the desired endeffector motion parameters (q)) on which
to base the controller design. While the transferred model
140
Figure 45. Overconstrained systems, a) Walking Machine ;
b) Multifingered hand/Cooperating Manipulators
CHAPTERS
III (Continued)
Direct kinematic transfer 101
Kinematic transfer of dependent
parameters 104
Dynamic Model Parameters 106
The Linearized Equations 109
Kinematics 109
State Space Equations Ill
IV APPLICATION OF GENERALIZED COORDINATE
TRANSFORMATION TO DYNAMIC MODELING AND CONTROL
A UNIFIED APPROACH 115
Single Closedloop Mechanisms . 116
Multiloop Parallel Mechanisms 127
Redundant Systems 134
Overconstrained Systems 139
V CONCLUSIONS 145
APPENDICES
A DEVELOPMENT AND DEFINITION OF GENERALIZED
SCALAR () PRODUCT OPERATOR FUNDAMENTAL
TO DYNAMIC MODELING AND TRANSFER OF
COORDINATES 150
B SECONDORDER TRANSFER FOR A SIMPLE
MANIPULATOR 153
C SINGLELOOP PLANAR FIVEBAR ANALYSIS 159
D SPECIAL CASE SINGLELOOP MECHANISMS 165
E PARALLEL MECHANISM MODELING 170
BIBLIOGRAPHY 176
BIOGRAPHICAL SKETCH 181
vii
joint related perturbations in terms of the hand
perturbations as
112
and
5m [Gq]*6q
= [ Gq j 16q [G^J"1 ( Gq ] ~ X6q
6$ = [GSj^dq [G<^]1id^][G^]1dq
 [G(3]1f^_z\ fLz\GqJY?lNl][Gq]"16q
45 [va/ Va/ 41 \3seyj 45
(349)
(350)
(351)
Finally, substituting equations (349), (350) and (351)
into the initial state space representation of equation
(348) gives
6q
*V\ A /S
FllÂ¡ f12 Â¡f13
[ &q \
r~A. 
Gil
6q
=
3 1 6 1 $
f211 F22 1F23
6q
+
G21
a 1 /"> 1
\i /
_31 1 F32 I F3 3 _
\^l
_G31 J
as the desired state model, where
Gii ~ Fil i1/2,3
Fij = Fij t 3=l/2,3
f21
(3Jj (lÂ§W]i (S)
\a <Â£/ Vs Â£/ 45 Vs
f22
A
f23
+ [Gq](F21 F22[Gq]1f8 )) 1 [ Gq J 1
45 9 '31/
j /
. fd\ + LGq]F22 [Gq J 1 (353)
\dvj 9 J
[Gq]F
cp
23
78
torque. This availability is not generally the case since
the actuators themselves are governed by their own dynamic
equations. In an effort to overcome this deficiency the
following section, cognizant of modern linear control
theory, is included.
The Linearization of the Dynamic Model
Many researchers (e.g., Kahn and Roth, 1971, Dubowsky
and DesForges, 1979, Horowitz and Tomizuka, 1980, Liegeois
et al. 1980, Armada and No, 1981, LeBorgne et al., 1981,
Golla et al., 1981, Freund, 1982, Guez, 1982, Vukobratovic
and Stokic, 1982a, and Stoten, 1983) have investigated (and
are continuing to investigate) various methods of linear and
nonlinear, adaptive and nonadaptive, control. While it
appears likely that nonlinear adaptive control schemes hold
the greatest promise for the ultimate realtime control of
highly nonlinear systems such as robotic manipulators, the
development of such a scheme is not the purpose of this
section. The purpose of this section is, instead, to use
the well established technique of linearization about a
nominal motion trajectory, to develop a generalized state
space model. Once this model is established, while again
not the purpose here, one can apply the tremendous body of
knowledge of modern control theory to address the
feasibility of such control methods. Here, of primary
concern would be the question of the time variance of the
49
Figure 25. Thirdorder kinematic influence coefficients
144
Ta = [I* ]u + uT[P* ]u TL
_q qu quu ~q (487)
with
[I* ]
= [G<3]LT[I*
] = 4x3
qu
u uu
(488)
CP* ]
= ([GS]LT .
[P* ]) = 4x3x3
quu
u
uuu
(489)
Tl = [Gc5]_lt
q u
^U
(490)
where, again, only a partial transformation of coordinates
is employed. As with the solution for the redundant case
(equation (473)), the partial transfer is employed because
the resulting equations are in the desired form; that is,
the (desired) required generalized loads are expressed
directly in terms of the controlled variable kinematics.
100
= [Gu]cg + T[Hu ](p
(p cpcp ~
and dynamics
cp
[I* ]cp + cpT[P* ]cg Tl
cpcp cpcpcp cp
(35)
of the system (related to the set (eg)) are known since, the
influence coefficients
[Gu] = 3u
3 cp
[Hu ] =
W 3 cp3 cÂ£
(36)
and, hence, the effective model parameters ([1^]) and
(Â£p(pqxp]) are immediately accessible.
Third, since the desired generalized coordinates (q) are
also known, directly obtainable functions of the initial
coordinates (eg), the kinematic influence coefficients
[G<3] 5 93
3 eg
(37)
[H<3 ] = 9 ~
W 3cg 3
relating the desired coordinates (q) to the initial
coordinates (eg) are available. This knowledge allows one to
express the desired coordinate velocities (q) and
accelerations (q) as
<3 = [G^Jep
(38)
and
20
Here
so
3_U = [ Gu ] 9i = [ Gu ] [ I ]MxM
3 cp cp 3Â£p cp
3_ (D = [ Gu ] c'
3 cp (p
The second terra in equation (228) is found from
3 u. .
= cpcp =
3Â£ 3Â£
3 1 3U1
cpcp cpcp
3cp]_ 3 d>2
3 ul.
cpcp
3 cpj/j
3
2
cpcp
3
3 u,
jpcp
3^1
3?.
cpcp
3
where, from equation (222),
3 UP cpT HP Tcp
cpcp = 3 (~ [ cpcp] ~)
3
= < HÂ¡p(p]T6) 1; + (Â£T[H^p]T);1
= (TCH^p 1 ) 1 + (T[HÂ¡p
(229)
(230)
(231)
(232)
since
(TÂ£H^cp] ) ;1 = [ ( [Hjq>JT)1; ]T = 1x1 (233)
The p1^1 row of equation (231) can be written as
3 UP . m P ,m D m p
= ((rtHp])^ + (r!HW]T);1,...,((Â£T[H(p(p]);M +
3 iÂ£
iteajp) + [hL,1t]
cpcp 
(234)
143
since, because the kinematics are unique, (Tu) is unique.
If, for example, one decides to minimize the sum of the
squares of the desired torques (i.e., the square of the p=2
norm), then the objective function is given by
f = Tt T
~q ~q
(481)
yielding, with the constraint (c), the Lagrangian
f = TT Tg + XT([Gq]TIW Tn)
"'q
u
^q U
(482)
Setting the partials with respect to the independent
variables to zero gives
and
resulting in
9f\T = 2Ta + [G^JA = 0 = 4x1
\ q
q
u
3f\ = [Gq]TTq Tu = 0 = 3x1
Tg = [G^]([Gq]T[Qq])_1TU
M U U U u
(483)
(484)
(485)
which, when compared with equation (480), gives the pseudo
(left) inverse transpose
[Gq]LT = [Gujt = [Gq]([Gq]T[Gq])i = 4X3 ,,
u q u u u (486)
Finally, applying the transfer equations once more
(i.e., substituting equation (477) into equation (485)),
one obtains the desired distributed load (Tq) as
151
j. Vector Multiplication of Quadratic Result
Given
[A] = P x N matrix
CA]p. = pth row of [A] = ([A]p;1> [A]p;2'
[ A ] p ; N )
Then
[A J p.(bT[C]b) = [A]p;1bT[C]1;.b + [A]p.2bT[C]2.. b
+ . + [ A ] p. j^b'1 [ C ] N. b
= bT[A]p;1[C]1;;b + bT[A]p;2[C]2;.6
+ * +MT[A]p.N[C]N..b
= tA]p;n[C]n;;)b
= scalar
Define Operator () Dot"
N
([A]d. CC]) = ( E [A]D.nC]n..) = N x N matrix
P/ n=l p,n n''
= scalar multiplication of planes followed
by a summation of the resulting planes
4. Matrix Multiplication of Quadratic Result using ()
operator
[A](bT[C]b) =
fbT([A]1;
[C])b\
bT(t A]2.
[C])b
\ T ( [ A ] P ;
[C])b /
= bT([A]
[C] )b
P x 1 vector
39
P P
ilmn limn
x (s3 x (PR^))
i = min (m,n)
j = max (nun)
(284)
Before proceeding with the kinematic development, it
will prove beneficial to reinvestigate a representative
sampling of the first and secondorder translational
influence coefficients in a more geometric light. Recalling
equations (28) and (266), the firstorder geometric
influence coefficient for a point p in link jk with respect
hh p
to the ntn input is a vector (c^ ) which when multiplied by
the nth generalized velocity (cpn) yields the nth partial
velocity (Pn) of the vector (p)
P = Pn = j
n=l"n
 2P L / 2P = 0 ; n>j
n=l n h n
(285)
Let us first investigate the case where the nt^1 input is a
prismatic joint (i.e., cpn = sn) and the desire is to find
p
(sStjJ* Here' the preceding subscript (s) is introduced to
indicate that input n is prismatic. Referring to Fig. 22,
one can readily see that the vector (P), and hence, its
velocity (P), can be expressed in a variety of ways. In the
manipulator of Fig. 22, where the second joint is prismatic
(i.e., 2 = s 2) it is advantageous to view the vector (P)
as
P = R2 + (PR2)
(286)
29
Table 22. Coordinate Systems
GLOBAL SYSTEM
X\
Y
Z
Absolute Reference System
( Z Along Axis S*)
/X^
Y3
l*xA
*Yjk
Direction Cosines for Joint
Direction Cosines for Link a^
LOCAL (j) SYSTEM
/<:>x\
( j)y
\( j >Z
\
Body Fixed System for Link jk
(3)x along a^k
^ ) z along S^
147
the desired motion is not in that reduced space, it cannot
be obtained. Again, while the issue of singularities is not
dealt with in general, the treatment of the Bricard
mechanism (Appendix D) addresses a special case of this
phenomena.
As comprehensive as this work is, it is merely a
foundation on which to base the more complete treatment
required for realtime dynamic compensation and control of
robotic devices. To achieve the ultimate goal of precision
operation under load will require considerably more than the
rigidlink model presented here. Of high priority for the
immediate future (and addressable by the concepts developed
in this work) are the issues of
1. Metrology (Behi, 1985)
The determination of the system parameters required
for the quantitative model (e.g., link dimensions,
*
mass and stiffness parameters, etc.).
2. Local Compensation for InPlane Deformation
(Tesar and Kamen, 1983)
Both feedforward and feedback compensation for link
and actuator deformations occurring in the plane
locally addressable by each individual actuator.
3. Global Compensation for General Deformations
(Fresonke, 1985)
Feedforward and feedback compensation for dynamic
and load induced endeffector deflection due to
general link deformations.
62
[I* 1 = E [ iGu]Tf [qU j
nq i=l n q
(2143)
and
[P* ] = .E {(CGu]TtiMui) [HU ])
nqq i=l n qq (2144)
It should be noted that the form given in equation
(2138) for the inertia related terms of the dynamic model
is completely general and applies to all types of rigidlink
mechanisms. The only differences lie in how the kinematic
influence coefficients are obtained and, if the mass
parameters ([1MU]) are configuration dependent, the
coefficient [P* ] contains an additional term (as will be
nqq
seen in the serial manipulator development).
The Dynamic Equations
Finally, recalling equations (2125) and (2138), the
generalized input forces (or torques) required to generate
the desired system trajectory under load are given by
= [I ]g +
qq
CP ]g
qqq
E [iGu]T 1tu
i=l q
(2145)
This result shows the highly geometric nature of the
dynamics of multibody systems, and is precisely the reason
why this representation for the dynamic model is chosen over
the NewtonEuler form. While this form may, or may not,
immediately yield the most efficient scheme for realtime
42
Q^n = sn x (PRn) n=3 (292)
The difference between the translational firstorder
coefficients for revolute and prismatic joints is perhaps
more easily understood now, from equations (286) through
(292), than from the more analytical development resulting
in equation (266). That is, by expressing the vector (P) as
P = Rn + (PRn) (293)
it becomes obvious that, if the n1*1 input is prismatic
(i.e., 0n = sn) the location of the origin of the local
reference (Rn) fixed to link n(n+l) is translated and, if
the n^ input is a revolute (i.e., cpn = 0n) the vector
(PRn) from the local origin to the point of interest is
rotated.
To reinterpret the secondorder coefficients (i.e.,
h ), take the case where the n111 joint is a revolute.
Here, referring to Fig. 23, one has
02n = sn x (P Rn) (294)
P
First, if m < n, one can obtain (h ) immediately by noting
P
that (2n) as expressed in equation (294) represents a
vector fixed in link n(n+l). From the firstorder results
it follows that
p
sSmn = 2 / m
and
0hmn = x (sn x (PRn)) m
(296)
120
Correspondingly, the secondorder influence coefficient
matrix becomes (recalling how the dimensions of the super
and subscripts give the dimension of the result)
[HW J =
r w (
Haa i
W "I
Ha!3
MX(MN)X(MN)Â¡MX(MN)X(N)
cpcp
HW 1
(3a 1
HW
00j
Mx(N)x(MN) j Mx(N)x(N)
(415)
where the first (MN) planes are given by
(Ha ] = [0J = (MN) x M x M (416)
cpcp
since
2: = ^ (417)
and the last N planes ([]) are given by equation (42).
Next, recalling the direct transfer equation (315), and
noting the block partitioned form of equation (411), one
has
[G
w
[I]
! [0]
 [Gr^ ] 1 CGS
]! [G*r]1
0 a
0 J
(MN)X(MN)
i
i( MN) xN
NX(MN)
Â¡ NxN
(418)
for the intermediate firstorder
recalling equations (48), (49)
[G>] =  
w G0 I G0
a  e
coefficients, which
and (410), yields
G0 G01G0
a  f c
MxM
(419)
86
+ [IlJk]((Â£T[D^ ]cp (G^k]T x T[H^k])}
cpcpcp cp cpcp
Finally, substituting the results of equations (2203),
(2204), (2208), (2216) and (2224) into equation (2201)
one has the general linearized dynamics given by (where all
coefficients are evaluated at the nominal generalized
coordinate values)
3T
cp +
3T
6cp +
3T
STcp =
cp
32
32
32
6cf>
(2225)
= [I* J6cp + [
cpcp cpcpcp cpcpcp
M
+ [ E {(^Tu)T pHu ]T + (p3k)T [^Hc ]T
j=l cpcp cpcp
+ (L3k)T (H^kJT + [^Gc]t 3(P^k)
+ [G^k]T 3 ( L ^ k) ') ] 6cp
Notice that, if the load (^Tu) is a known function of the
generalized coordinates, the effect can be easily accounted
for. For example, if the load is a function of velocity the
second term in equation (2201) will become
\ = [$T([P* ] + [P* ]T) 2 [^Gu]T3jTUl6
36
(2226)
Also, if the load itself varies from its nominal value,
which is likely, equation (2201) contains the additional
term
103
Now, recalling equation (39), the initial coordinate set
acceleration vector (eg) can be written as
eg = [G^] 1q [G<3]1(pT[H<3 ]
Applying the generalized scalar product () (developed in
Appendix A), equation (316) becomes
CP = [G^j 1q q>T( [ G^ ]1 [H^ ] )g> ,3 17
or, replacing (g>) by equation (314),
q> = [G^ ] _1q q?[G%]T([Gcl]1 [H<* ] ) [G^ J _1q
cp cp cp epep cp (318)
which, when compared with equation (313), yields
[H
qq cp cp epep cp (319)
as the desired secondorder influence coefficient
(analytically verified, in Appendix C, by comparison with
directly obtainable results for a simple manipulator), where
the superscript (T) implies the transpose of the matrix
inverse. At this point one should recognize that equations
(315) and (319) allow one to obtain the previously
intractable desired influence coefficients in terms of
simple directly addressable coefficients related to the
initial coordinates (cp) provided the firstorder (g,G)
function matrix (i.e., Jacobian) of equations (37) is
square and nonsingular. The dependence on wellconditioned
Jacobians is an inherent property of coordinate
50
d^mn = sm x (s1 x (sn x (PRn))) m
(2114)
Finally, for m
(2112) as [(PR1) + (R^Rn)J one sees that the only
affected vector is (PR*), so
P i i
dlmn = sra x (sn x (s1 x (PR1))) m
(2115)
The remaining translational thirdorder geometric
derivatives are left for the reader to derive and are given
in Table 23. The time rate of change of the acceleration
of a point P in link jk can now be expressed, from equation
(244 ) as
where
(2116)
with
P
[D
P P
D(p
and the symmetry of the translational (h,H) functions has
been observed (i.e., [H^cp]T = [H^]). This completes the
treatment of the kinematics of serial manipulators.
TO MY PARENTS
Thanks
for everything!
127
Multiloop Parallel Mechanisms
The procedure for the modeling of multiloop parallel
mechanisms is not as onedirectional as that for the
singleloop case, and therefore, is not addressed in
allinclusive general terms. This is not to say that a much
more general class of parallelism cannot be addressed by the
same procedure, but simply that there is no single general
outline for the infinite variety of conceivable parallel
devices. Here, the primary concern will be for linkages of
the class illustrated by the generalized Stewart platform
represented in Fig. 42, where the figure is intended to be
viewed, for example, as six general sixdegree of freedom
manipulators all grasping the same object (or having a
common endeffector. Also, by class what is meant is that
each branch (or leg) has the same number of joints as the
mechanism has freedoms (i.e., in the singleloop case M = N),
and that there are no coupling links between legs (which
would require nongeneral techniques to obtain the related
influence coefficients).
Now, addressing the sixdegree of freedom mechanism of
Fig. 42 (i.e., the generalized Stewart platform), suppose
that one wishes to model (or control) this device from any
collection of six of the thirtysix of joint freedoms (i.e.,
generalized coordinates where, as in the singleloop
41
22. Firs
atic influence coefficients
torder kinematic
Figure
128
r=4 r=3
Desired Generalized Coordinates
q = (.cp. _
Initial Generalized Coordinates
r
Figure 42. Generalized Stewart platform
I certify that I have read this study and that in my
opinion it conforms to acceptable standards of scholarly
presentation and is fully adequate, in scope and quality, as
a dissertation for the degree of Doctor of Philosophy.
Edward W. Kamen
Professor of Electrical Engineering
This dissertation was submitted to the Graduate Faculty of
the College of Engineering and to the Graduate School and
was accepted as partial fulfillment of the requirements for
the degree of Doctor of Philosophy.
August 1985
Dean, College of Engineering
Dean, Graduate School
156
which can be solved to give
r = Pxc0x + P^sGi (B13)
and
r2_ = Pxs1 + pYc^ (B 14)
Differentiating equation (B14) with respect to time, and
substituting equation (B13) for (r) and the solution of
equation (B14) for (]_) in the resulting expression gives
! = 1(PYC01 Pxs1) + _2 (Pxc]_ + PYS01)(PYC1 Pxs1)
r 2
r (B15)
which yields the same result as that obtained using the
transfer of coordinate approach (i.e., equation (B9),
thereby verifying the sought after relationship of equation
(B3 ) .
For an interesting example of the overall transfer of
coordinate approach to the modeling of wristpartitioned
manipulators see Rill (1985). That work deals (in essence)
with the dynamic analysis of a generalized Stewart platform
where each leg (manipulator) contains a spherical wrist.
Included in the analysis is a simplified (specialized) set
of transfer equations which specifically address
partitionable manipulators.
5
Table 11. Notation
Dependent
[Modifier]
t
Symbol
Operator
[Parameter(s)] Dependent
t
Ir
Independent [Modifier]
[Parameter(s)] Independent
Examples
1. u = f (
i [ J [p]
u = (u1 ,u,. . up) 1 dependent [u]
[ ] [ ]
cp = ((P1, cp2 *
[ ] [ ]
.cpjyj) r independent [cp]
[ ] [m]
[ ] [ u]
9(u) = ( ) a [Gu] = [G,,] (Thomas amd Tesar, 1982b)
3 cp TT <
[ ] [cp]
where G a _9( )_ [See eqns. (25) and (26)]
"9( )
3 (jjj = 3 ( ) = [Hu ] = [Huj (Thomas and Tesar,
3cp3cÂ£ 9cp3cp W 1982b)
[ ] L <Â£CÂ£ J
where H a 9( ) [See eqns. (211)(227) ]
3 ( ) 3 ( )
M . . CP] [ 1
SiM^k[3Gc]T[3Gc]} = [I*]
3=1 cp cp r i
[ ]
[cpcp]
= LpI* ]
cpcp
M
where PI* a )]T[]F
69
Combining equations (2159), (2160) and (2161) gives the
globally referenced angular momentum of link jk as
L* = TH<)ll*i[T]T[G*l
This is the desired form of the momentum since all
configuration dependent terms are shown explicitly. Even
so, notice that the global angular momentum of link jk (LJk)
can be expressed in the same form as the local momentum
(equation 2160) as
Lk = [ II3k ] u)J k = [II^k][G^k] (2163)
where, from equation (2162)
[ 11 j k! = [T3 ] [ ( )llk] [T^j ]T (2164)
is the globally referenced inertia dyadic.
As before, the momentum is seen to be a function of the
generalized coordinate positions (cp) and velocities () .
Therefore, the time rate of change of link jk's angular
momentum can be obtained from
0k =
$cp 3 (2165)
The second term in equation (2165) is immediately seen to
be
9L3K O = [ II3k] [G^k j J
9
(2166)
84
To obtain the final partial derivative it is perhaps most
convenient, especially considering previous derivations, to
use Euler's form for the change in angular momentum (see
equation!2184)), or
3(L3k) = J_( [Il^a^ + ^jk x (22i8)
3 cp 3 cp
Addressing the first term one has (see the development
presented in equations (2167) through (2177))
_l(lll3k]ajk; = [GjkjT x (njk]g.jk
3 (2219)
+ II^k]( dÂ£^ ~ [Gk]T x a^k)
3 cp
Recalling equation (270) for link jk's angular acceleration
and the form of equation (243) for the first geometric
derivative of the acceleration allows one to rewrite
equation (2219) as
3 ( [II^k]g.7kj = ([G3k]T x [njk] ( [Gjk]$ +
3.cp cp cp ~ cpcp ~
(2220)
+ (II^kH(oT[H3kJT +
cpcp cpcpcp ~
 [G3k]T x ([Gjk]$ +
(P cp cpcp
Utilizing the result of equation (2178), equation
(2220) can be reduced slightly to
3([Il3k]alk) = ([Gjk]T x [n jkj ( ^jk^ + <Â¡>T[Hjk](i)))
Tcp
(2221)
+ [Il^k] (^j. [fjjk] +
cpcp cpcpcp ~ cp cpcp
48
The thirdorder translational coefficients where one of
the inputs is prismatic can be obtained in exactly the same
manner as were the rotational coefficients for three
revolute inputs (since the symmetry exhibited by the
secondorder translational coefficients carries over to the
higher order properties), where
_L_
3sn 30L 30m 30x 30m 3sn (2110)
As with the translational (h,H) functions the only nonzero
result occurs when the prismatic joint is the last joint
considered and can be expressed as
P P
s00^nlm = 00s^lmn = = s1 x (s3 x sn) i=min (l,m)
j=max (l,m)
(2111)
Considering the situation where all three inputs concerned
are revoiutes, and m
. P
^mn "
,m
x
(sn x (PRn))
(2112)
Taking the more graphic approach (see Fig. 25), for l
p
(h^) can be considered as a vector fixed in link m(m+l),
yielding
P
^lmn
s1 x (sm x (sn x (PRn))) l
(2113)
For m
can be viewed as a vector fixed in link n(n+l), giving
58
Lu = E (^Lu) = E ([iMu]iu) (2127)
 i=l ~ i=l ~
Further, assume that there exist N, Pdimensional, load
vectors (iTu, i = l,2,...,n) that if applied to the
associated mass motion parameters (1u) would cause the
desired system kinematics (i.e., the position, velocity and
acceleration of the ^u) The generalized principle can now
be written as
.E (iqnu lU) 5iu = .E (TU d_( [iMu]iu) ) diu = 0
11 11 dt (2128)
yielding, for the virtual work (6W) done by these
hypothetical applied loads ('Tu) the following relationship:
6W
E iTu 6iu
i=l 
S d([iMuJiu)
11 dt
fi'u
(2129)
This result, in itself, is not very useful since the virtual
displacements (61u, i = l,2,...,n) are not independent.
However, when one recognizes that the virtual work can also
be expressed in terms of a set of M generalized forces (Tq)
acting on a corresponding set of generalized coordinates
(g), which are independent, as (where here the generalized
forces are, in essence, replacing the hypothetical applied
loads instead of opposing them, as in eguation (2125) to
obtain static equilibrium)
6W
N
E
i=l
iTu
6q
(2130)
the following, very powerful, result occurs:
44
P
since (qc^) is affected in the same manner as (PRn) was
previously. Now, if m > n, the first step is to reexpress
equation (294) as (see Fig. 24)
02n = sn x [(PRm) + (RmRn)] (297!
Here, from past results, it can be seen that if the m1*1
input is a prismatic joint only the vector (RmRn) is
effected. On the other hand, if the mth input is a revolute
the only affect is on the vector (PRra). This gives the
secondorder results as
and
P
st)mn
sn x sm n
(298)
P
00lmn
sn x (sm x (PRm))
n
(299)
The remaining secondorder influence coefficients are left
for the reader to reinterpret and compare with the more
analytically derived equations (276), (279), (281) and
(283) .
Now, with the secondorder influence coefficients fully
established, the acceleration of point (P) can be obtained
as
p p
F [ G(p ] <Â£ + ] <Â£
where
P = (XP, YP, ZP)T
and
(2101)
63
computation (Hollerbach, 1980), the insight that can be
obtained from this geometric view is considered essential
for realtime control. What is meant by this is that, if
one does not understand the essence (which is geometric) of
how the effects of the system parameters (e.g., system mass,
endeffector loads) on the inputs vary, then it is unlikely
that one can intelligently address the question of any type
of control, much less realtime control. Regardless, as
will be seen later, when dealing with cooperating
manipulators (including walking machines and multifingered
hands) the geometric form of equation (2145) is extremely
useful, if not altogether essential.
This form (equation (2145)) is also convenient in
addressing the question of dynamic simulation. Here, since
the effective inertia matrix ([I* ]) is positive definite
qq
(i.e., its inverse always exists),one can determine the
system's response by solving equation (2145) for the
generalized accelerations as
q = [I* ]_1(T
qq
q
 qT[P* ]q + E CiGu]T LTU)
qqq ~ 1=1
(2146)
While any of a number of numerical integration routines can
be employed to solve this equation, multistep
predictorcorrector methods (e.g., Adams) are suggested over
singlestep methods (e.g., RungeKutta) due to their greater
efficiency regarding computetime versus accuracy. This
greater efficiency is desired because of the computational
110
where the influence coefficients are considered known up to
the third order. Now, solving equation (344) for the
initial coordinate's jerk (i.e., "cb") one has
= [G'J]'1^ 3_Z $ 9_r) (345)
Q 3
or
cp = [ ] 1 (q cpT ( [ ] + 2 [H*5 ]T) cp (<Â£T [ j cp) cj>)
cp cpcp cpcp cpcpcp
(346)
At this point the previously derived expressions for (eg)
and (eg) (i.e., the results of equations (314) and (318))
could be substituted into equation (346), the result could
then be manipulated and compared with the general form of
equation (244), ultimately yielding
[D> ] = fUG^MH^ ],[D
qqq (0 cpcp cpcpcp
However, the manipulation required to obtain a nice result
(such as that afforded by the inner product for the
secondorder coefficient) for equation (346) is excessive
and not required for the task at hand. That task, again, is
the evaluation of equation (2240) relating the required
actuator voltages to the nominal joint motions (eg(t) )
resulting from the desired endeffector trajectory (q(t)).
Therefore, to obtain the required voltages (v), all one
needs to do is solve equations (314), (316) or (318), and
(345) for (<Â£), (cj>) and (cp) in terms of the specified hand
motion (q(t)) and then substitute the results into equation
(2240). While the computational effort involved here (in
34
d(T^(j)p = w3k x (13 ) P) =( 1E1 0n sn ) x (T^^P)
dt \ n=l /
Substitution of equations (262) into equation (261) and
regrouping of terras leads to
P =
nx {snsn + nsn X [1=+1(a(1.1)1a(1 1)1 + sm1)
+ ( 3 ) P ] }
= l {snsn + 0nsn x (PRn)}
n=l
(263)
where, referring to Fig. (21),
11)1 + siii + t(3)Â£ = <Â£'En)
(264)
is a vector from the origin of the nt^1 reference to the
point P. Finally, recalling equation (254), the velocity of
point P can be expressed in the form
1 = CG^Jcp (265)
where
r sn x(PRn) n
P
2n =
9P
3cpn
= <
.n
' o
, n
, n>j
(266)
Secondorder kinematics
Now, relying heavily on the development presented for
the second and thirdorder kinematics of a general motion
76
Now, from equations (2185), (2186) and (2191), one has
LTI = [^i* j(p + TfLp* ](p (2192)
"cpcp cpcp epepep
where
[LI* j = 2 [LI^k]
cpcp j=l cpcp
M
.2 ((G^k]T[Il3k][G^k])
J = 1 cp cp
(2193)
and
LlP* ] = 2 [Lpk j = 2 {[G3k)T(lljkJ [Hik])
epepep 3 = 1 epepep 3=1 ep epep
+ ([G^kJT[II^k]([G3kjT x (kJ))}
ep ep ep
(2194)
Finally, combining che effects of both the linear and
angular momentum gives
T1 = [I* ]$ + LP* ]ep
ep epep epepep '
(2195)
for the total generalized inertia load, where
[I* ] = [pI* ] + [LI* ]
epep epep epep
(2196)
M
= .2 {M J k L Gc ]T [ ^ Gc J + [GjkiT[II^k] [G^k! )
3=1 ep ep ep ep"
and
[P* ] = [Pp* ] + (Lp* j
epepep epepep epepep
(2197)
= 2 {M^k([3gcjT [3rc ])
3=1 ep epep
+ ( [G^jTfujkj [H^k] )
ep epep
+ ( [G3k]T[njk] ( [GjkjT x [G3k] ) ) }
Ill
what might be referred to as resolvedjerk control) is
considerable, the procedure is straightforward with the
required voltages determined offline and only their
numerical values stored for realtime recall.
State Space Equations
The presentation here (as with the state space treatment
of Chapter II), while conceptually generic, deals specifically
with the case of the dc motor actuated serial manipulator.
In this case, since the actuators are generally associated
with the joint motions and cannot be practically located at
the endeffector, only a partial transfer of states (i.e.,
generalized coordinate perturbation) is considered. Here,
the dependence on the linkagerelated states (i.e., the
joint coordinate perturbations (6
transfered to the endeffector motion perturbations (i.e.,
(6q), (6q) and (6q)) while the actuator locations remain
unaltered.
Recalling equation (2241), one has
6<Â£ ^
FllÂ¡
f12 !f13
(&<\
*11
6cj$
=
*2l\
f22 f23
S<Â£
+
g21
W i
TT1
311
f32 i f33
\6il
g31_
where the partition matrices (Fand Gj_j ) are as defined
by equation (2242) through (2252). Now referring to the
form of the kinematic equation (25), (211) and (228) and
applying the kinematic transfer concept, one can express the
167
Unfortunately, this is not the case in general manipulator
motion.
108
or, recalling equation (322) for the kinematic transfer
TL = 2 ( [iGu] [ j 1)T iT11 (338)
~q i=l cp cp
Now, to demonstrate the equality of the results of equations
(336) and (338), rewrite equation (338) as
TL = 2 [G^]"t[GUjT ^Tu
q i=l cp cp
which becomes
TL = [G^]t 2 [iGu]T lTu
~q cp i=l cp
Finally, recalling from the general form of equation (2125)
that
(339)
(340)
ipL j [qUjT ijiU (3 41)
"cp i=l cp
equation (340) can be written as
Tl = [G^]~T Tl (342)
q cp ~cp
illustrating the equality of the results of the two model
transfer techniques.
As previously mentioned, the full power and freedom that
this transfer of generalized coordinates affords one when
investigating the design, analysis, and control of
complicated mechanical systems will become apparent through
the study of the possible applications presented in Chapter
IV. Here it will only be pointed out that, with the
157
Figure Bl.
WristPartitioned Manipulator (First three links)
101
q = [G3]Â£ + ]<Â£
(0 cpcp
(39)
and, applying the principle of virtual work (recall equation
(2130)), the (effective) load relationship as
(310)
Finally, with the relationships given by equations
(34), (35), (38), (39) and (310), one has all the
information necessary to determine the desired unknown
parameters in equations (32) and (33) in terms of the
initial, easily obtained, describing equations (S^). The
direct kinematic transfer between the initial (eg) and
desired (q) coordinates (i.e., first and secondorder
reverse kinematics solution) is also available.
Kinematic Influence Coefficients
Here, the kinematic relationships of equations (32),
(34), (38) and (39) are used to obtain the desired
influence coefficients. The direct transfer between
generalized coordinates is addressed first, and then, the
general dependent parameter situation is considered.
Direct kinematic transfer
Consider the case where one wishes to determine the
kinematics of the initial coordinates (
desired coordinate kinematics (q(t)). This is, in fact, the
situation in the resolved rate and acceleration control
166
singularity is essential in that it implies the existence of
at least one linearly independent nontrivial solution to
the equation (see Fig. D2 for notation)
e = 0 = CiG]! (Di)
Now, from the algebra, since the Jacobian is of dimension 6
and rank 5, there exists exactly one linearly independent
solution associated with the one generalized coordinate
required to specify the motion of this mechanism.
Therefore, equation (Dl) can be solved yielding
[2q
(D2)
for the firstorder influence coefficients relating the
initial coordinates (2S&) to the intermediate generalized
coordinate (y). Having obtained these constraining
relationships (equation (D2)) one can obtain the desired
dynamic model by, again, following the procedure of
Chapter IV. The reader is referred to Fig. D2 for the
basic outline of this analysis. It should be noted that the
analysis of this mechanism is problematically similar to
having a singular manipulator configuration, yet still being
able to attain the specified endeffector motion (i.e., the
specified motion space is spanned by the linearly
independent columns of the Jacobian). However, here the
column dependency is predetermined and the specified motion
(rotation by cp6 about s6) is known to be allowable.
154
Assuming that the kinematics of the wristpoint (P) are
known, one can express the acceleration vector (cp) in the
general form of equation (227) as
cp = [G^JP + P^H^ ]P
P ~ PP
Here, for brevity, only the acceleration of the first joint
will be considered. From equation (Bl), one has
0, = [G^li.P + PT[H
i p '~ PP ',
The primary objective is now to show that
Hpp11transferred = ^Hpp^1;;^direct
where, from equation (319)
([H
pp ' cp cp (pep ' cp
Referring to Table Bl, one has that
which yields
LG] = [G]l
S0
 1
c
1
r
r
0
C C0
S0 c
S0
1 2+3
1 2+3
2+3
a23s03
a23s03
a23s03
rc
1
rs
1
(1)pz
a23a34s03 a23s34s03 a23a34s03
where, s01+2=sin(0j_ + 2) etc. Applying the generalized
dot operator gives
168
1.
j Transfer
2. y = (0_, X Y ,Z ,0 , ,0 )T  S
5 p' p' p' x y' z y
 Constrain
3. w =(5,Z )
w
 Transfer
. q =(01,5)T  S
Figure Dl. Spatial slidercrank mechanism
CHAPTER II
DEVELOPMENT OF THE CONTROLLING EQUATIONS
The investigation of the basic kinematic and dynamic
nature of multidegree of freedom mechanisms and the
subsequent determination of a set of differential equations
useful in addressing the control of such mechanisms are
presented in this chapter. The presentation is separated
into three major divisions. The first section develops a
generalized approach to the modeling and analysis of the
system kinematics. The approach, which is based on the use
of kinematic influence coefficients, is applicable to
mechanisms consisting of rigid, or at least quasirigid,
links. In the second section, the influence coefficient
methodology is incorporated in the determination of the
dynamic model, yielding the relationship between the
system's load and motion states. Finally, the dynamic
equations (developed in the second section) are linearized
and a general state space representation is presented. This
representation, which includes actuator dynamics, is useful
when considering the control of the mechanism about some
prespecified nominal trajectory.
12
121
Notice that the parameters (a) are still independent but the
parameters (3) are now dependent on the full intermediate
set (w) Now, recalling equation (319), the intermediate
secondorder coefficient is
[H^ ] = CGw]T([Gw11 [Hw ])[Gw]1 = MxMxM
ww 0> co cpcp
where the first (MN) planes are, again, MxM null matrices
(since (a) is independent) and the last N planes give
[H& ]
ww
rHe
waa
1 3 1
i Hae
NX(MN)X(MN)  NX(MN)xN
hP
[hP
NxNx(MN) NxNxN
ea
1 eej
1
or, recalling equation (410),
[HP ]
ww
" 3 1
3
3
^aa l
Haf
^ac
hÂ£5 1
hP
hP
fa i
ft
f c
h3 I
hP
hP
ca 
ct
cc
NxMxM
(422)
Note that, due to the form of ([G^]*) and ( []) to save
unneccessary multiplication by zero, the last N planes of
equation (420) can be (and in actuality are) obtained from
[HP ] = [Gw]t([GJ"1 [He ])[Gw]~1
ww cp (3 cpcp cp (423)
Now, refering to equations (333) through (336), one
can obtain the intermediate dynamic equations as
Tw = [I* ]w + wT[P* ]w Tl
ww WWW ~ ~w
(424)
4
174
Table El. Joint and HandReferenced Models (r=l
tlGw] =
cp
[lHw ]x . =
L (p
[lHw J 2.. =
A (pep A '
1.475
0
0.5
(in. )
1
0
0
2.55
2.28
0.866
(in. )
[il* ] =
0
0
0
1
1
1
cocp
0
0
0
(inlbf
2.55 2.28 0.866
2.28 2.28 0.866
0.866 0.866 0.866
1.475 0 0.5
0 0 0.5
0.5 0.5 0.5
( in)
( in. )
ClHw ]3.. = [0]
A ep(p J
[]P ] = [0]
epepep
CiG
A w
0.637
0.225
0.513
(in.1)
0.405
0.143 0.327
0.758
0.439
0.001
(in.1)
[XI* ]=
0.143
0.0510.116
0.122
0.664
1.514
ww
0.327
0.116 0.264
[W ]x..
WW A '
0.050
0.105
0.116
0.105
0.439
.0.328
0.116
0.328
0.665
(in
1
)
hP ]
WWW
1
r /
0.032 0.067 0.074
0.067 0.280 0.209
0.074 0.209 0.423
ClH^ ]
ww
2
r t
0.358 0.053 0.225
0.053 0.419 0.390
0.225 0.390 1.327
(in.1)
[XP* J2
WWW A
0.011 0.024 0.026
0.024 0.099 0.074
0.026 0.074 0.150
]3..
ww J '
0.408 0.158 0.341
0.158 0.019 0.062
0.341 0.062 0.662
C1P* ]3
WWW J
0.026 0.054 0.059
0.054 0.225 0.168
0.059 0.168 0.341
119
e
/(NR) x 1
y R x 1
N x 1
(410)
where the set (:f) describes the remaining freedoms of (e)
after the R constraints, which allow no motion of the
parameters (c)(i.e., c=c=0), are applied. Again, as with
the partitioning of (<Â£) the sequential ordering in the set
(e) of the components making up (f) and (c) is done merely
for convenience in discussing the general case (i.e., it is
not necessary).
Returning to the augmented set (w), one is now able to
express the firstorder kinematic influence coefficients
relating the intermediate coordinates (w) to the initial
coordinates (
1
(MN)
X (MN)
!(MN) x N
Ge 1 Ge
N x
(MN)
' N X N
al B
1
(411)
with (from equation (41))
[Ge GJ = [Ge ] (412)
a B cp
Recalling that
w = [Gw]
o
(413)
one sees that the first (MN) rows of equation (411) merely
state that
a
a
(414)
54
The Dynamic Model
This section deals with the determination of the
generalized input loads (forces and, or torques) required to
cause the system in question to undergo some arbitrary
desired motion. The derivation of the describing equations
presented herein is based almost entirely on two fundamental
principles of mechanics (the principle of virtual work and
d'Alembert's principle). Lagrange's equation could have been
employed, yielding the same results (typically in scalar
form as in Thomas, 1981). However, it is felt that the
approach taken here more directly stresses the geometric
nature of the result.
The principle of virtual work is used to obtain the
generalized forces (or torques) necessary to counteract
externally applied loads and put the system in a
configuration (i.e., position) dependent static equilibrium.
This principle has been employed by many researchers (e.g.,
Whitney, 1972, Paul, 1972 and Thomas, 1981) to deal with
loads applied to the endeffector of a serial manipulator.
It can also be used to handle loads generated by such system
components as springs and dampers as demonstrated by
Benedict and Tesar (1978b) and Freeman (1980).
D'Alembert's principle is used in conjunction with the
principle of virtual work to address the system's inertial
dynamics. This approach to determining the generalized
inertial loads is not unique to the author and has been
51
Table 23. First Order Influence Coefficients
for Serial Manipulators
Symbol
Joint Type
at M at N
Restrictions
Value
Rotational

n
Sn
[gJKj
n> j
All n
0
0
Translational
R
n
(PRn)
0
P
n<3
Sn
R,P n>j 0
132
Before continuing, note that (in general) if
then
[G<2] = C rG
w n' w 111'
(458)
(459)
and
LHS ]n.. = [rH^ ]m..
WW lL r r x*7t7 '
WW
(460)
Finally, applying the transfer equations, one obtains for
the desired describing equations
where
T = [I* ]q + qT[P* ]q TL
q
qq
(461)
[I* ] = [g^JTci* kg'?]1
qq w ww w
CP* ]
qqq
with
and
[G<*rTucg^jt [p* j) (ci* j [h
w w www qq ww w
(462)
TL = C G^]T tl
q w ~W
[Gw] = [G^r1
q w
(463)
[Hw ] = [ G^ 3 T ( [G^]1 [H<3 J ) [ G^ ] ~ !
qq w w ww w
(464)
Here, the dynamic model of an extremely complicated
multiinput spatial mechanism has been derived in terms of
relatively simple serial manipulator relationships, again,
134
via a double application of the generalized coordinate
transfer equations. In fact, the hybrid parallelserial
mechanism (Fig. 43) treated by Sklar (1984) can be modeled
using the same procedure. To see this, simply include (cp4),
(CP5) and (cpg) in each of the three initial sets (rcp,
r=l,2,3). Include the inertial effects of links (3), (4),
(5) and (6) in the direct (initial) modeling of one (and
only one) branch, and note that (cp4), (cpg) and (cpg) must
(also) be included in the desired coordinate set (q). Also
note, the reverse position problem (i.e., specify (w) and
determine (q)) for both devices can be addressed using the
analysis techniques of Duffy (1980) and Duffy and Crane
(1980). The results of this parallelmechanism analysis are
verified (in Appendix E) by simulation of a simple
threedegree of freedom planar device.
Redundant Systems
Consider a general Mdegree of freedom system (qe RM)
operating relative to an Ndimensional space ( 1RN).
Further, consider that there exists a superabundance of
kinematically independent inputs (q) with which to obtain
the most general motion possible (ue IRN) for a free
unconstrained body (u) residing in that space (i.e., M>N).
This superabundance of kinematically independent inputs
(refered to here and in the general literature as
redundancy) is perhaps most easily illustrated by the
87
M
E
3=1
9T
<Â£
9 jTu
M n m
= E pGu]T
9=1 cp
6jlu
(2227)
Investigation of equation (2225) shows that no new
computations are required for the first two coefficient
matrices however; for the third (i.e., [gT^/g^]) there
appears to be a considerable additional requirement. In
view of this, especially with recognition of the
considerable similarity in the basic nature of the various
components making up this coefficient, a detailed
investigation of this matrix to determine the minimal
reduced equation is warranted. However, since the
linearized model coefficients are based on the nominal
trajectory and determined offline, this effort is left for
future work.
Actuator Dynamics
In this section only one of many types (e.g.,
electromechanical, hydraulic, pneumatic, etc.) of actuators
is investigated. For additional information on actuators
and their dynamics the reader is referred to Borovac et al.
(1983), Electrocraft (1978) and other sources.
The specific type of actuator addressed here is the
separately excited dc motor (Myklebust, 1982). In this
device, the field current is held constant and speed control
is accomplished by control of the armature terminal voltage.
The controlling equations for this type of device are
APPENDIX B
SECONDORDER TRANSFER FOR A SIMPLE MANIPULATOR
Here the specific case of the wristpartitioned
manipulator shown in Fig. Bl and treated by Hollerbach and
Sahar (1983) is addressed. In this class of manipulator
(i.e., wristpartitionable) the orientation of the
endeffector is completely specified by (and completely
specifies) the last three joint positions. This allows the
inverse kinematics of the first three joints (eg) to be
obtained in terms of the cartesian coordinates of a
wristpoint (P), where the wristpoint (P) is determined
directly from the position and orientation of the
endeffector. (i.e., independent of the last three joints).
As a result of this partitioned solution capability the
kinematic influence coefficients relating the joint
coordinates (
determined directly (and simply), without the need to employ
the transfer of generalized coordinate approach. Therefore,
the wristpartitioned manipulator is ideally suited to serve
as vehicle to verify (algebraically) the results of the
generalized coordinate transformation approach to the
inverse kinematics problem (specifically, the transferred
(h,H) function result).
153
139
coordinates required to obtain the specified controlled
variable kinematics in accordance with the given performance
criteria, where
[I* ]
qu
and
[P* J
quu
[i* ][gu]r = [gu]t([gu][i* r1[GujTr1
qq q q q qq q
[GurRT{[P* ] ([i* j [hu ])HGurR
q qqq qu qq q
MxN
(474)
MxNxN
(475)
Here (see also Thomas and Tesar, 1982a, equation (3.35) for
a nonredundant manipulator), it should be noted that the
effective loads at (q) are expressed directly in terms of
the controlled variable kinematics resulting in what could
be refered to as a partial transfer of coordinates.
Qverconstrained Systems
The devices considered in this section can also be
thought of as redundant in that the redundancy comes from
a superabundance of kinematically (dependent) inputs, as
illustrated by the threedegree of freedom, four (and
six)input systems of Fig. 45. This situation is
dramatically different from the previous case where the
superabundance was of kinematically (independent) inputs.
In that case, the only kinematic invariant is the controlled
variable itself, and the joint loads are uniquely determined
after the remaining system kinematics are selected (via
optimization). Here, once the kinematics of the controlled
125
and since the coordinates (y) are now considered to be the
generalized coordinates (i.e., independent) that
[GY] = [I] = (MR) x (MR)
Y
(435)
and
[HY J = [0] = (MR) X (MR) X (MR) i4_3i
YY J
Now, following the technique (which will be more rigorously
illustrated in the next application) implied by the
construction of the influence coefficient matrices ([G^])
and ([H^]) relating the augmented set (w) to the initial
set (eg) one can simply piece together the required
influence coefficients
[G3] = (MR) x (MR) (437)
and
LH^ ] = (MR) X (MR) X (MR)
YY (438)
from the known relationships of equations (433) through
(436) for any (MR) desired components (q) of the set (a,
f). Note that judicious selection of (a) will simplify
this task.
Finally, the desired describing equations are obtained
from a second application of the generalized transfer
equations as
[GY] = [G^]1
q Y
[HY ] = [G<3]t( [GS]1
qq y y
[H<3 mcS]!
YY Y
(439)
24
for completeness. The definition of the particular physical
system that is being considered is addressed first. Then the
notation defining the physical parameters is established.
Next, the geometric relationships corresponding to equation
(23) are developed. Finally, the kinematics of the serial
manipulator are derived in terms of explicit equations
defining the kinematic influence coefficients as opposed to
the conceptual relationships of the preceding general
development.
System definition and notation
The analytical development presented here, altered
notationally and extended to cover thirdorder kinematics, is
based directly on the work of Thomas (1981) and is included
for completeness. The serial manipulator, in essence an open
loop kinematic chain consisting of a series of rigid links
joined by onedegree of freedom lowerpair connectors, is
illustrated in Fig. 21. This treatment specifically
addresses only revolute (R) and prismatic (P) pairs because
most other typically encountered joints can be considered as
combinations of the two (e.g., a cylindric joint is analyzed
as an RP combination). Investigation of Fig. 2.1 shows that
both types of joints, revolute and prismatic, have two
independent parameters associated with them, (Sjj, 0j ) and
(sj, Â¡j), respectively. The parameter Sjj (or Sj} is the
offset distance along the joint axis, s^, between the two
links connected by the joint connects. The parameter 0j (or
155
([Gp]1 [Hp ])i..
(P (pep L '
([GP J _1)n [HP ]
= (g1)T [Hp ]
p cpcp
(B7)
= 1
r
0
(1)PZ a^s
34so2 + 3
(l)pz o 0
a3 4s02 + 3
0
where [H^] is given in Table Bl. Finally, performing the
remaining multiplications one has that
SU!) c(21) 0
c(201) s(201) 0
0 0 0
or, for the acceleration of joint one
s(20x) c(2Q) 0
= 1
pp i,, c
r
(B8)
]_ = lts! cx 0]P + _1 PJ
r 2
r
where recognizing that
c(20]_) s(20]_) 0
0 0 0
P
J (B9)
(1)pZc02+3 r s02+3 = a23s03 r = (1)PX
(B10)
aids considerably in the derivation of equation (B8). Now,
from Fig. Bl, one has the two simple relationships
rc! = Px
rsQL = PY (B11)
Taking the derivative of equation (Bll) with respect to
time yields
rQps^ + rc1 = Px
rj^cQL + rs1 = Â£>y
(B12)
114
approach may (or may not) yield a better controller design
(since, after all, as the joint perturbations go to zero so
to do those at the endeffector (for a relativelyrigidlink
device)) it at least allows one to view the system from a
different point of view.
22
and
P x M
3. ^ Â£T Hu tT(<\
cpcp = 3( [ cpcp ] ~)
9Â£ 9Â£
cpT cp? cp
9(~ [ cpcp] ) 3(~ L cpcpjJ
3
3,Â£TrH2 ,Â£*
3( [ cpcp] )
9 q>l
(T H^5
9t [ cpcp]^)
9 cp^
cpT H2 cp
9(~ [
9 cpjyj
(239)
cp^ cp
3(~ [ cpcp])
9
Now
yielding
9(^ [Hcpcp]^)= 6T[_1_( [hSq,3) ]g>
9 (Pi
9 (Pi
(240)
= Â£TLDicp(p]Â£ =1x1
9 u
cpcp =
9 Â£
Â£T[Dl(pcpjÂ£ Â£^f^2cpcpIÂ£ i^^Mcpcp^
Â£TtDl(pcp]Â£
Â£T[D1(p(p](Â£
rn r
Â£T [ DMcpcp J Â£
(241)
= Â£TE Vpcp]Â£ = P x M
The letter (d,D) is used to denote the thirdorder geometric
derivative and the shape of the quantity is equal to the
dimension of the superscript by the dimensions of the
subscripts, respectively. Further defining the third order
kinematic influence coefficient (d,D) one has
16
And, the velocity (P) of a particular dependent parameter
(uP) is written as
P = 2ep 2 = U x M)(M x 1) =1x1 (29)
or
M
P = E gP(pn = E(lxl)(lxl)=lxl (210)
n=l n 11
Noting that firstorder influence coefficients (g,G) are
functions of the generalized coordinates (eg), one recognizes
that the velocity vector () is a function both of the
position (eg) and velocity (
(cpm; m = 1,2,... ,M) This allows one to obtain the second
time derivative (u) of the dependent parameters (u)
from
= 3^ + 3 = ^ = U(j)(p (211)
3
The first partial derivative in equation (211) is
3 = [GVJ = ^H[Gu]
where the last term is the MxM identity matrix. This gives
the partial acceleration of (_u) due to the acceleration of
the inputs (eg) as
as = Â¡Sis (2i3)
Recalling the standard Jacobian form for derivatives of
vectors, one has
BIBLIOGRAPHY
Armada, M.A., and No, J. 1981. Bilinear manipulator models:
Application to suboptimal control. Proc. 11th Int. Symp.
Industrial Robots 747754.
Assada, H., and YoucefToumi, K. 1983. Analysis and design
of semidirectdrive robot arms. Proc. of 1983 American
Contr. Conf. 757764.
Behi, F. 1985. Ph.D. dissertation in preparation,
University of Florida.
Benedict, C.E., and Tesar, D. 1971. Dynamic response
analysis of quasirigid mechanical systems using
kinematic influence coefficients. J. Mechanisms
6:383403.
Benedict, C.E., and Tesar, D. 1978a(Oct.). Model
formulation of complex mechanisms with multiple inputs:
Part I Geometry. J. Mechanical Design 100(4): 747753.
Benedict, C.E., and Tesar, D. 1978b(Oct.). Model
formulation of complex mechanisms with multiple inputs:
Part II The dynamic model. J. Mechanical Design 100(4)
755761.
Borovac, B., Vukobratovic, M., and Stokic, D. 1983.
Analysis of the influence of actuator model complexity on
manipulator control synthesis. Mechanism Mach. Theory
18(2):113122.
Cox, D.J., and Tesar, D. 1981(Sept.). The dynamic modeling
and command signal formulation for parallel
multiparameter robotic devices. Internal report, CIMAR,
University of Florida.
Curtis, F.C. 1972. Dynamic state analysis of mechanisms
composed of binary structury groups. Master's thesis,
University of Florida.
Dubowsky, S., and DesForges, D.T. 1979(Sept.). The
application of modelreferenced adaptive control to
robotic manipulators. Trans. 'ASME J. Dyn. Syst.,
Measurement Contr. 101(3):193200.
Duffy, J. 1980. Analysis of mechanisms and robot
manipulators. New York, N.Y.: John Wiley and Sons, Inc.
Duffy, J., and Crane, C. 1980. A displacement analysis of
the general spatial 7link, 7R mechanism. Mechanism
Mach. Theory 15(3):153169.
176
126
and
Tg. = [I* ]q + qT[P* ]q TL (440)
_q qq qqq ~ q
where
[i* ] = [g^jTci* ][]X
qq y yy y
[P* ] = [G<5jT{( [G^jT [P* ]) ([I* ] [H<3 mtGS]1
qqq Y Y YYY qq YY Y
TL = [G^]T TL (441)
q y ~y
Thus, (by the double application of the transfer technique)
one is able to model any singleloop mechanism (with the
actuators located at any set (q) of the linkage joints) by
simply determining the jointreferenced model of an open
kinematic chain. Now, if the actuators are associated with
coordinates other than the joints (
obtain the required coefficients ([Gq]) and ([Hq^,]) one
must take care to use the general dependent parameter
kinematic transfer equations to carry the desired parameter
along throughout the complete transfer process. This, then
actually allows one to obtain the model for (any)
generalized coordinate set. In fact, this procedure avails
itself to the analysis of the two main types of specialcase
singleloop linkages. Those being; mechanisms containing
unspecified independent coordinates, and mechanisms having
one or more redundant constraints. These two cases are
discussed briefly in Appendix D in terms of the spatial
slidercrank and Bricard mechanisms, respectively.
64
complexity of the function evaluations required at each time
step. It should be pointed out, however, that the effective
inertia matrix is the only model coefficient necessary for
the response prediction. The remaining terms are perhaps
best obtained in terms of a recursive formulation due to the
supposed greater computational efficiency afforded by that
method (Walker and Orin, 1982).
Also, the influence coefficient model formulation allows
one to directly address the question of design (Thomas,
1981). Here, the model parameters can be used in conjunction
with classical optimization techniques to develop actuator
sizing (Thomas et al., 1984) and stiffness (Thomas et al.,
1985) criteria, as well as motion and load capacity due to
actuator limitations (Thomas and Tesar, 1982a).
Dynamics of Serial Manipulators
The development of the dynamic equations presented here
will follow the structure of the previous parts of this
section. First, the effect of applied loads on the
manipulator's generalized inputs (eg) will be addressed using
the principle of virtual work. Next, the systems inertial
effects will be considered via the generalized principle of
d'Alembert. Finally, the resulting dynamic equations are
presented in the form of the generalized dynamic model of
equation (2145).
79
coefficients in the state space model. In other words, for
a given task (or trajectory), do the coefficients vary
slowly enough to allow the system to be treated as time
invariant with respect to controller design? While this
type of formulation is not original (see Vukobratovic and
Kircanski, 1982b, Lee and Lee, 1984, and Whitehead, 1984),
it does not appear to have been fully investigated.
Therefore, for possible future investigation (for specific
shortterm solutions) and completeness, this section
presents the development of the generalized controlling
state space equations for the serial manipulator, including
actuator dynamics.
The Linearized Equations of Motion
The first step in the development of the controlling
state space equations is the linearization of the dynamic
equations with respect to the prescribed state variables
(ignoring, for the moment, the actuator dynamics). Here,
adopting the standard velocityreferenced model, the
deviations in the generalized coordinate positions (6co) and
velocities () make up the (2Mxl) state vector (x), or
x
g> actual
Now, noting that the generalized load (T^) is a function of
the generalized positions (
accelerations ($), one has
149
engineer. That is, the determination of the basic
mathematical model representing the system dynamics. It is
hoped that the removal of this burden (and the additional
insight obtained by viewing the system from different sets
of generalized coordinates) will encourage one to be more
creative and investigate the possibility of systems that
might otherwise be thought unattainable.
123
where the preceding subscripts indicate which generalized
coordinate set the parameter is related to (i.e., the
preceding subscript gives additional information concerning
the independent parameters).
Now, returning to equations (425) through (428), in
light of the R constraints (c) it is convenient to define a
new intermediate parameters set (y) given by the remaining
(MR) free coordinates as
(MN)xr
(NR)xl.
= (MR)xl
(430)
With this notation one can rewrite equation (425) as
+ (y
I rp
,C*)
p
p
wyyiPwyc
wcyI wcy
(431)
since the parameters (c) are now fixed (i.e., c=c=0) Note
that equation (431) not only gives the effective loads
(Ty) required to drive the (MR)degree of freedom mechanism
from the coordinate set (y) (for some specified kinematic
state y, y, y), but also gives the resulting constraint
forces (Tc) (if desired). Additionally, the first of
equations (431) can be used to address the effects of (and
on) nonrigid bearings. The similarity between the closure
approach taken here and the 7R mechanism approach to the
reverse position solution of the general 6R manipulator of
Duffy and Crane (1980) and the Uicker et al.(1964) iterative
26
terms of its direction cosines. The direction cosine
representation of the vectors and s^ can be obtained,
where all joints are assumed to be revolutes, from the
initial direction cosines
*sx = (0, 0, 1)T
*a12 = (c!, slf 0)T
and the recursive relations
(248)
*sj = 1)s^ = T j 1(0,sa(j.jj j, ca(j_1)jj)T
j = 2,3,...,M (249)
*a3k = T^1^_1)a^k = _1 ( c0j ,ca( j _1 j js0j sa( j _j_) jS0j )T
where c0 = cos0, s = sin, etc.
If the joint is prismatic, simply replace 0]_ by ]_]_ and s^
by Sj_ here and in the subsequent general equations. Finally,
the position vector, R j, locating the origin of the jt^1
reference is given by
Rj = sm1 + (*(11)1 a(11)1 + sjjjs1)
(250)
Using equations (248), (249) and (250), the configuration
of the serial manipulator is completely defined once all the
zeroth order independent parameters are specified (e.g.,
sll'. a(ll)l' a(ll)l' 1' etc.). The reverse position
solution, that of solving for the variable input parameters
given the desired hand location (e.g., R6, a67, s6), is (in
general) considerably more difficult (Duffy, 1980) and is
not addressed here. The notation involved in the kinematic

