You are on page 1of 12

Integration for

the Next Generation


Embedding Force Control into Industrial Robots

BY FABRIZIO CACCAVALE, CIRO NATALE,


BRUNO SICILIANO, AND LUIGI VILLANI

R
esearch on robot force control has flourished
in the past two decades. Such wide interest is
motivated by the general desire of providing
robotic systems with enhanced sensory capa-
bilities. Robots using force, touch, distance, and
visual feedback are expected to autonomously operate in
unstructured environments other than the typical industrial
shop floor.
When the robot executes a task involving interaction with the
environment, the use of a purely motion control strategy turns out to © 1996, 1997 DIGITAL STOCK

be inadequate. The adoption of force feedback may avoid the rise of the
contact forces and/or 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 (e.g., the fingers of a dexterous robot hand) are controlled to limit the
exchanged forces and to avoid squeezing of a commonly held object.
Control of the interaction between a robot manipulator and the environment is crucial for the successful
execution of a number of industrial tasks where the robot end effector must manipulate an object or per-
form some operation on a surface. Typical examples include polishing, deburring, machining, or assembly.
A complete classification of possible robot tasks is impractical in view of the large variety of cases that may
occur, nor would such a classification be useful in finding a general strategy to control interaction with the
environment. During interaction, the environment sets constraints on the geometric paths that can be fol-
lowed by the end effector. In such a case, the use of a purely motion control strategy for controlling interac-
tion is a candidate for failure, as explained in the following.
Successful execution of an interaction task with the environment by using 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 determined with enough accuracy, but a detailed description of the environ-
ment is often difficult to obtain.
To understand the importance of task planning accuracy, it is sufficient to observe that to perform a
mechanical parts mating with a positional approach, the relative positioning of the parts should be guaranteed

SEPTEMBER 2005 1070-9932/05/$20.00©2005 IEEE IEEE Robotics & Automation Magazine 53


Authorized licensed use limited to: UNIVERSIDADE DE BRASILIA. Downloaded on September 11,2023 at 15:00:42 UTC from IEEE Xplore. Restrictions apply.
position error is related to the contact force through a
An industrial setup with open mechanical stiffness or impedance with adjustable parame-
control architecture is considered a ters. A robot manipulator under impedance control is
described by an equivalent mass-spring-damper system with
paradigm for the implementation of the contact force as input. The resulting impedance in the
various task space directions is typically nonlinear and cou-
interaction control. pled. If a force/torque sensor is available, then force mea-
surements can be used in the control law to achieve a linear
and decoupled impedance.
with an accuracy of an order of magnitude greater than the If a detailed model of the environment is available, a widely
parts’ mechanical tolerance. Once the absolute position of one adopted strategy belonging to the second category is the
part is exactly known, the manipulator should guide the hybrid position/force control, which aims to control position
motion of the other with the same accuracy. along the unconstrained task directions and force along the
In practice, due to planning errors, the manipulator may constrained task directions. A selection matrix acting on both
attempt to violate the constraints imposed by the environ- desired and feedback quantities serves this purpose for typically
ment. This gives rise to a contact force and a deviation of the planar contact surfaces [16], whereas the explicit constraint
end effector from the desired trajectory. On the other hand, equations have to be taken into account for general curved
the control system reacts to reduce such deviation. This ulti- contact surfaces [23], [11], [12].
mately leads to a buildup of the
contact force until saturation of
the joint actuators is reached or a Desired
breakage of the parts in contact Trajectory
occurs. The higher the environ-
ment stiffness and position control Desired Reference Joint Contact
accuracy are, the easier a situation Force Interaction Trajectory Torques Manipulator Force
Motion
and
like the one described can occur. Control Control
Environment
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 Figure 1. The interaction control architecture.
between the manipulator end
effector and the environment, or in an active fashion, by In most practical situations, a detailed model of the envi-
devising a suitable interaction control strategy. ronment is not available. In such a case, an effective strategy
The contact force is the quantity describing the state of still in the second category is the motion/force control
interaction in the most complete fashion. Therefore, it is obtained by closing a force control loop around a motion
expected that enhanced performance can be achieved, pro- control loop [8]. In order to embed the possibility of con-
vided that force measurements are available. For this purpose, trolling motion along the unconstrained task directions, the
a force/torque sensor can be mounted on a robot manipula- desired end-effector motion can be input to the motion
tor, typically between the wrist and the end effector, and its control loop. The resulting parallel control is composed of a
readings shall be passed to the robot control unit via a suit- force control action and a motion control action, where the
able interface. former is designed to dominate the latter in order to ensure
Robot force control has attracted a wide number of force control along the constrained task directions [4].
researchers in the past two decades. A state of the art of the This article is aimed at presenting interaction control
first decade is provided in [22]; the progress of the last decade schemes suitable for the implementation on industrial robot
is surveyed in [7] and in the monographs [20] and [14]. control units. In particular, the focus is on impedance control
Interaction control strategies can be grouped into two cat- and parallel control, which are conceived to manage the
egories: those performing indirect force control and those interaction with a more or less compliant environment with-
performing direct force control. The main difference between out requiring an accurate model thereof. All the considered
the two categories is that the former achieves force control via schemes are based on an inner motion control loop, which
motion control without imposing a force set-point; the latter, can be the usual independent joint control of PID type or an
however, offers the possibility of controlling the contact force advanced model-based motion control law with superior
to a desired value. tracking performance. The inner motion control loop is in
To the first category belong compliance (or stiffness) charge of tracking the reference trajectory computed by the
control [15], [17] and impedance control [10], where the outer interaction control loop.

