Page 1

Multibody System Dynamics (2005) 14: 419–455

C ?Springer 2005

Modular and Recursive Kinematics and

Dynamics for Parallel Manipulators

WASEEM AHMAD KHAN1, VENKAT N. KROVI2, SUBIR KUMAR SAHA3

and JORGE ANGELES1

1Centre for Intelligent Machines, McGill University

2Mechanical and Aerospace Engineering, State University of New York at Buffalo;

E-mail: vkrovi@buffalo.edu

3Department of Mechanical Engineering, IIT Delhi

(Received 1 July 2004; accepted in revised form 27 June 2005)

Abstract. Constrained multibody systems typically feature multiple closed kinematic loops that con-

strain the relative motions and forces within the system. Typically, such systems possess far more ar-

ticulated degrees-of-freedom (within the chains) than overall end-effector degrees-of-freedom. Thus,

actuation of a subset of the articulations creates mixture of active and passive joints within the chain.

The presence of such passive joints interferes with the effective modular formulation of the dynamic

equations-of-motionintermsofaminimalsetofactuatorcoordinatesaswellthesubsequentrecursive

solution for both forward and inverse dynamics applications.

Thus, in this paper, we examine the development of modular and recursive formulations of

equations-of-motion in terms of a minimal set of actuated-joint-coordinates for an exactly-actuated

parallel manipulators. The 3 RRR planar parallel manipulator, selected to serve as a case-study,

is an illustrative example of a multi-loop, multi-degree-of-freedom system with mixtures of ac-

tive/passive joints. The concept of decoupled natural orthogonal complement (DeNOC) is combined

with the spatial parallelism inherent in parallel mechanisms to develop a dynamics formulation that

is both recursive and modular. An algorithmic approach to the development of both forward and

inverse dynamics is highlighted. The presented simulation studies highlight the overall good nu-

merical behavior of the developed formulation, both in terms of accuracy and lack of formulation

stiffness.

Keywords: recursive kinematics, modular dynamics, decoupled natural orthogonal complement,

parallel manipulators

1. Introduction

The recent few decades have witnessed an increased use of dynamic computational

models for the design, analysis, parametric refinement and model-based control of

a variety of multibody systems such as vehicles, heavy machinery, spacecraft and

robots. The principal underlying factor for this revolution has been the improved

understanding of the methodologies for dynamic modeling of these increasingly-

complex multibody systems. A good overview of the wide variety of problems-of-

interest, the proposed formulations as well as some of the computational methods

Page 2

420

W.A. KHAN ET AL.

to address some of these problems may be seen in a number of seminal textbooks

[7, 16, 20, 43, 44].

In the context of robotic multibody systems, the systematic formulation and ef-

ficient solution of both the inverse- and the forward- dynamics problems are of

great interest. The goal of the inverse dynamics problem is to formulate the sys-

tem’sequations-of-motion(EOM)andcomputethetime-historiesofthecontrolling

actuated joint torques/forces, given the time-histories of all the system’s actuated-

joint variables. The solution process is primarily an algebraic one and typically

does not require the use of numerical integration methods since the position coor-

dinates, velocities and accelerations of the system are known. On the other hand,

the forward dynamics problem seeks to formulate the system’s EOM and com-

pute the time histories of all the joint coordinates, given the time-histories of the

actuated joint torques/forces. The solution is obtained in a two-stage process: an

initial algebraic solution of the EOM to determine the accelerations which are then

numerically integrated in a second stage to obtain the velocity and position time

histories.

For either problem-of-interest, the critical first step remains formulation of the

EOMandforwhichtheprincipalformulationapproachesfallintooneoftwobroad

categories: Euler-Lagrange methods and Newton-Euler methods. Euler-Lagrange

approaches are commonly used in robotics to obtain the EOM of robotic manipu-

lators within a configuration space defined in terms of relative joint variables. For

serial chain manipulators, such relative joint variables afford a minimal-coordinate

description and additionally often permit a direct mapping to actuator coordinates.

Newton-Euler formulations on the other hand, typically are defined in terms of

Cartesian configuration coordinates. Recursive formulations are created by first

developing EOM for each body, which are then assembled to obtain the EOM for

the entire system. Both formulation approaches have been shown to be extremely

