Kinestatic control


Material Information

Kinestatic control a novel theory for simultaneously regulating force and displacement
Physical Description:
iv, 129 leaves : ill. ; 29 cm.
Griffis, Michael William, 1963-
Publication Date:


bibliography   ( marcgt )
theses   ( marcgt )
non-fiction   ( marcgt )


Thesis (Ph. D.)--University of Florida, 1991.
Includes bibliographical references (leaves 126-128).
Statement of Responsibility:
by Michael William Griffis.
General Note:
General Note:

Record Information

Source Institution:
University of Florida
Rights Management:
All applicable rights reserved by the source institution and holding location.
Resource Identifier:
aleph - 001684230
notis - AHZ6214
oclc - 25060442
System ID:

Full Text








The author wishes to acknowledge the support of the National Science

Foundation, Grant No. MSM 8810017, for research on the subject of kinestatic



ACKNOW LEDGEM ENT.................................................................................. ii

A B ST R A C T ...................................................................................................... iv


OF KINESTATIC CONTROL........................................................... 1

1.1 The General Mapping of Stiffness ................................................ .. 6
1.2 A Positive-Definite Inner Product for Twists ................................. 9
1.3 The Eigen-Screws of Stiffness.................................. ............ 13
1.4 The General Model of Spatial Stiffness.......................................... 17
1.5 Parallel and Serial Arrangements................................................... 20
1.6 Robotic Applications........................................ .................... 22

USING DISPLACEMENTS TO NULL FORCES.............................. 31

2.1 Introduction................................................. .......................... 31
2.2 Twist Space Decomposition ..........................................................47
2.3 Implementing Kinestatic Control................................................... 62

OF SIMPLE COMPLIANT COUPLINGS.................................... 80

3.1 Two-Dimensional Spring............................................................. 82
3.2 Planar Three-Dimensional Spring...................................... ............ 88
3.3 Spatial Six-Dimensional Spring .................................................... 102

IN THE CONTROL OF FORCE.................................................... 116

4.1 The Need for Better Stiffness Models........................................ 121
4.2 The Need for Constraint Recognition........................................ 124
4.3 The Need to Filter Working Wrenches from Sensed Wrenches..... 125

R EFER EN CES .................................................... ....................................... 126

BIOGRAPHICAL SKETCH .............................................................................. 129

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



Michael William Griffis

May 1991

Chairman: Dr. Joseph Duffy
Major Department: Mechanical Engineering

A new theory for the simultaneous control of force and displacement for a

partially constrained end-effector is established based upon the general spatial

stiffness of the robotic manipulator. In general, the spatial stiffness of a compliant

coupling that connects a pair of rigid bodies is used to map a small twist between

the bodies into the corresponding interactive wrench. This mapping is based upon

a firm geometrical foundation and establishes a positive-definite inner product

(elliptic metric) that decomposes a general twist into a twist of freedom and a twist

of compliance.

While controlling the general twist of the end-effector of an experimental

robot apparatus (which included compliance in the end-effector and a force/torque

sensor), the constraint wrenches and the twist freedoms of the partially constrained

gripper were simultaneously controlled, and this was accomplished by using the

inner product established for twists. This implementation as well as new analytical

results indicate that the stiffness mapping and the induced inner product will be



A knowledge of the mapping of spatial stiffness is an essential ingredient in

establishing the control of both the force and the displacement of a partially

constrained rigid body. Spatial stiffness transforms a relative twist (a small

rotation on a screw) between two rigid bodies into the change in a wrench that

interacts between the bodies through a compliant coupling. In the proposed

robotic application, a soft spatial spring is introduced to connect a

gripper/workpiece with the end link of its manipulator. This inherently allows the

end link to possess six degrees-of-freedom, no matter how the gripper/workpiece is

constrained. "Kinestatic Control" exploits this knowledge of the spatial stiffness

between the end link and the gripper/workpiece in a task-independent effort of

simultaneously controlling the force and the displacement of the gripper/workpiece

while solely controlling the displacement of the end link.

The spatial stiffness between two rigid bodies connected together by a

compliant coupling, which is essentially a six-dimensional spring, is modeled by the

spatial stiffness of a passive parallel mechanism. The simplest model for a "spatial

spring" is a parallel mechanism that consists of six linear springs which act in-

parallel connecting two platforms together. One platform is considered to be

embedded in each of the rigid bodies. (See Figure 1.1.) The model thereby

obtained is the most general in the sense that it can be used to quantify the spatial

stiffness between any two rigid bodies, regardless of how complex is the coupling







U) ai



between the two bodies. It supersedes a previous and widely accepted model that

is dependent on the existence of a center-of-compliance. (See Salisbury [1980],

Mason [1981], Raibert and Craig [1981], Whitney [1982], and Mason [1982].) This

is illustrated by Figure 1.2 where three in-parallel TRPT serial chains cointersect

at the center-of-compliance.

The proposed parallel mechanism model consists of six in-parallel SPS serial

chains. (See Figure 1.1.) A more general parallel mechanism of this form would

consist of six distinct connecting points on both platforms. This level of

complexity is, however, not required to quantify a symmetric spatial stiffness

between two rigid bodies, and the Stewart Platform of simple octahedral geometry

can be used. The two platforms can thus be connected together by six legs that

meet in a pair-wise fashion, sharing connections at three points on each platform.

In practice, the six leg springs of the Stewart Platform can be calibrated so that,

over a wide range of motion, the spatial stiffness of the resultant mechanism

quantifies the spatial stiffness of the actual coupling (the spatial spring) between

the two given rigid bodies.

The new theory of Kinestatic Control adopts this proposed stiffness

modeling technique and applies it to the task-independent, simultaneous regulation

of the force and the displacement of the gripper/workpiece of a robotic

manipulator. The author considers that this new control theory supersedes such

theories as "Stiffness Control" and "Hybrid Control," which essentially rely on

erroneous task-dependent estimations of robot stiffness that require the existence of

a center-of-compliance. These theories inherently depend on the specialized model

of stiffness illustrated in Figure 1.2.

-J a
.: a.

.x cr



a) 0

The author believes that an investigation of sparsity in the orthogonal

complements associated with Hybrid Control reveals an uncertainty as to the

modeled values of the three rotational and three translational spring constants of

the mechanism shown in Figure 1.2. Hybrid Control theory thus restricts the

center-of-compliance to be a task dependent point, and it does not in any way

incorporate the stiffness of the manipulator into the hybrid controller. Special

situations where a robot apparently has a center-of-compliance that is concident

with a task dependent specification have been reported. (For example, see Raibert

and Craig [1981] or An and Hollerbach [1989], where a point on the prismatic joint

of a polar (RP) manipulator is aligned with a task, or see Whitney [1982], which

discusses the positioning of the center-of-compliance of a Remote-Center-of-

Compliance (RCC) device along the axis of a peg.)

Employing the theory of Stiffness Control allows a programmer to choose
the location of a center-of-compliance and to adjust the three rotational and three

translational spring constants according to a particular task. This mapping of

stiffness is then reflected onto the individual joints of the robot. The technique

thus essentially represents an adjustable set of gains, which must be synthesized for

each given task as well as for each given robot.

Here, a novel theory of Kinestatic Control is proposed, which essentially

accepts the stiffness of a robot for what it is and uses it to simultaneously control

force and displacement. As a foundation for the new theory, this chapter

investigates two representations of the mapping of stiffness, describes the general

model of stiffness, and finally, discusses three robotic applications. Throughout

this chapter, only positive-definite symmetric mappings of stiffness are considered.

However, the remaining chapters employ more general stiffness mappings.

1.1 The General Mapping of Stiffness

Consider a rigid body 1 to be connected to a rigid body 0 by a general but
initially unloaded compliant coupling that via its spatial stiffness restricts any
relative spatial motion between the bodies. Then, the resulting mapping of
stiffness is a one-to-one correspondence that associates a twist describing the

relative displacement between the bodies with the corresponding resultant wrench

which interacts between them. Figure 1.3 illustrates this compliant-coupling-
dependent relationship by suggesting that for a given resultant wrench applied to
body 1 of a "small" intensity 6f on the screw $1, the corresponding twist of body 1

relative to body 0 is of a "small" angle 60 on the screw $2.1 The term "small" is
introduced to convey that the intensity 6f of a wrench on the screw $1 is limited

such that it produces a twist of intensity 60 on a screw $2 via a linear mapping of


Consider a spatial spring system consisting of the two bodies and the
initially unloaded compliant coupling. Any work input to the system is positive,

and from Figure 1.3,

6f 68 ((hl + h2) cos a12 a12 sin a12) > 0, (1.1)
where h1 and h2 are the pitches of $1 and $2, and where a12 and a12 are the

perpendicular distance and swept angle between the lines of the two screws. The

expression in (1.1) is the summation of three products: the work done by the force

on the translation (6f h2 60 cos a12), by the force on the rotation
(-a12 6f 60 sin a12), and by the couple on the rotation (h1 6f 60 cos a12).

'The wrench is illustrated in Figure 1.3 employing a Hunt "wrench
applicator", which is a TPHT serial chain. A force 6f generated in the P joint
applies force 6f to body 1 and simultaneously generates a couple -h1 6f in the H
joint, which in turn applies an equal and opposite couple h1 6f to body 1. In other
words, a wrench of intensity 6f on screw $1 is applied to body 1.

h, 8f

a 12


Figure 1.3

A pair of screws are said to be reciprocal when the expression

((hl+h2)cos a12- a12 sinal2) vanishes. Accordingly, since the work input into the
spatial spring system must be positive non-zero, (1.1), then the twist of the

coupling cannot be reciprocal to the wrench that produces it.
The transformation of screws illustrated in Figure 1.3 is represented here

analytically in two geometrically different ways. Each of the two analytical

representations requires the use of a 6x6 stiffness matrix to perform the mapping of

stiffness. In comparison, these two stiffness matrices [K] and [k] differ in
geometrical foundation: [K] is used to establish a potential energy-based inner

product for twists, while [k] defines the "eigen-screws" and "eigenstiffnesses" for the

transformation, which are, in other words, the invariant properties of the mapping.

A wrench on a screw will be represented as a general "ray" that is assigned

an R6 vector *=[f; fio], where f is a force vector in the direction of the wrench and
rio is a moment vector referenced to the origin. This ordering of screw coordinates

is based on Pliicker's definition of a ray, which is a line formed from the join of two

points. (See Plicker [1865] and [1866].) However, a twist on a screw will be

represented using two different formats, one based on the ray, d=[O-; io], and the

other based on a general "axis" that is assigned an R6 vector, Dz=[Xo; 0]. Pliicker

defined the axis to be dual to the ray, and the axis is thus a line dually formed

from the meet of two planes.

For a twist, 0 and 0 both represent the direction of a finite but "small"
rotation, and Xi and Xo both represent a "small" displacement of the origin.
Therefore, the axis and ray representations of the same twist are related by

Xo 03 13 Xo
xo 13 03

which can be more conveniently written as

S= [A] b, (1.2)
where [A] is the symmetric 6x6 matrix of above. Since [A]-=[A], a reversal in
the ordering of this same transformation yields

D = [A] d. (1.3)
The transformation described by (1.2) and (1.3) is an example of a more
general transformation, defined as a correlation, that maps an axis to a ray (or a
ray to an axis). It is important to distinguish this transformation from a
collineation, which maps a ray to a ray (or an axis to an axis).

1.2 A Positive-Definite Inner Product for Twists
The first analytical representation [K] of the mapping of stiffness is a general
correlation of screws that assumes the form,

= [K] D, (1.4)
where axial coordinates D are assigned to the twist, where ray coordinates are
assigned to the wrench, and where [K] is a symmetric (non-singular) 6x6 matrix.
For instance, in Figure 1.3, the screw $2 with axial coordinates D)=[Xo; 6] is

transformed into the screw $1 with ray coordinates W=[f; riio].

The potential energy stored in (or work input into) the spatial spring system
can be expressed in terms of the axis coordinates of the twist and the ray
coordinates of the wrench, and the same positive-definite expression first given in
(1.1) can alternatively be written in the form

X0o o f 1 = ,' > 0. (1.5)
Substituting from (1.4) yields that a given non-singular matrix [K] is not
only symmetric but also positive-definite:
DT'1 = T' [K] b > 0. (1.6)

The expression in (1.6) introduces a quadratic form that can be used to
establish a potential-energy-based, positive-definite inner product for the axial
coordinates of twists. The symmetric bi-linear form for the axial coordinates D1
and D2 of a pair of twists is therefore,

(11, D2) = T [K] )2, (1.7)
the dimension of which is work. Accordingly, this inner product satisfies three
necessary conditions that establish the R6 used for the axial coordinates of twists as
a non-degenerate inner product space:

(1^, 32)= (2, D1) (symmetry)
(D1, A )2+ A D3) = A ( 1 2) + p (11, D3) (linear multiples)
(1^, D) D 0, and (D, D) = 0 (positive-definiteness)
if and only if 1D = 0.

Since the inner product given in (1.7) is positive-definite, it cannot establish
an invariant Euclidean metric for screws.2 (See Loncaric [1985], Brockett and
Loncaric [1986], and Lipkin and Duffy [1985].) It would in fact induce an elliptic
metric because it possesses a positive-definite quadratic form that operates on
homogeneous coordinates, i. e. only imaginary D would satisfy DT [K] D= 0.
(Coordinates such as D=[0,0,0,0,0,0]T are not considered.) (See Lipkin and Duffy
[1985] and [1988].)
Because the mapping of stiffness (and its inner product) does not induce a
Euclidean metric, it must undergo a change in representation whenever a change of

2For a Euclidean metric to be induced based upon an inner product
represented by [K], then [K] must satisfy the relation [K]=[E]T[K] [E], where [E]
describes a Euclidean transformation (collineation). (See Duffy [1990].) It will be
shown however that the inner product described by [K] does not satisfy this
relation. (See Equation (1.12).)

