Keywords

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

1 Background

Research on robot force control has flourished in the past three decades. Such a wide interest is motivated by the general desire of providing robotic systems with enhanced sensory capabilities. Robots using force, touch, distance, and visual feedback are expected to autonomously operate in unstructured environments other than the typical industrial shop floor.

Since the early work on telemanipulation, the use of force feedback was conceived to assist the human operator in the remote handling of objects with a slave manipulator. More recently, cooperative robot systems have been developed where two or more manipulators (viz. the fingers of a dexterous robot hand) are to be controlled so as to limit the exchanged forces and avoid squeezing of a commonly held object. Force control plays a fundamental role also in the achievement of robust and versatile behavior of robotic systems in open-ended environments, providing intelligent response in unforeseen situations and enhancing human–robot interaction.

1.1 From Motion Control to Interaction Control

Control of the physical interaction between a robot manipulator and the environment is crucial for the successful execution of a number of practical tasks where the robot end-effector has to manipulate an object or perform some operation on a surface. Typical examples in industrial settings include polishing, deburring, machining or assembly. A complete classification of possible robot tasks, considering also nonindustrial applications, is practically infeasible in view of the large variety of cases that may occur, nor would such a classification be really useful to find a general strategy to control the interaction with the environment.

During contact, the environment may set constraints on the geometric paths that can be followed by the end-effector, denoted as kinematic constraints. This situation, corresponding to the contact with a stiff surface, is generally referred to as constrained motion. In other cases, the contact task is characterized by a dynamic interaction between the robot and the environment that can be inertial (as in pushing a block), dissipative (as in sliding on a surface with friction) or elastic (as in pushing against an elastically compliant wall). In all these cases, the use of a pure motion control strategy for controlling interaction is prone to failure, as explained below.

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). A manipulator model may be known with sufficient precision, but a detailed description of the environment is difficult to obtain.

To understand the importance of task planning accuracy, it is sufficient to observe that in order 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 and moment, causing a deviation of the end-effector from the desired trajectory. On the other hand, the control system reacts to reduce such deviations. This ultimately leads to a build-up of the contact force until saturation of the joint actuators is reached or breakage of the parts in contact occurs.

The higher the environment stiffness and position control accuracy are, the more easily a situation like the one just described can occur. This drawback can be overcome if a compliant behavior is ensured during the interaction. This compliant behavior can be achieved either in a passive or in an active fashion.

1.1.1 Passive Interaction Control

In passive interaction control the trajectory of the robot end-effector is modified by the interaction forces due to the inherent compliance of the robot. The compliance may be due to the structural compliance of the links, joints, and end-effector, or to the compliance of the position servo. Soft robot arms with elastic joints or links are purposely designed for intrinsically safe interaction with humans. In industrial applications, a mechanical device with passive compliance, known as the remote center of compliance (GlossaryTerm

RCC

) device [9.1], is widely adopted. An RCC is a compliant end-effector mounted on a rigid robot, designed and optimized for peg-into-hole assembly operations.

The passive approach to interaction control is very simple and cheap, because it does not require force/torque sensors; also, the preprogrammed trajectory of the end-effector must not be changed at execution time; moreover, the response of a passive compliance mechanism is much faster than active repositioning by a computer control algorithm. However, the use of passive compliance in industrial applications lacks flexibility, since for every robotic task a special-purpose compliant end-effector has to be designed and mounted. Also, it can only deal with small position and orientation deviations of the programmed trajectory. Finally, since no forces are measured, it can not guarantee that high contact forces will never occur.

1.1.2 Active Interaction Control

In active interaction control, the compliance of the robotic system is mainly ensured by a purposely designed control system. This approach usually requires the measurement of the contact force and moment, which are fed back to the controller and used to modify or even generate online the desired trajectory of the robot end-effector.

Active interaction control may overcome the aforementioned disadvantages of passive interaction control, but it is usually slower, more expensive, and more sophisticated. To obtain a reasonable task execution speed and disturbance rejection capability, active interaction control has to be used in combination with some degree of passive compliance [9.2]: feedback, by definition, always comes after a motion and force error has occurred, hence some passive compliance is needed in order to keep the reaction forces below an acceptable threshold.

1.1.3 Force Measurements

For a general force-controlled task, six force components are required to provide complete contact force information: three translational force components and three torques. Often, a force/torque sensor is mounted at the robot wrist [9.3], but other possibilities exist, for example, force sensors can be placed on the fingertips of robotic hands [9.4]; also, external forces and moments can be estimated via shaft torque measurements of joint torque sensors [9.5, 9.6]. However, the majority of the applications of force control (including industrial applications) is concerned with wrist force/torque sensors. In this case, the weight and inertia of the tool mounted between the sensor and the environment (i. e., the robot end-effector) is assumed to be negligible or suitably compensated from the force/torque measurements. The force signals may be obtained using strain measurements, which results in a stiff sensor, or deformation measurements (e. g., optically), resulting in a compliant sensor. The latter approach has an advantage if additional passive compliance is desired.

1.2 From Indirect Force Control to Hybrid Force/Motion Control

Active interaction control strategies can be grouped into two categories: those performing indirect force control and those performing direct force control. The main difference 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 offer the possibility of controlling the contact force and moment to a desired value, thanks to the closure of a force feedback loop.

To the first category belongs impedance control (or admittance control) [9.7, 9.8], where the deviation of the end-effector motion from the desired motion due to the interaction with the environment is related to the contact force through a mechanical impedance/admittance with adjustable parameters. A robot manipulator under impedance (or admittance) control is described by an equivalent mass–spring–damper system with adjustable parameters. This relationship is an impedance if the robot control reacts to the motion deviation by generating forces, while it corresponds to an admittance if the robot control reacts to interaction forces by imposing a deviation from the desired motion. Special cases of impedance and admittance control are stiffness control and compliance control [9.9], respectively, where only the static relationship between the end-effector position and orientation deviation from the desired motion and the contact force and moment is considered. Notice that, in the robot control literature, the terms impedance control and admittance control are often used to refer to the same control scheme; the same happens for stiffness and compliance control. Moreover, if only the relationship between the contact force and moment and the end-effector linear and angular velocity is of interest, the corresponding control scheme is referred to as damping control [9.10].

Indirect force control schemes do not require, in principle, measurements of contact forces and moments; the resulting impedance or admittance is typically nonlinear and coupled. However, if a force/torque sensor is available, then force measurements can be used in the control scheme to achieve a linear and decoupled behavior.

Differently from indirect force control, direct force control requires an explicit model of the interaction task. In fact, the user has to specify the desired motion and the desired contact force and moment in a consistent way with respect to the constraints imposed by the environment. A widely adopted strategy belonging to this category is hybrid force/motion control, which aims at controlling the motion along the unconstrained task directions and force (and moment) along the constrained task directions. The starting point is the observation that, for many robotic tasks, it is possible to introduce an orthogonal reference frame, known as the compliance frame [9.11] (or task frame [9.12]) which allows one to specify the task in terms of natural and artificial constrains acting along and about the three orthogonal axes of this frame. Based on this decomposition, hybrid force/motion control allows simultaneous control of both the contact force and the end-effector motion in two mutually independent subspaces. Simple selection matrices acting on both the desired and feedback quantities serve this purpose for planar contact surfaces [9.13], whereas suitable projection matrices must be used for general contact tasks, which can also be derived from the explicit constraint equations [9.14, 9.15, 9.16]. Several implementation of hybrid motion control schemes are available, e. g., based on inverse dynamics control in the operational space [9.17], passivity-based control [9.18], or outer force control loops closed around inner motion loops, typically available in industrial robots [9.2].

If an accurate model of the environment is not available, the force control action and the motion control action can be superimposed, resulting in a parallel force/position control scheme. In this approach, the force controller is designed so as to dominate the motion controller; hence, a position error would be tolerated along the constrained task directions in order to ensure force regulation [9.19].

2 Indirect Force Control

To gain insight into the problems arising at the interaction between the end-effector of a robot manipulator and the environment, it is worth analyzing the effects of a motion control strategy in the presence of a contact force and moment. To this aim, assume that a reference frame Σe is attached to the end-effector, and let pe denote the position vector of the origin and Re the rotation matrix with respect to a fixed base frame. The end-effector velocity is denoted by the 6 × 1 twist vector v e = ( p ˙ e T ω e T ) T where  p ˙ e is the translational velocity and  ω e the angular velocity, and can be computed from the n × 1 joint velocity vector  q ˙ using the linear mapping

v e = J ( q ) q ˙ .
(9.1)

The matrix J is the 6 × n end-effector geometric Jacobian. For simplicity, the case of nonredundant nonsingular manipulators is considered; therefore, n = 6 and the Jacobian is a square nonsingular matrix. The force fe and moment me applied by the end-effector to the environment are the components of the wrench h e = ( f e T m e T ) T .

It is useful to consider the operational space formulation of the dynamic model of a rigid robot manipulator in contact with the environment

Λ ( q ) v ˙ e + Γ ( q , q ˙ ) v e + η ( q ) = h c - h e ,
(9.2)

where

Λ ( q ) = ( JH ( q ) - 1 J T ) - 1

is the 6 × 6 operational space inertia matrix,

Γ ( q , q ˙ ) = J - T C ( q , q ˙ ) J - 1 - Λ ( q ) J ˙ J - 1

is the wrench including centrifugal and Coriolis effects, and η ( q ) = J - T g ( q ) is the wrench of the gravitational effects; H ( q ) , C ( q , q ˙ ) and  g ( q ) are the corresponding quantities defined in the joint space. The vector  h c = J - T τ is the equivalent end-effector wrench corresponding to the input joint torques τ.

2.1 Stiffness Control

In the classical operational space formulation, the end-effector position and orientation is described by a 6 × 1 vector x e = ( p e T φ e T ) T , where  φ e is a set of Euler angles extracted from Re. Hence, a desired end-effector position and orientation can be assigned in terms of a vector xd, corresponding to the position of the origin pd and the rotation matrix Rd of a desired frame Σd. The end-effector error can be denoted as Δ x de = x d - x e , and the corresponding velocity error, assuming a constant xd, can be expressed as Δ x ˙ de = - x ˙ e = - A - 1 ( φ e ) v e , with