effective in generating efficient (and essentially equivalent) EOM for serial-chain

and tree-structured multibody systems.

However, the adaptation of such formulations to efficiently generate and solve

the EOM of constrained multibody systems has proven challenging. Such systems

can range from fixed topology systems (various types of parallel manipulators,

closed-looplinkages)tovariable-topologysystems(leggedwalkingmachines[45],

multi-fingered hands [23, 41] and cooperative payload manipulation systems [25]).

Thecharacteristic(anddominant)featureofallsuchconstrainedmultibodysystems

istheformationofclosedkinematicloops.Theengenderedloop-closureconstraints

then serve to constrain the relative motions and forces within the system creating

a spectrum of underactuated, exactly-actuated or redundantly-actuated dynamic

systems [26].

Traditionally, the kinematic loop-closure constraints have been modeled by in-

troducingalgebraicconstraints(typicallynonlinear)intothedynamicsformulation.

The resulting systems of Differential Algebraic Equations (DAEs) offer numerous

challenges for both forward dynamics and inverse dynamics. It is noteworthy that

Page 3

MODULAR AND RECURSIVE KINEMATICS AND DYNAMICS

421

the solution is very closely tied to the form of the EOM which, in turn, depend

critically upon the method of formulation. As Ascher et.al. [6], note the form of

the EOM can result in a formulation stiffness whose effects manifest themselves in

conjunction with but distinctly differing from the effects of the numerical stiffness

of the selected numerical integration scheme.

In this paper, we will examine the development of both forward and inverse

dynamics formulations for a subclass of constrained mechanical systems using an

examplaryparallelmanipulator.Suchparallelmanipulatorsystemspossessanatural

spatial parallelism and multiple closed kinematic loops arising due to multiple

legs/branchescomingincontactwiththecommoncentralmobileplatform.Parallel

manipulatorsalsofeaturemultiplesetsofactiveandpassivejointswithintheseloops

requiring careful modelling – thus the selection of a parallel manipulator example

is intended to be illustrative.

Further, we place emphasis on the modular and recursive development of both

forwardandinversedynamicsformulations(intermsoftheminimalsetofactuated-

coordinates)forsuchparallelmanipulatorsystems.Theemphasisonmodulardevel-

opment is to promote reuse of existing components – an overall system is assumed

tobecomposedofseveralserialortreestructuredindividualsubsystemsplussetsof

holonomic constraints. In particular, we examine exploiting the spatial parallelism

[30] that is inherent in closed kinematic chains to pursue a modular composition

of the overall system dynamics. Further, we note that while modular formulation

may not be a critical issue for fixed-topology parallel manipulator systems, many

variable-topology constrained mechanical systems would benefit from a modular

formulation.

Recursive algorithms are desirable from the viewpoint of simplicity and unifor-

mity of computation despite the ever-increasing complexity of multibody systems.

More specifically, in the context of robotic systems, the recursive implementation

of dynamics algorithms has been the key to efforts in real-time dynamics compu-

tations and subsequent implementation of dynamic-model-based control (ranging

from computed torque to model reference adaptive control methods). Thus, it is

anticipatedthattheabilitytorecursivelyimplementdynamicsalgorithmsinparallel

manipulator systems would play a similar critical role.

It is important to note that, prior to the dynamics computation stage, a forward

or inverse kinematics stage is often required. Hence, the development of efficient

recursive dynamics algorithms also necessitates the careful investigation of recur-

sive kinematics algorithms, which remains a challenging research problem. Thus,

a recursive algorithm for the forward dynamics of closed-chain systems first ap-

pearedin[40]buildingontherecursivenatureoftheDecoupledNaturalOrthogonal

Complement (DeNOC) matrices. However, a limited set of examples of primarily

one- and two-degree-of-freedom, single-loop planar manipulators were reported

there. In the current paper, we explore the extension and application of the DeNOC

approach to the case of multi-loop, multi-dof parallel manipulators with mixtures

of active and passive joints.

Page 4

422

W.A. KHAN ET AL.

We will bear these aspects in mind while we briefly review and discuss major

methods of formulation of the EOM (for both serial and parallel manipulators) in

Section 2. Section 3 presents the relevant background pertaining to the DeNOC

approach which forms the basis of the recursive and modular dynamic formulation

