Dynamic and Friction Parameters of an Industrial Robot: Identiﬁcation, Comparison and Repetitiveness Analysis

: This paper describes the results of dynamic tests performed to study the robustness of a dynamics model of an industrial manipulator. The tests show that the joint friction changes during the robot operation. The variation can be identiﬁed in a double exponential law and thus the variation can be predicted. The variation is due to the heat generated by the friction. A model is used to estimate the temperature and related friction variation. Experimental data collected on two robots EFORT ER3A-C60 are presented and discussed. Repetitive tests performed on different days showed that the inertial and friction parameters can be robustly estimated and that the value of the measured joint friction can be used to estimate the unexpected conditions of the joints. Future applications may include sensorless identiﬁcation of collisions, predictive maintenance programs, or human–robot interaction.


Introduction
The study of the dynamical performance of robotics machines is one of the most relevant problems in the design of effective robot control strategies. Parameter identification allows obtaining reliable dynamic models of industrial manipulators [1]. It is worth pointing out that a reliable dynamic model can improve position control [2]. Other applications may concern predictive maintenance, trajectory planning for energy efficiency [3], safety systems for robotic cells [4], or management of robot interaction with humans or the environment [5,6]. Many of these applications may require the knowledge of a good dynamic model of the robot. The robot's dynamical parameters include inertial parameters (masses, centers of mass, and moments of inertia) and friction description. Joints and transmissions are considered rigid, which is acceptable for many industrial applications. The inertial parameters can be obtained by developing a model and by performing experiments on the robot. The authors of [7][8][9] showed that it is possible to define a set of parameters that describe the model (torque prediction) for any open-chain robot. The model is linear on these parameters and their regression matrix depends on the position, velocity, and acceleration of the joints. M. Gautier and W. Khalil proposed to drop the parameters that scarcely influence then fitting, obtaining a full-rank matrix. The remaining dynamical parameters involved in the identification are called the base parameters.
The identification process uses the Least Square Method, which provides reliable performance when models are linear in the parameters. During the test, the robot is moved on a properly designed excitation trajectory storing the position, velocity, acceleration, and torque of the joints. Then, the parameters that better predict the measured torques are estimated. Several criteria have been proposed to optimize the trajectory [10,11]. In this paper, the excitation trajectory is designed based on the finite Fourier series introduced by J. Swevers [12], with the benefit of data averaging in the time domain and reducing the

Materials and Methods
The robots used during the experiments are the EFORT models ER3A-C60 located at the Robotics Laboratory of the University of Brescia. The two replicas are denoted simply as "Robot 1" and "Robot 2". They are 6-DOF industrial manipulators with a maximum payload of 3 kg and a total weight of 27 kg. The identification of the dynamics model of the robotic arms can be divided into two sub-problems: the selection of a suitable model, the required parameters, and the mathematical method to identify them; and the design of a suitable excitation trajectory to collect meaningful data from the experimental campaign.