coordinate system is encountered. For a general Euclidean change of coordinate
system, the ray coordinates *=[f; ifo] of a wrench are transformed by the relation

w=[e] w', (1.8)
where *'=[f'; rii] are ray coordinates of the wrench in the "new" system, and
where the 6x6 [e] takes the form,

[e] R3 03
A3 R3 R3

Equation (1.8) represents a Euclidean collineation of screws, and it is specified by
R3 and A3, which are, respectively, 3x3 rotation and 3x3 skew-symmetric-
translation matrices. Under the same change of coordinate system, i.e. the same
Euclidean collineation of screws, the axial coordinates D)=[Xo; 0] of a twist are
transformed by a similar relation,
)D=[E] D', (1.9)
where D'=[XS; 0'] are axial coordinates of the twist expressed in the new
coordinate system, and where [E] takes the form,

[E]= R3 A3R3
S03 R3

Substituting (1.8) and (1.9) into (1.4) and subsequently inverting [e] yields a new
description of the same spatial spring system, viz. w=[e]-1[K[E]D', and because
[E]T=[e]-1, this can further be expressed in the form
= [E]T [K] [E] f)'. (1.10)
Therefore, the representation of the mapping of stiffness in the new coordinate
system is

= [K'] D', (1.11)

where from (1.10),

[K']=[E]T[K][E]. (1.12)
Equation (1.12) illustrates three important properties of the representation,

[K], of the mapping of stiffness that describes a given spatial spring system:

It is symmetric, regardless of coordinate system.
It is likewise positive-definite. Equation (1.12) is of the utmost
importance because it illustrates that the eigenvalues (and eigenvectors) of a
correlation have no invariant geometric meaning for Euclidean collineations,
i. e. the equation does not relate similar matrices. Equation (1.12) does,
however, relate congruent matrices that in general must have the same
invariant signature (r, () which is defined as the number of positive (7r),
negative (v), and zero (() eigenvalues. For (1.12), the congruent matrices
[K'] and [K] both have six positive eigenvalues (7r=6) that are not equal

(unless [E]T=[E]-1).
In general, it is not necessary that [K] be diagonalizable for some [E].
This latter property is also of the utmost importance since it reveals that in
general, one must not use a model of stiffness based upon a center-of-
compliance. (See Figure 1.2.) In fact, it will be shown later that a proper
model for general spatial stiffness is the Stewart Platform device illustrated
in Figure 1.1.

It is also important to realize that the inner product (D1, D2) is dependent
upon the representation [K] of the mapping of stiffness. (See Equation (1.7).)

Consider now that the inner product is defined in the "new" coordinate system by
(I)1 1' = (D1) [K'] 6l, (1.13)
where D'1 and ) are the axial coordinates of the pair of twists expressed in the
new coordinate system. The scalar quantity, work, resulting from the inner
product is preserved by substituting (1.12) into (1.13), regrouping, and
subsequently substituting (1.9), which yields
(^'1 D= (1 ) [E]T [K] [E] b'

= ([E] D', [E] ID)'
= (D), D2). (1.14)
Here, D1 and D2 are the axial coordinates of the same two twists expressed in the
old coordinate system.
In the experimental implementation of this theory (Section 2.3), the inner
product established here for twists is used to decompose in a meaningful way a
general twist of a partially constrained gripper/workpiece into an allowable twist
(twist of freedom) that is consistent with the environment together with a
corrective twist (twist of compliance) that nulls an error due to the difference
between a command wrench and the actual wrench acting upon the


1.3 The Eigen-Screws of Stiffness
The second analytical representation [k] of the mapping of stiffness is a
general collineation of screws that assumes the form,
S= [k] a. (1.15)

This form differs from the correlation given by (1.4) because ray coordinates d are

now assigned to the twist.3 For the example in Figure 1.3, the screw $2 that is now
assigned the ray coordinates d=[O[; -o] is transformed into the screw $1 with ray
coordinates w=[f; rmo].
The characteristics of [k] can be determined by substituting (1.3) into (1.4),
which yields
w = [K][A] d, (1.16)

and comparing with (1.15),

[k] = [K][A]. (1.17)
This effectively combines two successive correlations of screws, the first, ray to axis
and the second, axis to ray. Therefore, the overall transformation is the
collineation form of the mapping of stiffness, viz., ray to ray.
Consider now that another twist of an angle 60 on a screw $i is chosen to be
transformed under the mapping of stiffness, such that the wrench obtained acts
upon the same screw $i with an intensity Sf. (See Figure 1.4.) This screw is
accordingly defined as an "eigen-screw of stiffness" and the ratio of intensities of

the wrench and the twist is defined as the corresponding "eigenstiffness", ni. All
six such occurrences of these eigen-screws and their corresponding eigenstiffnesses
can be determined from the eigenvectors and eigenvalues of [k].
It is important to recognize that the eigenvectors and eigenvalues of the
matrix [k] are always real, and therefore, the eigenscrews and eigenstiffnesses of the

mapping of stiffness are also always real. For a symmetric positive-definite [K]-1
and a symmetric [A], the solution to the "generalized" eigenvalue problem

Ki [K]-1 d = [A] d yields that the product [k]=[K][A] possesses real eigenvalues
and eigenvectors. (See Korn and Korn [1968].)

3Equation (1.15) was in fact the form that Dimentberg [1965] used to
describe the mapping of stiffness for two rigid bodies that were connected via a
general compliant coupling.



hi T

$i O

Figure 1.4

Consider that the six eigen-screws $i, $i, $iii, $iv, $v, and $vi, are described
by the six eigenvectors of [k], which are the ray coordinates di, dii, diii, div, d ,
and dvi, respectively. (The eigenvectors are not necessarily unitized ray
coordinates.) Consider also that the corresponding eigenstiffnesses, Ki, ii ,, iii, Kiv,
v, and Kvi, are obtained as the corresponding eigenvalues of [k]. Then, an eigen-
screw, such as $i, transforms according to the relation

Ki di = [k] di. (1.18)
When comparing (1.15) with (1.18), it should be clear that the dimension of ti is
force/rad and that Ki is the ratio of the intensities of the wrench and the twist
acting on $i.
From Figure 1.4, the positive work into the spatial spring system done by a
wrench on a twist that is on an eigen-screw is expressed by

6f 6 (2 hi) > 0. (19)
This result can also be deduced from the left side of (1.1), by substituting a12=0
and hl=h2=hi. Finally, substituting the relation 6f=Ki 60 yields

2 (60)2 i hi > 0, (1.20)
which shows that the eigenstiffness and the pitch of the eigen-screw must have the
same sign and must be non-zero. It should also be clear that the pitch of the eigen-
screw is finite, since work cannot be done by a couple on a translation.

Invariance is always the key issue in geometry, and this section reflects this
philosophy. With this in mind, consider now that a coordinate system has been
changed, by for example (1.8). Then, in an analogy with the development of
(1.10)-(1.12), the new representation of the collineation form of the mapping of
stiffness can be obtained by substituting [e] w' for and [e] d' for d in Equation
(1.15) and subsequently inverting [e], and


= [e]-1 [k] [e] 1', (1.21)
which is equivalent to
= [k'] d', (1.22)

where the new representation of the collineation form of the mapping of stiffness is

[k'] = [e]-1 [k] [e]. (1.23)
In contrast with Equation (1.12) which related congruent matrices, Equation
(1.23) relates similar matrices. This reflects the fact that the eigenstiffnesses are
invariant with a change of coordinate system. Although their representations
certainly change, the eigen-screws in both (1.15) and (1.22) are the same, i.e. the
eigenvectors of [k'] represent the same six screws as do the eigenvectors of [k], and

these six pairs of eigenvectors are ray coordinates related by applications of (1.8).

1.4 The General Model of Spatial Stiffness
It has been established that the mapping of stiffness can be represented in a
correlation form (1.4) that uses a symmetric positive-definite 6x6 matrix [K]. For

this representation, axial coordinates D of a small twist of one body relative to

another is transformed into the ray coordinates of the corresponding small

change in the wrench that interacts between the two bodies through a real

compliant coupling.
This section provides the analytics that are necessary to model any real

complicated compliant coupling, whether loaded or unloaded, by the general model
of stiffness illustrated in Figure 1.1. The forward displacement analysis of this 3-3
Stewart Platform is known and reducible to an eighth degree polynomial (Griffis
and Duffy [1989]).

Consider that referenced to some coordinate system, the unitized ray
coordinates, hni, i=l, 6, of the six lines illustrated in Figure 1.1 are known and form

the columns of a 6x6 matrix [j]. These lines are in fact the lines of action of the six

scalar forces, fi, i=l, 6, of the six linear springs that constrain the motion of the six

prismatic joints of the Stewart Platform model.

Firstly, it is necessary to consider a static analysis of the top platform. The
ray coordinates ( fi hi) of the resultant of forces that the top platform applies
to the springs in the legs are equal to the ray coordinates Wo of the resultant of the

remaining wrenches that are applied to the top platform by other bodies. This can

be expressed in the form,

o = [j] f, (1.24)
where f is an R6 vector of the scalar forces (fi, i=l, 6) applied to the springs by the

top platform. The force in a given leg, fi, is related to the difference between the
loaded and unloaded spring lengths, (/i-loi), by fi=ki(li-l0o), where ki is the

positive spring constant of the ith leg. In the following analysis, it is assumed that

eventhough the legs deflect, they do not deflect considerably from their unloaded

position, i. e. the ratio lo/li does not deviate far from unity.4

In order to obtain a representation of spatial stiffness, [K], this static
analysis of the loaded model is now related to small deflections in the legs. A small

deviation from a current given operating state of (1.24) can be accommodated by

considering small changes in Wo and f to be respectively and Sf. Now, consider
that the spring constants of the six legs form a diagonal matrix [ki] and that

6fi=ki Sli, where 61i is a small change in the spring (or leg) length. Repeating for
all legs and substituting into (1.24) yields

w = j] [ki] 5!, (1.25)

4Chapter 3 relies upon the dimensionless parameters p. = i/1. to illustrate
that even the simplest compliant couplings become asymmetric as they deviate
from their respective unloaded configurations.

where 61 is an R6 vector of scalar leg deflections. The entries of the diagonal
matrix [ki] are to be determined experimentally such that the Stewart Platform
model represents accurately the spatial stiffness of the actual coupling between the
two bodies.
Now, the work done by a given leg force is fi l1i, and this is equal to

(fi i )T f), where D is the twist of the top platform relative to the base. Equating
these two expressions for work, dividing both sides by fi, and repeating for all legs
yields the matrix expression
61 = [j] f), (1.26)
which is the reverse kinematic solution.
Substituting (1.26) into (1.25) gives the correlation form representation of
the mapping of stiffness for the resultant model,
S= [j] [ki] [j]T D. (1.27)
Comparing (1.27) with (1.4) yields
[K] = [j] [ki] []T. (1.28)
The matrix [K] contains twenty-one independent parameters (due to
symmetry), whereas [ki] and [j] respectively contain six and eighteen independent
parameters. Each column of [j] consists of the six ray coordinates of a line (four
independent parameters) that joins a point in the base to a point in the top
platform. Hence, the six columns of [j] contain separately a total of twenty-four
independent parameters. However, the six lines meet pair-wise at six points, which
imposes six conditions and reduces [j] to containing a total of eighteen independent
parameters, and these together with the six parameters of [ki] result in a total of
twenty-four parameters for [ki] and [j]. Therefore, given a general [K] of twenty-
one independent parameters, it is necessary to specify three further conditions (i. e.

to solve for [ki] and [j]). These additional free choices can ideally result in a

virtually unchanged [j] for a wide range of relative motion between the two rigid
bodies. In other words, the model should be designed such that changes in actual
spatial stiffness ([K]), resulting from finite changes in relative position and
orientation between the two rigid bodies, are accommodated as far as possible by
changes solely in [ki].

1.5 Parallel and Serial Arrangements
Consider two bodies to be connected in-parallel by a pair of Stewart
Platform models, represented in the correlation forms [K1] and [K2]. (See Figure
1.5a.) It is required to determine the equivalent mapping of stiffness for an
equivalent model, represented by [Ke]. This can be accomplished by considering

we = *1 + w2, (1.29)
where We, r1, and w2 are ray coordinates of the resultant wrenches due to models

[Ke], [K1], and [K2], respectively. Substituting (1.4) for each of the models yields
[Ke] De = [K1] De + [K2] De, (1.30)
where De are the axial coordinates of the twist that is the same for each of the
three models. This result yields

[Ke] = [K1] + [K2], (1.31)
which is the spatial equivalent of two single degree-of-freedom springs connected in-
Consider now that two models are connected in series. (See Figure 1.5b.)
Then, the base of the model [K2] is the top platform for the model [K1]. It is
required to determine the equivalent mapping of stiffness for an equivalent model,

.^ .


[Ke], whose base is attached to the base of [K1] and whose top platform is attached
to the top platform of [K2]. This can be accomplished by analogously considering

De = D1 + D2, (1.32)
where De are the axial coordinates of the effective twist relating the relative motion
between bodies 2 and 0, and D1 and )2 are the axial coordinates of the two
intermediate twists, which relate the relative motions of bodies 1 and 0 and bodies

2 and 1, respectively. Substituting the inverse of (1.4) for each of the models yields

[Kel-1 We = [K1]-1 e + [K21-1 We, (1.33)
where We are the ray coordinates of the resultant wrench that is the same for each
of the three models. Therefore, the effective mapping of stiffness for two models
that are connected in series is obtained from the sum of the two spatial

[Ke]-1 = [K1]-1 + [K2-1 (1.34)
where the term "spatial compliance" is used to denote the inverse of spatial
stiffness. Equation (1.34) is the spatial analogy of a pair of single degree-of-freedom

springs connected in series.

1.6 Robotic Applications
This representation of stiffness provides a novel and attractive way of
properly utilizing spatial displacements to control general systems of forces/torques
acting in combinations upon a body. When the rigid body is the gripper/workpiece
of a general, six degree-of-freedom robotic manipulator, then, based on the
guidelines set forth in this work, a new algorithm emerges for the simultaneous
control of an allowable twist and a constraint wrench.

The end-effector is considered to consist of two rigid bodies, one the

gripper/workpiece and the other, the end link of the manipulator. In order to

implement the new algorithm, the end link and the gripper/workpiece must be

connected together by some compliant connection such as, for example, an

instrumentedd) Remote-Center-of-Compliance (iRCC) device.5 (A force/torque

sensor is also needed in the connection.) The spatial stiffness of the iRCC can be

easily quantified by an octahedral Stewart Platform model. This model of the

iRCC is more attractive than the center-of-compliance model, since it is not

necessary to operate the iRCC within bounded regions which were designed to

contain a center-of-compliance.

When unconstrained, the gripper/workpiece is considered to be connected to

ground by two spatial springs connected in series. (Figure 1.5b also illustrates this

when the gripper/workpiece is considered to be body 2, the end link considered to

be body 1, and ground considered to be body 0.) One of the spatial springs is the

manipulator itself, which connects the end link to ground, and its spatial stiffness

can be modeled by a Stewart Platform and represented by [K1]. The other spatial

spring is the iRCC that connects the gripper/workpiece to the end link of the

manipulator. The mapping of stiffness of the second spatial spring can be

analogously represented by [K2]. From (1.34), it is clear that the effective spatial

stiffness relating the unconstrained gripper/workpiece to ground, [Ke], is obtained

from the sum of the inverses of [K1] and [K2]. When the effects of the inverse of

[K1] is minimal in comparison with the inverse of [K2], i. e. the iRCC is far more

compliant than the manipulator, then the compliance of the manipulator can be

neglected. In other words, [Ke] S [K2] when the manipulator is much stiffer than

the end-effector's wrist (iRCC).

sThe Charles Stark Draper Laboratory, Cambridge, MA.

Consider now that the gripper/workpiece is fully constrained with respect to
ground and that the iRCC is initially unloaded. Although the gripper/workpiece is
fully constrained, the end link still possesses six degrees-of-freedom due to the
compliance in the iRCC. Since there can be no twist of the gripper/workpiece
relative to ground, then the twists of the gripper/workpiece relative to the end link
and of the end link relative to ground must be on the same general screw $, but
their rotations, 602 and 691, must be in opposing directions. (See Figure 1.6.) This
means that D1=-D2, where I1 and D2 are the axial coordinates of the twists of

the end link relative to ground and of the gripper/workpiece relative to the end
link. Therefore, based upon a twist of the end link relative to ground, the iRCC is
subsequently loaded with a wrench whose ray coordinates are w=[K2] D2.
Substituting D52=-D1 and neglecting a gravity wrench yields the small wrench that
is applied to the gripper/workpiece by ground due to the twist of the end link,

S= [K2] Dl. (1.35)
Consider further that there is a general wrench with ray coordinates wr
reacting between the gripper/workpiece and ground which is to be controlled. In
order to begin to null an error between the desired wrench and a known (sensed)
actual wrench with ray coordinates *s, a small corrective twist of the end link

relative to ground is needed. The axial coordinates, Dc=D1, of the proper
corrective twist can be obtained by inverting (1.35), and expressing it in the form,

Dc = G [K2]-1 We, (1.36)
where G is a single dimensionless scalar gain that is used to limit 89c=691 of the
corrective twist command, and where We=*r-*s. This corrective twist is to be
supplied by commanding the six joint motors of the manipulator. Therefore, the
control of the twist of the end link relative to ground regulates the reaction wrench
between the gripper/workpiece and ground.





CL (


Finally, consider the situation where the gripper/workpiece is only partially

constrained with respect to ground via a stiff connection. Figure 1.7 illustrates an

example of line contact between the gripper/workpiece and ground. Here, the

possible screw of a reaction wrench must be an element of a 2-system of screws, viz.

the possible reaction wrench must be a force on a line parallel to and in the same

plane as the lines $1 and $2.6 This system of wrenches is accordingly defined as the

"wrenches of constraint" that constrain the motion of the gripper/workpiece

relative to ground, and the ray coordinates wr of such a wrench are obtained via

the linear combination

Wr = A1 1 2 + A2 *2, (1.37)
where W1 and W2 are ray coordinates of $1 and $2.

The gripper/workpiece has four degrees-of-freedom, and it can be considered

to be initially motionless relative to ground. An error wrench due to the difference

between the desired wrench and the actual wrench is nulled by a small corrective

twist of the end link relative to ground, the axial coordinates of which, Dc, can be

obtained from (1.36). This is because this corrective twist cannot move the

gripper/workpiece, since the corresponding wrench that is induced to null the error

in the iRCC is fully supported as a wrench of constraint between the

gripper/workpiece and ground.

Because the desired and actual wrenches of constraint can be written as

linear combinations (1.37), it is clear that the error wrench can also be written as a

linear combination,

We = /:1 *1 + Y2 2, (1.38)
where We='r-*s are ray coordinates of the error wrench. It can be concluded

from (1.36) and (1.38) that the corrective twist must also be an element of a 2-

'The fact that the points of contact can only take compression is neglected.









-6F) ~

system, and this system is defined as the "twists of compliance". Then, the axial
coordinates 1)c of the corrective twist are obtained from the linear combination

]c = a1 I)* + a2 D), (1.39)
where N^ and f* are axial coordinates of $ and $- which are the screws that
correspond under the mapping of stiffness with the lines of force $1 and $2. (See
Figure 1.7.) The axial coordinates of the the two twists of compliance can
therefore be obtained by the relations,

D^ = [K2]-1 1 and Df^ = {K2-1 *2. (1.40)
From (1.1), it follows that the two screws $* and $^ are not reciprocal to the
screws $1 and $2, which span the wrenches of constraint, and from (1.6),
(1* 1 0 and (D^)T 2 0. (1.41)
Thus, it is clear that the screws spanning the twists of compliance are not elements
of the 4-system of screws which is reciprocal to the wrenches of constraint. Four
screws that are each reciprocal to the two lines which span the wrenches of
constraint do in fact quantify the twists of freedom of the gripper/workpiece
relative to ground. These twists of freedom constitute all allowable twists that are

consistent with the environment, and Figure 1.7 illustrates four such screws of zero
pitch, namely the lines of rotation $3, $4, $5, and $6. Assigning the axial
coordinates Di, i=3, 6, to these four twists and introducing them into the axial-ray
coordinate form of reciprocity yields

iT 1 = 0 and biT *2 = 0, (1.42)
for i=3, 6.
The twists of freedom are thus linearly independent from the twists of
compliance. In fact, the two systems are orthogonal complements with respect to
[K2]. This can be shown by firstly considering that the axial coordinates Db of a

given twist of freedom of the gripper/workpiece relative to ground can be expressed
by the linear combination,

Db 1 D3 2 D4 + 3 5 + 4 D6. (1.43)
From (1.37), (1.42), and (1.43), it can be deduced that any twist of freedom is
reciprocal to any wrench of constraint and that it can be expressed by

)b = 0, (1.44)
where *=(*r=*e) are the ray coordinates of any wrench of constraint. Now, for
each wrench of constraint, there is a unique twist of compliance, i. e. *=[K2] Dc,
and therefore substituting into (1.44) yields

bD 1 [K2] Dc = 0. (1.45)
This expresses the condition of orthogonality between twists of freedom and twists
of compliance with respect to the potential-energy-based inner product, and from

(Db, Dc) = ) [K21 Dc = 0. (1.46)
Therefore, in a direct sum of orthogonal complements [B] D [C]=R6, where the
matrix labels are used to denote the vector subspaces. The consequence of this
direct sum is that a general D R6 can be written is a unique combination of a
jb E [B] and a Dc E [C], so that D=)Db+Dc.
It is important to realize that the twists of freedom and the wrenches of
constraint are determined solely by the nature of the contact between the
gripper/workpiece and ground. The twists of compliance are, however, dependent
on the mapping of stiffness of the robot, shown here to be represented by [K2],
together with the wrenches of constraint. It is important to further recognize that
the screws $1 and $2 are not dependent on the choice of origin, and that these same
two screws will always be obtained given a properly represented mapping of

stiffness. The sole requirement of this mapping of stiffness is that it be positive-

definite. A center-of-compliance is not necessary, and a compliant coupling (such

as the iRCC) need not be positioned and oriented in some special way to perform a
given partially constrained task.

Figure 1.7 essentially illustrates a virtual robot manipulator consisting of six
serially connected screws, $, $ $3 $5, and $6. This virtual robot operates in-

parallel with the actual robot that controls the 6 d.o.f. displacement of the end

link. In order to better visualize the decomposition, it is useful to consider that

when the six virtual joints displace, the axial coordinates of the resultant twists

producing ($1, $2) and ($3, $4, $5, $6) are respectively, Dc and Db. Finally, it can
be concluded by superposition that these two twists, which together produce a
general twist of the end link, provide a means to control the reaction wrench

between the gripper/workpiece and ground, while simultaneously controlling the

displacement of the gripper/workpiece relative to ground. This novel control

strategy is defined as "Kinestatic Control."


2.1 Introduction

Which way does a robot move itself in order to null the external contact

forces that act on its gripper? In general, the contact forces that interact between

the gripper and its environment are not nulled or even altered when the robot

moves the partially constrained gripper in the unrestricted direction of a remaining

freedom. Consequently, the efforts here are to document the investigations and

implementations of other robot motions that though restricted do correctly null (or

change) these contact forces.

While addressing this question, this work establishes the property of robot

stiffness to be the key and central issue. Robot stiffness is after all a property that

is independent of the task required of the gripper. Succinctly, the robot is

considered here to be a spatially deflecting spring that connects two rigid bodies

together, viz. the gripper to ground.

In the previous chapter, the author analyzed the geometrical properties of

spatial stiffness and presented two analytical representations, one that defined a

positive-definite, potential-energy-based inner product and another that established

the properties of spatial stiffness which are invariant for Euclidean motions. (See

Chapter 1.) This work further used the positive-definite inner product to facilitate

a decomposition of the vector space of all twists'. A robotic example was given

1"Twist" is used here as a generic word to denote the infinitesimal
displacement/rotation of one rigid body relative to another, while "wrench" is a
similar generic word for the forces/torques that interact between two rigid bodies.


where a gripper (with workpiece) was in straight line contact with its environment,

resulting uniquely in two degrees-of-constraint (characterized by the wrenches of

constraint) and four degrees-of-freedom (characterized by the twists of freedom).

Using the positive-definite inner product, an orthogonal complementary twist space

was reasoned to exist. This complementary twist space was defined as the "twists

of compliance," and each twist contained therein possessed a working relationship

with its own unique wrench of constraint. Accordingly, the twists of compliance are

the restricted (non-allowable) twists that are reserved for nulling and/or correcting

the contact forces which interact between the gripper and its environment.

2.1.1 The Non-Euclidean Geometry of Stiffness

While analyzing the geometrical properties of the inner product defined by

spatial stiffness, it was concluded that it must be non-Euclidean, because it is

positive-definite and operates on twist coordinates.2 (See Section 1.2.) The use of

a positive-definite (non-Euclidean) inner product is clearly a necessity in the

general case for determining a twist space that is an orthogonal complement to the

twists of freedom (or a wrench space that is an orthogonal complement to the

wrenches of constraint).

2Suppose [K] to be a positive-definite 6x6 symmetric stiffness matrix. Then,
the only twists that satisfy the quadratic form D^T[K] D=O are imaginary,
where six not-all-zero homogeneous twist coordinates are given by D^=[6'T; 6T]T.
In other words, for a non-degenerate coupling, there is no real twist about which no
work is done. (An inner product that operates on homogeneous coordinates is
considered to be non-Euclidean, specifically elliptic (Lipkin and Duffy [1985]) or
virtual (Sommerville [1929]), when only imaginary elements satisfy the vanishing of
its quadratic form. As far as a Euclidean inner product is concerned,
mathematicians have demonstrated that one which operates on homogeneous
coordinates is either positive semi-definite or indefinite. See (Semple and
Kneebone [1979] and Porteous [1981].)

The degree of freedom afforded to a gripper (its twists of freedom) is a

purely geometrical notion, as well as its degree of constraint (its wrenches of

constraint). In other words, the freedoms and constraints of the gripper are

determinable through pure Euclidean geometry. Therefore, it cannot be

meaningful to establish a non-Euclidean (positive-definite) inner product based

solely upon the nature of the freedoms and constraints acting between the gripper

and its environment. In certain instances, using a "selection matrix" introduces a

fallacy, as does defining a point where a "compliant frame" is to be located and

subsequently used to perform decomposition. (See Duffy [1990].) The result of

such an operation yields an orthogonal complementary twist space that is not

necessarily the best twist space for nulling errors in the contact forces which

interact between the gripper and its environment. In other words, it will not yield

the correct twists of compliance.

2.1.2 An Example

To further investigate this important statement, consider the planar two-

dimensional example illustrated in Figure 2.1. A wheel is connected to a platform

via two translational springs, which are capable of compression as well as tension.

The platform is then subsequently connected to ground via two actuated prismatic

(slider) joints that are tuned for fine-position control. The wheel is to maintain

contact with a rigid environment. The center point of the wheel thus has a single

freedom, which is a displacement pt in the direction of Ui. Based on the constraint

imposed upon the wheel, a normal contact force, fn acting through the center

point along {in, may interact between the wheel and the environment.


Figure 2.1

It will be shown that the control of fn along un and pt along uit is

accomplished by judicious choices of slider displacements 6d1 and 6d2, which

together combine to move the platform in some direction. Intuitively, one may at

the outset consider that the best motion for nulling errors in the force fn would be

a displacement of the platform in the in direction, i. e. parallel to the normal

force. However, this is not the case, and in general, the best displacement is in

some other direction, Uc, which is canted to it at an angle not equal to 90. The

best displacement is one that changes the force error in a desired way without

affecting the control of the wheel's displacement in the uit direction. For example,

displacing the platform in the Uc direction would not move an at-rest wheel, but it

would change the normal force.

For this simple example, a positive-definite Euclidean inner product

mandates that a displacement along Un = cos(n) i+ sin(On) J is Euclidean-

orthogonal to a displacement along it = cost) i + sin(0t) j. However, these

vectors are elements of a Euclidean vector space, which uses two non-homogeneous

coordinates to locate oo2 elements.3 (See Ryan [1989].) Even though there exists a

purely geometrical positive-definite inner product here in this simple case, it is not

the best one with which to perform twist decomposition.

It is proposed here that stiffness can be used to define a proper inner

product with which to obtain the best fn-error-nulling direction: the twist of

compliance, ic = cos(0c) 1+ sin(Oc) J. In other words, for coordinates

3A Euclidean vector space does not possess the power of locating infinite
elements with finite coordinates. Once a rotational coordinate is incorporated with
the two translational ones (general planar rigid body motion), then a rotation
about a point at infinity yields a pure translation, and accordingly, three finite
homogeneous coordinates are used to describe general planar motion. Because the
resulting homogeneous twist coordinates would no longer belong to a Euclidean
vector space, a positive-definite inner product acting on them must be non-
Euclidean. (See the previous footnote.)


Ut = [cst] and Uc-= [csin( ut [K] c =0, where the 2x2 matrix [K] is
symmetric, and its three elements have the dimension F/L. This matrix quantifies
the stiffness of the mechanism consisting of a wheel connected to ground by two
translational springs, a platform, and two actuated sliders. (It does not quantify its
task, which is the surface to be tracked by the wheel). It is assumed that the
actuated sliders are stiff (they are tuned for fine-position control), and since they
act in series with the more compliant translational springs, their compliances can
be neglected, and the stiffness of the overall mechanism is thus solely due to the
translational springs.
In order to obtain a mechanism stiffness mapping relating the small
displacement of the wheel relative to the platform with the incremental change in
external force acting on the wheel, it is necessary to express the force,
f = fx i + fy j that the wheel applies to the springs:

fx cl c2 ]k (l lo)121
y [ (2.1)
fy l 2 k 2 (12 lo2),

where ci = cos(0i) and si = sin(Bi), and where ki and (i loi) are respectively the
positive non-zero spring constant and difference between the current and free
lengths of the ith spring. When the wheel is in quasi-static equilibrium, then f is
the force that the the environment applies to the wheel plus any other externally
applied forces (gravity, for instance).
Consider now that the two springs do not deviate too far from their free
lengths. Then, from (2.1), for a small deviation,

[ fx cl c2 kI 1 1 (22)
6fy s1 S2 i k2 612

where 6fx and 6fy are deviations away from fx and fy and where 61i is a
deviation of the ith spring away from its current length. Substituting into the
right-hand side of (2.2) the inverse kinematic transformation,

611 c1 1l 6X (2.3)
612 C2 S by

(obtained from a projection) establishes the stiffness relationship,

6fx =[K] 6x 1
sfx =[K] (2.4)
bfy by

where 6x and Sy are deviations of the center position of the wheel away from its
current position measured relative to the platform, and where the stiffness matrix
[K] is given by

c C2 k 0 c s
[K] = 1 2 1 i 1 1 (2.5)
SSl s2 0 k2 c2 2

Consider a numerical example of 01 = 45, 02 = 90', and k1 = k2 = 10 kg/cm.
Then, from (2.5), the stiffness matrix assumes the form, [K] = 5 5d. kg/cm.
Now it remains to vary the task required of the wheel in order to demonstrate the
concepts here that are new and of interest. (They are easily extendible to higher
dimensions. Section 2.2 illustrates the extension to planar three-dimensional and
spatial six-dimensional cases.)
Prior to analyzing the specific task illustrated in Figure 2.1, consider first
that the wheel center point is fully constrained. This means that any force,

f = fx i + fy j, acting through the center point may be applied to the wheel by
the environment. It is clear that any small displacement of the platform due to
slider displacements 5d1 and 6d2, 6d = SdI i + Md2 j, will cause via stiffness a
small change in this force. Specifically, the change will be

sfx 5. 5. 6d
[ 1= 5. 1 (2.6)
6fy 5. 15. d2

The negative sign accounts for the kinematic inversion of specifying the
displacement of the platform relative to the wheel. In other words, [dl = -[ '
Conversely consider that certain desired changes in fx and fy are known
and are denoted by 6fx and Sfy. The proper direction, 6dc = 6dcl i + 6dc2 to
move the platform to accomplish this change can be obtained by inverting the
spring matrix in (2.6), which yields

Sd 0.3 0.1 6fx,
dcl = -0.- (2.7)
6dc2 -- 0.1 0.1 fy

Equation (2.7) can be used to control a time-varying general force, f = fx i + fy J,
that interacts between the fully constrained wheel and its environment. At each
instant, a force error is given, and (2.7) specifies the proper force-error-reducing
displacement Sdc.
Consider now that the wheel is at rest but is loaded with an excessive
normal force. (See Figure 2.1.) By application of (2.7), this force can be reduced
in a desired way without moving the wheel as long as the change in force, [f is
supported by the lone constraint imposed by the environment. Therefore, based on
the figure, = 6f n [707 where 6fn is the desired change in the normal
theJy fiue [u.Y]= j0"0

force, fn. Substituting into (2.7) yields the correct direction (with a magnitude) to
move the platform: [dcl= fn -0.1414cm/kg This demonstrates that for
this example a displacement of the platform in the negative x direction (positive

6fn) reduces the compressive normal force that acts on the wheel at an angle of
45. (The force fn is referenced negative for compression, and therefore, a positive

6fn reduces an excessively compressive force.) Because the wheel does not move
when the platform displaces in this direction, this is inherently the best direction
for correcting a normal force error, and consequently, it is the twist of compliance,
The control of the normal force has been accomplished without displacing
the wheel. It is important to recognize this since now, by superposition, a desired
allowable displacement of the wheel,
6d = 6dtl + 6dt2 i = t( 0.707 + 0.707 j),
can be accomplished by simply adding it to the force-error correcting displacement,
6dc. (Because 6dt is an allowable displacement, adding it to 6dc does not affect
the control of normal force.) Therefore, the following small slider displacements
can be computed to control the normal force and the tangential displacement

b6d1 0.707 + Gcf 0.1414 cm/kg (2.8)
Gd6 = 0.707 =[+ Gc jn (2.8)
6d2 0.707 0.0

In (2.8), Gt and Gc are dimensionless scalar gains, and 6pt and 6fn are errors in
wheel position and normal force. Successive applications of (2.8) based on updated
errors in 6pt and 6fn provides the means for controlling both the tangential wheel
position and the normal force.

2.1.3 The Justification for Stiffness to be the Inner Product

The desired control algorithm has thus been formulated. A highlight of the

example demonstrates precisely where the theory depends upon geometry and

precisely where it is enhanced by the non-geometrical physical properties of the

spring stiffnesses, ki. This establishes that stiffness can be used to define a

physically meaningful inner product with which to perform twist decomposition.

The constraint force, fn, does no work, as it acts in the direction Un canted

at an angle On to the horizontal. The condition that the constraint force does no

work may be written:

(SPt it) (fn un) = 0, (2.9)
where 6pt denotes a small displacement of the wheel in an allowable direction, Uit.

As the wheel moves to accommodate the no-work condition (2.9), the center point

of the wheel is restricted to a displacement bpt in the direction ui. Therefore, from

(2.9), Ut is perpendicular to in (un ut = 0). Consequently, 9t On = 90'. (See

Figure 2.1.)

While this reaffirms the statement that the relationship between constraint

and freedom is one of geometry, it often also conjures up the erroneous notion that

an inner product for displacements has been established. The condition that the

virtual work of a constraint force must vanish has been introduced solely for the

purpose of obtaining the unrestricted freedom based on the constraint. (In Section

2.2, it becomes ever more apparent that (2.9) is not an inner product for

displacements, and that in general, it is not an inner product at all, but rather, for

example, a condition that a point lies on a line.)

With the lone freedom established, it remains to determine the necessary

complementary normal-force-correcting displacement. Via stiffness, displacements

are related to forces via a one-to-one mapping. Therefore, for
fs [cos(0n)l
Sfn Un = fn [sin(n
there exists the one correcting displacement,

pc U = Pc [cos(c)1
Pc c = Lsin(c)j,
and this relationship can be written, 6fn 'n = [K] 6pc Uc. Substituting into (2.9)
and dividing by the non-zero magnitudes 6pt and SPc yields that the directions ut
and 'c are "[K]-orthogonal":

-cos() cos(oc)
U [K] c = c [K] cos(c) = ( u, ) = 0. (2.10)
SK] =sin(0t) sin(Oc)

Since the normal force must do work on a displacement in the Uc direction, Ufe
cannot be perpendicular to in. Therefore, it is not possible for u'c to be equal to
it, and consequently, Uc must be independent of it. Equation (2.10) provides an
orthogonal decomposition that allows for any displacement to be written as a linear
combination of it and Ufc. (For example, iin = Al it + A2ic.)
For the example illustrated in Figure 2.1, Ot = 135" which from (2.10) yields
that Oc = 180". It is interesting to examine how 0c varies as the task of the wheel
varies, viz. On and 0t vary. Figure 2.2 illustrates 0c as a function of 9t, for the
same mechanism with task-independent stiffness [K] =[ 155.] kg/cm.
This solution for the twists of compliance (the best directions to move to
null force errors) is by no means intuitive. The author submits the reason for this
to be the non-Euclidean properties of stiffness.4 Simply considering all of the

4Variations in k1 and k2 cause 0c to vary, even when all (other) geometry is
held fixed. This clearly illustrates that the solution of Oc is not fully dependent on
geometry, which is another way of saying that the positive-definite inner product
(2.10) is non-Euclidean. The example given in Chapter 1 also explained that the
complementary twists of compliance vary as the non-geometrical stiffness
properties vary, even though the robot, gripper, workpiece, and environment are
not moved.



u u1

\- C

O 0
0 0

4s E
o L
0 1

Vc E,
L n 0


L nTniTn1 i 1 TpltTTf mT T T rrrrn 0
0 ) 0 ) 0 ) 0


available motions of the wheel does not immediately produce the correct force-

error-nulling displacement direction. In order to make the solution intuitive, the

engineer must incorporate into the thought process the appropriate mechanism

properties, which at the very minimum must include its stiffness properties. In

other words, "if I move the platform in this direction that is dependent on stiffness

and the constraint, then there will be no displacement of the at-rest wheel."

While it has been recognized here that the use of a positive-definite (and

hence, a non-Euclidean) inner product is necessary, it only remains to justify the

use of a chosen non-Euclidean inner product. Clearly, a more thorough

examination includes properties affecting the dynamic (higher frequency)

characteristics of the mechanism. Griffis [1988] investigated the use of a positive-

definite inner product defined by the kinetic energy of a rigid body. From a

practical point of view, however, a meaningful algorithm to control force and

displacement does not result from it.

The author considers that most robots do not accelerate significantly and do

not respond to inputs of higher frequency. (The position control loop for the robot

used in this work had a 1 Hz. bandwidth, and for example, the robot responded to

only 20% of a 2 Hz. sinusoidal input.) Therefore, it must be clear that the force vs.

displacement (and wrench vs. twist) relations are inherently dominated by

mechanism stiffness. Consequently, it has been the thrust of this work to examine

the stiffness properties of the robot, and to use its knowledge to simultaneously

regulate the force and the displacement of its end-effector. (Section 2.3 describes in

detail the initial implementation of this theory, beginning with an empirical

determination of robot stiffness and ending with proof-of-principle control


2.1.4 Relation to Previous Work

In general, force/position control laws given in the literature depend upon

the synthesis of matrices of control gains that effectively create commands of

actuator torque (or force) increments.5 Figure 2.3 illustrates a general force/torque

control loop. The author considers that this figure adapts itself in some form or

fashion to all force control loops cited in the literature. For this loop, it remains to

synthesize the control matrices [Kf] and [Kp]. The vast majority of the literature

on this subject supports, I believe erroneously, that the matrix [Kf] is the designer's

or programmer's choice and often relegates its synthesis to being dependent on

robot task (for instance, making [Kf] diagonal for the Uit and iin directions in

Figure 2.1). When robot stiffness is ignored, the author considers that the task-

dependent synthesis of [Kf] (and [Kp]) is necessary for these control laws to work,

so that compatible force-error and position-error corrections can be combined.

Excellent, insightful, and thorough investigations of one-dimensional force

control have been given in the literature, e. g. An et al. [1988], Chapter 8. Haefner,

et al. [1986] effected two-dimensional force control by employing a pair of one-

dimensional controllers acting in-parallel (which does not offer much geometrical

insight). The extension of Haefner, et al. is valid, but the extension of many other

one-dimensional applications to multi-dimensional ones has not been a natural one.

It is common place for one to read that a robot is desired to have a "stiffness 'kx'

in the 'x' direction." To coerce the close-loop robot system to exhibit this task-

dependent characteristic clearly requires the task-dependent synthesis of [Kf] and

5See Whitney [1987] for a survey of other force/position control laws, such as
Hybrid Control (Raibert and Craig [1981]), Stiffness Control (Salisbury [1980],
Kazerooni, et al. [1986]) and Impedance Control (Hogan [1985]). This survey is an
excellent overview, and therefore, the control laws need not be repeated here. As
far as torque control is concerned, see An, et al. [1988], which documented
experimentation on a unique prototype direct drive serial robot that was
specifically designed to facilitate the control of joint torques.

+ b c
-Dc +
------ 0--->1, --
--T t +

Robot -

System *W


w. desired wrench
wo actual wrench of constraint constraints (*a e [a])
wrench error
Dc twist of compliance (wrench-error correction)

DI desired twist of freedom
> freedoms (Db E [B])
Do actual twist of freedom J

[Kf] wrench gain matrix
D general command twist to robot
60 actuator displacement
bT actuator torque increment

[Kp] actuator gain matrix
[J] kinematic Jacobian relating 6Sp to )
[Robot System] -robot actuators, permanently attached compliant
devices and sensors, reacting against a rigid environment.

Figure 2.3


[Kp], as well as possibly others. Some researchers deem the synthesis of the 36
elements in each of these 6x6 matrices necessary due to the robot system

complexity, but it seems that this widespread synthesis itself introduces a

complexity which is an order of magnitude greater than it needs to be, especially in

a research lab where a graduate student likes to see the effects of initially

implementing one scalar proportional gain, even if it is to control a six-dimensional


Kinestatic Control establishes [Kp] and [Kf] whenever the back-drivable

effects are minimal (shown with a dotted line in Figure 2.3), i. e., wrenches acting

on the gripper do not affect the response of the actuators. For this case, the matrix

[Kp] represents itself as no more than fine-position control gains, which are easily
synthesized for a given robot while it is unconstrained. While the commands to the

actuators are displacement-based, the matrix [Kf] must map a force/torque

(wrench) error into a displacement/orientation (twist) correction, and
consequently, [Kf] is a scalar times the inverse of stiffness (compliance).

Under the provisions of Kinestatic Control, general six-dimensional

simultaneous regulation of both force and position is accomplished via the synthesis

and subsequent actions of only two single dimensionless scalar gains: one for force

(wrench of constraint) and one for position (twist of freedom). (This is a
generalization of (2.8).) The force gain essentially magnifies how far to move the

end-effector along a wrench-corrective twist of compliance, while the position gain
magnifies how far to twist along a desired twist of freedom. Consequently, this

control methodology depends on the knowledge of the open-loop stiffness of the
robot, which enables the actual control law to be simple yet responsive.

2.2 Twist Space Decomposition

2.2.1 Planar Twists

Figure 2.4 illustrates a planar three revolute (3R) serial robot with a

compliant device connecting its gripper to its end-effector (platform). The

workpiece held fixed in the gripper touches the rigid environment in a single point,

P. At the instant in this example, the environment has imposed one constraint on

the gripper, which leaves it with two freedoms. In fact, a constraint force may be

generated to act on the gripper along the line $a. (The point contact is considered

to be a bi-lateral constraint here in the discussion, even though it is really a uni-

lateral one at the times of contact and withdrawal.)

The revolute joints of the robot are actuated (41 642, and S03) and

considered to be tuned for fine-position control so that the robot is non-back-

drivable while serving. The compliant device considered here is a parallel

mechanism consisting of three extendible legs whose displacements are restricted

via translational springs of known stiffnesses. The compliance of the stiff robot is

neglected, and the stiffness of the robot system connecting gripper to ground is

defined by the stiffness of the compliant device.

For this planar example, force coordinates are initially defined, so that they

can be used to determine the forces that the gripper applies to the springs.

Obtaining a variational form of this is followed in turn with the definition of twist

coordinates for the plane. This section continues by developing the mapping of

stiffness for the compliant device (and hence, the robot system). It is shown that

this mapping of stiffness relates a general point (of rotation) with a unique line (of

force). This is finally used to obtain a twist of compliance that is necessary to

complement the two freedoms of the gripper to effect kinestatic control.

A 6'3

Figure 2.4

Lines of forces in the plane may be located with three homogeneous
coordinates that are normalized, g=[c, s; r]T, where c and s are direction cosines
and r the signed perpendicular distance of the line from the origin. A scalar
multiple, f, of these coordinates varies the force acting along the line, and this can
be represented by the three homogeneous coordinates w=f s=[fx, fy; mo]T. The
force acting along a general line can be decomposed into a force acting along a
parallel line through the origin together with a couple. The coordinates

[fx, fy; 0]T denote a force acting through the origin, while the coordinates
[0, 0; mo]T denote a couple (an infinitesimal force on the line at infinity whose
homogeneous coordinates are [0, 0; 1]T). Adding the two sets of coordinates
together reproduces the coordinates of the force.
The homogeneous coordinates [fx, fy; mo]T of the force that the gripper
applies to the springs can be written in the matrix form,

fx cl c2 c3 (11 1)
fy = s1 S2 3 k2 (12 o2) (2.11)
mo 0 0 3 s3 k3 (13 o3)

where the columns of the matrix contain the normalized homogeneous line
coordinates (1', g2, and S3) of the lines (1, 2, and 3) of the three extensible legs
shown in the figure, and where ki (li loi) is the leg force due to the extension of
the ith spring. All coordinates are referenced to the coordinate system located on
the platform at the intersection of the first two legs (hence the moment entries for
those legs are zero). A variational form of (2.11) can be written as

6fx cl c2 c3 k1 611
fy = s S2 s3 k2 612 (2.12)
6mo 0 0 x3 s3j k3 613

provided the legs do not deviate too far from their unloaded positions. Equation
(2.12) can be expressed in the compact form:

S= [j]i]b, (2.13)

where w = [6fx, 6fy; 6mo]T, where [j] replaces the 3x3 matrix of normalized line

coordinates, and where [ki] is a 3x3 diagonal matrix of positive non-zero spring

stiffnesses. The three elements of b6 are the small displacements of the legs, which
are referenced positive for extension.
Prior to defining an inverse kinematic transformation so that its

incorporation into (2.13) will define the overall stiffness mapping, it is necessary to

first define twist coordinates. A twist is a rotation about any point in the plane of
motion.6 It can also be thought of as a pure translation, together with a rotation
about the origin. The twist coordinates [6x, 6y; O]T denote the pure translation,

while the coordinates [0, 0; S6]T denote the rotation about the origin. Adding these
two sets of coordinates together produce the homogeneous coordinates of the

general planar twist. These coordinates can also be written in the forms,
D) = [6x, 6y; 6]T = [b6 y, -6_ x; 61]T= 6[ y, x; 1]T = 64 S, (2.14)

where x, y are the Cartesian coordinates of the point of rotation.

The three coordinates S = [y, x; 1]T are essentially a form of homogeneous

point coordinates that are normalized. The twist coordinates ) = 64 S are

accordingly a form of homogeneous point coordinates, the point being that about

which one body rotates 64 relative to another. As such, a point that is infinitely
distant, such as one with homogeneous coordinates [c, s; 0]T for instance, defines a

pure translation.

6It is really a rotation about a line normal to the plane of motion, but for
brevity, the point of intersection of this line and the plane is used in discussion.

While defining an inverse kinematic transformation for the compliant

device, consider that the gripper twists relative to the platform. In general, this is
a rotation of an amount 6S about the point whose Cartesian coordinates are x, y.

Then, it is straightforward to express, for example, the signed perpendicular
distance, d3, between the point of rotation and the line of action of the third leg
spring force as

d3 = 53 S = c3Y 83x + x3s3, (2.15)
where S = [y, x; 1]T are the normalized homogeneous coordinates of the point of
rotation. While considering only those points of the gripper that instantaneously
lie on the line of the third leg, one sees that, as they move tangent to their

respective concentric circles, they all share the same component (6 d3) directed
along the line. This component consequently defines the displacement of the third

spring, and therefore, 6l3 = 6S d3. Multiplying (2.15) by 68 and substituting (2.14)
yields 613 = 3 D. Repeating for the other two legs yields the inverse kinematic
solution for the compliant device:
61 = U] f). (2.16)

Substituting into (2.13) yields the overall mapping of stiffness, which is expressed

here in the form,
w = [K] D, (2.17)

where [K] = j][ki]jT
The stiffness mapping [K] now represents a linear geometric transformation

that relates points with lines (specifically, a projective correlation). Equation
(2.17) clearly shows that for a fixed [K], there is a one-to-one correspondence
between a point of rotation and a line of force: the point of rotation being that
point in the platform about which the gripper turns an amount 64 and the line of

force being that line along which a small force Sf acts to change the nominal force

which the environment applies to the gripper. For the mechanism in Figure 2.4,

the stiffness matrix [K] is considered known. (It is determined by j] and [ki].)

The columns of [K] are scalar multiples of the coordinates of the forces

necessary to cause twists respectively corresponding to a translation in the x-

direction, a translation in the y-direction, and a rotation about the origin.

Considering the columns further as scalar multiplies of line coordinates, one sees
that the intersection of the first two columns defines a unique point through which

a force must act to cause a translation of the gripper relative to the platform. (If a

force does not act through that point, then the gripper must rotate b6 about some

point in the platform.)
Prior to analyzing the specific task illustrated in Figure 2.4, consider first

that the gripper is fully constrained relative to ground (bolted down, for example).

This means that any nominal force whose coordinates are Wo = [fx, fy; mo]T is
applied to the gripper by ground at a given instant with the robot in a stationary

configuration. Clearly, any twist of the platform relative to ground (with

coordinates Dc) will effect a change in this nominal force, and analytically, this can

be expressed in the form,
= [K] )c, (2.18)

where a sign change has been installed in (2.17) because of the kinematic inversion

of now specifying the twist of the platform relative to the grounded gripper.
Because of (2.18), the force acting on the gripper changes to

*0 + = [fx + 6fx, fy + fy; mo + 6mo]T.
Alternatively, suppose that the desired change r is known, then Dc is computed by

inverting (2.18):
)c = -[K] (2.19)
Equation (2.19) can be used to control a time-varying general force

0o = [fx, fy; mo]T, that interacts between the fully constrained gripper and its
environment, because it specifies at each instant the best force-error-nulling point

C about which to rotate the platform an amount 6q.

It is interesting to consider the columns of [K]- using superposition.

They represent themselves as scalar multiples of the coordinates of twists that are

necessary to change a nominal force by adding to it respectively a force along the

x-axis, a force along the y-axis, and the couple normal to the plane. Considering

the columns further as scalar multiples of point coordinates, one sees that the last

column locates the only point for which a twist of the gripper relative to the

platform generates a couple. (A twist of the gripper relative to the platform about

any other point generates a force acting along some line.)

Returning to the task at hand, namely that illustrated in Figure 2.4, it is

clear that we must interest ourselves in specifically what point is related via (2.17)

with the line of action $a of the constraint force. For it is about this point that the

platform of the compliant device should rotate in order to null (or control) the

constraint force. In other words, the point C that is sought is the twist of

compliance, and from (2.19), its homogeneous coordinates are
Dc = [K] 1 a, (2.20)

where *a = fa [Ca, sa; ra]T are homogeneous coordinates of a force on the line $a.

Figure 2.4 illustrates C, the precise location7 of which is only known after

establishing [ki] and the geometry, i. e. [K] of the compliant device.

7The twist of compliance will usually not be the intuitive pure translation of
the platform in the direction of the line $a. This would put point C at infinity to
the left, which is only valid when (2.20) yields the homogeneous coordinates
Dc = [ca, Sa; 0]T

A rotation of the platform about point C cannot move the gripper, because

the force, or change in force, applied to it is fully supported along $a. In other

words, from (2.17),

*a = -[K] Dc. (2.21)
Here, point C represents the best point to use to control force, because its use does

not affect the control of the displacement of the workpiece (under ideal situations,

e. g. no friction and a good stiffness model). A rotation of the platform about any

other point does cause or affect the motion of the gripper. To visualize this,

consider that because of Sb1, 42, and 603, the platform rotates relative to ground

about a general point G. This twist decomposes itself into an unrestricted rotation

of the gripper about point B together with a rotation about C, which causes a

change in the contact force acting along $a. (Analytically, Dg = Db + Dc.

Synthetically, the line $g containing G and C intersects $a in precisely point B.) It

is the platform that twists Dg relative to ground, while the gripper twists

Db = Dg Dc relative to ground.

Imagining point G to place itself anywhere in the plane furthers the concept

of decomposition of twist. Moving G, and hence $g, moves the point of intersection

of $g and $a, causing B to slide up and down $a. That B lies on $a is in fact the

condition that it is a twist of freedom. In other words, the linear restriction (or

single constraint) on coordinates Db is the vanishing of the virtual work of a

constraint force:
Db Woa = 6b fx + b f + 6b m = 0, (2.22)
where Woa are coordinates of a nominal wrench acting on the gripper along $a.

While it is clear that (2.22) is the point equation of the line $a, it should also be

clear that it is valid for any scalar force acting along it. Supposing the magnitude

to be small, Woa = Wa, then substituting (2.21) into the left-hand side of (2.22) and
multiplying throughout by a minus sign gives the [K]-orthogonal relationship
between the twist of compliance and the twist of freedom,
Db [K] Dc = (Db, Dc = 0, (2.23)
which, after dividing throughout by non-zero rotation angles, 6bb and 64c, states
clearly that the two points B and C are [K]-orthogonal:

Sb [K] Sc = ( Sb Sc ) = 0. (2.24)
The concept of twist decomposition is extended by considering point B to be
an element of the linear span of two points P and Q that lie on $a. In other words,
analytically, the twist coordinates of B can be written as the linear combination,
Db = bb Sb = 6 p Sp + 6q Sq, (2.25)
where Sp and Sq are normalized coordinates of P and Q. Substituting (2.25) into
(2.23) yields that, for general rotations 6bp and b6q, both points P and Q are [K]-
orthogonal to C. It can be said then that P and Q define a system of points, whose
[K]-orthogonal complement is C.
Because C is the [K]-orthogonal complement of P and Q and because it
shares a working relationship with a constraint force acting along $a, it cannot lie
on $a. This fulfills the concept of twist decomposition, since now the twist
coordinates Dg of a general point G may be written,
Dg = 6bg Sg = b6p Sp + b6q Sq + 6c Sc, (2.26)
where the three linearly independent points P, Q, and C are used to span all points
in the plane and represent all possible motions of the platform. Via the [K]-
orthogonal decomposition, the general platform twist is decomposed into a gripper
twist (Db = 6p Sp + bjq Sq) and a constraint-force-error twist correction
(Dc = 6Sc Sc), and this is illustrated in Figure 2.4 with the line $g.

Kinestatic Control of the mechanism in Figure 2.4 is accomplished by an
extension of Equation (2.8). It follows that the control law may take one of the
following forms:
Dg = Gb Db + Gc Dc,
Dg = Gb Db Gc [K] 1 a, or
Dg = Gb (6 pp S + 6q Sq) Gc Sfa [K] 1 Sa, (2.27)

where [K] depends on the robot, Sp, Sq, and a on its task, and where Gb and Gc
are dimensionless gains for position and force errors. The scalars bSp and 6q are
errors in the rotations of the gripper about points P and Q, while the scalar 6fa is
an error in the constraint force. Comparing (2.27) with Figure 2.3 shows that
[Kf] = Gc [K] 1. (See Hennessey [1986] for an alternative planar algorithm
that controls the displacement of the gripper in addition to the compliance levels of
an iRCC which is attached to a PUMA robot.)
Clearly, there are other ways of constraining the gripper of Figure 2.4,
whether by just moving $a or by changing the kind of constraint altogether. An
example of a different kind of constraint sees the incorporation of another point of
contact and, hence, a second normal line of contact, $z. (See Figure 2.5.) This
example leaves the gripper with a single freedom relative to ground, which is a
rotation about the point of intersection (B) of the two lines $a and $z.
Complementing this single twist of freedom must now be a pair of points (C1 and
C2) denoting the twists of compliance. The pair corresponds (via [K]) with the
lines $a and $z. The pair of points C1 and C2 themselves define another line,
whose oo of points share a one-to-one correspondence with the oo of lines that pass
through B. It is this one-to-one relationship defined by [K] that is used to control
the constraint force passing through B. In summary, similar to (2.26), the

Figure 2.5

coordinates of the general twist may be written as a linear combination of the

normalized coordinates of the points B, C1, and C2.

2.2.2 Spatial Twists
The purpose of this section is to establish twist decomposition for spatial

applications involving a robot with six independent actuators. This is

accomplished by

i) defining twists and wrenches for six-dimensional spatial applications,

ii) recognizing a task-independent mapping of stiffness [K] for the robot,

iii) investigating the task-dependent freedoms and constraints of the

gripper relative to ground, which defines the twists of freedom and the
wrenches of constraints,

iv) determining the twists of compliance from the wrenches of

constraints (via the inverse of [K]), and

v) establishing that the twists of compliance and the twists of freedom

are [K]-orthogonal complements.

In the spatial case, a twist is a rotation about a general unique line together

with a translation in the same direction. It can also be thought of as a rotation

about a line through the origin together with a general translation. Its

homogeneous coordinates in either case are given by D=[6biT; boT]T, where 6~o is

an infinitesimal displacement, and 6S is an infinitesimal rotation. (These

coordinates are more conveniently expressed as D = [6io; 65-], where the transposes

are understood.) Its normalized coordinates, on the other hand, are given by

S= [s'.; ST]T( = [soO; 9]), where l s'il = 1. The magnitude 65 of a twist is that scalar
which scales all six normalized coordinates S to reproduce the homogeneous
coordinates D of the twist (1D = 6 S).
Exactly three kinds of twists exist. One body may move relative to another

by a general twist, which is a rotation about a line together with a translation in
the same direction. Analytically, this case is true when bXio b6 Z 0, where the
pitch of the twist is given by h = s' so. A pure rotation is the case whenever
Xo0 = 0 and 1165 0. Finally, a pure translation is the case whenever

51 = 0, for which twist coordinates may not be normalized (because I sll = 0).
Accordingly, twist coordinates for translations are normalized differently,
S= [so; 0], where nowll s'o| = 1.
Similarly in the spatial case, a wrench is a force acting along a general
unique line together with a couple in the same direction. It can also be thought of
as a force acting along a line through the origin together with a general couple. Its
-T T
homogeneous coordinates in either case are given by i = fTT; mi ]T, where f is the
force and riio is the moment. (This can also be more conveniently expressed as
= [f; rio], where the transposes are understood.) Its normalized coordinates, on
the other hand, are given by s = ['T; g ]T( = [g; o0]), where II gll = 1. The wrench
magnitude, f, is that scalar which scales all six normalized coordinates A to
reproduce the coordinates of the wrench r ( g = f s). A wrench increment (or a
small change in a wrench) is defined by a wrench of small magnitude, e. g. Sf,
which means w = [Sf; 61bio].
Exactly three kinds of wrenches exist. The resultant of the forces that one
body applies to another may be a general wrench, which is a force acting along a
line together with a couple in the same direction. Analytically, this case is true

when f ri o 0, where the pitch of the wrench is given by h = So. A force is the
case whenever f rio = 0 and II f 10 O. Finally, a couple is the case whenever
fI =0, for which wrench coordinates may not be normalized (because II sl = 0).
Accordingly, wrench coordinates for couples are normalized differently, i = [0; So],
where nowi s'oII = 1.
With twists and wrenches established for spatial applications, consider now
that the spatial stiffness of the robot is known and that it provides a task-
independent relationship between twist and wrench,
= [K] D, (2.28)
where the magnitude of is small, and where now [K] is a 6x6 positive-definite
matrix denoting the spatial spring. Equation (2.28) relates the twist of the gripper
(relative to the base of the spatial spring) to the change in wrench that the
environment applies to the gripper. Equation (2.28) is considered to be a natural
extension of (2.4) and (2.17). (See Chapter 1 and Equation (1.4).)
Natural six-dimensional extensions of (2.9) and (2.22) provide the means to
establish the general relationship between freedoms and constraints existing
between a gripper and its environment:

Db a = ob f a + b roa = 0, (2.29)
where Db = [6xob; 6boi are coordinates of a twist of freedom and where

Wa = [a; moa] are coordinates of a constraint wrench. Now, (2.22) is
geometrically an incidence relation, specifying that a point lies on a line or a line
contains a point. By analogy, (2.29) specifies, for example, that a line of a rotation
must intersect a line of a force. In general, (2.29) states that a constraint wrench
does no work. Clearly, (2.29) is valid regardless of the magnitude of the constraint
wrench, and it may be finite (f) or incremental (6f).

It is important to recognize that the sum of the number of freedoms and the

number of constraints for the gripper relative to ground is six in a spatial
application. (It may be recalled that this sum was two for the example in Figure
2.1 and three for the examples in Figures 2.4 and 2.5.) This means that when, for
instance, four independent constraints are active, then two freedoms remain. In
such a case, four sets of normalized coordinates si, i = 1,...,4, are used to denote the
wrenches of constraints, while two sets of normalized coordinates S, j = 1,2, are

used to denote the twists of freedom. All linear combinations of these two bases in

conjunction with (2.29) mandate that ST sA = 0, for any i taken with either j. This
essentially establishes vector spaces for both the twists of freedom and the
wrenches of constraint.
Recognizing that via (2.28) there exists for every wrench of constraint a

unique twist essentially proves the existence of the twists of compliance. This can
be expressed as

*a = [K] Dc, (2.30)
which to a sign change is an extension of (2.21). Because [K] has been specified as

positive definite, which mandates that the constraint wrench with coordinates *a
share a working relationship with the twist having coordinates Dc, it can be
categorically stated that such a twist is a non-freedom. Consequently, the twists of
compliance vector space, whose normalized coordinates Si, i = 1,...,4, are obtained
via an inverse mapping of (2.28),
Ai Si = [K] -1 (i (2.31)

for i = 1,...,4, where Ai is a scalar having dimensions L/F. (Refer to the example
in Figure 2.1 where 1/6fn d = 0.1414cm/kg) Linear combinations of the
Ic2 gure ..0
six linearly independent sets of twist coordinates, Sj, j = 1, 2 and Si, i = 1, ..., 4,
span the coordinates of all twists.

Substituting (2.30) into (2.29) yields the [K]-orthogonal relationship between

a twist of freedom and a twist of compliance. Succinctly, an extension of (2.10)

and (2.23) is

Db [K] Dc =( Db, c )= 0, (2.32)
which is valid for all )c taken with any Db. Note that twists of freedom are on the
left, while twists of compliance are on the right. This bookkeeping allows for
asymmetric [K]s and is necessary for the general case of Kinestatic Control.
Reconsider (2.30), where it was desired to obtain the twist of compliance (Dc) that

was the only restricted twist capable of properly changing a given wrench of
constraint (wa). Obtaining )c from (2.30) is not contingent on [K] being symmetric
but rather only on its symmetric part ([K] + [K]T)/2 being positive-definite. (That
no real twist of freedom can be self [K]-orthogonal, viz. D)b [K] Db = 0, ensures that
no intersection exists between the two twist systems.) Examples thus far have
been limited to symmetric stiffness matrices. In the next section, the theory is
implemented employing a real empirically determined stiffness matrix that is not

2.3 Implementing Kinestatic Control
This section documents the six-dimensional implementation of this theory

on a robot system comprising a modified General Electric P60 robot, two 386PC
computers, three Creonics8 motion controller cards, a Lord ATI Corp. model 15/50
force/torque sensor, and a homemade un-instrumented compliant device. (See
Figure 2.6.) Essentially, one of the computers (ROBOT) was employed to control
the fine-position displacement of the robot, while the other (KINESTATIC) was
employed to generate the twist commands of the end-effector platform.

sCreonics Inc., Lebanon, NH, and Lord ATI Corp., Inc, Raleigh, NC.

Figure 2.6

(Communications between the two asynchronously operating PCs was over

Ethernet and consisted of a end-effector platform twist command sent one way and

an actual position and orientation of the end-effector sent the other.) The end

result of this assemblage of hardware and software provided a convenient test bed

upon which to verify the theory.

A liberal amount of compliance was introduced into the end-effector of the

robot by the compliant device.9 Figure 2.6 illustrates this and the force/torque

sensor that constitutes the last link of the robot. The arrangement robot-

force/torque sensor-compliant device-gripper is essentially a six-dimensional

experimental extension of the slider actuators-platform-springs-wheel arrangement

shown in Figure 2.1 and the robot-platform-compliant device-gripper arrangement

shown in Figure 2.4. Therefore, with the force/torque sensor constituting the

"platform" that was connected to ground by six non-back-drivable actuators, it

remained to twist it relative to ground (with six degrees-of-freedom) in order to

simultaneously control the constraint wrenches and twist freedoms of the gripper.

For the implementation, the "gripper" was a three inch long bar of aluminum

square stock, drilled and tapped. (See Figure 2.6 which shows the gripper bolted to

a large immovable table.)

2.3.1 Empirical Determination of [K]

Prior to simultaneously controlling force and displacement, it was necessary

to first measure the mapping of stiffness for the robot, which established the

relationship given by (2.28). This was done while the robot was in the

9Other researchers have installed compliance into their end-effectors:
Whitney [1982], parts assembling aid, experimentally verified; Roberts, et al.
1985, fast responding one degree-of-freedom, experimentally verified; Xu and Paul
1988], for reasons of stability; Goswami, et al. [1990], programmable, task-
dependent stiffness and damping.

configuration shown in Figure 2.6, where the gripper was bolted to the table.

During the measurement the force/torque sensor was used to record the data on

the forces/torques (wrenches) applied to the end-effector by the table. The six

actuator encoders were used, and their sum total effect was representative of the

twist of the force/torque sensor relative to ground, and hence of the grounded

gripper relative to the force/torque sensor. From (2.28), it was clear that a

minimum of six of these twists were necessary to measure [K], provided they were

independent. Because the compliance of the serving robot was considered very

low compared to that of the compliant device connected in series, the deflections of

the robot were not measured during the determination of [K]. The four factors

that were considered to have influenced the measurement of robot stiffness are

given by the following:

i) force/torque sensor (wrench measurement) resolution,