54 IEEE Robotics & Automation Magazine SEPTEMBER 2005


Authorized licensed use limited to: UNIVERSIDADE DE BRASILIA. Downloaded on September 11,2023 at 15:00:42 UTC from IEEE Xplore. Restrictions apply.
Special emphasis is given to pd
+
controlling 6-degrees-of-freedom + pc = pr
(DOF) interaction tasks involving
the end-effector position and ori- pd
+
entation when a contact force and + pc = pr
moment is applied.
Finally, an industrial setup with pd
+
open control architecture is consid- f + + ∆pdc ∆pdc ∆pdc + pc = pr
Mp−1 ∫ ∫
ered as a paradigm for the imple- − −
mentation of interaction control.
Namely, the COMAU Smart-3 S
industrial robot with an open ver- Dp
sion of the C3G 9000 control unit
is considered. The manipulator is
equipped with a six-axis
Kp
force/torque sensor ATI FT30-100
mounted at the arm’s wrist.
Figure 2. Impedance control: the translational part.
Interaction Control
Schemes
The realization of an
interaction control ωd
scheme can be entrusted + ωc = ωr
+
to the closure of an ωd
outer force control loop + ωc = ωr
+
generating the reference
Qd
input to the motion
µ + + ∆ωdc ∆ωdc Q Qc = Qr
control loop, which is Quaternion dc
Mo−1 ∫
Propagation
∫ *
available on every − −
industr ial robot. In
detail, the inner motion
control loop operates to Do
ensure tracking of a ref-
erence trajectory, which
Ko'
is computed by a cen-
tralized outer loop act-
ing on the force error.
Figure 3. Impedance control: the rotational part.
A schematic of this
control strategy is repre-
sented in Figure 1. The outer interaction control is in charge
of computing a suitable reference end-effector trajectory, pe = pe (q) (1)
which ensures a compliant behavior of the manipulator when
Re = Re (q), (2)
the end effector interacts with an external environment;
tracking of this reference trajectory is guaranteed by the inner
motion control. where the quantities pe and Re characterize the position and
Depending on the adopted interaction control strategy, the orientation of the end-effector frame e with respect to a
reference trajectory is computed on the basis of the desired fixed base frame b . At the industrial level, alternative repre-
motion trajectory and of a desired dynamic behavior (as for sentations of the end-effector orientation are adopted, namely,
impedance control) or on the basis of a desired force and minimal representations such as Euler angles or nonminimal
moment and a desired motion trajectory (as for parallel control). representations such as the unit quaternion. Hereafter, the
In order to further investigate the different interaction unit quaternion is adopted, since it avoids representation sin-
control schemes, the kinematic model of the manipulator gularities and possesses a clear geometrical meaning. The unit
must be introduced. For an open-chain robot manipulator, quaternion is defined as
the relationship of the (n × 1) joint vector q with the
(3 × 1) position vector pe and with the (3 × 3) rotation
Qe = {ηe ,  e },
matrix Re has the form

SEPTEMBER 2005 IEEE Robotics & Automation Magazine 55


Authorized licensed use limited to: UNIVERSIDADE DE BRASILIA. Downloaded on September 11,2023 at 15:00:42 UTC from IEEE Xplore. Restrictions apply.
with where Mp , Dp and Kp are positive definite matrices.
The rotational part of the impedance equation can be
θ
ηe = cos (3) chosen as
2
θ
 e = sin r, (4) ω d c + Do  c ω d c + Ko c  d c = c µ,
Mo  c ω̇ (6)
2

where c µ is the moment exerted by the end effector on the


where θ is the rotation angle about the axis whose unit vector environment refer red to the frame  c , and
is r required to align the base frame to the end-effector frame.  c ω d c = c ω d − c ω c , being c ω d ( c ω c ) the angular velocity of
Further details on unit quaternions and their use in force-con- the frame  d ( c ) referred to the frame  c . The quantity
trol applications can be found, e.g., in [14] and references c
 d c is the vector part of the quaternion Q d c = Q−1 c ∗ Qd
therein. (see, e.g., [14] for the definition of the inverse operator and
the composition operator ∗). The rotational stiffness matrix in
(6) is
pd
pc + + pr
pd Ko = 2ET (η d c , c  d c )Ko (7)
pc + + pr
pd with
∆f + pc + + pr
kAf ∫ ∫ E(η d c , c  d c ) = η d c I − S( c  d c ), (8)

η d c being the scalar part of Q d c and S(·) the skew symmetric