A ( φ e ) = I 0 0 T ( φ e ) ,

where I is the 3 × 3 identity matrix, 0 is a 3 × 3 null matrix, and T is the 3 × 3 matrix of the mapping ω e = T ( φ e ) φ ˙ e , depending on the particular choice of the Euler angles.

Consider the motion control law

h c = A - T ( φ e ) K P Δ x de - K D v e + η ( q ) ,
(9.3)

corresponding to a simple proportional–derivative (GlossaryTerm

PD

) + gravity compensation control in the operational space, where KP and KD are symmetric and positive-definite 6 × 6 matrices.

In the absence of interaction with the environment (i. e., when  h e = 0 ), the equilibrium  v e = 0 , Δ x de = 0 for the closed-loop system, corresponding to the desired position and orientation for the end-effector, is asymptotically stable. The stability proof is based on the positive-definite Lyapunov function

V = 1 2 v e T Λ ( q ) v e + 1 2 Δ x de K P Δ x de ,

whose time derivative along the trajectories of the closed-loop system is the negative semidefinite function

V ˙ = - v e T K D v e .
(9.4)

In the presence of a constant wrench he, using a similar Lyapunov argument, a different asymptotically stable equilibrium can be found, with a nonnull  Δ x de . The new equilibrium is the solution of the equation

A - T ( φ e ) K P Δ x de - h e = 0 ,

which can be written in the form

Δ x de = K P - 1 A T ( φ e ) h e ,
(9.5)

or, equivalently, as

h e = A - T ( φ e ) K P Δ x de .
(9.6)

Equation (9.6) shows that in the steady state the end-effector, under a proportional control action on the position and orientation error, behaves as a six-degree-of-freedom (GlossaryTerm

DOF

) spring in respect of the external force and moment he. Thus, the matrix KP plays the role of an active stiffness, meaning that it is possible to act on the elements of KP so as to ensure a suitable elastic behavior of the end-effector during the interaction. Analogously, (9.5 ) represents a compliance relationship, where the matrix  K P - 1 plays the role of an active compliance. This approach, consisting of assigning a desired position and orientation and a suitable static relationship between the deviation of the end-effector position and orientation from the desired motion and the force exerted on the environment, is known as stiffness control.

The selection of the stiffness/compliance parameters is not easy, and strongly depends on the task to be executed. A higher value of the active stiffness means a higher accuracy of the position control at the expense of higher interaction forces. Hence, if it is expected to meet some physical constraint in a particular direction, the end-effector stiffness in that direction should be made low to ensure low interaction forces. Conversely, along the directions where physical constraints are not expected, the end-effector stiffness should be made high so as to follow closely the desired position. This allows discrepancies between the desired and achievable positions due to the constraints imposed by the environment to be resolved without excessive contact forces and moments.

It must be pointed out, however, that a selective stiffness behavior along different directions cannot be effectively assigned in practice on the basis of (9.6). This can easily be understood by using the classical definition of a mechanical stiffness for two bodies connected by a 6-DOF spring, in terms of the linear mapping between the infinitesimal twist displacement of the two bodies at an unloaded equilibrium and the elastic wrench.

In the case of the active stiffness, the two bodies are, respectively, the end-effector, with the attached frame Σe, and a virtual body, attached to the desired frame Σd. Hence, from (9.6), the following mapping can be derived

h e = A - T ( φ e ) K P A - 1 ( φ e ) δ x de ,
(9.7)

in the case of an infinitesimal twist displacement  δ x de defined as

δ x de = δ p de δ θ de = Δ p ˙ de Δ ω de d t = - p ˙ e ω e d t ,

where Δ p ˙ de = p ˙ d - p ˙ e is the time derivative of the position error Δ p de = p d - p e and Δ ω de = ω d - ω e is the angular velocity error. Equation (9.7) shows that the actual stiffness matrix is A - T ( φ e ) K P A - 1 ( φ e ) , which depends on the end-effector orientation through the vector  φ e , so that, in practice, the selection of the stiffness parameters is quite difficult.

This problem can be overcome by defining a geometrically consistent active stiffness, with the same structure and properties as ideal mechanical springs.

2.1.1 Mechanical Springs

Consider two elastically coupled rigid bodies A and B and two reference frames Σa and Σb, attached to A and B, respectively. Assuming that at equilibrium frames Σa and Σb coincide, the compliant behavior near the equilibrium can be described by the linear mapping

h b b = K δ x ab b = K t K c K c T K o δ x ab b ,
(9.8)

where  h b b is the elastic wrench applied to body B, expressed in frame B, in the presence of an infinitesimal twist displacement  δ x ab b of frame Σa with respect to frame Σb, expressed in frame B. The elastic wrench and the infinitesimal twist displacement in (9.8) can also be expressed equivalently in frame Σa, since Σa and Σb coincide at equilibrium. Therefore, h b b = h b a and  δ x ab b = δ x ab a ; moreover, for the elastic wrench applied to body A, h a a = K t δ x ba a = - h b b being δ x ba a = - δ x ab b . This property of the mapping (9.8) is known as port symmetry.

In (9.8), K is the 6 × 6 symmetric positive-semidefinite stiffness matrix. The 3 × 3 matrices Kt and Ko, called respectively the translational stiffness and rotational stiffness, are also symmetric. It can be shown that, if the 3 × 3 matrix Kc, called the coupling stiffness is symmetric, there is maximum decoupling between rotation and translation. In this case, the point corresponding to the coinciding origins of the frames Σa and Σb is called the center of stiffness. Similar definitions and results can be formulated for the case of the compliance matrix  C = K - 1 . In particular, it is possible to define a center of compliance in the case that the off-diagonal blocks of the compliance matrix are symmetric. The center of stiffness and compliance do not necessarily coincide.

There are special cases in which no coupling exists between translation and rotation, i. e., a relative translation of the bodies results in a wrench corresponding to a pure force along an axis through the center of stiffness; also, a relative rotation of the bodies results in a wrench that is equivalent to a pure torque about an axis through the centers of stiffness. In these cases, the center of stiffness and compliance coincide. Mechanical systems with completely decoupled behavior are, e. g., the remote center of compliance (RCC) devices.

Since Kt is symmetric, there exists a rotation matrix Rt with respect to the frame  Σ a = Σ b at equilibrium, such that K t = R t Γ t R t T , and  Γ t is a diagonal matrix whose diagonal elements are the principal translational stiffnessess in the directions corresponding to the columns of the rotation matrix Rt, known as the principal axes of translational stiffness. Analogously, Ko can be expressed as K o = R o Γ o R o T , where the diagonal elements of  Γ o are the principal rotational stiffnesses about the axes corresponding to the columns of rotation matrix Ro, known as the principal axes of rotational stiffness. Moreover, assuming that the origins of Σa and Σb at equilibrium coincide with the center of stiffness, the expression K c = R c Γ c R c T can be found, where the diagonal elements of  Γ c are the principal coupling stiffnesses along the directions corresponding to the columns of the rotation matrix Rc, known as the principal axes of coupling stiffness. In sum, a 6 × 6 stiffness matrix can be specified, with respect to a frame with origin in the center of stiffness, in terms of the principal stiffness parameters and principal axes.

Notice that the mechanical stiffness defined by (9.8) describes the behavior of an ideal 6-DOF spring which stores potential energy. The potential energy function of an ideal stiffness depends only on the relative position and orientation of the two attached bodies and is port symmetric. A physical 6-DOF spring has a predominant behavior similar to the ideal one, but nevertheless it always has parasitic effects causing energy dissipation.

2.1.2 Geometrically Consistent Active Stiffness

To achieve a geometrically consistent 6-DOF active stiffness, a suitable definition of the proportional control action in control law (9.3) is required. This control action can be interpreted as the elastic wrench applied to the end-effector, in the presence of a finite displacement of the desired frame Σd with respect to the end-effector frame Σe. Hence, the properties of the ideal mechanical stiffness for small displacements should be extended to the case of finite displacements. Moreover, to guarantee asymptotic stability in the sense of Lyapunov, a suitable potential elastic energy function must be defined.

For simplicity, it is assumed that the coupling stiffness matrix is zero. Hence, the potential elastic energy can be computed as the sum of a translational potential energy and a rotational potential energy.

The translational potential energy can be defined as

V t = 1 2 Δ p de T K Pt Δ p de ,
(9.9)

with

K Pt = 1 2 R d K Pt R d T + 1 2 R e K Pt R e T ,

where KPt is a 3 × 3 symmetric positive-definite matrix. The use of  K Pt in lieu of KPt in (9.9) guarantees that the potential energy is port symmetric also in the case of finite displacements. Matrices  K Pt and KPt coincide at equilibrium (i. e., when R d = R e ) and in the case of isotropic translational stiffness (i. e., when K Pt = k Pt I ).

The computation of the power V ˙ t yields

V ˙ t = Δ p ˙ de eT f Δ t  e + Δ ω de eT m Δ t e ,

where  Δ p ˙ de e is the time derivative of the position displacement Δ p de e = R e T ( p d - p e ) , while Δ ω de e = R e T ( ω d - ω e ) . The vectors f Δ t  e and  μ Δ t e are, respectively, the elastic force and moment applied to the end-effector in the presence of the finite position displacement  Δ p de e . These vectors have the following expressions when computed in the base frame

f Δ t = K Pt Δ p de m Δ t = K Pt Δ p de ,
(9.10)

with

K Pt = 1 2 S ( Δ p de ) R d K Pt R d T ,

where  S ( ) is the skew-symmetric operator performing the vector product. The vector h Δ t = ( f Δ t T m Δ t T ) T is the elastic wrench applied to the end-effector in the presence of a finite position displacement  Δ p de and a null orientation displacement. The moment  m Δ t is null in the case of isotropic translational stiffness.

To define the rotational potential energy, a suitable definition of the orientation displacement between the frames Σd and Σe has to be adopted. A possible choice is the vector part of the unit quaternion { η de , ϵ de e } that can be extracted from matrix R d e = R e T R d . Hence, the orientation potential energy has the form

V o = 2 ϵ de eT K Po ϵ de e ,
(9.11)

where KPo is a 3 × 3 symmetric positive-definite matrix. The function Vo is port symmetric because ϵ de e = - ϵ ed d .