ii) encoder (twist measurement) resolution,

iii) linearity, and

iv) robot configuration.

Not only was the resolution in the individual coordinates considered, (fx for

instance was 0.02 kg, and mox was 0.02 kg-cm), but it was also necessary to

consider the resolution in obtaining direction and location information from the

measured wrench and twist coordinates. Therefore, one must displace the robot

(command it to move) significantly enough to obtain a measurable (and more
accurate) D, viz. it is necessary to accurately locate the twist together with its

direction, pitch, and magnitude. This commanded twist must provide, through a

reasonable amount of compliance, an accurate measure of wrench increment (*),

viz. an accurate determination of its location, direction, pitch, and magnitude.

It is important to note that the robot was not given too large a displacement

(twist) for which the matrix [K] would lose its linearity. Such a set of six

independent large twists taken together with their corresponding six wrench

increments would yield a matrix [K] that would not map correctly a linear

combination of the original six twists.

In order to convince the investigator that the compliance of the robot was

negligible, the robot configuration was changed, and measurements for [K] were

repeated. A stiffness matrix [K] for each of two different robot configurations is

presented here.

Initially, a Remote Center-of-Compliance (Lord ATI Corp. RCC) device was

installed. However, this device was too stiff for axial displacements and cocking

rotations.10 In other words, because the force/torque sensor tended to saturate, the

