Friction Model of Industrial Robot Joint with Temperature Correction by Example of KUKA KR 10

The quality of industrial robots essentially depends on the properties of their kinematic couples. This research has involved conducting an experimental study of the friction torque in a joint of the KUKA KR10 industrial robot and building its model. It has been established that the largest impact on friction in the joint is caused by its axial load and velocity, as well as the temperature of the mechanism, which is generally not homogeneous. It is not possible to measure temperature fields in the joints of a serial industrial robot directly. This study has set forth a method to estimate friction torque taking into account the temperature factor indirectly. For this, we have used the motor temperature available for measuring in combination with special periodical motions, performed by the robot, during which we estimated the actual friction torque in the joint and calculated a temperature correction based on our findings.


Introduction
The mechanical rigidity of an industrial robot-manipulator is largely determined by the rigidity of its joints.To increase rigidity and minimize backlash, the joints of industrial robots are designed to have high kinematic precision and high load capacity but increased friction on the downside.The authors of the studies [1,2] point out a number of factors affecting the friction force in robot joints: joint design, manufacturing and assembly precision, material of the joint's components, lubricants used, geometry and permanency of contact between the mating surfaces, wear and tear of the joint's parts, backlash, vibration, etc.
Taking friction forces into account may considerably improve the efficiency of controlling the robot [3,4] and allows assessing the state of lubricant in the joint [5], the mechanical wear and tear, predicting its service life [1], and implementing force-torque control algorithms using the robot's axial torque data [6].The literature contains references to many identification techniques [6][7][8][9] and friction models.
The most comprehensive friction models include dependencies based on such variables as angular velocity, load, and temperature [5,10,12].It has been experimentally demonstrated [10,14] that temperature has a substantial effect on friction torque.However, it cannot always be measured since the joint's interior is not accessible due to its design [2,5,12,15].In this case, the joint's friction area temperature can be obtained either by indirect measurements, or through estimation.In the study [10], the temperature of the lubricant was used as the joint's own temperature.When estimating friction area temperature with the aid of state observers, motor winding temperature [12] or joint housing temperature [5] can be used.The observers are based on various heat transmission models based in turn on the law of conservation of thermal energy and taking into account the motor's thermal output [12,15].Moreover, in some cases lubricant viscosity can be taken into account, as well as thermal effect of friction on it [5].Temperature estimation methods based on models may have limited accuracy which deteriorates with time due to various unmeasured factors [4].
This study explores friction in one of the joints of the KUKA KR10 R900 sixx robot-manipulator [16].Its control system allows measuring the motor temperature only.To account for the thermal factor influence on friction in the robot's joint, a technique is proposed based on introducing a motor temperature correction, which is regularly calculated using the friction torque registered when special axial motions are performed by the robot.