The computation of the power V ˙ o yields

V ˙ o = Δ ω de eT m Δ o e ,

where

m Δ o = K Po ϵ de ,
(9.12)

with

K Po = 2 E T ( η de , ϵ de ) R e K Po R e T ,

and E ( η de , ϵ de ) = η de I - S ( ϵ de ) . The above equations show that a finite orientation displacement ϵ de = R e T ϵ de e produces an elastic wrench h Δ o = ( 0 T m Δ o T ) T which is equivalent to a pure moment.

Hence, the total elastic wrench in the presence of a finite position and orientation displacement of the desired frame Σd with respect to the end-effector frame Σe can be defined in the base frame as

h Δ = h Δ t + h Δ o .
(9.13)

where  h Δ t and  h Δ o are computed according to (9.10) and (9.12), respectively.

Using (9.13) for the computation of the elastic wrench in the case of an infinitesimal twist displacement  δ x de e near the equilibrium, and discarding the high-order infinitesimal terms, yields the linear mapping

h e e = K P δ x de e = K Pt 0 0 K Po δ x de e .
(9.14)

Therefore, KP represents the stiffness matrix of an ideal spring with respect to a frame Σe (coinciding with Σd at equilibrium) with the origin at the center of stiffness. Moreover, it can be shown, using definition (9.13), that the physical/geometrical meaning of the principal stiffnesses and of the principal axes for the matrices KPt and KPo are preserved also in the case of large displacements.

The above results imply that the active stiffness matrix KP can be set in a geometrically consistent way with respect to the task at hand.

Notice that geometrical consistency can also be ensured with different definitions of the orientation error in the potential orientation energy (9.11), for example, any error based on the angle/axis representation of  R e d can be adopted (the unit quaternion belongs to this category), or, more generally, homogeneous matrices or exponential coordinates (for the case of both position and orientation errors). Also, the XYZ Euler angles extracted from the matrix  R e d could be used; however, in this case, it can be shown that the principal axes of rotational stiffness cannot be set arbitrarily but must coincide with those of the end-effector frame.

Stiffness control with a geometrically consistent active stiffness can be defined using the control law

h c = h Δ - K D v e + η ( q ) ,
(9.15)

with  h Δ in (9.13). The asymptotic stability about the equilibrium in the case  h e = 0 can be proven using the Lyapunov function

V = 1 2 v e T Λ ( q ) v e + V t + V o ,

with Vt and Vo given in (9.9) and (9.11), respectively, whose time derivative along the trajectories of the closed-loop system, in case the frame Σd is motionless, has the same expression as in (9.4). When  h e 0 , a different asymptotically stable equilibrium can be found, corresponding to a nonnull displacement of the desired frame Σd with respect to the end-effector frame Σe. The new equilibrium is the solution of the equation  h Δ = h e .

Stiffness control allows to keep the interaction force and moment limited at the expense of the end-effector position and orientation error, with a proper choice of the stiffness matrix, without the need of a force/torque sensor. However, in the presence of disturbances (e. g., joint friction) which can be modeled as an equivalent end-effector wrench, the adoption of low values for the active stiffness may produce large deviations with respect to the desired end-effector position and orientation, also in the absence of interaction with the environment.

2.2 Impedance Control

Stiffness control is designed to achieve a desired static behavior of the interaction. In fact, the dynamics of the controlled system depends on that of the robot manipulator, which is nonlinear and coupled. A more demanding objective may be that of achieving a desired dynamic behavior for the end-effector, e. g., that of a second-order mechanical system with six degrees of freedom, characterized by a given mass, damping, and stiffness, known as mechanical impedance.

The starting point to pursue this goal may be the acceleration-resolved approach used for motion control, which is aimed at decoupling and linearizing the nonlinear robot dynamics at the acceleration level via an inverse dynamics control law. In the presence of interaction with the environment, the control law

h c = Λ ( q ) α + Γ ( q , q ˙ ) q ˙ + η ( q ) + h e
(9.16)

cast into the dynamic model (9.2) results in

v ˙ e = α ,
(9.17)

where α is a properly designed control input with the meaning of an acceleration referred to the base frame. Considering the identity v ˙ e = R ¯ e T v ˙ e e + R ¯ ˙ e T v e e , with

R ¯ e = R e 0 0 R e ,

the choice

α = R ¯ e T α e + R ¯ ˙ e T v e e
(9.18)

gives

v ˙ e e = α e ,
(9.19)

where the control input  α e has the meaning of an acceleration referred to the end-effector frame Σe. Hence, setting

α e = v ˙ d e + K M - 1 ( K D Δ v de e + h Δ e - h e e ) ,
(9.20)

the following expression can be found for the closed-loop system

K M Δ v ˙ de e + K D Δ v de e + h Δ e = h e e ,
(9.21)

where KM and KD are 6 × 6 symmetric and positive-definite matrices, Δ v ˙ de e = v ˙ d e - v ˙ e e , Δ v de e = v d e - v e e , v ˙ d e and  v d e are, respectively, the acceleration and the velocity of a desired frame Σd and  h Δ e is the elastic wrench (9.13); all the quantities are referred to the end-effector frame Σe.

The above equation describing the dynamic behavior of the controlled end-effector can be interpreted as a generalized mechanical impedance. The asymptotic stability of the equilibrium in the case  h e = 0 can be proven by considering the Lyapunov function

V = 1 2 Δ v de eT K M Δ v de e + V t + V o ,
(9.22)

where Vt and Vo are defined in (9.9) and (9.11), respectively, and whose time derivative along the trajectories of system (9.21) is the negative semidefinite function

V ˙ = - Δ v de eT K D Δ v de e .

When  h e 0 , a different asymptotically stable equilibrium can be found, corresponding to a nonnull displacement of the desired frame Σd with respect to the end-effector frame Σe. The new equilibrium is the solution of the equation  h Δ = h e .

In case Σd is constant, (9.21) has the meaning of a true 6-DOF mechanical impedance if KM is chosen as

K M = m I 0 0 M ,

where m is a mass and M is a 3 × 3 inertia tensor, and KD is chosen as a block-diagonal matrix with 3 × 3 blocks. The physically equivalent system is a body of mass m with inertia tensor M with respect to a frame Σe attached to the body, subject to an external wrench  h e e . This body is connected to a virtual body attached to frame Σd through a 6-DOF ideal spring with stiffness matrix KP and is subject to viscous forces and moments with damping KD. The function V in (9.22) represents the total energy of the body: the sum of the kinetic and potential elastic energy.

A block diagram of the resulting impedance control is sketched in Fig. 9.1. The impedance control computes the acceleration input as in (9.18) and (9.20) on the basis of the position and orientation feedback as well as the force and moment measurements. Then, the inverse dynamics control law computes the torques for the joint actuators  τ = J T h c with hc in (9.16). This control scheme, in the absence of interaction, guarantees that the end-effector frame Σe asymptotically follows the desired frame Σd. In the presence of contact with the environment, a compliant dynamic behavior is imposed on the end-effector, according to the impedance (9.21), and the contact wrench is bounded at the expense of a finite position and orientation displacement between Σd and Σe. Differently from stiffness control, a force/torque sensor is required for the measurement of the contact force and moment.

Fig. 9.1
figure 1

Impedance control

In the case that the force/torque sensor is not available, the measure of the external wrench he cannot be used in the controller and thus the configuration-independent impedance behaviour (9.21) cannot be obtained anymore. However, a desired impedance behaviour can be still achieved with the control law

h c = Λ ( q ) v ˙ d + Γ ( q , q ˙ ) v d + K D Δ v de + h Δ + η ( q )
(9.23)

in place of (9.16), where KD is a 6 × 6 positive-definite matrix and  h Δ is the elastic wrench (9.13). The resulting closed-loop equation is

Λ ( q ) Δ v ˙ de + ( Γ ( q , q ˙ ) + K D ) Δ v de + h Δ = h e ,

representing an impedance behaviour which preserves the actual operational space inertia matrix  Λ ( q ) of the robot. In the above equation, the centrifugal and Coriolis wrench Γ ( q , q ˙ ) Δ v de is required to preserve the mechanical properties of a configuration-dependent inertia and to prove the stability similarly to (9.21). In case Σd is constant, control law (9.23) reduces to the stiffness control law (9.15).

Pioneering experiments on stiffness control and impedance control and without without force sensing are presented in  . reports experiments on impedance control based on a geometrically consistent active stiffness.

2.2.1 Implementation Issues

The selection of good impedance parameters ensuring a satisfactory behavior is not an easy task. In fact, the dynamics of the closed-loop system is different in free space and during interaction. The control objectives are different as well, since motion tracking and disturbance rejection must be ensured in free space, while, during the interaction, the main goal is achieving a suitable compliant dynamic behavior for the end-effector. Notice also that the dynamics of the controlled system during the interaction depends on the dynamics of the environment.

To gain insight into these problems, assume that the interaction of the end-effector with the environment can be approximated by that derived from an ideal 6-DOF spring connecting end-effector frame Σe to the environment frame Σo. Therefore, according to (9.8), the elastic wrench exerted by the end-effector on the environment, in the presence of an infinitesimal twist displacement of Σe with respect to Σo, can be computed as

h e e = K δ x eo e ,
(9.24)

where Σe and Σo coincide at equilibrium and K is a stiffness matrix. The above model holds only in the presence of interaction, while the contact wrench is null when the end-effector moves in free space.

The disturbances acting on the robot manipulator and the unmodeled dynamics (joint friction, modeling errors, etc.) may be taken into account by introducing an additive term on the right-hand side of the dynamic model of the robot manipulator (9.2), corresponding to an equivalent disturbance wrench acting on the end-effector. This term produces an additive acceleration disturbance  γ  e on the right-hand side of (9.19). Therefore, using the control law (9.20), the following closed-loop impedance equation can be found

K M Δ v ˙ de e + K D Δ v de e + h Δ e = h e e + K M γ  e .
(9.25)

The tuning procedure for the impedance parameters can be set up starting from the linearized model that can be computed from (9.25) in the case of infinitesimal displacements, i. e.,

K M δ x ¨ de e + K D δ x ˙ de e + ( K P + K ) δ x de e = K δ x do e + K M γ  e ,
(9.26)