kVf operator [18].
It is worth remarking that for (7), the property of task geo-
metric consistency can be shown [3], i.e., the rotational stiff-
Figure 4. Parallel force/position control: the translational part.
ness matrix Ko can be expressed in terms of three parameters
representing the stiffness about three principal axes. As a con-
Therefore, hereafter, the desired motion trajectory for the sequence, an elastic moment about such an axis produces an
end effector is specified in terms of the position p d and orien- orientation displacement about the same axis.
tation Q d of a desired frame  d , while the reference trajectory The block diagrams of the impedance controllers for the
for the inner motion controller is indicated with the position translational and rotational part are reported in Figures 2 and 3,
p r and with the orientation Q r of a reference frame  r . respectively. Notice that the position and orientation trajectory
for the compliant frame  c coincides with the position and
Impedance Control orientation trajectory of the reference frame  r to be tracked
Impedance control is designed to achieve a desired dynamic by the inner motion controller. Moreover, in Figure 3, the
behavior of the interaction, i.e., a mechanical impedance usu- quaternion propagation rule [14] is used to relate the angular
ally described by a mass-spring-damper system. velocity to the time derivative of the unit quaternion.
In order to implement this strategy, the position and orien-
tation of the desired frame, together with the measured con- Parallel Force/Position Control
tact force and moment, are input to the impedance controller, The objective of the parallel force/position control is to regulate
which generates the position p c and orientation Q c of a com- the contact force and moment to a desired value assigned along
pliant frame  c , describing the end-effector behavior corre- the constrained directions and is to track a desired position and
sponding to the desired impedance. In detail, a suitable orientation trajectory assigned along the unconstrained directions.
impedance equation is designed between the contact force To realize this strategy, the desired force and moment,
and moment and the displacement of the desired frame  d together with the measured contact force and moment, are
with respect to the compliant frame  c . input to the force controller, which generates the position and
The translational part of the impedance equation is chosen orientation trajectory for the compliant frame  c ; these are
to enforce an equivalent mass-damper-spring behavior for the composed with the desired position and orientation trajectory
position displacement p d c = p d − p c when the end effector to compute the position and orientation trajectory for the ref-
exerts a force f on the environment, i.e., erence frame  r to be tracked by the inner motion controller.
Notice that both force and motion are controlled in all
task directions; thus, the control actions can be designed on
Mp p̈ d c + Dp ṗ d c + Kp p d c = f , (5) the basis of a simplified model of the environment, providing
robustness to uncertain environment knowledge.

56 IEEE Robotics & Automation Magazine SEPTEMBER 2005


Authorized licensed use limited to: UNIVERSIDADE DE BRASILIA. Downloaded on September 11,2023 at 15:00:42 UTC from IEEE Xplore. Restrictions apply.
The objective of the parallel desired end-effector position along the unconstrained task
directions [6].
force/position control is to regulate With regard to the rotational part, the parallel composition
is defined as
the contact force and moment to a
desired value assigned along the
constrained directions. Q r = Q c ∗ Qd c (13)
c
ω r = c ω c + cω d c (14)
c
ω̇
ω r = cω̇
ω c + cω̇
ωd c , (15)

For the translational part, the idea of parallel control is to


compose the position p c computed by the force controller
with the desired position as where Q d c , ω d c and ω̇ω d c represent the desired rotational
motion. The double subscript indicates that such a motion
shall be assigned as a relative motion with respect to the com-
p r = pc + pd . (9) pliant frame  c . The rotational motion of  c is computed by
solving the differential equation

The corresponding reference velocity and acceleration are


computed as kAm c ω̇
ω c + kVm c ω c =  c µ, (16)

ṗ r = ṗ c + ṗ d (10)
p̈ r = p̈ c + p̈ d . (11) with kAm > 0 and kVm > 0. Similar to the translational part
of the controller, Q c is computed by integrating (16) with the
quaternion propagation rule, thus providing an integral con-
trol action on the moment error.
The block diagrams of the force and moment controllers
The displacement p c in (9) is the solution to the differential are sketched in Figures 4 and 5, where the parallel composi-
equation tion is evidenced.

Motion Control Schemes


kA f p̈ c + kV f ṗ c = f , (12) The interaction control schemes presented above require the
presence of an inner motion control loop, which can be real-
ized according to different architectures.
with kA f > 0 and kV f > 0. It is worth pointing out that
the position p c resulting from integration of (12) provides Independent Joint Control
an integral control action on the force error. This guaran- The basic solution for an industrial control architecture is
tees regulation of the contact force to the desired value represented in Figure 6, where the inner loop is the native
along the constrained task directions and tracking of the position control for each joint. In detail, the inner motion

ωdc
ωc + + ωr
ωdc
ωc + + ωr

Qdc
∆µ + Quaternion Qc Qr
kAm ∫ ∫ *
Propagation

kVm

Figure 5. Parallel force/position control: the rotational part.

SEPTEMBER 2005 IEEE Robotics & Automation Magazine 57


Authorized licensed use limited to: UNIVERSIDADE DE BRASILIA. Downloaded on September 11,2023 at 15:00:42 UTC from IEEE Xplore. Restrictions apply.
pd , Q d

fd , µd Interaction pr ,Qr Inverse


qr Joint τ q f, µ
Position Manipulator Environment
Control Kinematics
Control

Force
Sensor

Figure 6. Interaction control with inner joint-space motion control loop.

pd ,Qd pd ,ωd pd ,ωd

pr, Qr
fd ,µd Interaction pr, ωr Motion τ q f, µ
Manipulator Environment
Control pr, ωr Control

pe,Qe Direct
Kinematics

Force
Sensor

Figure 7. Interaction control with inner task-space motion control loop.