robot could not be displaced far enough in these directions to obtain an accurate

and repeatable measure of D. A second effort resulted in a spatial spring that was

far too compliant, which meant that sufficient forces/torques could not be applied

to the spring. A third and final assemblage (three compression springs each

clamped at both ends) is shown in Figure 2.6. This yielded the repeatable and

manageable stiffness matrix:

3.140 -0.168 -0.344 -1.051 34.898 -0.083

0.197 3.439 0.052 -31.914 -0.783 0.057

-0.295 0.366 11.194 5.049 -1.159 -0.093
[K] =
-1.381 -28.511 -2.082 394.018 -5.979 2.235

25.660 -1.342 -2.008 2.243 377.047 5.944

0.959 0.087 0.073 -8.484 8.377 76.698

10The RCC was not designed for force control, but rather it was designed to
avoid it.

The upper-left 3x3 has units of kg/cm, the lower-right 3x3 has units of kg-cm, and

the other two 3x3s have units of kg. It should be noted that [K] is asymmetric and

that its symmetric part ([K] + [K]T)/2 is positive-definite.
The coordinate system used to express [K] was located at the center of the

force/torque sensor. The z-axis was coaxial with the sixth joint of the robot, and

the x-axis defined the reference for the last joint of the robot. (This coordinate

system is referenced by the label F.) This choice of representation proved to be the

