Professional Documents
Culture Documents
From Indirect To Direct Force Control: A Roadmap For Enhanced Industrial Robots
From Indirect To Direct Force Control: A Roadmap For Enhanced Industrial Robots
From Indirect To Direct Force Control: A Roadmap For Enhanced Industrial Robots
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.
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 eector 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 stiness 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 eector 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 eector, 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
2 Motion control
Completion of a generic robot task requires the execution of a specic motion
prescribed to the manipulator end eector. The motion can be either unconstrained, if there is no physical interaction between the end eector and the
environment, or constrained if contact forces arise between the end eector and
5
the environment.
The correct execution of the end-eector 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-eector 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 endeector linear velocity , and !e the (3 1) vector of end-eector angular velocity .
The dierential 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-eector 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
(6)
The dynamic model in the form (6) is represented by a set of n secondorder coupled and nonlinear dierential equations relating the joint positions,
velocities and accelerations to the joint torques and the end-eector 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
(7)
q =
(8)
(10)
v_ e = a
(11)
p e = ap
!_ e = ao ,
(12)
(13)
where ap and ao shall be designed so as to ensure tracking of the desired endeector position and orientation trajectory, respectively.
The desired position trajectory is specied 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 specied 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-eector position
can be dened as
pde = pd ; pe
(14)
where the operator denotes that a vector dierence has been taken, and the
double subscript denotes the corresponding frames. Then, the resolved linear
9
ap = p d + K Dp p_ de + K Pp pde
(15)
(16)
The system (16) is exponentially stable for any choice of positive denite 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 dierent
ways, depending on the denition of end-eector orientation error used.
The most natural way of dening 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
;
(18)
where T is the transformation matrix relating the time derivative of the Euler
angles '_ e and the end-eector angular velocity !e , i.e.
!e = T ('e )'_ e ,
(19)
(20)
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
eector 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 eector toward the desired position and
orientation, i.e.
= J T (q )
; K D q_ + g(q ),
(24)
11
(25)
p = K Pp pde
(26)
o = T ;T ('e )K Po 'de
(27)
where T is dened in (19), whereas for the quaternion error e de , the orientation
12
control action is
o = K Po Re e de .
(28)
that the end eector 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)
(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
aected by the characteristics of the environment. For a better understanding of
interaction between the end eector 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
(35)
(36)
which allow analyzing the compliant behavior of the end-eector position separately from that of the end-eector 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-eector 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
conguration 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.
K D = KODp KODo .
15
(38)
(39)
M = J ;T BJ ;1 H ,
(40)
(41)
with as in (10),
(42)
(43)
(44)
(45)
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 specied by K ;P 1 , now
Equations (44) and (45) allow specifying the end-eector dynamics through a
six-degree-of-freedom (six-DOF) impedance, where the translational impedance
is specied by K Mp , K Dp and K Pp , and the rotational impedance is specied
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 eector 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 endeector acceleration yields
K M = KOMp KOMo .
(46)
(47)
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-eector 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 specied by pd and Rd. This frame is referred to as the compliant frame c , and is specied 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-eector position pe and orientation Re is taken to coincide with pc and Rc in lieu of pd and Rd , respectively.
Accordingly, the actual end-eector 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
(49)
where
(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
(52)
(53)
Notice that, dierently 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-dened 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) denes 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
(54)
(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 stiness matrix in (56) is
with
K 0o = 2E T (dc ; c dc)K o
(57)
(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
ao = !_ c + K Do !ce + K Po Re e ce .
(59)
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-eector 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.
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)
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)
(69)
where pc and 'c are given in (64) and (65). Notice that, dierently 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).
pr = pc + pd
(70)
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-eector 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 modied as
ap = p r + K Dp (p_ r ; p_ e ) + K Pp (pr ; pe )
(73)
p_ r = p_ c + p_ d
p r = p c + p d .
(74)
(75)
K Ap pc + K V p p_ c = f
(76)
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 Scientica 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
28
29
Figure Captions
Fig. 1. Schematic of an open-chain robot manipulator with base frame and
end-eector 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
; _
CONTROL
p e Re
pe !e
INVERSE
DYNAMICS
DIRECT
KINEMATICS
Figure 3:
33
f
q
q
;
MANIPULATOR
& ENVIRONMENT
f d d
;
pc Rc
;
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
_