where (9.24) and the equality δ x eo e = - δ x de e + δ x do e have been used. The above equation is valid both for constrained ( K 0 ) and for free motion ( K = 0 ).

It is evident that suitable dynamics of the position and orientation errors can be set by suitably choosing the matrix gains KM, KD, and KP. This task is easier under the hypothesis that all the matrices are diagonal, resulting in a decoupled behavior for the six components of the infinitesimal twist displacement. In this case, the transient behavior of each component can be set, e. g., by assigning the natural frequency and damping ratio with the relations

ω n = < k P + k k M , ζ = 1 2 k D k M ( k P + k ) .

Hence, if the gains are chosen so that a given natural frequency and damping ratio are ensured during the interaction (i. e., for k 0 ), a smaller natural frequency with a higher damping ratio will be obtained when the end-effector moves in free space (i. e., for k = 0). As for the steady-state performance, the end-effector error for the generic component is

δ x de = k ( k P + k ) δ x do + k M k P + k γ

and the corresponding interaction force is

h = k P k k P + k δ x do - k M k k P + k γ .

The above relations show that, during interaction, the contact force can be made small at the expense of a large position error in steady state, as long as the active stiffness kP is set low with respect to the stiffness of the environment k, and vice versa. However, both the contact force and the position error also depend on the external disturbance γ; in particular, the lower kP, the higher the influence of γ on both  δ x de and h. Moreover, a low active stiffness kP may result in a large position error also in the absence of interaction (i. e., when k = 0).

2.2.2 Admittance Control

A solution to this drawback can be devised by separating motion control from impedance control as follows. The motion control action is purposefully made stiff so as to enhance disturbance rejection but, rather than ensuring tracking of the desired end-effector position and orientation, it ensures 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 wrench, 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.

To implement this solution, it is worth introducing a reference frame other than the desired frame Σd. This frame is referred to as the compliant frame Σc, and is specified by the quantities pc, Rc, vc, and  v ˙ c that are computed from pd, Rd, vd, and  v ˙ d and the measured wrench hc, by integrating the equation

K M Δ v ˙ dc c + K D Δ v dc c + h Δ c = h c ,
(9.27)

where  h Δ c is the elastic wrench in the presence of a finite displacement between the desired frame Σd and the compliant frame Σc. Then, a motion control strategy, based on inverse dynamics, is designed so that the end-effector frame Σe is taken to coincide with the compliant frame Σc. To guarantee the stability of the overall system, the bandwidth of the motion controller should be higher than the bandwidth of the impedance controller.

A block diagram of the resulting scheme is sketched in Fig. 9.2. It is evident that, in the absence of interaction, the compliant frame Σc coincides with the desired frame Σd and the dynamics of the position and orientation error, as well as the disturbance rejection capabilities, depend only on the gains of the inner motion control loop. On the other hand, the dynamic behavior in the presence of interaction is imposed by the impedance gains (9.27).

Fig. 9.2
figure 2

Impedance control with inner motion control loop (admittance control)

The control scheme of Fig. 9.2 is also known as admittance control because, in (9.27), the measured force (the input) is used to compute the motion of the compliant frame (the output), given the motion of the desired frame; a mapping with a force as input and a position or velocity as output corresponds to a mechanical admittance. Vice versa, (9.21), mapping the end-effector displacement (the input) from the desired motion trajectory into the contact wrench (the output), has the meaning of a mechanical impedance. Experiments on admittance control are reported in  .

2.2.3 Simplified Schemes

The inverse dynamics control is model based and requires modification of current industrial robot controllers, which are usually equipped with independent proportional–integral (GlossaryTerm

PI

) joint velocity controllers with very high bandwidth. These controllers are able to decouple the robot dynamics to a large extent, especially in the case of slow motion, and to mitigate the effects of external forces on the manipulator motion if the environment is sufficiently compliant. Hence, the closed-loop dynamics of the controlled robot can be approximated by

q ˙ = q ˙ r

in joint space, or equivalently

v ˙ e = v r
(9.28)

in the operational space, where  q ˙ r and vr are the control signals for the inner velocity motion loop generated by a suitably designed outer control loop. These control signals are related by

q ˙ r = J - 1 ( q ) v r .

The velocity vr, corresponding to a velocity-resolved control, can be computed as

v r e = v d e + K D - 1 h Δ e - h e e ,

where the control input has been referred to the end-effector frame, KD is a 6 × 6 positive-definite matrix and  h Δ is the elastic wrench (9.13) with stiffness matrix KP. The resulting closed-loop equation is

K D Δ v de e + h Δ e = h e e ,

corresponding to a compliant behavior of the end-effector characterized by a damping KD and a stiffness KP. In the case  K P = 0 , the resulting scheme is known as damping control.

Alternatively, an admittance-type control scheme can be adopted, where the motion of a compliant frame Σc can be computed as the solution of the differential equation

K D Δ v dc c + h Δ c = h e c

in terms of the position pc, orientation Rc, and velocity twist vc, where the inputs are the motion variables of the desired frame Σd and the contact wrench  h e c . The motion variables of Σc are then input to an inner position and velocity controller. In the case  K D = 0 , the resulting scheme is known as compliance control.

3 Interaction Tasks

Indirect force control does not require explicit knowledge of the environment, although to achieve a satisfactory dynamic behavior the control parameters have to be tuned for a particular task. On the other hand, a model of the interaction task is required for the synthesis of direct force control algorithms.

An interaction task is characterized by complex contact situations between the manipulator and the environment. To guarantee proper task execution, it is necessary to have an analytical description of the interaction force and moment, which is very demanding from a modeling viewpoint.

A real contact situation is a naturally distributed phenomenon in which the local characteristics of the contact surfaces as well as the global dynamics of the manipulator and environment are involved. In detail:

  • The environment imposes kinematic constraints on the end-effector motion, due to one or more contacts of different type, and a reaction wrench arises when the end-effector tends to violate the constraints (e. g., the case of a robot sliding a rigid tool on a frictionless rigid surface).

  • The end-effector, while being subject to kinematic constraints, may also exert a dynamic wrench on the environment, in the presence of environment dynamics (e. g., the case of a robot turning a crank, when the crank dynamics is relevant, or a robot pushing against a compliant surface).

  • The contact wrench may depend on the structural compliance of the robot, due to the finite stiffness of the joints and links of the manipulator, as well as of the wrist force/torque sensor or of the tool (e. g., an end-effector mounted on an RCC device).

  • Local deformation of the contact surfaces may occur during the interaction, producing distributed contact areas (e. g., the case of a soft contact surface of the tool or of the environment).

  • Static and dynamic friction may occur in the case of non ideally smooth contact surfaces.

The design of the interaction control and the performance analysis are usually carried out under simplifying assumptions. The following two cases are considered:

  1. 1.

    The robot and the environment are perfectly rigid and purely kinematics constraints are imposed by the environment,

  2. 2.

    The robot is perfectly rigid, all the compliance in the system is localized in the environment, and the contact wrench is approximated by a linear elastic model.

In both cases, frictionless contact is assumed. It is obvious that these situations are only ideal. However, the robustness of the control should be able to cope with situations where some of the ieal assumptions are relaxed. In that case the control laws may be adapted to deal with nonideal characteristics.

3.1 Rigid Environment

The kinematic constraints imposed by the environment can be represented by a set of equations that the variables describing the end-effector position and orientation must satisfy; since these variables depend on the joint variables through the direct kinematic equations, the constraint equations can also be expressed in the joint space as

ϕ ( q ) = 0 .
(9.29)

The vector ϕ is an m × 1 function, with m < n, where n is the number of joints of the manipulator, assumed to be nonredundant; without loss of generality, the case n = 6 is considered. Constraints of the form (9.29 ), involving only the generalized coordinates of the system, are known as holonomic constraints. The case of time-varying constraints of the form  ϕ ( q , t ) = 0 is not considered here but can be analyzed in a similar way. Moreover, only bilateral constraints expressed by equalities of the form (9.29) are of concern; this means that the end-effector always keeps contact with the environment. The analysis presented here is known as kinetostatic analysis.

It is assumed that the vector (9.29) is twice differentiable and that its m components are linearly independent at least locally in a neighborhood of the operating point. Hence, differentiation of (9.29 ) yields

J ϕ ( q ) q ˙ = 0 ,
(9.30)

where J ϕ ( q ) = ϕ / q is the m × 6 Jacobian of ϕ ( q ) , known as the constraint Jacobian. By virtue of the above assumption, J ϕ ( q ) is of rank m at least locally in a neighborhood of the operating point.

In the absence of friction, the generalized interaction forces are represented by a reaction wrench that tends to violate the constraints. This end-effector wrench produces reaction torques at the joints that can be computed using the principle of virtual work as

τ e = J ϕ T ( q ) λ ,

where λ is an m × 1 vector of Lagrange multipliers. The end-effector wrench corresponding to  τ e can be computed as

h e = J - T ( q ) τ e = S f ( q ) λ ,
(9.31)

where

S f = J - T ( q ) J ϕ T ( q ) .
(9.32)

From (9.31) it follows that he belongs to the m-dimensional vector space spanned by the columns of the 6 × m matrix Sf. The inverse of the linear transformation (9.31 ) is computed as

λ = S f ( q ) h e ,
(9.33)

where  S f denotes a weighted pseudoinverse of the matrix Sf, i. e.,

S f = S f T WS f - 1 S f T W ,
(9.34)

where W is a suitable weighting matrix.

Notice that, while the range space of the matrix Sf in (9.32) is uniquely defined by the geometry of the contact, the matrix Sf itself is not unique; also, the constraint equations (9.29), the corresponding Jacobian  J ϕ as well as the pseudoinverse  S f and the vector λ are not uniquely defined.

In general, the physical units of measure of the elements of λ are not homogeneous and the columns of the matrix Sf, as well as of the matrix  S f , do not necessarily represent homogeneous entities. This may produce invariance problems in the transformation (9.33) if he represents a measured wrench that is subject to disturbances and, as a result, may have components outside the range space of Sf. If a physical unit or a reference frame is changed, the matrix Sf undergoes a transformation; however, the result of (9.33) with the transformed pseudoinverse in general depends on the adopted physical units or on the reference frame. The reason is that the pseudoinverse is the weighted least-squares solution of a minimization problem based on the norm of the vector h e - S f ( q ) λ , and the invariance can be guaranteed only if a physically consistent norm of this vector is used. In the ideal case that he is in the range space of Sf, there is a unique solution for λ in (9.33), regardless of the weighting matrix, and hence the invariance problem does not appear.