Dynamic Model and Parameters
As is known, the robot dynamic model can be obtained by a Lagrangian or Newton-Euler formulation [35], and it can be written as: where θ,θ andθ are the joint position, velocity, and acceleration vectors, respectively. M(θ) is the mass matrix of robot arms, V θ,θ is the centrifugal and Coriolis force matrix and G(θ) is the gravity vector. τ in is the torque components depending on masses, moments of inertia, and the centers of mass. It should be pointed out that the friction and the contribution of the external forces are not included. Thus, the full robot dynamical model is: where τ robot is the torque output of each joint, τ f is the torque caused by friction, and τ ext could be calculated knowing the Jacobian matrix and the external forces (τ ext = J T F ext ), but it is assumed equal to zero in this work. To simplify the calculation, the model can be rewritten by reordering the terms of the equations; since the dynamic terms have a linear influence, the equation assumes the following matrix form: where K matrices, called information matrices, depend on θ,θ, andθ, and ψ vectors contain the dynamical parameters that need to be identified. More in detail, the subscript "in" refers to the inertial parameters, while " f " refers to friction. In this paper, the vector ψ in is the minimum set of dynamical parameters selected based on the linearization analysis [36], on numerical QR and singular value decomposition (SVD) factorizations [9], which benefit the computation cost. One of the mainly used friction models is based on the extended Coulomb models [37,38]. It might include the Stribeck effect [39], and it may assume the following polynomial form, which is a generalization of the Coulomb and viscous model: where τ f is the friction torque of one robot joint and the constants k 1 , k 2 , k 3 , and k 4 are parameters obtained with a identification. Their values changes with the temperature, as further explained in Section 2.3; sign θ is the sign function equal to 1 for positive velocity, −1 for negative velocity, and zero for null velocity. A three-order polynomial is generally sufficient to accurately describe the velocity-friction relation, so (4) describes the friction in function of speed and temperature. Figure 1 shows the friction torque versus the joint velocity at different temperatures of the gearbox of one of the robots used in our tests. To find the numerical value of the constants k i , for an assigned temperature, the Least Square criterion is introduced. Least Square is the standard method to approach the solution of the linear system [40]. The main purpose of Least Square is to find the parameter values which minimize the sum of the square of the errors between the given data and estimated results. In practice, the robot can be moved on suitable joint trajectories and the motor torques can be collected at predefined sampling instants. Equation (3) can be written for each sampling time and all the equations can be combined into one. Therefore, with the given data P of n sampling points, the resulting equation is: The least square estimation ψ of ψ is then: To consider the joint friction changes, the estimation must be repeated at different joint temperature to identify the thermal model (see also Section 2.3).

Excitation Trajectory
A well-designed test trajectory has to excite the influence of all the model's parameters and must include periods with large ranges of velocities from zero to high values. Since friction depends on joint temperatures, which changes during robot operation, the test trajectory must be sufficiently short to avoid altering the temperature significantly. To identify the dependency of the friction on temperature, the test is repeated during the time and it is alternated with special high-speed trajectories to warm up the joints. In this paper, to better identify friction and inertial parameters, the trajectories are divided into three stages: the first is optimized for inertial parameter estimation, the second is specially designed for friction estimation, and the third is a warming trajectory to prepare the next identification step. Figure 2 shows one of these trajectories; it should be noted that the friction identification is performed one joint at each time. The portion of the trajectory responsible to estimate the inertial parameters has been designed to optimize the condition number of the information matrix [12] and has the following form: Each joint motion is defined as a constant plus a series of N sines and cosines whose amplitude and frequency are determined by an optimization algorithms. N was assumed equal to 5 because a higher number proved to be unnecessary (first part of Figure 3).
To be sure that all the joints reach the maximum velocity, an additional motion section was added. It is based on a cycloidal law, and it is reversed to assure it includes both positive and negative velocities. The initial and final points are coincident (second part of Figure 3). The trajectory equation is the following: where ∆θ is the motion amplitude and t d is the time duration; these parameters were adjusted to reach the maximum velocity permitted by each joint. The final excitation trajectories are reported in Figure 3. Since the duration of the trajectories is not identical for all joints, some idle periods were added. To measure the friction torque, which depends on speed, a special trajectory with six trapezoidal velocities was designed (see central section of Figure 2); each segment includes periods with a constant velocity at 5%, 20%, 40%, 60%, 80%, and 100% of the maximum joint velocity. The acceleration parts of the trajectory are ignored to avoid dynamics effects. The influence of the weight in the constant velocity periods was removed using the technique explained briefly below and in detail in [41]. To obtain the same number of data for each velocity all periods are equivalent and, consequently, the amplitude of the motion is bigger at the higher velocity. Both positive and negative velocities are included.
It should point out that the collected torque contains the gravitational component for some joints. To eliminate its effect, the robot was put into specific configurations so that the rotation axes of Joints 1, 4, 5, and 6 are vertical. For the remaining joints, Joints 2 and 3, the gravity effect was eliminated by a Least Squares procedure. During the motion at a constant velocity of an individual joint (see Figure 4), the motor torque is: where − → P x and − → P y are the parameters to identify. Once these parameters are determined, the gravity effects can be subtracted to obtain only the friction component. Examples of original data for Joints 2 and 3 are shown in Figure 5a). Figure 5b shows the same data after removing the gravity effect. The different curves represent the torque with different temperature of the joint. The tests were performed at 60% of the maximum velocity. The warming up of the joint is obtained by repeating movements at high speed that increases the internal temperature due to the power dissipated by the friction. This heating is achieved by running a robot working program with all joints moved simultaneously and repeatedly. Based on the experiments and the study of Pagani et al. [41], the first group of test cycles was performed at a temporal distance of about 3 min and the last group at a time interval of about 5 min. The merge of all the trajectory sections (inertial, friction, and warming) generates one cycle, which has a duration of 4.5 min roughly. To acquire enough data for the analysis, 24 cycles were performed, which correspond to about 2 h per experiment.

