Mechatronics 24 (2014) 108–117
Contents lists available at ScienceDirect
Mechatronics journal homepage: www.elsevier.com/locate/mechatronics
Friction compensation techniques for tendon-driven robotic hands Gianluca Palli ⇑, Claudio Melchiorri DEI – Department of Electrical, Electronic and Information Engineering, University of Bologna, 40136 Bologna, Italy
a r t i c l e
i n f o
Article history: Received 17 June 2013 Accepted 22 December 2013 Available online 15 January 2014 Keywords: Robotic hands Friction modeling Friction compensation Nonlinear systems
a b s t r a c t In this paper, novel methods for friction compensation in tendon-driven robotic hands are presented and discussed. The results of the proposed techniques have been experimentally validated on the DEXMART robotic hand, where the adoption of joints based on sliding pairs (to reduce the complexity of the mechanism and to ease the assembly procedure) introduces as a side effect a non-negligible joint friction. These friction phenomena have been modeled by means of a specialized version of the LuGre model in which the friction coefficients vary with the normal force. After an experimental validation on a specific laboratory setup, a simplified friction model has been derived and used in the joint position control loop of the DEXMART hand to compute a feed-forward term for reducing the position error. A comparison of this approach with other model and non-model based friction compensation techniques is also presented and discussed. Ó 2013 Elsevier Ltd. All rights reserved.
1. Introduction In the past, the biomimetic approach has succeeded in overcoming many difficult challenges in engineering design, and nowadays it is increasingly applied in robotics to address problems that have proved resistant to conventional engineering solutions, as shown by the explosive growth in biomimetic research [1]. Despite the relevant number of anthropomorphic robotic hand prototypes developed so far, comparing the features exhibited by each design with those of the reference model, the human hand, it is evident that many evolution steps are still necessary and further research effort in the field is fully motivated. In this context, the research activity carried out within the DEXMART project [2–4] is aimed at the development of a ‘‘new generation’’ of robotic hands, see Fig. 1, characterized by a biologically-inspired endoskeletal structure with sliding pairs, a tendon-based transmissions system, an appropriate sensory apparatus, that includes force, tactile and position sensors, integrated into the mechanical structure of the robotic hand, and a soft contact interface mimicking the human skin [5] for improving the distribution of the contact forces and the stability of the grasp. On the other hand, the choice of bioinspired solutions instead of their ‘‘classical’’ mechanical counterparts implies a fine modeling of each subsystem and the adoption of suitable control algorithms for compensating the side effects of these design choices. This approach is in line with the philosophy of moving the complexity from the time and cost expensive
⇑ Corresponding author. Tel.: +39 051 20 93186. E-mail addresses:
[email protected] (G. Palli),
[email protected] (C. Melchiorri). 0957-4158/$ - see front matter Ó 2013 Elsevier Ltd. All rights reserved. http://dx.doi.org/10.1016/j.mechatronics.2013.12.006
mechanics and electronics to the easy reprogrammable control software design. Based also on previous works on the identification of both tendon [6] and joint [7] friction, carried out on many robot hand prototypes, the investigation of friction compensation techniques for tendon-driven robotic systems is reported in this paper. This analysis has been applied to the joints of the DEXMART Hand, focusing on both tendon and joint friction modeling, and on the identification of the model parameters. The friction emerging both in the joints and in the tendons shows a nonlinear load dependent behavior. This fact requires the introduction of a recursive algorithm for computing the necessary actuation forces for compensating the friction effects without increasing too much the controller complexity. The experimental activity reported in this paper has been carried out on a simplified system, shown in Fig. 2, composed by one finger of the hand to ease the analysis, focusing only on the friction problem. The joint friction has been firstly identified by means of a specialized version of the LuGre friction model. Then, two approaches have been used to compensate the joint friction. In the first approach, a simplified version of the LuGre friction model used for the friction identification has been adopted. This model has been suitably adapted for reducing the complexity and the computational effort of the control algorithm. In the second case, a non-model-based approach based on a generalized momenta observer has been evaluated and compared with the previous technique. An experimental evaluation of the friction compensation techniques has been carried out, considering also a proper combination of the two approaches. The paper is structured as follows: Section 2 reports the motivations of this work and a brief overview of the literature about the
G. Palli, C. Melchiorri / Mechatronics 24 (2014) 108–117
109
Fig. 3. The experimental setup for joint friction identification.
Fig. 1. The DEXMART Hand.
relevant topics discussed in this paper. Section 3 reports the joint friction model and the experimental verification of the joint friction effects. In Section 4 a brief description of the DEXMART Hand and of the experimental setup used for the validation of the proposed friction compensation techniques is reported, whereas Section 5 addresses the definition of the proposed model and nonmodel-based friction compensation techniques. Finally, Section 6 shows the results of the experimental evaluation of the proposed techniques and Section 7 reports the conclusions and the future research directions of this work. 2. Motivations and related work Many robotic hands have been developed and proposed in the literature, focusing on different design aspects like reduction of the number of actuators [8], anthropomorphic aspect [9], very high speed [10] or compliance [11], dexterity potentialities [12–14] or robustness [15] to name a few. Most of the proposed design solutions are based on ‘‘classical’’ approaches, mainly based on nonbiologically inspired mechanics, with abundance of gears, pulleys, bearings and similar hardware. These approaches allow developing robotic systems that are relatively simple to control but very difficult and expensive both in the design and in the production phases. Simplification of the mechanical design, the overall costs and the time production have been some of the goals of the DEXMART Hand project. In particular, in the DEXMART Hand, shown in Fig. 1, the simplification of the joint mechanism is obtained by adopting integrated pin joints with sliding profiles, as shown in detail in Fig. 4. This solution allows reducing at minimum the assembly complexity, but introduces non-negligible friction at
joint level, that must therefore be compensated by proper control strategies, as discussed in the following sections. Several model based [16,17] and non-model based [18–20] techniques for friction compensation can be found in literature. While model based techniques rely on the identification of a suitable friction model, non-model based techniques consist in the design of an observer able to estimate the deviation of the system dynamics from its nominal behavior, i.e. without friction, caused by external disturbances, i.e. the friction. The advantage of model based friction compensation is the possibility of a simple feedforward implementation, that in general does not affect the system stability. However, a drawback is that it usually requires a complex identification phase [6,21,22] and, moreover, its effectiveness is limited by the time and condition variability of friction phenomena. This latter issue can be mitigated by adopting adaptive friction estimation [23], at the expense of implementation complexity and system stability. On the other hand, non-model based compensation does not need the identification of the friction model and parameters, but requires the knowledge of the (nominal) system dynamics. Moreover, system stability is crucial in this case since these techniques are based on the system output (or state) feedback. In this paper, the identification of the friction phenomena acting at joint level and the experimental evaluation of both model and non-model based compensation techniques for the DEXMART Hand are considered, trying to define a suitable trade-off between the complexity of the identification procedure, the complexity of the robotic hand controller and the performance of the overall system.
3. Joint friction model The first step toward the implementation of a model based joint friction compensation algorithm is the definition of a suitable friction model and the identification of the relative parameters. According to [24] and because of the sliding contacts, the friction
Fig. 2. Detailed view of the finger actuation module.
110
G. Palli, C. Melchiorri / Mechatronics 24 (2014) 108–117
Fig. 4. Detailed view of the joint design. (a) Frontal view of the joint. (b) Detail of the joint sliding surface asymmetry with respect to the joint rotation axis.
affecting each joint depends on the load applied to the joint itself. For this reason, several experiments have been performed aiming at the evaluation of the friction acting on the finger joints. In these experiments, each couple of links connected by the joint to be investigated is mounted (separated from the other links of the finger) on a purposely designed setup that allows driving the joint by means of two antagonistic tendons. The experimental setup is shown in Fig. 3: this setup is conceived also to make the tendon friction negligible, in such a way that it is possible to measure the tendon forces by means of the motor force sensors. This allows decoupling the identification of the joint friction from the friction effects acting on the tendons. The way how the effects of joint and tendon friction are combined within the robotic hand is described in Section 5. Then, the load force f n applied by the tendons to the joint under investigation (referred in the following as normal load) can be simply computed as:
fn ¼ fþ þ f
ð1Þ
in which f þ is the force applied to the tendon used to ‘‘close’’ the joint (increasing the joint angle) and f is the force of the tendon used to ‘‘open’’ the joint (decreasing the joint angle). In the experiments for the evaluation of the joint friction, the joint position is controlled by means of a simple proportional controller. The desired tendon forces f þ and f are computed as:
sf ¼ Kðhd hÞ f þ; ¼
2r
favg s rþ þ r
;þ
ð2Þ f
the mean value of sf =f n for the four joints over the whole motion range, while the vertical bars indicates the variance of the data. From these plots, it emerges that the ratio between the friction torque and the normal force sf =f n decreases as the normal force f n increases. Another important point to note is the significant asymmetry of the friction depending on the positive or negative value of the joint velocity. Despite the well-known non-homogeneous behavior of friction for different motion directions, this phenomenon can be mainly ascribed to the asymmetric design of the joints’ sliding surface, as shown in Fig. 4. In particular, Fig. 4(b) shows the joint from a lateral view that allows to appreciate how the sliding surface is not symmetric with respect to the joint center of rotation in the direction of the tendons. This causes a different distribution of the joint normal load over the sliding surface in case the larger force is generated by the tendon used to close the joint or by the tendon used to open it. This interpretation of the asymmetric behavior of the friction also explains why this phenomenon is present in all the evaluated joints. On the basis of previous experiences on the topic [7,24], a LuGre-like dynamic model [17,27] has been chosen to represent the friction effects acting on the joint. The adopted friction model is described by:
8 2 < lþ þ ðlþ lþ Þeðxh_ Þ ; if h_ P 0 c s c l0 ¼ 2 h_ : l þ ðls lc ÞeðxÞ ; if h_ < 0 c fn l ¼ l0 c þ ð1 cÞ ef0
ð3Þ
where K is the gain of the joint controller, h and hd are the actual and the desired joint angles respectively, rþ; are the radii of the joint pulleys of the two antagonistic tendons, see Fig. 4(b), and favg is the desired average load of the two tendons. It is important to note that this particular choice of f þ and f implies, from (1), f n ¼ 2f avg . In the experiments, different values of the average force favg ranging from 5 to 40 N have been adopted. A trapezoidal trajectory spanning the whole joint motion range has been used as angular position reference. The time for spanning the whole joint motion range can be arbitrarily selected, allowing the evaluation of the joint behavior for different values of (nearly constant) joint velocity, in both positive and negative motion direction. Since in the operating conditions of these experiments no other forces are acting on the joint, and since the joint inertia can be neglected (due to its small value), sf in (2) can be directly considered as a measurement of the joint friction. During these experiments, the joint velocity has been evaluated by means of the joint integrated position sensor [25] through a discrete-time adaptive windowing filter [26]. In Fig. 5 the relationship between the joint velocity and the ratio sf =f n obtained by testing all the finger joints for different values of f n are shown. The bullets indicates
z_ ¼ h_ r0
_ jhj
z fnl s^f ¼ r0 z þ r1 z_ þ b h_
ð4aÞ ð4bÞ ð4cÞ ð4dÞ
^f is the estimated torque loss due to friction and the meanwhere s ing of the symbols is reported in Table 1. It can be easily verified that the condition on the parameters of the LuGre model (4) to define a passive operator [28] are satisfied. In particular, this model allows considering the direction-dependent behavior of the joint friction by means of (4a), whereas the decreasing value of the sf =f n ratio for increasing f n observed in the experiments is resembled by (4b). This last phenomenon can be physically interpreted by considering the non-purely elastic behavior of the contact points (bristles) between the two bodies in relative motion due the material of the contacting surfaces (ABS plastic), and in particular assuming that some of those may collapse in case of high normal load. Eq. (4c) represents the dynamics of the friction internal state (that depends on the normal force f n ) and (4d) computes the friction torque considering both the stiffness and the damping of the bristle together with the dynamic friction effects. Several techniques and experimental procedures are reported in literature for the identification of the parameters of the LuGre
111
G. Palli, C. Melchiorri / Mechatronics 24 (2014) 108–117
Fig. 5. Typical joint friction characteristic: experimental measurements (bullets) and friction estimation by the LuGre-like model (lines).
Table 1 Symbols and numerical values of the parameters adopted in the joint friction model. Variable
Symbol
Value
Unit
Position gain
Kh
0.005
N m rad
Positive Coulomb friction Positive static friction Negative Coulomb friction Negative static friction Stribeck velocity High force friction Normal force constant Bristle stiffness
lþc lþs lc lþs x c
0.31 0.34 0.23 0.26 0.9 0.47 12.5 2017
f0
Bristle damping
r0 r1
Dynamic friction
b
1.2e6 2.1e2
1
m s1
1
l0
s ;
ð5bÞ
þ c ;
1 r0
! jh_ k j zk þ h_ k T T f nl
ð7Þ
N m s rad
ð5cÞ
T is defined, where Wk ¼ l l l l x; c; f 0 ; b is the vector of the parameters estimated at step k, and l is clearly a function of Wk . þ s ;
zkþ1 ¼
1
ð5aÞ
8 2 < lþ þ ðlþ lþ Þeðxh_ Þ ; if h_ P 0 c s c ¼ 2 h_ : lc þ ðls lc ÞeðxÞ ; if h_ < 0
JKk
where denotes the pseudoinverse of the Jacobian ¼ @ K=@ Wjk . The vector Wk can be initialized by a set of roughly estimated parameters. Even if the parameters contained in W are sufficient for control purposes, as detailed in the following section, the estimation of the parameters ½r0 ; r1 can be performed by a second evaluation step by exploiting the measurement of the joint friction during the velocity transient. To this end, (4c) can be approximated by means of the discrete-time expression
1
N m s rad
ð6Þ
þ JKk
N N m rad
friction model [21,29–31]. In this work, the identification of the model parameters has been achieved by implementing a numerical procedure in MatlabÓ for the minimization of the modeling error with respect to the overall set of experimental measures. The implemented algorithm for the estimation of the friction parameters is detailed in the following of the section and is based on a two-steps procedure in which the parameters of the ‘‘static’’ part of the model (i.e. by assuming z_ ¼ 0) are estimated first, and then the ‘‘dynamic’’ parameters are estimated in a second step. In the first evaluation step, only the experimental data obtained in nearly constant velocity conditions are used, and the cost function
_ Wk Þ ¼ sf lf n b h_ Sk ðsf ; f n ; h; fn l ¼ l0 c þ ð1 cÞ ef0
þ
Wkþ1 ¼ Wk þ JKk Kk
c ;
By defining Kk ¼ ½Sk0 ; ; SkN T the vector of the measurements, the parameters can be estimated by applying the Generalized Newton– Raphson (GNR) method
where T is the discretization period. From this expression, the bristle deviation zk can be written by means of discrete time integration as a function of its initial value z0 and of the parameter r0 :
zk ¼ z0 Pk1 n¼0 1 r0 " þR
k2 n¼0
k1 m¼nþ1
P
jh_ n j T f nl
!
jh_ m j 1 r0 n T f l
!# h_ n T þ h_ k1 T
ð8Þ
Then, from (4d) f
mk ðfk Þ ¼ s r0
! jh_ k j 1 r1 n zk ðr1 þ bÞ h_ k f l
ð9Þ
where fk ¼ ½z0 ; r0 ; r1 T is the vector of the estimated dynamic parameters at time k. By defining Xk ¼ ½mk0 ; ; mkN T as the vector of the experimental measurements, and the quadratic error function
1 2
v2k ¼ XTk XK
ð10Þ
Then, the vector f of the parameters can be iteratively estimated by applying the Levenberg–Marquardt optimization method as
h T T i1 T fkþ1 ¼ fk þ J fk J fk J fk þ q diag J fk J fk Xk
ð11Þ
where J fk ¼ @ X=@fjk and q is the damping parameter that assumes large values when the error function is large and decreases as the
112
G. Palli, C. Melchiorri / Mechatronics 24 (2014) 108–117
error function value decreases, leading to the same GNR method adopted in the first estimation step. Despite some variations of the model parameters between different joints, the qualitative behavior is preserved, making it possible to assume the mean value of the measured friction during different experiments and with different joints as reference for the friction model parameters estimation. This choice has been made considering also that, since the friction parameters are subject to significant variations depending on the operating conditions (humidity, temperature, etc.) and joint wear, a qualitative representation of the joint friction effects is more important than a time-expensive precise estimation of the friction parameters of each joint. This also avoids the use of a separated friction parameter set for each joint. The numerical value of all the parameters of the model are reported in Table 1, whereas the friction characteristic reconstructed by means of the proposed model is reported in Fig. 5 by solid lines for comparison with the experiments.
4. The experimental setup In the second phase of the investigation, a finger of the DEXMART Hand, see Fig. 2, has been used as a testbed for the validation of the friction compensation techniques. Only a brief description of the finger design is reported here for brevity, the interested reader may refer to e.g. [3] for more details about the finger kinematics and tendon network. The robotic finger presents an anthropomorphic structure: according to the anatomical description of the human finger, it has a 2-DOF metacarpal (MCP) joint, a proximal (PIP) and a distal (DIP) joint with 1-DOF each. The finger joints are numbered from 1 to 4, and the corresponding angles are indicated as h1 (MCP adduction/abduction), h2 (MCP flexion), h3 (PIP flexion) and h4 (DIP flexion) respectively. With the aim of reducing the number of the required actuators, a N + 1 tendon network has been adopted, and an internal tendon is used to couple the DIP and the PIP joint motion. The tendons are indicated as T1, T2 (MCP driving tendons), T3 (driving DIP and PIP), T4 (antagonistic tendon) and T5 (internal coupling tendon) [3]. The mechanical structure of the finger testbed is manufactured with 3D printing (more precisely Fused Deposition Manufacturing, FDM) in ABS plastic (as well as the whole DEXMART Hand mechanical structure). This technique has been adopted because it allows evaluating a large number of design alternatives with high morphological complexity and a good manufacturing time/cost trade off. Aiming at improving the integration between all the system components in the perspective of a reduction of the assembly complexity, fingers with pin joints and sliding profiles integrated into the phalanx body, see Fig. 4, are adopted in the DEXMART Hand. In spite of the sliding contacts, this solution shows very good reliability: no failures occurred after about one hundred thousand working cycles. Also, the selection of the tendon material plays a crucial role in tendon-based transmission. In the last years, polymeric fibers have been largely used because, despite the comparable elastic module with respect to alloy cables, they can be simply assembled by using knots and allow a significant reduction of the minimum tendon curvature, on the other hand, they show hysteresis in the force– elongation characteristic that introduces stability problems in the transmission system control [6,32]. The selected tendon material is a multi-filament yarn made of Ultra High Modulus PolyEthylene (UHMPE). The capability of this commercially available polymer (DynemaÒ Fast-Flight) to accomplish a minimum of 100 000 working cycles under different load conditions has been tested in our experimental activity. The actuation of the finger testbed, as well as of the DEXMART Hand, is based on the twisted string actuation system [33,34]. With respect to conventional solutions, the main advantages of this
actuation system consist in the direct connection between the motor and the tendon without intermediate mechanisms (like gearboxes, pulleys or ball screws), in the direct transformation from rotative to linear motion, in the extremely reduced friction (only an axial bearing is needed), in the very high reduction ratio, in its intrinsic compliance and in the possibility of using very small high-speed motors, see to [34] for a detailed analysis of this transmission system. As shown in Fig. 2, the robotic finger is driven by four twisted string actuators. Note that the twisted string actuators are connected to the tendons that drive the finger via linear guides built directly into the structure of the forearm to prevent the rotation of the tendon itself. Moreover, each actuation modules is equipped with a motor position sensor and an integrated force sensor [35] for the implementation of the low-level force controller of the transmission system [34] and the measurement of the tendon force. Commercially available optoelectronic components have been used for the development of all the sensors implemented in the robotic finger allowing high immunity to electromagnetic disturbances and limited requirements in terms of conditioning electronics and simplifying the integration of the sensors into the robotic hand [36–38]. The finger is equipped with an optoelectronic position sensor in each joint [25] and a tactile sensor [39,40] integrated into the fingertip. 5. Friction compensation strategies By neglecting the tendon elasticity (thanks to the very high modulus of the tendon’s material [6]), the relationship between the tendon displacement and the finger joint position can be modeled as
2 l ¼ Hh;
r 11
6 6 r12 6 with H ¼ 6 6 0 6 4 0
r 21
0
r 22
0
0
r 33
r 24
r34
0
r35
0
0
3
7 0 7 7 0 7 7 7 r 44 5 r 45
ð12Þ
v ¼ _l ¼ Hh_
ð13Þ T
where l ¼ ½ l1 l2 l3 l4 l5 is the vector of the tendon displacements with respect to the zero position, i.e. with the finger in the straight configuration, v is the tendon velocity vector, h ¼ ½ h1 h2 h3 h4 T is the vector of the joint angles and rij is the radius (i.e. the distance with respect to the joint rotation axis) of the ith joint pulley with respect to the jth tendon. Inspired by the morphology of the human finger, a passive tendon (not connected to any actuator) is used to couple the movement of the DIP and the PIP joints, then it results l5 ¼ 0 (as long as the positiveness of the tendon forces is preserved). This coupling results in a kinematic constrain that can be expressed as
h4 ¼
r35 h3 r45
ð14Þ
Then, the robotic finger has 3 actuated DOF. The numerical values of r ij are reported in Table 2; note that r 12 ¼ r 11 and r 22 ¼ r21 . Due to the virtual work principle, the relation between the tendon force f and the joint torques s ¼ ½ s1 s2 s3 s4 T can be computed as:
s ¼ HT f
ð15Þ
Table 2 Radii of the joint pulleys (in mm). r 11
r 12
r 21
r 22
r 33
r 24
r 34
r 44
r 35
r 45
8.2
8.2
7.8
7.8
6.3
5.3
5.3
5.3
3.5
5.0
113
G. Palli, C. Melchiorri / Mechatronics 24 (2014) 108–117
This last equation is valid only if it is possible to neglect the decay of the tendon tension caused by the friction inside the finger. In the case under study, the tendon friction effects are relevant and therefore the model of these effects are explicitly addressed. The tendon force vector f is defined as:
2
f1
3
2
f1a f1f
3
r 44 f4 r 45
ð17Þ
j 2 f1; . . . ; 5g
ð18Þ
On the basis of the results of a previous investigation [34], we assume in this analysis that the actuation module can be considered, in the frequency range of interest for our application, as an ideal force source (with the restriction to positive force only) and that the tendon displacement can be reconstructed by means of the position and force sensors of the actuation module [34,35]. 5.1. Tendon friction effects The friction acting on the tendons depends on the total curvature angle of its path, on the friction coefficient and on the tendon tension itself [41]. According to the analysis reported in [42], a simplified model of the friction force fijf acting on the jth tendon from the actuation to the ith joint can be expressed as: lt uij ðhÞ v sj
Þ
u01
u02
u03
6 6 u01 þ jh1 j u02 þ jh1 j u03 þ jh1 j uðhÞ ¼ 6 6 0 0 u03 þ jh1 j þ h2 4 0
0
_ a12 ðh; hÞ _ a11 ðh; hÞ 6 a ðh; hÞ _ 6 21 _ a22 ðh; hÞ
0
u04
0
u04 þ jh1 j u04 þ jh1 j þ h2 u04 þ jh1 j þ h2 þ h3
3
7 07 7 07 5 0
ð20Þ where u0j represents the path curvatures of the jth tendon when h ¼ 0 (due to the tendon path geometry). From (16) and (19), eq. (15) can be rewritten as:
0
0
0
0
0
0
0
3
7 _ 0 a24 ðh; hÞ 7 7 _ a34 ðh; hÞ _ a35 ðh; hÞ _ 5 a33 ðh; hÞ _ a45 ðh; hÞ _ 0 a44 ðh; hÞ 0
ð23Þ _ ¼ elt uij ðhÞ v sj aij ðh; hÞ
ð24Þ
The value of the Coulomb friction coefficient of the tendons (lt ¼ 0:11) has been obtained from proper experimental tests (see [6,41] for further details). 5.2. Model based joint friction compensation Although the model (4) is very effective in representing the dynamics of the joint friction, and in particular of the typical friction hysteresis exhibited for small displacements, the use of this model in a realtime control system for compensation purposes may cause implementation problems, in particular for what is related to integration of the time derivative (4c). For this reason, a static approximation of this model can be defined by evaluating the model (4) in steady state conditions (i.e. with z_ ¼ 0). Then, (4c) and (4d) can be rewritten as:
s^fi ¼ li fin sign ðh_ i Þ þ b h_ i
ð25Þ
where li is computed according to (4a) and (4b) considering the load force and the velocity of the ith joint. The definition of li apart, (25) resemble the classic Coulomb model, including the abrupt change of the friction value around zero velocity due to the presence of the sign function. To avoid this effect that may degrade the performance of the joint friction compensation system, and to introduce the effect of the bristles stiffness, the sign function can be substituted with the arctgðÞ function as follows
ð19Þ
where fij is the net force applied by the jth tendon to the ith joint, v sj ¼ signðv j Þ is the sign of the jth tendon velocity v j ; uij ðhÞ is the total curvature angle of the jth tendon path (that depends on the finger joint angles) from the actuation to the ith joint, and lt is the tendon friction coefficient. Besides its simplicity, the friction model (19) is particularly effective for control purposes, as reported in [6,41]. It is important to remark that (19) also takes into account that the tendon friction changes from joint to joint, depending of the configuration of the finger, since the tendon path angle uij ðhÞ changes in time. According to the analysis reported in [24], the matrix uðhÞ, whose elements are the angles uij ðhÞ, can be written as:
2
2 _ ¼6 Hf ðh; hÞ 4
5
fijf ¼ fja fij ¼ fja ð1 e
ð22Þ
where
Obviously, due to the tendon transmission system, the following constraint must be satisfied at each time instant:
fja P 0;
denotes the Schur product. It is possible to rewrite (21) in the following form:
ð16Þ
where f a is the vector of the force applied to the tendons by the actuation system and f f is the vector of the tendon friction forces. As previously mentioned, the passive tendon is not connected to any actuator. Moreover, it is important to highlight that the finger has been designed in such a way that no friction is affecting the passive tendon [3], then f5f ¼ 0. Then, evaluating the equilibrium of the last joint in quasi-static conditions (s4 ¼ 0), from the last line of eq. (15) it results
f5 ¼ f5a ¼
ð21Þ
h i where F ¼ fijf is a 4 5 matrix containing the forces fijf , and ‘’ f
_ a ¼ Ha f a s ¼ ½HT Hf ðh; hÞf
7 6 7 6 6 f2 7 6 f2a f2f 7 7 6 7 6 7 6 6 7 f 7 a f ¼ 6 f3 7 6 ¼ fa ff f f 3 3 7 6 7 6 7 6 6f 7 6 a 4 4 5 4 f4 f4f 7 5 f5 fa ff 5
_ a s ¼ HT ðf a f f Þ ¼ ½HT HT F f ðh; hÞf
s^fi ¼
2 li fin
p
arctgðr0 h_ i Þ þ b h_ i
ð26Þ
This friction model can be easily implemented in a realtime control system obtaining a smooth response also in case of small velocity and noisy velocity measures. It is also worth mentioning that only position information are available from the finger sensors, then the joint velocity h_ is computed from the joint position measurement by means of discrete-time adaptive windowing filters [26]. The friction model (26) can be rewritten in vector form as:
_ Uðh; _ f n Þf n þ b h_ s^f ¼ Hj ðhÞ
ð27Þ
where
_ ¼ diag Hj ðhÞ
2
arctgðr0 h_ i Þ p h i _ f n Þ ¼ diag lðh_ i ; f n Þ Uðh; i i ¼ 1; ; 4
ð28Þ ð29Þ ð30Þ
In free motion (e.g. no external loads applied to the finger) and neglecting the finger’s mass, the load acting on each joint can be imputed to the tendon tension only. Future developments of this
114
G. Palli, C. Melchiorri / Mechatronics 24 (2014) 108–117
research will also consider the effect of the contact forces on the joint normal load. On the basis of the tendon path geometry and considering the tendon T friction loss, the vector of the load forces f n ¼ f1n f2n f3n f4n generated by the tendons on the joints can be formulated as:
f n ¼ Hn f a
ð31Þ
where
2
T
^f dt ¼ h_ T s
Z
0
T
h
i _ Uðh; _ f n Þf n þ b h_ T h_ dt P 0 8 T > 0 h_ T Hj ðhÞ
ð37Þ
0
This fact ensures the stability of the closed loop system is not affected by the friction compensation. More details about the passivity of LuGre-based friction compensation applied to robotic manipulators can be found in [44]. 5.3. Non-model-based joint friction compensation
3
_ a12 ðh; hÞ _ a13 ðh; hÞ _ a14 ðh; hÞ _ 0 a11 ðh; hÞ 6 a ðh; hÞ 7 _ _ _ _ 0 a22 ðh; hÞ a23 ðh; hÞ a24 ðh; hÞ 6 21 7 Hn ¼ 6 7 _ _ _ 4 0 0 a33 ðh; hÞ a34 ðh; hÞ a35 ðh; hÞ 5 _ a45 ðh; hÞ _ 0 0 0 a44 ðh; hÞ
Z
_ defined as in (24). Finally, on the basis of and the function aij ðh; hÞ Eqs. (22), (27) and (31), the torques applied to the joints by the actuation system can be expressed as:
A disturbance estimation algorithm based on the system generalized momenta [45,20] has been implemented for the nonmodel-based compensation of the friction effects acting on the finger joints. Since the estimation algorithm relies on the knowledge of the finger dynamics, the classical Euler–Lagrange dynamic model of the finger has been derived, considering the finger as a four links robot:
_ Uðh; _ Hn f a ÞHn f a b h_ ¼ Hg ðh; h; _ f a Þf a b h_ s ¼ Ha f a Hj ðhÞ
_ h_ þ gðhÞ ¼ sa sf þ J T F MðhÞ€h þ Cðh; hÞ
ð32Þ
ð33Þ
The problem of controlling the finger motion consists in computing the required tendon forces at the actuation side (actuation forces) that generate the joint torques needed to track a desired trajectory in free motion or to apply the desired force during contact. This basically implies the inversion of (33), a non-trivial operation since matrix Hg is a nonlinear function of a f a because of terms of the type f a ef . A possible way to compute the inverse of (33) in a relatively simple manner is based on the observation that (22), that determines how the actuation force affects the joint torque, defines a contraction mapping, if restricted to the image of Ha since the dimensions of the tendon forces (i.e. 5) and of the joint torques (i.e. 4) are different. Then, it is possible to invert (33) by means of a recursive formula of the type
^f a ¼ f min 0 f a ¼ ^f a þ Ha k k k
n þ
sd þ b h_ Hgk ^f ak
^f a ¼ f a þ k kerðHa Þ k kþ1 k k
o
ð34Þ ð35Þ
where fmin > 0 is the desired minimum tendon actuation force, sd is _ ^f a Þ, Haþ denotes the the desired joint torque vector, Hgk ¼ Hg ðh; h; k k a pseudoinverse of matrix H computed at the kth step and kk 2 R is chosen in order to impose the tendon tensions above the threshold fmin (see e.g. [43] for further details)
kk ¼ max
fminj ^f akj
j2f1;;5g
kerðHak Þj
ð36Þ
ð38Þ
_ are the inertia matrix where s is the joint friction, MðhÞ and Cðh; hÞ and the matrix of the Coriolis plus centrifugal terms respectively, gðhÞ is the torque vector generated by the gravitational effects, J is the finger Jacobian matrix, F is the external force applied to the fina gertip, and sa ¼ Hf is the torque generated by the actuation neglecting the tendon friction. Although the Coriolis and centrifugal effects are neglected in this analysis because of their very low value, the reported approach is general and remains valid also if these effects are explicitly considered. Moreover, the analysis reported here considers the free motion condition only, i.e. no external force is considered. The finger generalized momenta can be then expressed as: f
p ¼ MðhÞ h_
ð39Þ
Note that p can be measured from the joint position and velocity, together with the finger inertia. Then, neglecting Coriolis and centrifugal effects and assuming that no other external forces are acting on the joint apart from friction, the finger dynamics can be written as the time derivative of the finger generalized momenta
p_ ¼ MðhÞ€h ¼ sa sf gðhÞ
ð40Þ
Then, by assuming the joint friction torque estimation law
Z
s^f ¼ L
sa s^f gðhÞ dt p
ð41Þ
the joint friction estimation dynamics becomes
s^_ f ¼ Lðsf s^f Þ
ð42Þ
where j denotes the element index of each vector. The force computed in (35) is then a five elements vector, including the force applied to the passive tendon. The forces to be applied by the actuators consist then in
For a better understanding of the estimation algorithm, it is possible to write the transfer function between the joint friction torque and its estimation as
factj ^f akj
s^f ðsÞ ¼
j ¼ 1; . . . ; 4
Due to (17), the passive tendon tension will be univocally determined by the actuation forces fact , then the proposed algorithm for the computation of the desired tendon forces ensures also the minimum desired tension in the passive tendon. One of the main advantage of adopting model based friction compensation techniques, and in particular of the static ones like the (27) proposed in this paper, is represented by their passivity. _ f n Þ is strictly positive definite, f n P 0 and Indeed, since Uðh; _hT Hj ðhÞ _ P 0 8 h, _ the proposed model based friction compensation technique defines a passive map between the joint friction compensation torques and the joint velocities:
L sf ðsÞ sþL
ð43Þ
^f represents a filtered version Then, it is possible to note that s (through a first order filter which bandwidth determined by L) of the friction torque acting on the joint. This joint friction estimation algorithm can be then rewritten as:
^_ ¼ sa gðhÞ þ Lðp p ^Þ p
ð44Þ
^f
ð45Þ
s ¼ Lðp p^Þ
The estimated joint friction torque can be then added to the desired joint torque computed by the joint position controller for compensating the friction effects
115
G. Palli, C. Melchiorri / Mechatronics 24 (2014) 108–117
100
Position [deg]
Position [deg]
100
50
0
Setpoint 2
Setpoint 3
Setpoint 4
Joint 1
Joint 2
Joint 3
Joint 4
0
40
Error [deg]
Error [deg]
40
Setpoint 1
50
20 0
Setpoint 1
Setpoint 2
Setpoint 3
Setpoint 4
Joint 1
Joint 2
Joint 3
Joint 4
20 0 −20
−20
0
2
4
6
8
10
12
14
16
18
20
0
2
4
6
8
Time [s]
10
12
14
16
18
20
Time [s]
Fig. 6. Experimental evaluation of the joint friction compensation, proportional controller only.
100
Position [deg]
Position [deg]
100
50
0 Setpoint 2
Setpoint 3
Setpoint 4
Joint 1
Joint 2
Joint 3
Joint 4
0
40
Error [deg]
Error [deg]
40
Setpoint 1
50
20 0 −20
Setpoint 1
Setpoint 2
Setpoint 3
Setpoint 4
Joint 1
Joint 2
Joint 3
Joint 4
20 0 −20
0
2
4
6
8
10
12
14
16
18
20
0
2
4
6
8
Time [s]
10
12
14
16
18
20
Time [s]
Fig. 7. Experimental evaluation of the joint friction compensation, model based friction compensation.
100
Position [deg]
Position [deg]
100
50
0 Setpoint 2
Setpoint 3
Setpoint 4
Joint 1
Joint 2
Joint 3
Joint 4
0
40
Error [deg]
Error [deg]
40
Setpoint 1
50
20 0 −20
Setpoint 1
Setpoint 2
Setpoint 3
Setpoint 4
Joint 1
Joint 2
Joint 3
Joint 4
20 0 −20
0
2
4
6
8
10
12
14
16
18
20
Time [s]
0
2
4
6
8
10
12
14
16
18
20
Time [s]
Fig. 8. Experimental evaluation of the joint friction compensation, non-model based friction compensation.
sa ¼ sd þ s^f
ð46Þ
The tendon actuation force can be computed as in (35) and (36) as
f a ¼ Ha
þ
sa þ k kerðHa Þ fminj ðHþ sa Þj
k ¼ max
j2f1;;5g
kerðHa Þj
ð47Þ ð48Þ
In this way, the positive tendon force constrain is satisfied for all the tendons, the passive one included. As also stated in the introduction, the non-model-based compensation technique introduces stability issues in a closed-loop control system. Anyway, due to simple structure of the disturbance estimation algorithm, it can be stated that the stability of the closed loop system can be achieved by selecting a sufficiently small value of the parameter L [20].
116
G. Palli, C. Melchiorri / Mechatronics 24 (2014) 108–117
100
Position [deg]
Position [deg]
100
50
0 Setpoint 1
Setpoint 2
Setpoint 3
Setpoint 4
Joint 1
Joint 2
Joint 3
Joint 4
0 Setpoint 1
Setpoint 2
Setpoint 3
Setpoint 4
Joint 1
Joint 2
Joint 3
Joint 4
40
Error [deg]
Error [deg]
40
50
20 0 −20
20 0 −20
0
2
4
6
8
10
12
14
16
18
20
0
2
4
6
8
Time [s]
10
12
14
16
18
20
Time [s]
Fig. 9. Experimental evaluation of the joint friction compensation, non-model + model based compensation.
5.4. Combined friction compensation technique
The implemented joint position controller is a simple Proportional–Derivative (PD) control plus gravity compensation in the joint space:
h4d ¼
r 35 h3 r 45 d
ð50Þ
A sinusoidal reference position trajectory has been used for each joint, at two different frequencies within the range of interest for performing manipulation activities (0.2 Hz and 0.5 Hz). In Fig. 6 the system has been evaluated under the effect of the controller (49) only, and the effects of the joint friction are clearly visible on all the joints. Fig. 7 shows the system response under the effect of the model based friction compensation technique: despite the assumption of the same friction parameters for all the joints, the reduction of the joint position errors is clearly visible also at
Joint 3
Joint 4
−0.05 −0.1
T1
20
T2
T3
T4
T5
15 10 5 0
ð49Þ
The desired joint torque sd is then used in Eqs. (34) and (46) to drive the joint according to the desired position profile defined by hd . This very simple joint position controller has been adopted with the same parameters in all the experiments carried out for the evaluation of the friction compensation techniques reported in this paper. Moreover, a small value of the proportional gain K P ¼ 0:005 N m= deg has been purposely selected to highlight both the effects of friction in case of no friction compensation and the effects of the proposed friction compensation strategies when these techniques are introduced. In all the experiments, the minimum tendon force for all the tendons is fixed to 1 N both to avoid slacks and to reduce the tendon load and joints normal load. In the generation of the joint reference trajectories hd the constraint imposed by the passive tendon has been taken into account; so, according to Eq. (14), hd4 depends on h3d as:
Joint 2
0
1
Torque Error [Nm]
sd ¼ K P ðhd hÞ þ K D h_ þ gðhÞ
Joint 1
0.05
Tendon Force [N]
6. Experimental evaluation
Joint Torque [Nm]
0.1
The friction compensation techniques described in Sections 5.3 and 5.2 can by easily combined by adding in (34) to the desired ^f estimated by (44) and (45). This joint torque sd the friction force s allows exploiting both the knowledge about the friction model and to correct the model and parameters uncertainties by the online estimation of the external forces provided by the non-model-based method. Also, this last compensation technique has been experimentally evaluated to shows the benefits in terms of position error during free motion.
x 10
−3
Joint 1
Joint 2
Joint 3
Joint 4
0.5 0 −0.5 −1
0
2
4
6
8
10
12
14
16
18
20
Time [s] Fig. 10. Experimental evaluation of the joint friction compensation: tendon force and torque error computed by the model based friction compensation algorithm.
the higher velocity. The behavior of the system with non-modelbased friction compensation is shown in Fig. 8: the benefits given by this technique are clearly visible even if its effectiveness is limited by stability issues related to the external force estimation filter bandwidth given by the parameter L appearing in (43). Indeed it can be noted in the response reported in error plot in Fig. 8 the emerging oscillatory behavior of the position error, fact that highlights the reduced stability margin obtained with this technique. Finally, the combined action of both the model-based and nonmodel-based compensation techniques can be evaluated in Fig. 9, from which it can be clearly stated that, as expected, this represents the best solution since it exploits the benefits of both without a significant increase of the controller complexity. With the aim of showing the effectiveness of the tendon force recursive computation method (34), the computed tendon force during the experiments reported in Fig. 7 and the related torque error estimated
G. Palli, C. Melchiorri / Mechatronics 24 (2014) 108–117
by the joint friction model is reported in Fig. 10. From these plots it is possible to see the high accuracy of (34) in reproducing the desired joint torque. 7. Conclusions and future work In this paper the problem of modeling and compensating the friction acting on tendon-driven robotic systems has been addressed, and the DEXMART Hand has been taken as a case study for this analysis. In order to represent the joint friction, a LuGrelike friction model has been proposed and experimentally identified. The model of the joint friction has been firstly evaluated for reducing the joint positioning error, showing its effectiveness in comparison with the case of no friction compensation. Then, an online estimation algorithm of the friction effects based on the generalized momenta of the finger has been also used for the same purposes and the experimental results have been compared with the previous solutions. Finally, the two techniques have been combined and benefits in terms of joint position errors have been evaluated through experiments. Future works will consider the effect of the contact forces on the joint normal load and how to automatize the identification of friction parameters on each joint of the DEXMART Hand. The implementation of a friction compensation technique based of the LuGre friction model will be also investigated together with the extension of the proposed friction compensation methods to more general devices. References [1] Lepora NF, Verschure PF, Prescott TJ. The state-of-the-art in biomimetics. In: Biomimetic and biohybrid systems. Lecture notes in computer science, vol. 7375. Berlin Heidelberg: Springer; 2012. p. 367–8. [2] Villani L, Lippiello V, Ruggiero F, Ficuciello F, Siciliano B, Palli G. Grasping and control of multi ngered hands. In: Siciliano B, editor. Advanced bimanual manipulation. Springer Tracts in Advanced Robotics, vol. 80. Springer; 2012. p. 219–66. [3] Palli G, Melchiorri C, Vassura G, Berselli G, Pirozzi S, Natale C, De Maria G, May C. Innovative technologies for the next generation of robotic hands. In: Siciliano B, editor. Advanced bimanual manipulation. Springer Tracts in Advanced Robotics, vol. 80. Springer; 2012. p. 173–218. [4] Melchiorri C, Palli G, Berselli G, Vassura G. On the development of the UB-Hand IV: an overview of design solutions and enabling technologies. IEEE Robotics Autom Mag 2013;8(3):72–81. [5] Berselli G, Piccinini M, Palli G, Vassura G. Engineering design of fluid-filled soft covers for robotic contact interfaces: guidelines, nonlinear modeling, and experimental validation. IEEE Trans Robotics 2011;27(3):436–49. [6] Palli G, Borghesan G, Melchiorri C. Modeling, identification and control of tendon-based actuation systems. IEEE Trans Robotics 2012;28(2):277–90. [7] Borghesan G, Palli G, Melchiorri C. Friction compensation and virtual force sensing for robotic hands. In: Proc IEEE int conf on robotics and automation, Shanghai, China; 2011. p. 4756–61. [8] Birglen L, Laliberté T, Gosselin C. Underactuated robotic hands. Springer tracts in advanced robotics, vol. 40. Berlin/Heidelberg: Springer; 2008. [9] Carrozza MC, Cappiello G, Stellin G, Zaccone F, Vecchi F, Micera S, et al. A cosmetic prosthetic hand with tendon driven under-actuated mechanism and compliant joints: ongoing research and preliminary results. In: Proc IEEE int conf on robotics and automation, Barcelona, Spain; 2005. p. 2661–6. [10] Namiki A, Imai Y, Ishikawa M, Kaneko M. Development of a high-speed multifingered hand system and its application to catching. In: Proc int conf on intelligent robots and systems; 2003. p. 2666–71. [11] Biagiotti L, Lotti F, Melchiorri C, Palli G, Tiezzi P, Vassura G. Development of UB hand 3: early results. In: Proc IEEE int conf. on robotics and automation, Barcelona, Spain; 2005. p. 4488–93. [12] Melchiorri C, Vassura G. Mechanical and control issues for integration of an arm-hand robotic system. Experimental robotics II, vol. 190. Berlin/ Heidelberg: Springer; 1993. p. 136–52. [13] Liu H, Meusel P, Hirzinger G, Jin M, Liu Y, Xie Z. The modular multisensory DLR-HIT-Hand: hardware and software architecture. IEEE/ASME Trans Mech 2008;13(4):461–9. [14] Lovchik C, Diftler M. The robonaut hand: a dexterous robot hand for space. In: Proc IEEE int conf. on robotics and automation; 1999.
117
[15] Grebenstein M, Chalon M, Friedl W, Haddadin S, Wimböck T, Hirzinger G, et al. The hand of the DLR hand arm system: designed for interaction. Int J Robotic Res 2012;31(13):1531–55. [16] Armstrong-Hèlouvry B, Dupont P, de Wit CC. A survay of models, analysis tools and compensation methods for the control of machines with friction. Automatica 1994;30:1083–138. [17] Olsson H, Åström KJ, de Wit CC, Gäfvert M, Lischinsky P. Friction models and friction compensation. Eur J Control 1998;4(3):176–95. [18] Olsson H, Åström KJ. Observer-based friction compensation. In: Proc of the 35th conf. on decision and control, Kobe, Japan; 1996. [19] Indri M. A robust non-model-based friction compensation approach. In: Proc IFAC symp on robot control SYROCO; 2006. [20] Palli G, Melchiorri C. Velocity and disturbance observer for non-model based load and friction compensation. In: Proc int workshop on advanced motion control, Trento, Italy; 2008. p. 194–9. [21] Hensen R, Van de Molengraft MJG, Steinbuch M. Frequency domain identification of dynamic friction model parameters. IEEE Trans Control Syst Technol 2002;10(2):191–6. [22] Song X, Liu H, Bimbo J, Althoefer K, Seneviratne L. A novel dynamic slip prediction and compensation approach based on haptic surface exploration. In: Proc IEEE/RSJ int conf on intelligent robots and systems, Vilamoura, Portugal; 2012. p. 4511–6. [23] Ray L, Ramasubramanian A, Townsend J. Adaptive friction compensation using extended kalman-bucy filter friction estimation. In: Control engineering practice, vol. 9; 2001. p. 169–9. [24] Borghesan G, Palli G, Melchiorri C. Design of tendon-driven robotic fingers: modeling and control issues. In: Proc IEEE int conf on robotics and automation, Anchorage, AK; 2010. p. 793–8. [25] Palli G, Pirozzi S. Optical sensor for angular position measurements embedded in robotic finger joints. Adv Robotics 2013;27(15):1209–20. [26] Janabi-Sharifi F, Hayward V, Chen C-SJ. Discrete-time adaptive windowing for velocity estimation. IEEE Trans Control Syst Technol 2000;8(6):1003–9. [27] de Wit CC, Olsson H, Åström KJ, Lischinsky P. A new model for control of systems with friction. IEEE Trans Autom Control 1995;40:419–25. [28] Barahanov N, Ortega R. Necessary and sufficient conditions for passivity of the lugre friction model. IEEE Trans Autom Control 2000;45(4):830–2. [29] de Wit CC, Lischinsky P. Adaptive friction compensation with partially known dynamic friction model. Int J Adapt Control Signal Process 1997;11(1):65–80. [30] Gandhi P, Ghorbel F, Dabney J. Modeling, identification, and compensation of friction in harmonic drives. In: Proc IEEE int conf on decision and control, vol. 1; 2002. p. 160–6. [31] Madi MS, Khayati K, Bigras P. Parameter estimation for the lugre friction model using interval analysis and set inversion. In: Proc IEEE int conf on systems, man and cybernetics, vol. 1; 2004. p. 428–33. [32] Palli G, Borghesan G, Melchiorri C. Friction and visco-elasticity effects in tendon-based transmission systems. In: Proc int conf on robotics and automation, Anchorage, AK; 2010. p. 3890–5. [33] Würtz T, May C, Holz B, Natale C, Palli G, Melchiorri C. The twisted string actuation system: modeling and control. In: Proc int conf on advanced intelligent mechatronics, Montreal, Canada; 2010. p. 1215–20. [34] Palli G, Natale C, May C, Melchiorri C, Würtz T. Modeling and control of the twisted string actuation system. IEEE/ASME Trans Mech 2013;18(2):664–73. [35] Palli G, Pirozzi S. Optical force sensor for the DEXMART Hand twisted string actuation system. Sensors Transducers 2013;148(1):28–32. [36] Palli G, Pirozzi S. Force sensor based on discrete optoelectronic components and compliant frames. Sensors Actuators A: Phys 2011;165:239–49. [37] Palli G, Pirozzi S. Miniaturized optical-based force sensors for tendon-driven robots. In: Proc int conf on robotics and automation, Shanghai, China; 2011. p. 5344–9. [38] Palli G, Pirozzi S. A miniaturized optical force sensor for tendon-driven mechatronic systems: design and experimental evaluation. Mechatronics 2012;22(8):1097–111. [39] D’Amore A, De Maria G, Grassia L, Natale C, Pirozzi S. Silicone–rubber-based tactile sensors for the measurement of normal and tangential components of the contact force. J Appl Polym Sci 2011;122(6):3757–69. [40] De Maria G, Natale C, Pirozzi S. Force/tactile sensor for robotic applications. Sensors Actuators A: Phys 2012;175:60–72. [41] Palli G, Borghesan G, Melchiorri C. Tendon-based transmission systems for robotic devices: models and control algorithms. In: Proc IEEE int conf on robotics and automation, Kobe, Japan; 2009. p. 4063–8. [42] Kaneko M, Wada M, Maekawa H, Tanie K. A new consideration on tendontension control system of robot hands. In: Proc IEEE int conf on robotics and automation, Sacramento, CA, vol. 2; 1991. p. 1028–33. [43] Murray RM, Li Z, Sastry SS. A Mathematical introduction to robotic manipulation. CRC Press; 1994. [44] Canudas-de Wit C, Kelly R. Passivity analysis of a motion control for robot manipulators with dynamic friction. Asian J Control 2007;9(1):30–6. [45] De Luca A, Mattone R. Actuator failure detection and isolation using generalized momenta. In: Proc IEEE int conf on robotics and automation; 2003.