for parallel-architecture manipulators. Section 4 discusses the nuances of the im-

plementation in the context of a case-study of a 3 RRR planar parallel manipulator

which features both the multiple closed-loops and the mixtures of actuated and

unactuated joints within the chain. The results are discussed in the context of a

numerical example in Sections 5 and 6 concludes this paper.

2. Constrained Multibody Dynamics

2.1. NON-RECURSIVE EULER-LAGRANGE FORMULATIONS

In the Euler-Lagrange approach, the dynamics of constrained mechanical system

with closed loops are traditionally obtained by cutting the closed loops typically

at passive joints. The EOM for the resulting tree-structured articulated-system are

then developed in terms of a set of extended generalized coordinates [14]. All

solutions are then also required to satisfy the additional algebraic constraint equa-

tions required to close the cut-open loops which are enforced by way of Lagrange

multipliers. The resulting formulation, in descriptor form, yields an often sim-

pler albeit larger system of index-3 differential algebraic equations (DAEs) as

follows:1

I(q)¨ q = f(q, ˙ q,u) − A(q)Tλ

c(q) = 0

(1)

(2)

where q and ˙ q are, correspondingly, the n-dimensional vector of generalized coor-

dinates and of velocities, I(q) is the n×n dimensional inertia matrix, c(q) is the m-

dimensional vector of holonomic scleronomic constraints; λ is the m-dimensional

vector of Lagrange multipliers, A(q) is the m × n constraint Jacobian matrix,

f(q, ˙ q,u) is the n-dimensional vector of external forces and velocity-dependent

inertia terms, while u is the vector of actuator forces or torques. The solution of

such systems of index-3 DAEs by direct discretization is not possible using explicit

finite difference discretization methods [7]. Instead, typically, the above system

of index-3 DAEs is converted to a system of ODEs and expressed in state-space

form,whichmaybeintegratedusingstandardnumericalcodes.Someofthetypical

methods used to achieve this are discussed below.

1The differential index is defined as the number of times the DAE has to be differentiated to obtain

a standard set of ODEs

Page 5

MODULAR AND RECURSIVE KINEMATICS AND DYNAMICS

423

2.1.1. Direct Elimination

The surplus variables are eliminated directly, using the position-level algebraic

constraints to explicitly reduce the index-3 DAE to an ODE in a minimal set

of generalized coordinates (conversion into Lagrange’s Equations of the second

kind). This is also referred to as the closed form solution of the constraint equations

– the resulting minimal-order ODE can then be integrated without worrying about

stability issues. However, such a reduction cannot be done in general, and even

when it can, the differential equations obtained are typically cumbersome [22].

2.1.2. Lagrange Multiplier Computation

All the algebraic position and velocity level constraints are differentiated and rep-

resented at the acceleration level, to obtain an augmented index-1 DAE (in terms

of both unknown accelerations and unknown multipliers) [7, 32] as:

?I(q) AT

A0

??¨ q

λ

?

=

?

f

−˙A(q)˙ q

?

(3)

which may be solved for ¨ q and λ. By selecting the state of the system to be

x = [qT˙ qT]Tthe above set of equations may be converted to the standard state-

space form and integrated using standard codes. The advantage is, the conceptual

simplicity and simultaneous determination of the accelerations and Lagrange mul-

tipliersbysolvinglinearsystemofequations.However,suchamodelrequiresmore

initial conditions than a model that uses an independent set of minimal-actuation-

coordinates and tends to suffer from numerical stability issues.

2.1.3. Lagrange Multiplier Approximation/Penalty Formulation

In this approach the loop-closure constraints are relaxed and replaced using virtual

springs and dampers [50]. Using such virtual springs can be considered as a form

of penalty formulation [16], which incorporates the constraint equations as a dy-

namical system penalized by a large factor. The Lagrange multipliers are estimated

usingacompliance-basedforce-law(basedontheextentofconstraintviolationand

an assumed spring stiffness) and eliminated from the list of the n + m unknowns

leavingbehindasystemof2n firstorderODEs.Whilethesoleinitialdrawbackmay

appeartoberestrictedtothenumericalill-conditioningduetotheselectionoflarge

penalty factors, it is important to note that penalty approaches only approximate

the true constraint forces and can create unanticipated problems.