Temperature Effects
The friction parameters are highly dependent on temperature. The temperature of the gearbox is not available in most of the industrial robots in the market. Thus, it is necessary to estimate both the temperature and the thermal model from the experimental data. The estimation is possible by executing several warm-up tests with different root-mean-squared values of the joint torque, as proposed in [42] for a first-order thermal model and extended by Legnani et al. [43] for second-order models.
The second-order thermal model has two thermal capacities, which exchange heat linearly with the temperature differential. The exchanged heat with the environment is assumed linearly dependent on the temperature of the thermal capacities. Finally, the heat generated by friction is the product W f = τ fθ . Thus, the temperature evolves as described by the following transfer function: where s is the Laplace variable, T is the gearbox temperature, and τ 1 , τ 2 , c 1 , and c 2 are model parameters.
According to Pagani et al. [41], when one robot is actuated on a repetitive working cycle, sufficiently shorter than the time constants t 1 and t 2 , the joint temperatures changes as the step response of (12) where the heat is given by the root-mean-square value W f ,rms computed in the working cycle: where t is the time and T 0 is the initial temperature. Given an estimated temperature, the friction changes as: where α is a constant dependent on the thermal model and τ 0 is friction torque at the initial temperature T 0 . By combining (4) with (14), we obtain a friction estimation formula as τ f =(1+α(T−T 0 )) k 1 sign θ +k 2θ +k 3θ 2 sign θ +k 4θ 3 (15) this relation is valid both for constant velocity situations as well as for transients, as described in Algorithm 1. Line 3 of the algorithm is the finite difference equation obtained by discretizing (12). It is worth noticing that, in the special case of repetitive short cycles shown in Figures 6 and 7, the friction torque changes as: Thanks to (13) and (15), it is possible to identify the parameters α, c 1 , c 2 , τ 1 , and τ 2 of the thermal model following the procedure described in [41], where a genetic algorithm tunes the model parameter to fit multiple warming cycles with different values of W f ,rms .

Algorithm 1: Evolution of the estimated temperature
Input: velocityθ(k); estimated temperature T(k − 1) and T(k − 2) at the steps k − 1 and k − 2; discretization period δt Output: estimated temperature T(k) at step k   The friction component τ f uses the temperature prediction obtained by the thermal model thanks to Algorithm 1. A discrepancy between the estimation and the measured torque is inevitable; however, if this value is considerable, some other factor intervene: contacts with the environment or a malfunction of the mechanical transmissions. Specialized algorithms can deal with these situations (e.g., [44,45]).
The comparison between the estimated torque and the measured one can be the input of virtual force sensors, collision detectors, or maintenance supervisor.
It is worth pointing out that, once the thermal model is estimated, it is possible to use the actual friction torque to estimate the joint temperature when there are not unmeasured external forces acting on the robot employing a state observer [46].     Figure 8. Scheme of the interconnections between the dynamic, the friction, and the thermal model and the possible use for advanced applications (predictive maintenance, virtual force sensor [46], and human-robot interaction). Symbols with the "hat" marks the estimated values, symbols without the "hat" are real values.

