M Gautier

A Janot

P O Vandanjon

Dynamic identification of a 6 dof industrial robot without joint position data

Off-line robot dynamic identification methods are mostly based on the use of the inverse dynamic model, which is linear with respect to the dynamic parameters. This model is sampled while the robot is tracking reference trajectories that excite the system dynamics. This allows using linear least-squares techniques to estimate the parameters. This method requires the joint force/torque and position measurements and the estimate of the joint velocity and acceleration, through the bandpass filtering of the joint position at high sampling rates. A new method called DIDIM has been proposed and validated on a 2 degree-of-freedom robot. DIDIM method requires only the joint force/torque measurement. It is based on a closed-loop simulation of the robot using the direct dynamic model, the same structure of the control law, and the same reference trajectory for both the actual and the simulated robot. The optimal parameters minimize the 2-norm of the error between the actual force/torque and the simulated force/torque. A validation experiment on a 6 dof Staubli TX40 robot shows that DIDIM method is very efficient on industrial robots. 

INTRODUCTION

The usual identification method based on the Inverse Dynamic Identification Model (IDIM) and least-squares (LS) technique has been successfully applied to identify inertial and friction parameters of several robotic prototypes and industrial robots (M. [START_REF] Gautier | Identification of Robot Dynamics[END_REF] [START_REF] Ha | An efficient estimation algorithm for the model parameters of robotic manipulators[END_REF]) (M. Gautier 1997) [START_REF] Swevers | Dynamic model identification for industrial robots -Integrated experiment design and parameter estimation[END_REF])(Wisama [START_REF] Khalil | Modeling identification and control of robots[END_REF], amongst others. Good results can be obtained provided a well-tuned derivative bandpass filtering of joint position to calculate the joint velocities and accelerations is used. The Direct and Inverse Dynamic Identification Model (DIDIM) method needs only the joint force/torque measurements (M [START_REF] Gautier | DIDIM: A new method for the dynamic identification of robots from only torque data[END_REF]. It is based on a closed-loop simulation using the direct dynamic model while the optimal parameters minimize the 2-norm of the error between the actual force/torque and the simulated force/torque, assuming the same control law. This non-linear least-squares problem is dramatically simplified using the inverse dynamic model to formulate the simulated force/torque as an algebraic function linear in relation to the parameters. This paper recalls the DIDIM method and gives new experimental results obtained using a 6 dof robot. The paper is organized as follows: section 2 reviews the usual identification technique of the dynamic parameters of the robot. Section 3 presents the DIDIM method. The modelling of the TX40 industrial robot is presented in section 4. The experimental results are given in section 5. Finally, section 6 is the conclusion.

IDIM: INVERSE DYNAMIC IDENTIFICATION MODEL TECHNIQUE

The inverse dynamic model (IDM) of a rigid robot composed of n moving links calculates the motor torque vector idm τ , as a function of the generalized coordinates and their derivatives. It can be obtained from the Newton-Euler or the Lagrangian equations (Wisama Khalil & Dombre 2002). It is given by: = ( ) + ( , ) idm τ M q q N q q  

(1)

Where q , q  and q  are respectively the  

  idm st st τ ID M q,q,q χ    (2) Where   st ID M q,q,q   is the   x s nN jacobian matrix of idm τ ,
with respect to the   ...

1 2 n st st st st        : T j j st j j j j j j j j j j j j j off XX XY XZ YY YZ ZZ MX MY MZ M Ia Fv Fc        (3)
where:

j j j j j j
XX , XY , XZ , YY , YZ , ZZ are the six components of the inertia matrix of link j at the origin of frame j . [START_REF] Gautier | Numerical calculation of the base inertial parameters[END_REF]. The minimal inverse dynamic model can be written as:

  idm τ ID M q,q,q χ    (4)
  ID M q,q,q   is the  

x nb matrix of the minimal set of basis functions of the rigid body dynamics,

(5) χ is the  

x b1 vector of the b base parameters. Because of perturbations due to noise measurement and modeling errors, the actual force/torque  differs from idm τ by an error, e , such that:

  idm τ e ID M q,q,q χ e        (6)
Equation ( 6) represents the Inverse Dynamic Identification Model (IDIM). We consider the off-line identification of the base dynamic parameters χ, given measured or estimated offline data for τ and   q, q, q   , collected while the robot is tracking some planned trajectories.

 

q, q, q   in ( 6) are estimated with   ˆq, q, q   , respectively, obtained by bandpass filtering the measure of q (M. [START_REF] Gautier | Dynamic Identification of Robots with Power Model[END_REF].

The actual force/torque, τ is calculated by :

τ = g τ v τ (7)
where v  is the   x n1 control signal vector calculated according to the control law and , while the robot is tracking a reference trajectory   rrr q ,q ,q   , during the time length obs T , of the trajectory.

We obtain an over determined linear system of * * obs m n T f equations and b unknowns such that:

    fm fm fm ˆŶ τ W q,q,q χ ρ    (8)
In order to window the identification frequency range into the model dynamics, a parallel decimation procedure lowpass filters in parallel

    ˆŶ τ W q,q,q χ ρ    (9)
where:   Y τ is the (rx1) vector of measurements, built from the actual force/torque τ.   ˆŴ q,q,q   is the (rxb) observation matrix, built from the estimated values   ˆq, q, q   of   q, q, q   .

ρ is the (rx1) vector of errors. r=n*n m /n d is the number of rows in (9). In Y and W, the equations of each joint are grouped together such that:

        TT T T T T 1 n 1 n Y Y ... Y ,W W ... W              (10)
Y j and W j represent the n m /n d equations of joint j. The ordinary LS (OLS) solution χ minimizes ρ  . Using the base parameters and tracking "exciting" reference trajectories (M. [START_REF] Gautier | Exciting trajectories for the identification of the inertial parameters of robots[END_REF], we get a well conditioned matrix W. The LS solution χ is given by:

    1 TT χ W W W Y W Y    (11)
Standard deviations i   , are estimated under the assumptions that W is a deterministic matrix and ρ, is a zero-mean additive independent Gaussian noise, with a covariance matrix C ρρ , such that:

T2 ρρ ρ r () σ CE ρρ I  (12)
E is the expectation operator and I r , the rxr identity matrix. An unbiased estimation of the standard deviation   is:

2 2 ρ σ (r b ) ˆŶW χ    (13)
The covariance matrix of the estimation error is given by:

T 2 T 1 χχ ρ [( )( ) ] σ ( ) ˆˆĈE χ χ χ χ W W      (14) i 2 χ χχ σ C ( ) ˆˆˆi ,i  is the i th diagonal coefficient of χχ ˆĈ . The relative standard deviation ri χ % σ ˆ is given by: ri i χ χ i % σ 100 σ χ ˆ , for i χ ˆ≠ 0 (15)
The OLS can be improved by taking into account different standard deviations on joint j equations errors (M. [START_REF] Gautier | Dynamic Identification of Robots with Power Model[END_REF]. Each equation of joint j in ( 9), ( 10), is weighted with the inverse of the standard deviation of the error calculated from OLS solution of the equations of joint j , given by:

      j j j j j ˆŶ τ W ID M q ,q ,q χ ρ    (16)
This identification method is illustrated in Fig. 1.

Robot

 

In v e rse D yn a m ic The output, y=τ, is the actual joint force/torque τ, and the simulated output y s =τ ddm , is the simulated joint force/torque. τ ddm , is the force/torque input of the Direct Dynamic Model (DDM) which can be obtained by writing the IDM equation (1), as following:

Id e n tific a tio n M o d e l ID IM ÎD M q ,q ,q   , ,   qqq     fm ˆŴ ID M q ,q ,q   Linear LS 2 ˆm in - Y W         ( ), , , Y W ID M q q q     q t ( ) t  Control law    r r r q ,q ,q  
( , ) = -( , , ) ddm ddm ddm ddm ddm M q q τ N q q    (17)
Where   depend on an estimation of the base parameters χ. The signal q ddm (t, χ), is the result of the integration of the linear implicit differential equation. The optimal solution,  , minimizes the quadratic criterion,

J(χ) = ||Y s -Y|| 2 .   Y τ and   S ddm Y τ
are vectors obtained by filtering and downsampling the vectors of samples of the actual force/torque τ, and of the simulated force/torque τ ddm , respectively.

This non-linear LS problem is solved by the Gauss-Newton regression. It is based on a Taylor series expansion of y s , at a current estimate k χ , of the parameters at iteration k:

      +1 +1 k k k k k S S S χ ˆŷ(χ ) y ( χ ) y ( χ ) / χ χ χ o       (18)     k S χ y(χ ) / χ 
is the (nxb), jacobian matrix of y s , with respect to χ, evaluated at k χ . The input force/torque of the DDM, τ ddm , can be calculated with the analytical expression of the inverse dynamic model (4), such as:

              s ddm idm ddm ddm ddm y χ τ χ τ χ ID M q χ ,q χ ,q χ χ      (19)
Then the jacobian matrix is given by:

          k k k S ddm idm ˆˆχ χ χ k k k k ddm ddm ddm y χ χ χ ˆˆˆÎD M q ( χ ),q ( χ ),q ( χ ) χ χ                                      (20)
Because of the same closed loop control for the actual and for the simulated robot (see section B), the simulated position, velocity and acceleration have little dependence on χ . Then

    kkk d d m d d m d d m ˆˆÎD M q ( χ ),q ( χ ),q ( χ ) ID M q ,q ,q     
for any k χ , and the jacobian matrix (20) can be approximated by:

    k S kkk ddm ddm ddm χ y ˆˆÎD M q ( χ ),q ( χ ),q ( χ ) χ          (21)
Taking the approximation (21) of the jacobian matrix into the Taylor series expansion, it becomes:

    +1 k k k k ddm ddm ddm ˆˆŷ ID M q ( χ ),q ( χ ),q ( χ ) χ o e        (22)
This is the Inverse Dynamic Identification Model, IDIM, (6),

where   q, q, q   are estimated with   ddm ddm ddm q ,q ,q   , simulated from (17). At each iteration k, the IDIM method is applied as described in section 2. The sampling of ( 22) at a sampling rate f m , gives the over-determined linear system:

    , k fm fm ddm ddm ddm fm Ŷ τ W q ,q ,q χ ρ      (23)
The parallel decimation of (23) gives:

    , k ddm ddm ddm Ŷ τ W q ,q ,q χ χ ρ     (24)
The LS solution of (24) calculates k1 χ  , at iteration k+1. This process is iterated until:

  k 1 k k tol 1 /     
tol 1 is a value ideally chosen to be a small number to get fast convergence with good accuracy.

r r r q q q             Actual Robot D irect D ynam ic M odel k ddm ddm k ddm ddm ddm M ( q , ) q N ( q , q , )        Linear LS +1 m in 2 k ˆY W       ( ) t  Control law      ( ), W , , , k ddm ddm ddm Y ID M q q q      obs T ddm    q t
Control law

 

In v erse D yn am ic Because this method uses both models DDM and IDIM, it is named the DIDIM method: Direct and Inverse Dynamic Identification Models technique. The DIDIM method with the Gauss-Newton regression is illustrated Fig. 2.

Id en tificatio n M o d el k d d m d d m d d m ÎD M q ,q ,q ,      k ddm ddm ddm ÎD M q ,q ,q ,    ( ) t y  

Initialization of the algorithm

A problem with non linear optimization algorithm is how to choose the initial values 0 χ . We propose an algorithm not sensitive to the initial conditions, which assumes that the condition

    ddm k ddm k ddm k ˆˆq( χ ),q ( χ ),q ( χ ) q ,q ,q     
, is satisfied at any iteration k , starting with k=0. This is possible by taking the same control law structure for the actual robot and for the simulated one with the same performances given by the bandwidth, the stability margin or the closed-loop poles. Because the simulated robot parameters, k χ , change at each iteration k, the gains of the simulated control law must be updated according to k χ .

For example, let us consider a PD control law for each joint j.

The inverse dynamic model IDM (1) for the joint j, can be written as a decoupled double integrator perturbed by a coupling force/torque, such that: = ( )

j j idm j , j j j τ τ M q q p   ( 25
)
p j is considered as a perturbation given by: ( ) ( , )

n j j ,i i j ij p M q q N q q        (26)
M j,i (q) which depends on q , is approximated by a constant inertia moment J j , given by:

  () jj j j a j , j j a q J ZZ I max M q ZZ I      (27)
J j , is the maximum value, with respect to q, of the inertia moment around joint z j axis. This gives the smallest damping value and the smallest stability margin of the closed-loop second order transfer function, while q varies. It must be taken at least as ZZ j + I aj , which can be calculated from a priori CAD values. The joint j dynamic model is approximated by a double integrator, where p j , is a perturbation, as following:

    () j j j j , j j j j q τ p / M q τ p / J      (28)
Let us consider the joint j PD control of the actual robot which is illustrated Fig. 3:

+ - + - j a g  j r q j a v k 1 a j J 1 s 1 s + + j a p k j p j v  j q j q j  j q  ap j ap j J g
Fig. 3. Joint PD control of the actual robot. The joint j , force/torque is given by:

jj a j gv    (29)
Where a g tj is the actual drive gain, a J j is the actual value of J j , ap J j and ap g tj are a priori values of the actual unknown values ˆˆq( χ ),q ( χ ),q ( χ ) q ,q ,q      , at each iteration k.

We propose to take a regular inertia matrix 0 ( , ) ddm Mq  , in order to have a good initialization for the numerical integration of the DDM. It can be obtained with:

0 0   , except for, 0 1, j Ia j 1, n  (31)
The inertia of the rotor and gear of actuator j is generally taken into account in the IDM model (1) as τ j r j j

Ia q   .

Then, the initial inertia matrix becomes the identity matrix, which is the best regular matrix:

0 ( , ) = ddm n M q I  ( 32
)
Another point is to choose the state initial condition of the state vector,  

(0) (0) ddm ddm q ,q 
, in order to integrate the DDM. Because DIDIM doesn't need the joint position measurement, the actual values   (0) (0) q ,q  , are supposed to be unknown and we choose,

    (0) (0) (0) (0) ddm ddm r r q ,q q ,q   , which is close to   (0) (0) q ,q 
. Because the closed-loop transient response due to different initial conditions differs between the actual and the simulated signals during a transient period of approximately, 5/ d ω n , the corresponding joint force/torque samples are eliminated from the identification data in (23).

CASE STUDY: MODELLING OF THE TX40 ROBOT

The Stäubli TX-40 robot has a serial structure with six rotational joints. The robot kinematics is defined using the modified Denavit and Hartenberg notation (Fig. 5). The geometric parameters defining the robot frames are given in Table 1. The parameter  j = 0, means that joint j is rotational, α j and d j give respectively the angle and distance between z j-1 and z j along x j-1 , whereas  j and r j give respectively the angle and distance between x j-1 and x j along z j . Since all the joints are rotational then  j is the position variable of joint j. The TX40 robot is characterized by a coupling between the joints 5 and 6 such that 55 66 qr q K 5 0

qr q K 6 K 6                   .
Where

j qr
 is the velocity of the rotor of motor j, j q  is the velocity of joint j, K5 is the transmission gain ratio of axis 5 and K6 is the transmission gain ratio of axis 6. Thus, the duality relation of force/torque gives 55 66 cr cr

K 5 K 6 0 K 6                      
. Where, τ cj is the motor's torque of joint j, taking into account the coupling effect, τ rj is the electro-magnetic torque of the rotor of motor j. The coupling between joints 5 and 6, also adds to the effect of the inertia of rotor 6 and new viscous and Coulomb friction parameters fv m6 and fc m6 to both τ c5 and τ c6 . We can write: Ia q fvm q fcm q

        .
Where τ 5 , τ 6 already contain the terms j j j j j j ( Ia q fv q fc sign( q )) 

  

, for j=5 and 6 respectively, Ia K Ja  (33) Ja j is the moment of inertia of rotor j, fv m6 , fc m6 are the friction parameters due to the coupling between joints 5 and 6. The TX40 has N s =86, standard dynamic parameters given by the 14*6 usual standard parameters (3), plus fv m6 and fc m6 . For IDIM-LS method, we use the standard inverse dynamic model ( 2). The columns of the matrix   st ID M q,q,q   in (2) can be obtained using the recursive algorithm of Newton-Euler. We use the software SYMORO+ to automatically calculate the customized symbolic expressions of the models (Wisama [START_REF] Khalil | Modeling identification and control of robots[END_REF]. The base parameters χ and the minimal model (4) are automatically calculated using a QR numerical method (M Gautier 1991). The matrices N q q  are numerically calculated using the IDM model ( 1), ( , idm τ q q , q )

  , for special values of , q q , q   .

EXPERIMENTAL RESULTS

The identification of the dynamic parameters has been carried out using one trajectory using the controller CS8C of the Stäubli robots. The joint positions and torques are stored with a sampling frequency measurement f m =5KHz. The IDIM-LS off-line estimation is carried out with a filtered position q , calculated with a 50Hz cut-off frequency forward and reverse Butterworth filter, and with the velocities q  , and the accelerations, q  , calculated with a central difference algorithm of q . The parallel decimation of Y fm and W fm , in (8), is carried out with a sample rate divided by a factor, n d =100, and a lowpass filter cut-off frequency equal to, 0.8*f m /(2*n d )=20Hz. There are 60 base parameters which can be simplified to 23 well identified essential parameters with good relative standard deviation. The DIDIM method is initialized with all the standard parameters equal 0 except I aj =1, j≠5and I a5 =2, due to the coupling effect (33). The simulation is carried out with the actual stored reference trajectory and the CS8C controller of the TX40, with updating the gains with k ap jj Ĵ / J , and using the simulink software. A step of DIDIM takes 7' on a 2008 working station PC computer. The results are given in Table 2.

CONCLUSION

This paper deals with a new off-line identification technique of robot dynamic parameters, called DIDIM for Direct and Inverse Dynamic Identification Models technique. This method is a closed-loop Output Error approach, considering the output is the joint force/torque. The optimal parameters are the solution of a non-linear least-squares problem which is solved with a Gauss-Newton method. Each step of the iterative procedure of the Gauss-Newton regression is dramatically simplified to a linear regression which is solved with the Inverse Dynamic Identification Model technique (IDIM). In this paper we prove that DIDIM is very efficient on a 6 dof industrial robot, with a 1 step convergence starting with a regular initialization of the parameters.

  , Coriolis, gravitational and friction forces/torques. The modified Denavit and Hartenberg notation allows to obtain a dynamic model that is linear in relation to a set of standard dynamic parameters, st χ (M. Gautier 1986):

  M Y , M Z are the components of the first moment of link j . j M is the mass of link j , j Ia is a total inertia moment for rotor and gears of actuator j . j Fv , j Fc are the viscous and Coulomb friction parameters of joint j . j off  is an offset parameter.The base parameters are the minimum number of dynamic parameters from which the dynamic model can be calculated. They are obtained from the standard inertial parameters by regrouping some of them by means of linear relations (M

  Fig. 1. IDIM LS identification scheme.3. DIDIM: DIRECT AND INVERSE DYNAMIC IDENTIFICATION MODEL TECHNIQUE

  Fig. 2. DIDIM, with the Gauss-Newton regression, identification scheme.

  Fig. 4. Joint PD control of the simulated robot. The variables   , j j j j j ddm ddm ddm ddm ddm v , q , q , q 

Fig. 5 .

 5 Fig. 5. Link frames of the TX-40 robotTable 1 Geometric parameters of the TX-40 robotj σj αj dj θj rj 1 0 0 0 θ1 0 2 0 -π/2 0 θ2 0 3 0 0 d3 = 0.225m θ3 rl3 = 0.035m 4 0 π/2 0 θ4 rl4 = 0.225m 5 0 -π/2 0 θ5 0 6 0 π/2 0 θ6 0

Fig. 6 .Fig. 7 .

 67 Fig. 6. DIDIM, validation, red line: actual torque, blue line: estimated torque,

Table 2 :

 2 DIDIM Estimation after 2 step Parameter

									1	χ % σ ˆ	r	Parameter		1	χ % σ ˆ	r
	ZZ	1R	1.30	0.65	Fv 3	2.37	1.2
	Fv 1		8.71	0.8	Fc 3	6.6	2.0
	Fc 1		7.69	2.5	Ia	4	0.029 5.0
	XX	2R	-0.53 3.6	Fv 4	1.0	1.2
	XZ	2R	-0.16 7.2	Fc 4	2.47	2.2
	ZZ	2R	1.09	0.8	Ia	5	0.053 12.0
	MX	2R	2.11	0.4	Fv 5	2.52	2.3
	Fv 2		7		1.1	Fc 5	2.77	5.0
	Fc 2		7.74	1.7	Fv 6	0.72	2.7
	ZZ	3R	0.14	3.7	Fc 6	0.9	8.0
	MY	3R	-0.64 1.8	fv m6	0.8	2.4
	Ia	3				0.083 7.1	fc m6	1.6	4.4
	It needs only 1 step to obtain the optimal solution which is
	very close to the IDIM solution. Hence, the DIDIM method
	has a very fast convergence. A validation is plotted on Fig. 6,
	at the decimated frequency 50Hz. It shows that the actual
	joint torques, Y(τ), and the torques estimated with the
	identified model,	e		 W q ,q ,q ddm ddm   	 , 11 ddm ˆŶ  , as defined
	in (24) are very close. Both methods, IDIM-LS and DIDIM,
	give a small relative norm error,		W	Ŷ / Y 	<3%, which
	shows a good accuracy for the model and for the identified
	value.