From Indirect To Direct Force Control: A Roadmap For Enhanced Industrial Robots

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 36

From Indirect to Direct Force Control:

A Roadmap for Enhanced Industrial Robots


Bruno Siciliano and Luigi Villani
PRISMA Lab
Dipartimento di Informatica e Sistemistica
Universita degli Studi di Napoli Federico II
Via Claudio 21, 80125 Napoli, Italy
E-mail: fsiciliano,lvillanig@unina.it
Invited Paper for Robotica , February 2000
Abstract

The leading industrial robotics community seems to be ready for a big


step in designing enhanced control systems; namely, the integration of
force control capabilities. This paper presents a roadmap for e ective
realization of such a step where the key knots from motion control to
interaction control are enlightened. In the framework of model-based task
space control, compliance control and impedance control are introduced
as the basic strategies for indirect force control. Then, direct force control
strategies are considered which are obtained from motion control schemes
suitably modi ed by the closure of an outer force regulation feedback loop.
A key feature is the coverage of six-degree-of-freedom interaction tasks.

1 Introduction
Research on robot force control has ourished 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 oor.
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 ngers
of a dexterous robot hand) are to be controlled so as to limit the exchanged
forces and avoid squeezing of a commonly held object.

1.1 From motion control to interaction control


Control of interaction between a robot manipulator and the environment is crucial for successful execution of a number of practical tasks where the robot end
e ector has to manipulate an object or perform some operation on a surface.
Typical examples include polishing, deburring, machining or assembly. A complete classi cation of possible robot tasks is practically infeasible in view of the
large variety of cases that may occur, nor would such a classi cation be really
useful to nd a general strategy to control interaction with environment .
During interaction, the environment sets constraints on the geometric paths
that can be followed by the end e ector. This situation is generally referred
to as constrained motion . In such a case, the use of a purely motion control
strategy for controlling interaction is a candidate to fail, as explained below.
Successful execution of an interaction task with the environment by using
2

motion control could be obtained only if the task were accurately planned. This
would in turn require an accurate model of both the robot manipulator (kinematics and dynamics) and the environment (geometry and mechanical features).
Manipulator modeling can be known with enough precision, but a detailed description of the environment is dicult to obtain.
To understand the importance of task planning accuracy, it is sucient to
observe that to perform a mechanical part mating with a positional approach,
the relative positioning of the parts should be guaranteed with an accuracy of an
order of magnitude greater than part mechanical tolerance. Once the absolute
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 e ector 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 sti ness 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 e ector 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 e ector, 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 rst decade is provided in [17], whereas
the progress of the last decade is surveyed in [6]. The following subsection is
3

aimed at presenting the features of the main strategies of interaction control


with proper reference to the key literature in the eld.

1.2 From indirect to direct force control


Interaction control strategies can be grouped in two categories; those performing indirect force control and those performing direct force control . The main
di erence between the two categories is that the former achieve force control
via motion control, without explicit closure of a force feedback loop; the latter,
instead, o er the possibility of controlling the contact force to a desired value,
thanks to the closure of a force feedback loop.
To the rst category belong compliance (or sti ness ) control [11, 13] and
impedance control [8], where the position error is related to the contact force
through a mechanical sti ness or impedance of adjustable parameters. A robot
manipulator under impedance control is described by an equivalent mass-springdamper system with the contact force as input. The resulting impedance in the
various task space directions is typically nonlinear and coupled. If a force/torque
sensor is available, then force measurements can be used in the control law so
as to achieve a linear and decoupled impedance.
If a detailed model of the environment is available, a widely adopted strategy
belonging to the second category is the hybrid position/force control which aims
at controlling position along the unconstrained task directions and force along
the constrained task directions. A selection matrix acting on both desired and
feedback quantities serves this purpose for typically planar contact surfaces [12],
whereas the explicit constraint equations have to be taken into account for
general curved contact surfaces [18, 9, 10].
In most practical situations, a detailed model of the environment is not
available. In such a case, an e ective strategy still in the second category is
the inner/outer motion/force control where an outer force control loop is closed
around the inner motion control loop which is typically available in an industrial
robot [7]. In order to embed the possibility of controlling motion along the
unconstrained task directions, the desired end-e ector motion can be input to
4

the inner loop of an inner/outer motion/force control scheme. The resulting