2.1.4. Dynamic Projection on to Tangent Space

These seek to take the constraint-reaction-containing dynamic equations into the

orthogonal and tangent subspaces of the vector space of the system’s generalized

velocities.LetS(q)beann×(n−m)full-rankmatrixwhosecolumnspaceisinthe

Page 6

424

W.A. KHAN ET AL.

null space of A(q) i.e. A(q)S(q) = 0. The orthogonal subspace is spanned by the

so-calledconstraintvectors(formingtherowsofthematrixA(q))whilethetangent

subspace complements this orthogonal subspace in the overall generalized velocity

vectorspace.Allfeasibledependentvelocities ˙ qofaconstrainedmultibodysystem

necessarily belong to this tangent space, appropriately called the space of feasible

motions. This space is spanned by the columns of S(q) and is parameterized by an

n − m dimensional vector of independent velocities, ν(t), yielding the expression

for the feasible dependent velocities as ˙ q = S(q)ν(t). A family of choices exist for

theselectionbetweendependentandindependentvelocities,whereeachchoicecan

give rise to a different S(q). A popular choice, called Coordinate Partitioning [44],

in which the generalized velocity is partitioned into m-dimensional dependent ˙ qd

and (n − m)-dimensional independent ˙ qivelocities, i.e.,

?˙ qd

˙ q =

˙ qi

?

(4)

Byselectingν(t) = ˙ qiandsolvingthelinearconstraintsofA(q)arelationbetween

˙ qdand ˙ qiis then obtained as A˙ q ≡ Ad˙ qd+ Ai˙ qi = 0. While Adis nonsingular,

one can solve for ˙ qd= −A−1

leads to a special form of S(q) (denoted by T)

dAi˙ qi≡ K˙ qiwhere K is an m ×(n −m) matrix. This

˙ q =

?K

1

?

˙ qi= T˙ qi

(5)

The n × (n − m) matrix T lies in the null space of A, i.e., AT = O, where O

represent the m × (n − m) zero matrix; matrix T is commonly called the loop-

closure orthogonal complement. Efficient methods for the numerical computation

of T exist and are reviewed by [16]. Pre-multiplying both sides of Equation (1) by

TTwe obtain a constraint-free second order ODE as

TTI(q)¨ q = TTf(q, ˙ q,u) (6)

The above system of equations is still under-determined, but may be success-

fully used in its current form for inverse dynamics applications (as it often is).

Equation (6) a system of n − m second order ODEs in n generalized coordinates,

and may then be augmented by m constraint conditions at the acceleration level,

A¨ q +˙A˙ q = 0, to form a system of n second-order ODEs in as many unknowns.

Alternatively, an approach known as the Embedding Technique [44] is commonly

used, where Equation (5) is differentiated with respect to time and embedded in

Equation (6) to create

TTI(q)T¨ qi+ TTI(q)˙T˙ qi= TTf(q, ˙ q,u)(7)

Page 7

MODULAR AND RECURSIVE KINEMATICS AND DYNAMICS

425

which is the minimal-order ODE sought and can be integrated with suitable ODE

solvers.Adetaileddescriptionofthevelocitypartitioningformulationaswellasthe

geometrical interpretation of constrained system dynamics can be found in Blajer

[11].

2.2. RECURSIVE NEWTON-EULER FORMULATIONS

TraditionalLagrange-basedformulationsofEOMyieldalgorithmsthatareoforder

O(N4) [14], in the number of floating point operations; where N is the number of

rigid bodies in the manipulator. In contrast, we note that most of the fast recursive

dynamics algorithms proposed in the last two decades have been based on the

Newton-Eulerformulation.StepanenkoandVukobratovic[47]arecreditedwiththe

development of the first recursive NE method for inverse dynamic computations

for human limbs that resulted in an O(N) algorithm. Orin et al. [33] improved

the efficiency of the recursive inverse dynamics method by referring forces and

moments to local link coordinates and employed it for real-time control of a leg

of a walking machine. Luh et al. [27] developed the first implementation of an

efficient Recursive Newton-Euler Algorithm (RNEA) for both forward and inverse

dynamics by referring most quantities to link coordinates. Further gains have been

made in the efficiency over the years, see for example [10] and [18].

Theearliest O(N)algorithmforforwarddynamicswasdevelopedbyVereshcha-