loop, for each joint, operates to ensure tracking of a refer- trajectory, both at Cartesian level and at joint level, at a fixed
ence trajectory, which is computed by the centralized inter- sampling rate. It is well known that a bandwidth of the inner
action controller. position loop much higher than the bandwidth of the outer
The resulting reference trajectory in the Cartesian space, force control loop is a requirement for closed-loop stability.
expressed in terms of position p r and orientation Q r , must be Despite the wide bandwidth guaranteed by the inner joint
translated into the corresponding motion trajectory in the motion loop of many industrial controllers, most of these
joint space q r . This is accomplished by resorting to a suitable implementations require a few sampling time intervals before
inverse kinematics algorithm, which can be implemented, the correction to the planned trajectory can be actuated.
e.g., in a closed-loop fashion [19]. If the inner motion loop This is imputed to the cascaded control structure of the joint
requires velocity and acceleration feedforward actions, a sec- servo loop, which contains several inner loops, i.e., current,
ond-order closed-loop inverse kinematics algorithm can be velocity, and position loops, which convey to the servo sys-
adopted [1], [5]. tem very good tracking performance.
This solution can be easily implemented on a standard In fact, the cascaded structure causes a finite dead time on
industrial robot control unit, which already possesses most of the input of the motion-controlled robot; this negatively
the functionalities required by the control scheme, namely a affects the stability of the closed-loop system and unavoidably
joint position control loop and the inverse kinematics algo- limits the performance of the force control loop [13]. Hence,
rithm. In fact, some open control architectures that are com- it is worth pursuing further performance improvements of
mercially available allow the user to correct a planned the inner motion loop.

58 IEEE Robotics & Automation Magazine SEPTEMBER 2005


Authorized licensed use limited to: UNIVERSIDADE DE BRASILIA. Downloaded on September 11,2023 at 15:00:42 UTC from IEEE Xplore. Restrictions apply.
Resolved Joint Acceleration Control the output q. The quantity α is the new control input to be
By keeping the same architecture depicted in Figure 6, a designed to achieve tracking of a reference end-effector
possible solution to overcome the limits of the independent position and orientation trajectory. The usual way of solving
joint control consists of the adoption of a model-based inner this problem consists of two stages. First, the manipulator
position control loop. The aim is to linearize and decouple inverse kinematics is computed to provide the vector of
the manipulator dynamics, thus allowing the design of inter- joint variables q r corresponding to the given end-effector
action control strategies with enhanced performances. position and or ientation. Then, the tracking of q r is
The modeling of a robot manipulator is, therefore, a nec- achieved by choosing α as
essary premise to designing model-based control strategies.
The dynamic model of an n-joint robot manipulator can be
written in the Lagrangian form as α = q̈ r + KD q q̇ re + K P q q re (21)

B(q)q̈ + C(q, q̇)q̇ + F q̇ + g(q) = τ − J T (q)h, (17) Notice that this algorithm requires both velocity and accelera-
tion feedforward actions, therefore the most suitable inverse
kinematics algorithm is the second-order strategy [2].
where B is the (n × n) symmetric and positive definite
inertia matrix, Cq̇ is the (n × 1) vector of Coriolis and Resolved Task-Space Acceleration Control
centrifugal torques, F q̇ is the (n × 1) vector of viscous fric- The alternative architecture sketched in Figure 7 is based on
tion torques, and g is the (n × 1) vector of gravity torques. the so-called task-space control, since the inner motion con-
Also, in (17), h = [ f T µT ]T , where f denotes the (3 × 1) trol loop utilizes direct task-space feedback. Therefore,
vector of external end-effector force and µ the (3 × 1) explicit computation of the manipulator inverse kinematics
vector of external end-effector moment, respectively. The is no longer required. The task-space variables, i.e., the end-
matrix J is the (6 × n) end-effector geometric Jacobian, effector position and orientation, are computed via the
providing the relationship between the joint velocity vec- direct kinematics relationships from the joint measurements.
tor q̇ and the end-effector linear (ṗe ) and angular (ω ωe ) In order to design a control action acting directly on the
velocities in the form end-effector position and orientation errors, it is worth con-
sidering the time derivative of (18),
 
ṗe
ve = = J(q)q̇. (18)
ωe
v̇e = J(q)q̈ + J̇(q, q̇)q̇, (22)

A model-based solution to the motion control problem


is represented by the inverse dynamics control, which is which provides the relationship between the joint accelera-
aimed at linear izing and decoupling the manipulator tions and the end-effector linear and angular accelerations.
dynamics via feedback. Nonlinearities such as Coriolis and Then, the new control input α in (20) can be chosen as
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 α = J −1 (q)(a − J̇(q, q̇)q̇), (23)
control input by the inertia matrix. According to this
dynamic model-based compensation, the joint torques can
be chosen as which in view of (22) leads to

τ = B(q)α
α + C(q, q̇)q̇ + F q̇ + g(q) + J T (q)h, (19) v̇e = a, (24)

where α constitutes a new control input to be properly where a attains the meaning of a resolved acceleration in
designed. terms of end-effector variables.
Folding the control law (19) into the system model (17) In deriving (23), a nonredundant manipulator (n = 6)
and taking into account that B(q) is always nonsingular yields moving in a singularity-free region of the workspace has been
considered to compute the inverse of the Jacobian.
q̈ = α , (20)
Considering the partition of ve , it is appropriate to parti-
tion the vector a into its linear and angular components, i.e.,
which constitutes a linear and decoupled system corre- a = [ aTp aTo ]T , where ap and ao are (3 × 1) vectors.
sponding to a double integrator between the input α and Therefore, (24) can be rewritten as

SEPTEMBER 2005 IEEE Robotics & Automation Magazine 59


