Professional Documents
Culture Documents
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
ṗ 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.
ωdc
ωc + + ωr
ωdc
ωc + + ωr
Qdc
∆µ + Quaternion Qc Qr
kAm ∫ ∫ *
Propagation
−
kVm
Force
Sensor
pr, Qr
fd ,µd Interaction pr, ωr Motion τ q f, µ
Manipulator Environment
Control pr, ωr Control
pe,Qe Direct
Kinematics
Force
Sensor
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.
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)
τ = 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
Layer 1 PDL 2
Task Planning Program
PID Inverse
Layer 3 Control Dynamics
Servo
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-
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.