gin [48], who used a recursive formulation to evaluate the Gibbs-Appel form of the

EOM, applicable to unbranched chains. This is followed by the work of Armstrong

[5] who developed a more systematic O(N) algorithm for mechanisms including

those with spherical joints. Later, Orin and Walker [34] used RNEA for inverse

dynamics as the basis for an efficient recursive forward dynamic algorithm com-

monly referred to as the Composite-Rigid-Body Algorithm (CRBA). The necessity

to solve a linear system of equations of dimension N results in an algorithm of

complexity O(N3). However for small N, the first-order terms dominate the com-

putation, making the CRBA method perhaps the most efficient general purpose

algorithm for serial manipulators with N < 10 (which includes most practical

cases). Featherstone [13] developed the Articulated-Body Algorithm (ABA) which

was followed by a more elaborate and faster model [14]. The computational com-

plexity of ABA is O(N) but is more efficient than CRBA only for N > 9. Fur-

ther gains have been made in efficiency over the years, see for example [12] and

[29].

However,extensionofsuchNEmethodstosystemswithclosedkinematicloops

has met with limitations principally due to the algebraic nature of the constraints.

The most common method for dealing with kinematic loops is to cut the loop,

introduceLagrangemultiplierstosubstituteforthecutjointsanddeveloparecursive

methodwithintheindividualopen-chainsystems.Theresultingmethodworkswell

for inverse dynamics computations and is used extensively for real-time dynamic-

modelbasedcontrolapplications.However,mostoftheresultingforwarddynamics

Page 8

426

W.A. KHAN ET AL.

algorithms for closed-loop mechanisms result in EOM described in terms of a

non-minimal set of generalized coordinates [8, 9, 15, 42, 46]. These equations

would then need to be projected onto the independent set of coordinates, typically

by a numerical scheme, which destroys the recursive nature. This is the principal

limitationthattheDecoupledNaturalOrthogonalComplementapproach(discussed

next) seeks to overcome.

2.3. THE DECOUPLED NATURAL ORTHOGONAL COMPLEMENT

TheNaturalOrthogonalComplement(NOC)hasarichhistory[2–4]ofapplication

in reducing the unconstrained Newton-Euler EOM of various bodies of a serial-

chainarticulatedroboticsystemtoasetofreduced-dimensionEuler-LagrangeEOM

in terms of the minimal set of actuated joint-coordinates. We review some of the

critical underlying concepts of the NOC-based formulations and their applicability

todevelopingthereducedequationsintherestofthissub-section.Abriefoverview

of critical mathematical foundations is presented in Section 3 and the interested

reader is referred to [2] for further details.

The key to the development of the reduced equations by the NOC method

is the definition of the NOC matrix – a velocity transformation matrix that re-

lates the Cartesian angular/translational velocities of various bodies to the joint

rates defined as orthogonal to the kinematic constraint matrix. While, in general,

orthogonal complement matrices tend to be non-unique, Saha and Angeles [39]

showed a systematic and constructive method for computing a unique Natural

Orthogonal Complement for the twist constraint matrix, eliminating the need for

use of numerical SVD/eigenvalue methods. This feature is capitalized upon and

plays a critical role in the development of the reduced dynamic equations. By def-

inition, the columns of such an NOC matrix span the null space of the matrix

of velocity constraints. Hence, all motions for the articulated system defined as

linear combinations of the columns remain consistent (instantaneously) with the

applied constraints and hence do not generate any (non-working) internal forces.

Hence, projecting the unconstrained EOM onto the feasible motion space (spanned

by the columns of the NOC matrix) creates a reduced system of independent

EOM (in terms of the joint rates) while eliminating all the non-working constraint

wrenches.

Saha [36–38] introduced a representation of this NOC matrix as the product

of two matrices – a lower block triangular matrix and a block diagonal matrix

– termed the Decoupled Natural Orthogonal Complement matrices. The special

structure facilitates setup of a recursive forward/inverse kinematics computation

and serves as a critical first step towards implementing recursive forward/inverse

dynamics algorithms (that would otherwise not have been possible with the NOC

formulation).Thus,althoughrecursivekinematicsalgorithmsforserialchainshave

had a long history [27, 33, 47], a recursive algorithm for the forward kinematics