Authorized licensed use limited to: UNIVERSIDADE DE BRASILIA. Downloaded on September 11,2023 at 15:00:42 UTC from IEEE Xplore. Restrictions apply.
dent 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 lan-
guage with typical motion planning instructions.
An open version of the control unit is available [9] that
allows testing of advanced control algorithms on a conven-
tional industrial robot. Connection 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 mem-
ory available in the Robot CPU; at present, a PC Pentium
MMX/233 is used. Time synchronization is implemented
Figure 8. The COMAU Smart-3 S robots at PRISMA Lab. by means of a synchronization flag set by the C3G and
read by the PC, exchanging data at a given sampling rate.
A set of C routines are available to drive the bus adapter
boards. These routines are collected in a librar y
(PCC3Link) and are devoted to performing communica-
p̈e = ap (25) tion tasks, e.g., reading shaft motor positions and/or writ-
ω e = ao ,
ω̇ (26) ing motor reference currents from/to the shared memory.
Also, a set of routines is devoted to performing safety
checks and monitoring system health, e.g., a watchdog
where ap and ao shall be designed to ensure tracking of the function and/or maximum current checks.
reference end-effector position and orientation trajectory, Various operating modes are available in the control unit,
respectively. allowing the PC to interact with the original controller both
The resolved linear acceleration can be chosen as at trajectory-generation level and at joint-control level. To
implement advanced control schemes, the Operating Mode 4
is used, in which the PC is in charge of computing the con-
ap = p̈ r + KDp ṗ re + K Pp p re , (27) trol algorithm and passing the references to the current servos
through the communication link at 1 ms sampling time. Joint
velocities are reconstructed through the numerical differentia-
where KDp and K Pp are suitable feedback matrix gains and tion of joint position readings.
p re = p r − pe . A six-axis force/torque sensor ATI FT30-100 with a force
With regard to the resolved angular acceleration, ao can be range of ±130 N and torque range of ±10 N·m can be
chosen as mounted at the robot’s wrist. The sensor is connected to the
PC by a parallel interface board, which provides readings of
six components of generalized force at 1 ms.
ao = ω̇
ω r + KDo ω
ω re + K Po  re , (28) A schematic of the open control architecture is sketched in
Figure 9.
The C3G unit and the PC can exchange information by
where KDo and K Po are suitable feedback matrix gains, means of a shared memory where every millisecond (which
ωω re = ω r − ω e , and the orientation error is the vector part is, therefore, the sampling time of the digital control loop) the
of the unit quaternion Q re = Q−1 e ∗ Q r , referred to as the C3G executes the following operations:
base frame. Further details on the implementation of resolved ◆ set the synchronization flag IntActive
task-space acceleration control can be found in [2]. ◆ write the values of the motor shaft angular positions (in
DAC units)
Implementation of the Control Architecture ◆ read the desired values for the motor current set-points
In this section, the real-time implementation of the control (in DAC units)
schemes described previously is discussed for the open version while the PC is in charge of the following operations:
of the COMAU C3G 9000 control unit. A picture of the ◆ reset the synchronization flag IntActive
COMAU Smart-3S robots available at PRISMA Lab is ◆ read the values of the motor shaft angular positions (in
reported in Figure 8. DAC units)
The C3G 9000 control unit has a VME-based architecture ◆ compute the current set-points for the next time
with two processing boards (Robot CPU and Servo CPU), interval
both based on a Motorola 68020/68882, where the latter has ◆ write the desired values for the motor current set-points
an additional DSP and is in charge of trajectory generation, (in DAC units)
inverse kinematics, and joint position servo control. Indepen- ◆ set the watchdog flag.

60 IEEE Robotics & Automation Magazine SEPTEMBER 2005


Authorized licensed use limited to: UNIVERSIDADE DE BRASILIA. Downloaded on September 11,2023 at 15:00:42 UTC from IEEE Xplore. Restrictions apply.
To fulfill the real-time constraint, the PC must execute The control actions can be designed
these steps within 0.7 ms. Otherwise, due to the watchdog
mechanism, the system reaches an alarm state and the robot on the basis of a simplified model
drives are switched off, and the brakes are activated. The
watchdog timer, as in every real-time system, is aimed at pre-
of the environment, providing
venting harmful consequences of unpredictable events, which robustness to uncertain
can occur during the normal operation, e.g., when the PC
crashes and thus is no longer able to write a correct current environment knowledge.
set-point to be actuated. The sequence outlined above is
depicted in Figure 10.
The ATI force sensor is interfaced via a parallel link to
the ISA bus of the PC. To obtain the force measurement,
the PC must send a data acquisition request, which starts
Force
the data A/D conversion on the sensor conditioning elec- Pentium Parallel Readings
tronics; after a time lapse of about 0.25 ms, the six com- 233 Interface
ponents of the force are available in a memory buffer.
Since the conversion is executed on remote hardware, the
PC can continue its elaboration during the conversion ISA BUS
time interval. Hence, to avoid simply waiting for the end
of conversion, it is convenient to ask for the start of con-
version at the beginning of the control cycle, perform all BIT 3
PC Adapter
the computations not requiring force measurements (e.g.,
kinematics and dynamic model compensation), then read
the force data, and, finally, complete the control algo-
rithm. The timing of these operations is outlined in C3G 9000 BIT 3
Figure 10. Adapter
Even though the use of a watchdog timer is a good solu-
tion for the safe operation of a real-time system, it cannot be
considered adequate to prevent every dangerous situation. In VME BUS
the C3G open control architecture, several safety checks can
be carried out to monitor the system functioning and to pre- Joint
Readings
vent damage; for example Robot Servo
◆ set and check joint limits CPU CPU
Motor
◆ set and check maximum joint velocities Currents
◆ set and check maximum instantaneous currents
◆ set and check maximum sustained currents Figure 9. C3G 9000 open control architecture.
◆ set and check maximum forces and torques.
The first type of safety check is particularly useful when
an interaction task is tested. In fact, limiting the robot
workspace allows prevention of damage to the environ- 1 ms
ment, to the robot, and especially to the force sensor. Of 0.7 ms
course, also monitor ing contact forces and moments
ensures a safer contact phase. Typically, interaction tasks Clock
evolve with limited velocities, hence monitoring joint Ticks
velocities is also useful to detect undesirable situations dur- t
ing the task execution.
For the purpose of preventing damage of robot motors and 1
motor drives, it is wise to monitor the motor currents, whose
IntActive
instantaneous values should not exceed maximum fixed levels.
Sometimes, it is also useful to limit the maximum sustained 0
value of the currents to prevent the overheating of robot servo
Read Motor Read Force End Computation
motors and their driving electronics. Positions Start Data Write Current Set-Points
Two different decisions can be taken if one of the above Computation Start Set Watchdog Flag
checks fails: immediately stop the robot by invoking a spe- Force Data Acquisition
cial emergency routine or set an error flag to exit from the
main control loop and switch off the drives. The former Figure 10. Timing diagram of the real-time control loop.

