Abstract
The stiffness controller proposed by Salisbury is an interaction control strategy designed to achieve a desired form of static behavior as regards the interaction of a robot manipulator with the environment. The main idea behind this approach is the simulation of a multidimensional linear spring - or linear elastic material - using the difference between the actual position of the end-effector and a constant position (relaxed point), multiplied by a constant stiffness matrix. In this paper, this idea is generalized with the objective of proposing a controller structure that includes a family of stiffness models based on the idea of linear elastic materials. The new controller structure also includes a damping term in order to have control over energy dissipation, as well as a term added for the purpose of compensating the gravity forces of the links. The stability analysis of the proposed controller was performed in the Lyapunov sense. The new stiffness controller is presented as a case study and compared to other cases, such as the Salisbury controller (Cartesian PD) and the tanh-tanh controller. Experimental results using a three degrees-of-freedom direct-drive robot for the evaluation of controllers in a constrained motion task are presented.
Introduction
Presently, robotic systems are extensively applied in many areas, including industry, medical applications (such as rehabilitation and surgery), and the exploration of dangerous or inaccessible environments for humans, etc. [1]. These applications can be classified in two groups in terms of interaction with the environment: if the robot executes tasks where there is no interaction with the environment, then the application belongs to an unconstrained-motion category; however, if there exists interaction, then the application corresponds to a constrained-motion category. Among the typical applications of unconstrained motion in industry, we might mention painting and laser cutting, etc.; meanwhile, among the industrial applications in which a constrained motion is needed, we might consider polishing, drilling, deburring machining and assembly, etc. In these applications, the control of interaction forces for the successful execution of the interaction tasks is crucial [2, 3]. In interaction tasks, the manipulator encounters environmental constraints and the interaction forces are not negligible [4].
Many researchers have been working on creating new schemes of the active interaction control of robot manipulators. There exist different approaches to the interaction control of robot manipulators, which can be classified as direct or indirect methods. Direct methods involve an explicit form representation of force-feedback, while in indirect methods force-feedback is not explicit but rather is regulated using the position of the end-effector. Among the most important direct interaction control approaches, we might consider explicit force control [5–7], hybrid force/position control [8–15] and parallel force/motion control [16, 17]. Meanwhile, among the most relevant indirect interaction control approaches, the stiffness control [18–22] and impedance control approaches [2, 4, 23–29] might be considered.
The explicit force-control approach [5] has been implemented in many ways. In this approach, the applied torques of the robot are commanded as a function of force error. The force error is referred to as the difference between the reference force and the actual interaction force, measured with a force/torque sensor. The main schemes in which explicit force control is implemented are: proportional control, integral control, proportional-integral control, proportional-derivative control and proportional-integral-derivative control [2, 7].
In the approach referred to as ‘hybrid force/position control’ [8], the workspace of the robot is divided into orthogonal directions that are constrained, either in terms of force or of position, and an appropriate force or position controller for each direction is designed.
'Parallel force/motion control’ is an interaction control approach that enables simultaneous movement control and force control [16]. The main idea is to use an inner-loop position control that works in parallel with a force-control loop. Conflicting situations between the position and force tasks are managed using a priority strategy: the force-control loop is designed to prevail over the position control loop. Recent works have included observers in order to acquire an estimation of velocity and to increase performance [17].
The approach referred to as ‘impedance control’ is based on the control of the relationship between the interaction force and positioning errors resulting from this force. The dynamic interaction between the manipulator and its environment can be regulated and controlled by changing its mechanical impedance. The impedance control introduced by Hogan [4] presents a general and unified approach to implement, in a robot manipulator, an impedance controller and generate a linear mass-spring-damper closed-loop system. Based on this approach, several control schemes have been developed for interaction control. Among them, the literature on robotics cites approaches like robust nonlinear impedance control [23], hybrid impedance control (HIC) [30] (which is a combination of impedance control and hybrid position/force control), adaptive impedance control (which considers parametric uncertainties in the robot model) [31], and an adaptive version of HIC [32] (which is used to compensate for parametric uncertainties in the robot model). Recent control schemes have been developed based on inverse-dynamics for dynamic compensation [28], yielding a PD-type control structure of the impedance error [27], which is useful for unconstrained and constrained motion; these approaches have been tested on a two-degrees-of-freedom direct-drive robot, and they present better performance than Hogan's impedance approach, both in relation to path-following tasks in unconstrained movement and in the case of interaction tasks.
The stiffness control proposed by Salisbury [18] is an interaction control approach designed to achieve the desired static behaviour of the interaction of a robot manipulator with the environment [4]. In this context, it is essentially a proportional-derivative (PD) position controller, with position and velocity feedback gains adjusted in order to obtain different apparent impedances. The stiffness control has been implemented in different schemes. Among them, in [19] an approach based on variable stiffness - referred to as a ‘self-controlled stiffness function’ - which is used for unknown environments is presented; [20] presents an approach based on adaptive stiffness characteristics for interacting with unknown environments; in [22], new sufficient stability conditions for stiffness control based on a Lyapunov-Hamiltonian function are presented. In this case, the stiffness control is used for robot-aided rehabilitation.
The original idea of stiffness control [18] concerned the simulation of a multidimensional linear spring, using the difference between the position of the end-effector and a constant position, multiplied by a constant matrix referred to as a ‘stiffness matrix'. In this context, the stiffness control reproduces the behaviour of a linear elastic material. This behaviour can be generalized by simulating a general elastic material using the stiffness matrix and a variable term defined as the difference between the actual and a constant position, which is considered as the relaxed position. In this paper, a new structure of stiffness control designed for static behaviour using a well-defined mathematical structure is presented. The proposed controller includes a damping term in order to control the dissipation of energy.
The Salisbury controller, associated with Cartesian control, is widely cited in the literature [1, 33]. However, no controller family structure, as proposed herein, has been reported for Cartesian space control, specifically in the context of stiffness control. Furthermore, it is important to note that similar structures have been reported in the case of joint space control. Moreover, the stability analysis for this control approach is usually performed using linear system techniques, and in the few papers that use a Lyapunov approach, such an analysis is performed in the joint space. In this case, we take advantage of the properties of the model in Cartesian space in order to demonstrate asymptotic stability. The advantage of this structure is that it results in a large number of control schemes that meet the characteristics of the proposed family.
This paper is organized as follows. In Section 2, a new family of stiffness regulators, their stability analysis in the Lyapunov sense, and a few case studies of stiffness regulators members, are presented. In Section 3, the platform used in the experiments and the experimental evidence of the aforementioned case studies are presented. Finally, conclusions are presented in Section 4.
A new family of stiffness regulators and dissipative injection
In this section, the control problem is formulated in Cartesian-space - for the purpose of clarity, the relationship between the well-known joint space dynamic model and the dynamic model of the end-effector in Cartesian-space is reviewed.
A dynamic model of robot manipulators
The dynamic analysis of the robot arm determines a relationship between the joint torques/forces applied by the actuators and the motion of the robot. This motion is described in terms of the joint positions, velocities and accelerations of the robot arm as a function of time. The dynamic model of a robot manipulator, in the joint space, is given by,
where
Consider the forward kinematics map
where
The equation (3) is referred to as the ‘Cartesian dynamic model', which is valid only if the robot arm is away from kinematic singularities. The Cartesian dynamic model can be described in terms of the joint space dynamic model and the Jacobian matrix as,
In the case of a kinematically redundant manipulator, i.e., with a non-square Jacobian matrix, a dynamically consistent, generalized inverse of the Jacobian [35] can be adopted as,
which is referred to as the ‘right pseudoinverse'. If J(q) is square, the pseudoinverse (4) is reduced to the standard inverse Jacobian matrix J−1(q). Without loss of generality, in this paper a square Jacobian matrix is considered, i.e., m=n.
The Cartesian dynamic model (3) has important properties that are useful in control problems, the most important ones being,
where λ min , λ max stands for the minimum and maximum eigenvalues of matrix Mχ.
Once the principal properties and the relationship between the Cartesian space and the joint space dynamic models are defined, it is possible to define a control problem and a proposed solution.
In mechanics, Hooke's law of elasticity is a model that states that the extension of a spring is in direct proportion to the load applied to it. Many materials comply with this law so long as the load does not exceed the material's elastic limit. Materials for which Hooke's law is a valid approximation are known as linear-elastic or “Hookean” materials. Hooke's law, in simple terms, states that strain is directly proportional to stress.
The most commonly encountered form of Hooke's law is the spring equation, which relates the force exerted by a spring to the stretched distance by using a spring constant k, measured in terms of force per length. Mathematically, Hooke's law states that
where x denotes the actual position of the spring's end while x0 denotes its relaxed position, f(x) is the restoring force exerted by the spring on that end, and k is a scalar constant referred to as the spring constant. The negative sign indicates that the force exerted by the spring is in direct opposition to the direction of displacement. It is designated as a restoring force, as it tends to restore the system to its relaxed position. It is important to notice that the potential energy stored in the spring is given by
For a robot arm, whose movements are typically in 3D space, the behaviour of a spring in the end-effector can be reproduced by considering the following expression, [18], which represents the model of a multidimensional spring or linear elastic material,
where xd∊
n
denotes the relaxed position of the spring in the n-dimensional workspace, while xd∊
n
denotes the actual position of the end-effector, or the virtual spring's end. K∊
nxn
is known as the ‘stiffness matrix'. In this case, the artificial potential energy stored in the virtual spring is given by
The multidimensional Hook model (9) describes the behaviour of an n-dimensional linear spring - it is important to note that this model belongs to a particular class of spring models. In particular, this model describes a linear spring with no physical constraint, i.e., expression (9) models a linear spring that can be stretched or compressed in any direction with any displacement. The focus of this paper is to extend this idea by considering a multidimensional spring model by using Hook's law in a generalized function. The most important elements used to describe the model are the following: a constant spring matrix, denoted by
The expression for our generalized virtual spring model is given by
this model is written using a notation that makes it easy to relate to the potential energy given by
This paper addresses an indirect interaction control approach, referred to as an indirect stiffness control approach, which will be related to the Cartesian robot-control structure. In such a control structure, a force modelled in (10) - in stable state - is applied with the end-effector to a fixed environment (restricted motion); the force is indirectly manipulated by controlling the position of the end-effector with respect to a constant given position which serves as the relaxed point of the virtual spring model.
The aforementioned control problem can be defined, indirectly, in terms of a Cartesian position-regulation problem for unconstrained motion, which consists of finding fχ in order to accurately achieve a desired constant position xd starting from a near-initial condition x(0). In more formal terms, in the case of unconstrained motion, the control objective consists of finding fχ such that
where
where x d is defined as stated above.
If the manipulator performs a constrained motion, it is clear that it is not possible to achieve the control objective (11). In this case, in a similar manner to that of the classical stiffness control [18] designed for static behaviour, the control objective for a constrained motion consists of applying a force to the environment with the end-effector at the contact point, given by
where
The proposed control (14) associates the artificial potential energy
Assuming that xd is a constant vector, the equation that describes the closed-loop system can be represented in terms of the state vector
where
In the robotics literature, a simple but significant model of contact [36] is widely used. In this case, a decoupled, elastically compliant environment is considered
where
In order to study the existence of the equilibrium point of the system (15), an analysis is performed under the following conditions, [(i)]
For design purposes, we assume that
It is true that
The first condition for the existence of the equilibrium point is given by
which implies that x is constant when condition (20) is true. This constant vector will be denoted as xE, and as such a constant vector exists,
The second condition is given by
Considering that
which is consistent with Newton's third law on steady states.
It is important to analyse the expression (22) and interpret it correctly. If the interaction force does not exist, then
The concern of this section is to perform the stability analysis in a Lyapunov sense for the system (15) when an interaction force exists, as the opposite case is trivial. We will proceed in a similar manner as Canudas et al, [35], who analyses the classical stiffness control approach with an equilibrium point out of the origin.
Consider the following Lyapunov-like function
where the first and third terms are radially unbounded and positive definite - due to their quadratic form - and
The minimum of
hence, the minimum
For the stability analysis of the equilibrium point
where
The time derivative of the Lyapunov candidate function (25) along the trajectories of the closed-loop system (15) is given as follows,
Thus, by substituting
where
Since the closed-loop equation (15) describes an autonomous nonlinear system, the use of LaSalle's theorem [37] is a valid alternative to analyse the asymptotic stability of the equilibrium point.
With this aim in mind, the set Ω is used
Observe that
which means that
As a result, the equilibrium point
As such, the control objective for the indirect stiffness control approach is achieved. Further details are given in the Appendix, where the boundedness of the state-equation solution is studied.
Several controllers can be generated by using the proposed structure (14), and some examples are given below.
PD-type controller structure
The PD Cartesian position controller (Salisbury's stiffness controller) belongs to the family of stiffness controllers with dissipative terms, which are given in (14). The structure of the PD regulator can be formed by using a linear spring model
In order to perform the stability analysis of the dynamic system given in (15) for this controller, the following Lyapunov function candidate is used,
where
In this case, V0 was obtained in a similar way to the general case presented above.
The time-derivative of the Lyapunov candidate function (31) along the trajectories is
In order to study the asymptotic stability, it is possible to apply LaSalle's theorem in the region (28), where the unique invariant is
The tanh-tanh Cartesian controller structure reproduces the behaviour of a nonlinear virtual spring plus a saturated dissipative term. In Cartesian space, this controller represents a saturated PD regulator, but in the joint space this feature is not satisfied since the applied torques are not saturated. The structure of the tanh-tanh controller is given by
where tanh(α) represents - using a simplified notation - a vectorial function given by
for
Furthermore, the stability analysis can be carried out by selecting the following candidate Lyapunov function,
where
In this case, V0 was obtained in a similar way to the general case presented above.
The time-derivative of the Lyapunov candidate function (37) along the trajectories is
Considering that Kv>0 is a diagonal matrix, note that
In order to study the asymptotic stability, it is possible to apply LaSalle's theorem in the region (28), where the unique invariant is
The reciprocal-quadratic (RQ) Cartesian controller is a new member of the family of indirect stiffness regulators, which reproduces the dynamic behaviour of a virtual nonlinear spring in addition to a dissipative term. Similar to the tanh-tanh structure, this controller represents a saturated-proportional/saturated-derivative regulator in Cartesian space, although the applied torques are not saturated in the joint space. The structure of the RQ-type controller, which was proposed while looking for a mathematical structure that would meet the properties of the stiffness control family, is given by (41). This control structure represents a control scheme that is inversely proportional to the position error. When the position error is large, the control provides a small applied torque, while when the position error is small, the torque will be within the operational range, as provided by a proper tuning of the controller gains. With these properties, the control scheme drives the position error to zero.
where the following vectorial function is described - using a simplified notation - as
for
Moreover, in order to carry out the stability analysis, the following candidate Lyapunov function is proposed,
where
In this case, V0 was obtained in a similar way to the general case presented above.
The time-derivative of the Lyapunov candidate function (43) along the trajectories is
Considering that Kv>0 is a diagonal matrix, note that
In order to study the asymptotic stability, it is possible to apply LaSalle's theorem in the region (28), where the unique invariant is
Experimental evidence of the performance of the proposed controllers was obtained using an anthropomorphic direct-drive robot which was designed and built at the Robotics laboratory of Benemérita Universidad Autónoma de Puebla (BUAP). The three-degrees-of-freedom robot, “Rotradi” (Figure 1), consists of three 6061 aluminium alloy order to drive the joints without gear reduction. The motors used in “Rotradi” comprise DM-1050A, DM-1150A and DM-1015B models from Parker Compumotor for the base and the shoulder and elbow joints, respectively. The servomotors are operated in torque mode, which means that the motor acts as a torque source and that they accept an analogue voltage as a reference for the torque signal. The features of the servo actuators are shown in Table 1. The robot system has a device designed for reading the encoders and generating the reference voltages, namely a motion control board from Precision MicroDynamics Inc. The control algorithms are written in the language C and run in real-time with a 2.5 ms sample period on a Pentium 1 computer running at 166 MHz.

Experimental robot “Rotradi”
Robot arm servo actuators
A challenging task to which the controllers presented in this work can be applied involves engraving a metal surface using a drill mounted at the third link of the arm, as shown in Figure 1. The direct kinematics are helpful in describing the experimental results due to the fact that the proposed control structure is given in Cartesian space. The direct kinematics x of the robot used in the experiments are given as follows,
where l2 = l3 = 0.45m represent the lengths of the second and third links, while d2 = 0.15m and d3 = 0.10m denote the lengths of the servos for the shoulder and elbow joints, respectively. In addition, dx = 0.175m, dy = − 0.03m and dz = 0.05m represent the dimensions of the tool attached at the third link. As commented upon above, and in order to compute
The experiment was designed in order to evaluate the performance of all the aforementioned control schemes. This experiment consists of placing the robot at an initial configuration by using the joint control and then the Cartesian control is activated. The reference for the stiffness control is given in such a way that the interaction between the tool and the metal surface is ensured. The metal surface, consisting of an aluminium sheet, is placed on the force sensor in order to measure the interaction forces. At the same time, the sensor is fixed on a work table. The objective of the manoeuvre is to leave a mark on the metal surface of the metal sheet using a drill. The initial conditions are depicted in Figure 1.
The initial position for the end-effector was set at x(0) = 0.300 0.420-0.585 m, and the desired position was xd = 0.300 0.420-0.688 m; furthermore, the work surface was placed - with respect to the robot - at a distance of approximately ze = − 0.686m. Table 2 shows the gain matrices for all the control schemes. These values were selected based on the experience obtained while tuning the controllers in Cartesian space.
The results of all the control schemes are now presented. For each control scheme, the results regarding the position errors, the applied control torques and the interaction force, measured with the force sensor, are shown. It is worth mentioning that, in order to mark the surface, the experiments had to be performed with the drill turned on.
The gain matrix for all the control schemes

Experimental evidence for the PD control scheme

Experimental evidence for the tanh-tanh control scheme
The results of the PD control scheme are shown in figures 2(a), 2(b) and 2(c). The first figure shows that there exists an error in the x3 direction, due to the interaction with the surface. The second figure shows that the applied torques are within the operational range. The last figure shows that the interaction force is noisy due to the vibration of the rotating tool.

Experimental evidence for the RQ control scheme
The results of the tanh-tanh control scheme are shown in Figures 3(a), 3(b) and 3(c). The results of the tanh-tanh scheme are similar to the e results of t n h he PD scheme.
The results of the RQ control scheme are shown in Figures 4(a), 4(b) and 4(c). The results of the RQ scheme are similar to the results of the two aforementioned control schemes.
The proportional and derivative gains were tuned, for each controller, by trial and error; in the experiments, these gains were empirically designed to seek the best time-response, without overshoot and with a minimum steady-state position error. From the experimental results, it can be seen that all the components of the position error, after a smooth transient, tend asymptotically to a small neighbourhood of zero. The response obtained with these controllers does not exhibit overshoot while also achieving fast convergence to zero position error.
In order to get a measure of the performance of all the control schemes, the norm
All the values obtained were normalized with respect to the maximum value. These values are presented in a percentage scale in Figure 5. The normalized index of error shows that the tanh-tanh scheme presents less error with respect to the PD scheme and the RQ scheme, while the PD scheme presents more error than the rest of the schemes.

Normalized norm
Once it was determined that the tanh-tanh scheme gives the best performance, a point-to-point control application was designed in order to perform an engraving task. The task was planned for the engraving of the letter ‘V'. The reference points used to draw the ‘V’ are presented in Table 3. It is important to note that a large number of interpolated points were generated, with a periodicity of 100 ms, in order to make this a high resolution manoeuvre. Further-more, each line of the ‘V’ was planned to be completed within 15 seconds. Figures 6(a), 6(b), 6(c) and 6(d) show the results.

Engraving task
Main points used in the engraving task
Figure 7 shows a picture with a pair of traces over the surface. It is expected that, in order to improve the experimental results while testing the different control schemes, a robot with a higher structural stiffness - such as a Cartesian robot - is preferable. In this scenario, the vibration caused by the drill would have a reduced effect on the system.

Traces over the surface
In this paper, a new family of stiffness control structures has been presented, designed to achieve the desired static behaviour of the interaction of a robot with the environment. The stiffness controller proposed by Salisbury can be considered as a particular member of the proposed family. The original idea of simulating a linear multidimensional spring with the end-effector of the robot manipulator - as the virtual spring's end - has been expanded to nonlinear models. The generalization consists of simulating a multidimensional spring - not necessarily linear - but with a well-defined mathematical structure. The new family of stiffness controllers is supported and validated with a rigorous stability analysis in the Lyapunov sense; it was found that the equilibrium point of the closed-loop system is locally and asymptotically stable in the Lyapunov sense.
In the absence of interaction forces, the controller becomes a position regulator in Cartesian space. Three case studies have been presented, including a new proposed controller. The case studies are as follows: the Cartesian PD controller (Salisbury's stiffness controller), the Cartesian tanh-tanh PD control structure, and the new controller which includes a proportional term of the Cartesian position error, and another term with the corresponding time-derivative; each term has a RQ form with their respective variable. Using the controllers, an engraving task was designed and performed in order to demonstrate the performance of all of the control schemes presented herein.
As a final comment, it is worth mentioning that the stability analysis was performed by using a Lyapunov criterion which exploits the properties reported for the model in Cartesian space. A final, more challenging experiment used to test the performance of the controllers consisted of a point-to-point application. In this case, the control structure was originally designed for regulation. Tackling the problem of tracking is proposed for future work, as well as dealing with the presence of parametric uncertainty in the robot model. In this case, an adaptive version of the control scheme might be a suitable solution approach [39]. In the tracking problem case, the analysis in Cartesian space represents a bigger challenge because not all the properties of the model in the joint space are mappable to the model in Cartesian space.
Acknowledgements
The first author would like to thank CONACyT and the ECOES programme for partially funding this work.
Footnotes
Appendix
From the stability analysis, it was obtained that
which implies that
Consequently, by considering the definition of
where λmin {Mχ} represents the minimum eigenvalue of the matrix Mχ.
Hence, the following maximum bounds are obtained,
Additionally, consider the common structure
hence,
