Professional Documents
Culture Documents
Joint Stiffnessidentificationofsix-Revoluteindustrialserialrobots
Joint Stiffnessidentificationofsix-Revoluteindustrialserialrobots
a r t i c l e i n f o abstract
Article history: Although robots tend to be as competitive as CNC machines for some operations, they are not yet
Received 31 July 2009 widely used for machining operations. This may be due to the lack of certain technical information that
Received in revised form is required for satisfactory machining operation. For instance, it is very difficult to get information
19 January 2011
about the stiffness of industrial robots from robot manufacturers. As a consequence, this paper
Accepted 7 February 2011
Available online 26 February 2011
introduces a robust and fast procedure that can be used to identify the joint stiffness values of any
six-revolute serial robot. This procedure aims to evaluate joint stiffness values considering both
Keywords: translational and rotational displacements of the robot end-effector for a given applied wrench (force
Stiffness analysis and torque). In this paper, the links of the robot are assumed to be much stiffer than its actuated joints.
Joint stiffness identification
The robustness of the identification method and the sensitivity of the results to measurement errors
Cartesian stiffness matrix
and the number of experimental tests are also analyzed. Finally, the actual Cartesian stiffness matrix of
Complementary stiffness matrix
Serial robots the robot is obtained from the joint stiffness values and can be used for motion planning and to
Robot machining optimize machining operations.
& 2011 Elsevier Ltd. All rights reserved.
1. Introduction literature for serial and parallel manipulators [12,13]; however, the
identification of stiffness parameters has yet to be determined.
Serial robots are mainly used in industry for tasks that require Two methods were presented in [14] to obtain the Cartesian
good repeatability but not necessarily good global pose accuracy stiffness matrix (CaSM) of a five-revolute robot. The first method
(position + orientation as defined in ISO9283) of the robot end- consists of clamping all of the joints except one to measure its
effector (EE). For example, these robots are generally used for pick- stiffness. The joint stiffness matrix of the robot is obtained by
and-place, painting and welding operations. Nevertheless, they are repeating the procedure for each revolute joint. Therefore, only
now being used for machining operations, such as the trimming, five experiments are required with this method to evaluate the
deflashing, degating, sanding and sawing of composite parts, that CaSM of the robot throughout its Cartesian workspace assuming
require high precision and stiffness. Therefore, to perform these that the stiffness of the links is known. The second method
operations, the robots must show good kinematic and elastostatic measures the displacements of the robot end-effector due to
performance. In this context, it appears that conventional machine certain applied loads and evaluates the robot Cartesian stiffness
tools such as the gantry CNC are still more efficient than serial robots. matrix throughout its Cartesian workspace with some interpola-
Therefore, it is important to pay attention to robot performance to tions. This method provides a good approximation of the robot
optimize their usefulness for machining operations. Some research CaSM when many tests are performed under different robot
works discuss the following: (i) tool path optimization considering configurations. The second method gives better results than the
both kinematic and dynamic robot performance [1–3]; (ii) the first. As far as the second method is concerned, all deformations
determination of optimal cutting parameters to avoid tool chatter- are considered including those due to the joint and link flexibil-
ing [3,4]; (iii) robot stiffness analysis [5]; and (iv) the determination of ities along and about all the axes. On the contrary, in the first
robot performance indices [6–10]. Robot stiffness is also a relevant method, the links of the robot are assumed to be rigid, and only
performance index for robot machining [11]. Accordingly, this paper the stiffness of the joints is considered.
discusses the stiffness modeling of serial robots and identifies their This paper introduces a method to identify the joint stiffness
stiffness parameters. Some stiffness models can be found in the values of any six-revolute industrial serial robot. The proposed
method is based on conservative congruence transformation [15],
requires few experimental tests, is easy to implement and does
not require any closed-loop control or actuator currents. This
Corresponding author. Tel.: + 33 2 40 37 69 54; fax: + 33 2 40 37 69 30.
method also considers both forces and moments applied on the
E-mail addresses: claire.dumas@irccyn.ec-nantes.fr (C. Dumas),
robot end-effector. Therefore, both the translational and rota-
stephane.caro@irccyn.ec-nantes.fr (S. Caro),
sebastien.garnier@irccyn.ec-nantes.fr (S. Garnier),
tional displacements of the robot end-effector are considered.
benoit.furet@irccyn.ec-nantes.fr (B. Furet). Finally, the optimal number of experimental tests and robot
0736-5845/$ - see front matter & 2011 Elsevier Ltd. All rights reserved.
doi:10.1016/j.rcim.2011.02.003
882 C. Dumas et al. / Robotics and Computer-Integrated Manufacturing 27 (2011) 881–888
configurations used to perform the joint stiffness identification The Cartesian workspace of the robot is shown in Fig. 2, and its
are given. size is characterized as A ¼3100 mm, B¼ 3450 mm, C ¼2700 mm,
The Kuka KR240-2 robot is used as an illustrative example D ¼1875 mm, E¼ 825 mm, and F ¼1788 mm.
throughout the paper. Its kinematic performances are analyzed in
Section 2. Its Cartesian stiffness matrix is shown in Section 3. 2.2. Kinematic jacobian
Section 4 contains a sensitivity analysis of the Cartesian stiffness
matrix of the robot to its complementary stiffness matrix and the The 6 6 kinematic Jacobian matrix J of the robot relates the
determination of the optimal robot configurations for joint stiff- joint rates to the twist of the end effector, namely
ness identification. The subject of Section 5 is the robustness of " #
the proposed joint stiffness identification method with regard to p_
t¼ ¼ Jh_ ð1Þ
measurement noise. x
t is its end-effector twist, which is composed of its translational
2. Kinematic performance of the Kuka KR240-2 robot
velocity vector p_ and its angular velocity vector x expressed in
F 0:
The kinematic chain of the Kuka KR240-2 robot is shown in Fig. 1.
The sixth link carrying the operation point P is connected to the base h_ ¼ ½y_1 y_2 y_3 y_4 y_5 y_6 T ð2Þ
frame F 0 through a serial chain composed of six-revolute joints. The
y_i is the ith actuated revolute joint rate.
modified Denavit Hartenberg parameters (DHm), described in [16],
are used to parameterize the robot. Then, the kinematic Jacobian
matrix of the robot was obtained, and its kinetostatic performance is 2.3. Kinetostatic performance index
evaluated throughout both its joint space and Cartesian workspace.
We understand here under kinetostatics the mechanical analysis of
2.1. Parameterization rigid-body mechanical systems moving under static, conservative
conditions. Kinetostatics is thus concerned with the relations between
As illustrated in Fig. 1, the robot is composed of seven links, the feasible twists — point-velocity and angular velocity — and the
denoted as L0 , . . . ,L6 , and six-revolute joints. Link L0 is the base of constraint wrenches — force and moment — pertaining to the
the robot, while link L6 is the terminal link. Joint j connects link j various links of a kinematic chain [17].
with link j 1, j ¼ 1, . . . ,6. Frame F j attached to link j, j ¼ 0, . . . ,6, Accordingly, we focus on issues pertaining to manipulability or
is defined such that: dexterity. We understand these terms in the sense of measures of
the distance to singularity, which brings us to the concept of
the zj axis is along the axis of joint j; condition number in [18,19]. Here, we adopt the condition number
the xj axis is along the common normal between zj and zj þ 1 . If of the underlying kinematic Jacobian matrix based on the Frobe-
the axes zj and zj þ 1 are parallel, the choice of xj is not unique; nius norm as a means to quantify distances to singularity. The
the origin Oj is the intersection of zj and xj . condition number kF ðMÞ of an m n matrix M when m r n, based
on the Frobenius norm is defined as follows:
qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi
The DHm parameters of the Kuka KR240-2 robot are given 1
kF ðMÞ ¼ trðMT MÞ tr½ðMT MÞ1 ð3Þ
in Table 1. m
Here, the condition number is computed based on the Frobenius is called characteristic length and denoted as L. Let JN be the
norm because the latter produces a condition number that is normalized Jacobian matrix of the Kuka KR240-2 robot:
analytic in terms of the posture parameters, whereas the 2-norm 2 3
1
does not. In addition, it is costlier to compute singular values than I33 033
JN ¼ 4 L 5J ð4Þ
to compute matrix inverses.
033 I33
The terms of matrix J are not homogeneous as they do not
have the same units. Therefore, as shown in [20,21], the Jacobian I33 is the 3 3 identity matrix and 033 is the 3 3 zero matrix.
matrix can be normalized by means of a normalizing length, which The characteristic length of the Kuka robot used in this study is
equal to 0.682 m and was obtained by means of the methodology
proposed in [22]. The condition number is used to have an idea of
Table 1
the zones (on y2 and y3 ranges) where the robot has good
DHm parameters of the Kuka KR240-2 robot.
dexterity. It appears that a change in the condition number of
j a(j) mj sj aj dj yj rj JN throughout the robot Cartesian workspace does not depend on
L, although its value depends on L.
1 0 1 0 0 0 y1 0 Because the second and the third revolute joints are the most
2 1 1 0 p=2 d2 y2 0
influential joints on the translation motions of the robot end-
3 2 1 0 0 d3 y3 0
4 3 1 0 p=2 d4 y4 RL4
effector, and because the first revolute joint does not affect
5 4 1 0 p=2 0 y5 0 manipulator dexterity, y1 is null, and the wrist angles y4 , y5 and
6 5 1 0 p=2 0 y6 RL6 y6 are set to 451 so that the corresponding wrist configuration is
far from singularities.
Fig. 3(a) depicts the isocontours of the inverse condition
number of JN based on the Frobenius norm, kF ðJN Þ1 , throughout
the robot’s Cartesian workspace. The higher the kF ðJN Þ1 , the
better the dexterity. On the contrary, the lower the kF ðJN Þ1 , the
closer the robot is to singularities.
Likewise, Fig. 3(b) shows the isocontours of kF ðJN Þ1 through-
out the robot joint space. The blacker the color, the closer the
manipulator to singularities. The oblique black line characterizes
the configurations in which the wrist center is located on the first
joint axis. The horizontal black line in Fig. 3b characterizes the
singularities when the arm is folded.
Figs. 3(a) and (b) are useful in choosing the optimal robot
configurations for joint stiffness identification as explained
in Section 4.
Fig. 3. Contours of the inverse condition number of JN: (a) in the robot Cartesian workspace and (b) in the robot joint space y2 , y3 .
884 C. Dumas et al. / Robotics and Computer-Integrated Manufacturing 27 (2011) 881–888
be rigid, the damping is neglected and the stiffness of the joints is Table 2
represented with linear torsional springs. Arbitrary stiffness values expressed in [Nm/rad].
Conservative congruence transformation was proposed by
ky1 ky2 ky3 ky4 ky5 ky6
Chen and Kao [23] to define the spatial CaSM of a serial robot.
We obtain the relation 1 409 800 400 760 935 280 360 000 370 000 380 000
w ¼ KX DX ð5Þ
with
w is the six-dimensional wrench vector composed of the forces Fig. 4 shows a procedure to evaluate the joint stiffness matrix
and torques applied on the end-effector and expressed in F 0 . KX Ky , which was expressed in Eq. (7). First, the zones of the robot
is the 6 6 CaSM of the robot expressed in F 0 . DX is the six- workspace and joint space where the robot has good dexterity are
dimensional vector composed of the translational and rotational identified in Figs. 3(a) and (b). Then, for a given wrench applied on
displacements of the end-effector expressed in F 0 . J is the the robot end-effector, the areas of the previous zones where the
kinematic Jacobian matrix of the robot defined in Eq. (1). Ky is complementary stiffness matrix KC is negligible with respect to
the diagonal joint stiffness matrix defined as follows: Ky are determined. Certain robot configurations are chosen from
2 3 those areas for the tests. For each test, a given wrench is applied
ky1 0 0 0 0 0
6 0 k 0 0 0 0 7 on the robot end-effector, and its displacements (translations and
6 y2 7
6 7 rotations) are measured. Finally, the joint stiffness values are
6 0 0 ky3 0 0 0 7
6 7 obtained by a given number of tests.
Ky ¼ 6 7 ð7Þ
6 0 0 0 ky4 0 0 7
6 7
6 0 0 0 0 ky5 0 7
4 5
0 0 0 0 0 ky6
4.1. Influence of KC on KX
where kyi , i ¼ 1, . . . ,6, is the ith joint stiffness value. KC is the
complementary stiffness matrix (CoSM) defined in [15] that takes From Eq. (6), KX depends on both Ky and KC . It makes sense
the form: that joint stiffness identification is easier when KC is negligible
" #
@JT @JT @JT @JT @JT @JT with respect to Ky . Consequently, this section analyzes the
KC ¼ w w w w w w ð8Þ influence of KC on KX . From Eq. (8), the higher the wrench applied
@y1 @y2 @y3 @y4 @y5 @y6
on the robot end-effector, the higher the influence of KC on KX .
It is noteworthy that this expression is equivalent to Salisbury’s Consequently, the worst-case scenario appears when the force
when there is no force or torque applied on the robot and the moment applied on the robot end-effector are at the
end-effector. Matrix KC is not null and affects matrix KX . This maximum. Let the components of the force vector along x0 , y0 and
expression respects the principle of virtual work and has been z0 axes be equal to 2200 N, and the components of the moment
tested on several robots [15,24]. The identification of the joint vector about x0 , y0 and z0 axes be equal to 400 Nm. For the sake of
stiffness values kyi , i ¼ 1, . . . ,6, is the subject of the next section clarity, the first three joint stiffness values are assumed to be
because they are required to evaluate KX for any robot equal to those found in [24], and the other three joint stiffness
configuration. values are chosen arbitrarily as shown in Table 2.
C. Dumas et al. / Robotics and Computer-Integrated Manufacturing 27 (2011) 881–888 885
The norm dp of the robot end-effector small displacement maximum are also those for which kF ðJN Þ1 is at its minimum, i.e.,
screw is expressed as close to singularity.
qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi Nevertheless, the np and nr values are very small, np r 0:016
dp ¼ dp2x þ dp2y þ dp2z ð9Þ and nr r 0:025 deg throughout the robot joint space. Accordingly,
KC is negligible with respect to Ky , and Eq. (6) can be reduced to
where dpx , dpy and dpz are its displacements along the x0 , y0 and
z0 axes, respectively. Let drx , dry and drz be the small rotations of KX JT Ky J1 ð12Þ
the robot end-effector about x0 , y0 and z0 axes, respectively.
Let dpKC and dpK C be the point-displacement of the robot end- The above-mentioned tests were conducted with different joint
effector obtained with Eqs. (5) and (6) assuming that matrix KC is stiffness values than those given in Table 2. The shapes of the np
not null and null, respectively. Likewise, let drxKC , dryKC , drzKC and and nr isocontours remains the same and KC remains negligible
drxK C , dryK C , drzK C be the small rotations of the robot end-effector with respect to Ky . Eq. (12) and the robot configurations for which
about the x0 , y0 and z0 axes obtained with Eqs. (5) and (6), np and nr are at their minimum are used in the next section to
respectively, assuming that matrix KC is not null and null, identify the joint stiffness values of the robot. Then, Eq. (6) is used
respectively. to evaluate the KX throughout the robot Cartesian workspace for
To analyze the influence of KC on KX throughout the robot the sake of accuracy.
workspace, we introduce indices np and nr , which characterize the
influence of KC on the evaluation of the robot translational and
rotational displacements, respectively:
4.2. Identification of the joint stiffness values
dpKC dpK C
np ¼ ð10Þ For the robot configurations in which KC is negligible with
max dpKC , dpK C
respect to Ky , Eq. (5) takes the form:
and
w ¼ JT Ky J1 dd ð13Þ
n o
nr ¼ max jdrxKC drxK C j, jdryKC dryK C j, jdrzKC drzK C j ð11Þ
As a consequence, the six-dimensional robot end-effector small
displacement screw dd can be expressed as
Figs. 5(a) and (b) illustrate the isocontours of np and nr
throughout the robot joint space ðy2 , y3 Þ. The blacker the color, T
dd ¼ JK1
y J w ð14Þ
the higher the influence of KC on the evaluation of the end-
effector displacements. The shapes of Fig. 5(a) and (b) are similar. Let the joint compliances1 be the components of the six-dimen-
This finding means that the robot configurations for which the sional vector x, namely
influence of KC on the end-effector translational displacements is
at its maximum are the same as those for which the influence of x ¼ ½1=ky1 1=ky2 1=ky3 1=ky4 1=ky5 1=ky6 T ð15Þ
KC on the end-effector rotational displacements is at its max-
imum. As shown in Figs. 3(b) and 5(a) and (b), the robot
configurations for which the influence of KC on KX are at their 1
The compliance stands for the inverse of the stiffness.
886 C. Dumas et al. / Robotics and Computer-Integrated Manufacturing 27 (2011) 881–888
From Eq. (14), it turns out that that minimizes the following error:
2 P6 Pi ¼ 6 3 minimize EðxÞ 12JAxddJ22
j ¼ 1 ðxj J1j i ¼ 1 Jij wi Þ
6 7 over x ð20Þ
6 ... 7
6 7
6 ... 7 The value of x that minimizes the Euclidean norm of the
dd ¼ 6
6
7
7 ð16Þ approximation error of the system is
6 ... 7
6 7
6 ... 7 x0 ¼ ðAT AÞ1 AT dd ¼ AI dd ð21Þ
4P Pi ¼ 6 5
6
j ¼ 1 ðxj J6j i ¼ 1 Jij wi Þ I
where A is the generalized inverse of A, which is also known as the
left Moore–Penrose generalized inverse of A. The Matlab function
where xj is the jth component of vector x, i.e., xj ¼ 1=kyj , ‘‘pinv’’ has been used to compute this matrix.
j ¼ 1, . . . ,6.
By isolating the components of vector x in Eq. (16), the joint
compliances can be expressed with respect to the displacements 5. Robustness of the joint stiffness identification method with
of the robot end-effector as follows: regard to measurement noise
Ax ¼ dd ð17Þ
Alici and Shirinzadeh [24] introduced a method to identify the
where A is a 6 6 as follows: stiffness values of the first three joints of a six-revolute robot by
measuring only the translational displacements of its end-effec-
2 P6 P6 3 tor. Therefore, they did not considered the coupling between the
J11 i ¼ 1 Ji1 wi J16 i ¼ 1 Ji6 wi
6 7 rotational and translational Cartesian motions. On the contrary,
6 ... ... ... 7
6 7 our method considers both rotational and translational displace-
6 ... ... ... 7
6 7 ments of the end-effector, and the stiffness values of the six
A¼6 7
6 ... ... ... 7
6 7 actuated joints can be identified as explained in the previous
6 ... ... ... 7
4 5 section. Finally, a graphical user interface (GUI), which is shown
P6 P6
J61 i ¼ 1 Ji1 wi J66 i ¼ 1 Ji6 wi in Fig. 6, was developed to test our method and to analyze the
ð18Þ sensitivity of the results to measurement noise.
5.2. Optimal number of experiments identification accuracy and identification cost. Fig. 7 shows that
five tests are a good compromise.
From the equation system (17), it is apparent that the higher
the number of tests, the higher the degree of constraint of the
equation system, the more accurate the solution. 5.3. Optimal robot configurations
Let us assume that the actual joint stiffness values of the robot
are those given in Table 2, and the wrench applied on the robot The joint stiffness identification method is based on Eq. (21),
end-effector is which requires matrix A to be invertible. To this end, the robot
2 3 configuration must be chosen such that kF ðJN Þ1 , where JN is
0N defined in Eq. (4), is as high as possible.
6 2200 N 7
6 7 Fig. 8 depicts three zones in the joint space that were obtained
6 7
6 2200 N 7 from Figs. 3(a) and (b). The sensitivity of the solution of Eq. (21) to
weff 6
¼6 7 ð22Þ
7 errors is at its minimum in the light gray zones. On the contrary,
6 200 Nm 7
6 7 this sensitivity reaches its maximum in the black zones.
4 200 Nm 5
Therefore, Table 4 gives y2 and y3 ranges associated with good
0 Nm
robot configurations for joint stiffness identification.
Fig. 7 illustrates the mean and standard deviation of the joint
stiffness values obtained by using the proposed identification
method and for different numbers of tests. From Eq. (17), matrix A
has the size of 6n 6 for n tests.
We can see that the higher the n, the lower the standard
deviation of the joint stiffness values, i.e., the more accurate the
evaluation of the joint stiffness values. Obviously, the higher the
number of tests, the more expensive the identification of the joint
stiffness values. Therefore, the user must compromise between
Table 3
Sources of errors.
Fig. 7. Mean and standard deviation of the joint stiffness values as a function of the number of tests.
888 C. Dumas et al. / Robotics and Computer-Integrated Manufacturing 27 (2011) 881–888