most convenient, but another one could have just as well been used to establish a

different representation, [K'], where [K'] = [E]T[K][E], and the 6x6 matrix [E]

represents the transformation of twist coordinates. (In other words, the same twist

needs a pair of twist coordinates b and D', one set for each coordinate system.
Then, ) = [E] D'.)
While the gripper was grounded and the compliant device was in an

unloaded configuration, the matrix [K] was measured by sequentially moving the

six individual actuators of the robot, and recording the changes in the forces and

torques (wrench increment) applied to the end-effector. In other words, the six

independent twists chosen were the individual actuator displacements themselves.

(This choice ensured the directions and locations of the respective twists, while at

the same time it enabled easy monitoring of twist magnitude.) Twists were

referenced so to describe the gripper's motion relative to the platform (force/torque

sensor). The following steps were taken to find [K] in terms of F:

i) While holding the last five actuators fixed, the first actuator was
moved 133 encoder edges, which corresponded to 0.25' degrees of the first

joint. The twist and wrench increment were expressed in terms of F and
recorded. The actuator was then returned to its original location, and
the same command was given again. This process was performed ten
times. The sum of the twist data was stored in D1, and the sum of the
wrench data was stored in *1.
ii) Step (i) was repeated for joints 2 through 6 in turn, and this
generated the twist data iD and wrench data wi, (i = 2, ..., 6). The
following summarizes the displacements commanded to the actuators:

Actuator Command
1 133 4X encoder edges
2 230
3 139
4 277
5 185
6 150

Corresponding Joint Command


iii) The wrench data, *i, *.*' 6 was assembled as columns in a 6x6
matrix [W], and the twist data, )1, ..., D6 was likewise assembled as the

columns of a 6x6 matrix [D]. From (2.28), these matrices are related

[W] = [K] [D], and therefore [K] was determined by inverting [D].
iv) In order to check for linearity, twists that were not used to
determine [K] were commanded, and the actual measured wrench
increments were compared to those computed using [K]. The twists
commanded were in fact the six cardinal twists of F. The end-effector


(force/torque sensor) was successively given small displacements in the

x, y, and z directions, and then successive small rotations about the x, y,
and z axes. These twists effected six wrench increments that

corresponded respectively to scalar multiples of the six columns of [K].

v) In order to investigate the dependence of robot configuration on [K],

the last joint was rotated 90, and steps (i) (iii) were repeated.

This represented a significant change in the robot configuration as

seen from the force/torque sensor and spatial spring, since the first five

joints all moved relative to them. A stiffness matrix that was measured

in the second robot configuration was

3.708 -0.175 -0.282 -0.653 28.950 0.000

0.094 3.167 -0.190 -35.810 3.678 -0.129