SEPTEMBER 2005 IEEE Robotics & Automation Magazine 61


Authorized licensed use limited to: UNIVERSIDADE DE BRASILIA. Downloaded on September 11,2023 at 15:00:42 UTC from IEEE Xplore. Restrictions apply.
Standard Operating Mode Open Operating Mode
(C3G 9000) (PC)

Layer 1 PDL 2
Task Planning Program

Inv. Kinematics Interaction


Layer 2 Interpolation Control
Trajectory Generation

PID Inverse
Layer 3 Control Dynamics
Servo

Layer 4 Motors Force/Torque


Sensors/Actuators Resolvers Sensor

Figure 11. Modular multilayer control structure.

approach is faster and thus safer, but it requires a complete ments on the basis of the interaction control strategy speci-
reboot of the system. The latter approach implies a delay of fied by the user.
one sampling period but leads the system to a less critical The servo layer for the standard operating mode imple-
state, which does not require a complete reboot. The best ments standard decentralized PID joint position control.
policy is to decide on the particular safety check that failed, In the open operating mode, the joint-space or the task-
e.g., if one of the motor currents exceeds the maximum sus- space model-based (inverse dynamics) motion control is
tained value, an immediate stop is not necessary; however, if implemented.
the force is over the maximum allowed value, an immediate The bottom layer includes joint motors, joint position
stop is advisable. resolvers, and, for the open operating mode, a six-axis
The software resources of the control unit can be orga- force/torque sensor.
nized in the modular multilayer structure of Figure 11, where In order to program the system for the execution of a
four layers are illustrated, both for the standard and the open given task, the user must develop different software modules,
operating modes, representing the various functions imple- according to the particular interaction control strategy. If the
mented in the controller. strategy of the scheme in Figure 6 is selected, where the
The task planning function is implemented only in the stan- native joint-space motion control is used, the user must devel-
dard operating mode via a PDL 2 software module containing op only the PDL 2 module of the task planning level and the
the motion instructions needed to execute a specific task. It is C module implementing the proper interaction control strate-
worth pointing out that such a function could be realized in the gy in the trajectory generation level. Still, in the case of the
open operating mode, if desired, by developing a library of C scheme of Figure 6, if the model-based joint-space motion
functions dedicated to task planning. control law is adopted, the user must develop the C module
The trajectory generation layer is in charge of computing of the inverse kinematics algorithm at the trajectory genera-
the motion trajectories corresponding to the planned task. tion level as well as the motion control algorithm at the servo
In the standard operating mode, the references for the joint level. Finally, if the scheme of Figure 7 is considered, the C
servos are directly computed by the servo CPU via an module implements a motion control algorithm that involves
inverse kinematics procedure with joint interpolation from both trajectory generation and servo levels.
the specifications given in the PDL 2 program. In the open
operating mode, the position vector p r and unit quaternion Conclusions
Q r , representing the origin and orientation of a reference The interaction control schemes presented throughout this
frame, are computed from the force and moment measure- article have been tested in a number of experiments for repre-

62 IEEE Robotics & Automation Magazine SEPTEMBER 2005