Data Acquisition and Elaboration
Two robots of the same model EFFORT ER3A C-60 were used for the experiments, named "Robot 1" and "Robot 2". The data acquisition was repeated four times for each robot on different days. To have comparable environmental conditions, all tests were executed in the morning after at least 8 h of robot rest and with an environmental temperature of about 20 • C. For each movement, a PC-based acquisition system collected the motor's positions and torques with a frequency of 4 ms. After the data collection, identification and analysis were developed using MATLAB programming environment. The data collected during all the repetitions of the 24 different cycles were analyzed to estimate inertial and friction parameters. Inertial parameters should be independent of the temperature and their numerical estimation would be expected to give constant results. The friction instead depends on temperature which increases with the robot activity, therefore a time-dependent trend with asymptotic behavior is expected for these parameters. The results show that the estimated dynamic parameters also had an asymptotic behavior; however, the range of the variation is generally minimal.
Examples of the results for inertial parameters are presented in Figure 9. The figure clearly shows that the estimated values of parameters change with cycles, but the variation is very little and the steady-state value is reached after about 15 cycles that correspond approximately to 1.5 h of the experiment. The coefficient k i of (4) change with behavior similar to (16). This trend is due to the model mismatches introduced by the thermal effect and the resulting identification error. In fact, the friction torque of Joint 3 at 60% of the velocity and its estimation are reported in Figure 6. It is worth pointing out that the friction torque at the cold state can be 70% higher than the final value, highlighting the relevance of the phenomenon. The evolution of the same parameter, but slightly widening the scale of the value. It is worth noting that the difference between the initial and final estimations is less than 5%.

Results
As first results, Figure 10 reports the different friction torque for different velocities in cold and hot conditions for the six joints. According to our experiments, the estimated temperature obtained by the thermal model could change from about 15 • C (cold state) to about 50 or 60 • C (depending on the joint) in hot state. Moreover, these values were confirmed by the data collected using temperature sensors located near the gears. As stated in Section 2.4, the described analysis was applied to two manipulators of the same model named "Robot 1" and "Robot 2". The two robots showed very similar behavior with the exception of the few cases mentioned in the paper and dependent on a mechanical problem in "Robot 1". The results of the friction estimation on "Robot 1" for all the six joints at 60% of the maximum velocity are presented in Figure 7. The time constants of the curve fitting are reported in Table 1. The identification was performed for each test repetition as well as on the merge of the complete set of the collected data (mixed data). It is worth noting that the behavior of the robot is quite repetitive for all the joints. Each of them has regular heating which leads to a steady condition in about 1-2 h depending on the joint. The time constant analysis of the six joints shows that one of them is shorter than the other one. While t 1 is in the range of 2-3 min, t 2 is in the range of 20-30 min, depending on the joint number. Moreover, Table 1 highlights that the different time constants estimation is mainly located at a narrow range for each joint. The Mix data are the results of curve fitting by merging the data of all tests. Based on the results of Figure 7, it is proved that the accuracy of the friction estimation is improved by the mixed data results. The estimation of the temperature during the working cycle permits predicting the correct friction contribution (see Figure 11 as an example). The same procedure was implemented on "Robot 2". The results of the estimation on the friction-temperature characteristic are completely comparable to those obtained for "Robot 1". The curves exhibit similar trends and the ranges of the torque value are also equivalent. A further comparison between the two robots was performed on the estimation analysis of the inertial parameters. Results for some dynamic parameters are reported in Figure 12. The estimated values of these parameters for the two robots are reported for each of the 24 cycles. It is worth noting that they reach a stable value after a few cycles. The four repetitions of the test provide quite similar data. Thence, it is confirmed that the identification procedure is reasonably robust and suggests that the inertia parameters estimation can be performed after a short warming-up period of about 30-50 min (depending on the robot model). The results obtained from these analyses show the repetitiveness of the experimental procedure used in this work. The parameters identified by the model are comparable between the tests carried out on different days and also comparable with those obtained on different robots but of the same model. It is of utmost importance to obtain a mathe-matical model describing the joints torques variations taking into account the temperature alterations that may occur during the working operation. This could be useful for multiple applications, such as predictive maintenance, advanced control strategies, the realization of virtual force sensors, and human-robot interaction. Figure 13 shows a clear example of the model implementation for predictive maintenance. During one of the tests carried out on "Robot 2", a mechanical problem was found in the first joint. After about 60 min on the second day of the tests, the friction torque had an unexpected increase and then it settled at a higher value compared with the previous tests. The measurement carried out the day after shows that the same movement required more energy from the very start. A possible explanation for this phenomenon may be a mechanical problem inside the transmission. In this specific case, to restore the correct operation of the machine, it was sufficient to execute the inspection of the joint following the mechanical maintenance manual provided by the manufacturer. Further analysis of this issue is shown at the bottom of Figure 12. It is possible to note how the unexpected increase in friction torque results in a sudden change in the friction parameters of the dynamic model. The phenomenon just described suggests how the model provided in this work may be used for the preventive maintenance of industrial manipulators. By carrying out the identification procedure on a new robot, it is possible to obtain an initial condition state of the machine. Repeating this procedure over time, it is possible to compare the new results with the initial ones to check if the components have been damaged, helping the user to perform the necessary maintenance. It is worth pointing out that the unexpected increase is about the 32% of the expected value, while the change due to thermal effect is 60%/70%, thus the damage cannot be detected by using a model that neglects the thermal effect.