-0.310 -0.095 11.298 -2.568 4.686 -0.001
[K] =
-1.841 -26.456 -0.373 385.484 -2.320 8.246

30.373 -1.016 -0.751 -2.486 352.869 9.167

0.791 0.181 0.046 -0.949 13.464 76.315

where the units are the same as before.

Finally, the following quantifies the repeatability of [K] (in terms of its 3x3

sub-matrices) by listing the average differences between all empirically determined

[K]s. The first measure quantifies repeatability for [K]s measured while the robot

remained in one of the two configurations. The second measure quantifies

repeatability for [K]s measured while the robot was in either of the two


3x3 Sub-Matrix1 First Measure Second Measure

upper-left 1% 8%
lower-left 1% 8%
upper-right 5% 13%
lower-right 4% 7%

2.3.2 Implementation of 6 DOC Wrench Control
Six degree-of-constraint wrench control was implemented on the
experimental apparatus illustrated in Figure 2.6. A desired wrench was

commanded to the KINESTATIC computer, which generated a corrective twist

(Dc = [6Xoc; 6 c]) based on the control law,
c = G [K] 1 (2.33)
where = [fx, fy, fz; mx, my, mz]T expressed in F is the difference between the
desired and actual wrenches. (The scalar gain G was 0.03.) Equation (2.33) was

performed approximately every 100 milliseconds, and each time it generated a new
twist command.

Before commanding Dc, it was necessary to first transform it into

D = [6bo; 68], where

6xo = [R3] 6xoc and 6~ = [R3] 6 c, (2.34)
and where [R3] is a 3x3 rotation matrix. The columns of [R3] are the direction
cosines of the coordinate axes of F expressed in terms of a coordinate system G.
The origins of F and 6 are the same, but the coordinate axes of G are parallel to

"The values given for the upper-left 3x3 matrix are valid for elements in the
3- 12 kg/cm range. The values given for the lower-left and upper-right 3x3
matrices are valid for elements with a magnitude in the 25 40 kg range, and the
values given for the lower-right 3x3 matrix are valid for elements in the 75 400
kg-cm range.

those of the grounded system located at the shoulder of the GE Robot. (The

coordinate system at the shoulder of the robot is labeled as R.)

The result of (2.34) was communicated to the ROBOT computer, which

controlled the position and orientation of the end-effector (force/torque sensor).

The ROBOT computer performed its reverse and forward displacement kinematics

every 20 milliseconds, and each time it communicated the results of the forward

displacement analysis to the KINESTATIC computer. Figure 2.7 illustrates the

response to a step input of i. = [0, 1 kg, 4 kg; 3 kg-cm, 2 kg-cm, 1 kg-cm]T,

given in terms of F.

It is interesting to examine the response shown in Figure 2.7. This was a

typical response the largest errors being in mx and my. This is because these

coordinates measured torques in the x and y directions that, taken together with

their corresponding twists, constituted the stiffest twist-wrench combinations.

(The coordinates of these twists are respectively the fourth and fifth columns of

[K]- 1.) Consequently, small errors in these twists were magnified as shown in
Figure 2.7.

The investigator realized that placing bounds on these coordinates was

necessary. For instance, -8 kg-cm
-5 kg
and used in (2.33) was no longer accurate when the compliant device was under

loads outside of these bounds. (These bounds also affected where a controlled force

could be located. For example, a 1 kg force in the z-direction could not be

accurately controlled if it had more than an 8 cm moment about the x-axis.)

A further examination of Figure 2.7 indicates that the lags were the same

for all coordinates. (This was typical in the response plots of other, different




I -
IL \ T- vT '-0

0o o o o o o o o

in v mi w1 '4 0 01
r=- L-r------r-- --r-.1--r --- O

- P


0 E

0 0 0 0 0 0 0 0

--- --- 0-- -- -- -- u-



IL -t.i

F-" f-"-.- ",-, -1--," -Y -- "-...w ----- --- 0O
0 0 0 0 0 0 00

If r IO J _

- )



N w r

0 0 0 0 0

1 (U 0 01 "T

0 0
0 0o





0 0



- U
- 0lr






...., .,- 1 ......r..t... 0
0 0 0 0

U 0 01
I ________



wrench step changes.) It is important to recognize this, because this proves the

principle that at each instant the wrench error is nulled by the best corrective

twist. In other words, the wrench error coordinates are nulled at the same pace.

2.3.3 Implementation of 5DOC/1DOF Kinestatic Control
Five degree-of-constraint/one degree-of-freedom kinestatic control was

implemented on the experimental apparatus illustrated in Figure 2.8. The gripper

was bolted to a slider (prismatic) joint that was in turn bolted to the level table.
Relative to the slider, the gripper was positioned and oriented in a general way.

The twist of freedom of the gripper was D)b = [ 1, 0, 0; 0, 0, 0]T, which was
a translation in the negative x-direction of G. (It was also a translation in the

negative x-direction of R, the grounded coordinate system located at the shoulder of

the robot). The position of the slider was p, where 0
Because of the bounds placed on controllable wrenches (See Section 2.3.2.),

judicious choices had to be made regarding which wrenches of constraint to control.

Three (ml, m2, and m3) of the five constraints were torques whose directions were

those specified by the coordinate axes of F. The other two constraints (fl and f2)

were forces along respectively the y and z axes of G. A desired wrench of

constraint was conveniently expressed in terms of F by

w = [a] f;, (2.35)
where the columns of the 6x5 matrix [a] were the coordinates (in terms of F) of the
five constraint wrenches, and where f = [fi' f2, mnl', m3 IT

While the five columns of [a] were the coordinates of the wrenches of

constraints expressed in terms of F, it was necessary to declare a sixth wrench that

was independent of the wrenches of constraint. This was because the force/torque

sensor reported a general wrench (v*s in terms of F), and it was necessary to filter it

Figure 2.8

into an actual wrench of constraint (Vo in terms of F). Accordingly, a sixth
wrench was declared whose coordinates constituted first column of the 6x6 matrix
[m], and

[m] R3]T [03 (2.36)
[03] [13]

where the last five columns correspond to the five columns of [a]. The 3x3 sub-
matrix [R3] was defined in (2.34), [03] is a 3x3 zero matrix, and [13] is a 3x3
identity matrix. The filtering of the sensed wrench was then accomplished by the

wo= [m][i][m]- 1 s, (2.37)
where [i] is a 6x6 identity matrix whose first element is replaced by a zero, and
where [m] 1= [m]T. There were no working wrenches (the friction of the slider
was considered minimal), and the assumption was made that the actual wrench of
constraint (wo) was insensitive to which sixth wrench was chosen to be the first
column of [m]. In other words, the first element of [m]T i is small.
A desired set of five constraints (fl' f2' ml, m2, and m3) together with a
desired position (p) of the slider was commanded to the KINESTATIC computer,
which generated a corrective twist (D = [6xo; 60]) based on the control law:
D = G16p Db + G2 Dc, (2.38)
where Dc is the coordinates of the twist of compliance expressed in G, where 6p is
an error in slider position, and where the twist and wrench gains are G1 and G2.
The coordinates 15 of the twist of compliance expressed in F was calculated from
^= [K] (l i o), (2.39)
where i is from (2.35) and Wo is from (2.37). The coordinates D' were

transformed into Dc by (2.34) where Dc is replaced by D] and where D is replaced

by Dc. Equation (2.38) was calculated approximately every 100 milliseconds, and

the result was communicated to the ROBOT computer.

Representative response plots of this system are given in Figures 2.9 11.

Figure 2.9 illustrates the nulling of a wrench of constraint for initially loaded

gripper. It is important to recognize that for this experiment, the twist gain was
set to zero, G1 = 0. (G2 = 0.03.) This further illustrates that the twist of

compliance used to null the wrench of constraint error was the best twist, since it

did not move the slider significantly while nulling a wrench of constraint. (Figure

2.9 shows constraint response curves with the same type of lagging that was present

in the 6 DOC wrench control, and also, it shows that the displacement of the slider

was only minimal with some drift.)

Figure 2.10 illustrates the response of the system that was given a

displacement command p = 5 cm, and a constraint command, fl =f2=
mi = m2 = m3 = 0.0. The system accomplished the move in 40 seconds, and the

constraint forces and torques were suppressed throughout the move. (G1 = 0.008)

Figure 2.11 illustrates the response of the system that was initially given a

step command of p = 4.0, f1 = 0., f2 = 1 kg, mi = 4 kg-cm, m2 = 5 kg-cm,

m3 = 2 kg-cm. Midway through the response, the displacement command was
changed to p = 7.0 cm. The constraint response curves continued to exhibit lags

that were similar, which is indicative of the fact that the correct twist of

compliance was commanded at every instant.



-- .-- -,- _- -- -.- _
0 0 0 0 0



O 0
* O









0 Fu


* Fl