Overview
where M() is inertia matrix; C(, φ ) is vector of centrifugal and Coriolis forces; , φ , and φ are angular positions, velocities, and accelerations in the robot's axles, respectively; L is axial load torque;  is friction torque counter-directed to the axial velocity.
Friction is a very complex process and to some degree unique to every mechanism [14].The studies dedicated to tribology use a wide range of friction function formalizations [2,17].One of the fullest descriptions of the friction torque  in a robot-manipulator joint is presented in the study [10].It establishes a dependence of friction torque  on load torque L, angular velocity φ , and the joint's temperature T and can be presented as follows: where  L is friction component dependent on load;  s is Stribeck friction;  v is viscous friction;  c is Coulomb friction.Let us consider these components in greater detail.
Coulomb friction  c is related to the force of intermolecular interaction of the mating surfaces and is a constant [14].
The way, load L has an effect on the friction component  L , is linked with the pressing force of the mating surfaces, their roughness, the presence of lubricant between them, and the material properties of the parts [14].Axial load L of the robot consists of holding torque l g () (caused by the gravitational force, and dependent on the robot's kinematics) and load torque l(t) (caused by the external forces applied to the robot at the current time t): To describe the dependence of friction on load, both linear [5,7,10] and nonlinear functions [2] can be used.Most often, this dependence is described as follows: where  is a friction coefficient.The viscous friction component  v arises when the joint's mechanical elements move in viscous fluid.This dependence is often expressed linearly in terms of velocity [6,9,15,17]; in some cases a nonlinear function approximation is used: power [12], trigonometrical [18], and exponential [11] functions.The value and characteristics of viscous friction are substantially dependent on the viscosity of lubricant used [14], which in turn depends on temperature.For this reason, a more general description of viscous friction involves the joint's both velocity φ and temperature T. In the studies [2,5,10], this dependence is formalized as follows: where ,  are coefficients to characterize viscosity; ,  0 are coefficients to take temperature into account.
The nature of the Stribeck effect  s is related to the catching of peaks on rough surfaces at the microlevel through a layer of liquid lubricant.The effect depends on the finish of the surfaces, lubricant viscosity, and quantity, and it is registered at low velocities and can manifest itself to a varying degree.The Stribeck effect is identified in the mechanisms explored in the studies [3,18,19], where it is described as follows: where φ s -Stribeck's velocity;  and  -coefficients to characterize the amplitude and slope of the nonlinearity of Stribeck friction, respectively.The expression (6) reflects the dependence of Stribeck friction on velocity only; however, there are studies which, to describe this component further, have taken into account the influence of the joint's temperature and load [10].There are also a number of joint designs in which the Stribeck effect has been either not detected, or neglected by the researchers [2,4,5,12,13,20].

Friction Measurement Methods.
The most common solution for estimating friction torque  in robot-manipulator joints is separating it, using measurable control torque u, where the contribution of the remaining components of the equation ( 1) is calculated with due regard to the mass-inertial characteristics of the robot's links, and then eliminated [12,[19][20][21][22].If these characteristics are unknown, various additional computational approaches and methodologies can be used to identify them [2-4, 6-9, 13].
The study [1] proposes an alternative method that does not require identifying mass-inertial characteristics of the robot's links.In a nutshell, it consists in paired counterdirected motions, performed by one robot axle at constant velocity | φ | = const, without external load l = 0.At constant speed there is no influence of inertia forces.Centrifugal and Coriolis forces are directed radially from considered joint and create torque acting only on subsequent joints and links.Then, according to (1), allow the components of the inertia forces M() φ = 0 and those of centrifugal and Coriolis forces C(, φ ) = 0, while the axial control torque u counteracts only the friction forces  and the load torque L() = l g (), caused by the gravitational forces.Both components depend on the angle .Notably, the gravitational component of the load torque l g () does not depend on the motion direction sign( φ ), whilst the friction torque component  changes sign as the direction reverses: where u + and u − are control torques registered at the robot axis, moving in the forward and reverse direction, respectively.Then the friction torque () and load torque l g () are This method and its variations [11] do not require a priori knowledge of the robot's mass-inertial characteristics, and the identified dependences l g () and () have high repeatability [18,19,23].

Experiment Preparation.
Figure 1 presents an overall view of the industrial robot-manipulator KUKA KR 10 R900 sixx and its kinematic structure with six degrees of freedom.The robot's load capacity is 10 kg, with maximum reach of 900 mm.The friction model identification experiments are performed based on the robot's second axle.To identify friction torque  and holding torque l g the method ( 8) is used, involving paired motions in counter side directions, as shown in Figure 2.For load torque L, the study uses gravitational torque L = l g .To take into account the thermal factor, the study uses motor temperature available from the robot's control system; additionally, the robot's joint housing temperature is measured.In the study the friction model is considered as the expression (2).Then the friction torque components (L, φ , T) dependent on load L, velocity φ , and temperature T are identified consecutively.

Dependence of Friction Torque upon Load Torque.
To estimate the friction torque component  L (L), which is dependent on load torque L = l g in the joint, a series of experiments are carried out where, according to the method (8) and scheme in Figure 2, robot motions can be reviewed at various velocities (Algorithm 1).
The experiment results are presented in Figure 3. Taking into account that each experimental curve is obtained for φ = const and assuming that during a single experiment (pair of counter-directed motions) T = const, the expression (2) can be reduced to where G( φ , Accordingly, the effects of the component  L (L) on friction  are linked with the shape of the curves presented in Figure 3. Further, their different, but invariable within the same experiment, vertical shifts G( φ , T) are determined by the other components in the expression (2).Assuming that  L (0) = 0 for each curve, it is possible to identify its vertical shift G( φ , T) and define the law of the total quadratic dependence of friction torque  L upon the load L in the joint: In Figure 3, the experimental dependences are juxtaposed with their approximation obtained in accordance with (10) and plotted with various shifts G( φ , T).The revealed dependence (10) is expressly nonlinear which is in contrast with its traditionally linear shape (4).

Viscous Friction.
To identify the viscous friction component  v ( φ , T), let us consider experiments at different velocities φ at varying temperature T. Algorithm 2 presents the pseudocode for experiments motion.Figure 4 presents time plots of motor temperature T m and joint's housing temperature T c , including two phases: heat-up through intensive motions at maximum velocity and natural cool-down.As temperature changed, in order to accumulate experimental data, motions were regularly performed by the robot at four velocities.The obtained experimental dependences , plotted for L = 0 (points, corresponding to curves minimum, shown on Figure 3) in relation to motor temperature T m and joint housing temperature T c , are presented in Figures 5 and 6, respectively.
In all of the presented experiments, a considerable reduction in friction torque  with the rise of temperature could be observed.However, it should be noted that dependences of friction torque  on temperatures, registered during heatup and cool-down, are differ.That difference is true for both motor T m and housing T c temperatures, being the hottest and coolest points in the joint's design, respectively, and any of their linear combination that reflects the temperature in some middle point of the joint's mechanism (not shown in the plot).The observed ambiguity can be explained by the joint's complex design where friction concurrently occurs on many mating surfaces that are within a heterogeneous temperature field.Thus, the experiments presented in Figures 5 and 6, on the one hand, demonstrate a significant effect of joint temperature on friction and, on the other hand, the complexity of the task of its objective monitoring.
For further experiments, let us perform identification of the viscous friction component  v in terms of mean temperature T * and mean friction torque  * : where t -time,  + and  − -friction torques registered in heatup and cool-down modes, respectively.
where the components excluded, whose effects according to the terms of the experiment are either nonexistent ( L (L) = 0 for L = 0) or small, are eliminated (the Stribeck friction  s ( φ ) component manifests itself only at low velocities, which are not used in the experiment in Figure 7).The viscous friction  v component in the study is identified according to the formula: which is obtained based on the expression (5) but differs from the latter by a nonlinear dependence on velocity φ , identified for the mechanism being studied.

Stribeck Effect.
Consider the component  s ( φ ) of friction torque (2) caused by the Stribeck effect.This effect occurs at low velocities φ at the pass between friction at rest and friction of motion.The effect manifests itself in increased friction at the beginning of motion and is characterized by the fact that as velocity φ rises, total friction  does not increase, as it follows, for example, from ( 12), but decreases.
To identify the Stribeck component  s ( φ ) of friction torque, let's turn again to the experiment presented in Figure 3, where successive motions are considered in a wide range of velocities φ starting from 2.3 deg/s.In the process of conducting the experiment the joint's mechanism heated up inevitably.The temperature factor has a substantial influence on viscous friction torque; however, the magnitude of this influence was identified and formalized as ( 13) and hence can be accounted for by this correction: which at a given velocity φ reflects the change in viscous friction torque  v , caused by the joint's temperature changing from T 0 to T. This allows identifying and eliminating the influence of uncontrolled temperature changes from the experimental data, obtaining an estimate of friction torque dependence upon velocity φ for any temperature T 0 : where (L, φ , T) is friction torque at actual temperature T. Figure 8 presents two dependences of friction torque on velocity φ at constant temperature T 0 = 20 ∘ b and load L = 0: experimental and model ones.The experimental dependence is built using the expression (15), where for temperature T the motor temperature T m is used.The model dependence is presented by the expression (13), which was obtained earlier by approximation of experimental data at velocities, ranging from 19.1 to 101.2 deg/s.As can be seen from Figure 8, the model dependence provides an acceptable accuracy of describing the experimental data over the whole range of working velocities, including in the proximity of φ = 0. Therefore, we can conclude that the experimental dependence at low velocities has no manifestations such as the Stribeck effect.So when describing friction in the mechanism under study, this effect can be neglected, accepting that  s = 0.

Mean Friction Torque Function.
Combining the components of friction torque included in (2), dependent upon load torque L (10), velocity φ , and temperature T (13), as well as taking into account Coulomb friction component  c , we get an expression for friction torque in the second joint of the KUKA KR 10 robot: where  c = 10.57, = 0.0014,  = 3.48,  = 15.66, = 0.056.
It is noteworthy that the expression ( 16) with presented parameters is obtained, using mean values (12) under the conditions of established temperature ambiguity, and is a qualitative description of friction torque, in the first place.The following section of this paper discusses the use of ( 16) for quantitative estimates of friction torque.

Friction Function Temperature Parameter Adjustment.
The effects of temperature on friction in the robot joint are substantial.In the case (see Figures 5 and 6) temperature may be responsible for up to half the amount of friction torque, so its effects must not be neglected.However, the study showed that it is impossible to establish a clear relationship between friction torque and temperature in a single point of the joint's mechanism (the study considered motor and joint housing temperatures, as well as a set of their linear combinations).This can be explained by the joint's complex design where friction occurs simultaneously between many paired parts, which operate in contact with each other under different conditions, including temperature.Building a friction model, based on distributed temperature, is difficult due to the complex task of registering thermal fields inside the closed joint's mechanism.
Let us review a technique that allows a practical estimation of friction torque, using the expression (16).It is implemented by making a regularly updated correction ûT(t a ) to the registered motor temperature T m (t): where T(t) is temperature parameter in the expression ( 16), t is time, and t a is correction calculation time.
To calculate the correction ûT(t a ), let us turn to the expression ( 16) and express the temperature parameter from it: where (t a ), L(t a ), and φ (t a ) are friction torque, load torque, and velocity in the joint at the time t a .Then where T m (t a ) is motor temperature, registered at the correction calculation time.
Friction torque (t a ) and load torque L(t a ) included in (18) can be obtained using the method (8), which involves performing two counter-directed motions at constant velocity.The need for performing special motions may necessitate interrupting the robot's control program, which is generally undesirable, so the interruption procedure should have reasonable periodicity.
Our study has shown that the more intensive thermal processes in the joint currently are (see Figure 4), the larger a change of the temperature correction ûT turns out to be and the more often its adjustment is required.This observation has been used to develop a heuristic periodicity criterion: where k is scale coefficient regulating the periodicity of corrections and t max is parameter setting the time, upon expiration of which correction is made forcibly.The temperature correction adjustment mechanism ûT is launched when the condition (20) 20) Pause of robot's control program executing T m (t a ) = T m // rewriting temporary variable t a = t // ascending time value to adaptation time parameter φ = φ (t a ) // assigning the velocity value φ (t a ) for the robot joint velocity Moving to  = 180.0// joint clockwise motion u − () = u // assigning u + until mowing clockwise Moving to  = 0.0 // joint counterclockwise motion u + () = u // assigning u − until mowing counterclockwise (t a ) = () and L(t a ) = l g () calculating by eq. ( 8) T(t a ) = . . .by eq. ( 18) // temperature parameter adjustment ûT(t a ) = T(t a ) − T m (t a ) // temperature correction calculation by eq. ( 19) end if T(t) = T m (t) + ûT(t a ) // temperature parameter calculation online by eq. ( 17) (t) = . . .by eq. ( 16) // friction torque estimation online using T(t) with temperature correction calculated after adjustment cycle Motions of robot's control program executing end while Algorithm 3: Pseudocode demonstrating proposed friction torque estimation technique making temperature parameter adjustment. of temperature change intensity, we used the time ût which it takes the motor temperature T m to change by 1 ∘ C.This choice was made in view of the peculiar features of temperature diagnostics in the control systems of KUKA robots, where registration step is 1 ∘ C. Parameter t max provides extra operational security in established temperature conditions.Algorithm 3 presenting pseudocode for realising described technique.
Let's demonstrate the proposed friction torque estimation technique, using the experimental data shown earlier in Figure 5.These data present a pairs sequence of axle counterdirected motions, performed at four velocities at different temperatures in heat-up and cool-down modes.Each pair of motions allows, using the method (8), getting a friction torque, which can be used both for calculating the temperature correction ûT and for comparison purposes in analyzing the accuracy of friction torque estimates.
The experiment in Figure 5 showed a substantial difference in the dependences of friction torque  upon motor temperature T m in heat-up and cool-down modes.In Figures 9 and 10 these modes are presented separately and labelled with friction torque estimates.The estimates are obtained using the expression (16) with temperature correction in accordance with (17)  The statistical study showed that when choosing the velocity φ for calculating the temperature correction ûT, it is advisable to use the observations below for guidance.Turning to (16) it can be noted that the higher the velocity φ , the more pronounced the contribution of temperature influence on the friction torque compared to its other components.However, in practice, as velocity φ grows it is becoming more difficult to stabilize it.And, as a result, the registered torque (1) has a growing component related to acceleration φ , which according to the method (8) should be absent.Consequently, it is recommended that, in the general case, mid-range velocities should be used for calculating the temperature correction.
The accuracy of friction torque estimates in the proposed technique is linked with how frequently the temperature correction is adjusted ûT.In the experiments in torque estimates.Let us use standard deviation, taken for the whole range of velocities under study as an accuracy test: where n is number of experiments for a given velocity, m = 4 is number of velocities under study, τ(j) i is friction torque obtained with the use of the method (8) and smoothed out using polynomial approximation (as shown in Figures 9 and  10), and τ(j) i is friction torque estimate obtained using the proposed technique.
The findings of a comparative experiment are presented in Figure 11 in the form of a deviation histogram  depending on the number of corrections for heat-up and cool-down modes.It is noteworthy that, in both modes, the joint's temperature varies quite widely-around 40 ∘ C (see Figure 4).Also, the cooling process, lasting for 300 minutes, runs three times as slow as the heating process, with the adjustment procedure carried out three times as rare, with comparable friction torque estimation accuracy.This confirms the universality of the proposed criterion (20).The presented histogram illustrates that even in the modes of intensive natural heatup and cool-down of the robot, about seven corrections are required for a temperature variation range of 40 ∘ C. The corresponding standard deviation does not exceed 2 N⋅m.
On the whole, it should be noted that the correction ûT can be updated in relatively long time periods owing to high inertia of thermal processes and in view of the temperature estimation in (17), which indirectly takes into account its change rate.This periodicity does not affect the robot's performance to any significant degree and ensures high accuracy of friction torque estimation in its joints in real time without using any auxiliary equipment.

Conclusions
The study has explored the friction function in the second joint of the KUKA KR10 R900 sixx robot depending on load, velocity, and temperature.To separate friction torque from an axial control torque signal, an experimental technique, not requiring knowledge of the robot's mass-inertial characteristics, has been used.Nonlinear nature of the friction torque dependence upon load torque has been confirmed experimentally and its description proposed.The combined influence of velocity, motor winding temperature, and joint housing temperature on friction torque during heat-up and cool-down has been explored.A function that approximates mean experimental data describing the dependence has been proposed.The study has demonstrated the absence of the Stribeck effect in the joint.
The experimental data do not allow building a definite friction torque dependence on the friction area temperature, since the robot's design does not allow measuring temperature that determines friction in the joint.To solve this problem, a technique to estimate temperature in friction area has been proposed.In a nutshell, the technique consists in indirect estimation of temperature using the axial torque of the robot in the process of its performing special motions and adjusting the friction function temperature correction.An adjustment frequency criterion, independent of temperature mode, has been proposed.The effect of adjustment frequency on the accuracy of torque estimation has been studied.The conducted experiments have shown that the proposed solution allows estimating friction torque with a standard deviation not exceeding 2 N⋅m.Recommendations for choosing special motion velocities and adjustment periodicity have been given.
The friction function estimation technique is universal and allows developing a friction model depending on the joint's angular velocity, load, and temperature in any serial industrial robot with a serial kinematic structure.The friction-area temperature estimation technique can be tested in robot operation modes, when substantial changes in the joint temperature occur.
Precise knowledge of axial friction forces will allow estimating the external forces acting on the robot using data on its axial torques.The availability of mass-inertial characteristics and the robot's kinematic model along with axial friction models will help estimate the external forces, acting on the process as well as implement force-torque control algorithms.Within the latter task some identification methods described in articles [6,8] potentially can be combined with described nonlinear friction model.Nevertheless, the temperature factor compensation is important in the modes of significant temperature changes.

Figure 4 :
Figure 4: Motor temperature T m and joint's housing temperature T c in the process of heating up and cooling down.
Inputs: velocity = [ φ 1 ; φ 2 ; φ 3 ; φ 4 ] // vector of velocity values, deg/s T m // motor temperature, ∘ C u // control torque, Nm Temp max = T m // temperature parameter, ∘ C  // joint angular position, deg/s Outputs: φ // joint angular velocity, deg/s u + () // control torque until mowing clockwise, N ⋅ m u − () // control torque until mowing counterclockwise, N ⋅ m () // friction torque, N ⋅ m l g () // load torque, N ⋅ m T m // motor temperature, ∘ C // CYCLE OF CHANGING VELOCITY VALUES IN JOINT HEATING-UP MODE while T m < 65 ∘ C // Cycle of changing velocity values for i = 1 to 4 step 1 φ = velocity[i] // assigning the velocity value for the robot joint velocity Moving to  = 180.0// joint clockwise motion u − () = u // assigning u + until mowing clockwise Moving to  = 0.0 // joint counterclockwise motion u + () = u // assigning u − until mowing counterclockwise () and l g () calculating by eq.(8) T m data measuring end for Temp max = Temp max + 1 // changing temperature parameter to 1 ∘ C up // Heating-up cycle by 1 ∘ C making intensive motions at maximum velocity while T m < Temp max φ = φ  // assigning the velocity maximum value for the robot joint velocity Moving to  = 180.0// joint clockwise motion Moving to  = 0.0 // joint counterclockwise motion end while end while // CYCLE OF CHANGING VELOCITY VALUES IN JOINT COOLING-DOWN MODE while T m > 25 ∘ C // Cycle of changing velocity values for i = 1 to 4 step 1 φ = velocity[i] // assigning the velocity value for the robot joint velocity Moving to  = 180.0// joint clockwise motion u − () = u // assigning u + until mowing clockwise Moving to  = 0.0 // joint counterclockwise motion u + () = u // assigning u − until mowing counterclockwise () and l g () calculating by eq.(8) T m data measuring end for Temp max = Temp max -1 // changing temperature parameter to 1 ∘ C down wait for (T m <= Temp max) // waiting for natural cooling to 1 ∘ C down end while Algorithm 2: Pseudocode for experiments robot motion on different velocities and temperatures.

Figure 5 :Figure 6 :
Figure 5: Dependence of friction torque upon motor temperature T m for various velocities φ for the load L = 0.

Figure 7
Figure 7 presents mean experimental data and their approximation, obtained in accordance with the simplified expression (2):

Figure 7 :
Figure 7: Dependence of mean friction torque  * upon mean temperature T * for various velocities φ for the load L = 0.

Figure 9 :
Figure 9: The result of the friction function temperature parameter adjustment for heat-up data.

Figure 10 :
Figure 10: The result of the friction function temperature parameter adjustment for cool-down data.

Figure 11 :
Figure 11: Friction torque estimate accuracy depending on the number of temperature corrections.
is true.As a measure time which it takes the motor temperature T m to change by 1 ∘ C, s t a // adaptation time parameter, s T m (t a ) // motor temperature at time t a , ∘ C (t a ) // friction torque at time t a , N ⋅ m L(t a ) // load torque at time t a , N ⋅ m T(t a ) // temperature parameter at time t a , ∘ C ûT(t a ) // temperature correction at time t a , ∘ C (t) // friction torque, N ⋅ m // ROBOT'S CONTROL PROGRAM CYCLE while robot's control program executing // Temperature T m change monitoring cycle if |T m − T m (t a )| >= 1 // if motor temperature T m changed by 1 ∘ C ût = |t − t a | // time for temperature T m change end if // Temperature parameter T adjustment cycle if t ==0 or t − t a > min(k ⋅ ût, t max ) // compliance of heuristic periodicity criterion eq. (