Authorized licensed use limited to: UNIVERSIDADE DE BRASILIA. Downloaded on September 11,2023 at 15:00:42 UTC from IEEE Xplore. Restrictions apply.
sentative interaction tasks, as extensively described in [20]. A manipulators during constrained motion tasks,” IEEE Trans. Robot.
commercially available industrial robot has been purposefully Automat., vol. 5, pp. 30–46. 1989.
used to demonstrate the credibility of force control in the per- [13] C. Natale, R. Koeppe, and G. Hizinger, “A systematic design proce-
spective of the next generation of robot control units with dure of force controllers for industrial robots,” IEEE/ASME Trans.
enhanced sensory feedback capabilities. The problem of inter- Mechatron., vol. 5, pp. 122–123, 2000.
facing the force/torque sensor has been solved thanks to the [14] C. Natale, Interaction Control of Robot Manipulators—Six-Degrees-of-Free-
open architecture of the control unit. This feature is crucial dom Tasks. Berlin: Springer-Verlag, 2003.
also for the implementation of control schemes requiring [15] R. Paul and B. Shimano, “Compliance and control,” in Proc. 1976
model-based compensation actions. Joint Automatic Contr. Conf., San Francisco, CA, 1976, pp. 694–699.
The upshot is that the field is mature for a transfer of [16] M.H. Raibert and J.J. Craig, “Hybrid position/force control of manip-
know-how from the academic to the industrial community. ulators,” ASME J. Dynamic Syst., Meas., Contr., vol. 103, pp. 126–133,
1981.
In this respect, encouraging signals are coming from leading
industrial robot manufacturers, and some products embedding [17] J.K. Salisbury, “Active stiffness control of a manipulator in Cartesian
coordinates,” in Proc. 19th IEEE Conf. Decision Control, Albuquerque,
a force sensor are already on the market. NM, 1980, pp. 95–100.
[18] L. Sciavicco and B. Siciliano, Modeling and Control of Robot
Acknowledgments Manipulators, 2nd ed. London, UK: Springer-Verlag, 2000.
This work was supported by Ministero dell’Università e della
[19] B. Siciliano, “A closed-loop inverse kinematic scheme for on-line
Ricerca Scientifica e Tecnologica. joint-based robot control,” Robotica, vol. 8, pp. 231–243, 1990.
[20] B. Siciliano and L. Villani, Robot Force Control. Norwell, MA: Kluwer,
Keywords 1999.
Industrial robots, force control, control architecture.
[21] M. Takegaki and S. Arimoto, “A new feedback method for dynamic
control of manipulators,” J. Dynamic Syst., Meas., Contr., vol. 102, pp.
References 119–125, 1981.
[1] F. Caccavale, S. Chiaverini, and B. Siciliano, “Second-order kinematic
control of robot manipulators with Jacobian damped least-squares [22] D.E. Whitney, “Historical perspective and state of the art in robot
inverse: Theory and experiments,” IEEE/ASME Trans. Mechatron., vol. force control,” Int. J. Robot. Res., vol. 6, no. 1, pp. 3–14, 1987.
2, pp. 188–194, 1997. [23] T. Yoshikawa, “Dynamic hybrid position/force control of robot
[2] F. Caccavale, C. Natale, B. Siciliano, and L. Villani, “Resolved-accelera- manipulators—Description of hand constraints and calculation of joint
tion control of robot manipulators: A cr itical review with driving force,” IEEE J. Robot. Automat., vol. 3, pp. 386–392, 1987.
experiments,” Robotica, vol. 16, pp. 565–573, 1998.
[3] F. Caccavale, C. Natale, B. Siciliano, and L. Villani, “Six-DOF imped-
ance control based on angle/axis representations,” IEEE Trans. Robot. Fabrizio Caccavale received the Laurea degree and the
Automat., vol. 15, pp. 289–300, 1999. Research Doctorate degree in electronic engineering from the
[4] S. Chiaverini and L. Sciavicco, “The parallel approach to force/position University of Naples Federico II, Italy, in 1993 and 1997,
control of robotic manipulators,” IEEE Trans. Robot. Automat., vol. 9, respectively. From 1999–2001 he was an assistant professor at
pp. 361–373, 1993. the Department of Computer and Systems Engineering of the
[5] S. Chiaverini and B. Siciliano, “The unit quaternion: A useful tool for University of Naples, Italy. He is currently an associate profes-
inverse kinematics of robot manipulators,” Syst. Anal. Model. Simul., sor at the Department of Environmental Engineering and
vol. 35, pp. 45–60, 1999. Physics of the University of Basilicata, Italy. From April–Octo-
[6] S. Chiaverini, B. Siciliano, and L. Villani, “A survey of robot interaction ber 1996 he was a visiting scholar at the Department of Elec-
control schemes with experimental comparison,” IEEE/ASME Trans. trical and Computer Engineering of Rice University. His
Mechatron., vol. 4, pp. 273–285, 1999.
research interests include manipulator inverse kinematics tech-
[7] J. De Schutter, H. Bruyninckx, W.-H. Zhu, and M.W. Spong, “Force niques, cooperative robot manipulation, nonlinear control of
control: A bird’s eye view,” in Control Problems in Robotics and
Automation, B. Siciliano and K.P. Valavanis, Eds. London, U.K.: mechanical systems, and fault diagnosis. He has published
Springer-Verlag, 1998, pp. 1–17. more than 70 journal and conference papers, he is a coauthor
[8] J. De Schutter and H. Van Brussel, “Compliant robot motion II. A con- of the book: Fondamenti di Sistemi Dinamici (McGraw-Hill
trol approach based on external control loops,” Int. J. Robot. Res., vol. 7, 2003, in Italian), and he is coeditor of the book Fault Diagnosis
no. 4, pp. 18–33, 1988. for Mechatronic Systems: Recent Advances (Springer 2002). He has
[9] F. Dogliani, G. Magnani, and L. Sciavicco, “An open architecture indus- been in the program committee of several international con-
trial controller,” Newsletter IEEE Robot. Automat. Soc., vol. 7, no. 3, pp. ferences and workshops. He is currently an associate editor of
19–21, 1993. the International Journal of Robotics and Automation.
[10] N. Hogan, “Impedance control: An approach to manipulation: Parts
I–III,” ASME J. Dynamic Syst., Meas., Contr., vol. 107, pp. 1–24. 1985. Ciro Natale received the Laurea degree and the Research
[11] N.H. McClamroch and D. Wang, “Feedback stabilization and tracking Doctorate degree in electronic engineering from the University
of constrained robots,” IEEE Trans. Automat. Contr., vol. 33, pp. of Naples Federico II, Italy, in 1995 and 2000, respectively.
419–426, 1988. From 2000–2004 he was a research associate at the Department
[12] J.K. Mills and A.A. Goldenberg, “Force and position control of of Information Engineering of the Second University of

