New Closed-Loop Output Error method for Robot Joint Stiffness Identification with Motor Force/Torque data M. Gautier, A. Jubien, A. Janot
Abstract— This paper deals with joint stiffness identification with a new closed-loop output error method which avoids the use of positions measurements. This method called DIDIM (Direct and Inverse Identification Model) was previously validated on rigid robots and it is now applied to a flexible joint robot. A non linear least squares solution minimizes the quadratic error between the actual motor force/torque and the simulated one. To assume a fast algorithm convergence and a good robustness to initial values, a gains updating is performed to keep the frequency of the bandwidth of the rigid controlled degree of freedom (dof) and the natural frequency of the flexible dof close to the actual ones in the simulated robot. The gains updating requires to identify these frequencies with a non linear programming during a first step before applying DIDIM method in a second step. An experimental setup exhibits identification results and shows the effectiveness of our approach compared to two classical output error methods.
I. INTRODUCTION CCURATE dynamic robots models are needed to control and simulate their motions with precision and reliability. Identification of rigid robots has been widely investigated in the last decades. The usual identification process is based on the inverse dynamic model and the ordinary or weighted least squares estimation. This method, called IDIM (Inverse Dynamic Identification Model), has been performed on several prototypes and industrial robots with accurate results [1]. Identification of flexibilities is more complex than identification of rigid body dynamics: only a subset of state variables is measured and one cannot use directly linear regressions [2]. This can be solved by adding sensors [3] and/or external excitations [4]. In [5] a 6 dof flexible robot is identified with motion capture but it is quit difficult to have accurate motion capture measurements. In [6], the authors have rigorously compared three minimal identification models previously developed in [7] and [8]. All these techniques provide good results and require little computation time but they need either the flexibility measures variables or high-order derivatives of motor position (1 to 4) and motor force (1 to 2). In [9], the authors use the System Identification Toolbox for Matlab [10] to identify both joint and structural flexibilities of one axis of an industrial robot: inertia and stiffness parameters seem well identified. But, they do not
A
M. Gautier is with the Institut de Recherche en Communications et Cybernétique de Nantes (IRCCyN) and with University of Nantes, Nantes, France (e-mail:
[email protected]). A. Jubien is with the IRCCyN and the ONERA (DCSD) the French Aerospace Lab, Tousouse, France (e-mail:
[email protected]). A. Janot is with ONERA (DCSD), Tousouse, France (e-mail:
[email protected]).
discuss about the repartition of Coulomb friction and data filtering. In [11], a three mass flexible model of robot arm is identified with only motor position but the methodology needs three steps and uses a nonlinear grey-box identification method. Recently, a new identification process needing only actual force/torque data was validated on rigid robots [12]. This method called DIDIM (Direct and Inverse Dynamic Identification Model) is now extended to joint stiffness identification. A first attempt is presented in [13]: the nonlinear Least Square (LS) problem is solved by using the Nelder – Mead simplex algorithm. Good results are obtained but the algorithm converges slowly and it is quite sensitive to initialization. This paper presents significant improvements of the DIDIM for identifying dynamic parameters of a flexible joint robot. This method requires to have the simulated positions, velocities and accelerations close to the actual ones. That is the reason why a gains updating is performed in the simulated robot in order to keep the bandwidth of the rigid controlled dof and to keep the natural frequency of the flexible dof close to the actual ones, at each step of the recursive Gauss Newton non linear programming algorithm. The identification procedure consists of two steps. The first step is a first identification of the parameters using only the bandwidth of the rigid controlled dof and the natural frequency of the flexible dof as two optimization variables in a fast non linear programming algorithm based on the Nelder – Mead simplex algorithm [14]. The simulated motor force is calculated using one iteration of the DIDIM procedure. The second step is a second identification of all dynamic parameters of the robot with DIDIM method using the bandwidth of the rigid controlled dof and the natural frequency of the flexible dof identified in the first step for gains updating. This paper is divided into six sections. Section II describes the experimental setup and its modeling. Section III reminds the classical identification method called IDIM while section IV presents the new identification method called DIDIM. Section V presents the extension of this method to joint stiffness identification and the two steps of the identification procedure. Section VI is devoted to the experimental identification based on DIDIM of one prismatic flexible joint manipulator. The identified values are compared with those identified with IDIM and two classical Output Error (OE) methods. II. DESCRIPTION AND MODELING OF A FLEXIBLE JOINT ROBOT
A. Experimental setup The EMPS is a high-precision linear Electro-Mechanical Positioning System (see fig. 1). It is a standard configuration
of a drive system for prismatic joint of robots or machine tools. Its main components are: - A Maxon DC motor equipped with an incremental encoder to make a PD motor position control. - A Star high-precision low-friction ball screw drive positioning unit. An incremental encoder measures the angular position of the screw. - A carriage which moves a load in translation.
side equivalent mass, Fv1 (N/m/s) and Fc1 (N) are respectively the viscous and Coulomb motor side friction parameters; M 2 (Kg) is the total load side equivalent mass (screw, nut, carriage and load), Fv2 (N/m/s) and Fc2 (N) are respectively the viscous and Coulomb load side friction parameters; K12 (N/m) is the stiffness of the flexible joint. The IDM can be written as follows: Kq (2) idm M q q N q,q
q q q With: q 1 , q 1 , q 1 , idm idm1 , 0 q12 q12 q12 M
M( q )
0
Fv1q1 Fc1 sign q1 K12 ,K , N q,q M2 K12 Fv 2 q12 Fc 2 sign q12 0
1
K 12
K 12
The IDM (2) can be written in a linear relation to the dynamic parameters as follows: (3) idm IDM
Fig. 1: EMPS prototype and flexible coupling
These components are presented in fig. 2.
With:
Encoder on the motor side
Encoder on the load side
q12
DC motor
Gravity vector
v
Flexible coupling
Load on prismatic link
M
1
Fv1
Fc1
M2
Fv2
Fc2
K12
T
0 0 q2 q q1 sign( q1 ) 0 IDM 1 q12 q12 sign( q12 ) q2 0 0 0 There are b 7 parameters to be identified. C. Direct Dynamic Model (DDM)
Fig. 2: EMPS Components
All variables and parameters are given in ISO units on the load side.
From the IDM (2), the implicit form of the DDM is given by: Kq (4) M q q idm N q,q
B. Inverse Dynamic Model (IDM) The mechanical system has n 2 dof, one rigid dof q1 and one flexible dof . In our case the robot is not affected by gravity and is modeled with two inertias, one spring, and friction forces (see fig. 3). q12 q1
q2 x1
x
K12
O
z
O1
z1 M1
x2 O2
z2 M2
Fig. 3: EMPS modeling
The IDM calculates the motor force according to the joint positions and their derivatives. Newton–Euler equations give the following IDM [15]: idm1 M 1q1 Fv1q1 Fc1 sign( q1 ) K12 q2 (1) 0 M 2q12 Fv2q12 Fc2 sign( q12 ) K12 q2 Where: q1 , q1 , q1 , are respectively the motor position, velocity and acceleration; 1 (N) is the motor force; q12 , q12 , q12 are respectively the load position, velocity and acceleration; q2 , q2 , q2 are respectively the flexible dof position, velocity and acceleration with, q12 q1 q2 , q12 q1 q2 and q12 q1 q2 ; M 1 (Kg) is the total motor
III. IDIM-LS: INVERSE DYNAMIC IDENTIFICATION MODEL AND LEAST SQUARES METHOD Because of perturbations due to noise measurement and modeling errors, the actual force/torque differs from idm by an error e , such that: χ e idm e IDM q,q,q (5) The vector ˆ is the LS solution of an over determined system built from the sampling of (5): (6) Y = Wχ + ρ Where: Y is the (rx1) measurement vector, W the (rxb) observation matrix, is the (bx1) vector of parameters to be identified and is the (rx1) vector of errors. We have r n* ne , where ne is the number of collected samples. The unicity of the LS solution is assumed if W is a full rank matrix i.e. if rank(W ) b . To avoid rank deficiency, only the b base parameters must be considered [16] [17] and trajectories must be exciting enough [18] [19]. The detailed calculation of the standard deviation σ ˆ and
j
the relative % standard derivation σ ˆ j % 100 σ ˆ j ˆ j r
for ˆ j 0 can be found in [20].
Calculating the LS solution of (6) from noisy discrete measurements or estimations of derivatives may lead to bias. if W is correlated to . Then, it is essential to filter data in Y and W before computing the LS solution. Velocities and accelerations are estimated by means of a bandpass filtering of the positions. To eliminate high frequency noises and torque ripples, a parallel decimation is performed on Y and on each column of W . More details about data filtering can be found in [20] and [7]. IV. IDENTIFICATION OF RIGID ROBOT WITH DIDIM DIDIM is a Close-Loop Output Error (CLOE) method requiring only force/torque data [12]. The output y , is the actual joint force/torque , and the simulated output ys idm , is the simulated joint force/torque. The signal
qddm χ,t is the result of the integration of the linear implicit differential equation (4). The optimal solution ˆχ minimizes the following quadratic criterion: J χ Y YS
2
V. IDENTIFICATION OF FLEXIBLE ROBOT WITH DIDIM A. DIDIM for joint stiffness identification The success of DIDIM is based on the approximation given by (8) and (9). Difficulties arise with flexible systems because the flexible dof, q2 is not actuated and not controlled. The gains updating presented in [12] is no longer efficient for the flexible dof and must be modified. Let us consider the actual PD controlled rigid dof of the flexible joint as shown in fig. 4: p1 qr k p
ap
M v a g ap g
kv
(7)
Where Y τ and YS idm are vectors obtained by filtering and down sampling the vectors of samples of the actual force/torque , and of the simulated force/torque idm , respectively. This non-linear LS problem is solved by the GaussNewton regression. It is based on a Taylor series expansion of ys , at a current estimate ˆχ k . Because of the same closed loop control for the actual and for the simulated robot and the gains tuning of the simulated controller, the simulated position, velocity and acceleration have little dependence on such as:
ddm ( ˆχk ) q,q,q qddm ( ˆχk ),q ddm ( ˆχk ),q
(8)
Then the jacobian matrix can be approximated by:
yS k ddm ( ˆχ k ),q ddm ( ˆχ k ) IDM q,q,q IDM qddm ( ˆχ ),q χ ˆχ
k
(9) Taking the approximation (9) of the jacobian matrix into the Taylor series expansion, it becomes: ddm ( ˆχ k ),q ddm ( χˆ k ) χ k +1 o e (10) y IDM qddm ( ˆχ k ),q This is the Inverse Dynamic Identification Model, where ddm ,q ddm . After a are estimated with qddm ,q sampling and a parallel decimation of (9), we get an overdetermined linear system: ddm ,q ddm ,ˆχ k χ ρ Y τ Ws qddm ,q (11)
q, q, q
controller must be known but this is not a real problem because working on identification for simulation or control of the robot requires a minimal knowledge about it.
q2
a
K12
a
a
1 q1 1 q1 1 M1 s s
q1
1 q12 1 q12 1 M2 s s
q12
p2 Fig. 4: PD controlled rigid dof of the flexible joint
Where: k p is the proportional gain and kv is the derivative gain of the PD controller; ap g and a g are the a priori value and the actual value of drive gain respectively; qr is the reference position; a M 1 , a M 2 and a K12 are the ap actual values of M 1 , M 2 and K12 respectively; M is the a priori value of the total mass, it can be a CAD value or can be given by robot manufacturer; p1 and p2 are perturbation due to friction forces: p1 Fv1q1 Fc1 sign q1 and p2 Fv2q12 Fc2 sign q12 .
In order to tune the tracking performances of the reference position qr , the term p1 and the flexible coupling effect are considered as perturbations ( p1 0 et q2 0 ). We control the double integrator system aG / s 2 with: ap M a g a G kv ap (12) g a M 1 In the same way in fig. 4, let us define the open-loop double integrator, ( a K12 / a M 2 )* (1 / s 2 ) , of the flexible dof obtained with the blocked rigid dof ( qr = q1 =0). Now, let us consider the flexible joint of the simulated robot as given fig. 5.
The LS solution of (11) calculates ˆ k 1 , at iteration k+1.
This process is iterated until: k 1 k
/
p1ddm/ k
k tol1 .
Where tol1 is a value ideally chosen to be a small number to get fast convergence with good accuracy. DIDIM avoids tuning the band pass filter in the IDIM by using the integration of the DDM in a closed-loop simulation. It combines the IDM and the DDM and validates, in the same identification procedure, both models for computed force motor and for simulation. The robot
qr
kp
k
Kˆ12
q2ddm/ k
k
k
gm
gc
p2ddm/ k
1 q1ddm/ k 1 s Mˆ 1
q1ddm/ k
1 s
q1ddm/ k
1 q12ddm/ k 1 Mˆ 2 s
q12ddm/ k
1 s
q12ddm/ k
k
k
Fig. 5: Simulation of a PD controlled flexible joint
ˆ , kM ˆ and k Kˆ are the estimations of M , Where: k M 1 2 12 1 M 2 and K12 , respectively, at step k ; the variables q1ddm / k , q1ddm / k , q1ddm / k , q12ddm / k , q12ddm / k , q12ddm / k and v ddm / k , p1ddm / k and p2ddm / k are computed by numerical integration of (4). The two following relations allow to keep the same openloop double integrator aG / s 2 for the rigid dof and ( ak12 / a M 2 )* (1 / s 2 ) for the flexible dof, for the actual robot and for the simulated robot: k ˆ (13) gm aG k M 1 k
gc
k
ˆ / kK ˆ M 2 12
a
K12 / a M 2
(14)
Where k g m is the gain of rigid dof and k g c is the gain of flexible dof. Then, the rigid dof and the flexible dof simulated states remains close to the actual ones for any value of ˆ k , at each step k ( q1ddm / k q1 and q12ddm / k q12 for any k ). For ease of notation, we introduce: a
f n _ flex Where
2
a
K12 / a M 2
a
f n _ flex is the natural frequency when the rigid
(15)
dof is blocked ( q1 0 ). The equation (14) becomes: k 2 k ˆ g 4 2 a f M / k Kˆ c
and
n _ flex
2
12
(16)
Relations (13) and (16) require an accurate estimate of G f n _ flex before applying DIDIM because they are
unknown. Note that identifying G and f n _ flex is the same as a
identifying actual relations ap
ap
term kv M
g
a
M 1 and
a
K12
a
M 2 if the
g is known.
B. Step 1: identification of G and f n _ flex In order to get a fast identification of G and f n _ flex with a first identification of all the dynamic parameters, we consider a non linear programming algorithm with only two optimization variables G and f n _ flex :
G,ˆ ˆf
n _ flex
min Ys Y
G , f n _ flex
2
ˆ and Where k G
M 1 0 M 2 0 K12 1 , 0 Fv1 0 Fv2 0 Fc1 0 Fc2 0 (18) The gains updating given by (13) and (16) are performed in this simulation according to χ 0 : k ˆ g kG (19)
Then we calculate ˆχ 1k , the first step estimation of DIDIM, which is the LS solution of (21). ˆ k ˆf ,q ,χ 0 , kG, (21) Y τ W q ,q χρ s
k
gc 4 2
k
2 ˆf n _ flex
(20)
ddm
ddm
ddm
n _ flex
The algorithm does not converge if ˆχ 1k is used at step
ddm ,q ddm because ˆχ 1k k+1 in place of χ 0 to simulate qddm ,q 0 ˆ and k ˆf depend directly on k G n _ flex while χ is independent ˆ and k ˆf on k G . n _ flex
Thanks to the gains updating the simulated positions, ˆ , k ˆf velocities and acceleration depending on k G n _ flex and
0 are close to the simulated positions, velocities and ˆ , k ˆf ˆ 1k accelerations depending on k G n _ flex and χ . Thus the simulated force/torque can be approximated by: 1k k ˆ k ˆ 1k 1k ˆ k ˆf ddm k G, , ˆχ IDM G, fn _ flex , ˆχ ˆχ n _ flex (22) 0 1k ˆ k ˆf IDM k G, , ˆχ n _ flex Using this approximation avoids a second simulation 1k ˆ k ˆf with parameters ˆχ 1k , to calculate ddm k G, , ˆχ at each n _ flex iteration of the algorithm and saves computational time. The non linear programming algorithm is the Nelder – Mead simplex algorithm [14] (the "fminsearch" MATLAB function). The initial conditions of algorithm can be chosen in theses intervals according to results of section VI-C:
G [75;450 ], 0 f n _ flex [15;50 ]Hz
0
(23)
We note that the search interval of the variable f n _ flex covers the usual range of flexible joint natural modes of robots. The iterative procedure stops when the relative decreasing of the criterion (17) is less than a value ideally chosen to be a small number to get fast convergence with good accuracy. C. Step 2: identification of the flexible model with DIDIM The estimation ˆχ 1 obtained at the first step with only one optimization variable is improved with the DIDIM method where all the dynamic parameters are the optimization variables. The optimal parameters minimize the quadratic criterion (7). Relations k g m and k g c are updated at each step k with: k ˆ ˆ G (24) g kM m
0
m
ˆf n _ flex are the estimations of G and
f n _ flex at step k of the non linear programming algorithm.
(17)
Where Y τ and YS ddm are vectors obtained by filtering and down-sampling the vectors of samples of the actual force/torque , and of the simulated force/torque ddm , respectively. The simulated motor force ddm is calculated using one iteration of the DIDIM procedure. A first simulation is carried out with the regular initialization χ 0 defined in [12]:
k
k
1
gc 4 ˆf n _ flex 2 2
k
ˆ / k Kˆ M 2 12
(25)
When Gˆ and ˆf n _ flex are identified values with the procedure described in section V-B. Initial parameters 0 are given by the regular initialization (18). The gains updating allows to respect the approximations (8) and (9). We recall the two-step identification procedure in fig. 6.
Step 1
-reference position qr -force ap -
Step 2
M , ap g
TABLE 1: IDENTIFIED VALUES
Identification of G, f n _ flex
Gˆ , fˆn _ flex
Identification of the flexible dynamic model with DIDIM
Mˆ 1 , Fˆv1 , Fˆc1 , Mˆ 2 , Fˆv 2 , Fˆc 2 , Kˆ 12
295
Identified values 183
40
24.21
Initialization
G f n _ flex ||Ys Y || / ||Y ||
10.7%
Fig. 6. Two-step identification procedure
VI. EXPERIMENTAL VALIDATION A. Data acquisition Motor and load positions are measured by means of high precision encoders working in quadrature count mode (accuracy of 12500 counts per revolution). The sample acquisition frequency for joint position and current reference (drive force) is 1 KHz. We calculate the motor force using the relation: (26) 1 ap g v where v is the current reference of the amplifier current loop, and ap g is a priori value of the gain of the joint drive chain, which is taken as a constant value in the frequency range of the robot (less than 30Hz) because of the large bandwidth of the current loop (700 Hz). The gain of the joint drive chain can be given by the robot manufacturer. The motor position is controlled with a PD controller and the bandwidth of the closed-loop is tuned at 20Hz. Exciting reference trajectories are calculated as the sum of a trapezoidal velocity signal with a chirp signal. Trapezoidal velocity excites the inertia and friction parameters while chirp signal excites the flexibility. B. Identification of the flexible model with IDIM-LS IDIM-LS is performed with the IDM defined in (3). It needs the motor force 1 , the motor position q1 and the load position q12 . The cut-off frequency of the Butterworth filter and decimate filter are fixed at 100Hz and 60Hz respectively. Because all data are measured with accuracy, the results given in table 2 are considered as references for the study of DIDIM. C. Step 1: identification of G and f n _ flex We need to identify G and f n _ flex before performing DIDIM method for the gains updating. The cut-off frequency of the decimate filter is fixed at 60Hz. The results are given in table 1. The algorithm is initialized with a priori value ap M 1 if we consider
ap
g a g :
The algorithm converges after 17 iterations (32 simulations of MDD) and 55.7 seconds. The minimization problem is solved with a small number of iterations. The robustness of the algorithm was analyzed, initial f n _ flex can be chosen in range of 15 and 50Hz and initial G can be chosen in range of 75 and 450. This new method allows to identifying only two values with a non linear programming algorithm instead of 7 parameters. The convergence time is reduced. The identification of robot parameters in step 2 with DIDIM will need only few iterations because the bandwidth of the rigid controlled dof and the natural frequency of the flexible dof will be close to the actual ones due to the fact that G and f n _ flex were initially indentified. D. Step 2: global identification of the flexible model with DIDIM DIDIM is carried out. The cut-off frequency of the decimate filter is fixed at 60Hz. Only the actual motor force is needed. We get the simulated states by simulating (4). The gains updating given by (24) and (25) are performed at each step of the algorithm according to ˆ k , Gˆ and ˆf n _ flex . The algorithm is initialized with the regular initialization (18). DIDIM converges after only 3 iterations and around 6 seconds. The results are given in table 2 and are close to the identified values with IDIM-LS. The initialization (18) has no effect on the identification of inertia and stiffness. However, we cannot dissociate motor friction from load friction. But the sum of the two viscous frictions and the sum of two coulomb frictions are close to these ones obtained by IDIM. DIDIM provides excellent results although only one variable measurement is used. The estimated motor force follows closely the measured one as illustrated fig. 7. Finally, the results emphasize the effectiveness of performing the gains updating given by (24) and (25). TABLE 2: IDIM-LS AND DIDIM IDENTIFIED VALUES Method IDIM-LS DIDIM Parameter M 1 (Kg)
Fv1 (N/m/s)
ˆ (%)
ˆχ 3
ˆ (%)
68.0
0.3
66.3
0.3
104
1.3
213
0.7
ˆχ
r
3 r
Fc1 (N)
10.0
0.8
17.8
0.7
M 2 (Kg)
38.0
0.7
37.1
0.5
Fv2 (N/m/s)
96.5
1.4
-
-
Fc2 (N)
9.5
1.3
-
G kv ap M ap M 1 (27) In our case initial G 295 if we estimate values ap M 1 and ap M to 40 and 78Kg respectively. We estimate f n _ flex between 15 and 50Hz, so we initialize them at 40Hz.
K12 (N/m)
8.8 10
0.7
8.6 10
Fv1 Fv2
211
-
213
Fc1 Fc2
19.5
6.81%
17.8
||Y W .X || / ||Y ||
5
5
0.5 8.03%
Fig. 7: Cross test validation with DIDIM. Red: measurement, Blue: Simulated force, Black: error
E. Comparison with other OE methods In this section, the non-linear LS problem is solved by using the Nelder – Mead simplex algorithm and this method is compared with DIDIM. Details about the procedure can be found in [13]. The optimal values are estimated with "fminsearch" MATLAB function. Two criteria are evaluated, the first one depends on the motor position and the second one depends on the motor force: Cq1 ||q1ddm q1 ||/ ||q1 || (28)
C || 1ddm 1 ||/ || 1 ||
(29)
Where: q1ddm is the simulated motor position, q1 is the actual motor position, 1ddm is the simulated motor force and 1 is the actual motor force. The cut-off frequency of the decimate filter is fixed at 60Hz. The algorithm is initialized with the pseudo regular initialization described in [13]. The gains updating given by (24) and (25) is not performed. The results are given in table 3. The Nelder – Mead simplex algorithm converges after 172 iterations (276 simulations of MDD) and 547 seconds for the first criterion (28). 129 iterations (221 simulations of MDD) and 438 seconds are needed for the second criterion (29). The computation time is more 7 times lower than DIDIM. The results are very close to those given by DIDIM except for frictions parameters. However, the algorithm is not as robust as DIDIM with respect to the initialization. If the regular initialization is chosen, it do not converge. DIDIM is a dramatic improvement of the usual CLOE method. TABLE 3: NELDER-MEAD IDENTIFIED VALUES Cq1
Criterion ˆχ
172
C
ˆ (%)
ˆχ
129
ˆ
Parameter M 1 (Kg)
67.1
0.27
64.1
0.25
172 r
129 r
Fv1 (N/m/s)
76.5
1.9
126
0.97
Fc1 (N)
12.1
0.98
13.2
0.80
M 2 (Kg)
37.8
0.51
40.1
0.44
Fv2 (N/m/s)
135
1.8
84.6
1.4
Fc2 (N)
6.40
1.9
5.21
2.1
K12 (N/m)
7.68105
0.43
8.75105
0.37
Fv1 Fv2
212
-
211
-
Fc1 Fc2
18.5
18.4
6.63%
||Y W .X || / ||Y ||
7.38%
(%)
VII. CONCLUSION This paper has presented a methodology to identify joint stiffness. It requires two steps and only actual force/torque
data. To highlight the effectiveness of our approach, results obtained with DIDIM were compared with those obtained with IDIM-LS and OE methods. The experimental results show that DIDIM results are comparable with IDIM-LS results which need three measurements (actual force/torque data, motor and load positions). However the viscous and the coulomb frictions are not dissociated between the motor and load side. DIDIM with converges 7 times faster than other OE methods thanks to the gains updating. Future works concern the use of DIDIM to identify a multi dof robot with both joint flexibilities and gravity effect. REFERENCES [1] J. Hollerbach, W. Khalil, and M. Gautier, « Model Identification » in Springer Handbook of Robotics, vol. 14. Springer, 2008. [2] M. W. Spong, « Modeling and control of elastic joint robots », Journal of Dynamic Systems Measurement and Control, vol. 109(4), p. 310– 319, 1987. [3] F. Pfeiffer and J. Holzl, « Parameter identification for industrial robots », in Proc. Conf. IEEE Int Robotics and Automation, 1995, vol. 2, p. 1468–1476. [4] A. Albu-Schaffer and G. Hirzinger, « Parameter identification and passivity based joint control for a 7 DOF torque controlled light weight robot », in Proc. ICRA Robotics and Automation IEEE Int. Conf, 2001, vol. 3, p. 2852–2858. [5] C. Lightcap and S. Banks, « Dynamic Identification of a Mitsubishi PA10-6CE Robot using Motion Capture », in IEEE International Conference on Intelligent Tobots and Systems, 2007, p. 3860–3865. [6] A. Janot, M. Gautier, A. Jubien, and P. O. Vandanjon, « Experimental Joint Stiffness Identification Depending on Measurement Avaibility », in Proc. IEEE Int. Conf. on Decision and Control, Orlando, USA, 2011, p. 5112–5117. [7] M. . Pham, M. Gautier, and P. Poignet, « Identification of joint stiffness wih bandpass filtering », Int. Conf. On Robotics and Automation, Séoul, Corée, 2001. [8] M. T. Pham, M. Gautier, and P. Poignet, « Accelerometer based identification of mechanical systems », in Proc. IEEE Int. Conf. Robotics and Automation ICRA ’02, 2002, vol. 4, p. 4293–4298. [9] M. Östring, S. Gunnarsson, and M. Norrlöf, « Closed-loop identification of an industrial robot containing flexibilities », Control Engineering Practice, vol. 11, p. 291–300, 2003. [10] L. Ljung, System identification toolbox—user’s guide. herborn, MA, USA: The MathWorks Inc., 2000. [11] E. Wernholt and M. Gunnarsson, « Nonlinear identification of a physically parameterized robot model », in 14th IFAC Symposium on System Identification, 2006, vol. 4. [12] M. Gautier, A. Janot and P.O. Vandanjon, « A New Closed-Loop Output Error Method for Parameter Identification of Robot Dynamics », in IEEE Transactions on Control Systems Technology, 2012, p. 1–17. [13] M. Gautier, A. Janot, A. Jubien, and P. O. Vandanjon, « Joint Stiffness Identification from only Motor Force/Torque », in Proc. IEEE Int. Conf. on Decision and Control, Orlando, USA, 2011, p. 5088–5093. [14] J. C. Lagarias, J. A. Reeds, M. H. Wright, and P. E. Wright, « Convergence Properties of the Nelder – Mead Simplex Method in Low Dimensions », Society for Industrial and Applied Mathematics,, vol. 9, p. 112–147, 1998. [15] W. Khalil and E. Dombre, Modeling, Identification and Control of Robots. Taylor and Francis Group, New York, 3rd edition, 2002. [16] M. Gautier and W. Khalil, « Direct calculation of minimum set of inertial parameters of serial robots », IEEE Transactions on Robotics and Automation, vol. 6, no. 3, p. 368–373, 1990. [17] H. Mayeda, K. Yoshida, and K. Osuka, « Base parameters of manipulator dynamic models », IEEE Transactions on Robotics and Automation, vol. 6, no. 3, p. 312–321, 1990. [18] C. Presse and M. Gautier, « New criteria of exciting trajectories for robot identification », in Proc. Conf. IEEE Int Robotics and Automation, 1993, p. 907–912. [19] M. Gautier and W. Khalil, « Exciting trajectories for the identification of base inertial parameters of robots », in Proc. 30th IEEE Conf. Decision and Control, 1991, p. 494–499. [20] M. Gautier, « Dynamic identification of robots with power model », in Proc. Conf. IEEE Int Robotics and Automation, 1997, vol. 3, p. 1922– 1927.