of closed-chain systems first appeared in [40]. In that work, examples of one- and

Page 9

MODULAR AND RECURSIVE KINEMATICS AND DYNAMICS

427

Figure 1. Two bodies connected by a kinematic pair.

two-degree-of-freedom,single-loopplanarmanipulatorswereincludedandvarious

physical interpretations were reported. In this paper, we explore the extension and

applicationoftheDeNOCtothecaseofmulti-loop,multi-dofparallelmanipulators,

usingatwo-stepapproachandemphasizingtheuseofgeometricparallelisminsuch

systems.

3. Mathematical Background

3.1. TWISTS, WRENCHES AND EQUATIONS OF MOTION

In this section, some pertinent definitions and concepts will be briefly reviewed.

See [2] and [36] for further details. Figure 1 shows two rigid links of a serial chain

connected by a revolute pair. The mass-center of ithlink is at Ci while that of

link i − 1 is at Ci−1. The axis of the ithpair is represented by a unit vector ei. We

attach a frame Fiwith origin Oiand axes Xi, Yiand Zi, to link i − 1, such that

Ziis parallel to ei. The global inertial reference frame F with axes X, Y and Z is

attached to the base of the manipulator. Unless otherwise specified, all quantities

willberepresentedinthisglobalframeintheensuingdiscussion.Further,wedefine,

the three-dimensional position vectors difrom the Oito the mass center of link i

and ri−1from the mass center of link i − 1 to Oi. The six-dimensional twist2and

wrench vectors of link i at its mass center Ciare now defined as

?ωi

where ωi, vi, ni, and fiare the three-dimensional angular and linear velocities of

the center-of-mass and the moment and force vectors acting at the center-of-mass

ti=

vi

?

;

wi=

?ni

fi

?

(8)

2See Appendix A for further details of this hybrid twist definition.

Page 10

428

W.A. KHAN ET AL.

oflinki,expressedinaninertialframeofreferencecoincidentwithCi.TheNewton-

Euler equations for link i are

ni= Ii˙ ωi+˙Iiωi= Ii˙ ωi+ ˆ ωiIiωi

fi= mi˙ vi

where Iiis the 3 × 3 inertia tensor about Ci, miis the mass of link i and ˆ ωiis the

cross product matrix of ωi. The above set, in vector form, may be written as

wi=

?Ii O

?

O mi1

??

?

?

Mi

?˙ ωi

˙ vi

?

+

?ˆ ωiO

? ?? ?

O O

?

Wi

?Ii O

O mi1

??ωi

vi

?

(9)

or

wi= Mi˙ti+ WiMiti

(10)

For a serial chain with n moving rigid links coupled by n revolutes, we define

t =

t1

...

tn

;

w =

w1

...

wn

(11)

The resulting set of Newton-Euler equations for the entire unconstrained system

then takes the form

w = M˙t + WMt

where M and W are block-diagonal matrices, namely,

(12)

M =

M1

O

...

O

O

O

O

O

Mn

; W =

W1

O

...

O

O

O

O

O

Wn

(13)

3.2. KINEMATIC RELATIONS BETWEEN TWO BODIES COUPLED

WITH A KINEMATIC PAIR

The twist˜tiof link i at the ithjoint location Oi, can be written recursively in terms

of the twist of link i − 1 at mass center Ci−1and including the contribution of the

ithjoint twist as

˜ti=˜Bi−1ti−1+ ˜ pi˙θi

(14)

Page 11

MODULAR AND RECURSIVE KINEMATICS AND DYNAMICS

429

where

˜Bi−1=

?

?ei

?0

1O

1

−ˆ ri−1

?

?

?

(15)

˜ pi=

0

, for a revolute joint(16)

˜ pi=

ei

, for a prismatic joint(17)

where ˆ ri−1is the cross product matrix (CPM)3of ri−1. Further, the twist˜tiof link i

at the ithjoint location Oican be transformed to the subsequent mass center Cias

?

1

ti= Bi˜ti;

Bi=

1O

−ˆdi

?

(18)

whereˆdi is the cross product matrix of di. Substituting the value of˜ti from

Equation (14) in the above equation we obtain

ti= Bi˜Bi−1ti−1+ Bi˜ pi˙θi

(19)

Further, we introduce the notation