f- --- *-. -- --* -------
0 0 0 0 0 0
111 (W .. .. _.'1 P). I.D__ _


r-- ...
0 0
*l tW



0 0-0
.- ,- ,. ,- _.o
0 0 0 0


i ,- -
0 0 0


'-r r-- r~-r -r-"te'r't'''-rr r-r-' | f"-
00000000000 0
m I I I I *
19_N_ _W t U_,_ .... -L I ...


r-~ mr-irT-- T--- *

#- I"-T-" r+-- --



0 E

. .. .. ..---1- -t -
0 0 0
wD In 1

?- S I- [ -- -......
0 0 0 0 0 0
S V 0 N II
______1 I _I \ I

0 0

' (n

,. .-- 1-
0 0
9 N

0 0




0 0










----------- --- -----S---I-~----~I--~_LZ-E-~-I

-'----L 1



t [

0 0 0 0 0


0 0

0 0 0 0 0

(U '4 0 (U



0 t

3 0 0 0 0

I ID Il n

1--" --"- I g "-, ; 6
0 0 0 0 0 0 0

S(U 0 (U ID


ID O ( 0 (V I

0 o 0

ID v (VI



0 0 0 0

0 (U ID








Stiffness is a geometric mapping, one that transforms a differential

displacement (twist) into an incremental change in force (wrench). In order to

analyze stiffness, one must first define two rigid bodies and a compliant coupling

that connects them. Thus, by the mapping of stiffness, a differential displacement

(twist) of one body relative to the other is transformed into an incremental change

in the force (wrench) that one body applies to the other through the coupling.

The word "global" is introduced here to denote that the mapping of stiffness

changes and that it is a function of the configuration of the compliant coupling.

Therefore, a global stiffness model defines the correct mapping of stiffness for a

compliant coupling even when it is displaced far from an unloaded configuration.

This new concept in modeling supersedes a previously accepted and widely

accepted modeling technique that requires a compliant coupling to remain near an

unloaded configuration. (Such a restriction was specified in Chapter 1.) The work

of Dimentberg [1965] remains the standard for the stiffness modeling of a compliant

coupling that stays near its unloaded configuration. His model results in a

mapping of stiffness that is represented by a constant and symmetric stiffness


In this chapter, the exact position-and-orientation-dependent stiffness

mapping is derived for a simple compliant coupling that is made up of a number of

translational springs acting in-parallel. A "simple compliant coupling" is defined in

the general case as a frictionless and massless mechanism having prismatic joints

restricted by translational springs and revolute joints restricted by torsional

springs. Such a coupling should be configured with other unrestricted joints so that

when all of the springs are removed from their joints, the coupling transmits no

forces or torques between the two bodies which it connects. (Three examples are

given in this chapter.)

The word "simple" is used to denote that the stiffness mapping of such a

coupling is readily obtained from simple geometrical constructions and simple

scalar deflection relations (for example, 6f = k 6x, which relates the change of force

6f in a translational spring with stiffness k to a spring displacement 6x). The

compliant couplings given in Figures 1.1, 1.2, 2.1, and 2.4 are considered simple,

but on the other hand, the coupling used in the implementation (See Figure 2.6) is

considered general.

The impetus for these investigations evolved from the recurrence of

asymmetries in experimentally determined stiffness matrices. While Chapter 1

introduced the concept of replacing a general coupling with a 3-3 Stewart Platform

(simple compliant coupling) model, it also restricted itself to symmetric mappings.

In that chapter, the disclaimer was made that the coupling (as well as its model)

should remain virtually near an unloaded configuration, and this implies a

symmetric stiffness mapping. However, when stiffness mappings of real couplings

were obtained by direct measurement (See Chapter 2.), they were asymmetric. (In

Chapter 2, the spatial spring of the experimental apparatus was nearly unloaded,

and [K] was experimentally determined to be asymmetric in many entries.)

These asymmetries require the theory of Kinestatic Control (See Chapter 1.)

to use asymmetric stiffness matrices. Chapter 1 established the theme of this

dissertation: "A knowledge of the mapping of spatial stiffness is an essential

ingredient in establishing the control of both the force and the displacement of a

partially constrained rigid body." That the mapping is asymmetric does not in any

way detract from the proposed theory, and the work detailed here is meant to

extend it. Noteworthy achievements presented in this chapter include what is

believed to be the clearest and simplest possible expressions for the global

stiffnesses of three simple compliant couplings as well as a clear indication of how

and where such mappings lose their symmetry.

3.1 Planar Two-Dimensional Spring

Figure 3.1 illustrates two translational springs1 acting in-parallel, one

grounded at pivot point A and the other grounded at pivot point B. The other

ends of the two springs are connected and pivoted at point P, which is located with

Cartesian coordinates x and y. The two springs taken together as a single unit

define a planar two-dimensional spring. The spring is two-dimensional because two

independent forces act in its translational springs, and it is planar since the forces

remain in a plane.

An external force f = fx i + fy j is applied to the two-dimensional spring at

P. The external force is in static equilibrium with the forces acting in the springs,

and this system remains in static equilibrium as the point P displaces. To

accommodate this, the external force changes as point P moves. It is now desired

to find the mapping of stiffness,

1Either of the springs can be thought of as acting in the prismatic joint of a
revolute-prismatic-revolute serial chain. Two such serial chains act in-parallel to
define the simple compliant coupling shown in Figure 3.1.

Figure 3.1


6fx k1 1 k12 (x
= (3.1)
Sfy k21 k22 6

where 6f = 6fx i + 6fy J is a small increment in f that is related via kij to the
small displacement Sd = bx i + Sy j of point P. Based on the locations of points A,
B, and P, the lengths 11 and 12 and angles 81 and 82 can be computed. The spring
constants k1 and k2 and free lengths lol and lo2 are considered known.
In order to obtain (3.1), it is necessary first to express the finite forces that
are applied to the springs by the external force:

fx c 2 k (11 101) (
fy s s2 k2 (12 lo2)

where ci = cos(Oi) and si = sin(Oi), and where ki and (/i loi) are respectively the
positive non-zero spring constant and the difference between the current and free
lengths of the ith spring. A complete differential of (3.2) gives

[fx l c2 ki C1ll[ i -1 s2 kl (11 -101) 601 (3.3)
6fy sl s2 k2 b2 c1 c2 k2 (12 1o2) 682

where bfx and 6fy are deviations away from fx and fy, where bli is a deviation of
the ith spring extending from its current length, and where 60i is a deviation of 8i.
The dimensionless parameters l = l101/1 and P2 = 12/12 are now
introduced, whose respective deviations from unity give indications of how far the
two-dimensional spring is away from an unloaded configuration. The scalar pi is
positive; when pi < 1, the ith spring is extended, and when pi > 1, the ith spring is
compressed. Substituting pi into (3.3) yields

6 fx [cl c2 k1 11 2 k1 (1 ) 11 1 (34)
f/y i 2 k2 612 L C 2 Cc2 k2, (1 p2) 1/82 0

In order to determine (3.1), it is necessary to make substitutions of 8x and
by for b61 and 1i 60i. (Such a substitution ensures a compatible set of the four
differentials, 61i and li.8i, i = 1, 2.) Prior to the substitution, (3.4) is rearranged
into the form,

8fx cl c2 0 611

+ -s2 k (1 Pl) 0 11 8019, (3.5)
6 f y J \ 2 0 2 6l2
Sc c2 0 k2 (1 P2) 12 602

which facilitates the substitutions that are necessary.
Figure 3.2 illustrates how the connection point may displace 6d. This is
projected onto two normalized directions for the first spring, which are the
direction of the spring (Sl = cl i + S ,) and the direction of its derivative with
respect to 01 (6' = -1 i +cl j). The results of these projections yield
respectively the desired translations: 611 and 11 601. Repeating for the second
spring and incorporating the overall results into (3.5) provides the desired (3.1)

k11 k12 cl c2 k, I cl s
k21 k22 [1 ]2 0 k2 2 s2

+ 1- 2 k (1 Pl) 0 c (3.6)
+ Ci c2 0 k2 (1 P2) 2 c2 (3.


Figure 3.2

Equation (3.1) may be more compactly written in the form,
si = [K] Sd, (3.7)
where from (3.6),

[K] = j] [ki] [j]T + [Sj] [ki(1 pi)] [Sj]T, (3.8)
where [j] is the formal instantaneous static Jacobian relating the differential change
in the scalar spring forces to 6f, where [Sj] is its derivative with respect to 01 and

82, and where [ki] and [ki(1 pi)] are the 2x2 diagonal matrices. (When

P1 = P2 = 1, the (3.8) spring matrix [K] reduces to the Chapter 2 [K], which was
determined for the wheel-spring-platform arrangement in the unloaded
It is useful to make the following observations on the 2x2 spring matrix [K]
defined by (3.8):

i) The matrix [K] is the sum of two symmetric matrices and therefore is
always symmetric.
ii) In general, the matrix [K] is not positive-definite. It is positive
definite whenever the springs are both extended (pi 1, i= 1, 2).
Otherwise, it may be indefinite.
iii) The three independent elements of [K] are specified by ten
parameters. (Three points, two spring constants, and two free lengths.)
Therefore, an oo7 of two-dimensional springs have the same [K].
iv) For an unloaded two-dimensional spring, [K] = j] [ki] j]T, since

pi = 1 in (3.8). Because [K] is, in general, the sum of two matrices of
this form (See (3.8).), the initially loaded two-dimensional spring shown
in Figure 3.1 is equivalent to a pair of unloaded two-dimensional springs

acting in-parallel, one having the stiffness matrix [j] [ki] [j]T and the
other having the stiffness matrix [6j] [ki(1 pi)] [6j]T. Figure 3.3 shows
such a pair of unloaded two-dimensional springs acting in-parallel four
translational springs with constants k1, k2, kl(1 pl), and k2(1 p2)'
v) The matrix [K] may be non-singular even though [j]. is singular.
(Consider the example illustrated in Figure 3.4.)
vi) The matrix [K] may be singular when [j] is non-singular. (Consider
the example illustrated in Figure 3.5 with either k1 + k2(1 p2) = 0 or
k2 + kl(1 P1) = 0.)
vii) The matrix [K] may be negative-definite. (Consider Figure 3.5 with
both k1 + k2(1 p2)<0 and k2 + kl(l pl)<0.)

3.2 Planar Three-Dimensional Spring
Figure 3.6 illustrates a moveable platform connected to ground by three
translational springs2 acting in-parallel. The three springs taken together as a
single unit define a planar three-dimensional spring. The spring is three-
dimensional since three independent forces act in its translational springs, and it is
planar because these forces remain in the same plane.
A resultant external force f with coordinates Wo = [fx, fy; mo]T acts on the
moveable platform along line $o. The external force is in static equilibrium with
the three spring forces, and the system remains in static equilibrium as the
moveable platform rotates 60 about point R. To accommodate this, the external
force changes as the moveable platform moves, and its change is defined as a force
increment. (The force increment 6f has coordinates [ = [fx, 6.fy; 6mo]T and acts

2Each of the springs can be thought of as acting in the prismatic joint of a
revolute-prismatic-revolute serial chain. Three such serial chains act in-parallel to
define the simple compliant coupling shown in Figure 3.6.

k2(1 p2)

kl(1 pl)

Figure 3.3

k2( P2)

k1( p1)

Figure 3.4


kl(1 pl)

k2(1 P2)


Figure 3.5


Yl = Y2


Figure 3.6

along a line $.) The coordinates of a force are scalar multiples of normalized line
coordinates: f 8, where f is the magnitude of the force (6f for a force increment),
and where coordinates s = [c, s; r]T are normalized coordinates of the line of the
force (c and s are the direction cosines of the line, and r is the signed perpendicular
distance of the line from the origin).
The moveable platform is located by the Cartesian coordinates Xp and yp of
point P together with an orientation angle g. A differential rotation 86 of the
moveable platform about point R is represented with twist coordinates,
D = [x, Sy; S6]T = [b6 y, -6 x; 60]T= 64[ y, x; 1]T = 6b S, [(2.14)]
where x, y are the Cartesian coordinates of the instant center R, and where
coordinates S are defined as the normalized coordinates of point R. (The
coordinates S can also be thought of as the coordinates of the line perpendicular to
the plane of motion at point R, and accordingly, the platform can be thought to
rotate b6 about this line.)
It is instructive to consider that the two twist coordinates 6x and Sy also
specify the displacement of a point in the moveable platform which is coincident
with the origin. Consider that such a point displaces
6do = i +6y j = 6 y i 6 x J.

For completeness, also consider that point P displaces
Sdp = (6x 6 yp) i + (by + 6+ xp) j = 6 (y yp) i 6(x zp) j. (3.9)
Now, given that the moveable platform rotates S6 about point R, it is
required to determine the stiffness mapping,

fx k k1 k12 k13 6x
6fy = k k22 k23 y (3.10)
6nmo k31 k32 k33 i

where w = [sfx, bfy; bmo]T denotes the change in resultant force that is related
via kij to the changes D = [6x, by; b ]T. Based on Xp, yp, and 4 and the locations
of the fixed pivots, the lengths 11, 12, and 13 and angles 01, 02, and 03 can be
calculated. The spring constants kl, k2, and k3 and free lengths 101, 1o2, and lo3
are considered known.
The mapping of stiffness (3.10) is global. The simple compliant coupling of
Figure 3.6 is not restricted to being near an unloaded configuration as it was in
Section 2.2.1. (The platform of Section 2.2.1 is replaced here by ground, while the
gripper is replaced by the moveable platform.) Nevertheless, (3.10) represents the
same kind of mapping as did (2.17), i. e. one which relates a point R of rotation to
a line $ of an increment of force.
In order to determine the mapping of stiffness (3.10), it is necessary to first
express the finite forces that the resultant *o applies to the springs:

fx c c2 3 1(11- i l1)
fy = s1 S2 S3 k2 (12- o2) (3.11)
mo '1 r2 r3 k3 (13 13)

where the columns of the 3x3 matrix contain the normalized homogeneous line
coordinates (~1' S2, and 3) of the lines ($1' $2, and $3) of the three extensible legs
shown in Figure 3.6, and where ki (li loi) is the leg force due to the extension of
the ith spring. For the line coordinates ri, i = 1, 2, and 3,
ri = xi si yi ci, (3.12)
where si = sin(0i), ci = cos(0i), and where xi and yi are the Cartesian coordinates of
the fixed pivot point of the ith spring. For Figure 3.6, all xi and yi are constants,
and x1 = x2 and yl = y2.

A complete differential of (3.11) is an extension of (3.3) that assumes the

Sbfx cl c2 C3 k1 11
Sfy = Si s2 s3 k2 612 +
6mo r1 r2 r3 k3 63

-s 1 s2 -s3 k1 (11 101) 601
1 c2 c3 k2 (12 1o2) 602 (3.13)
brl br2 br3 k3 (13-103) 603

where in the 3x3 differential matrix, for i = 1, 2, and 3,
6ri = xi ci + Yi si. (3.14)

While the ith column of the first 3x3 matrix in (3.13) corresponds to the
normalized line coordinates si of the line $i of the ith spring, it is of the utmost
importance to consider the ith column of the second 3x3 differential matrix as the
normalized line coordinates 6bi of the line 6$i, which is the derivative of $i with
respect to 0i. See Figure 3.7, which clearly shows that 6$1 is perpendicular to $1
and that both pass through the first fixed pivot point. (6$2 and 6$3 are also
perpendicular to $2 and $3 respectively, and they also pass through their respective
fixed pivot points.) Therefore, an increment of 60i from Oi gives the 0i +60i line
coordinates of the ith spring line:

9i(Oi + 60i) = i(i) + bi(Oi) 6i, (3.15)
in the limit as 6SO-* 0.


Figure 3.7