parallel control is composed of a force control action and a motion control action,
where the former is designed so as to dominate the latter in order to ensure force
control along the constrained task directions [3].
The present paper is based on the recent monograph [15] where force control
strategies are conceived to manage the interaction with a more or less compliant environment without requiring an accurate model thereof. On the other
hand, the environment is an inherent part of the control scheme with the hybrid strategy which indeed represents the most e ective interaction control for
large values of contact sti ness, or an in nitely sti (rigid) surface in the limit.
For such a reason, hybrid position/force control schemes are not treated in the
paper.
The motion control problem is analyzed rst not only to understand its
limitations when the end e ector interacts with the environment, but also to
enlighten the possibility of achieving an indirect control of the contact force with
a purely motion control strategy. The resulting schemes are compliance control
and impedance control, depending whether a static or a dynamic model-based
compensation is performed. Special emphasis is given to controlling six-degreeof-freedom interaction tasks involving the end-e ector position and orientation
when a contact force and moment is applied. The closure of a force feedback
loop allows direct control of the contact force (moment) along the constrained
task directions, and the parallel composition of the force and motion control
actions also allows control of the end-e ector position (orientation) along the
unconstrained task directions.

2 Motion control
Completion of a generic robot task requires the execution of a speci c motion
prescribed to the manipulator end e ector. The motion can be either unconstrained, if there is no physical interaction between the end e ector and the
environment, or constrained if contact forces arise between the end e ector and
5

the environment.
The correct execution of the end-e ector motion is entrusted to the control
system which shall provide the joint actuators of the manipulator with the commands consistent with the mechanical structure of the manipulator. Modeling
a robot manipulator is therefore a necessary premise to nding motion control
strategies. In the following, the kinematic model and the dynamic model of a
robot manipulator are concisely presented.

2.1 Modeling
The kinematic model of an open-chain robot manipulator gives the relationship
between the (n  1) vector of joint variables and the (3  1) position vector pe
and the (3  3) rotation matrix Re in the form

pe = pe (q)
R e = R e (q )

(1)
(2)