A possible solution consists of choosing Sf so that its columns represent linearly independent wrenches. This implies that (9.31) gives he as a linear combination of wrenches and λ is a dimensionless vector. A physically consistent norm on the wrench space can be defined based on the quadratic form h e T K - 1 h e , which has the meaning of an elastic energy if K is a positive-definite matrix corresponding to a stiffness. Hence, the choice  W = K - 1 can be made for the weighting matrix of the pseudoinverse.

Notice that, for a given Sf, the constraint Jacobian can be computed from (9.32) as J ϕ ( q ) = S f T J ( q ) ; moreover, the constraint equations can be derived by integrating (9.30).

Using (9.1) and (9.32), the equality (9.30) can be rewritten in the form

J ϕ ( q ) J - 1 ( q ) J ( q ) q ˙ = S f T v e = 0 ,
(9.35)

which, by virtue of (9.31), is equivalent to

h e T v e = 0 .
(9.36)

Equation (9.36) represents the kinetostatic relationship, known as reciprocity, between the ideal reaction wrench he (belonging to the so-called force-controlled subspace) and the end-effector twist that obeys the constraints (belonging to the so-called velocity-controlled subspace). The concept of reciprocity, expressing the physical fact that, in the hypothesis of rigid and frictionless contact, the wrench does not cause any work against the twist, is often confused with the concept of orthogonality, which makes no sense in this case because twists and wrenches belong to different spaces.

Equations ((9.35)) and (9.36) imply that the velocity-controlled subspace is the reciprocal complement of the m-dimensional force-controlled subspace, identified by the range of matrix Sf. Hence, the dimension of the velocity-controlled subspace is 6 - m and a  6 × ( 6 - m ) matrix Sv can be defined, whose columns span the velocity-controlled subspace, i. e.,

v e = S v ( q ) ν ,
(9.37)

where ν is a suitable ( 6 - m ) × 1 vector. From (9.35) and (9.37) the following equality holds

S f T ( q ) S v ( q ) = 0 ;
(9.38)

moreover, the inverse of the linear transformation (9.37) can be computed as

ν = S v ( q ) v e ,
(9.39)

where  S v denotes a suitable weighted pseudoinverse of the matrix Sv, computed as in (9.34).

Notice that, as for the case of Sf, although the range space of the matrix Sv is uniquely defined, the choice of the matrix Sv itself is not unique. Moreover, the columns of Sv are not necessarily twists and the scalar ν may have nonhomogeneous physical dimensions. However, in order to avoid invariance problems analogous to that considered for the case of Sf, it is convenient to select the columns of Sv as twists so that the vector ν is dimensionless; moreover, the weighting matrix used to compute the pseudoinverse in (9.39) can be set as  W = M , being M a 6 × 6 inertia matrix; this corresponds to defining a norm in the space of twists based on the kinetic energy. It is worth observing that the transformation matrices of twists and wrenches, corresponding to a change of reference frame, are different; however, if twists are defined with angular velocity on top and translational velocity on bottom, then their transformation matrix is the same as for wrenches.

The matrix Sv may also have an interpretation in terms of Jacobians, as for Sf in (9.32). Due to the presence of m independent holonomic constraints (9.29), the configuration of the robot in contact with the environment can be described in terms of a  ( 6 - m ) × 1 vector r of independent variables. From the implicit function theorem, this vector can be defined as

r = ψ ( q ) ,
(9.40)

where  ψ ( q ) is any ( 6 - m ) × 1 twice-differentiable vector function such that the m components of  ϕ ( q ) and the n − m components of  ψ ( q ) are linearly independent at least locally in a neighborhood of the operating point. This means that the mapping (9.40), together with the constraint (9.29), is locally invertible, with inverse defined as

q = ρ ( r ) ,
(9.41)

where  ρ ( r ) is a 6 × 1 twice-differentiable vector function. Equation (9.41) explicitly provides all the joint vectors which satisfy the constraint (9.29). Moreover, the joint velocity vectors that satisfy (9.30) can be computed as

q ˙ = J ρ ( r ) r ˙ ,

where J ρ ( r ) = ρ / r is a  6 × ( 6 - m ) full-rank Jacobian matrix. Therefore, the following equality holds

J ϕ ( q ) J ρ ( r ) = 0 ,

which can be interpreted as a reciprocity condition between the subspace of the reaction torques spanned by the columns of the matrix  J ϕ T and the subspace of the constrained joint velocities spanned by the columns of the matrix  J ρ .

Rewriting the above equation as

J ϕ ( q ) J ( q ) - 1 J ( q ) J ρ ( r ) = 0 ,

and taking into account (9.32) and (9.38), the matrix Sv can be expressed as

S v = J ( q ) J ρ ( r ) ,
(9.42)

which, by virtue of (9.40) and (9.41), it can be equivalently expressed as a function of either q or r.

The matrices Sf and Sv, and their pseudoinverse  S f and  S v are known as selection matrices. They play a fundamental role for the task specification, i. e., the specification of the desired end-effector motion and interaction forces and moments, as well as for the control synthesis.

3.2 Compliant Environment

In many applications, the interaction wrench between the end-effector and a compliant environment can be approximated by an ideal elastic model of the form (9.24). However, since the stiffness matrix K is positive definite, this model describes a fully constrained case, when the environment deformation coincides with the infinitesimal twist displacement of the end-effector. In general, however, the end-effector motion is only partially constrained by the environment and this situation can be modeled by introducing a suitable positive-semidefinite stiffness matrix.

The stiffness matrix describing the partially constrained interaction between the end-effector and the environment can be computed by modeling the environment as a couple of rigid bodies, S and O, connected through an ideal 6-DOF spring of compliance  C = K - 1 . Body S is attached to a frame Σs and is in contact with the end-effector; body O is attached to a frame Σo which, at equilibrium, coincides with frame Σs. The environment deformation about the equilibrium, in the presence of a wrench hs, is represented by the infinitesimal twist displacement  δ x so between frames Σs and Σo, which can be computed as

δ x so = C h s .
(9.43)

All the quantities hereafter are referred to frame Σs but the superscript s is omitted for brevity.

For the considered contact situation, the end-effector twist does not completely belong to the ideal velocity subspace, corresponding to a rigid environment, because the environment can deform. Therefore, the infinitesimal twist displacement of the end-effector frame Σe with respect to Σo can be decomposed as

δ x eo = δ x v + δ x f ,
(9.44)

where  δ x v is the end-effector infinitesimal twist displacement in the velocity-controlled subspace, defined as the 6 - m reciprocal complement of the force-controlled subspace, while  δ x f is the end-effector infinitesimal twist displacement corresponding to the environment deformation. Hence,

δ x v = P v δ x eo ,
(9.45)
δ x f = ( I - P v ) δ x eo = ( I - P v ) δ x so ,
(9.46)

where P v = S v S v and Sv and  S v are defined as in the rigid environment case. Being P v P v = P v , the matrix Pv is a projection matrix that filters out all the end-effector twists (and infinitesimal twist displacements) that are not in the range space of Sv. Moreover, I - P v is a projection matrix that filters out all the end-effector twists (and infinitesimal twist displacements) that are in the range space of Sv. The twists  P v v are denoted as twists of freedom while the twists ( I - P v ) v are denoted as twists of constraint.

In the hypothesis of frictionless contact, the interaction wrench between the end-effector and the environment is restricted to a force-controlled subspace defined by the m-dimensional range space of a matrix Sf, as for the rigid environment case, i. e.,

h e = S f λ = h s ,
(9.47)

where λ is an m × 1 dimensionless vector. Premultiplying both sides of (9.44) by  S f T and using (9.43),  (9.45), (9.46), and (9.47) yields

S f T δ x eo = S f T C S f λ ,

where the identity S f T P v = 0 has been exploited. Therefore, the following elastic model can be found

h e = S f λ = K δ x eo ,
(9.48)

where K = S f ( S f T CS f ) - 1 S f T is the positive-semidefinite stiffness matrix corresponding to the partially constrained interaction.

If the compliance matrix C is adopted as a weighting matrix for the computation of  S f , then  K can be expressed as

K = P f K ,
(9.49)

where  P f = S f S f . Being  P f P f = P f , matrix Pf is a projection matrix that filters out all the end-effector wrenches that are not in the range space of Sf.

The compliance matrix for the partially constrained interaction cannot be computed as the inverse of  K , since this matrix is of rank m < 6. However, using (9.46), (9.43), and (9.47), the following equality can be found

δ x f = C h e ,

where the matrix

C = ( I - P v ) C ,
(9.50)

of rank 6 - m , is positive semidefinite. If the stiffness matrix K is adopted as a weighting matrix for the computation of  S v , then the matrix  C has the noticeable expression C = C - S v ( S v T K S v ) - 1 S v T , showing that  C is symmetric.

3.3 Task Specification

An interaction task can be assigned in terms of a desired end-effector wrench hd and twist vd. In order to be consistent with the constraints, these vectors must lie in the force- and velocity-controlled subspaces, respectively. This can be guaranteed by specifying vectors  λ d and ν d and computing hd and vd as

h d = S f λ d , v d = S v ν d ,

where Sf and Sv have to be suitably defined on the basis of the geometry of the task, and so that invariance with respect to the choice of the reference frame and change of physical units is guaranteed.

Many robotic tasks have a set of orthogonal reference frames in which the task specification is very easy and intuitive. Such frames are called task frames or compliance frames. An interaction task can be specified by assigning a desired force/torque or a desired linear/angular velocity along/about each of the frame axes. The desired quantities are known as artificial constraints because they are imposed by the controller; these constraints, in the case of rigid contact, are complementary to those imposed by the environment, known as natural constraints.

Some examples of task frame definition and task specification are given below.

3.3.1 Peg-in-Hole

