Robot Force Control
Robot Force Control
To My Parents
—LV
Contents
Preface xi
Acknowledgments xiii
1. INTRODUCTION 1
1. Motion control vs. interaction control 1
2. Indirect vs. direct force control 2
3. Experimental apparatus 4
2. MOTION CONTROL 7
1. Modeling 7
1.1 Kinematics 8
1.2 Dynamics 10
2. Tracking control 12
2.1 Dynamic model-based compensation 12
2.2 Euler angles error 14
2.3 Angle/axis error 16
2.4 Quaternion error 19
2.5 Computational issues 21
2.6 Redundancy resolution 23
3. Regulation 26
3.1 Static model-based compensation 26
3.2 Orientation errors 27
4. Further reading 28
3. INDIRECT FORCE CONTROL 31
1. Compliance control 31
1.1 Active compliance 32
1.2 Experiments 34
2. Impedance control 36
2.1 Active impedance 36
2.2 Inner motion control 38
2.3 Three-DOF impedance control 40
2.4 Experiments 40
vii
viii ROBOT FORCE CONTROL
Research on robot force control has flourished in the past two decades. Such
a wide interest is motivated by the general desire of providing robotic systems
with enhanced sensory capabilities. Robots using force, touch, distance, visual
feedback are expected to autonomously operate in unstructured environments
other than the typical industrial shop floor.
It should be no surprise that managing the interaction of a robot with the
environment by adopting a purely motion control strategy turns out to be
inadequate. The unavoidable modeling errors and uncertainties may cause a
rise of the contact forces ultimately leading to an unstable behavior during the
interaction. On the other hand, since the early work on telemanipulation, the
use of force feedback was conceived to assist the human operator in the remote
handling of objects with a slave manipulator. More recently, cooperative robot
systems have been developed where two or more manipulators (viz. the fingers
of a dexterous robot hand) are to be controlled so as to limit the exchanged
forces and avoid squeezing of a commonly held object.
The subject of robot force control is not treated in depth in robotics textbooks,
in spite of its crucial importance for practical manipulation tasks. In the few
books addressing this topic, the material is often limited to single-degree-of-
freedom tasks. On the other hand, several results are available in the robotics
literature but no dedicated monograph exists. The book is thus aimed at filling
this gap by providing a theoretical and experimental treatment of robot force
control.
The topics covered are largely inspired by the research work of the authors
and their colleagues in the robotics group at the University of Naples during
the last decade, including the Doctorate thesis on force control by the second
author. Nonetheless, the book is not a mere collection of the results that can
be found in archival publications. The presentation of the various concepts
is rather motivated by the aim to lie the methodology behind the robot force
xi
xii ROBOT FORCE CONTROL
To Lorenzo Sciavicco goes the authors’ largest sign of recognition for having
pioneered research in robotics at University of Naples. He has ever constituted
an inexhaustible source of inspiration and encouragement to face new chal-
lenges. The authors are grateful to Stefano Chiaverini for his substantial work
in the field and his original contribution of the parallel approach. The material
in Chapter 4 is greatly inspired by the joint papers with him. Warm thanks
are due to Pasquale Chiacchio for having established, with the above two col-
leagues, the PRISMA Lab providing exciting facilities for local research. Most
of the contents of Chapters 2 and 3 are the result of a fruitful cooperation with
Fabrizio Caccavale and Ciro Natale. The latter also deserves a special note of
mention for his invaluable support in the experimental activities, as well as for
useful annotations on a draft of this book. A final word of appreciation is for
Rob Zeller at Kluwer Academic Publishers in Boston for his valuable editorial
assistance.
xiii
Chapter 1
INTRODUCTION
Some introductory remarks on the robot force control problem are given. The rationale
for the control schemes presented in the subsequent chapters is illustrated, together with
a description of the experimental apparatus.
position of one part is exactly known, the manipulator should guide the motion
of the other with the same accuracy.
In practice, the planning errors may give rise to a contact force causing a
deviation of the end effector from the desired trajectory. On the other hand,
the control system reacts to reduce such deviation. This ultimately leads to a
build-up of the contact force until saturation of the joint actuators is reached or
breakage of the parts in contact occurs.
The higher the environment stiffness and position control accuracy are, the
easier a situation like the one just described can occur. This drawback can
be overcome if a compliant behavior is ensured during the interaction. This
can be achieved either in a passive fashion by interposing a suitable compliant
mechanical device between the manipulator end effector and the environment,
or in an active fashion by devising a suitable interaction control strategy.
The contact force is the quantity describing the state of interaction in the
most complete fashion. Therefore, it is expected that enhanced performance
can be achieved with an interaction control provided that force measurements
are available. To this purpose, a force/torque sensor can be mounted on a robot
manipulator, typically between the wrist and the end effector, and its readings
shall be passed to the robot control unit via a suitable interface.
Robot force control has attracted a wide number of researchers in the past
two decades. A state-of-the-art of the first decade is provided in [111], whereas
the progress of the last decade is surveyed in [105] and [35]. Just recently,
a monograph on force control [48] has appeared. The following section is
aimed at presenting the features of the main strategies of interaction control
with proper reference to the key literature in the field.
In order to validate the theoretical findings, most of the force control schemes
presented throughout the book are tested in a number of experiments for rep-
resentative interaction tasks. Indeed, the force/torque sensor needed for the
execution of interaction control schemes is not typically available for industrial
robots, because of high cost and scarce reliability. A commercially available
industrial robot has been purposefully utilized to demonstrate the credibility
of force control in the perspective of the next generation of robot control units
with enhanced sensory feedback capabilities. The problem of interfacing the
force/torque sensor has been solved thanks to the open architecture of the
control unit. This feature is crucial also for the implementation of control
schemes requiring model-based compensation actions. The apparatus used for
experimental testing is described in the next section.
3. EXPERIMENTAL APPARATUS
The experimental apparatus available in the PRISMA Lab comprises two
industrial robots Comau SMART-3 S (Fig. 1.1).
Each robot manipulator has a six-revolute-joint anthropomorphic geometry
with nonnull shoulder and elbow offsets and non-spherical wrist. One manip-
ulator is mounted on a sliding track which provides an additional degree of
mobility. The joints are actuated by brushless motors via gear trains; shaft
absolute resolvers provide motor position measurements. Each robot is con-
Introduction 5
trolled by the C3G 9000 control unit which has a VME-based architecture
with 2 processing boards (Robot CPU and Servo CPU) both based on a Mo-
torola 68020/68882, where the latter has an additional DSP and is in charge of
trajectory generation, inverse kinematics and joint position servo control. Inde-
pendent joint control is adopted where the individual servos are implemented
as standard PID controllers. The native robot programming language is PDL 2,
a high-level Pascal-like language with typical motion planning instructions.
An open control architecture is available which allows testing of advanced
model-based control algorithms on a conventional industrial robot [37]. Con-
nection of the VME bus of the C3G 9000 unit to the ISA bus of a standard PC
is made possible by a BIT 3 Computer bus adapter board, and the PC and C3G
controller communicate via the shared memory available in the Robot CPU;
the experiments reported in the present book have been carried out by using
a PC Pentium MMX/233. Time synchronization is implemented by interrupt
signals from the C3G to the PC with data exchange at a given sampling rate. A
set of C routines are available to drive the bus adapter boards. These routines
are collected in a library (PCC3Link) and are devoted to performing communi-
cation tasks, e.g., reading shaft motor positions and/or writing motor reference
currents from/to the shared memory. Also, a set of routines are devoted to per-
forming safety checks and monitoring system health, e.g., a watchdog function
and/or maximum current checks.
Seven different operating modes are available in the control unit, allowing
the PC to interact with the original controller both at trajectory generation level
and at joint control level. To implement model-based control schemes, the
operating mode number 4 is used in which the PC is in charge of computing the
control algorithm and passing the references to the current servos through the
communication link at 1 ms sampling time. Joint velocities are reconstructed
through numerical differentiation of joint position readings, except when a
specific observer is used. All control algorithms are implemented in discrete
time at 1 ms sampling interval.
6 ROBOT FORCE CONTROL
FORCE
PENTIUM PARALLEL READINGS
233 INTERFACE
ISA BUS
BIT 3
ADAPTER
PC
VME BUS
JOINT
READINGS
ROBOT SERVO
CPU CPU
MOTOR
CURRENTS
A six-axis force/torque sensor ATI FT30-100 with force range of 130 N and
torque range of 10 Nm can be mounted at the wrist of either robot (Fig. 1.2).
The sensor is connected to the PC by a parallel interface board which provides
readings of six components of generalized force at 1 ms.
A schematic of the open control architecture is depicted in Fig. 1.3.
The type of environment considered in the various case studies presented in
the following chapters consists of planar compliant surfaces of medium stiff-
ness, with an estimated contact stiffness of the order of 104 N/m for translational
displacements and of 10 Nm/rad for rotational displacements. This choice is
motivated by the desire of safely analyzing the performance of the various
control schemes where the interaction with the environment encompasses an
unplanned transition from non-contact to contact at nonnegligible end-effector
speed.
Chapter 2
MOTION CONTROL
Prior to tackling the force control problem, the motion control problem is analyzed.
Kinematic and dynamic modeling of a robot manipulator are presented. The inverse
dynamics strategy is pursued leading to a resolved acceleration control which ensures
tracking of a desired end-effector position and orientation trajectory. Different types
of orientation error are considered which are based on Euler angles, angle/axis and
quaternion, respectively. A redundancy resolution scheme is embedded into the control.
Regulation to a desired end-effector position and orientation is achieved by a PD control
with gravity compensation.
1. MODELING
The class of robotic systems considered throughout this book is that of robot
manipulators. The mechanical structure of a robot manipulator consists of a
sequence of links connected by means of joints. Links and joints are usually
made as rigid as possible to achieve high precision in robot positioning. An end
effector is mounted at the tip of the manipulator which is specified according
to the task the robot shall execute.
Completion of a generic robot task requires the execution of a specific
motion prescribed to the manipulator end effector. The motion can be either
unconstrained, if there is no physical interaction between the end effector and
the environment, or constrained if contact forces arise between the end effector
and the environment.
The correct execution of the end-effector motion is entrusted to the con-
trol system which shall provide the joint actuators of the manipulator with the
commands consistent with the mechanical structure of the manipulator. Mod-
eling a robot manipulator is therefore a necessary premise to finding motion
control strategies. In the following, the kinematic model and the dynamic
7
8 ROBOT FORCE CONTROL
n e
q4 s
e
q3 a e
q2
p
e
Z
q1 b
O b
X b
Y
b
Figure 2.1. Schematic of an open-chain robot manipulator with base frame and end-effector
frame.
1.1 KINEMATICS
A robot manipulator consists of a kinematic chain of n +1 links connected by
means of n joints. Joints can essentially be of two types: revolute and prismatic,
while complex joints can be decomposed into these simple joints. Revolute
joints are usually preferred to prismatic joints in view of their compactness and
reliability. One end of the chain is connected to the base link, whereas an end
effector is connected to the other end. The basic structure of a manipulator is
the open kinematic chain which occurs when there is only one sequence of links
connecting the two ends of the chain. Alternatively, a manipulator contains a
closed kinematic chain when a sequence of links forms a loop. In Fig. 2.1, an
open-chain robot manipulator is illustrated with conventional representation of
revolute and prismatic joints.
q p
Let denote the (n 1) vector of joint variables, e the (3 1) position
vector, and
R
e = [ e e e] n s a (2.1)
the (3 3) rotation matrix, describing the origin and the orientation of the
n s a
end-effector frame, where e , e , e are the unit vectors of the axes of the end-
p R
effector frame (Fig. 2.1). The quantities e and e characterize the end-effector
frame e (Oe –Xe Ye Ze ) with respect to a fixed base frame b (Ob –Xb Yb Zb ) and
no superscript is used; instead, if a matrix or vector quantity is to be referred to
Motion Control 9
a frame other than the base frame, then a proper frame superscript shall precede
the quantity.
The kinematic model of the manipulator gives the relationship between q
p
and e , i.e.
p p q
e = e( ) (2.2)
as well as between q and Re, i.e.
Re = Re(q). (2.3)
q p
Let _ denote the vector of joint velocities, _ e the (3 1) vector of end-effector
!
linear velocity, and e the (3 1) vector of end-effector angular velocity. The
differential kinematics model gives the relationship between _ andq
ve = !p_ ee
(2.4)
in the form
ve = J (q)q_ (2.5)
J
where is the (6 n) end-effector geometric Jacobian matrix. The Jacobian
can be partitioned as
J = JJ po
(2.6)
to separate the contributions of the joint velocities to the linear and the angular
J
velocity in (2.4). The joint configurations at which the matrix is not full-rank
are termed kinematic singularities.
The angular velocity is related to the time derivative of the rotation matrix
by the notable relationship
R_ e = S (!e)Re (2.7)
S
where is defined as in (A.4).
The description of end-effector orientation by a rotation matrix is nonmin-
imal since the nine elements of the matrix are subject to the six constraints
expressed by (A.1), and thus an arbitrary orientation can be completely speci-
fied in terms of three degrees of freedom. Since an arbitrary position is specified
in terms of three independent coordinates, it follows that a general motion task
for the end-effector position and orientation requires m degrees of freedom
with m 6. Whenever the number of joints exceeds the number of degrees of
freedom, i.e. n > m, the manipulator is said kinematically redundant. Notice
that redundancy is a concept relative to the end-effector task; for instance, a
six-joint manipulator becomes redundant relative to a laser-cutting task since
a
the end-effector rotation about the approach direction ( e ) is irrelevant to com-
pletion of the task. On the other hand, a seven-joint manipulator is inherently
redundant with respect to any end-effector task.
10 ROBOT FORCE CONTROL
1.2 DYNAMICS
Dynamic modeling of a robot manipulator consists of finding the relationship
between the forces exerted on the structure and the joint positions, velocities
and accelerations. The dynamic model can be derived using the Lagrange for-
mulation. Since the joint variables qi constitute a set of generalized coordinates
for the mechanical system, the Lagrange equations can be written as
d @L ? @L = i = 1; : : : ; n
dt @ q_i @qi i (2.8)
where
L = T ?U (2.9)
is the Lagrangian given by the difference between kinetic energy and potential
energy, and i is the generalized force at joint i; a torque for a revolute joint and
a force for a prismatic joint, respectively. Typically the generalized forces are
shortly referred to as torques, since most joints of a manipulator are revolute.
The kinetic energy is a quadratic form of the joint velocities, i.e.
T = 21 q_ T B(q)q_ (2.10)
Bq
where the (n n) matrix ( ) is the inertia matrix of the robot manipulator
which is symmetric and positive definite. Substituting (2.10) in (2.9) and taking
the derivatives needed by (2.8) leads to the equations of motion
B(q)q + C (q; q_ )q_ + g(q) = (2.11)
where is the (n 1) vector of joint torques, g (q ) is the (n 1) vector of
gravity torques with
@U ,
gi (q) = @q (2.12)
i
and T
_ 1 @
C (q; q_ )q_ = B(q; q_ )q_ ? 2 @ q (q_ B(q)q_ )
T
(2.13)
where the cijk ’s are termed Christoffel symbols of the first type, makes the
B C
matrix _ ? 2 skew-symmetric; this property is very useful for control design
purposes.
Regarding the joint torque, each joint is driven by an actuator (direct drive
or gear drive); in general, the following torque contributions appear
where i is the driving torque at the joint, fi is the torque due to joint friction,
and ei is the torque caused by the external force and moment exerted by the
end effector when in contact with the environment. Note that the actuators
(electric or hydraulic) have been assumed as ideal torque generators.
Joint friction is difficult to model accurately; as a simplified model, only
viscous friction is considered, i.e.
f = F q_ (2.17)
F
where is a positive definite (diagonal) matrix of viscous friction coefficients
at the joints. More complex models would include nonlinear phenomena such
as Coulomb friction and Stribeck effects.
f
Finally, let denote the (3 1) vector of external end-effector force and
the (3 1) vector of external end-effector moment. By applying the principle
of virtual work, the resulting joint torques are
e = J T(q)h (2.18)
where
h = f
(2.19)
J
and is defined in (2.5).
In view of (2.16), (2.17) and (2.18), the dynamic model can be written in the
form
B(q)q + C (q; q_ )q_ + F q_ + g(q) = ? J T(q)h. (2.20)
It can be shown that equation (2.20) can be cast in a linear form with respect to
a suitable (p 1) vector of dynamic parameters as
2. TRACKING CONTROL
The motion control problem for a robot manipulator can be formulated as
finding the joint torques which ensure that the end effector attains a desired
position and orientation. The usual way of solving this problem when the end
effector is not in contact with the environment consists of two stages; first the
manipulator kinematics is inverted to compute the joint variables corresponding
to the given end-effector position and orientation, then a controller is designed
which guarantees that the joints attain the computed values. This strategy is
known as kinematic control.
Since the present book is focused on the problem of controlling the inter-
action between the manipulator end effector and the environment, a different
strategy is pursued which consists of a single stage, i.e. the design of a so-called
task space control. Direct task space feedback is utilized where the end-effector
position and orientation is computed via the kinematics relationships from the
joint measurements.
More specifically, the goal can be either to follow a time-varying desired
position and orientation, i.e. a tracking control problem, or to reach a constant
desired position and orientation, i.e. a regulation problem. The former problem
is treated next, while the latter problem will be treated in Section 3.
Equation (2.23) has been obtained under the assumption of perfect com-
pensation of the terms in (2.20). This relies on the availability of an accurate
dynamic model, as can be obtained via an identification procedure of the dy-
namic parameters in (2.21). In case of imperfect compensation, a mismatching
occurs which causes the presence of a disturbance term in (2.23), i.e.
q = ? ; (2.24)
in practice, the disturbance is mainly due unmodeled dynamics, such as
imperfect compensation of friction torques since they are difficult to model
accurately.
As pointed out above, the goal is to design a position control action ensuring
tracking of a desired end-effector position trajectory as well as an orientation
control action ensuring tracking of a desired end-effector orientation trajectory.
q
Since Equation (2.23) contains , it is worth considering the time derivative
of (2.5), i.e.
v Jqq Jqqq
_ e = ( ) + _ ( ; _ ) _ (2.25)
which provides the relationship between the joint accelerations and the end-
effector linear and angular accelerations.
At this point, the new control input in (2.23) can be chosen as
= J ?1(q) a ? J_ (q; q_ )q_ (2.26)
which in view of (2.25) leads to
v_ e = a (2.27)
a
where attains the meaning of a resolved acceleration in terms of end-effector
variables.
In deriving (2.26), a nonredundant manipulator (n = 6) moving in a
singularity-free region of the workspace has been considered to compute the
inverse of the Jacobian. A damped least-squares inverse can be adopted to gain
robustness in the neighborhood of kinematic singularities, whereas a pseudo-
inverse can be used in the redundant case (n > 6) in conjunction with a
suitable term in the null space of the Jacobian describing the internal motion
of the manipulator, as shall be seen in Subsection 2.6.
In the case of the presence of a disturbance as in (2.24), Equation (2.27)
shall be modified into
v
_e = ? a d (2.28)
d Jq
where = ( ) .
v
In view of the partition of e in (2.4), it is appropriate to partition the vector a
into its linear and angular components, i.e.
a
a = ao
p
(2.29)
14 ROBOT FORCE CONTROL
a a
where p and o are (3 1) vectors. Therefore, Equation (2.27) can be rewritten
as
p e = ap (2.30)
!_ e = ao , (2.31)
a a
where p and o shall be designed so as to ensure tracking of the desired
end-effector position and orientation trajectory, respectively.
The desired position trajectory is specified in terms of the position vec-
p p p
tor d (t), linear velocity vector _ d (t) and linear acceleration vector d (t),
whereas the desired orientation trajectory is specified in terms of the rotation
R !
matrix d (t), angular velocity vector d (t) and angular acceleration vec-
! p R
tor _ d (t). The quantities d and d characterize the origin and the orientation
of a desired frame d .
A position error between the desired and the actual end-effector position
can be defined as
p
de = d ? e p p (2.32)
where the operator denotes that a vector difference has been taken, and the
double subscript denotes the corresponding frames. Then, the resolved linear
acceleration can be chosen as
ap = p d + K Dpp_ de + K Pppde (2.33)
K K
where Dp and Pp are suitable feedback matrix gains. Substituting (2.33)
into (2.30) gives the closed-loop dynamic behavior of the position error
pde + K Dp p_ de + K Pppde = 0. (2.34)
The system (2.34) is exponentially stable for any choice of positive definite
K K p
Dp and Pp , and thus tracking of d and _ d is ensured. p
a
As regards the resolved angular acceleration, o can be chosen in different
ways, depending on the definition of end-effector orientation error used. There-
fore, in the following three subsections, various definitions of orientation error
are considered which make use of Euler angles, angle/axis and quaternion,
respectively. The derivation of the control laws relies on the mathematical
background that can be found in Appendix A.
!
Since Equation (2.31) contains _ e , it is worth considering the relationship
'
between the time derivative of the Euler angles _ e and the end-effector angular
!
velocity e , i.e.
! T' '
e = ( e) _ e (2.36)
T
where is a transformation matrix that depends on the particular set of Euler
angles considered; this matrix suffers from two representation singularities.
The time derivative of (2.36) yields the acceleration relationship in the form
!_ e = T ('e)'e + T_ ('e; '_ e)'_ e. (2.37)
T'
with obvious reference to (2.36) and (2.37); the matrix ( d ) in (2.38)
and (2.39) has been assumed to be nonsingular.
In view of (2.37), the resolved angular acceleration based on the Euler angles
error can be chosen as
ao = T ('e)('d + K Do '_ de + K Po'de) + T_ ('e; '_ e)'_ e (2.40)
where K Do and K Po are suitable feedback matrix gains. Substituting (2.40)
into (2.31) gives the closed-loop dynamic behavior of the orientation error
'de + K Do '_ de + K Po'de = 0, (2.41)
where (2.37) has been used assuming that the matrix T ('e ) is nonsingular. The
system (2.41) is exponentially stable for any choice of positive definite Do K
K ' '
and Po ; tracking of d and _ d is ensured, which in turn implies tracking
R !
of d and d .
The above Euler angles error becomes ill-conditioned when the actual end-
'
effector orientation e becomes close to a representation singularity. In order
to overcome this drawback, an alternative Euler angles error can be consid-
ered which is based on the rotation matrix describing the mutual orientation
between d and e , i.e.
R
e = T
d RR
e d (2.42)
as in (A.8). Differentiating (2.42) with respect to time and accounting for (A.9)
gives
R d S ! R
e _ = (e )e
de d (2.43)
16 ROBOT FORCE CONTROL
where
e !de = e !d ? e !e (2.44)
is the end-effector angular velocity error which has been referred to e .
' R
Let de denote the set of Euler angles that can be extracted from e d . Then,
!
in view of (2.36), the angular velocity e de in (2.43) is related to the time
'
derivative of de as
! T' '
e de = ( de ) _ de . (2.45)
The time derivative of (2.45) gives the acceleration relationship in the form
!_ e = !_ d ? T e('de)'de ? T_ e('de ; '_ de)'_ de (2.46)
where
T e('de) = ReT ('de). (2.47)
In view of (2.46), the resolved angular acceleration can be chosen as
ao = !_ d + T e('de)(K Do'_ de + K Po'de) ? T_ e('de ; '_ de)'_ de (2.48)
where K Do and K Po are suitable feedback matrix gains. Substituting (2.48)
into (2.31) gives the closed-loop dynamic behavior of the orientation error
' de + K Do'_ de + K Po'de = 0 (2.49)
where (2.46) has been used assuming that the matrix T e ('de ) is nonsingular.
The system (2.49) is exponentially stable for any choice of positive definite
K Do and K Po; convergence to 'de = 0 and '_ de = 0 is ensured, which in
turn implies tracking of Rd and ! d .
The clear advantage of the alternative over the classical Euler angles error
based on (2.35) is that, by adopting a representation 'de = [ de de
de ]T
for which T (0) is nonsingular, representation singularities occur only for large
orientation errors, e.g. when de = =2 for the XYZ representation in (A.11).
Notice that it is not advisable to choose the widely-adopted ZYZ representation
'
which is singular right at de = 0 (see the transformation matrix in (A.18))! In
T
other words, the ill-conditioning of matrix is not influenced by the desired or
actual end-effector orientation but only by the orientation error; hence, as long
as the error parameter jde j < =2, the behavior of system (2.31) and (2.46) is
not affected by representation singularities.
r
where #de and e de are respectively the rotation and the unit vector correspond-
R
ing to e d , and f () is a suitable scalar function with f (0) = 0. Common
choices for f (#) are summarized in Tab. 2.1.
Representation f (#)
Classical angle/axis sin(#)
Quaternion sin(#=2)
Rodrigues parameters tan(#=2)
Simple rotation #
The time derivative of the orientation error (2.53) can be related to the
angular velocities of d and e as
where
K K L
where Do and Po are suitable feedback matrix gains, and is nonsingular
provided that the angle #de belongs to the interval (?=2; =2); it can be
nn ss
e d > 0, e d > 0,
shown that this restriction is equivalent to the conditions T T
aa
e d > 0.
T
Substituting (2.57) into (2.31) gives the closed-loop dynamic behavior of the
orientation error
o K o K o
0de + Do _ 0de + Po 0de = 0, (2.58)
which is a linear and decoupled system analogous to the position error sys-
tem (2.34) as well to the orientation error systems (2.41) and (2.49). Exponen-
K
tial stability is guaranteed for any choice of positive definite Do and Po ; K
o o
convergence to 0de = 0 and _ 0de = 0 is ensured, which in turn implies tracking
R
of d and d . !
Equation (2.57) reveals that the price to pay to obtain a linear and decoupled
system is a large computational burden and the possible occurrence of a singu-
larity. On the other hand, a simpler angle/axis scheme based on the error (2.53)
can be devised where the resolved angular acceleration is chosen as
In this case, the closed-loop dynamic behavior of the orientation error becomes
Differently from all the previous cases (2.34), (2.41) and (2.49), the error
system is nonlinear, and thus a Lyapunov argument is invoked below to ascertain
its stability. To this purpose, in view of (A.29) and (A.30), the orientation
error (2.51) can be expressed in terms of a quaternion as
e o0 = 2 e
de de de (2.61)
where fde ; e de g can be extracted from (2.42). Furthermore, the feedback
K I K
gains are taken as scalar matrices, i.e. Do = kDo and Po = kPo where I
I denotes the (3 3) identity matrix. Let
where the propagation rule based on (A.46) and (A.47) has been exploited, i.e.
E
with defined as in (A.38).
Since V_ is only negative semi-definite, in view of LaSalle theorem, the
system asymptotically converges to the invariant set described by the following
equilibria:
E1 = fde = 1; ede = 0; !de = 0g (2.66)
E2 = fde = ?1; de = 0; !de = 0g
e (2.67)
E3 = fde = 0; de : k dek = 1; !de = 0g:
e e (2.68)
The equilibria in the set E3 are all unstable. To see this, consider (2.62) which,
in view of (2.63), is a decreasing function. At any equilibrium in (2.68), it is
V1 = 2kPo: (2.69)
Take a small perturbation de = around such equilibrium; then, it is
e T e de = 1 ? 2 . The perturbed Lyapunov function is
de
V = 2kPo ? 22 kPo < V1 (2.70)
and thus, since (2.62) is decreasing, V will never return to V1 , implying that the
equilibria in E3 are unstable. Therefore, the system asymptotically converges
to either E1 or E2 ; since both quaternions for those equilibria represent the same
R !
orientation, it can be concluded that tracking of d and d is achieved.
It is worth emphasizing that, compared to the previous angle/axis scheme
based on (2.57), the restriction on #de does no longer hold. Nevertheless, for
large values of #de , the angle/axis scheme based on (2.59) may lead to alignment
of d and e with #de = 2 as in the equilibrium E2 ; such occurrence is
of no practical interest since #de is typically small for the tracking control at
issue.
corresponding to the vector part of the quaternion that can be extracted from
R
the rotation matrix e d in (2.42) (see (A.39)).
20 ROBOT FORCE CONTROL
Table 2.2. Computational load of the angular part for the resolved acceleration control schemes.
The interesting feature of the alternative Euler angles scheme is the absence of
extra computations for trajectory generation, which instead penalizes the clas-
R
sical scheme due to the extraction of Euler angles from d and the computation
of their time derivatives. The computational load for the quaternion scheme
is smaller than for the Euler angles schemes, even though an additional effort
is required to compute the desired trajectory in terms of a quaternion. Not
surprisingly, the angle/axis scheme is the most computationally efficient since
it operates directly on the desired and actual rotation matrices, the desired and
actual angular velocities, and the desired angular acceleration.
In conclusion, a critical discussion is in order concerning the pros and cons
of each scheme.
At first sight, the classical Euler angles scheme might seem the simplest one
in view of its similarity with the position scheme. Nevertheless, the analysis
has revealed that, besides the heavy computational load due to Euler angles
extraction, there is no guarantee to avoid the occurrence of representation
singularities even when good end-effector orientation tracking is achieved. On
the other hand, the effort to plan a singularity-free orientation trajectory is
considerable especially when the angle/axis method is adopted for meaningful
task specification purposes.
The alternative Euler angles scheme has the main merit to almost overcome
the above drawback of representation singularities, since it keenly operates
on the set of Euler angles which is extracted from a single rotation matrix
describing the mutual orientation between d and e . It may suffer only
in the case of large orientation errors, but there is no practical worry for
a convergent algorithm with matched initial conditions between the desired
and the actual end-effector orientation. A weakness, however, is that the
computational burden is still considerable.
The breakthrough of the quaternion scheme stands in its applicability for any
magnitude of the orientation error, since it is inherently based on a singularity-
free representation of orientation. Its tracking performance is apparently as
good as the alternative Euler angles scheme, although the closed-loop ori-
entation error dynamics is nonlinear. A further advantage is represented by
Motion Control 23
the contained computational burden, even though the orientation error is not
directly based on the desired and actual rotation matrices.
Finally, the angle/axis scheme has the least computational load among all
the schemes. Its performance is worse than that of the quaternion scheme in the
case of large orientation errors, whereas both schemes exhibit the same good
behavior for small orientation errors.
where
J y = W ?1 J T JW ?1J T ?1
(2.79)
accelerations induced by the external end-effector force and moment are given
by
q B qJ qh
e = ? ?1 ( ) T ( ) . (2.81)
Projecting these accelerations in the null space of the Jacobian gives
qen = ? I ? J y(q)J (q) B?1(q)J T(q)h. (2.82)
denote the null space velocity error where is a joint velocity vector which
is available for redundancy resolution. The goal is to make en asymptotically
converge to zero. Taking the time derivative of (2.84) and using (2.80) gives
the null space dynamics, i.e.
e_ n = I ? J y(q)J (q) (_ ? n) ? J_ y(q)J (q) + J y(q)J_ (q) ( ? q_ )
(2.85)
y
where J_ is a shortcut notation for the time derivative of J y .
Consider the Lyapunov function candidate
Computing the time derivative of (2.86) along the trajectories of system (2.85)
yields
V_ = 12 eTn Be
_ n + eTn B _ ? n ? J_ y J ( ? q_ ) , (2.87)
where the dependence on q has been dropped off, and the identity
eTn BJ y = 0T (2.88)
Ob
Xb
Yb
Zb
q1
q2
q3
q4
p Motion Control 25
e
ne
se
n REDUNDANCY
ae
RESOLUTION
p ;Rd d
q
p_ ; !
d d POS & ORIENT a INVERSE q_
p ; !_
d d
CONTROL DYNAMICS
MANIPULATOR
p ;R
e e
p_ ; !
e e
DIRECT
KINEMATICS
where k is a signed scalar and w(q ) is an additional task function that can be
locally optimized.
A block diagram summarizing the overall inverse dynamics control with
redundancy resolution is sketched in Fig. 2.2. The inverse dynamics control
law gives as in (2.22) with as in (2.78). The position and orientation control
a
gives the resolved acceleration as in (2.29) with p as in (2.33) and o as a a
any of (2.40), (2.48), (2.57), (2.59), (2.72). The direct kinematics gives the
actual end-effector position and orientation as in (2.2) and (2.3), and the linear
and angular velocity as in (2.4) and (2.5). Finally, the redundancy resolution
scheme gives n as in (2.89) with as in (2.91). Obviously, if no redundancy
is available, then n = 0 and the inverse dynamics control law (2.26) shall be
used in lieu of (2.78).
26 ROBOT FORCE CONTROL
3. REGULATION
For certain motion tasks, it can be sufficient to guarantee regulation of the
p R
end effector to a constant desired position d and orientation d . In such a
case, simpler control laws can be adopted which do not require a full knowledge
of the manipulator dynamic model, but just a static model-based compensation.
The stability of this system can be studied by introducing the following positive
definite Lyapunov function candidate
V = 21 q_ TB (q)q_ + Up + Uo , (2.94)
where the first term is the kinetic energy of the manipulator while the second
and third terms are the potential energy associated respectively with a position
error and an orientation error to be defined afterwards.
h
In view of the partition of in (2.19), it is appropriate to partition the
vector into its force and moment components, i.e.
=
po
(2.95)
where p and o are (3 1) vectors which shall be chosen so as to provide a
position and an orientation control action, respectively.
The desired end-effector position is specified in terms of the constant position
p
vector d , whereas the desired end-effector orientation is specified in terms of
R
the constant rotation matrix d .
Motion Control 27
K
where Po is a suitable feedback matrix gain and T is defined in (2.36).
Accordingly, the potential energy in (2.94) is
In view of (2.97) and (2.99), the time derivative of (2.94) along the trajectories
of system (2.93) with (2.96) and (2.98) is
o
For the angle/axis error 0de that can be computed as in (2.53), the orientation
control action is
K o
o = Po de
0 (2.105)
with K Po = kPoI . The stability of the equilibrium
E = fpde = 0; de = 1; ede = 0; q_ = 0g (2.106)
Uo = 2kPoeTdeede, (2.107)
4. FURTHER READING
Kinematic and dynamic modeling of rigid robot manipulators can be found in
any classical robotics textbook, e.g. [81, 32, 38, 99, 116, 88, 6]. Identification
of dynamic parameters needed by an inverse dynamics control was studied
in [9, 58, 85]; the computation of a minimal set of dynamic parameters was
considered in [45], while the dynamic model identified for the robot manipulator
used in the experiment is reported in [16]. A complete treatment of model-
based control is provided in [1], whereas advanced control schemes are covered
in [23].
The original resolved acceleration control scheme dates back to [66] where
an angle/axis error was used. Subsequent developments of the scheme are
based on the work in [60]. The use of a quaternion error was proposed in [117]
where a nonlinear closed-loop system for the orientation error was obtained; a
linear closed-loop system was instead obtained in [59] at the expense of a more
Motion Control 29
The potential offered by motion control strategies to ensure a compliant behavior during
the interaction between the end effector and the environment is investigated. Compli-
ance control and impedance control are introduced as effective tools to achieve indirect
control of the contact force. An inner motion loop is adopted to enhance disturbance
rejection. Six-DOF impedance control schemes are derived using different types of ori-
entation displacement and the properties of rotational stiffness are analyzed in detail. A
generalization to the case of nondiagonal six-DOF stiffness is discussed. Throughout the
chapter, experimental results are presented for an industrial robot interacting with the
environment.
1. COMPLIANCE CONTROL
In order to gain insight into the problems arising at the interaction between
the end effector and the environment, it is worth analyzing first the effects of
a motion control strategy in the presence of a contact force and moment. In
the previous chapter, it has been shown that a static model-based compensation
control provides regulation to a desired end-effector position and orientation,
while a dynamic model-based compensation control is needed to ensure ac-
curate tracking of a desired end-effector trajectory. The two control schemes
are reconsidered at the beginning of this chapter as useful tools to achieve an
indirect force control, i.e. a control of the force (moment) through suitable
actions on the position (orientation) error at the end effector.
For the sake of illustrating the useful concepts of compliance and impedance,
the end-effector position and orientation is described by a (6 1) vector e = x
p '
[ Te Te ]T , where the classical Euler angles representation of orientation has
been selected in spite of its potential drawbacks concerned with representation
singularities. Accordingly, the desired position and orientation is denoted as d x
with obvious meaning of its components. As a consequence, the end-effector
31
32 ROBOT FORCE CONTROL
where
K P = KOPp KOPo .
(3.3)
and
I O
H= O T , (3.4)
with T
in (2.36) and O denoting the (3 3) null matrix. The steady state
q q
( _ = 0; = 0) of the system (2.20) with (2.92) and (3.2) is
Equation (3.6) shows that at steady state the manipulator, under a proportional
control action on the position and orientation error, behaves as a generalized
h
spring in respect of the force and moment . Thus, the matrix ? K 1
P plays the
role of an active compliance, meaning that it is possible to act on the elements
K
of P so as to ensure a compliant behavior during the interaction.
K
The selection of the elements of P is not an easy task, since it is strongly
affected by the characteristics of the environment. For a better understanding of
interaction between the end effector and the environment it would be necessary
to have an analytical description of the contact force and moment, which would
be very demanding from a modeling viewpoint.
Indirect Force Control 33
f = K f (pe ? po ) (3.9)
p p
where e is the end-effector position at the contact point, while o is the rest
K
position and f is the (3 3) contact stiffness matrix of the environment.
With the environment model (3.9), Equation (3.7) becomes
Analysis of (3.11) shows that the steady-state position depends on the environ-
ment rest position as well as on the desired position imposed by the control
34 ROBOT FORCE CONTROL
system to the end effector. The interaction of the two systems (environment and
end effector) is influenced by the mutual weight of the respective compliance
features. It is then possible to decrease the active compliance so that the end
effector dominates the environment and vice versa. Such a dominance can be
specified with reference to the single task directions, assuming that both Pp K
K
and f are diagonal. For a given contact stiffness, according to the prescribed
K
interaction task, large values of the elements of Pp are to be chosen for those
directions along which the environment has to comply, whereas small values
K
of the elements of Pp are to be chosen for those directions along which the
end effector has to comply.
Expression (3.12) gives the value of the contact force at steady state, which
reveals that it may be appropriate to tune the end-effector compliance with
the environment compliance along certain task directions. In fact, along a
direction with high contact stiffness, it is better to have a compliant end effector
so that it can taper the intensity of interaction through a suitable choice of
the desired position. In this case, the end-effector steady-state position e;1p
p
practically coincides with the environment undeformed position o . Hence, the
end effector sustains the elastic force, depending on the corresponding elements
K p p
of P , that is determined by the choice of the component of ( d ? o ) along
the relative direction. In the dual case of high environment compliance, if the
p
end effector is made stiff, the steady-state position e;1 is very close to the
p
desired position d . Hence, it is the environment to sustain the elastic force
along the constrained task directions of interest.
In certain cases, it is possible to employ mechanical devices interposed
between the manipulator end effector and the environment so as to change the
passive compliance along particular task directions. For instance, in a peg-
in-hole insertion task with a tight clearance, the peg axis would be required
to line up almost exactly with the hole axis. If a discrepancy exists between
the peg and the hole axes in either distance or direction, then the insertion
cannot be accomplished, because of jamming or wedging. To accommodate
the insertion, the gripper is provided with a device ensuring high stiffness
along the insertion direction and high compliance along the other directions
(remote center of compliance). The inconvenience of such devices is their low
versatility to different operating conditions and generic interaction tasks, i.e.
whenever a modification of the compliant mechanical hardware is required.
On the other hand, with active compliance actions the control software can be
easily modified so as to satisfy the requirements of different interaction tasks.
1.2 EXPERIMENTS
The above compliance control scheme has been tested in experiments on the
six-joint industrial robot with open control architecture described in Section 3.
of Chapter 1. The force sensor is not used for control but only for measurement
Indirect Force Control 35
Ob
Xb
Yb
Zb
q1
q2
q3
q4
pe
ne
se
ae
p ;R
d d
p_ ; !
d d
p ; !_
d d
a
n
q
q_
p ;R
e e
p_ ; !
e e
of contact forces. The kinematic model and dynamic model of the robot
manipulator are given in Appendix B.
Only the inner three joints are used while the outer three joints are mechani-
J J
cally braked. Hence n = 3 in (2.92) with = p and = p . Accordingly, a
three-DOF task is considered, involving end-effector position and linear force.
The environment is constituted by a cardboard box, where the stiffness depends
on the contact point and is about 104 N/m.
An end effector has been built as a stick with a sphere at the tip, both made
of steel. A picture illustrating the robot with the wrist force sensor and the
environment is given in Fig. 3.1.
Case Study. With reference to the base frame, the task consists of a straight-
line motion in the Yb Zb -plane with an end-effector (horizontal) displacement
of 0:25 m along Yb and (vertical) displacement of ?0:15 m along Zb . The
trajectory along the path is generated according to a trapezoidal velocity profile
with cubic blends, and null initial and final velocities and accelerations, and a
duration of 6 s. The surface of the cardboard box is nearly flat and has been
placed (horizontally) in the Xb Yb -plane in such a way as to obstruct the desired
end-effector motion. The gains of the control action in (2.96) and (2.92) have
K I K I
been set to Pp = 8000 and D = 20 ; note that Pp has been chosen K
on the basis of a trade-off between position accuracy during the unconstrained
motion and compliant behavior at the end effector (limited values of contact
bO
bX
bY
bZ
q136 ROBOT FORCE CONTROL
q2
q3
q4 end−effector path contact force
ep 150
en 0 z
es
ea 100
p ;R
d d −0.05
p_ ; !
z [m]
[N]
d d
p ; !_ 50
d d
a −0.1
n
0
x
q −0.15 y
q_ −50
p ;R
e e 0 0.05 0.1 0.15 0.2 0.25 0 5 10 15 20
p_ ; !
e e y [m] time [s]
K
force) during the constrained motion, while D has been chosen so as to
guarantee a well-damped behavior.
The results are presented in Fig. 3.2 in terms of the desired (dashed) and the
actual (solid) end-effector path, together with the time history of the contact
force; in order to facilitate interpretation of the results, the approximate location
(dotted) of the surface is illustrated on the plot of the end-effector path, while
the instant of contact (dotted line) and the instant of the end of the motion
trajectory (dashed line) are evidenced on the plot of the contact force.
It can be recognized that path tracking accuracy is rather poor during execu-
tion of the whole task. On the other hand, the contact force along Zb reaches a
steady-state value but its amount is rather large. Reduction of the contact force
K
could be obtained by decreasing Pp , at the expense of a larger end-effector
position error though.
Finally, notice the presence of an appreciable value of contact force along
Yb at steady state due to contact friction, which indeed has not been modeled
in the above analysis.
2. IMPEDANCE CONTROL
Compliance control is designed to achieve a desired static behavior of the
interaction. In order to achieve a desired dynamic behavior, the actual mass
and damping at the contact are to be considered besides the stiffness, leading
to impedance control.
moment ( h 6= 0) leads to
q = ? B?1 (q)J T(q)h (3.13)
x
with de in (3.1), K P in (3.3), H in (3.4) and
K
K D = O K Do .
Dp O
(3.15)
M = J ?TBJ ?1 H , (3.16)
with as in (2.26),
ap = p d + K ?Mp1 (K Dpp_ de + K Pppde ? f ) (3.18)
a e
p ;R
d d
p_ ; !
d d
p ; !_
d d
a
n
q
q_
38
p ; ROBOT
e R e
FORCE CONTROL
p_ ; !
e e
p ;R d d f;
p_ ; ! IMPEDANCE a
d d INVERSE MANIPULATOR q
p ; !_
d d
CONTROL DYNAMICS & ENVIRONMENT q_
p ;R
e e
p_ ; !
e e
DIRECT
KINEMATICS
p ; !_
d d
a
f;
q
q_
p ;R
e e
p_ ; !
e e
p ;R
e e
p_ ; !
e e
DIRECT
KINEMATICS
sure accurate tracking of the desired position and orientation trajectory when the
end effector moves in free space. In fact, by stacking the two equations (3.20)
and (3.21) and accounting for the presence of a disturbance as in (2.28) yields
K M xde + K D x_ de + K P xde = H T('e)h + K M H ?1('e)d (3.22)
with
K
K M = O K Mo .Mp O
(3.23)
control action with an equivalent light mass at the end effector. Such a feature
can eventually conflict with the desire of guaranteeing a compliant behavior
when the end effector is in contact with a rather stiff environment.
A solution to this drawback can be devised by separating the motion control
action from the impedance control action as follows. The motion control
action is purposefully made stiff so as enhance disturbance rejection but, rather
than ensuring tracking of the desired end-effector position and orientation, it
shall ensure tracking of a reference position and orientation resulting from the
impedance control action. In other words, the desired position and orientation
together with the measured contact force and moment are input to the impedance
equation which, via a suitable integration, generates the position and orientation
to be used as a reference for the motion control action.
In order to realize the above solution, it is worth introducing a reference
frame other than the desired frame specified by d and d . This frame is p R
referred to as the compliant frame c , and is specified by a position vector c p
R
and a rotation matrix c . In this way, the inverse dynamics motion control
strategy can be still adopted as long as the actual end-effector position e p
R
and orientation e is taken to coincide with c and c in lieu of d and d ,p R p R
respectively. Accordingly, the actual end-effector linear velocity _ e and angular p
! p
velocity e are taken to coincide with _ c and c , respectively. !
40 ROBOT FORCE CONTROL
A block diagram of the resulting scheme is sketched in Fig. 3.4 and reveals
the presence of an inner motion control loop with respect to the outer impedance
control loop.
The remainder of this chapter is devoted to analyze in detail the realization of
an active impedance between the desired frame d and the compliant frame c
for the translational part and the rotational part in lieu of the respective equa-
tions (3.20) and (3.21). The former is considered next leading to a three-DOF
impedance control scheme.
where
pce = pc ? pe (3.27)
is the position error between c and e . Notice that pc and its associated
derivatives can be computed by forward integration of the translational impe-
f
dance equation (3.25) with input available from the force/torque sensor.
2.4 EXPERIMENTS
The above three-DOF impedance control schemes have been tested in ex-
periments on the six-joint industrial robot where the first three joints are used,
J J h f
i.e. n = 3 in (3.17) with = p and = . Now, the force sensor is used for
control. The environment is the same as described in Section 1.2.
p ;R
d d
p_ ; !
d d
p ; !_
d d
a
n
q
q_
p ;R
e e
p_ ; !
e e
p ;R
d d
p_ ; !
d d
p ; !_
d d
a
f; Indirect Force Control 41
q
q_
p ;R
e e
end−effector path contact force
p_ ; !
e e 40
p ;R
d d
0
p_ ; !
d d 30
p ; !_ z
d d
p ;R
c c −0.05 20
p_ ; !
z [m]
[N]
c c
p ; !_
c c
a −0.1 10
x
f; 0
q −0.15
y
q_ −10
p ;R
e e 0 0.05 0.1 0.15 0.2 0.25 0 5 10 15 20
p_ ; !
e e y [m] time [s]
First case study: Impedance control. The end effector has been placed in
the same initial position as for the previous case study with the same trajectory.
The impedance parameters in (3.18) have been set to Mp = 10 , Dp = K IK
I K I
255 and Pp = 500 , where the choice of Pp is aimed at obtaining a value K
of the contact force along Zb of approximately 20 N with the available estimate
of the surface stiffness.
The results are presented in Fig. 3.5 in terms of the desired (dashed) and the
actual (solid) end-effector path, together with the time history of the contact
force. As above, the approximate location (dotted) of the surface is illustrated
on the plot of the end-effector path, while the instant of contact (dotted line)
and the instant of the end of the motion trajectory (dashed line) are evidenced
on the plot of the contact force.
It can be recognized that path tracking accuracy is poor during execution
of the whole task; this is imputable to the disturbance term on the right-hand
side of (3.22). On the other hand, the contact force along Zb is limited during
the transient and reaches a constant value at steady state. Improvement of the
position tracking accuracy might be achieved by increasing Pp ; however, K
this would give rise to larger contact forces. Finally, notice the presence of an
appreciable value of contact friction force along both Xb and Yb at steady state
which is caused by the end-effector position deviation along both Xb and Yb
(although the former is not visible in the figure).
p_ ; !
d d
p ; !_
d d end−effector path contact force
a 40
n 0
30
q
q_ −0.05 z
p ;R 20
z [m]
[N]
e e
p_ ; !
e e
p ;R
d d −0.1 10
p_ ; !
d d
x
p ; !_
d d 0
a −0.15 y
−10
f; 0 0.05 0.1 0.15 0.2 0.25 0 5 10 15 20
q y [m] time [s]
q_
p ;R
e e
end−effector path contact force
p_ ; !
e e
40
p ;R
d d 0 z
p_ ; !
d d 30
p ; !_
d d
p ;R
c c −0.05 20
p_ ; !
z [m]
[N]
c c
p ; !_
c c
10
a −0.1
x
f; 0
q −0.15
y
q_ −10
p ;R
e e 0 0.05 0.1 0.15 0.2 0.25 0 5 10 15 20
p_ ; !
e e
y [m] time [s]
Figure 3.6. Experimental results under three-DOF impedance control with inner motion con-
trol.
The results are presented in the upper part of Fig. 3.6 in terms of the desired
(dashed) and the actual (solid) end-effector path, together with the time history
of the contact force. As above, the approximate location (dotted) of the surface
is illustrated on the plot of the end-effector path, while the instant of contact
(dotted line) and the instant of the end of the motion trajectory (dashed line)
are evidenced on the plot of the contact force.
It can be recognized that path tracking accuracy is noticeably improved with
respect to that obtained with the previous scheme and now is very good; this
confirms the effective rejection of the disturbance thanks to the inner position
loop.
On the other hand, the contact force along Zb is still limited during the
transient and reaches an approximate value of 20 N at steady state, as wished
K
with the choice of p above. As before, an appreciable value of contact
friction force along Yb occurs that remains at steady state, while the good end-
effector tracking accuracy essentially causes no contact friction along Xb by
maintaining the motion in the Yb Zb -plane.
Indirect Force Control 43
Tp = 12 mpp_ Tc p_ c: (3.28)
The second term represents a dissipative damping force, while the last term
represents the force exerted on the body by a three-dimensional spring with
K p
stiffness matrix p , equilibrium position d and potential energy
K p = U p?pU Tp ; (3.30)
derived for the Euler angles displacement, the angle/axis displacement and
the quaternion displacement, already introduced with reference to the motion
control problem to express an end-effector orientation error.
Notice that, differently from (3.25), the dynamic behavior for the rotational
part is not absolutely determined by the choice of the impedance parameters but
it does also depend on the orientation of the compliant frame with respect to the
T '
base frame through the matrix T ( c ). Moreover, Equation (3.32) becomes
ill-defined in the neighborhood of a representation singularity; in particular, at
T
such a singularity, moment components in the null space of T do not generate
any contribution to the dynamics of the orientation displacement, leading to a
possible build-up of large values of contact moment.
The effect of the rotational stiffness can be better understood by considering
an infinitesimal orientation displacement between d and c . From (3.32), in
the absence of representation singularities, the elastic moment is
! ! !
where dc = d ? c is the relative angular velocity between the two frames.
Folding (3.35) into (3.34) written for an infinitesimal displacement d( dc ) '
gives
E= T ' KT ' !
?T ( ) o ?1 ( ) dc dt.
c c (3.36)
Equation (3.36) reveals that the relationship between the orientation displace-
ment and the elastic moment depends on the orientation of c . It follows that
the property of task geometric consistency of the elastic force (3.31) is lost
Indirect Force Control 45
when considering the elastic moment (3.34), that is, the eigenvectors of the
K
matrix o do not represent the three principal axes for the rotational stiffness.
The drawbacks discussed above can be mitigated by adopting the alternative
'
Euler angles displacement dc that can be extracted from the rotation matrix
cR
d = Rc R d .
T
(3.37)
As regards the property of task geometric consistency for the elastic moment
K
(3.39), when o is a diagonal matrix and the XYZ representation of Euler
u K
angles is adopted, the i-th eigenvector oi of o = diagf
o1 ;
o2 ;
o3 g is the
i-th column of the identity matrix. Hence, the orientation displacement of an
u
angle #dc about oi is described by
'dc = #dcuoi (3.43)
which, in view of the expression of T ('dc ) for XYZ Euler angles, leads to
c =
# u ,
E oi dc oi (3.44)
representing an elastic moment about the same uoi axis; thus the vectors uoi
have the meaning of rotational stiffness principal axes. It can be easily recog-
nized that the same property does not hold in general for a nondiagonal K o .
Equations (3.32) or (3.38) define the dynamic behavior between d and c
in terms of a rotational impedance. Therefore, in order to allow the implemen-
tation of the complete six-DOF impedance control with inner motion loop in
a
Fig. 3.4, the angular acceleration o shall be designed to track the orientation
and angular velocity of c .
With reference to the Euler angles error used in (2.40), the angular acceler-
ation is taken as
ao = T ('e) ('c + K Do'_ ce + K Po'ce) + T_ ('e; '_ e)'_ e (3.45)
where
'ce = 'c ? 'e (3.46)
is the orientation error between c and e . Notice that 'c and its associated
derivatives can be computed by forward integration of the rotational impedance
equation (3.32) with input available from the force/torque sensor.
On the other hand, with reference to the alternative Euler angles error used
in (2.48), the angular acceleration is taken as
ao = !_ d ? T_ e('de; '_ de)'_ de (3.47)
?T e('de) ('dc + K Do('_ dc ? '_ de ) + K Po('dc ? 'de))
where the orientation control acts as to take 'de to coincide with 'dc which
ultimately implies that e is aligned with c . Notice that 'dc and its associated
derivatives can be computed by forward integration of the rotational impedance
equation (3.38).
r R
where #dc and c dc correspond to c d , and f (#dc ) is any of the functions
listed in Tab. 2.1. Those are strictly increasing smooth functions in an inter-
val (?#M ; #M ) with #M > 0. Hence, the derivative f 0 (#dc ) of f with respect
to #dc is strictly positive in that interval.
From (A.10) the angular velocity of d relative to c is given by
where
=
k +
? (3.51)
with
k = f 0(#dc )c rdc c rTdc (3.52)
1
? = f (#dc) cot(#dc =2)(I ? c rdc crTdc ) ? S (c rdc ) . (3.53)
2
The matrix
k (
? ) projects the relative angular velocity c ! dc in a direction
parallel (orthogonal) to c odc . Also, notice that the following property of
holds
(c rdc ; 0) = f 0(0)I (3.54)
which will be useful in the following.
In order to derive the impedance equation for the rotational part, it is conve-
nient to refer to the following energy-based argument. Let
express the rotational kinetic energy of a rigid body with inertia tensor o M
!
and angular velocity c dc . It is worth pointing out that, from a rigorous
physical viewpoint, To is representative of a pseudo-kinetic energy since it is
defined in terms of a relative velocity. Nonetheless, it should be clear that, if
the orientation of d is constant, then it would attain the meaning of a true
kinetic energy. Then consider the potential energy
where
c = M o c!_ dc
I (3.58)
! !
is the inertial moment and c _ dc denotes the time derivative of c dc in (3.49).
Further, taking the time derivative of (3.56) and accounting for (3.50) yields
where
c = 2
T (c rdc ; #dc )K o c odc
E (3.60)
is the elastic moment.
Finally, a dissipative contribution can be added as
c = Do c! dc ,
D (3.61)
D
where o is a positive definite matrix characterizing a rotational damping at
the end effector.
Therefore, a rotational impedance at the end effector can be defined by
adding the contributions (3.58), (3.61) and (3.60), i.e.
K 0o = 2
T(crdc; #dc)K o. (3.63)
Notice that the rotational part of the impedance equation has been derived in
terms of quantities all referred to c ; this allows the impedance behavior to be
effectively expressed in terms of the relative orientation between d and c ,
no matter what the absolute orientation of the compliant frame with respect to
the base frame is.
It is worth remarking that, by adopting an angle/axis representation of the
orientation and pursuing an energy-based argument, the contributions in the
rotational impedance equation correspond to physically meaningful energy
terms; also, the velocity used is dual to the moment
exerted by the end
effector, i.e. with no need of a transformation matrix depending on the actual
end-effector orientation.
In the following, the analysis for small orientation displacements is carried
out and consistency with the task geometry is investigated.
Indirect Force Control 49
K o = U o?o U To (3.66)
u
This represents an elastic moment about the same oi axis which is in the same
direction of the orientation displacement since f 0 (#dc ) > 0. Therefore, the
rotational stiffness matrix can be expressed in terms of three parameters
oi
u
representing the stiffness about three principal axes oi , i.e. in a consistent way
with the task geometry.
For the implementation of the inner motion loop in Fig. 3.4, with reference
to the angle/axis error used in (2.59), the angular acceleration is taken as
where
o0ce = 21 (S (ne)nc + S (se)sc + S(ae)ac) (3.70)
where it has been set = 2. Even though the potential energy is expressed
in terms of the vector part of the quaternion, it can be shown that Uo coincides
with the rotational elastic energy associated with a torsional spring of stiffness
K o acting so as to align c with d .
In view of (3.62), the resulting impedance equation for the rotational part
becomes
M !
c D ! c K
o _ dc + o dc + o dc = ,
0c c (3.72)
where the rotational stiffness matrix is
E
with as in (A.38).
In the case of free motion, it is worth finding the equilibria of the rotational
impedance equation (3.72). These should occur whenever d and c are
aligned.
Consider the Hamiltonian contribution
Ho = To + Uo; (3.74)
!
If c = 0, H_ o in (3.75) vanishes if and only if c dc = 0; hence from (3.72)
it follows that c dc asymptotically tends to the invariant set described by
c = 2 (dc K o c dc + S (c dc )K o c dc ) = 0
E (3.76)
where (A.31) has been used. Consider a small perturbation around the equi-
librium with dc = , c dc such that c T c
dc dc = 1 ? , dc = 0 and
2 c !
K c c
o dc =
oi dc . The perturbed Hamiltonian contribution is
Ho; = 2
oi (1 ? 2 ) < Ho;1 (3.80)
and thus, since (3.74) is decreasing, Ho will never return to Ho;1 , implying
that those equilibria are all unstable. Notice that, at such equilibria, d is anti-
R
aligned with c with respect to the axis of the mutual rotation c d between the
two frames.
It can be concluded that c dc must converge to E1 . Interestingly enough,
R
the two equilibria in E1 both give the same mutual orientation c d = , thus I
implying the alignment of d with c , so as wished.
For the implementation of the inner motion loop in Fig. 3.4, with reference
to the quaternion error used in (2.72), the angular acceleration is taken as
3.4 EXPERIMENTS
The above impedance control schemes have been tested in a number of
experiments on the six-joint and the seven-joint industrial robots with open
control architecture described in Section 3. of Chapter 1 and force/torque
52 ROBOT FORCE CONTROL
sensor. The kinematic model and dynamic model of the seven-joint robot
manipulator are given in Appendix B
An end effector has been built as a steel stick with a wooden disk of 5:5 cm
radius at the tip. The end-effector frame has its origin at the center of the disk
and its approach axis normal to the disk surface and pointing outwards.
The performance of the quaternion-based six-DOF impedance control has
been compared with that of the two six-DOF impedance control schemes based
on Euler angles. An analysis of the computational burden for the three control
schemes based on (3.17), (2.26), (3.26) and (3.25) has been carried out for
the available hardware, leading to a total time of: 0:264 ms for the impedance
control using (3.45) and (3.32), 0:230 ms for the impedance control using (3.47)
and (3.38), and 0:195 ms for the impedance control using (3.81) and (3.72).
Details on the computational load in terms of floating-point operations and
transcendental functions number are given in Table 3.1.
Table 3.1. Computational load for the three six-DOF impedance control schemes.
First case study: Interaction with environment. The first case study has
been developed to analyze interaction with environment. This is constituted
by a flat plexiglas surface. The translational stiffness at the contact between
the end effector and the surface is of the order of 104 N/m, while the rotational
stiffness for small angles is of the order of 20 Nm/rad.
The task consists of taking the disk in contact with the surface at an angle of
unknown magnitude (Fig. 3.7). The end-effector desired position is required to
make a straight-line motion with a vertical displacement of ?0:24 m along the
Zb -axis of the base frame. The trajectory along the path is generated according
to a fifth-order interpolating polynomial with null initial and final velocities
and accelerations, and a duration of 7 s. The end-effector desired orientation is
required to remain constant during the task. The surface is placed (horizontally)
in the Xb Yb -plane in such a way as to obstruct the desired end-effector motion,
both for the translational part and for the rotational part.
The parameters of the translational part of the six-DOF impedance equa-
tion (3.25) have been set to M I D I K
p = 9 , p = 2000 , p = 700 , while I
the parameters of the rotational part of the six-DOF impedance equation (3.72)
have been set to M ID IK I
o = 0:4 , o = 5 , o = 2 . Notice that the stiffness
matrices have been chosen so as to ensure a compliant behavior at the end
e e
p_ ; !
e e
p ;R
d d
p_ ; !
d d
p ; !_
d d
p ;R
c c
p_ ; !
c c Indirect Force Control 53
p ; !_
c c
a
f;
q
q_
p ;R
e e
p_ ; !
e e
effector (limited values of contact force and moment) during the constrained
motion, while the damping matrices have been chosen so as to guarantee a
well-damped behavior.
The gains of the inner motion control loop actions in (3.26) and (3.81) have
K IK IK
been set to Pp = 2025 , Po = 4500 , Dp = Do = 65 . K I
The results in Fig. 3.8 show the effectiveness of the quaternion-based six-
DOF impedance control. After the contact, the component of the position
p p p
error between d and e de = d ? e along the Zb -axis significantly
deviates from zero, as expected, while small errors can be seen also for the
components along the Xb - and the Yb -axis due to contact friction. As for the
orientation error, all the components of the orientation displacement between d
and e e de significantly deviate from zero since the end-effector frame has to
rotate with respect to the base frame after the contact in order to comply with
the surface. Also, in view of the imposed task, a prevailing component of the
contact force can be observed along the Zb -axis after the contact, while the
small components along the Xb - and the Yb -axis arise as a consequence of the
above end-effector deviation. As for the contact moment referred to d , the
component about the Zb -axis is small, as expected. It can be recognized that all
the above quantities reach constant steady-state values after the desired motion
is stopped. The oscillations on the force and moment during the transient can
be mainly ascribed to slipping of the disk on the surface after the contact.
In sum, it can be asserted that a compliant behavior is successfully achieved.
A similar performance has been obtained also with the six-DOF impedance
control schemes based on the Euler angles error, i.e. by using either (3.32)
or (3.38) in lieu of (3.72). This fact can be explained because both the absolute
b O
bX
b Y
b Z
q1
q2
q3
q4
e p
e n
e s
e a 54 ROBOT FORCE CONTROL
p ;R
d d
p_ ; !
d d
p ; !_
d d position error orientation error
a 0.03 0.4
n
z
q 0.02 0.2
q_
p ;R e z
[m]
p_ ; !
e e
0.01 0
p ;R
d d
y
p_ ; !
d
x
d
p ; !_ 0 −0.2 x
d d
y
a
−0.01 −0.4
f; 0 5 10 0 5 10
q [s] [s]
q_
p ;R
e e
contact force contact moment
p_ ; !
e e
0.5
p ;R
d d
40 z
p_ ; !
d d 0
p ; !_
d d
30 x
p ;R
c c
−0.5
p_ ; !
[Nm]
20
[N]
c c
p ; !_ z y
c c
−1
a 10
x
f; 0 y
−1.5
q
q_ −10 −2
p ;R
e e 0 5 10 0 5 10
p_ ; !
e e
[s] [s]
Figure 3.8. Experimental results under six-DOF impedance control based on quaternion in the
first case study.
end-effector orientation in (3.32) and the relative orientation in (3.38) keep far
from representation singularities. The results are not reported here for brevity.
p_ ; !
d d
p ; !_
d d
a
n
q
q_
p ;Re
p_ ; !O
e
b
e
p ; RX
e
b
d
p_ ; !Y
d
b
d
p ; !Z_
d
b
d
qa1
d
q2
f ;q3 Indirect Force Control 55
q q4
e
q_ p
p ; Rn
e
e
contact force contact moment
p_ ; !s
e
e
e 2
p ; Ra
e
e
pp_ ;; R!
d d
d d 20
y 1
pp_ ;; !!_
d d
d d y
pp ;; R !_
d d
d
d
c c 0 z 0
p_ ; !a x
[Nm]
[N]
c
c
p ;!
n
_
x z
c c
−20
a −1
q
f ;q_ −40 −2
p ;qR
e e
e p_ q;_ !
e
pp ;; R −60 −3
d d
R 0 5 10 0 5 10
_p ; !
e e
d
p_ ; !
d
[s] [s]
p ; !_
e e
d d
a Figure 3.9. Experimental results under six-DOF impedance control based on quaternion in the
f ; second case study.
q
q_
p ;R
e e
contact force contact moment
e p_ ; !
e 2
p ;R y
d d
p_ ; ! 20 y
d d 1
dp ; !_
d
z
cp ;R
c 0 0 x
p_ ; !
[Nm]
[N]
c c
c p ; !_
c
−20
a −1
x z
f ; −40 −2
q
q_ −60 −3
p ;R
e e 0 5 10 0 5 10
e p_ ; !
e [s] [s]
Figure 3.10. Experimental results under six-DOF impedance control based on the classical
Euler angles in the second case study.
p ; !_
d d
a
n
q
q_
p ;R
e e
p_ ; !
e e
p ;R
d d
p_ ; !
d d
p ; !_
d d
a
f ; 56 ROBOT FORCE CONTROL
q
q_
p ;R
e e
orientation misalignment applied moment
p_ ; ! 0.3
e e
p ;R
d d
2.5
z
p_ ; !
d d
p ; !_ 0.2
d d 2
p ;R
c c
p_ ; ! 1.5
[Nm]
c c
p ; !_ 0.1
c c
1
a
0.5
f; x, y
q 0 0
q_ −0.5
p ;R
e e 0 2 4 6 8 10 0 2 4 6 8 10
p_ ; !
e e [s] [s]
Figure 3.11. Experimental results under six-DOF impedance control based on quaternion in
the third case study.
Third case study: Task geometric consistency. Another case study has been
developed to analyze task geometric consistency when an external moment is
applied at the end effector. The quaternion-based impedance control and the
impedance control based on Euler angles have been tested.
The stiffness matrices of the rotational part of the impedance equations (3.72)
and (3.32) have been taken as diagonal matrices; K
o has been chosen as
U I I
in (3.66) with o = and ?o = 2:5 for both schemes. The remaining
parameters of the rotational impedance have been set to M
o = 0:25 and I
D I
o = 1:5 for both schemes. No impedance control has been accomplished
for the translational part. The gains of the inner motion control loop have been
chosen equal to those in the previous case study.
The position and orientation of the desired frame are required to remain
constant, and a torque is applied about the approach axis of d ; the torque is
taken from zero to 2:5 Nm according to a linear interpolating polynomial with
4th-order blends and a total duration of 1 s.
p_ ; !
d d
p ; !_
d d
a
n
q
q_
p ;R
e e
p_ ; !
e e
p ;R
d d
p_ ; !
d d
p ; !_
d d
a
f; Indirect Force Control 57
q
q_
p ;R
e e
orientation misalignment applied moment
p_ ; ! 0.3
e e
p ;R
d d
2.5
z
p_ ; !
d d
p ; !_ 0.2
d d 2
p ;R
c c
p_ ; ! 1.5
[Nm]
c c
p ; !_ 0.1
c c
1
a
0.5
f; x, y
q 0 0
q_ −0.5
p ;R
e e 0 2 4 6 8 10 0 2 4 6 8 10
p_ ; !
e e [s] [s]
Figure 3.12. Experimental results under six-DOF impedance control based on classical Euler
angles in the third case study.
The results in Figs. 3.11 and 3.12 show the different performance in terms
of the orientation misalignment which has been defined as the norm of the
vector product between the orientation error and the unit vector of the approach
u
axis of d o3 , i.e.
= kS (e de )uo3 k:
For the impedance control based on (3.32) the instantaneous axis of rotation
of e changes, while remarkably no misalignment occurs for the impedance
control based on (3.72). The impedance control based on (3.38) has also been
tested and its performance is as good as that of the quaternion-based control;
hence, the results are not reported for brevity.
p_ ; !
d d
p ; !_
d d
a
n
q
q_
p ; RO
e e
b
e p_ ; X
e
b
!
p ; RY
d d
b
dp_ ; !Z
d
b
p ; !_q1
d d
qa2
q3
f ;q458 ROBOT FORCE CONTROL
e
qp
e
q_ n
p ; Rs
e e
e
orientation misalignment applied moment
e p_ ; !a 0.15
e
e
2
pp ;; R
d
d
d
d
R
pp__ ;; !!
d
d
d
d
1
pp ;; !!__ 0.1
d
d
d
d y
cp ; Ra
c
p_ ;!
[Nm]
c c
n 0
c p ; !_
c
qa 0.05 x
q_ −1
p f; R;
e e
z
e p_ q; !
e 0
p ;q_R
d d −2
p_ ;; R
e
d
e
d ! 0 2 4 6 8 10 0 2 4 6 8 10
e
d p_ ;; !
e
d _ [s] [s]
a
Figure 3.13. Experimental results under six-DOF impedance control based on quaternion in
f ; the fourth case study.
q
q_
p ;R
e e
orientation misalignment applied moment
e p_ ; ! 0.15
e
2
p ;R
d d
dp_ ; !
d
p ; !_ 1
d d
y
cp ; R 0.1
c
p_ ; !
[Nm]
c c
0
c p ; !_
c
a 0.05 x
−1
f; z
q 0
q_ −2
p ;R
e e 0 2 4 6 8 10 0 2 4 6 8 10
e p_ ; !
e [s] [s]
Figure 3.14. Experimental results under six-DOF impedance control based on alternative Euler
angles in the fourth case study.
gains of the inner motion control loop have been chosen equal to those in the
previous case study. A torque has been applied about the axis whose unit
u
vector is o3 ; the torque is taken from zero to ?1:5 Nm according to a linear
interpolating polynomial with 4th-order blends and a total duration of 1 s.
The results in Figs. 3.13 and 3.14 show the significant differences occurring
in terms of the orientation misalignment . It can be seen that the instantaneous
axis of rotation of e does not appreciably rotate with the impedance control
based on (3.72), given the performance of the inner loop acting on the end-
effector orientation error. Instead, a significant misalignment occurs with the
impedance control based on (3.38).
In sum, it can be concluded that the quaternion-based impedance control
performs better than both impedance control schemes based on the Euler angles
as far as task geometric consistency is concerned.
f;
q
q_
p ;R
e e
p_ ; !
e e
p ;R
d d
p_ ; !
d d
p ; !_
d d
p ;R
c c
p_ ; !
c c
Indirect Force Control 59
p ; !_
c c
a
Y b
f;
q Z e
q_
p ;R
p_ ; ! Z
e e
b
Y
e e
e
p_ ; !
d d
p ; !_
d d
a
n 60 ROBOT FORCE CONTROL
q
q_ position error orientation error
p ;R
e e 0.03
p_ ; !
e e
p ;R
d d z
p_ ; !
d d
0.02 xz
p ; !_
d d
0
a
[m]
0.01
f;
q x −0.1
0 y
q_
p ;R e
y
e
p_ ; !
e e
−0.01 −0.2
p ;R
d d 0 10 20 30 40 0 10 20 30 40
p_ ; !
d d [s] [s]
p ; !_
d d
p ;R
c c
contact force contact moment
p_ ; !
c c
20 2
p ; !_
c c
a 10 xy 1.5
0 1 y
f;
q
[Nm]
[N]
−10 0.5
q_ xz
p ;R
e e
−20 z 0
p_ ; !
e e
−30 −0.5
b Z
b Y −40 −1
e Z 0 10 20 30 40 0 10 20 30 40
e Y [s] [s]
Figure 3.16. Experimental results under six-DOF impedance control based on quaternion in
the fifth case study.
p_ ; !
e e
p ;R
d d
p_ ; !
d d
p ; !_
d d
a
f;
q
q_
p ;R
e e
p_ ; !
e e
p ;R
d d Indirect Force Control 61
p_ ; !
d d
p ; !_
d d
p ;R
c c
additional task function
p_ ; !
c c
1.5
p ; !_
c c
a
1
f;
[rad^2]
q
q_
p ;R
e e
0.5
p_ ; !
e e
Z b
Y b 0
Z e
0 10 20 30
Y e
[s]
from zero, as expected; as for the orientation error, the component of the
orientation error along the Ye -axis significantly deviates from zero since e
has to rotate about Ye in order to comply with the surface. Also, in view of
the imposed task, a prevailing component of the contact force can be observed
along the Zb -axis after the contact, whereas the sole component of the contact
moment about the Ye -axis is significant, as expected. During the takeoff (4 s),
both the errors and the contact force and moment return to zero.
The same task has been executed again for the six-DOF impedance control
without redundancy resolution (k = 0). The performance in terms of the
contact between the end effector and the surface is substantially the same as
above since the additional task does not interfere with the primary interaction
task; hence, the time history of the relevant quantities is omitted for brevity.
Nevertheless, a comparison between the two cases in Fig. 3.17 shows that the
task function is successfully optimized when redundancy is exploited (solid)
other than when redundancy is not exploited (dashed).
to
where
m () (
M ()) denotes the minimum (maximum) eigenvalue and M ()
denotes the maximum singular value of a matrix. Notice that, being jdc j
p
1, the function U is positive definite in the variables c dc and c dc under
condition (3.84).
Taking the time derivative of (3.82) yields
where
cf
E = K p pdc + 2K m dc
c Tc
(3.86)
c = GT ( ; c )K m cp + 2E T ( ; c )K o c
E dc dc dc dc dc dc (3.87)
with
G = dcE ? cdccTdc, (3.88)
are respectively the elastic force and moment which contain coupling terms, i.e.
the orientation displacement appears in (3.86) while the position displacement
appears in (3.87).
Therefore, the equations of the translational and the rotational impedance
(3.25) and (3.72) become
The stiffness analysis for small position and orientation displacements be-
tween d and c shows that
c f ' K c p_ dt + K T c! dt
E p dc m dc (3.93)
c ' K cp_ dt + K c ! dt
E m dc o dc (3.94)
cf
E = 2
mi sin #2dc umi (3.96)
u
which represents an elastic force along the same mi axis. On the other hand,
considering a null orientation displacement and a position displacement of
length along the i-th eigenvector gives
c =
mi umi
E (3.97)
u
which represents an elastic moment about the same mi axis. Therefore, the
K
coupling stiffness matrix m can be expressed in terms of three parameters
mi
representing the coupling stiffness about three principal axes mi . u
Finally, the computation of the equilibria of the impedance equations (3.89)
and (3.90) with the relative stability analysis can be carried out in a conceptually
analogous way to Subsection 3.3.
4. FURTHER READING
Stiffness control was proposed in [87] and is conceptually equivalent to
compliance control [82]. Devices based on the remote center of compliance
were discussed in [110] for successful mating of rigid parts. The original idea
of a mechanical impedance model used for controlling the interaction between
manipulator and environment is due to [50], and a similar formulation is given
in [55].
The adoption of an inner motion control loop to provide impedance control
with disturbance rejection was presented to [64], and has been experimentally
demonstrated for an industrial robot with joint friction in [14]. Linear [31] and
nonlinear [56, 22] adaptive impedance control algorithms have been proposed
64 ROBOT FORCE CONTROL
Direct force control schemes are developed which achieve force regulation when the end
effector is in contact with a compliant environment, thanks to the adoption of an integral
action on the force error generated by an outer force loop. Motion control capabilities
along the unconstrained task directions are recovered using a parallel composition of the
force and motion control actions. Force tracking along the constrained task direction
is achieved by adapting the estimate of the contact stiffness. Throughout the chapter,
experimental results are presented for an industrial robot in contact with a compliant
surface.
1. FORCE REGULATION
In the previous chapter, an indirect control of the contact force has been
achieved by suitably controlling the end-effector motion. In this way, it is
possible to ensure limited values of the contact force for a given rough estimate
of the environment stiffness. Certain interaction tasks, however, do require the
fulfillment of a precise value of the contact force. This would be possible, in
theory, by tuning the active compliance control action and selecting a proper
desired location for the end effector; such a strategy would be effective only on
the assumption that an accurate estimate of the contact stiffness is available.
A radically different approach consists in designing a direct force control
which operates on a force error between the desired and the measured values.
On the other hand, in the previous chapter it has been emphasized that even
impedance control, which does not aim at achieving a desired force, needs
contact force measurements to obtain a linear and decoupled end-effector dy-
namics during the interaction. This is desirable in order to realize a compliant
behavior only along those task directions that are actually constrained by the
presence of the environment. Therefore, contact force measurements are fully
exploited hereafter to design direct force control.
65
66 ROBOT FORCE CONTROL
a
f;
q
q_
p ;R
e e
p_ ; !
e e
Zb
Yb
Direct Force Control 67
Ze
Ye f;
f ;
d d FORCE & MOM p ;R
c c POS & ORIENT a INVERSE MANIPULATOR q
CONTROL CONTROL DYNAMICS & ENVIRONMENT q_
p ;Re e
p_ ; !
e e
DIRECT
KINEMATICS
Figure 4.1. Force and moment control with inner motion control loop.
the control scheme based on (4.1), (4.2), (4.5) and (4.6) gives at steady state
f1 = fd (4.7)
1 = d (4.8)
thanks to the use of integral control actions on the force and moment errors.
On the other hand, the proportional actions on the force and moment errors are
aimed at improving the transient behavior during the interaction.
In sum, regulation of the contact force and moment to the desired values can
be obtained, provided that the control gains are properly chosen so as to ensure
stability of the closed-loop system.
p_ ; !
e e
p ;R
d d
p_ ; !
d d
p ; !_
d d
p ;R
c c
p_ ; !
c c
p ; !_
c c
a
f;
q 68 ROBOT FORCE CONTROL
q_
p ;R
e e
p_ ; !
e e
end−effector path contact force
40
b Z 0
b Y 30
e Z
e Y −0.05 z
20
f ;
z [m]
[N]
d d
p ;R
c c
a −0.1 10
x, y
f; 0
q −0.15
q_ −10
p ;R
e e −0.1 −0.05 0 0.05 0.1 0 5 10 15 20
p_ ; !
e e y [m] time [s]
Figure 4.2. Experimental results under force control with static model-based compensation.
of the relevant frames has been described in terms of rotation matrices. With
respect to the impedance control scheme with inner motion control in Fig. 3.4,
the impedance control is replaced with a force and moment control which
generates the position and orientation of c according to (4.5) and (4.6).
1.3 EXPERIMENTS
The above force and moment control schemes have been tested in exper-
iments on the six-joint industrial robot described in Section 3. of Chapter 1
endowed with the force/torque sensor.
Only the inner three joints are used while the outer three joints are mechan-
J J
ically braked. Hence n = 3 in (2.92) with = p and = p ; accordingly, a
three-DOF task is considered.
The environment and the end effector are those described in Subsection 1.2 of
Chapter 3. The end effector is placed in the same initial position as for the case
study in that subsection but, of course, no position trajectory is assigned. The
desired force along Zb is taken to 20 N according to a trapezoidal velocity profile
with cubic blends, and null initial and final first and second time derivatives,
and a duration of 2 s. The constant value is kept for the remaining portion of
the task.
p_ ; !
e e
p ;R
d d
p_ ; !
d d
p ; !_
d d
p ;R
c c
p_ ; !
c c
p ; !_
c c
a
f;
q Direct Force Control 69
q_
p ;R
e e
p_ ; !
e e
end−effector path contact force
40
Z
b
0
Y
b 30
Z
e
Y
e −0.05 z
20
f ;
z [m]
[N]
d d
p ;R
c c
a −0.1 10
x, y
f; 0
q −0.15
q_ −10
p ;R
e e −0.1 −0.05 0 0.05 0.1 0 5 10 15 20
p_ ; !
e e y [m] time [s]
Figure 4.3. Experimental results under force control with dynamic model-based compensation.
pr = pc + pd (4.11)
Then, the control law (2.92) can be rewritten in terms of the quantities involving
force and position only, i.e.
which, in view of (4.11) and (4.12), shall allow recovering regulation of the
desired end-effector position along the unconstrained task directions if the force
error in (4.5) acts only along the constrained task directions.
In order to gain insight into the behavior during interaction with parallel
control, it is necessary to utilize a model of the environment. To this purpose, a
planar surface is considered, which is locally a good approximation to surfaces
of regular curvature, and the rotation matrix of the compliant frame c
is conveniently chosen with nc normal and t1c and t2c tangential to the plane.
Thus, the model of the contact force is that given in (3.9), i.e. f = K f (pe ? po )
where po represents the position of any point on the undeformed plane and the
contact stiffness matrix takes on the form
p_ ; !
e e
Z b
Y b
Z e
Y e
f ;
d d
p ;R
c c
I ? n nT p
p 1
c
p ;R
c d
e e e;
p
p_ ; !
e e
d
p o
O
b n nT p
c c o
with kf;n > 0. Notice that the orientation of c does not change during the
R
interaction, hence c is a constant matrix; on the other hand, the origin c p
of c changes as a function of the force control action in (4.5).
The elastic contact model (3.9) and (4.15) shows that the contact force is
normal to the plane, and thus a null force error can be obtained only if the
f n
desired force d is aligned with c . Also, it can be recognized that null
position errors can be obtained only on the contact plane ( 1c ; 2c ), while the t t
p n
component of e along c has to accommodate the force requirement specified
f
by d .
q q
The steady state ( _ = 0; = 0) of the system (2.20) with (4.13) and (4.12)
is
T
J K p p
( Pp( r ? e ) + d ) = T . f
(4.16) J f
On the assumption of a full-rank Jacobian, in view of (4.11) and (4.5), Equa-
tion (4.16) gives
Z 1
K Pppde + K Fpf + K Ip 0
f d& + f = 0 (4.17)
p
In Fig. 4.4 the equilibrium position is depicted when a constant d is assigned.
p p
It can be recognized that e;1 differs from d by a vector aligned along the
normal to the contact plane whose magnitude is that necessary to guarantee
f f
1 = d in view of (4.19).
f n
It might be argued that the assignment of d along c indeed requires the
knowledge of the normal direction to the contact plane. If this conditions does
not hold, then it can be found that a drift motion of the end effector is generated
along the plane. Therefore, if the contact geometry is unknown, it is advisable
f
to set d = 0.
In sum, regulation of the end-effector position to the desired components
along the plane with regulation of the contact force to the desired component
along the normal to the plane can be obtained, provided that the control gains
are properly chosen so as to ensure stability of the closed-loop system. This
issue will be reconsidered in the next chapter, when an adaptive version of this
parallel regulator will be presented.
p
where r is given in (4.11) and feedforward of the desired velocity and accel-
p p
eration has been added in view of the presence of d in r .
The equations of the closed-loop system can be obtained by plugging (4.20)
p
in (2.30) with c as in (4.5), leading to
Z t
pde + K Dp p_ de + K Pppde + K Fpf + K Ip f d& = 0. (4.21)
o
f = 0 yields
Projecting (4.21) on the axes of c in (4.14) and taking d;t
K IK IK
where Dp = kDp , Pp = kPp , Fp = kFp and Ip = kIp . I K I
Equation (4.22) describes the dynamic behavior of the components of the
position error on the contact plane. Stability is obtained for any choice
of kDp ; kPp > 0 and tracking of the desired end-effector position on the
contact plane is ensured.
Direct Force Control 73
On the other hand, Equation (4.23) involves the normal components of both
the position error and the force error. In view of the model (3.9) and (4.15), it
is
?1 fn ? dn
pde;n = kf;n (4.24)
with
?1 fd;n ? pd;n + po;n ,
dn = kf;n (4.25)
which allows rewriting (4.23) as
Z t
? 1 ? 1 _ ?
kf;nfn + kf;nkDpfn +(kf;n kPp + kFp)fn + kIp fnd& = n (4.26)
1
0
where
n = dn + kDpd_n + kPp dn. (4.27)
Stability of the third-order system described by (4.26) can be ensured by choos-
ing the gains kDp , kPp , kFp and kIp so as to satisfy the condition
?1 kPp + kFp )
kIp < kDp (kf;n (4.28)
p_ ; ! e e
O b
n nT p c c o
? p o
I ? n nT p c c d
k?1 n nT f
f;n c c d
p 1 e;
p d
p d p p_
d d
f
f d FORCE p c PARALLEL p r POSITION a p INVERSE MANIPULATOR q
CONTROL COMPOSITION CONTROL DYNAMICS & ENVIRONMENT q_
p
p_
e
DIRECT
e KINEMATICS
p_
e
p p f
f p_ p_ a
c r
p
p_
e
DIRECT
e KINEMATICS
Figure 4.6. Force and position control with full parallel composition.
and thus tracking of the desired end-effector position along the unconstrained
task directions is ensured.
p
Further, assuming that the component of d along c is constant, the pro- n
jection of (4.29) and (4.30) on the normal to the contact plane gives
p_e;n = p_c;n (4.36)
pe;n = pc;n. (4.37)
Folding (4.36) and (4.37) into (4.33) and using (4.24) with constant fd;n yields
?1 fn + kV p k?1 f_n = fn
kApkf;n f;n (4.38)
which implies regulation of the contact force to the desired value along the
constrained task direction, for any choice of kAp ; kV p > 0. The force error
dynamics continues to depend on the contact stiffness but, remarkably, is now
independent of the position error dynamics, so as wished.
A block diagram of the resulting force and position control scheme is
sketched in Fig. 4.6, where the full parallel composition is evidenced. Com-
pared to the previous scheme in Fig. 4.5, the force control generates the velocity
and acceleration of the origin of the compliant frame as in (4.32) in addition to
its position; these are summed to the corresponding desired position, velocity
and acceleration to provide the analogous quantities to be input to the position
control.
where e re is the vector part of the quaternion Qre = Q? e Qr expressing
1
! !
the orientation error between r and e ; accordingly, r and _ r respectively
denote the angular velocity and acceleration of r .
By analogy with (4.11), (4.29) and (4.30), the parallel composition rule can
be written in terms of
Qr = Qc Qdc (4.40)
c! = c! + c!
r c dc (4.41)
c !_ = c !_ + c !_
r c dc (4.42)
! !
where Qc , c and _ c characterize the rotational motion of the compliant
! !
frame c , Qdc , dc and _ dc represent the desired rotational motion where the
double subscript indicates that such a motion shall be assigned as a relative
rotation with respect to the time-varying compliant frame; also, the quantities
in (4.41) and (4.42) have been conveniently referred to c .
The analogy is completed by computing the rotational motion of c accord-
ing to the differential equation
!
where c e dt denotes an infinitesimal angular displacement of e and all the
K
quantities have been referred to c . The rotational contact stiffness c is a
symmetric and positive semi-definite matrix which is constant when referred
f
q
q_
pe
p_
e
R R
! !
c r
R
!
e
DIRECT
e
KINEMATICS
Equation (4.39) with (2.31) reveals that the rotational motion of e tracks
! !
the rotational motion of r , i.e. e = r . Therefore, the projection of (4.41)
and (4.42) along c gives n c! = c!
e;n dc;n (4.47)
and thus tracking of the desired end-effector rotational motion along the un-
constrained task direction is ensured.
On the other hand, the projection of (4.41) and (4.42) on the tangential plane
gives
c! = c!
e;t c;t (4.48)
c !_ e;t = c !_ c;t . (4.49)
p c
p_ c
p c
p d
p_ d
p d
p r
p_ r
p r
a p
f
q
q_
p e
p_ 78e
ROBOT FORCE CONTROL
d
R c
! c
end−effector path contact force
!_ c
80
!_ dc
0
! dc 60
R dc
R r −0.05 40
!
z [m]
[N]
r
!_ r
z
a o −0.1 20
x
0
q −0.15 y
q_ −20
R e
0 0.05 0.1 0.15 0.2 0.25 0 5 10 15 20
! e
y [m] time [s]
Figure 4.8. Experimental results under force and position regulator with parallel composition.
Computing the time derivative of (4.44) and projecting on the tangential plane
yields
c _ = c ;t c e;t .
t K ! (4.50)
Then, folding (4.48) and (4.49) into (4.46) and using (4.50) leads to
which implies regulation of the contact moment to the desired value along the
constrained task directions, for any choice of kAo ; kV o > 0.
2.4 EXPERIMENTS
The above force and motion control schemes have been tested in experiments
on the six-joint industrial robot described in Section 3. of Chapter 1 endowed
with the force/torque sensor.
First case study: Force and position regulation. Only the inner three joints
are used while the outer three joints are mechanically braked; accordingly, a
three-DOF task is considered.
The environment and the end effector are those described in Subsection 1.2
of Chapter 3. The end effector is placed in the same initial position as for
the previous case studies. The end-effector task is the same as for the case
study in Subsection 1.2 of Chapter 3, while the same force trajectory as in
Subsection 1.3 starts when contact is detected. The gains of the control action
in (4.12) and (4.5) have been chosen as for the first case study of Subsection 1.3.
The results are presented in Fig. 4.8 in terms of the desired (dashed) and the
actual (solid) end-effector path, together with the time history of the desired
(dashed) and the actual (solid) contact force. As above, the approximate
location (dotted) of the surface is illustrated on the plot of the end-effector
p 1
e;
p d
f d
p c
p d
p d
p_ d
p r
a p
f
q
q_
p e
p_ e
p_ c
p c
end−effector path contact force
p d 40
p_ d
0
p d 30
p r
p_ r −0.05 z
p 20
z [m]
[N]
r
a p
−0.1 10
f x
q 0
q_ −0.15
y
p e
−10
p_ e 0 0.05 0.1 0.15 0.2 0.25 0 5 10 15 20
d y [m] time [s]
R c
! c
end−effector path contact force
!_ c
40
!_ dc 0
! dc 30
R dc
R −0.05 z
r
20
!
z [m]
[N]
!_ r
a −0.1 10
o
x
0
q −0.15
y
q_ −10
R e
0 0.05 0.1 0.15 0.2 0.25 0 5 10 15 20
! e
y [m] time [s]
Figure 4.9. Experimental results under force and position control with full parallel composition.
path, while the instant of contact (dotted line) and the instant of the end of the
motion trajectory (dashed line) are evidenced on the plot of the contact force.
It can be recognized that path tracking accuracy is satisfactory during un-
constrained motion, even with a simple PD position control action plus gravity
compensation. On the other hand, during constrained motion, after a transient
the contact force reaches the desired value; the peak on the component along
Zb is due to the nonnull value of end-effector velocity at the contact as well as
to the imposed motion into the surface, whereas the appreciable deviation from
zero of the component along Yb can be imputed to contact friction and local
deformation of the surface resulting from the imposed end-effector motion.
In any case, both components of contact friction force along Xb and Yb are
regulated to zero in view of the integral action on all the components of the
force error, whereas the component along Zb reaches a steady-state value which
guarantees exact force regulation.
Second case study: Force and position control. In view of its expected
better performance, the force and position control with full parallel composition
is considered.
p_ e
d
R c
! c
!_ c
!_ dc
! dc
R dc
R r
! r
80 !_ CONTROL
ROBOT FORCE r
a o
Z c
q ! dc
q_
R e
d
! e Y c
As above, only the inner three joints are used while the outer three joints are
mechanically braked; accordingly, a three-DOF task is considered.
The environment, the end effector and the task are the same as in the previous
case study. The gains of the control action in (4.31) and (4.32) have been set
K IK IK
to Dp = 90 , Pp = 2500 , Ap = 8 and V p = 480 . I K I
The results are presented in the upper part of Fig. 4.9 in terms of the desired
(dashed) and the actual (solid) end-effector path, together with the time history
of the desired (dashed) and the actual (solid) contact force. As above, the
approximate location (dotted) of the surface is illustrated on the plot of the
end-effector path, while the instant of contact (dotted line) and the instant of
the end of the motion trajectory (dashed line) are evidenced on the plot of the
contact force.
It can be recognized that path tracking accuracy is very good during uncon-
strained motion. On the other hand, the response of the contact force is faster
than that with the force and position regulator, in view of the inverse dynamics
compensation. As a consequence, the peak on the contact force along Zb is
greatly reduced and successful regulation to the desired value continues to be
achieved. A smaller deformation of the surface occurs which also contributes
to reducing the contact friction along Yb by a factor of about two.
As for the second case study of impedance control with inner motion control
in Subsection 2.4 of Chapter 3, to investigate robustness of the scheme with
respect to changes in the environment location, the task is repeated with the
same control parameters as above but the cardboard box is raised by about
0:025 m. From the results presented in the lower part of Fig. 4.9, it can be
recognized that, despite the different location of the surface, the desired force
set point is still achieved; however, larger values of contact force are obtained
during the transient due to the larger impact velocity.
p_ d
p d
p r
p_ r
p r
a p
f
q
q_
p e
p_ e
d
R c
! c
!_ c
Direct Force Control 81
!_ dc
! dc
R dc
rotation about approach axis contact moment
R r
2.5
! r
0.5
!_ 2
r
y
a o 0.4 1.5
[Nm]
[rad]
0.3 1
q
q_ 0.2
0.5
R e
z
x
0.1
! e 0
Z c
0
Y c −0.5
d
0 5 10 15 0 5 10 15
! dc
[s] [s]
Third case study: Moment and orientation control. All the six joints of
the robot are involved in this case study.
The end effector is that described in Subsection 3.4. The disk is in contact
with a planar surface such that the approach axis is aligned with the normal
to the surface. The contact is characterized by a rotational stiffness matrix
K = diagf30; 30; 0g Nm/rad, i.e. the unconstrained motion is described by
any rotation about the approach axis. The compliant frame is determined so
that its Zc -axis is aligned with the normal to the surface.
The interaction task is as follows. At t = 2 s, the moment is taken to
[ 0 1:5 0 ]T in c , according to a fifth-order polynomial with null initial
and final first and second time derivatives, and a duration of 0:5 s; the final
value is kept constant for the remaining portion of the task. The desired end-
effector position is kept constant. After a lapse of 6 s, the desired end-effector
orientation is required to make a rotation of 0:5 rad about the approach axis;
the trajectory is generated according to a fifth-order interpolating polynomial
with null initial and final velocities and accelerations, and a duration of 4 s.
The geometry of the contact during the task is depicted in Fig. 4.10 where the
desired angular velocity and contact moment are represented.
A full six-DOF inverse dynamics control is used, where the linear accelera-
tion is taken as a pure position control with the gains in (2.33) as Dp = 65 K I
K I
and Pp = 2500 . On the other hand, the angular acceleration is chosen as
K
in (4.39) and the gains have been set to Do = 65 and Do = 4500 , and I K I
the gains in the moment control action (4.43) have been set to Ao = and K I
K V o = 24 . I
The results are presented in Fig. 4.11 in terms of the time history of the
rotation angle about the approach axis of e and of the three components of the
desired (dashed) and the actual (solid) contact moment. It can be recognized
that satisfactory tracking of the desired end-effector orientation trajectory is
82 ROBOT FORCE CONTROL
3. FORCE TRACKING
The common feature of all the above force and motion control schemes is
the possibility of regulating the contact force to a desired value, without using
explicit information on the contact stiffness of the environment. It has been
shown, however, that the actual value of the stiffness does influence the transient
behavior during the interaction. The typical uncertainty on the contact stiffness
constitutes the key limitation preventing force tracking. Below is presented
a force and position control scheme which achieves force tracking along the
constrained task direction and position tracking along the unconstrained task
directions, thanks to the use of an adaptation mechanism on the estimate of the
contact stiffness.
where
= kf;n
?1 f
c (4.53)
with
f c = K Apf d + K V pf_ d + f . (4.54)
It is worth pointing out that a time-varying desired force has been considered
with suitable feedforward of the first and second derivatives in (4.54). Also,
f f f n
d , _ d and d are assumed to be aligned with c .
Integration of (4.52) gives the position, linear velocity and acceleration of c
to be used in the parallel compositions (4.11), (4.29) and (4.30). Then, the linear
acceleration is computed as in (4.31) for inverse dynamics control.
p n
By assuming that the component of d along c is constant, tracking of the
desired end-effector position along the unconstrained task directions continues
to hold. Moreover, projecting (4.52) on the normal to the contact plane gives
where (4.24), (4.36), (4.37), (4.53) and (4.54) have been used. Equation (4.55)
implies tracking of the desired contact force along the constrained task direc-
tion.
The above result relies on the assumption that kf;n in (4.53) is exactly known,
which is unlikely to be the case in practice. However, the control scheme can
be modified by using an estimate of the contact stiffness to be suitably updated
as shown in the remainder.
Let "^ denote the time-varying estimate of the inverse of the contact stiffness
coefficient
?1 ;
" = kf;n (4.56)
then Equation (4.53) can be modified as
= "^f c + "^_ (4.57)
where is the solution to the differential equation
_ + = fc (4.58)
with > 0 and "^ is computed according to the update law
"^_ =
Tf (4.59)
with
> 0.
By observing that " in (4.56) is a constant, Equation (4.57) can be rewritten
as
f f
= " c ? "~ c ? "~_ (4.60)
where
"~ = " ? "^ (4.61)
denotes the estimate error. Then, folding (4.58) into (4.60) gives
= "f c ? _ ? (4.62)
where
= "~ . (4.63)
Therefore, the force control action in (4.52) can be computed with as in (4.62)
n
in lieu of (4.53). The resulting projection along c gives
kAp fn + kV pf_n + fn = kf;n(_n + n). (4.64)
It can be found that fn and _ fn tend to zero as long as the transfer function of
the system described by (4.64) with input n and output fn is strictly positive
real; a sufficient condition to guarantee this is simply
Yc
d
! dc
f f_
d d
p p_ p
d d d
p p f
f p_ p_ a
c r
p
p_
e
DIRECT
e KINEMATICS
Figure 4.12. Force and position control with contact stiffness adaptation.
It can be concluded that tracking of the desired contact force is recovered thanks
to the adaptation on the stiffness coefficient.
A block diagram of the resulting force and position control scheme with
contact stiffness adaptation is sketched in Fig. 4.12. Compared to the scheme
in Fig. 4.6, the derivatives of the desired contact force are input to the force
control described by (4.52), (4.54), (4.57) and (4.58) which is then made
adaptive according to (4.59) to allow for force tracking even with unknown
stiffness.
3.2 EXPERIMENTS
The above force and position control schemes aimed at force tracking have
been tested in experiments on the six-joint industrial robot described in Sec-
tion 3. of Chapter 1 endowed with the force/torque sensor. Only the inner three
joints are used while the outer three joints are mechanically braked.
Case study. The environment and the end effector are those described in
Subsection 1.2 of Chapter 3. A task in the Yb Zb -plane is assigned. An end-
effector displacement of 0:12 m along Zb and of 0:25 along Yb is commanded.
The trajectory along the path is generated according to a fifth-order interpolating
polynomial with null initial and final velocities and accelerations, and a duration
of 6 s after an initial lapse of 2 s. The surface of the cardboard box is nearly
flat and is placed horizontally, i.e. in the Xb Yb -plane. Initially, the end effector
is not in contact with the surface, and a null set point is assigned to the desired
contact force. When the end effector comes in contact with the surface, i.e.
when a nonnegligible force is sensed, the desired force along Zb is taken to 40 N
according to a fifth-order polynomial with null initial and final first and second
time derivatives, and a duration of 1 s. The constant value is kept for 0:5 s, and
then the desired force is taken back to zero in 1 s with the same polynomial as
R r
! r
!_ r
a o
q
q_
R e
! e
Z c
Y c
d
! dc
f d
p c
p_ c
end−effector path contact force
p c
80
p d
0
p_ d 60
p d
p r −0.05 40
p_
z [m]
[N]
r
p r
a p −0.1 20
f 0
q −0.15 y
q_ −20
p e
0 0.05 0.1 0.15 0.2 0.25 0 5 10 15 20
p_ e
y [m] [s]
Figure 4.13. Experimental results under force and position control aimed at force tracking.
above, making a tooth-shaped profile. Then, the tooth is replicated three times
with a 0:5 s lapse between each pair of teeth.
The task has first been executed using the force and position control scheme
with feedforward of first and second derivatives of the contact force. The
I
control gains in (4.31) have been set to kDp = 90 and Pp = 2500 . Also, K I
K
the control gains in (4.54) have been set to Ap = 0:005 and V p = 0:15 I K I
so as to achieve a satisfactory behavior with a design value of 15000 N/m for
the stiffness coefficient kf;n .
The experimental results are presented in Fig. 4.13 in terms of the end-
effector path, together with the time history of the desired (dashed) and the
actual (solid) contact force. As usual, the approximate location (dotted) of the
surface is illustrated on the plot of the end-effector path, while the instant of
contact (dotted line) is evidenced on the plot of the contact force. It can be
recognized that a large peak occurs on the contact force along Zb due to the
nonnull velocity at the impact. Also, a time delay is experienced on the tracking
of the reference force trajectory, whereas the appreciable deviation from zero
of the component along Yb is mainly due to contact friction. On the other hand,
the position tracking performance is very good before the contact, whereas after
the contact the end-effector position has to comply with the surface in view of
the imposed desired force.
The above task has been repeated using the control scheme with contact
stiffness adaptation. The values of the control gains are the same as before,
while the control gains in (4.58) and (4.59) have been set to = 20 and
= 0:0001. The initial estimate has been set so that 1="^(0) = 15000,
according to the above design value.
The experimental results are presented in Fig. 4.14 in terms of the end-
effector path, together with the time history of the desired (dashed) and the
actual (solid) contact force. As usual, the approximate location (dotted) of the
surface is illustrated on the plot of the end-effector path, while the instant of
R r
! r
!_ r
a o
q
q_
R e
! e
Zc
Yc
d
!dc
fd
f 86
d ROBOT FORCE CONTROL
f_d
p
c
p_
c
end−effector path contact force
p
c
80
p
d
0
p_
d 60
pd
p r −0.05 40
p_
z [m]
[N]
r
pr
pa −0.1 20
f 0
q −0.15 y
q_ −20
p
e
0 0.05 0.1 0.15 0.2 0.25 0 5 10 15 20
p_
e
y [m] [s]
Figure 4.14. Experimental results under force and position control with contact stiffness adap-
tation.
contact (dotted line) is evidenced on the plot of the contact force. It can be
recognized how the adaptation mechanism is capable of reducing the peak and
ensuring good contact force tracking along Zb . This is obtained at the expense
of a larger end-effector position error along Yb due to contact friction, since the
force control action with stiffness adaptation operates on all the task directions.
4. FURTHER READING
Early work on force control can be found in [109]. The integral action for
removing steady-state force errors has traditionally been used; its stability was
proven in [108], while robustness with respect to force measurement delays
was investigated in [104, 112].
The original idea of closing an outer force control loop around an inner
position control loop dates back to [36]. This was a source of inspiration
for the parallel approach to force/position control introduced in [24] using an
inverse dynamics controller. The parallel force and position regulator was
developed in [25]. The moment and orientation control has been derived
in [72]. An experimental analysis of parallel control schemes has been carried
out in [26], while an extensive comparison with the other force and motion
control schemes presented in this chapter can be found in [29]. The extension
of the force and position control scheme to the case of unknown stiffness with
an adaptation mechanism has been proposed in [27] where a complete stability
proof is given, while experimental tests are described in [28]. Another force and
position control scheme with stiffness adaptation has been proposed in [114].
It has been generally recognized that force control may cause unstable be-
haviour during contact with environment. Dynamic models for explaining
this phenomenon were introduced in [40]. Experimental investigations can be
found in [2] and [103]. Emphasis on the problems with a stiff environment is
given in [44]. Modelling of interaction between a manipulator and a dynamic
Direct Force Control 87
environment was presented in [33], Moreover, control schemes are usually de-
rived on the assumption that the manipulator end effector is in contact with the
environment and this contact is not lost. Impact phenomena may occur which
deserve careful consideration, and there is a need for global analysis of control
schemes including the transition from non-contact into contact and vice-versa,
e.g. [69, 101, 13].
Chapter 5
The model-based compensation requirements of the direct force control schemes in the
previous chapter can be relaxed by resorting to an adaptive control acting on the estimates
of the dynamic parameters. A regulation scheme and a passivity-based control scheme
are developed with reference to the manipulator dynamics in the task space. Output
feedback versions of the control schemes are derived to cope with the lack of joint velocity
measurements. Experimental results of the advanced force and position control schemes
are presented throughout the chapter.
Bp = J ?p TBJ ?p 1 (5.2)
89
90 ROBOT FORCE CONTROL
C p = J ?p T C ? BJ ?p 1J_ p J ?p 1 (5.3)
gp = J ?p Tg. (5.4)
Notice that friction has been neglected for the sake of simplicity,
u
The vector in (5.1) represents the equivalent end-effector driving forces
which are to be chosen according to some control strategy; then, the joint
driving torques can be computed as
= J Tp u. (5.5)
2. ADAPTIVE CONTROL
Any model-based compensation to be used by the control schemes presented
in the previous three chapters relies on the exact knowledge of the dynamic pa-
rameters. These are typically determined via an identification procedure which
provides accurate estimates of the parameters as the result of experimental tests
executed on the real robot manipulator. Nevertheless, parameter mismatching
always exists in practice and further adjustments of some parameters would be
required in case of variable payloads. In such cases, it is possible to resort to
an adaptation mechanism which provides an on-line update of the estimates of
the dynamic parameters as a function of the relevant (motion and force) errors.
To this purpose, adaptive versions of the force and position control schemes
are developed in the sequel. First, the static model-based compensation is
considered for force and position regulation. Then, the dynamic model-based
compensation is treated for force regulation and position tracking.
2.1 REGULATION
With reference to the force and position regulation control scheme in Sub-
section 2.1 of Chapter 4, the counterpart of the joint space control law (4.13)
with (4.12), (4.11) and (4.5) can be written in the task space as
Z t
u = kPppde ? kDpp_ e + f d + kFpf + kIp 0 f d& + g^p(pe) (5.15)
where the control gains have all been taken as scalars and the damping action
has been conveniently expressed in terms of the end-effector linear velocity;
g
also, the quantity ^ p denotes the estimate of the gravity forces.
g g
In case of perfect gravity compensation ( ^ p = p ), the end-effector position
and contact force at the equilibrium are described by (4.18) and (4.19) as long
f n
as the desired force d is taken along the normal c to the contact plane.
A stability analysis around the equilibrium is carried out below as a useful
premise to the case of imperfect gravity compensation (with adaptation). Let
e = pe;1 ? pe (5.16)
92 ROBOT FORCE CONTROL
denote the deviation of the end-effector position from the equilibrium position.
Then, by using (4.18), (3.9) and (4.15), Equation (5.16) can be rewritten as
e = I ? ncnTc pde + kf;n
?1 f (5.17)
where the first term is tangential to the contact plane while the second term is
normal to the plane. Then, in view of (5.17), it is
e_ = ?p_ e. (5.20)
Then, folding (5.15) in (5.1) and accounting for (5.18), (5.19) and (5.20) yields
Computing the time derivative of (5.22) and accounting for (5.18) gives
Equations (5.21) and (5.23) describe the closed-loop system in terms of the
(7 1) state vector
z
= [ _ T T h ]T e e (5.24)
as
z_ = Az (5.25)
with
2
?B?p 1(C p + kDpI ) ?B?p 1(kPpI + kFp
0 kf;n nc nT ) ?kIpB ?1 nc 3
c p
A = 64 I O 0
7
5.
0T kf;n nTc 0
(5.26)
Advanced Force and Position Control 93
Notice that the origin of the state space represents the equilibrium of the
system (5.25). Stability around this equilibrium can be ascertained as follows.
Consider the Lyapunov function candidate
V = 12 z TPz (5.27)
where
2
Bp B p 0
3
Computing the time derivative of V along the trajectories of the system (5.25)
and (5.26), and accounting for (5.7), yields
CM (5.35)
has been made. The equations of the closed-loop system then become
z_ = Az + (5.40)
?B?p 1Gp~ g 3
with 2
=4 0 5, (5.41)
0
Advanced Force and Position Control 95
where
~ g = g ? ^ g (5.42)
is the parameter estimate error.
Consider the Lyapunov function candidate
V = 21 zTQz + 21 ~ Tg g ~ g (5.43)
(5.44)
with % > 0. Notice that Q coincides with P in (5.28) when % = 0.
Computing the time derivative of V along the trajectories of the system (5.40),
(5.26) and (5.41), and accounting for (5.7), gives
V_ = ?e_ T(kDpI ? Bp)e_ + (eT + %hnTc )C Tp e_ ? kPpeTe (5.45)
?(kFp0 ? kIp ? %kDp )kf;n (nT e)2 ? %kIp h2 + %kf;n e_ T B p nc nT e
c c
+(e_ T + eT + %hnTc )Gp ~ g ? ^_ g g ~ g
T
2k2
kIp < k Pp
f;n B(M
(5.53)
!)
kDp > max 2B M ? kPp ; BM 2 + kIp kf;n
2
Bm kPp (5.54)
8 !2 9
< 2k B 2 k k k
k0 > max Ip M ? Pp ; Ip 1 + Dp =
Fp : kPp Bm kf;n kPp ;
(5.55)
r = p_ d + kPp; (5.57)
where
= r ? p_ e = p_ de + kPp. (5.59)
In view of (5.19) and (5.22), the vector in (5.39) can be rewritten as
Also, in view of (5.59) and (5.60), the time derivative of the end-effector
deviation from the equilibrium position in (5.19) can be written as
Equations (5.62), (5.61) and (5.23) describe the closed-loop system in terms
of the (7 1) state vector
z0 = [ T eT h ]T (5.63)
as
z_ 0 = A0z 0 (5.64)
with
2
?B?p 1 (C p + 1 I ) ?2B?p 1 ?2kPp
?1 kIp B ?1 nc 3
p
A0 = 64 I ?kPpI ?kIpnc 7
5. (5.65)
0T kf;n nTc 0
Notice that the origin of the state space represents the equilibrium of the
system (5.64). Stability around this equilibrium can be ascertained as follows.
Consider the Lyapunov function candidate
V = 12 z0TP 0 z0 (5.66)
with
Bp2
O 0
3
6 O 2 I ?1 kIpnc 7 .
P =4
0 2kPp 5 (5.67)
0 T
2k?1 kIpnT
Pp c
?
2 kIpkf;n1
It is easy to see from (5.69) and (5.68) that V is positive definite and V_ is
negative definite provided that
kPp
2
> 43 kIpkf;n (5.70)
z
holds. Therefore, asymptotic stability of 0 = 0 can be concluded, implying
regulation of the contact force along the constrained task direction and tracking
of the end-effector position along the unconstrained task directions to their
respective desired values.
It is worth remarking that condition (5.70) can be satisfied for a suitable
choice of kPp and kIp with a given estimate of the contact stiffness coeffi-
cient kf;n . Also, stability holds for any 1 and 2 which are then available to
meet design specifications on system performance.
Notice that the last term on the right-hand side of (5.56) is not strictly
needed in the controller, and in fact it is possible to prove stability even without
it. Nevertheless, such term will be useful for the observer design to follow in
the next section.
In the case of imperfect model compensation, the passivity-based control
can be made adaptive with respect to the dynamic parameters as follows. By
exploiting the linearity property in (5.13), the control law (5.56) can be rewritten
as
u Y p p rr f r p
= p ( e ; _ e ; ; _ )^ + + 1 ( ? _ e ) + 2 (5.71)
where ^ is the vector of estimated parameters. The equations of the closed-loop
system become
z Az
_0 = 0 0 + 0 (5.72)
with A0 as in (5.65) and
2
?B?p 1Y p~ 3
0 = 4 0 5 (5.73)
0
where
~ = ? ^ (5.74)
is the parameter estimate error.
Consider the Lyapunov function candidate
P
with 0 as in (5.67) and a symmetric and positive definite matrix.
It is easy to see that choosing the parameter estimate update law as
% = J ?p 1 (q)r
(5.78)
%_ = J ?p 1 (q) r_ ? J_ p(q; q_ )% . (5.79)
Further, the counterpart of the adaptive law (5.76) in the joint space is given by
2.3 EXPERIMENTS
The above adaptive passivity-based control scheme has been tested in ex-
periments on the six-joint industrial robot described in Section 3. of Chapter 1
endowed with the force/torque sensor; only the second and third joint are
used while the others are mechanically braked. A minimum set of dynamic
parameters for the manipulator is reported in Appendix B.
Case study. The environment and the end effector are those described in
Subsection 1.2 of Chapter 3. The task consists of a straight-line motion in the
Xb Zb -plane with an end-effector (horizontal) displacement of 0:1 m along Xb .
The trajectory along the path is generated according to a trapezoidal velocity
profile with cubic blends and null initial and final velocities and accelerations;
the actual duration of the motion is 3 s after an initial lapse. The surface of
the cardboard box is nearly flat and is placed (vertically) in the Yb Zb -plane in
such a way as to obstruct the desired end-effector motion along Xb . To begin, a
null set point is assigned to the contact force; when the end effector comes into
contact with the environment, i.e. a nonnegligible force is sensed, the desired
p
R
c
!p
r
d
!_p_
r
d
ap
r
d
p
o
r
p_ r
qp r
qa_
p
R
f!
e
qZ
e
q_Y
c
p
c
e
! p_
d
e
f
dc
d
d
Rfc
d Advanced Force and Position Control 101
!f_
c
d
!p_
c
!_ p_
c
dc
x 10
−3 position error contact force
!p
c
dc 20 30
Rp
c
dc
Rp_
d
r
15 x x
!p
d
r
20
!p_
d
r
ap_
r
10
o
[m]
[N]
r
10
p
a
r
p
5
q z
z 0
qf_ 0
qR e
q_ ! e
−5 −10
Zp
c
e
0 2 4 6 8 10 0 2 4 6 8 10
Yp_
c time [s] time [s]
e
d
! Figure 5.1. Experimental results under passivity-based force and position control with exact
dc
f d
f parameter estimation.
d
f_
d
p
c
p_
c x 10
−3 position error contact force
p
c
20 30
p
d
p_
d 15 x x
p 20
d
p r
10
p_
[m]
[N]
r
10
pr
ap
5
z z
0
f 0
q
q_ −5 −10
ep 0 2 4 6 8 10 0 2 4 6 8 10
ep_ time [s] time [s]
Figure 5.2. Experimental results under passivity-based force and position control with inexact
parameter estimation.
! r
!_ r
a o
q
q_
R e
! e
Zc
Yc
d
!dc
fd
f 102
d ROBOT FORCE CONTROL
f_d
p
c
p_
c x 10
−3 position error contact force
p
c
20 30
p
d
p_
d 15 x x
p 20
d
p r
10
p_
[m]
[N]
r
10
pr
pa 5
z
z 0
f 0
q
q_ −5 −10
p
e
0 2 4 6 8 10 0 2 4 6 8 10
p_
e
time [s] time [s]
Figure 5.3. Experimental results under passivity-based force and position control with inexact
parameter estimation and adaptation.
!_ r
a o
q
q_
R e
! e
Z c
Y c
d
! dc
f d
p c
p_ c
−3
x 10 abs value of z pos error
p c
2.5
p d
p_ d 2
p d
p r
1.5
p_ b
[m]
r
p r
a p
1
c
f 0.5
q
a
q_ 0
p e
0 2 4 6 8 10
p_ e
time [s]
Figure 5.4. Comparison of performance with passivity-based force and position control
schemes.
3.1 REGULATION
p
If the end-effector velocity _ e is not available, it is possible to modify the
control law (5.15) as
_ + 1 = 2p_ e (5.82)
_ + 1 = 2f (5.83)
In fact, taking the time derivative of (5.84) and using (5.82), (5.18) and (5.20)
yields
_ = ?kf;n c Tcnn (5.85)
and it is easy to verify that Equation (5.83) is satisfied by (5.84) and (5.85).
Folding (5.81) in (5.1), and accounting for (5.18), (5.19), (5.20) and (5.39),
yields
where
h = nTc (kFp
0 kf;n e + kIp hnc ? k ) (5.87)
g g
with h as in (5.22) and ^ p = p .
Computing the time derivative of (5.87), and accounting for (5.23) and
(5.85), gives
n
h_ = kf;n Tc (kFp e e
0 _ + kIp + k ). (5.88)
Equations (5.86), (5.82) and (5.88) describe the closed-loop system in terms
of the (10 1) state vector
w = [ e_ T eT T h ]T (5.89)
Advanced Force and Position Control 105
as
w_ = V w (5.90)
with
2
?B?p 1C p ?kPpB?p 1 kDpB?p 1 ?B?p 1nc 3
V = 664 ?I2 I O O
6 0 7
7
O ?1I 0
7.
5
(5.91)
V = 12 wTXw (5.92)
where
2
Bp 1Bp 12B p 0
3
6 B I O
X = 664 1 Bp kPp 0 7
7
1 2 p O 2 kDpI
?1
0
7
5
(5.93)
0T 0T 0T 0 kf;n )?1
(kFp
with
0?1 kIp
1 = kFp (5.94)
?1 kDp .
2 = kPp (5.95)
The function V can be lower-bounded as
1
B
V 2 [ ke_ k kek ] ? Bm = 2 ? 1 BM
k e
_ k
1
B
+ 2 [ ke_ k kk ] ? Bm = 2 ? 1 2 BM
ke_ k
+ 1 (k0 k )?1 h2
1 2 M 2 kDp kk 2 Fp f;n
? 1
where (5.6) has been used. Equation (5.96) with (5.94) and (5.95) reveals that
V is positive definite provided that
( )
B k k02
kIp < m2BPp2 Fp min 1; kPp
2
2 kDp
. (5.97)
M
Computing the time derivative of V along the trajectories of the system (5.90)
and (5.91), and accounting for (5.7), gives
V_ = ?1(2 2 ? 1)e_ TBpe_ ? 1kPpeTe (5.98)
?(1 ?2 1 ? 12)kDp T ? 121 TBpe_
+1 (eT + 2 T )C T e_ ,
106 ROBOT FORCE CONTROL
n
has been made in order to cancel out the cross terms ?1 2 T c h and
h kFp n
0?1 k T . In view of (5.6) and (5.12), the function V_ can be upper-
c
bounded as
1 2 1 M 1 2 Dp
Consider the region of the state space
W = fw : kwk < g. (5.101)
Equation (5.100) with (5.94) and (5.95) reveals that V_ is negative semidefinite
in W provided that
( )
0 min
kIp < kPpkFp 1 Bm
22 kDp ; 1 BM2 (5.102)
kDp Bm ? 2kPp BM .
0 < < 22( kPp + kDp )CM (5.103)
e e
It can be recognized that V_ = 0 implies _ = 0, = 0 and = 0. Then, in
view of (5.86), in the largest invariant set containing the set where V_ = 0 it is
w
h = 0. Asymptotic stability of = 0 can be concluded from LaSalle theorem.
Therefore, thanks to the linear observer, regulation of the contact force and of
the end-effector position to their respective desired values is ensured.
It is worth remarking that the expression of the Lyapunov function is more
complex than in the full-state feedback case, since the additional parameters 1
and 2 are no longer free but they need to be related to the control gains as
in (5.94) and (5.95) in order to simplify the proof. Likewise, the gain k is
related to the control gains as in (5.99). Notice that the gains kDp and kPp
0 and kIp are chosen to satisfy (5.97)
can be chosen to satisfy (5.103); then, kFp
and (5.102).
where perfect dynamic compensation has been assumed. Consider also the
nonlinear observer
The vector in (5.108) provides an estimate of the end-effector velocity, where
p
the vectors and ^ e are the states of the observer and
p~ e = p^ e ? pe (5.109)
which depends on end-effector position and contact force only, without requir-
ing velocity measurements. A comparison of the control law (5.104) with the
p
control law (5.56) shows that the end-effector velocity _ e has been replaced
with the estimate and accordingly the reference vector with .r r
Folding (5.104) in (5.1), and accounting for (5.10) and (5.11), gives
where
Computing the time derivative of e in (5.19), and using (5.112) and (5.60),
gives
e_ = p_ de = e ? kPp( ? p~ e). (5.116)
with
Bp O
2
O 0 O 3
6 O Bp O 0 O 7
6 7
X =6 O O
0 6
6 2 I ?1 kIp nc
2 kPp O 7
7.
7 (5.121)
6 T
40 0T 2 k?1 kIpnT
Pp c
?1
2 kIpkf;n 7
0T 5
O O O 0 2 I
The function V can be lower-bounded as
"
?k?1k #
V 12 2 [ kek jhj ] ?k?1k k Ppk?1Ip kjhekj
1
(5.122)
Pp Ip Ip f;n
1 1 1
+ 2 Bm ke k2 + 2 Bm kk2 + 2 2 kp~ ek2
Advanced Force and Position Control 109
where (5.6) has been used. Equation (5.122) reveals that V is positive definite
provided that condition (5.70) holds.
Computing the time derivative of V along the trajectories of the system
(5.118), and accounting for the passivity property of the matrix in (5.8), gives
V_ = ?1eT e ? 2 kPpeTe + 2 kPp?1 kIp kf;n (nT e)2
c (5.123)
?2kPp kIph ? 2 kIphnc e
? 1 2 2 T
1 = C (21 ? CM VM
M kPp + kIp + 1)
(5.129)
m ? 1 ? CM VM .
2 = CO B(2
k
M k + k + 1)
Pp Ip
(5.130)
w
Therefore, asymptotic stability of 0 = 0 can be concluded, implying reg-
ulation of the contact force to the desired value and tracking of the desired
end-effector position, thanks to the nonlinear observer.
110 ROBOT FORCE CONTROL
% = J ?p 1(q)r (5.132)
q = J p (q)
? 1
(5.133)
% = J ?p 1(q) r_ ? J_ p(q; q )% . (5.134)
As for the observer, its equations can be computed directly by (5.105) and
(5.106).
3.3 EXPERIMENTS
The above passivity-based output feedback control scheme has been tested in
experiments on the six-joint industrial robot described in Section 3. of Chapter 1
endowed with the force/torque sensor; only the inner three joints are used while
the outer three joints are mechanically braked.
Case study. The environment and the end effector are those described in
Subsection 1.2 of Chapter 3. The task consists of a straight-line motion in the
Yb Zb -plane with an end-effector (horizontal) displacement of 0:25 m along Yb
and (vertical) displacement of ?0:15 m along Zb . The trajectory along the path
is generated according to a trapezoidal velocity profile with cubic blends and
null initial and final velocities and accelerations, and a duration of 6 s. The
surface of the cardboard box is nearly flat and is placed (horizontally) in the
Xb Yb -plane in such a way as to obstruct the desired end-effector motion. To
begin, a null set point is assigned to the contact force; when the end effector
comes into contact with the environment, the desired force along Zb is taken to
20 N according to the same kind of interpolating polynomial as for the position,
with null initial and final first and second time derivatives, and a duration of
2 s; that value is then kept constant.
The control and observer gains in (5.131), (5.105) and (5.106) have been set
to 1 = 1700, 2 = 100, kPp = 40, kIp = 0:06 and kO = 100 in order to
guarantee a satisfactory behavior during the constrained motion.
R r
! r
!_ r
a o
q
q_
R e
! e
Z c
Y c
d
! dc
f d
p c
p_ c
end−effector path contact force
p c
40
p d
0
p_ d 30
p d z
p r −0.05 20
p_
z [m]
[N]
r
p r
a p −0.1 10
x
f 0
q −0.15 y
q_ −10
p e
0 0.05 0.1 0.15 0.2 0.25 0 2 4 6 8 10
p_ e
y [m] time [s]
Figure 5.5. Experimental results under passivity-based force and position control with nonlin-
ear observer.
The experimental results are illustrated in Fig. 5.5 in terms of the end-effector
path, together with the time history of the desired (dashed) and the actual (solid)
contact force. As above, the approximate location (dotted) of the surface is
illustrated on the plot of the end-effector path, while the instant of contact
(dotted line) is evidenced on the plot of the contact force. It can be recognized
that after a transient the contact force reaches the desired value; the transient
on the component along Zb is due to the nonnull value of end-effector velocity
at the contact as well as to the imposed motion into the surface, whereas the
appreciable deviation from zero of the component along Yb is mainly due to
contact friction. On the other hand, the path is satisfactorily tracked before
the contact as well as after the contact along Xb , whereas significant position
errors occur after the contact along both Yb - and Zb -axes which are caused
by the respective forces along those directions. It can be concluded that the
use of the nonlinear observer does not compromise the tracking and steady-
state performance of the passivity-based control, and thus it represents a valid
solution when joint velocities are not available.
4. FURTHER READING
The task space dynamics of a robot manipulator was originally considered
in [57] in the context of the operational space approach. A detailed analysis
on the bounds of the inertia matrix has recently been presented in [46]. A
set of useful relations for the vector of Coriolis and centrifugal forces is given
in [102] where gravity adaptation is performed. The property of linearity in
the dynamic parameters dates back to [75], and its extension to the task space
for passivity-based control has been carried out in [76]. Further material about
dynamic model properties used for control purposes can be found in [49].
112 ROBOT FORCE CONTROL
The adaptive force and position regulation control scheme was introduced
in [91]. Passivity-based control of robot manipulators is surveyed in [79, 12]
as a useful premise for adaptive control which indeed was originally proposed
in [98]. Broader references on passivity-based control of nonlinear systems
are [7, 78]. Robustness of passivity-based control with respect to inverse dy-
namics control was discussed in [3]. The passivity approach has been applied
in [92] to design the force regulation and motion control scheme for a robot
manipulator in contact with a compliant surface; its adaptive version is devel-
oped in [93] together with experimental results. Other adaptive force control
schemes can be found in [89, 63, 8, 113].
Design of observers for motion control of robot manipulators was formulated
in [10, 77] for the regulation problem and in [11] for the tracking control
problem using a passivity approach. Those works are at the basis of the output
feedback control schemes; namely, the regulator in [96] and the passivity-based
control in [97]. Further material about the stability of the force and position
controllers and observers is available in [94]. An output feedback force and
position regulator has also been set forth in [62].
Appendix A
Rigid Body Orientation
For the reader’s convenience, a few basic concepts regarding different representations
for the orientation of a rigid body and their relationship with the body angular velocity
are recalled.
1. ROTATION MATRIX
The location of a rigid body in space is typically described in terms of the
p R
(3 1) position vector and the (3 3) rotation matrix describing the origin
and the orientation of a frame attached to the body with respect to a fixed base
R
frame. The matrix is orthogonal, i.e.
RT R = I (A.1)
I
where is the (3 3) identity matrix. It follows that the transpose of a rotation
matrix is equal to its inverse, i.e.
R T = R ?1 . (A.2)
The body linear velocity is described by the time derivative of the position
p
vector, i.e. _ , while its angular velocity !
can be defined through the time
derivative of the rotation matrix by the relationship
R_ = S (!)R; (A.3)
S
where () is the operator performing the cross product between two (3 1)
! S!
vectors. Given = [ !x !y !z ]T , ( ) takes on the form
2
0 ?!z !y 3
S (!) = 4 !z 0 ?!x 5 . (A.4)
?!y !x 0
113
114 ROBOT FORCE CONTROL
R
Consider now two frames, conventionally labeled 1 and 2 . Let 1 denote
the rotation matrix expressing the orientation of 1 with respect to the base
R
frame, and 1 2 the rotation matrix expressing the orientation of 2 with respect
to 1 . Then, the orientation of 2 with respect to the base frame is obtained
by composing the successive changes of orientation with respect to the current
frame, i.e.
R
2 = 1
1
R R
2. (A.7)
As usual, a superscript denotes the frame to which a quantity (vector or matrix)
is referred; the superscript is dropped whenever a quantity is referred to the
base frame. From (A.7), the mutual orientation between the two frames can be
described by the rotation matrix
1
R2 = RT1R2. (A.8)
!21 = ! 2 ? ! 1 (A.10)
2. EULER ANGLES
Condition (A.1) implies that the nine elements of a rotation matrix are
not independent but related by six constraints. A minimal representation of
'
orientation can be obtained by using a set of three angles = [
]T .
Consider the rotation matrix expressing the elementary rotation about one of the
coordinate axes as a function of a single angle. Then, a generic rotation matrix
Appendix A: Rigid Body Orientation 115
= Atan2(?R23 ; R33 )
q
= Atan2 R13 ; R11 + R12
2 2 (A.13)
= Atan2(?R12 ; R11 )
with 2 (?=2; =2), whereas the solution is
= Atan2(R23 ; ?R33 )
q
= Atan2 R13 ; ? R11 + R12
2 2 (A.14)
= Atan2(R12 ; ?R11 )
with 2 (=2; 3=2); the function Atan2(y; x) computes the arctangent of
the ratio y=x but utilizes the sign of each argument to determine which quadrant
the resulting angle belongs to.
Solutions (A.13) and (A.14) degenerate when = =2; in this case, it is
possible to determine only the sum or difference of and
, i.e.
where the plus sign applies for = +=2 and the minus sign applies for
= ?=2. These configurations are termed representation singularities.
116 ROBOT FORCE CONTROL
The relationship between the time derivative of the Euler angles '_ and the
!
body angular velocity is given by
! = T (')'_ , (A.16)
where '1 and '2 are the set of Euler angles that can be extracted from R1 and
R2, respectively.
Alternatively, the mutual rotation matrix 1 R2 can be computed first; then, a
set of Euler angles '21 can be extracted from 1 R2 . The angular velocity 1 ! 21
in (A.9) is related to the time derivative of '21 as
3. ANGLE/AXIS
An alternative representation of orientation can be obtained in terms of a
rotation angle # about an axis in space described by the (3 1) unit vector . r
The rotation matrix corresponding to an angle/axis representation is
R(#; r) = rrT + cos # I ? rrT + sin #S (r). (A.21)
R r R r
It is clear that (?#; ? ) = (#; ), i.e. a rotation by ?# about ? r
r
cannot be distinguished from a rotation by # about ; hence, the angle/axis
representation is not unique.
On the other hand, the angle/axis corresponding to a given rotation ma-
trix (A.12) is
1
2
R32 ? R23 3
r = 2 sin # 4 R13 ? R31 5 . (A.23)
R21 ? R12
In the case sin # = 0, if R11 + R22 + R33 = 3, then # = 0; this means that no
r
rotation has occurred and is arbitrary (representation singularity). Instead, if
R11 + R22 + R33 = ?1, then # = and the expression of the rotation matrix
becomes
2rx ? 1 2rx ry 2rx rz
2 2 3
rx = R112+ 1
ry = R2r12 (A.25)
x
R
rz = 2r .
13
x
However, if rx 0, then the computation of ry and rz is ill-conditioned. In
that case, it is better to use another column to compute either ry or rz , and so
forth.
The relationship between the time derivative of the angle/axis parameters
and the body angular velocity is given by:
#_ = rT ! (A.26)
118 ROBOT FORCE CONTROL
1 #
r_ = 2 (I ? rr ) cot 2 ? S (r) !.
T
(A.27)
Notice that Equations (A.26) and (A.27) become ill-defined at the representation
singularity (# = 0).
4. QUATERNION
The drawbacks of the angle/axis representation can be overcome by a four-
parameter representation; namely, the unit quaternion, viz. Euler parameters,
defined as:
Q = f; g (A.28)
where
= cos #2 (A.29)
= sin #2 r, (A.30)
with 0 for # 2 [?; ]; is called the scalar part of the quaternion while
is called the vector part of the quaternion. They are constrained by
2 + T = 1, (A.31)
hence the name unit quaternion. It is worth remarking that, differently from the
r
angle/axis representation, a rotation by ?# about ? gives the same quater-
r
nion as that associated with a rotation by # about ; this solves the above
nonuniqueness problem. Also, no singularity occurs.
R
The quaternion extracted from ?1 is denoted as Q?1 and can be computed
as
Q?1 = f; ? g. (A.32)
The relationship between the time derivative of the Euler parameters and the
!
body angular velocity is established by the so-called propagation rule:
_ = ? 12 T ! (A.36)
with
E(; ) = I ? S (). (A.38)
The kinematic models and dynamic models for the two robot manipulators used in the
experiments are presented.
1. KINEMATIC MODELS
Two industrial robots Comau SMART-3 S are available in the PRISMA
Lab. Each robot manipulator has an open kinematic chain with six revolute
joints, creating an anthropomorphic geometry with nonnull shoulder and elbow
offsets and non-spherical wrist. One manipulator is mounted on a sliding
track (prismatic joint) which provides an additional degree of mobility. The
geometry of the seven-joint manipulator is depicted in Fig. B.1 where the joint
variables are numbered from q0 to q6 . Then, the joint variables for the six-joint
manipulator are numbered from q1 to q6 . Further, the link lengths are denoted
from l0 to l7 and their numerical values, listed in Table B.1, are taken from the
data sheet of the robot manufacturer.
Link li
0 0:850
1 0:150
2 0:610
3 0:110
4 0:610
5 0:113
6 0:103
121
O b
X b
Y b
Z b
q1
q2
q3
q4
p e
n e
s e
a e
p ;R d d
p_ ; ! d d
p ; !_ d d
a
n
q
q_
d
e
p ; !_ d d
a
f;
q
q_
p ;R e e
p_ ; ! e e
p ;R d d
p_ ; ! d d
p ; !_ d d
p ;R c c
p_ ; ! c c
p ; !_ c c
a
f;
q
q_
p ;R e e
p_ ; ! e e
Z b
Y b
Z e
Y e
f ; d d
p ;R c c
a
f;
q
q_
p ;R e e
p_ ; ! e e
O b
n nT p c c o
? p o
I ? n nT p c c d
k?1 n nT f
f;n c c d
p 1 e;
p d
f d
p c
p d
p d
p_ d
p r
a p
f
q
q_
p e
p_ e
f d
p c
p_ c
p c
p d
p_ d
p d
p r
p_ r
p r
a p
f
q
q_
p e
p_ e
d
R c
! c
!_ c
!_ dc
! dc
R dc
R r
! r
!_ r
a o
q
q_
R e
! e
Z c
Y c
d
! dc
f d
f d
f_ d
p c
p_ c
p c
p d
p_ d
p d
p r
p_ r
p r
a p
f
q
q_
p e
p_ e
origin at the intersection of the common normal between the axes of joints 1
and 2 with the axis of joint 1.
The sequence is as follows. For link 1:
R1;11 = c1
R1;12 = 0
R1;13 = ?s1
R1;21 = s1
R1;22 = 0 (B.3)
R1;23 = c1
R1;31 = 0
R1;32 = ?1
R1;33 = 0
and
p1;1 = l1 R1;11
p1;2 = l1 R1;21 (B.4)
p1;3 = 0.
For link 2:
R2;11 = c2 R1;11
R2;12 = ?s2 R1;11
R2;13 = ?R1;13
R2;21 = c2 R1;21
R2;22 = ?s2 R1;21 (B.5)
R2;23 = R1;23
R2;31 = s2 R1;32
R2;32 = c2 R1;32
R2;33 = 0
and
p2;1 = l2 R2;11 + p1;1
p2;2 = l2 R2;21 + p1;2 (B.6)
p2;3 = ?l2 R2;31 + p1;3 .
For link 3:
R3;11 = c3 R2;11 + s3 R2;12
124 ROBOT FORCE CONTROL
R3;12 = ?R2;13
R3;13 = c3 R2;12 ? s3 R2;11
R3;21 = c3 R2;21 + s3R2;22
R3;22 = ?R2;23 (B.7)
R3;23 = c3 R2;22 ? s3R2;21
R3;31 = c3 R2;31 + s3R2;32
R3;32 = 0
R3;33 = c3 R2;32 ? s3R2;31
and
Jp;11 = ?pe2
Jp;12 = R1;23 re1;3 ? R1;33 re1;2
Jp;13 = R2;23 re2;3 ? R2;33 re2;2
Jp;14 = R3;23 re3;3 ? R3;33 re3;2
Jp;15 = R4;23 re4;3 ? R4;33 re4;2
Jp;16 = R5;23 re5;3 ? R5;33 re5;2
126 ROBOT FORCE CONTROL
Jp;21 = pe1
Jp;22 = R1;33 re1;1 ? R1;13 re1;3
Jp;23 = R2;33 re2;1 ? R2;13 re2;3 (B.15)
Jp;24 = R3;33 re3;1 ? R3;13 re3;3
Jp;25 = R4;33 re4;1 ? R4;13 re4;3
Jp;26 = R5;33 re5;1 ? R5;13 re5;3
Jp;31 = 0
Jp;32 = R1;13 re1;2 ? R1;23 re1;1
Jp;33 = R2;13 re2;2 ? R2;23 re2;1
Jp;34 = R3;13 re3;2 ? R3;23 re3;1
Jp;35 = R4;13 re4;2 ? R4;23 re4;1
Jp;36 = R5;13 re5;2 ? R5;23 re5;1
where
rei = pe ? pi (B.16)
for i = 1; : : : ; 5. The Jacobian J o is the (3 6) matrix given by
Jo;11 = 0
Jo;12 = R1;13
Jo;13 = R2;13
Jo;14 = R3;13
Jo;15 = R4;13
Jo;16 = R5;13
Jo;21 = 0
Jo;22 = R1;23
Jo;23 = R2;23 (B.17)
Jo;24 = R3;23
Jo;25 = R4;23
Jo;26 = R5;23
Jo;31 = 1
Jo;32 = R1;33
Jo;33 = R2;33
Jo;34 = R3;33
Jo;35 = R4;33
Jo;36 = R5;33 .
Appendix B: Models of Robot Manipulators 127
Then the sequence for the remaining frames proceeds from (B.5) and (B.6)
to (B.13) and (B.14) giving the position and orientation of the end effector.
With reference to (B.15), the additional elements needed for the computation
J
of the (3 7) Jacobian matrix p are:
Jp;10 = R0;13
Jp;20 = R0;23 (B.22)
Jp;30 = R0;33 .
All the remaining elements are the same except Jp;11 , Jp;21 and Jp;31 that are
to be replaced with:
With reference to (B.17), the additional elements needed for the computation
J
of the (3 7) Jacobian matrix o are:
Jo;10 = 0
Jo;20 = 0 (B.25)
Jo;30 = 0.
All the remaining elements are the same except Jo;11 , Jo;21 and Jo;31 that are
to be replaced with:
Jo;11 = R0;13
Jo;21 = R0;23 (B.26)
Jo;31 = R0;33 .
2. DYNAMIC MODELS
Since the dynamic parameters are typically not available from the robot
manufacturer, the dynamic models of the two robot manipulators have been
identified in terms of a minimum number of parameters. To this purpose, the
dynamics of the outer three joints has been simply chosen as purely inertial and
decoupled. Only joint viscous friction has been included, since other types of
friction (e.g. Coulomb and dry friction) are difficult to model. With reference
to (2.21), the dynamic parameters are listed in Table B.2.
Appendix B: Models of Robot Manipulators 129
Table B.2. Identified dynamic parameters for the two robot manipulators.
i Six-joint Seven-joint
1 78:7384 762:5649
2 ?46:8840 114:8766
3 2:2870 45:7747
4 53:5654 ?10:0998
5 ?14:2332 ?69:9282
6 ?9:4194 83:5433
7 3:4727 ?10:1028
8 ?8:5887 994:8749
9 1:2018 119:3700
10 ?0:0989 ?4:6261
11 104:4293 ?9:7233
12 0:2424 ?1:2431
13 0:4411 ?4:0507
14 0:9313 ?1:1146
15 11:5712 133:0195
16 ?5:2824 6:4472
17 3:4585 2:7719
18 3:3329 0:8022
19 35:4644 13:8884
20 0:6165 ?21:1525
21 2:4082 ?7:2273
22 0:6808 4:7310
23 11:7816 ?20:8157
24 0:2077 2:2258
25 3:0460 63:4472
26 0:6165
27 2:4082
28 0:6808
29 11:7816
30 0:2077
31 3:0460
B16 = 0
B22 = 4 + 15 + 2c3 l216 ? 2s3 l217
B23 = 15 + c3 l2 16 ? s3l2 17 + (1=kr3 )18
B24 = 0
B25 = 0 (B.27)
B26 = 0
B33 = 15 + 18
B34 = 0
B35 = 0
B36 = 0
B44 = 20
B45 = 0
B46 = 0
B55 = 22
B56 = 0
B66 = 24
where the notations ci:::j and si:::j are the abbreviations for cos(qi + : : : + qj )
and sin(qi + : : : + qj ), respectively.
The elements of the matrix C in the Coriolis and centrifugal torques are
given by:
C11 = q_2 s2 c2 2 ? q_2 s2l1 5 + (q_2 + q_3)s23 c23 6 + q_2(c22 ? s22 )8
?q_2l1 c210 + (q_2 + q_3)(c223 ? s223 )12
?(q_2l2 s2c23 + (q_2 + q_3)(l1 + l2 c2)s23 )16
?((q_2 + q_3)(l2 c2 + l1 )c23 ? q_2l2 s2s23)17
C31 = ?q_1 s23 c23 6 ? q_1 (c223 ? s223 )12 + q_1 (l2 c2 + l1)s23 16
+q_1 (l2 c2 + l1 )c23 17
C21 = C31 ? q_1s2 c2 2 + q_1l1 s2 5 ? q_1(c22 ? s22 )8 + q_1 l1 c2 10
+q_1 l2 s2 c23 16 ? q_1 l2 s2 s23 17 (B.28)
C13 = ?C31 ? (q_2 + q_3)c23 13 + (q_2 + q_3 )s23 14
C12 = ?C21 + C13 + C31 ? q_2 3 c2 + q_2 s2 9
C22 = ?q_3 l2 s3 16 ? q_3 l2 c3 17
C32 = q_2l2 s316 + q_2 l2 c3 17
C23 = C22 ? C32
C33 = 0
Appendix B: Models of Robot Manipulators 131
F11 = 7
F22 = 11
F33 = 19 (B.29)
F44 = 21
F55 = 23
F66 = 25 .
The vector of gravity torques is given by:
g1 = 0
g3 = g(c23 16 ? s23 17 ) (B.30)
g2 = g3 + g(c2 5 ? s2 10 )
while gi = 0 for i = 4; 5; 6, being g the gravity acceleration.
F00 = 8
F11 = 9
F22 = 15
F33 = 25 (B.33)
F44 = 27
F55 = 29
F66 = 31 .
The vector of gravity torques is given by:
g0 = 0
g1 = 0 (B.34)
g3 = g(21 c23 ? 22 s23 )
g2 = g3 + g((13 + l2 20 )c2 ? 14 s2)
while gi = 0 for i = 4; 5; 6.
References
[1] An, C.H., Atkeson, C.G., and Hollerbach, J.M. (1988). Model-Based
Control of a Robot Manipulator. MIT Press, Cambridge, MA.
[2] An, C.H. and Hollerbach, J.M. (1989). The role of dynamic models in
Cartesian force control of manipulators. Int. J. of Robotics Research,
8(4):51–72.
[3] Anderson, R.J. (1989). Passive computed torque algorithms for robots.
In Proc. 28th IEEE Conf. on Decision and Control, Tampa, FL, pp. 1638–
1644.
[4] Anderson, R.J. and Spong, M.W. (1988). Hybrid impedance control of
robotic manipulators. IEEE J. of Robotics and Automation, 4:549–556.
[5] Ang, M.H. and Andeen, G.B. (1995). Specifying and achieving passive
compliance based on manipulator structure. IEEE Trans. on Robotics
and Automation, 11:504–515.
[8] Arimoto, S., Liu, Y.H., and Naniwa, T. (1993). Model-based adaptive
hybrid control for geometrically constrained robots. In Proc. 1993 IEEE
Int. Conf. on Robotics and Automation, Atlanta, GA, pp. 618–623.
[9] Atkeson, C.G., An, C.H., and Hollerbach, J.M. (1986). Estimation of
inertial parameters of manipulator loads and links. Int. J. of Robotics
Research, 5(3):101–119.
135
136 ROBOT FORCE CONTROL
[22] Canudas de Wit, C., and Brogliato, B. (1997). Direct adaptive impedance
control including transition phases. Automatica, 33:643–649.
[23] Canudas de Wit, C., Siciliano, B., and Bastin, G. (Eds.) (1996). Theory
of Robot Control, Springer-Verlag, London.
[24] Chiaverini, S. and Sciavicco, L. (1993). The parallel approach to
force/position control of robotic manipulators. IEEE Trans. on Robotics
and Automation, 9:361–373.
[25] Chiaverini, S., Siciliano, B., and Villani, L. (1994). Force/position reg-
ulation of compliant robot manipulators. IEEE Trans. on Automatic
Control, 39:647–652.
[26] Chiaverini, S., Siciliano, B., and Villani, L. (1996). Parallel
force/position control schemes with experiments on an industrial robot
manipulator. In Prepr. 13th World Congress of IFAC, San Francisco, CA,
vol. A, pp. 25–30.
[27] Chiaverini, S., Siciliano, B., and Villani, L. (1997). An adaptive
force/position control scheme for robot manipulators. Applied Math-
ematics and Computer Science, 7:293–303.
[28] Chiaverini, S., Siciliano, B., and Villani, L. (1998). Force and posi-
tion tracking: Parallel control with stiffness adaptation. IEEE Control
Systems Mag., 18(1):27–33.
[29] Chiaverini, S., Siciliano, B., and Villani, L. (1999). A survey of robot
interaction control schemes with experimental comparison. IEEE/ASME
Trans. on Mechatronics, 4:273–285.
[30] Chou, J.C.K. (1992). Quaternion kinematic and dynamic differential
equations. IEEE Trans. on Robotics and Automation, 8:53–64.
[31] Colbaugh, R., Seraji, H., and Glass, K. (1993). Direct adaptive impe-
dance control of robot manipulators. J. of Robotic Systems, 10:217–248.
[32] Craig, J.J. (1989). Introduction to Robotics: Mechanics and Control. 2nd
Ed., Addison-Wesley, Reading, MA.
[33] De Luca, A. and Manes, C. (1994). Modeling robots in contact with a dy-
namic environment. IEEE Trans. on Robotics and Automation, 10:542–
548.
[34] De Luca, A., Oriolo, G., and Siciliano, B. (1992). Robot redundancy res-
olution at the acceleration level. Laboratory Robotics and Automation,
4:97–106.
138 ROBOT FORCE CONTROL
[35] De Schutter, J., Bruyninckx, H., Zhu, W.-H., and Spong, M.W. (1998).
Force control: A bird’s eye view. In Control Problems in Robotics and
Automation, Siciliano, B. and Valavanis, K.P. (Eds.), Springer-Verlag,
London, pp. 1–17.
[36] De Schutter, J. and Van Brussel, H. (1988). Compliant robot motion II.
A control approach based on external control loops. Int. J. of Robotics
Research, 7(4):18–33.
[37] Dogliani, F., Magnani, G., and Sciavicco, L. (1993). An open architecture
industrial controller. Newsl. of IEEE Robotics and Automation Society,
7(3):19–21.
[40] Eppinger, S.D. and Seering, W.P. (1987). Introduction to dynamic mod-
els for robot force control. IEEE Control Systems Mag., 7(2):48–52.
[42] Fasse, E.D. and Broenink, J.F. (1997). A spatial impedance controller
for robotic manipulation. IEEE Trans. on Robotics and Automation,
13:546–556.
[44] Ferretti, G., Magnani, G., and Rocco, P. (1995). On the stability of
integral force control in case of contact with stiff surfaces. ASME J. of
Dynamic Systems, Measurement, and Control, 117:547–553.
[46] Ghorbel, F., Srinivasan, B., and Spong, M.W. (1998). On the uniform
boundedness of the inertia matrix of serial robot manipulators. J. of
Robotic Systems, 15:17–28.
References 139
[60] Lin, S.K. (1989). Singularity of a nonlinear feedback control scheme for
robots. IEEE Trans. on Systems, Man, and Cybernetics, 19:134–139.
[61] Lončarić, J. (1987). Normal forms of stiffness and compliance matrices.
IEEE J. of Robotics and Automation, 3:567–572.
[62] Lorı́a, A. and Ortega, R. (1996). Output feedback force-position regula-
tion of robot manipulators. Automatica, 32:939–943.
[63] Lozano, R. and Brogliato, B. (1992). Adaptive hybrid force-position
control for redundant manipulators. IEEE Trans. on Automatic Control,
37:1501–1505.
[64] Lu, W.-S. and Meng, Q.-H. (1991). Impedance control with adaptation
for robotic manipulators. IEEE Trans. on Robotics and Automation,
7:408–415.
[65] Lu, Z. and Goldenberg, A.A. (1995). Robust impedance control and
force regulation: Theory and experiments. Int. J. of Robotics Research,
14:225–254.
[66] Luh, J.Y.S., Walker, M.W., and Paul, R.P.C. (1980). Resolved-
acceleration control of mechanical manipulators. IEEE Trans. on Au-
tomatic Control, 25:468–474.
[67] McClamroch, N.H. and Wang, D. (1988). Feedback stabilization and
tracking of constrained robots. IEEE Trans. on Automatic Control,
33:419–426.
[68] Mills, J.K. and Goldenberg, A.A. (1989). Force and position control of
manipulators during constrained motion tasks. IEEE Trans. on Robotics
and Automation, 5:30–46.
[69] Mills, J.K. and Lokhorst, D.M. (1993). Control of robotic manipulators
during general task execution: A discontinuous control approach. Int. J.
of Robotics Research, 12:146–163.
[70] Murray, R.M., Li Z., and Sastry, S.S. (1994). A Mathematical Introduc-
tion to Robotic Manipulation, CRC Press, Boca Raton, FL.
[71] Nakamura, Y. (1991). Advanced Robotics: Redundancy and Optimiza-
tion. Addison-Wesley, Reading, MA.
[72] Natale, C., Siciliano, B., and Villani, L. (1998). Control of moment
and orientation for a robot manipulator in contact with a compliant
environment. In Proc. 1998 IEEE Int. Conf. on Robotics and Automation,
Leuven, B, pp. 1755–1760.
References 141
[73] Natale, C., Siciliano, B., and Villani, L. (1999). Spatial impedance
control of redundant manipulators. In Proc. 1999 IEEE Int. Conf. on
Robotics and Automation, Detroit, MI, pp. 1788–1793.
[74] Nemec, B. and Žlajpah, L. (1998). Implementation of force control on
redundant robot. In Proc. 1998 IEEE/RSJ Int. Conf. on Intelligent Robots
and Systems, Victoria, B.C., CAN, pp. 1314–1320.
[75] Nicolò, F. and Katende, J. (1983). A robust MRAC for industrial robots.
In Proc. 2nd IASTED Int. Symp. on Robotics and Automation, Lugano,
CH, pp. 162–171.
[76] Niemeyer, G. and Slotine, J.-J.E. (1991). Performance in adaptive ma-
nipulator control. Int. J. of Robotics Research, 10:149–161.
[77] Ortega, R., Lorı́a, A., and Kelly, R. (1995). A semiglobally stable out-
put feedback PI2 D regulator for robot manipulators. IEEE Trans. on
Automatic Control, 40:1432–1436.
[78] Ortega, R., Lorı́a, A., Nicklasson, P.J., and Sira-Ramı́rez, H. (1998).
Passivity-based Control of Euler-Lagrange Systems, Springer-Verlag,
London.
[79] Ortega, R. and Spong, M.W. (1989). Adaptive motion control of rigid
robots: a tutorial. Automatica, 25:877–888.
[80] Patterson, T. and Lipkin, H. (1993). Structure of robot compliance. ASME
J. of Mechanical Design, 115:576–580.
[81] Paul, R.P. (1981). Robot Manipulators: Mathematics, Programming, and
Control. MIT Press, Cambridge, MA.
[82] Paul, R. and Shimano, B. (1976). Compliance and control. In Proc. 1976
Joint Automatic Control Conf., San Francisco, CA, pp. 694–699.
[83] Peshkin, M.A. (1990). Programmed compliance for error corrective as-
sembly. IEEE Trans. on Robotics and Automation, 6:473–482.
[84] Raibert, M.H. and Craig, J.J. (1981). Hybrid position/force control of
manipulators. ASME J. of Dynamic Systems, Measurement, and Control,
103:126–133.
[85] Raucent, B., Campion, G., Bastin, G., Samin, J.C., and Willems, P.Y.
(1992). Identification of the barycentric parameters of robot manipula-
tors from external measurements. Automatica, 28:1011–1016.
[86] Roberson, R.E. and Schwertassek, R. (1988). Dynamics of Multibody
Systems. Springer-Verlag, Berlin.
142 ROBOT FORCE CONTROL
[98] Slotine, J.-J.E. and Li, W. (1987). On the adaptive control of robot
manipulators. Int. J. of Robotics Research, 6(3):49–59.
[99] Spong, M.W. and Vidyasagar, M. (1989). Robot Dynamics and Control,
Wiley, New York.
References 143
[100] Takegaki, M. and Arimoto, S. (1981). A new feedback method for dy-
namic control of manipulators. ASME J. of Dynamic Systems, Measure-
ment, and Control, 102:119–125.
[101] Tarn, T.-J., Wu, Y., Xi, N., and Isidori, A. (1996). Force regulation and
contact transition control. IEEE Control Systems Mag., 16(1):32–40.
[102] Tomei, P. (1991) Adaptive PD controller for robot manipulators. IEEE
Trans. on Robotics and Automation, 7:565–5701.
[103] Volpe, R. and Khosla, P. (1993). A theoretical and experimental investi-
gation of impact control for manipulators. Int. J. of Robotics Research,
12:351–365.
[104] Volpe, R. and Khosla, P. (1993). A theoretical and experimental investi-
gation of explicit force control strategies for manipulators. IEEE Trans.
on Automatic Control, 38:1634–1650.
[105] Vukobratović, M. and Nakamura, Y. (1993). Force and contact control
in robotic systems. Tutorial at 1993 IEEE Int. Conf. on Robotics and
Automation, Atlanta, GA.
[106] Wampler, C.W. and Leifer, L.J. (1988). Applications of damped least-
squares methods to resolved-rate and resolved-acceleration control of
manipulators. ASME J. of Dynamic Systems, Measurement, and Control,
110:31–38.
[107] Wen, J.T.-Y. and Kreutz-Delgado, K. (1991). The attitude control prob-
lem. IEEE Trans. on Automatic Control, 36:1148–1162.
[108] Wen, J. and Murphy, S. (1991). Stability analysis of position and force
control for robot arms. IEEE Trans. on Automatic Control, 36:365–371.
[109] Whitney, D.E. (1977). Force feedback control of manipulator fine mo-
tions. ASME J. of Dynamic Systems, Measurement, and Control, 99:91–
97.
[110] Whitney, D.E. (1982). Quasi-static assembly of compliantly supported
rigid parts. ASME J. of Dynamic Systems, Measurement, and Control,
104:65–77.
[111] Whitney, D.E. (1987). Historical perspective and state of the art in robot
force control. Int. J. of Robotics Research, 6(1):3–14.
[112] Wilfinger, L.S., Wen, J.T., and Murphy, S.H. (1994). Integral force
control with robustness enhancement. IEEE Control Systems Mag.,
14(1):31–40.
144 ROBOT FORCE CONTROL
145
146 ROBOT FORCE CONTROL
Regulation, 26, 66, 91, 104 Static model-based compensation, 26, 32, 66
Remote center of compliance, 34 Stiffness control, 2
Representation singularity, 15, 54, 115, 117 Task geometric consistency, 43–44, 46, 49, 57, 63
Resolved acceleration, 12–13 Task space control, 12
Rotation matrix, 8, 113 Task space dynamics, 89
Rotational impedance, 43–45, 48 Three-DOF impedance control, 40–41
Six-DOF impedance control, 43, 52, 54, 56–57, 59 Tracking control, 12
Six-DOF stiffness, 61 Translational impedance, 40