Discussion
The experimental campaign lasted several days using two robots of the same kind. The experimental data show the repeatability of the thermal phenomenon and the robust identification of the parameters of the dynamics and thermal models. This repeatability allows detecting unforeseen changes of the friction torque due to minor mechanical damages, as shown in Figure 13. It is worth stressing that the friction changes from cold to warm conditions are more significant than the changes due to the damages. Thus, one of the main advantages of integrating a thermal model is to provide a higher discrimination level than models that neglect temperature effects, allowing early detections of torque changes due to aging and damages.
Another advantage of the algorithm is the ability to predict the required torque, improving the performance of control algorithms based on precomputed torque.
The main drawback is the requirement of an extended test campaign on a representative batch of each robot type.

Conclusions
The study of the robot dynamics and, in particular, the friction torques is crucial to understand the robot behavior, as mentioned in the Introduction. This information is helpful to analyze the aging and appearance of possible defects during the robot activities. As is well known, the design of a suitable exciting trajectory is essential to estimate the robot parameters correctly.
The paper shows the effectiveness of the dynamics model, coupled with the temperaturebased friction model, to match experimental data in multiple robots. The experimental campaign, performed on several days, showed consistent results. The paper shows that the estimated parameters are biased during the first part of the thermal transient due to friction changes. Thus, a model that neglects temperature effects can work properly if and only if the model is identified and used at the same thermal steady-state. Otherwise, a temperature estimator is required to compensate for its effect.
Therefore, this paper could help people understand the robot behavior changes during working cycles and develop a dynamic model of the robot, including the thermal effect.
The model can effectively estimate the friction variation due to temperature. Since this variation is up to 70%, it is crucial to consider it in the torque estimation to discriminate it from other changes due to possible damages or aging. It is worth pointing out that this discrimination ability could be relevant in advanced maintenance and performance monitor.
Future works will deal with the study and the identification procedure of the thermal effects on the friction at lower velocities, the possible usage of the proposed model in maintenance and performance monitoring scenarios.