The goal of this task is to push the peg into the hole while avoiding wedging and jamming. The peg has two degrees of motion freedom, hence the dimension of the velocity-controlled subspace is 6 - m = 2 , while the dimension of the force-controlled subspace is m = 4. The task frame can be chosen as shown in Fig. 9.3 and the task can be achieved by assigning the following desired forces and torques:

  • Zero forces along the xt and yt axes

  • Zero torques about the xt and yt axes,

and the desired velocities:

  • A nonzero linear velocity along the zt-axis

  • An arbitrary angular velocity about the zt-axis.

The task continues until a large reaction force in the zt direction is measured, indicating that the peg has hit the bottom of the hole, not represented in the figure. Hence, the matrices Sf and Sv can be chosen as

S f = 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 , S v = 0 0 0 0 1 0 0 0 0 0 0 1 ,

where the columns of Sf have the dimensions of wrenches and those of Sv have the dimensions of twists, defined in the task frame, and they transform accordingly when changing the reference frame. The task frame can be chosen either attached to the end-effector or to the environment.

Fig. 9.3
figure 3

Insertion of a cylindrical peg into a hole

3.3.2 Turning a Crank

The goal of this task is turning a crank with an idle handle. The handle has two degrees of motion freedom, corresponding to the rotation about the zt-axis and to the rotation about the rotation axis of the crank. Hence the dimension of the velocity-controlled subspace is 6 - m = 2 , while the dimension of the force-controlled subspace is m = 4. The task frame can be assumed as in the Fig. 9.4, attached to the crank. The task can be achieved by assigning the following desired forces and torques:

  • Zero forces along the xt and zt axes

  • Zero torques about the xt and yt axes.

and the following desired velocities:

  • A nonzero linear velocity along the yt-axis

  • An arbitrary angular velocity about the zt-axis.

Hence, the matrices Sf and Sv can be chosen as

S f = 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 , S v = 0 0 1 0 0 0 0 0 0 0 0 1 ,

referred to the task frame. In this case, the task frame is fixed with respect to the crank, but in motion with respect both the end-effector frame (fixed to the handle) and to the base frame of the robot. Hence, the matrices Sf and Sv are time variant when referred either to the end-effector frame or to the base frame.

Fig. 9.4
figure 4

Turning a crank with an idle handle

3.3.3 Sliding a Block on a Planar Elastic Surface

The goal of this task is to slide a prismatic block over a planar surface along the xt-axis, while pushing with a given force against the elastic planar surface. The object has three degrees of motion freedom, hence the dimension of the velocity-controlled subspace is  6 - m = 3 while the dimension of the force-controlled subspace is m = 3. The task frame can be chosen attached to the environment, as shown in Fig. 9.5, and the task can be achieved by assigning the desired velocities:

  • A nonzero velocity along the xt-axis

  • A zero velocity along the yt-axis

  • A zero angular velocity about the zt-axis,

and the desired forces and torques:

  • A nonzero force along the zt-axis

  • Zero torques about the xt and yt axes.

Hence, the matrices Sf and Sv can be chosen as

S f = 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 , S v = 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 .

The elements of the 6 × 6 stiffness matrix  K , corresponding to the partially constrained interaction of the end-effector with the environment, are all zero except those of the 3 × 3 principal minor  K m formed by rows 3,4,5 and columns 3,4,5 of  K , which can be computed as

K m = c 3 , 3 c 3 , 4 c 3 , 5 c 4 , 3 c 4 , 4 c 4 , 5 c 5 , 3 c 5 , 4 c 5 , 5 - 1 ,

where c i , j = c j , i are the elements of the compliance matrix C.

Fig. 9.5
figure 5

Sliding of a prismatic object on a planar elastic surface

3.3.4 General Contact Model

The task frame concept has proven to be very useful for the specification of a variety of practical robotic tasks. However, it only applies to task geometries with limited complexity, for which separate control modes can be assigned independently to three pure translational and three pure rotational directions along the axes of a single frame. For more complex situations, as in the case of multiple-point contact, a task frame may not exist and more complex contact models have to be adopted. A possible solution is represented by the virtual contact manipulator model, where each individual contact is modeled by a virtual kinematic chain between the manipulated object and the environment, giving the manipulated object (instantaneously) the same motion freedom as the contact. The velocities and force kinematics of the parallel manipulator, formed by the virtual manipulators of all individual contacts, can be derived using the standard kinematics procedures of real manipulators and allow the construction of bases for the twist and wrench spaces of the total motion constraint.

A more general approach, known as constraint-based task specification opens up new applications involving complex geometries and/or the use of multiple sensors (force/torque, distance, visual sensors) for controlling different directions in space simultaneously. The concept of task frame is extended to that of multiple feature frames. Each of the feature frames makes it possible to model part of the task geometry using translational and rotational directions along the axes of a frame; also, part of the constraints is specified in each of the feature frames. The total model and the total set of constraints are achieved by collecting the partial task and constraints descriptions, each expressed in the individual feature frames.

3.4 Sensor-Based Contact Model Estimation

The task specification relies on the definition of the velocity-controlled subspace and of the force-controlled subspace assuming that an accurate model of the contact is available all the time. On the other hand, in most practical implementations, the selection matrices Sf and Sv are not exactly known, however many interaction control strategies turn out to be rather robust against modeling errors. In fact, to cope reliably with these situations is exactly why force control is used. The robustness of the force controller increases if the matrices Sf and Sv can be continuously updated, using motion and/or force measurements, during task execution.

In detail, a nominal model is assumed to be available; when the contact situation evolves differently from what the model predicts, the measured and predicted motion and force will begin to deviate. These small incompatibilities can be measured and can then be used to adapt the model online, using algorithms derived from classical state-space prediction–correction estimators such as the Kalman filter.

Figure 9.6 reports an example of error between nominal and measured motion and force variables, typical of a two-dimensional contour-following task. The orientation of the contact normal changes if the environment is notplanar. Hence an angular error θ appears between the nominal contact normal, aligned to the yt-axis of the task frame (the frame with axes xt and yt), and the real contact normal, aligned to the yr-axis of the real task frame (the frame with axes xr and yr). This angle can be estimated with either velocity or force measurements only:

  • Velocity-based approach: the executed linear velocity v, which is tangent to the real contour (aligned to the xr-axis), does not completely lie along the xt-axis, but has a small component v y t along the yt-axis. The orientation error θ can then be approximated by θ = tan - 1 ( v y t / v x t ) .

  • Force-based approach: the measured (ideal) contact force f does not completely lie along the nominal normal direction, aligned to the yt-axis, but has a small component f x t along the xt-axis. The orientation error θ can then be approximated by θ = tan - 1 ( f x t / f y t ) .

Fig. 9.6a,b
figure 6

Estimation of orientation error: (a) velocity-based approach, (b) force-based approach

The velocity-based approach is disturbed by mechanical compliance in the system; the force-based approach is disturbed by contact friction.

4 Hybrid Force/Motion Control

The aim of hybrid force/motion control is to split up simultaneous control of both end-effector motion and contact forces into two separate decoupled subproblems. In the following, the main control approaches in the hybrid framework are presented for the cases of both rigid and compliant environments.

4.1 Acceleration-Resolved Approach

As for the case of motion control, the acceleration-resolved approach is aimed at decoupling and linearizing the nonlinear robot dynamics at the acceleration level, via an inverse dynamics control law. In the presence of interaction with the environment, a complete decoupling between the force- and velocity-controlled subspaces is sought. The basic idea is that of designing a model-based inner control loop to compensate for the nonlinear dynamics of the robot manipulator and decouple the force and velocity subspaces; hence an outer control loop is designed to ensure disturbance rejection and tracking of the desired end-effector force and motion.

4.1.1 Rigid Environment

In the case of a rigid environment, the external wrench can be written in the form h e = S f λ . The force multiplier λ can be computed from (9.2) by multiplying both sides of (9.2) by the weighted pseudo-inverse  S f with weight  Λ - 1 ( q ) and using the time derivative of the last equality (9.35). This yields

λ = S f ( q ) h c - μ ( q , q ˙ ) + Λ f ( q ) S ˙ f T v e ,
(9.51)

where Λ f ( q ) = ( S f T Λ - 1 S f ) - 1 and μ ( q , q ˙ ) = Γ q ˙ + η . Replacing again (9.51) into (9.2 ) gives

Λ ( q ) v ˙ e + S f Λ f ( q ) S ˙ f T v e = N f ( q ) [ h c - μ ( q , q ˙ ) ] ,
(9.52)

with N f = I - S f S f . Notice that N f N f = N f and N f S f = 0 , hence the 6 × 6 matrix Nf is a projection matrix that filters out all the end-effector wrenches lying in the range of Sf. These correspond to wrenches that tend to violate the constraints. Equation (9.52) represents a set of six second-order differential equations whose solution, if initialized on the constraints, automatically satisfy (9.29) at all times.

The reduced-order dynamics of the constrained system is described by 6 - m second-order equations that are obtained by premultiplying both sides of (9.52) by the matrix  S v T and substituting the acceleration  v ˙ e with

v ˙ e = S v ν ˙ + S ˙ v ν .

The resulting equations are

Λ v ( q ) ν ˙ = S v T h c - μ ( q , q ˙ ) - Λ ( q ) S ˙ v ν ,
(9.53)

where

Λ v = S v T Λ S v

and the identities (9.38) and

S v T N f = S v T

have been used. Moreover, expression (9.51) can be rewritten as

λ = S f ( q ) h c - μ ( q , q ˙ ) - Λ ( q ) S ˙ v ν ,
(9.54)

where the identity S ˙ f T S v = - S f T S ˙ v has been exploited.

Equation (9.54) reveals that the force multiplier vector λ instantaneously depends also on the applied input wrench hc. Hence, by suitably choosing hc, it is possible to directly control the m independent components of the end-effector wrench that tend to violate the constraints; these components can be computed from the m force multipliers through (9.31). On the other hand, the 6 - m independent components of the end-effector velocity twist can be controlled through hc via (9.53).

An inverse-dynamics inner control loop can be designed by choosing the control wrench hc as

h c = Λ ( q ) S v α v + S f f λ + μ ( q , q ˙ ) + Λ ( q ) S ˙ v ν ,
(9.55)

where  α v and  f λ are properly designed control inputs.

Substituting (9.55) into (9.53) and (9.51) yields

ν ˙ = α ν , λ = f λ ,