ti= Bi,i−1ti−1+ pi˙θi

(20)

where

Bi,i−1=

?1

?

?0

O

1

?

−ˆ ai

?

(21)

pi=

ei

−ˆdiei

?

, for a revolute joint(22)

pi=

ei

, for a prismatic joint (23)

with ˆ ai= ˆ ri+ˆdi. Matrix Bi,i−1is called the twist propagation matrix and can be

seen to be the equivalent of the State Transition Matrix of Rodriguez [35], while

piis called the twist generator. The twist tiis thus the sum of twist ti−1and the

twist generated at the ithjoint, both evaluated at the corresponding mass centers.

3The cross product matrix (CPM) ˆ u of any three-dimensional vector u is defined, for any vector v

of the same dimension, as ˆ u = CPM(u) = [∂(u × v)/∂v].

Page 12

430

W.A. KHAN ET AL.

Equation (20) is recursive in nature and is, in fact, the forward recursion part of

the recursive Newton-Euler algorithm proposed by [27] for the efficient inverse-

dynamics computation of serial chains.

4. Modeling of a 3 RRR Planar Parallel Manipulator – A Case Study

Figure 2 shows a manipulator that belongs to the class of planar parallel manipu-

lators with three degrees of freedom [31]. For the sake of simplicity (but without

any loss of generality) we restrict ourselves to one that has: i) only revolute joints,

ii) identical legs and iii) a moving platform in the shape of an equilateral triangle.

The three degree-of-freedom (DOF) planar manipulator consists of three identical

dyads, numbered I, II and III coupling the platform P with the base such that

their fixed pivots lie on the vertices of an equilateral triangle. The proximal and the

distal links of each dyad are numbered 1 and 2 respectively. Joint 1 of each dyad

is actuated. The centroidal moment of inertia of each link about the axis normal to

the xy-plane is the scalar Ii, for i = 1,2. The platform is assumed to have a mass

mP(lumped at the mass-center located at the centroid of the moving equilateral

triangle P) and a centroidal moment of inertia IP. We divide the rigid platform P

into three parts, corresponding to the three serial chains, I, II and III, such that the

end effector of each open chain lies at point P, the mass-center of the platform P.

Cutting the platform in this manner is advantageous because:

– Torques may be applied to the joints that otherwise should be cut to open the

chains;

Figure 2. 3-DOF planar parallel manipulator.

Page 13

MODULAR AND RECURSIVE KINEMATICS AND DYNAMICS

431

– Joint friction may be accommodated directly for such joints;

– Cutting the links (platform) produces a more streamlined recursive modelling

algorithm for parallel manipulators;

While we will discuss some of these issues in detail, the interested reader is also

referred to a similar discussion of benefits presented in [51]. In what follows, we

will first consider the development of a recursive forward kinematics formulation

that will serve as the underlying basis for a recursive dynamic formulation.

4.1. RECURSIVE FORWARD KINEMATICS

The forward kinematics problem for a parallel manipulator consists of determining

the position, twists and twist-rates of the platform and all the other links given

only the actuated-joint angles, velocities and accelerations. Implicit in the final

solution, is the intermediate determination of the unactuated (passive) joint angles,

velocities and accelerations which are related to the actuated-joint angles through

the loop-closure constraints. For more details, see [24].

4.1.1. Position Analysis

The displacement analysis is a critical first step that lies beyond the scope of this

paper; we adopt the approach proposed by [28] to this end.

4.1.2. Velocity Analysis

Since the manipulator is planar, we use two-dimensional position vectors, three-

dimensional twist vectors t = [ω,v]T, and three-dimensional wrench vectors w =

[n,f]T, where ω is the scalar angular velocity, v is the two-dimensional velocity

vector, n is the scalar moment and f is the two-dimensional force vector. For each

chain, we define position vectors difrom the ithjoint axis to the mass center of

link i, ri from mass center of link i to the (i + 1) joint axis and ai = di+ ri

as shown in Figure 2. The twist of the end effector of each chain is given by

[40] as

tP= BP3t3

(24)

where

BP3=

?1

0T

1 Er3

?

;

E =

?0 −1

10

?

Page 14

432

W.A. KHAN ET AL.

For each serial chain, the twist of the ithlink, tican then be computed recursively