where the quantities pe and Re characterize the position and orientation of the
end-e ector frame e (Oe {Xe Ye Ze ) with respect to a xed base frame b (Ob {
Xb Yb Zb ) (Fig. 1).
Let q_ denote the vector of joint velocities, p_ e the (3  1) vector of ende ector linear velocity , and !e the (3  1) vector of end-e ector angular velocity .
The di erential kinematics model gives the relationship between q_ and ve =
[ p_ Te !Te ]T in the form
ve = J (q)q_
(3)
where J is the (6  n) end-e ector geometric Jacobian matrix. The Jacobian
can be partitioned as


J
p
J= J
(4)
o

to separate the contributions of the joint velocities to the linear and the angular
velocity.
The angular velocity is related to the time derivative of the rotation matrix
by the notable relationship
R_ e = S (!e )Re
(5)
6

where S () is the operator performing the cross product between two (3  1)
vectors.
The dynamic model can be written in the Lagrangian form as

B (q)q + C (q; q_ )q_ + F q_ + g(q ) =  ; J T (q)h.

(6)

where B is the (n  n) symmetric and positive de nite inertia matrix, C q_ is


the (n  1) vector of Coriolis and centrifugal torques, F q_ is the (n  1) vector
of viscous friction torques, and g is the (n  1) vector of gravity torques. Also,
in (6), h = [ f T T ]T where f denotes the (3  1) vector of external ende ector force and  the (3  1) vector of external end-e ector moment where
J is de ned in (3).

2.2 Tracking control


The motion control problem for a robot manipulator can be formulated as nding the joint torques which ensure that the end e ector attains a desired position
and orientation. The usual way of solving this problem when the end e ector
is not in contact with the environment consists of two stages; rst the manipulator kinematics is inverted to compute the joint variables corresponding to the
given end-e ector 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 paper is focused on the problem of controlling the interaction between the manipulator end e ector and the environment, a di erent
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-e ector
position and orientation is computed via the kinematics relationships from the
joint measurements.
More speci cally, 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 the next subsection.
7

The dynamic model in the form (6) is represented by a set of n secondorder coupled and nonlinear di erential equations relating the joint positions,
velocities and accelerations to the joint torques and the end-e ector force and
moment. A classical strategy to control this type of mechanical system is inverse
dynamics control , which is aimed at linearizing and decoupling the manipulator
dynamics via feedback. Nonlinearities such as Coriolis and centrifugal torques,
friction torques and gravity torques can be merely cancelled by adding these
terms to the control input, while decoupling can be achieved by weighting the
control input by the inertia matrix. According to this dynamic model-based
compensation , the joint torques can be chosen as

 = B (q) + C (q; q_ )q_ + F q_ + g(q )

(7)

where it has been assumed h = 0, i.e. no interaction with the environment,


while constitutes a new control input to be properly designed.
Folding the control law (7) into the system model (6), and taking into account
that B (q) is always nonsingular, yields

q =

(8)

which constitutes a linear and decoupled system corresponding to a double


integrator between the input and the output q. The quantity represents a
resolved acceleration in terms of joint variables.
As pointed out above, the goal is to design a position control action ensuring
tracking of a desired end-e ector position trajectory as well as an orientation
control action ensuring tracking of a desired end-e ector orientation trajectory.
Since Equation (8) contains q, it is worth considering the time derivative of (3),
i.e.
v_ e = J (q )q + J_ (q; q_ )q_
(9)
which provides the relationship between the joint accelerations and the ende ector linear and angular accelerations.
At this point, the new control input in (8) can be chosen as


= J ;1 (q) a ; J_ (q; q_ )q_


8

(10)

which in view of (9) leads to

v_ e = a

(11)

where a attains the meaning of a resolved acceleration in terms of end-e ector


variables.
In deriving (10), a nonredundant manipulator (n = 6) moving in a singularityfree 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.
In view of the partition of ve , it is appropriate to partition the vector a into
its linear and angular components, i.e. a = [ aTp aTo ]T where ap and ao are
(3  1) vectors. Therefore, Equation (11) can be rewritten as

p e = ap
!_ e = ao ,

(12)
(13)

where ap and ao shall be designed so as to ensure tracking of the desired ende ector position and orientation trajectory, respectively.
The desired position trajectory is speci ed in terms of the position vector pd (t), linear velocity vector p_ d (t) and linear acceleration vector pd (t), whereas
the desired orientation trajectory is speci ed in terms of the rotation matrix Rd (t), angular velocity vector !d(t) and angular acceleration vector !_ d(t).
The quantities pd and Rd characterize the origin and the orientation of a desired
frame d .
A position error between the desired and the actual end-e ector position
can be de ned as
pde = pd ; pe
(14)
where the operator  denotes that a vector di erence has been taken, and the
double subscript denotes the corresponding frames. Then, the resolved linear
9

acceleration can be chosen as

ap = p d + K Dp p_ de + K Pp pde

(15)

where K Dp and K Pp are suitable feedback matrix gains. Substituting (15)


into (12) gives the closed-loop dynamic behavior of the position error
pde + K Dp p_ de + K Pp pde = 0.

(16)

The system (16) is exponentially stable for any choice of positive de nite K Dp
and K Pp , and thus tracking of pd and p_ d is ensured.
As regards the resolved angular acceleration, ao can be chosen in di erent
ways, depending on the de nition of end-e ector orientation error used.
The most natural way of de ning an orientation error is to consider an
expression analogous to the position error in (14), i.e.
'de = 'd ; 'e

(17)

where 'd and 'e are the set of Euler angles that can be extracted respectively
from the rotation matrices Rd and Re describing the orientation of d and e .
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

(18)

where T is the transformation matrix relating the time derivative of the Euler
angles '_ e and the end-e ector angular velocity !e , i.e.

!e = T ('e )'_ e ,

(19)

while K Do and K Po are suitable feedback matrix gains.


Substituting (18) into (13) gives the closed-loop dynamic behavior of the
orientation error
'de + K Do '_ de + K Po 'de = 0,
10

(20)

where T has been assumed to be nonsingular. The system (20) is exponentially


stable for any choice of positive de nite K Do and K Po ; tracking of 'd and '_ d
is ensured, which in turn implies tracking of Rd and !d .
The above Euler angles error becomes ill-conditioned when the actual ende ector orientation 'e becomes close to a representation singularity. In order to
overcome this drawback, an angle/axis representation of the orientation error is
obtained as
e de = sin #de e r de
(21)
2

that is the vector part of the unit quaternion that can be extracted from the
rotation matrix e Rd = RTe Rd , being #de and e rde respectively the rotation and
the unit vector corresponding to e Rd .
The resolved angular acceleration based on the quaternion error can be
chosen as
ao = !_ d + K Do !de + K Po Re e de
(22)

where the orientation error has been referred to the base frame. Substituting (22) into (13) gives the closed-loop dynamic behavior of the orientation
error
!_ de + K Do !de + K Po Re e de = 0.
(23)
A Lyapunov argument can be invoked to ascertain stability of system (23) [1].

2.3 Regulation
For certain motion tasks, it can be sucient to guarantee regulation of the end
e ector to a constant desired position pd and orientation Rd . 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 .
Mechanical intuition suggests that task space regulation can be achieved
by designing a suitable control action which realizes an equivalent force and
moment aimed at driving the end e ector toward the desired position and
orientation, i.e.
 = J T (q ) ; K D q_ + g(q ),
(24)
11

where the matrix J T is needed to compute the joint torques corresponding to


the end-e ector force and moment, and the term g is needed to compensate
for the static torques due to gravity; also in (24), the derivative term ;K D q_ ,
with K D an (n  n) positive de nite matrix gain, provides additional damping
torques at the joints which are expected to improve the transient behavior of
the system. The control based on (24) is known as proportional{derivative (PD)
control with gravity compensation .
Substituting (24) into (6) gives the closed-loop dynamic behavior of the
system in the form

B (q )q + C (q; q_ )q_ + (F + K D )q_ = J T (q ) .

(25)

In view of the partition of h, it is appropriate to partition the vector


into its force and moment components, i.e. = [ Tp To ]T 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-e ector position is speci ed in terms of the constant position
vector pd , whereas the desired end-e ector orientation is speci ed in terms of
the constant rotation matrix Rd .
The position control can be chosen as a proportional action

p = K Pp pde

(26)

where pde is de ned in (14).


As regards the orientation control , this will also be chosen as a proportional
action, but the actual expression will depend on the particular de nition of
end-e ector orientation error chosen between those illustrated in the previous
subsection.
The natural counterpart of the position control in (26) is obtained when
using the Euler angles error in (17) which leads to

o = T ;T ('e )K Po 'de

(27)

where T is de ned in (19), whereas for the quaternion error e de , the orientation
12

control action is

o = K Po Re e de .

(28)

The latter orientation control action is obviously to be preferred to the former in


view of the representation singularities associated with Euler angles. Stability
of the closed-loop system (25) with (26) and either (27) or (28) can be proven
by resorting to Lyapunov arguments [16, 15].

3 Indirect force control


In order to gain insight into the problems arising at the interaction between
the end e ector and the environment, it is worth analyzing rst the e ects of
a motion control strategy in the presence of a contact force and moment. In
the previous section, it has been shown that a static model-based compensation
control provides regulation to a desired end-e ector position and orientation,
while a dynamic model-based compensation control is needed to ensure accurate tracking of a desired end-e ector trajectory. The two control schemes are
reconsidered at the beginning of this section 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 e ector.
For the sake of illustrating the useful concepts of compliance and impedance ,
the end-e ector position and orientation is described by a (6  1) vector xe =
[ pTe '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 xd
with obvious meaning of its components. As a consequence, the end-e ector
error can be denoted as


pde .
xde = 
(29)
'
de

3.1 Compliance control


In the case of a nonnull contact force and moment (h 6= 0), the static modelbased compensation control scheme of the previous section no longer ensures
13

that the end e ector reaches its desired position and orientation. In fact, by
using the error in (29) and accounting for (26) and (27), the vector in (24)
becomes
= H ;T ('e )K P xde
(30)
where
and

K P = KOPp KOPo .


(31)

H = OI O
(32)
T ,
with T in (19) and O denoting the (3  3) null matrix. The steady state
(q_ = 0; q = 0) of the system (6) with (24) and (30) is
J T H ;T ('e )K P xde = J T h.

(33)

On the assumption of a full-rank Jacobian, Equation (33) gives


xde = K ;P 1 H T ('e )h.

(34)

Equation (34) shows that at steady state the manipulator, under a proportional
control action on the position and orientation error, behaves as a generalized
spring in respect of the force and moment h. Thus, the matrix K ;P 1 plays the
role of an active compliance , meaning that it is possible to act on the elements
of K P so as to ensure a compliant behavior during the interaction.
The selection of the elements of K P is not an easy task, since it is strongly
a ected by the characteristics of the environment. For a better understanding of
interaction between the end e ector 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.
On the other hand, the partitions of K P in (31), xde in (29) and h, as
well as the expression of H in (32), suggest separating Equation (34) into
pde = K ;Pp1 f

'de = K ;Po1 T T ('e )


14

(35)
(36)

which allow analyzing the compliant behavior of the end-e ector position separately from that of the end-e ector orientation.
The presence of the matrix T in (36) reveals that, even on the assumption
of knowing the contact moment, the actual compliance for the end-e ector orientation does depend not only on the choice of K Po but also on the choice
of the particular set of Euler angles and in turn on the current manipulator
con guration through the kinematics equation (2). Furthermore, the use of different orientation errors may bear noticeable implications as concerns the active
compliance for the rotational part, and thus the analysis is deferred to the next
section.

3.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 sti ness, leading to
impedance control .
In order to further investigate the interaction between the end e ector and
the environment, it is worth analyzing the performance of the dynamic modelbased compensation control scheme in the previous section. The inverse dynamic
control law (7) in the case of a nonnull contact force and moment (h 6= 0) leads
to
q = ; B;1 (q)J T (q)h
(37)
in lieu of (8). Equation (37) reveals the existence of a nonlinear coupling term
due to the contact force and moment. The choice of as in (10) with ap as
in (15) and ao as in (18) leads to
xde + K D x_ de + K P xde = H ;1 ('e )J (q)B ;1 (q)J T (q)h
with xde in (29), K P in (31), H in (32) and


K D = KODp KODo .
15

(38)

(39)

Equation (38) establishes a relationship through a generalized active impedance


between the contact force and moment h and the end-e ector position and
orientation error xde . This impedance can be attributed to a mechanical
system characterized by a mass matrix

M = J ;T BJ ;1 H ,

(40)

a damping matrix MK D and a sti ness matrix MK P , which allows specifying


the dynamic behavior of the end e ector.
The presence of M makes the system coupled and nonlinear. If it is wished
to keep linearity and decoupling during the interaction with the environment, it
is necessary to measure the contact force and moment; this can be achieved by
means of an appropriate force/torque sensor which is usually mounted at the
manipulator wrist. Choosing

 = B (q) + C (q; q_ )q_ + F q_ + g(q ) + J T (q)h

(41)

with as in (10),

ap = pd + K ;Mp1 (K Dp p_ de + K Pp pde ; f )


;

(42)


ao = T ('e ) ' d + K ;Mo1 (K Do '_ de + K Po 'de ; T T ('e ))


+T_ ('e ; '_ e )'_ e

(43)

with K Mp and K Mo positive de nite matrix gains, leads to

K Mp pde + K Dp p_ de + K Pp pde = f


K Mo 'de + K Do '_ de + K Po 'de = T T ('e )

(44)
(45)

on the assumption of error-free force measurements.


It is worth noticing that the addition of the term J T h in (41) exactly compensates the contact force and moment and then it renders the end e ector
in nitely sti with respect to the environment. In order to confer a compliant
behavior at the end e ector, the terms f in (42) and T T  in (43) have been introduced which allow characterizing the end e ector as a linear and decoupled
16

impedance for both the translational part in (44) with regard to the contact
force f and the rotational part in (45) with regard to the equivalent contact
moment T T .
The behavior of the system described by (44) and (45) at steady state is
analogous to that described by (35) and (36); hence, the need for the matrix T T
in (43); nonetheless, compared to the active compliance speci ed by K ;P 1 , now
Equations (44) and (45) allow specifying the end-e ector dynamics through a
six-degree-of-freedom (six-DOF) impedance, where the translational impedance
is speci ed by K Mp , K Dp and K Pp , and the rotational impedance is speci ed
by K Mo , K Do and K Po .
A block diagram of the resulting impedance control is sketched in Fig. 2.
The position and orientation control of an inverse dynamics motion control is
replaced with an impedance control which handles the measured contact force
and moment and provides the resolved acceleration as in (42) and (43). Then,
the inverse dynamics control law gives  as in (41) with as in (10).
The selection of good impedance parameters that guarantee a satisfactory
compliant behavior during the interaction may turn out to be inadequate to
ensure accurate tracking of the desired position and orientation trajectory when
the end e ector moves in free space. In fact, by stacking the two equations (44)
and (45) and accounting for the presence of a disturbance d in terms of ende ector acceleration yields

K M xde + K D x_ de + K P xde = H T ('e )h + K M H ;1 ('e )d


with

K M = KOMp KOMo .

(46)
(47)

An e ective disturbance rejection , at least at steady state, can be achieved by


choosing a low weight for the matrix K ;P 1 K M which corresponds to a sti
control action with an equivalent light mass at the end e ector. Such a feature
can eventually con ict with the desire of guaranteeing a compliant behavior
when the end e ector is in contact with a rather sti environment.
17

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 sti so as to enhance disturbance rejection but,
rather than ensuring tracking of the desired end-e ector 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 speci ed by pd and Rd. This frame is referred to as the compliant frame c , and is speci ed by a position vector pc and
a rotation matrix Rc . In this way, the inverse dynamics motion control strategy
can be still adopted as long as the actual end-e ector position pe and orientation Re is taken to coincide with pc and Rc in lieu of pd and Rd , respectively.
Accordingly, the actual end-e ector linear velocity p_ e and angular velocity !e
are taken to coincide with p_ c and !c, respectively.
A block diagram of the resulting scheme is sketched in Fig. 3 and reveals the
presence of an inner motion control loop with respect to the outer impedance
control loop.
The remainder of this subsection 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 equations (44) and (45).
The mutual position between d and c can be described by the position
displacement
pdc = pd ; pc
(48)
which has been referred to the base frame.
In view of (44), the translational impedance equation is chosen so as to enforce an equivalent mass-damper-spring behavior for the position displacement
18

when the end e ector exerts a force f on the environment, i.e.

M p pdc + Dp p_ dc + K p pdc = f ;

(49)

where M p , Dp and K p are positive de nite matrices.


With reference to the scheme in Fig. 3, the three-DOF impedance control
generates the reference position for the inner motion control. Therefore, in
order to allow the implementation of the complete control scheme, the linear
acceleration to be used in lieu of (42) shall be designed to track the position
and the linear velocity of c , i.e.

where

ap = pc + K Dp p_ ce + K Pp pce

(50)

pce = pc ; pe

(51)

is the position error between c and e . Notice that pc and its associated
derivatives can be computed by forward integration of the translational impedance
equation (49) with input f available from the force/torque sensor.
As far as the rotational impedance is concerned, the analysis depends on the
particular type of representation for the orientation displacement between d
and c .
In view of (45), the rotational impedance equation based on the Euler angles
displacement is

M o 'dc + Do'_ dc + K o 'dc = T T ('c ),

(52)

where M o , Do and K o are positive de nite matrices describing the generalized


inertia, rotational damping, rotational sti ness, respectively, and
'dc = 'd ; 'c .

(53)

Notice that, di erently from (49), 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
19

the base frame through the matrix T T ('c). Moreover, Equation (52) becomes
ill-de ned in the neighborhood of a representation singularity; in particular, at
such a singularity, moment components in the null space of T 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.
Equation (52) de nes the dynamic behavior between d and c in terms
of a rotational impedance. Therefore, in order to allow the implementation of
the complete six-DOF impedance control with inner motion loop in Fig. 3, the
angular acceleration ao shall be designed to track the orientation and angular
velocity of c . With reference to the Euler angles error used in (18), the angular
acceleration is taken as

where

ao = T ('e ) ('c + K Do '_ ce + K Po 'ce ) + T_ ('e ; '_ e )'_ e

(54)

'ce = 'c ; 'e

(55)

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 (52) with input  available from the force/torque sensor.
In order to overcome the drawbacks concerned with Euler angles, the rotational impedance equation based on the unit quaternion can be introduced
as
M o c !_ dc + Do c !dc + K 0o c dc = c ,
(56)
where c dc is the vector part of the quaternion that can be extracted from c Rd =
RTc Rd . The rotational sti ness matrix in (56) is

with

K 0o = 2E T (dc ; c dc)K o

(57)

E (dc ; cdc ) = dcI ; S (c dc).

(58)

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
20

be e ectively 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 a unit quaternion representation of
the orientation, 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 e ector, i.e. with no need of a transformation
matrix depending on the actual end-e ector orientation. More importantly, the
property of task geometric consistency can be shown [2], i.e. the rotational sti ness matrix K o can be expressed in terms of three parameters representing the
sti ness about three principal axes. As a consequence, an elastic moment about
such an axis produces an orientation displacement about the same axis.
For the implementation of the inner motion loop in Fig. 3, with reference to
the quaternion error used in (22), the angular acceleration is taken as

ao = !_ c + K Do !ce + K Po Re e ce .

(59)

Notice that Rc, !c and !_ c can be computed by forward integration of the


rotational impedance equation (56).

4 Direct force control


In the previous section, an indirect control of the contact force has been achieved
by suitably controlling the end-e ector motion. In this way, it is possible to
ensure limited values of the contact force for a given rough estimate of the environment sti ness. Certain interaction tasks, however, do require the ful llment
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 e ector; such a strategy would be e ective only on the assumption
that an accurate estimate of the contact sti ness is available.
A radically di erent approach consists in designing a direct force control
which operates on a force error between the desired and the measured values.
21

On the other hand, in the previous section 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-e ector dynamics
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.
The realization of a force control scheme can be entrusted to the closure of
an outer force control loop generating the reference input to the motion control
scheme the robot manipulator is usually endowed with. Therefore, direct force
control schemes are presented below which are logically derived from the motion
control schemes using a static model-based compensation and a dynamic modelbased compensation, respectively. In this respect, it should be stressed that the
force control problem basically requires regulation of the contact force to a
constant desired value.

4.1 Force regulation


Let f d and d denote the constant desired contact force and moment. With
reference to the static model-based compensation in (24), the vectors p and o
can be chosen as

p = K Pp pce + f d
o = T ;T ('e )K Po 'ce + d

(60)
(61)

with pce in (51) and 'ce in (55). Notice that pc and 'c represent the position
and orientation of a compliant frame c which shall be determined through a
proper force and moment control action. The terms f d in (60) and d in (61)
represent a force and moment feedforward aimed at creating the presence of a
force and moment error as
f = f d ; f

 = d ; 
22

(62)
(63)

in the closed-loop equation of the system. Then, the vectors pc and 'c can be
chosen as a proportional{integral (PI) control on the force and moment error,
i.e.


pc = K ;Pp1 K Fp f + K Ip


'c = K ;Po1 K Fo  + K Io

f d&
d&

(64)
(65)

where K Fp , K Ip , K Fo and K Io are suitable positive de nite matrix gains.


Notice that Equations (64) and (65) set an outer control loop on the contact
force and moment, with respect to the inner control loop on the end-e ector
position and orientation in (60) and (61). To this regard, K ;Pp1 in (64) and K ;Po1
in (65) have been introduced in order to make the resulting force and moment
control actions in (60) and (61) independent of the choice of the proportional
gain on the position and orientation, respectively.
On the assumption that the desired contact force and moment are assigned
so that they have nonnull components only along the constrained task directions,
the control scheme based on (60), (61), (64) and (65) gives at steady state

f1 = fd
1 = d

(66)
(67)

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.
In order to enhance the performance of the system during the transient, it
is worth considering dynamic model-based compensation as in (41) with as
in (10). With reference to (50) and (54), the linear and angular accelerations
can be respectively chosen as

ap = ;K Dp p_ e + K Pp pce
23

(68)

ao = T ('e ) (;K Do '_ e + K Po 'ce ) + T_ ('e ; '_ e )'_ e

(69)

where pc and 'c are given in (64) and (65). Notice that, di erently from (50)
and (54), no feedforward of the linear and angular velocity and acceleration
of c has been used since the goal is simply to achieve force regulation. As
above, at steady state, the contact force and moment are taken to the desired
values assuming that these are assigned consistently with the constrained task
directions.
A block diagram of the resulting force and moment control scheme with
dynamic model-based compensation is sketched in Fig. 4 where the presence
of the inner motion control loop has been evidenced. Also, the orientation
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, the
impedance control is replaced with a force and moment control which generates
the position and orientation of c according to (64) and (65).

4.2 Force and motion control


With the adoption of a direct force control strategy, regulation of the contact
force has been obtained at the expense of loss of control of the end-e ector
motion. Nevertheless, it would be desirable to recover motion control along the
unconstrained task directions while ensuring force control along the constrained
task directions. This goal can be achieved only if a detailed description of the
geometry of the environment is available. If that is not the case, an e ective
strategy can be pursued where control of both force and motion is carried out
in all task directions; the control actions are to be designed on the basis of a
simpli ed model of the environment while providing some sort of robustness to
uncertainty. This is the underlying philosophy of the so-called parallel control
approach described hereafter. In view of the diculties concerned with contact
modeling, the problem of force and position control is treated separately from
that of moment and orientation control.
The idea of parallel control is to compose the compliant position in (64) with
24

the desired position as

pr = pc + pd

(70)

and input this reference position pr , in lieu of pc , to the static model-based


compensation control action in (60), i.e.

p = K Pp (pr ; pe ) + f d.

(71)

Then, the control law (24) can be rewritten in terms of the quantities involving
force and position only, i.e.

 = J Tp (q) p ; K D q_ + g(q ),

(72)

which, in view of (70) and (71), shall allow recovering regulation of the desired
end-e ector position along the unconstrained task directions if the force error
in (64) acts only along the constrained task directions [4].
On the other hand, tracking of a desired time-varying position can be achieved
by using a dynamic model-based compensation. To this purpose, the linear acceleration in (68) can be modi ed as

ap = p r + K Dp (p_ r ; p_ e ) + K Pp (pr ; pe )

(73)

where pr as in (70) and thus

p_ r = p_ c + p_ d
p r = p c + p d .

(74)
(75)

Also pc in (70) is the solution to the di erential equation

K Ap pc + K V p p_ c = f

(76)

with pc (0) = 0, K Ap = kAp I and K V p = kV p I . It is worth pointing out that


pc resulting from integration of (76) provides an integral control action on the
force error. This guarantees regulation of the contact force to the desired value
along the constrained task direction, and tracking of the desired end-e ector
position along the unconstrained task directions [5].
25

A block diagram of the resulting force and position control scheme is sketched
in Fig. 5, where the parallel composition is evidenced and the force control
generates the velocity and acceleration of the origin of the compliant frame
as in (76) 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.
The strategy just presented for force and position control can be conceptually
pursued also for moment and orientation control , leading to the block diagram
of the control scheme in Fig. 6, where rotation matrices have been conventionally
indicated to represent orientation of relevant frames.

5 Conclusion
In order to validate the theoretical ndings, all the force control schemes presented throughout the paper have been tested in a number of experiments for
representative interaction tasks, as extensively described in [15]. 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 punch line is that the eld is mature for a transfer of know-how from
the academic to the industrial community. In this respect, encouraging signals are coming from leading industrial robot manufacturers and some product
embedding a force sensor is already on the market. The challenge is there!

26

Acknowledgements
This paper is largely based on [15]. The work was supported by Ministero
dell'Universita e della Ricerca Scienti ca e Tecnologica .

References
[1] Caccavale, F., Natale, C., Siciliano, B., and Villani, L. (1998). Resolvedacceleration control of robot manipulators: A critical review with experiments. Robotica , 16:565{573.
[2] Caccavale, F., Natale, C., Siciliano, B., and Villani, L. (1999). Six-DOF
impedance control based on angle/axis representations. IEEE Trans. on
Robotics and Automation , 15:289{300.
[3] 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.
[4] Chiaverini, S., Siciliano, B., and Villani, L. (1994). Force/position regulation of compliant robot manipulators. IEEE Trans. on Automatic Control ,
39:647{652.
[5] 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.
[6] 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.
[7] 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.
27

[8] Hogan, N. (1985). Impedance control: An approach to manipulation: Parts


I|III. ASME J. of Dynamic Systems, Measurement, and Control , 107:1{
24.
[9] McClamroch, N.H. and Wang, D. (1988). Feedback stabilization and tracking of constrained robots. IEEE Trans. on Automatic Control , 33:419{426.
[10] 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.
[11] Paul, R. and Shimano, B. (1976). Compliance and control. In Proc. 1976
Joint Automatic Control Conf., San Francisco, CA, pp. 694{699.
[12] 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.
[13] Salisbury, J.K. (1980). Active sti ness control of a manipulator in Cartesian coordinates. In Proc. 19th IEEE Conf. on Decision and Control , Albuquerque, NM, pp. 95{100.
[14] Sciavicco, L. and Siciliano, B. (2000). Modelling and Control of Robot Manipulators . 2nd Ed., Springer-Verlag, London.
[15] Siciliano, B. and Villani, L. (1999). Robot Force Control . Kluwer Academic
Publishers, Boston, MA.
[16] Takegaki, M. and Arimoto, S. (1981). A new feedback method for dynamic
control of manipulators. ASME J. of Dynamic Systems, Measurement, and
Control , 102:119{125.
[17] Whitney, D.E. (1987). Historical perspective and state of the art in robot
force control. Int. J. of Robotics Research , 6(1):3{14.

28

[18] Yoshikawa, T. (1987). Dynamic hybrid position/force control of robot


manipulators|Description of hand constraints and calculation of joint
driving force. IEEE J. of Robotics and Automation , 3:386{392.

29

Figure Captions
Fig. 1. Schematic of an open-chain robot manipulator with base frame and
end-e ector frame.
Fig. 2. Impedance control.
Fig. 3. Impedance control with inner motion control loop.
Fig. 4. Force and moment control with inner motion control loop.
Fig. 5. Force and position control with parallel composition.
Fig. 6. Moment and orientation control with parallel composition.

30

ne
se

q4
q3

q2

q1

pe
Zb

Ob
Xb

Yb

Figure 1:

31

ae

pd Rd
pd !d
pd !d
;

; _

IMPEDANCE
CONTROL

pe Re
pe !e
;

INVERSE
DYNAMICS

DIRECT
KINEMATICS

Figure 2:

32

f
q
q
;

MANIPULATOR
& ENVIRONMENT

pd Rd
pd ! d
pd ! d
;

; _

pc R c
pc !c
pc !c
;

IMPEDANCE
CONTROL

POS & ORIENT

 ; _

CONTROL

p e Re
pe !e

INVERSE
DYNAMICS

DIRECT
KINEMATICS

Figure 3:

33

f
q
q
;

MANIPULATOR
& ENVIRONMENT

f d d
;

FORCE & MOM


CONTROL

pc Rc
;

POS & ORIENT


CONTROL

pe Re
pe !e

INVERSE
DYNAMICS

DIRECT
KINEMATICS

Figure 4:

34

f
q
q
;

MANIPULATOR
& ENVIRONMENT

pd pd pd


fd

FORCE
CONTROL

pc
pc
pc

PARALLEL

COMPOSITION

pr
pr
pr
_

POSITION

CONTROL

ap

INVERSE
DYNAMICS

pe
pe
_

Figure 5:

35

DIRECT
KINEMATICS

MANIPULATOR
& ENVIRONMENT

f
q
q
_

!dc ! dc Rdc
_

d

MOMENT
CONTROL

Rc
!c
!c
_

PARALLEL
COMPOSITION

Rr
!r
!r
_

ao

ORIENTATION
CONTROL

INVERSE
DYNAMICS

Re
!e

Figure 6:

36

DIRECT
KINEMATICS

MANIPULATOR
& ENVIRONMENT


q
q
_

You might also like