showing that control law (9.55) allows complete decoupling between the force- and velocity-controlled subspaces.

It is worth noticing that, for the implementation of the control law (9.55), the constraint (9.29) as well as (9.40) defining the vector of the configuration variables for the constrained system are not required, provided that the matrices Sf and Sv are known or estimated online. In these cases, the task can easily be assigned by specifying a desired force, in terms of the vector  λ d ( t ) , and a desired velocity, in terms of the vector  ν d ( t ) ; moreover, a force/velocity control is implemented.

The desired force  λ d ( t ) can be achieved by setting

f λ = λ d ( t ) ,
(9.56)

but this choice is very sensitive to disturbance forces, since it contains no force feedback. Alternative choices are

f λ = λ d ( t ) + K P λ λ d ( t ) - λ ( t ) ,
(9.57)

or

f λ = λ d ( t ) + K I λ 0 t λ d ( τ ) - λ ( τ ) d τ ,
(9.58)

where  K P λ and  K I λ are suitable positive-definite matrix gains. The proportional feedback is able to reduce the force error due to disturbance forces, while the integral action is able to compensate for constant bias disturbances.

The implementation of force feedback requires the computation of the force multiplier λ from the measurement of the end-effector wrench he, which can be achieved by using (9.33).

Velocity control is achieved by setting

α ν = ν ˙ d ( t ) + K P ν ν d ( t ) - ν ( t ) + K I ν 0 t ν d ( τ ) - ν ( τ ) d τ ,
(9.59)

where  K P ν and  K I ν are suitable matrix gains. It is straightforward to show that asymptotic tracking of  ν d ( t ) and  ν ˙ d ( t ) is ensured with exponential convergence for any choice of positive-definite matrices  K P ν and  K I ν .

The computation of the vector ν from the available measurements can be achieved using (9.39), where the end-effector twist is computed from joint position and velocity measurements through (9.1).

Equations (9.57) or (9.58) and (9.59) represent the outer control loop ensuring force/velocity control and disturbance rejection.

When (9.29) and (9.40) are known, the matrices Sf and Sv can be computed according to (9.32) and (9.42) and a force/position control can be designed by specifying a desired force  λ d ( t ) and a desired position  r d ( t ) .

Force control can be designed as above, while position control can be achieved by setting

α ν = r ¨ d ( t ) + K Dr r ˙ d ( t ) - ν ( t ) + K Pr r d ( t ) - r ( t ) .

Asymptotic tracking of  r d ( t ) , r ˙ d ( t ) and  r ¨ d ( t ) is ensured with exponential convergence for any choice of positive-definite matrices KDr and KPr. The vector r required for position feedback can be computed from joint position measurements via (9.40).

4.1.2 Compliant Environment

In the case of a compliant environment, according to the decomposition (9.44) of the end-effector displacement, the end-effector twist can be decomposed as

v e = S v ν + C S f λ ˙ ,
(9.60)

where the first term is a twist of freedom, the second term is a twist of constraint, the vector ν is defined as in (9.42), and  C is defined in (9.50). Assuming a constant contact geometry and compliance, i. e., S ˙ v = 0 , C ˙ = 0 , and S ˙ f = 0 , a similar decomposition holds in terms of acceleration

v ˙ e = S v ν ˙ + C S f λ ¨ .
(9.61)

An inverse-dynamics control law (9.16) can be adopted, resulting in the closed loop (9.17), where α is a properly designed control input.

In view of the acceleration decomposition (9.61), the choice

α = S v α ν + C S f f λ
(9.62)

allows decoupling of the force control from velocity control. In fact, substituting (9.61) and (9.62) into (9.17) and premultiplying both sides of the resulting equation once by  S v and once by  S f T , the following decoupled equations can be derived

ν ˙ = α ν ,
(9.63)
λ ¨ = f λ .
(9.64)

Hence, by choosing  α ν according to (9.59) as for the rigid environment case, asymptotic tracking of a desired velocity  ν d ( t ) and acceleration  ν ˙ d ( t ) is ensured, with exponential convergence. The control input  f λ can be chosen as

f λ = λ ¨ d ( t ) + K D λ λ ˙ d ( t ) - λ ˙ ( t ) + K P λ λ d ( t ) - λ ( t ) ,
(9.65)

ensuring asymptotic tracking of a desired force trajectory ( λ d ( t ) , λ ˙ d ( t ) , λ ¨ d ( t ) ) with exponential convergence for any choice of positive-definite matrices  K D λ and  K P λ .

Differently from the rigid environment case, feedback of  λ ˙ is required for the implementation of the force control law (9.65). This quantity could be computed from end-effector wrench measurements he as

λ ˙ = S f h ˙ e .

However, since the wrench measurement signal is often noisy, the feedback of  λ ˙ is often replaced by

λ ˙ = S f K J ( q ) q ˙ ,
(9.66)

where joint velocities are measured using tachometers or computed from joint positions via numerical differentiation and  K is the positive-semidefinite stiffness matrix (9.49) describing the partially constrained interaction. For the computation of (9.66), only knowledge (or an estimate) of  K is required, and not that of the full stiffness matrix K. Also, the implementation of the control law (9.62) requires knowledge (or an estimate) of the compliance matrix  C of the partially constrained interaction and not that of the full compliance matrix C.

If the contact geometry is known, but only an estimate of the stiffness/compliance of the environment is available, the control law (9.62), with (9.65), may still guarantee the convergence of the force error, if a constant desired force λ d is assigned. In this case, the control law (9.62) has the form

α = S v α ν + C ^ S f f λ ,

where C ^ = ( I - P v ) C ^ and C ^ is an estimate of the compliance matrix. Hence, (9.63) still holds, while, in lieu of (9.64), the following equality can be found

λ ¨ = L f f λ ,

where L f = ( S f T C S f ) - 1 S f T C ^ S f is a nonsingular matrix. Thus, the force- and velocity-controlled subspaces remain decoupled and the velocity control law (9.59) does not need to be modified. On the other hand, if the feedback of the time derivative of λ is computed using (9.66), only an estimate  λ ^ ˙ can be obtained. Using (9.66), (9.60) and (9.48), the following equality can be found

λ ^ ˙ = L f - 1 λ ˙ .

Therefore, computing the force control law  f λ as in (9.65) with a constant λ d , λ ^ ˙ in lieu of  λ ˙ and K D λ = K D λ I , the dynamics of the closed-loop system is

λ ¨ + K D λ λ ˙ + L f K P λ λ = L f K P λ λ d ,

showing that exponential asymptotic stability of the equilibrium λ = λ d can be ensured, also in the presence of the uncertain matrix Lf, with a suitable choice of the gains  K D λ and  K P λ .

4.2 Passivity-Based Approach

The passivity-based approach exploits the passivity properties of the dynamic model of the manipulator, which hold also for the constrained dynamic model (9.2). It can be easily shown that the choice of the matrix  C ( q , q ˙ ) that guarantees the skew symmetry of the matrix H ˙ ( q ) - 2 C ( q , q ˙ ) in the joint space, also makes the matrix Λ ˙ ( q ) - 2 Γ ( q , q ˙ ) skew symmetric. This fundamental property of Lagrangian systems is at the base of passivity-based control algorithms.

4.2.1 Rigid Environment

The control wrench hc can be chosen as

h c = Λ ( q ) S v ν ˙ r + Γ ( q , q ˙ ) ν r + ( S v ) T K ν ( ν r - ν ) + η ( q ) + S f f λ ,
(9.67)

where Γ ( q , q ˙ ) = Γ S v + Λ S ˙ v , K ν is a suitable symmetric and positive-definite matrix, and ν r and  f λ are properly designed control inputs.

Substituting (9.67) into (9.2) yields

Λ ( q ) S v s ˙ ν + Γ ( q , q ˙ ) s ν + ( S v ) T K ν s ν + S f ( f λ - λ ) = 0 ,
(9.68)

with s ˙ ν = ν ˙ r - ν ˙ and  s ν = ν r - ν , showing that the closed-loop system remains nonlinear and coupled.

Premultiplying both sides of (9.68) by the matrix Sv, the following expression for the reduced-order dynamics is achieved

Λ v ( q ) s ˙ ν + Γ v ( q , q ˙ ) s ν + K ν s ν = 0 ,
(9.69)

with Γ v = S v T Γ ( q , q ˙ ) S v + S v T Λ ( q ) S ˙ v ; it can easily be shown that the skew symmetry of the matrix Λ ˙ ( q ) - 2 Γ ( q , q ˙ ) implies that the matrix Λ ˙ v ( q ) - 2 Γ v ( q , q ˙ ) is skew symmetric as well.

On the other hand, premultiplying both sides of (9.68) by the matrix S f T Λ - 1 ( q ) , the following expression for the force dynamics can be found

f λ - λ = - S f ( q ) Γ ( q , q ˙ ) - ( S v ) T K ν s ν ,
(9.70)

being  S f the weighted pseudo-inverse of Sf with weight  Λ - 1 ( q ) . The above equation shows that the force multiplier λ instantaneously depends on the control input  f λ but also on the error  s ν in the velocity-controlled subspace.

The asymptotic stability of the reduced-order system (9.69) can be ensured with the choices

ν ˙ r = ν ˙ d + α Δ ν ,
(9.71)
ν r = ν d + α Δ x ν ,
(9.72)

where α is a positive gain, ν ˙ d and ν d are the desired acceleration and velocity, respectively, Δ ν = ν d - ν , and

Δ x ν = 0 t Δ ν ( τ ) d τ .

The stability proof is based on the positive-definite Lyapunov function

V = 1 2 s ν T Λ v ( q ) s ν + α Δ x ν T K ν Δ x ν ,

whose time derivative along the trajectories of (9.69),

V ˙ = - Δ ν T K ν Δ ν - α 2 Δ x ν T K ν Δ x ν ,

is a definite semi-negative function. Hence, Δ ν = 0 , Δ x ν = 0 , and  s ν = 0 asymptotically. Therefore, tracking of the desired velocity ν d ( t ) is ensured. Moreover, the right-hand side of (9.70) remains bounded and vanishes asymptotically. Hence, tracking of the desired force λ d ( t ) can be ensured by setting  f λ as for the acceleration-resolved approach, according to the choices (9.56)–(9.58).