from the twist of the (i − 1)thlink and the ithtwist generator as

ti= Bi,i−1ti−1+ pi˙θi

?

where the 3×3 matrix Bi,i−1is the twist-propagation matrix; ti−1is the twist of

link (i − 1) with respect to its mass center; piis the twist generator; and˙θiis the

relative angular joint velocity of the ith joint, while 0 is the two-dimensional zero

vector and 1 is the 2×2 identity matrix. An expression for t3can be obtained based

on the above equations and may be substituted into Equation (24), to yield

(25)

Bi,i−1=

1

0T

1E(ri−1+ di)

?

pi=

?1

Edi

?

tP= BP3(B32t2+ p3˙θ3)

Noting that the third joint is a passive joint, its contribution to the end effector

twist may be eliminated by premultiplying the entire expression by Φ3, the twist

annihilator of ˜ p3= BP3p3(defined as shown in Appendix B) as

Φ3tP= Φ3BP2t2

Similarly, by substituting the twist of link-2, t2, into Equation (27), we obtain

(26)

(27)

Φ3tP= Φ3BP2(B21t1+ p2˙θ2)

The contribution of this second unactuated joint can similarly be eliminated from

the final twist by premultiplying Equation (28) by¯Φ2, the twist annihilator of

˜ p2= Φ3BP2p2, to obtain

Φ2tP=¯Φ2Φ3tP=¯Φ2Φ3BP2B21t1

where the 3×3 matrix

Φ2=¯Φ2Φ3= Φ3− ˜ p2˜ pT

NotingthesimilaritybetweenEquations(27)and(29),thekinematicsrelationships

may be written in recursive form (despite the presence of passive joints) as

(28)

(29)

2/δ2

ΦitP= ΦiBP,i−1ti−1

where Φiis evaluated recursively as

(30)

˜ pi= Φi+1BP,ipi

Φi=?1 − ˜ pi˜ pT

δi= ˜ pT

?Φi+1=¯ΦiΦi+1= Φi+1− ˜ pi˜ pT

i˜ pi

i

?δi

i

?δi

Page 15

MODULAR AND RECURSIVE KINEMATICS AND DYNAMICS

433

where the properties BP,iBi+1,i= BPiand ΦT

since joint 1 is actuated, substituting t1= p1˙θ1into Equation (29), we can express

the twist of the platform P in terms of˙θ1as

Φ2tP= Φ2BP1p1˙θ1

This equation illustrates a well known feature for parallel chains, i.e., in contrast

to serial manipulators, parallel manipulators have two Jacobian matrices. Note that

Φ2is a projection matrix and is thus singular. Hence, writing Equation (31) for

each open chain we obtain

iΦi= Φihave been used. Finally,

(31)

KtP= ΦBP˙θA where

K =?ΦI

B = diag?BI

˙θA=?˙θI

where all dimensions have been stated for clarity. Finally when K is nonsingular,4

we may solve for the end effector twist in terms of the actuated joint rates as

2+ ΦI I

2 ΦI I

2+ ΦI I I

ΦI I I

P1,BI I

1,pI I

˙θI I

11

2

?

: 3 × 9

P1

?

: 3 × 3

Φ =?ΦI

P = diag?pI

22

?

P1,BI I I

1,pI I I

1

˙θI I I

?

: 9 × 3

: 9 × 9

1

?T

tP= K−1ΦBP˙θA

The unactuated joint rates may now be computed by back-substituting tPto yield

(32)

˙θ2=˜ pT

˙θ3=˜ pT

2

δ2

(K−1ΦBP˙θA− BP1p1˙θ1)(33)

3

δ3

ΨT

2(K−1ΦBP˙θA− BP1p1˙θ1) (34)

where the 3×3 matrix Ψ2is defined as Ψ2= (1−BP2p2˜ pT

identity matrix. We note that Equations (33) and (34) are general and applicable to

each open chain and that the bracketed term on the right hand side of each equation

is the same. Thus the final relationship between the joint rates and actuated joint

rates is expressed in vector form as

4See [19] for a more detailed discussion on singularities of parallel manipulators.

2/δ2)Tand 1 is the 3×3

˙θ =

¯PIO

O¯PI I

O O ¯PI I I

O

O

LI

LI I

LI I I

BP˙θA

(35)