SEPTEMBER 2005 IEEE Robotics & Automation Magazine 63


Authorized licensed use limited to: UNIVERSIDADE DE BRASILIA. Downloaded on September 11,2023 at 15:00:42 UTC from IEEE Xplore. Restrictions apply.
Naples, where he currently holds the position of associate pro- Robotics and Automation from 1991–1994 and of the ASME
fessor of automatic control. From November 1998–April 1999 Journal of Dynamic Systems, Measurement, and Control from
he was a visiting scholar at the German Aerospace Center in 1994–1998. He has served on the editorial boards of
Oberpfaffenhofen, Germany. His research interests include Robotica (since 1994), the Journal of Robotic Systems (since
modeling and control of industrial manipulators, force and 2001), and the JSME Inter national Jour nal (from
visual control, and cooperative robots. More recently, his activi- 1998–2001). He is an ASME fellow and an IEEE Fellow.
ties are focused on modeling and the control of flexible struc- He has held representative positions within the IEEE
tures, active noise and vibration control and modeling, and the Robotics and Automation Society: Administrative Com-
identification and control of smart materials. He has published mittee Member from 1996–1999, vice president for publi-
more than 40 journal and conference papers, and he is the cations in 1999, vice president for technical activities from
author of the book Interaction Control of Robot Manipulators— 2000–2003, chair of the International Affairs Committee
Six-degrees-of-freedom Tasks (Springer 2003). Since 2004, Natale since 2004, and Society Distinguished Lecturer since
has been an associate editor of the International Journal of Robotics 2004. From 1996–1999 he has been the chair of the Tech-
and Automation. He is a team leader of the MESEMA European nical Committee on Manufactur ing and Automation
project under the 6th Framework Programme. Robotic Control of the IEEE Control Systems Society.

Bruno Siciliano received the Laurea degree and the Luigi Villani received the Laurea degree and the Research
Research Doctorate degree in electronic engineering from Doctorate degree in electronic engineering from the Uni-
the University of Naples, Italy, in 1982 and 1987, respec- versity of Naples Federico II, Italy, in 1992 and 1996,
tively. From 1983–2000 he was with the Department of respectively. Since 1992, he has been with the Department
Computer and Systems Engineering of the University of of Computer and Systems Engineering of the University of
Naples. From 2000–2003 he was a professor of automatic Naples, Italy, where he is currently an associate professor.
control in the Department of Information and Electrical From June–October 1995 he was a visiting scholar at the
Engineering of the University of Salerno, Italy. He is cur- Laboratoire d'Automatique de Grenoble of the Institut
rently a professor control and robotics and the director of National Polytechnique de Grenoble, France. His research
the PRISMA Lab at the University of Naples. From Sep- interests include force/motion control of manipulators,
tember 1985–June 1986 he was a Visiting Scholar at the cooperative robot manipulation, underwater robotics, adap-
School of Mechanical Engineering of the Georgia Insti- tive and nonlinear control of mechanical systems, visual ser-
tute of Technology. His research interests include: model voing, and fault diagnosis and fault tolerance for dynamical
identification and adaptive control, impedance and force systems. He has published about 100 journal and confer-
control, visual tracking and servoing, redundant and coop- ence papers, he is a coauthor of the booklet Solutions Manu-
erative manipulators, lightweight flexible arms, space al for Modelling and Control of Robot Manipulator
robots, and human-centered and service robotics. He has (McGraw-Hill 1996, 2nd Edition, Springer 2000) and of
published more than 200 journal and conference papers, the books Robot Force Control (Kluwer 1999) and Fondamenti
and he is the coauthor of the books Modelling and Control di Sistemi Dinamici (McGraw-Hill 2003, in Italian). He is
of Robot Manipulators with Solutions Manual (McGraw-Hill also the coeditor of the book Fault Diagnosis and Fault Toler-
1996; 2nd ed., Springer 2000), Theory of Robot Control ance for Mechatronic Systems (Springer 2002). Since January
(Springer 1996), Robot Force Control (Kluwer 1999), and 2000, he has been an associate editor on the Conference
he is a coeditor of the books: Control Problems in Robotics Editorial Board of the IEEE Control Systems Society, and
and Automation (Springer 1998), RAMSETE Articulated since January 2005, he has been an associate editor for the
and Mobile Robotics for Services and Technologies (Springer IEEE Transactions on Control Systems Technology. He is
2001), Experimental Robotics VIII (Springer 2003), and Senior Member of IEEE.
Advances in Control of Articulated and Mobile Robots
(Springer 2004). He has delivered more than 70 invited Address for Correspondence: Luigi Villani, Dipartimento di
seminars abroad. Since 2002, Siciliano has been the editor Informatica e Sistemistica Università degli Studi di Napoli
of the Springer Tracts in Advanced Robotics. He has Federico II Via Claudio 21, 80125 Napoli, Italy. E-mail: lvil-
served as an associate editor of the IEEE Transactions on lani@unina.it.

64 IEEE Robotics & Automation Magazine SEPTEMBER 2005


Authorized licensed use limited to: UNIVERSIDADE DE BRASILIA. Downloaded on September 11,2023 at 15:00:42 UTC from IEEE Xplore. Restrictions apply.

You might also like