Notice that position control can be achieved if a desired position  r d ( t ) is assigned for the vector r in (9.40), provided that the matrices Sf and Sv are computed according to (9.32) and (9.42), and the vectors ν ˙ d = r ¨ d , ν d = r ˙ d , and Δ x ν = r d - r are used in (9.71) and (9.72).

4.2.2 Compliant Environment

The control wrench hc can be chosen as

h c = Λ ( q ) v ˙ r + Γ ( q , q ˙ ) v r + K s ( v r - v e ) + h e + η ( q ) ,
(9.73)

where Ks is a suitable symmetric positive-definite matrix while vr and its time derivative  v ˙ r are chosen as

v r = v d + α Δ x , v ˙ r = v ˙ d + α Δ v ,

where α is the positive gain, vd and its time derivative  v ˙ d are properly designed control inputs, Δ v = v d - v e , and

Δ x = 0 t Δ v d τ .

Substituting (9.73) into (9.2) yields

Λ ( q ) s ˙ + Γ ( q , q ˙ ) s + K s s = 0 ,
(9.74)

with  s ˙ = v ˙ r - v ˙ e and  s = v r - v e .

The asymptotic stability of system (9.74) can be ensured by setting

v d = S v ν d + C S f λ ˙ d ,

where ν d ( t ) is a desired velocity trajectory and λ d ( t ) is the desired force trajectory. The stability proof is based on the positive-definite Lyapunov function

V = 1 2 s T Λ ( q ) s + α Δ x T K s Δ x ,

whose time derivative along the trajectories of (9.74),

V ˙ = - Δ v T K s Δ v - α 2 Δ x T K s Δ x ,

is a negative-definite function. Hence, Δ v = 0 and  Δ x = 0 , asymptotically. In the case of constant contact geometry and stiffness, the following equalities hold

Δ v = S v ( ν d - ν ) + C S f ( λ ˙ d - λ ˙ ) , Δ x = S v 0 t ( ν d - ν ) d τ + C S f ( λ d - λ ) ,

showing that both the velocity and force tracking errors, belonging to reciprocal subspaces, converge asymptotically to zero.

4.3 Velocity-Resolved Approach

The acceleration-resolved approach, as well as the passivity-based approach, require modification of the current industrial robot controllers. As for the case of impedance control, if the contact is sufficiently compliant, the closed-loop dynamics of a motion-controlled robot can be approximated by (9.28), corresponding to a velocity-resolved control.

To achieve force and velocity control, according to the end-effector twist decomposition (9.60), the control input vr can be chosen as

v r = S v v ν + C S f f λ ,
(9.75)

with

v ν = ν d ( t ) + K I ν 0 t [ ν d ( τ ) - ν ( τ ) ] d τ ,
(9.76)

and

f λ = λ ˙ d ( t ) + K P λ [ λ d ( t ) - λ ( t ) ] ,
(9.77)

where  K I ν and  K P λ are suitable symmetric and positive-definite matrix gains. Decoupling between velocity- and force-controlled subspaces and exponential asymptotic stability of the closed-loop system can be proven as for the acceleration-resolved approach. Also, since the force error has second-order dynamics, an integral action can be added to (9.77) to improve the disturbance rejection capabilities, i. e.,

f λ = λ ˙ d ( t ) + K P λ λ d ( t ) - λ ( t ) + K I λ 0 t λ d ( τ ) - λ ( τ ) d τ ,
(9.78)

and the exponential asymptotic stability is guaranteed if the matrices  K P λ and  K I λ are symmetric and positive definite.

If an estimate  C ^ of the stiffness matrix of the environment is used in (9.75), as for the acceleration-resolved approach, the exponential convergence of λ to a constant  λ d can still be ensured for both (9.77) and (9.78).

In some applications, besides the stiffness matrix, also the geometry of the environment is uncertain. In these cases, a force/motion control law similar to (9.75) can be implemented, without using the selection matrices Sv and Sf to separate the force-controlled subspace from the velocity-controlled subspace. The motion control law can be set as in (9.76), but using full velocity feedback. Also, the force control law can be set as in (9.78), but using full force and moment feedback. That is, both motion control and force control are applied in all directions of the six-dimensional (GlossaryTerm

6-D

) space. The resulting control, known as force control with feedforward motion or parallel force/position control guarantees force regulation at the expense of position errors along the constrained task directions, thanks to the dominance of the force controller over the position controller ensured by the presence of the integral action on the force error. This approach is tested in the experiments reported in  and  where the concept of task frame is also exploited. A framework for robotic assembly, where a standard position-based robot controller is integrated with an external controller performing force-controlled skills is presented in  .

5 Conclusions and Further Reading

This chapter has summarized the main approaches to force control in a unifying perspective. However, there are many aspects that have not been considered and that must be carefully taken into account when dealing with interaction robotic tasks. The two major paradigms of force control (impedance and hybrid force/motion control) are based on several simplifying assumptions that are only partially satisfied in practical implementations. In fact, the performance of a force-controlled robotic system depends on the interaction with a changing environment which is very difficult to model and identify correctly. A general contact situation is far from being completely predictable, not only quantitatively, but also qualitatively: the contact configuration can change abruptly, or be of a different type than expected. Hence, the standard performance indices used to evaluate a control system, i. e., stability, bandwidth, accuracy, and robustness, cannot be defined by considering the robotic system alone, as for the case of robot motion control, but must be always referred to the particular contact situation at hand. Also, a classification of all these different situations is not easy, especially in the case of dynamics environments and when the task involves multiple contacts acting in parallel.

Due to the inherent complexity of the force control problem, a large number of research papers on this topic have been published in the past three decades. A description of the state of the art of the first decade is provided in [9.20], whereas the progress of the second decade is surveyed in [9.21] and [9.22]. More recently, two monographs on force control [9.23, 9.24] have appeared. In the following, a list of references is provided, where more details on the arguments presented in the chapter, as well as topics not covered here, can be found.

5.1 Indirect Force Control

The concept of generalized spring and damping for force control in joint coordinates was originally proposed in [9.3] and the implementation discussed in [9.10]. Stiffness control in Cartesian coordinates was proposed in [9.9]. Devices based on the remote center of compliance were discussed in [9.25] for successful mating of rigid parts. The original idea of a mechanical impedance model used for controlling the interaction between the manipulator and the environment is presented in [9.7], and a similar formulation is given in [9.8]. Stability of impedance control was analyzed in [9.26] and the problems of interaction with a stiff environment were considered in [9.27].

Adaptive impedance control algorithms [9.28, 9.29] have been proposed to overcome uncertainties in the dynamic parameters of the robot manipulator, while robust control schemes can be found in [9.30]. Impedance control has also been used in the hybrid force/motion control framework [9.31].

A reference work on modeling 6-DOF (spatial) stiffness is [9.32], while the properties of spatial compliance have been analyzed in detail in [9.33, 9.34, 9.35]; a 6-DOF variable compliant wrist was proposed in [9.36], while several studies concerning the construction of programmed compliances, optimized for specific tasks, have been proposed [9.37, 9.38]. The energy-based approach to derive a spatial impedance was introduced in [9.39], using rotation matrices; various 6-DOF impedance control schemes based on different representations of end-effector orientation, including the unit quaternion, can be found in [9.40]. The quaternion-based formulation is extended to the case of non-block-diagonal stiffness matrix in [9.41]. A rigorous treatment of spatial impedance control in a passivity framework can be found in [9.42].

More recently, impedance control was proposed as an effective approach to enhance safety in applications where humans and robots share the same workspace and may have physical interaction. To this end, the passive compliance of lightweight robots is combined with the active compliance ensured by impedance control [9.43, 9.44].

5.2 Task Specification

The concepts of natural and artificial constraints and of compliance frame were introduced in [9.11]. These ideas have been systematically developed in [9.12, 9.45] within the task frame formalism. Theoretical issues on the reciprocity of generalized force and velocity directions are discussed in [9.46, 9.47], while invariance in computing the generalized inverse in robotics is addressed in [9.48]. The issue of partially constrained tasks is considered in [9.49], where the models of positive-semidefinite stiffness and compliance matrices are developed. The problem of estimating geometric uncertainties is considered in [9.50, 9.51], as well as the issue of linking constraint-based task specification with real-time task execution control. This approach is generalized in [9.52], where a systematic constraint-based methodology to specify complex tasks is presented.

5.3 Hybrid Force/Motion Control

Early works on force control can be found in [9.10]. The original hybrid force/positon control concept was introduced in [9.13], based on the natural and artificial constraint task formulation [9.11]. The explicit inclusion of the manipulator dynamic model was presented in [9.17], and a systematic approach to modeling the interaction with a dynamic environment was developed in [9.53]. The constrained formulation with inverse dynamic controllers is treated in [9.14, 9.54] in the Cartesian space as well as in [9.15] joint space. The constrained approach was also used in [9.16] with a controller based on linearized equations. The invariance problems pointed out in [9.47] were correctly addressed, among other papers, in [9.46, 9.55]. Transposition of model-based schemes from unconstrained motion control to constrained cases was accomplished for adaptive control in [9.18, 9.56, 9.57] and for robust control in [9.58].

Approaches designed to cope with uncertainties in the environment geometry are the force control with feedforward motion scheme proposed in [9.2] and the parallel force/position control [9.19], based on the concept of dominance of force control on motion control, thanks to the use of an integral action on the force error. A parallel force/position regulator was developed in [9.59]. The integral action for removing steady-state force errors has traditionally been used; its stability was proven in [9.60], while robustness with respect to force measurement delays was investigated in [9.61, 9.62].

In the absence of force/torque sensors, suitable algorithms can be adopted to estimate the contact force, based, e. g., on disturbance observers [9.63], or on the error of a position control [9.64].

It has generally been recognized that force control may cause unstable behavior during contact with environment. Dynamic models for explaining this phenomenon were introduced in [9.65] and experimental investigations can be found in [9.66] and [9.67]. Moreover, control schemes are usually derived on the assumption that the manipulator end-effector is in contact with the environment and that this contact is not lost. Impact phenomena may occur and deserve careful consideration, and there is a need for global analysis of control schemes including the transition from noncontact to contact situations and vice versa, see e. g., [9.68, 9.69, 9.70].