Next Article in Journal
An Innovative Detection Method of High-Speed Railway Track Slab Supporting Block Plane Based on Point Cloud Data from 3D Scanning Technology
Next Article in Special Issue
Fast Emotion Recognition Based on Single Pulse PPG Signal with Convolutional Neural Network
Previous Article in Journal
A Kriging Surrogate Model for the Interference Reduction in the Settlement Surveillance Sensors of Steel Transmission Towers
Previous Article in Special Issue
Multi-Constraint Optimized Planning of Tasks on Virtualized-Service Pool for Mission-Oriented Swarm Intelligent Systems
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Novel Virtual Sensor for Estimating Robot Joint Total Friction Based on Total Momentum

State Key Laboratory of Robotics and System, School of Mechatronics Engineering, Harbin Institute of Technology, Harbin 150080, China
*
Authors to whom correspondence should be addressed.
Appl. Sci. 2019, 9(16), 3344; https://doi.org/10.3390/app9163344
Submission received: 12 July 2019 / Revised: 8 August 2019 / Accepted: 12 August 2019 / Published: 14 August 2019
(This article belongs to the Special Issue Artificial Intelligence for Smart Systems)

Abstract

:
Robot joint friction is an important and complicated issue in improving robot control performance. In this paper, a virtual sensor based on the total generalized momentum concept is proposed to estimate the total friction torque, including both the motor-side and link-side friction, of robot joints without joint torque sensors. The proposed algorithm only requires a robot joint dynamics model and not a complex friction model dependent on factors such as time and velocity. By compensating for the estimated friction torque with a robot joint controller, the trajectory tracking performance of the controller, especially the velocity tracking performance, can be improved. To verify the effectiveness of the developed algorithm, 2-DOF planar manipulator simulations and single-joint system experiments are conducted. The simulation and experimental results show that the designed virtual sensor can effectively estimate the total joint friction disturbance and that the controller trajectory tracking performance is improved after observed friction compensation. However, the position tracking performance improvement of the controller is less than that for the velocity tracking performance improvement during the experiments. In addition, the velocity step response ability and velocity tracking performance of the controller are improved more at low velocities than that at high velocities in the experiments. The proposed algorithm has engineering and theoretical significance for estimating robot joint friction and improving the performance of robot joint controllers.

1. Introduction

In recent years, robotic intelligent control technology has been rapidly developed. The effects of robot joint friction can strongly influence the system control performance, and friction identification and compensation techniques play important roles in robot control applications [1,2,3]. Friction can result in 50% errors for some heavy industrial manipulators [4]. Therefore, to achieve a good control performance and high position and velocity tracking accuracy, the friction torque must be adequately determined, and a compensation technique must be employed.
Friction identification and compensation are basic issues in motion control, so there is a large body of literature on these topics, only a small part of which is cited here. Some static friction model methods have been proposed, such as the classical Coulomb and viscous model [5,6,7]. The main idea of the model is that friction opposes motion and that its magnitude is independent of velocity and contact area. Another classical static model is the Stribeck method [8], in which friction decreases with the increase of velocity in the low-velocity status. When velocity exceeds a threshold, friction will increase with the velocity. Besides, some modified Stribeck methods, such as Armstrong’s model [9], have also been proposed. However, these static models have all failed to describe the dynamic properties of friction. For this reason, some dynamic friction models were proposed, such as the Dahl model [10,11], Bristle model [12,13], and LuGre model [14,15,16]. Although these models can describe the dynamic properties of friction, the Dahl model cannot describe the static friction and Stribeck effects. Besides, the Bristle model is complex and is inefficient in simulations due to its complexity. Furthermore, it is difficult to identify the friction parameters of the LuGre model. In addition, some friction models that consider temperature have been proposed in [17,18,19]. Although these models can describe some features of friction to a certain extent, unknown friction models are extremely complex because friction is related to many factors, such as the relative velocity, displacement, temperature, and material properties of the contact surfaces. Therefore, these model-based methods, both static friction models and dynamic friction models, are relatively inaccurate since they cannot describe the complete friction characteristics.
In addition to those friction model-based methods, Proportion-Differentiation control which does not rely on the specific friction models is the earliest way to solve the friction effects [20]. However, high gain coefficients will result in system instability. Besides, some adaptive algorithms [21,22] and sliding mode control techniques [23,24] have been used to cope with problems related to friction variations with time, system operating conditions, and other factors. These approaches seem to provide appropriate solutions, but there are two main problems [25] that should be considered. First, some friction parameters in these algorithms are difficult to determine. Second, some system dynamics that depend on the unknown parameters noted above are not measurable. To solve the first problem, an adaptive parameter estimation method [26] was proposed. Recently, reinforcement learning [27,28], repetitive control [29,30], fuzzy control [31,32,33], and neural network techniques [34,35,36] have been applied for friction estimation to identify and compensate for friction by training models based on massive amounts of data, such as joint velocity and acceleration data. However, the real-time performance of such intelligent methods is usually bad and it is difficult to implement them in real applications. In addition, computationally expensive calculations that require extensive and long hours of training can increase the burden on the controller. Furthermore, the fuzzy rules are usually difficult to obtain and fuzzy control effects are not ideal. Recently, torque sensor-based methods [37,38,39] have been used to solve the problem of robot joint friction. In these methods, torque sensors are fixed at the robot joints to measure torque. The torque sensor reading data contain friction torque and friction does then not need to be considered in the robot dynamics equations. Although this method does not need to consider a friction model and has good control effects, the cost of torque sensors is expensive and it is also difficult to fix these sensors in a robot. Besides, it can also increase the difficulty of robot wiring. Disturbance observers [40,41,42], which are also not based on a particular friction model, have been typically used in robotics control and have generally displayed a good practical performance in recent years. The principle of the disturbance observer is to establish the nominal model of the robot object, and various disturbance torques, including friction, are then obtained from the output residual between the actual model and the nominal model. Specifically, in [40], a friction observer was designed that was inspired by momentum-based collision detection algorithms [43,44,45]. In the friction observers, friction is regarded as an external disturbance. However, this approach only considers the motor momentum and the motor-side friction, and the relation between link-side momentum and link-side friction is not taken into account. In addition, joint torque sensing devices are needed in the aforementioned friction observer. Recently, a sensorless friction observer based on generalized momenta was proposed for an elastic joint robot [46]. However, this approach also failed to consider the link-side momentum and link-side friction.
In this paper, a virtual sensor is developed to estimate the total friction torque of robot joints, which is based on the concept of total momentum considering both motor momentum and link momentum without joint torque sensors. The advantages of this method are that a complicated friction model is not required and only a joint dynamics model is needed. In addition, this approach does not require the acceleration signals and does not need to solve the inverse of the inertia matrix. Moreover, there is only one simple diagonal gain coefficient matrix to adjust in this algorithm, thereby avoiding excessive and complex parameter adjustment and yielding a practical method. The main contributions of this paper are as follows: (1) To the knowledge of the authors, it is the first study to introduce the total momentum concept to estimate the total joint friction, including both the motor-side friction and link-side friction; (2) a simple and fast manual tuning rule is introduced to adjust the gain coefficient of virtual sensors during the experiments; and (3) the joint torque sensors in the proposed algorithm are not needed because the motor torque is estimated by the current in our developed driver.
The paper is organized as follows. Section 2 describes the theoretical derivation process of the virtual observer for robot joints and proves the whole system stability. Section 3 sets up a 2-DOF planar manipulator simulation, and the simulation results are analyzed in detail. In Section 4, velocity step experiments, sinusoidal trajectory tracking experiments, and payload experiments are conducted to verify the effectiveness of the proposed algorithm for a single-joint system. Finally, the discussion and conclusions are given in Section 5.

2. Design of a Virtual Sensor for Estimating Joint Friction

2.1. Design of a Virtual Sensor

It is assumed that robots have n rigid joints, and motor-side dynamics which include motor inertia, motor-side friction, and so on are also considered here. Therefore, the link dynamics and motor dynamics can be described as follows:
M ( q ) q ¨ + C ( q , q ˙ ) q ˙ + G ( q ) = τ J τ f , l ,
B θ ¨ = τ M τ f , m τ J / β ,
where q n × 1 are the generalized coordinates used to uniquely determine the positions of links, θ n × 1 are the generalized coordinates associated with the positions of motors, M ( q ) n × n is the symmetric and positive-definite inertia matrix of links, C ( q , q ˙ ) n × n is the centripetal and Coriolis matrix of links, G ( q ) n × 1 is the gravity vector of links, and B n × n is the diagonal positive-definite motor inertia matrix. On the right-hand side of Equations (1) and (2), τ J n × 1 is the joint torque, τ M n × 1 is the active motor torque, τ f , l n × 1 is the friction torque acting on the link side of the joints, and τ f , m n × 1 denotes the friction torque acting on the joint motors. β n × n is the diagonal positive-definite reduction radio matrix. Equations (1) and (2) can be combined to obtain the following expression:
M ( q ) q ¨ + B ¯ θ ¨ + C ( q , q ˙ ) q ˙ + G ( q ) = τ ¯ M τ f , t o t ,
where B ¯ = β B , τ ¯ M = β τ M , and τ f , t o t = β τ f , m + τ f , l .
In the dynamic system described by Equation (3), the total friction τ f , t o t n × 1 is the main dissipative torque (because not all dissipative torque is introduced in the dynamic equations above), without considering the external contact torque. Therefore, if the total friction torque is not considered in the robot dynamics model, it can be regarded as an external disturbance or an external collision torque. In addition, τ J , which is usually estimated or obtained from joint torque sensors, is eliminated. Therefore, the designed virtual sensor is independent of the joint torque sensors. The structure of the virtual sensor for joint friction observations (Figure 1) is inspired by the total momentum-based collision detection algorithms developed in [43], in which similar sensors are used to detect the external disturbance torques that influence robot dynamics. Here, the algorithm is modified to detect the total friction torque, which constitutes a disturbance. The robot total momentum p t o t n × 1 is given by
p t o t = M ( q ) q ˙ + B ¯ ( θ ) θ ˙ .
A basic property of robot dynamics is the skew symmetry of matrix M ˙ ( q ) 2 C ( q , q ˙ ) , which is equivalent to the following identity:
M ˙ ( q ) = C ( q , q ˙ ) + C T ( q , q ˙ ) .
Based on the expression of the dynamics of the actual total momentum p t o t , and combining Equations (3) and (5), the time evolution of p t o t with friction is as follows:
p ˙ t o t = τ ¯ M τ f , t o t G ( q ) + C T ( q , q ˙ ) q ˙ .
To observe the disturbance friction torque τ f , t o t and estimate the total joint friction torque, the virtual sensor algorithm is designed as follows:
μ = K μ [ p t o t ( t ) p t o t ( 0 ) 0 t ( τ ¯ M G ( q ) + C T ( q , q ˙ ) q ˙ + μ ) d t ] ,
μ ˙ = K μ ( τ f , t o t μ ) ,
where μ n × 1 is the monitoring signal for estimating the total joint friction torque with the initial value μ ( t ) = 0 and K μ = d i a g { k μ , i } > 0 is the diagonal gain matrix. Equation (8) indicates that a virtual sensor or friction observer is essentially a stable, linear, and decoupled first-order filter. For the convenience of programming and reducing the cumulative error, the iterative form of Equation (7) is given as follows:
μ ( i + 1 ) = μ ( i ) + K μ [ p t o t ( τ ¯ M η ( q , q ˙ ) + μ ( i ) ) T ] ,
with η ( q , q ˙ ) = G ( q ) C T ( q , q ˙ ) q ˙ . In this equation, △T is the sampling time, i and i + 1 denote the ith time and (i + 1)th time, respectively.

2.2. System Stability Analysis

The system stability analysis is summarized here for the case of exact friction compensation because of the passivity property of the friction compensation [40]. According to Equation (3), the robot system formula is written as
H ( q ) q ¨ + C ( q , q ˙ ) q ˙ + G ( q ) = τ ¯ M τ f , t o t ,
where H ( q ) = M ( q ) + β B ¯ has the same symmetric and positive-definite property as M ( q ) [47].
The control law without friction compensation is shown below:
τ M = [ H ( q ¨ d + K p e + K d e ˙ ) + C q ˙ + G ] / β ,
where K p and K d are diagonal positive-definite gain matrices. e = q d q , e ˙ = q ˙ d q ˙ , and e ¨ = q ¨ d q ¨ are the position error, velocity error, and acceleration error, respectively. After the observed friction torque is incorporated into the controller, the new control law is
τ M = [ H ( q ¨ d + K p e + K d e ˙ ) + C q ˙ + G + τ f , t o t ] / β .
Combining (10) with (12), (10) can be modified as
H ( q ) q ¨ = H ( q ) [ q ¨ d + K p e + K d e ˙ ] .
Due to H ( q ) being invertible, (13) can be modified as
q ¨ = q ¨ d + K p e + K d e ˙ .
By using e ¨ = q ¨ d q ¨ , Equation (14) can be modified as
e ¨ + K p e + K d e ˙ = 0 .
It can be seen that the system described by (10) is equivalent to the linear system described by (15) by using (12), thus the Lyapunov function can be designed as [47]
V = ( e ˙ T e ˙ ) / 2 + ( e T K p e ) / 2 .
Then, the time derivative of the Lyapunov function is deduced below:
V ˙ = ( e ¨ T e ˙ + e ˙ T e ¨ ) / 2 + ( e ˙ T K p e + e T K p e ˙ ) / 2 .
By using e ¨ T e ˙ = e ˙ T e ¨ , e ˙ T K p e = e T K p e ˙ [48], (17) becomes
V ˙ = e ˙ T e ¨ + e ˙ T K p e .
Then, Equation (18) can be modified as
V ˙ = e ˙ T ( e ¨ + K p e ) .
Combining Equations (15) and (19) can be rewritten as
V ˙ = e ˙ T K d e ˙ 0 .
Substituting e ˙ = e ¨ = 0 into (15), it can be obtained that K p e = 0 . Then, from the reversibility of K p , it can be known that e is zero. Therefore, from the LaSalle theorem, it can be known that ( e , e ˙ ) = ( 0 , 0 ) is the global asymptotically stable equilibrium point of the robot system. More similar stability proof details can also be found in [40,47,48].

3. Simulation and Analysis

3.1. Simulation Setup

To verify the performance of the algorithm proposed above, a 2 degrees of freedom (DOF) planar manipulator with gravity is simulated. A schematic diagram of the manipulator is shown in Figure 2. It is assumed that the mass of every rod is at the center of each link, and links have a weight of 0.5 kg and lengths of 1 m and 0.8 m for link 1 and 2, respectively. The reduction radio is β 1 = β 2 = 1 . The rotor inertia of motors is J 1 = J 2 = 10 4 kg·m2. The moment of inertia of the links relative to the Z-axis at the centers of mass (COM) is set as I 1 = 0.15 kg·m2 and I 2 = 0.1 kg·m2, respectively. Each joint of the simulated robot is controlled by classical inverse dynamics control. A diagram of the manipulator model is shown in Figure 2. The dynamics of the robots with friction disturbances are described as follows:
[ M 11 M 12 M 21 M 22 ] [ q ¨ 1 q ¨ 2 ] + [ B ¯ 1 0 0 B ¯ 2 ] [ θ ¨ 1 θ ¨ 2 ] + [ C 0 q ˙ 2 C 0 ( q ˙ 1 + q ˙ 2 ) C 0 q ˙ 1 0 ] [ q ˙ 1 q ˙ 2 ] + [ G 1 G 2 ] = β τ M τ f , t o t ,
M 11 = m 1 r c 1 2 + m 2 ( r 1 2 + r c 2 2 + 2 r 1 r c 2 cos q 2 ) + I 1 + I 2 , M 12 = M 21 = m 2 ( r c 2 2 + r 1 r c 2 cos q 2 ) + I 2 , M 22 = m 2 r c 2 2 + I 2 , B ¯ 1 = B ¯ 2 = β 1 J 1 = β 2 J 2 , C 0 = m 2 r 1 r c 2 sin q 2 , G 1 = ( m 1 r c 1 + m 2 r 1 ) g cos q 1 + m 2 r c 2 g cos ( q 1 + q 2 ) , G 2 = m 2 r c 2 g cos ( q 1 + q 2 ) ,
where τ M is known and calculated by the controller noted above. The PD coefficients in Figure 1 are manually tuned to K p 1 = 100 , K p 2 = 100 , K d 1 = 5 , and K d 2 = 5 .
To verify the ability of the algorithm to estimate the total friction torque, a desired friction disturbance torque is needed. Therefore, the classic and complex Stribeck friction model is selected as the desired disturbance:
τ f , t o t = { [ c + + ( s + c + ) e ( q ˙ i / V s + ) 2 ] sgn ( q ˙ i ) + α + q ˙ i , q ˙ i > 0 [ c + ( s c ) e ( q ˙ i / V s ) 2 ] sgn ( q ˙ i ) + α q ˙ i , q ˙ i < 0
where the Coulomb friction constants c + and c are set to [6.85, 1.3] and [−6.85, −1.3], the static frictions s + and s are set to [2, 0.3] and [−2, −0.3], the viscous friction constants α + and α are set to [0.5, 0.5] and [−0.5, −0.5], and the switching speeds V s + and V s are set to [1.5, 3] and [−1.5, −3], respectively.

3.2. Simulation Results and Analysis

The simulation sampling time was 1 ms and the total simulation time was 15 s. In order to increase the reliability of the simulation results, sinusoidal position noise and velocity noise were added to the measurement. The position noise amplitude and frequency were set as 0.005 rad and 100 Hz, and the velocity noise amplitude and frequency were set as 0.01 rad/s and 100 Hz, respectively. Besides, a 2 ms torque delay was also added in the simulation. To assess the trajectory tracking performance, a cosine trajectory was used. The simulation results are shown below. The desired and estimated friction torque disturbance curves of joint 1 and 2 for different values of Kμ are illustrated in Figure 3. A comparison of the position and velocity tracking errors with and without friction compensation is shown in Figure 4, and the root mean squared errors (RMSE) of estimated friction torque error data are given in Table 1.
As shown in Figure 3, certain errors exist between the desired friction torque and the friction torque estimated by the virtual sensor for joints 1 and 2. Notably, the performance of the observer varies with different values of Kμ. When the value of Kμ is large, the virtual sensor error is low. In contrast, the estimated error increases as Kμ decreases because the designed virtual sensor is essentially a first-order low-pass filter, as shown in Equation (8), and the friction torque disturbance is associated with low-frequency information. Therefore, adjusting the value of Kμ can change the filtering performance and estimated accuracy. However, a large Kμ value is not always adequate because too large a value will increase the amount of observed noise. Conversely, a small Kμ value generates large estimation errors, and the observed results are smooth at the cost of some delay. Therefore, the selection of Kμ should be based on simultaneously obtaining both a high estimation accuracy and limited noise.
Figure 3a,b show that the RMSE of estimated friction torque and noise are relatively small at Kμ1 = 360 and Kμ2 = 260 for joints 1 and 2, respectively. The RMSE of estimated friction torque are 0.25 N·m and 0.09 N·m for joints 1 and 2, respectively. It should be noted that the estimated errors for joints 1 and 2 are maximum at zero time because the absolute values of the desired static friction torque are [2, 0.3] N·m, but the values of the observer are [0, 0] N·m at zero time. More observed friction errors data can be found in Table 1. The simulations are performed under the conditions based on an exact dynamics model with some position and velocity measurement noise and current delay. However, model uncertainties, more noise, and more communication delays can lead to a poorer observation performance and larger estimation errors, especially dynamic modeling errors, in real applications. The virtual sensor, which is essentially a first-order low-pass filter, can suppress the high-frequency measurement noise signal, but not the low-frequency dynamic model errors signal [43]. Therefore, the performance of the designed virtual sensor for estimating the joint friction torque strongly depends on the dynamic model accuracy.
To verify the accuracy of the estimated friction torque from the observer and the performance improvement in controller trajectory tracking based on the observed friction compensation, we performed another simulation in which the observed friction was compensated for by the robot controller. Then, we analyzed and compared the simulated trajectory tracking results for each robot joint. The input position for the simulation was a cosine curve: qd = −cos(πt) + 1. The desired velocity was the derivative of this desired position. The desired friction disturbance, controller parameters, and robot dynamic inertia parameters are given above. The diagonal gain matrix Kμ of the observer was selected as [360 0; 0 260]. The joint position and velocity tracking errors before and after friction compensation are shown in Figure 4. To save space, only the curves of joint 1 are given. Figure 4a,b illustrate that the friction disturbance affects the joint motion performance. The blue curves show that the RMSE of position error is 3.3 × 10−2 rad and the RMSE of velocity error is 4.5 × 10−2 rad/s for joint 1 without friction torque compensation. To eliminate the effects of the friction disturbance and achieve a better motion control performance, the friction observed by the virtual sensor is compensated for by the controller. The results after compensation are the red curves shown in Figure 4.
Notably, the RMSE of position error reduces to 1.7 × 10−2 rad, and the RMSE of velocity error reduces to 2.2 × 10−2 rad/s for joint 1 with friction torque compensation. Compared with the case with no friction torque compensation for the controller, the position and velocity tracking performance of joint 1 significantly improve. More error data have been presented in Table 2, which shows that the RMSE of position error decreases by 48.5% and the RMSE of velocity error is reduced by 51.1% in the simulations due to friction torque compensation. Therefore, it can be concluded that the estimated total friction torque is sufficiently accurate and that the joint trajectory tracking performance of the controller is enhanced by compensating for the observed friction torque in the controller.

4. Experiment and Analysis

To verify the accuracy of the proposed algorithm, experiments without payload were firstly performed using the single-joint platform shown in Figure 5. Then, experiments with link payload after the gearbox were conducted. The brushless motor was a Maxon EC-4pole 30 and the gearbox type was Maxon GP 42C. The related motor and gearbox parameters are listed in Table 3. The driver and controller were developed by the authors in DSP and PC. The developed driver consisted of a TI DRV8301-HC-EVM board attached to a microcontroller unit TMS320F28035. The communication mode between the driver and the controller was the serial communication. The supply voltage was 24 volts. The controller algorithm was classical inverse dynamics control. It should be known that the gravity term should be ignored in the controller when there is no payload. The control and sampling periods were set to 1 ms. Two types of experiments, a velocity step experiment and a sinusoidal trajectory tracking experiment, were conducted. The velocity step experiment was performed to determine the appropriate gain coefficient Kμ because the actual friction disturbance was not known. In addition, the velocity step experiment was conducted to verify that the observed friction disturbance compensation improved the ability of the controller to obtain a better velocity step response. The sinusoidal trajectory tracking experiment was used to validate that the observed friction torque compensation by the controller can be used to improve the trajectory tracking accuracy. Furthermore, to observe the effects of the velocity magnitude and payload on the observed friction torque and the effects of friction compensation on the trajectory tracking performance, motor low- and high-velocity motion experiments, without payload and with payload experiments, were performed. It should be noted that, when there is no payload, the gravity, centripetal, and Coriolis terms should be ignored in (9) in the single-joint system. When the payload is added, only the centripetal and Coriolis terms should be ignored. All the simulations and experiments data are available at the link in the supplementary materials below.

4.1. Velocity Step Experiment

4.1.1. Motor Low-Velocity Experiment

The desired low-velocity step sent to the controller was 346 rad/s. The experimental results are shown in Figure 6, Figure 7 and Figure 8. Figure 6a shows that the velocity step response time required to reach the desired velocity is different for different Kμ. When there is no friction compensation, the step response is the slowest and the time is 0.051 s. When Kμ is 50, the step response is the fastest (0.041 s) and the step response performance improves by 19.6%. Although the velocity step response performance can also be improved with no friction compensation when Kμ is 10 or 100, it is not better than that when Kμ is 50. Therefore, the system can display a better velocity step response performance when an observed friction disturbance is compensated for by the controller. In addition, the observed friction disturbance is more reasonable when Kμ is 50 because the controller displays a better velocity step response ability than at other Kμ values. However, we should not fully determine the appropriate gain coefficient by only considering this one result. Therefore, next, we analyzed the actual motor torque curve and observed the total friction disturbance curve to confirm the choice of Kμ. It should be noted that all the actual step velocities stabilized after reaching the desired velocity. More data are listed in Table 4.
As shown in Figure 7, large values of Kμ result in large motor peak torques. When Kμ is 100, the motor torque reaches the largest peak torque of 0.1 N·m at time 0.003 s and −0.1 N·m at time 0.206 s, respectively. As shown in Figure 8, large values of Kμ generate more observed noise and large observed friction torques, which increase the motor peak torque after compensation by the controller. However, the safe torque limit of the motor is set to ± 0.1 N·m, so Kμ cannot be set to 100. Therefore, we conclude that the best Kμ is 50 among these three values. It should be noted that we did not find the best Kμ from 10 to 100 here, but just investigated how to determine the appropriate Kμ and provided the method for selecting this value. The two observed friction torque mutations in Figure 8 occur because the positive motor acceleration generates a negative friction torque from 0 s to 0.025 s and negative motor deceleration generates a positive friction torque from approximately 0.2 s to 0.22 s. This phenomenon is the same as that illustrated in the actual motor torque curve and is reasonable. It should be noted that when the motor velocity decreases to zero, the observed friction torque does not reach zero and ranges from −0.0058 to 0.0096 N m when Kμ is 50 because static friction exists in the single joint system.

4.1.2. Motor High-Velocity Experiment

The desired motor high-velocity step sent to the controller was 691 rad/s. As shown in Figure 6b and Table 4, the motor exhibits a better velocity step response performance when Kμ is 50 and the velocity is high, similar to the results at low velocities. Additionally, the velocity step response performance is improved by 5.9%. Figure 9 shows that the actual motor torque exceeds the safety limit ± 0.1 N·m when Kμ is 100 because the large Kμ generates a large observed output, as shown in Figure 10. In addition, the actual motor torque includes more noise at high velocities compared to that at low velocities. Therefore, Kμ equal to 50 yields a better gain coefficient than 10 or 100, and it is reasonable to conclude that the observed friction torque is more accurate when Kμ is 50 than when Kμ is 10 or 100. Therefore, 50 is selected as the final gain coefficient for both low-velocity and high-velocity motion in the experiments without payload.
The low-velocity and high-velocity step experiments indicated that the proposed algorithm can be effectively applied in different motion experiments. In addition, the controller velocity step response performance can be improved by compensating for the friction observed by the designed virtual sensor. Moreover, we give a simple and fast manual tuning rule for determining an appropriate observer gain coefficient for the problem of unknown priori knowledge of actual friction disturbance in robot joints.

4.2. Sinusoidal Trajectory Tracking Experiment

4.2.1. Motor Low-Velocity Experiment

The desired low-velocity sinusoidal position trajectory was 16 πsin (0.8πt), and its first derivative was the desired velocity. Using the observer described in Section 2.1 and setting Kμ to 50, the observed friction in the single-joint system is shown in Figure 11a. To observe the relationship between the actual motor velocity and estimated friction, we normalized these two variables in the range of −1 to 1 and show them together in Figure 11b.
The trend of the observed friction torque is always the opposite of that of the actual motor velocity. Furthermore, the observed friction torque abruptly changes when the actual motor velocity reaches zero. This phenomenon is consistent with the actual friction characteristics. In addition, it should be explained here that all the initial peak values and errors occurring from 0 s to 0.1 s in the figures below are caused by dynamic tracking of the controller, and it is more reasonable to only consider the static errors after 0.1 s. After compensation of the observed friction torque, the RMSE of motor trajectory tracking static errors were obtained and are listed in Table 5 and shown in Figure 11c,d. The figures and table suggest that the position tracking performance of the controller with observed friction compensation did not obviously improve compared to the case without observed friction compensation. Specifically, the RMSE of static position tracking error decreased by 0.1% in Figure 11c. However, the velocity tracking performance of the controller with observed friction compensation considerably improved compared to the case without observed friction compensation, and the RMSE of static velocity tracking error decreased by 33.1%, as shown in Figure 11d.
Notably, friction disturbance torque acts inside the velocity loop, which results in friction disturbance torque having more effects on the performance of the velocity loop than that of the position loop. When friction disturbance torque is not compensated for by the controller, velocity errors will increase obviously because of the disturbance. However, the position loop is built on the velocity loop and position errors can be suppressed well by the position loop gain coefficient after velocity loop adjusting. After compensating for the observed friction torque, the velocity errors will be suppressed well. Then, the position loop can adjust the position errors more easily and position errors almost do not change compared with the no compensation condition. Therefore, the controller position tracking performance was not significantly improved; however, the controller velocity tracking performance was notably improved after observed friction torque compensation.

4.2.2. Motor High-Velocity Experiment

The desired high-velocity sinusoidal position trajectory was 30 πsin (1.6πt), and its first derivative was the desired velocity. Compared with the low-velocity case above, the observed total friction torque mapped to the motor side at high velocities was slightly larger than that in Figure 11a and ranged from −6.4 × 10−3 N·m to 2.2 × 10−3 N·m, as shown in Figure 12a. In addition, the relationship between the actual motor velocity and estimated friction torque in Figure 12b was the same as in the low-velocity case. Moreover, the position tracking performance was improved less than that of the velocity by compensating for the observed friction torque, as shown in Table 5 and Figure 12c,d. The reason for this has been explained in the motor low-velocity experiment above. In addition, the velocity tracking performance at a high velocity was decreased compared with that under low-velocity conditions because more uncertainties, such as model uncertainties and noise, affected the performance of the observer and the estimated and compensated friction torque was then not accurate enough. Therefore, the velocity performance of the controller is improved more at low velocities than at high velocities.

4.3. Payload Experiment

4.3.1. Motor Low-Velocity Experiment

The desired position trajectory was 24 πsin (0.6πt) in motor low-velocity experiments with payload, and its first derivative was the desired velocity. The experiment time was extended to 20 s to see whether accumulative errors of the observer exist. The Kμ was tuned to 80 by using the tuning method described in Section 4.1. The quality of the link payload as shown in Figure 13 is m = 0.55 kg, the distance of link COM is rc = 0.18 m, and the moment of inertia of the link relative to the Z-axis at the COM is I = 6.1 × 10−3 kg·m2, which was measured in SolidWorks.
The observed friction torque (red curve) is shown in Figure 14a. It can be seen that the changes of observed friction torque are stable and there is no obvious accumulative errors with the increase of time. However, larger model uncertainties and more measurement noise might result in more obvious accumulative errors because of the integral item in the proposed virtual sensor as time goes by. In this condition, more accurate dynamics model and filtering processing are needed. In addition, it should be explained here that all the initial peak errors occurring from 0 s to 1 s in the figures below are caused by dynamic tuning and tracking of the controller, and it is more reasonable to only consider the static errors after 1 s. After the controller compensates for the observed friction torque, the RMSE of motor trajectory tracking static errors are obtained. These values are listed in Table 6 and shown in Figure 14b,c. The figures and table suggest that the position tracking performance of the controller with observed friction compensation did not obviously improve compared with the case without observed friction compensation. However, the velocity tracking performance of the controller with observed friction compensation considerably improved compared with the case without observed friction compensation, and the RMSE of static velocity tracking error decreased by 9.8%. The reason for this is that the controller position tracking performance was not significantly improved, but the controller velocity tracking performance was notably improved, after compensating for the observed friction torque, as has been explained in Section 4.2.1.

4.3.2. Motor High-Velocity Experiment

The desired position trajectory was 24 πsin (2πt) in motor high-velocity experiments with payload, and its first derivative was the desired velocity. The observed friction torque (red curve) is shown in Figure 15a. It can be found that the changes of observed friction torque are stable and there are also no obvious accumulative errors with the increase of time. The RMSE of motor trajectory tracking static errors are listed in Table 6 and shown in Figure 15b,c. It can be found that the velocity tracking performance after friction compensation was reduced compared with no friction compensation in high-velocity conditions. This is because more model uncertainties caused by the link payload and more measurement noise make the performance of the observer bad in high-velocity conditions. Therefore, the estimated and compensated friction torque is inaccurate, which causes the velocity tracking performance to decrease.

4.3.3. Comparison with the Classical Friction Model

In order to compare the proposed algorithm with the other friction model, comparison experiments were conducted. The Coulomb and viscous friction model is classical and common in real applications. Furthermore, less friction parameters need to be identified in this model, so it is selected as the comparison friction model. The Coulomb and viscous fiction parameters were tuned manually to obtain smaller trajectory tracking errors as far as possible. Finally, the friction model was designed as
τ f , m = ( F c sgn ( θ ˙ ) + F v θ ˙ ) ,
where Fc is the Coulomb friction coefficient and is tuned to 2.8 × 10−3 Nm.s/rad, Fv is the viscous friction coefficient and is tuned to 1.1 × 10−3 Nm.s/rad, θ ˙ is the motor velocity, and τ f , m is the motor-side friction torque.
The estimated friction torque (blue curves) calculated by (23) is shown in Figure 14a and Figure 15a under low-velocity and high-velocity conditions, respectively. The RMSE of motor trajectory tracking static errors are listed in Table 6 and shown in Figure 14b,c and Figure 15b,c under low-velocity and high-velocity conditions, respectively. It can be found that the RMSE of motor velocity tracking static errors, after compensating for the friction torque estimated by the proposed method, are always less than those after compensating for the friction torque estimated by the Coulomb and viscous friction model, no matter whether the motor is in low-velocity and high-velocity conditions. This shows that the friction torque estimated by the proposed method is more accurate than that estimated by the Coulomb and viscous friction model. Notably, the Coulomb and viscous friction model cannot describe the complete and complex friction properties. However, more accurate friction torque can be observed by the proposed observer. Therefore, the proposed friction observer exhibits more accurate friction estimation than the Coulomb and viscous friction model. Finally, it should be also noted that only one parameter Kμ in the proposed method needs to be tuned; however, two parameters are needed in the classical Coulomb and viscous friction model.

5. Discussion and Conclusions

In this paper, the total generalized momentum concept was introduced for the first time to design a virtual sensor for observing robot joint total friction torque, including both motor-side and link-side friction, without joint torque sensors. The advantage of the proposed algorithm is that a complicated friction model is not needed, and only a robot joint dynamics model is needed. By compensating for the observed friction with the controller, the controller performance, especially the velocity performance, was improved in low-velocity conditions. To validate the proposed method, simulations with a 2-DOF manipulator and experiments based on a single-joint system were conducted. The simulation results show that the virtual sensor can accurately estimate the desired friction disturbance by selecting the appropriate gain coefficient Kμ. A large Kμ made the observed results more precise; however, a large Kμ value is not appropriate under all conditions. Too large a Kμ value can increase the amount of noise in an estimation and reduce the estimation accuracy.
The experimental results show that the velocity step response of the controller can be improved by 6–10 ms for low-velocity motion and 1–3 ms for high-velocity motion after observed friction compensation. In addition, an appropriate gain coefficient Kμ can be obtained by comparing the velocity step response times in the experiments. The velocity tracking performances without payload were improved by up to 33.1% for low-velocity motion and −1.2% for high-velocity motion, respectively. When the link payload was considered, the velocity tracking performances were improved by up to 9.8% for low-velocity motion; however, they displayed a value of −3.0% for high-velocity motion because of inaccurate friction estimation and compensation. Besides, the improvement in the position tracking performance of the controller was less than that for the velocity tracking performance in the experiments and the explanation for this has been given above. In addition, the velocity step response and velocity tracking performance of the controller improved more at low velocities than at high velocities in the experiments because more uncertainties, such as model error and noise, affect the performance of the virtual sensor and controller at high velocities. Furthermore, the results of the comparison experiments show that the proposed method can obtain more accurate friction torque estimation than the classical Coulomb and viscous friction model. Finally, it should be noted that although the method is only simulated for a 2-DOF robot and tested based on a single-joint system, the proposed method can be extended to multi-joint robots.
The observed total friction torque in the algorithm is only compensated for by classical inverse dynamics control in this paper. However, impedance controllers have been increasingly used in cooperative robots and compliant motion control. Therefore, the trajectory performance might be improved and compliance guaranteed with an impedance controller by compensating for the total joint friction observed by the algorithm. In addition, the proposed method was only tested for a single-joint system. Therefore, we will apply the algorithm to multi-joint robots with impedance controllers developed by our laboratory in the future.

Supplementary Materials

The simulation and experimental data are available online at https://share.weiyun.com/5kVakNh.

Author Contributions

Conceptualization, T.X. and J.F.; methodology, T.X.; formal analysis, T.X. and Q.F.; validation, T.X., J.F., and S.W.; data curation, T.X., Q.F., and S.W.; writing—original draft preparation, T.X.; writing—review and editing, T.X., Y.Z., and J.F.; supervision, J.Z.; project administration, J.F. and J.Z.

Funding

This research was funded by the National Key R&D Program of China, grant number 2018YFB1308501, and the National Natural Science Foundation of China, grant number 91648201.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Kolegain, K.; Léonard, F.; Chevret, S.; Attar, A.B.; Abba, G. Robotic Friction Stir Welding Path Planning with Deflection Compensation Using B-Splines; Springer: Cham, Switzerland, 2019; pp. 264–271. ISBN 978-3-319-78962-0. [Google Scholar]
  2. Do, T.N.; Tjahjowidodo, T.; Lau, M.W.S.; Phee, S.J. Nonlinear friction modelling and compensation control of hysteresis phenomena for a pair of tendon-sheath actuated surgical robots. Mech. Syst. Signal Process. 2015, 60, 770–784. [Google Scholar] [CrossRef]
  3. Ossadnik, D.; Guadarrama-Olvera, J.R.; Dean-Leon, E.; Cheng, G. Adaptive Friction Compensation for Humanoid Robots without Joint-Torque Sensors. In Proceedings of the IEEE-RAS 18th International Conference on Humanoid Robots (Humanoids), Beijing, China, 6–9 November 2018; pp. 980–985. [Google Scholar]
  4. Kermani, M.R.; Wong, M.; Patel, R.V.; Moallem, M.; Ostojic, M. Friction compensation in low and high-reversal-velocity manipulators. In Proceedings of the IEEE International Conference on Robotics and Automation, New Orleans, LA, USA, 26 April–1 May 2004; pp. 4320–4325. [Google Scholar]
  5. Miyasaka, M.; Matheson, J.; Lewis, A.; Hannaford, B. Measurement of the cable-pulley coulomb and viscous friction for a cable-driven surgical robotic system. In Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Hamburg, Germany, 28 September–3 October 2015; pp. 804–810. [Google Scholar]
  6. Plooij, M.; Wolfslag, W.; Wisse, M. Robust feedforward control of robotic arms with friction model uncertainty. Robot. Auton. Syst. 2015, 70, 83–91. [Google Scholar] [CrossRef]
  7. Cherkasov, O.Y.; Zarodnyuk, A.V.; Bugrov, D.I. Range maximization and brachistochrone problem with Coulomb friction, viscous drag and accelerating force. In Proceedings of the 11th International Conference on Mathematical Problems in Engineering, Aerospace and Sciences, La Rochelle, France, 4–8 July 2016. [Google Scholar]
  8. Guo, S.; Xu, C.; Xiao, N.; Bao, X.; Zhao, Y.; Yang, C.; Shen, R. Cable-driven interventional operation robot with Stribeck friction feedforward compensation. In Proceedings of the IEEE International Conference on Mechatronics and Automation (ICMA), Takamatsu, Japan, 6–9 August 2017; pp. 1787–1791. [Google Scholar]
  9. Armstrong-Helouvry, B. Control of Machines with Friction; Springer Science & Business Media: New York, NY, USA, 2012; ISBN 978-1-4613-6774-1. [Google Scholar]
  10. Piatkowski, T. Dahl and lugre dynamic friction models—The analysis of selected properties. Mech. Mach. Theory 2014, 73, 91–100. [Google Scholar] [CrossRef]
  11. Peyret, N.; Rosatello, M.; Chevallier, G.; Dion, J.L. A mindlin derived dahl friction model. Mech. Mach. Theory 2017, 117, 48–55. [Google Scholar] [CrossRef]
  12. Pennestrì, E.; Rossi, V.; Salvini, P.; Valentini, P.P. Review and comparison of dry friction force models. Nonlinear Dyn. 2016, 83, 1785–1801. [Google Scholar] [CrossRef]
  13. Saltiel, S.; Bonner, B.; Mittal, T.; Delbridge, B.; Ajo-Franklin, J. Experimental measurements and bristle friction modeling of nonlinear hysteresis loops and harmonic generation in rock fractures. J. Acoust. Soc. Am. 2017, 142, 2723. [Google Scholar] [CrossRef]
  14. Sobczyk, M.R.; Gervini, V.I.; Perondi, E.A.; Cunha, M.A. A continuous version of the LuGre friction model applied to the adaptive control of a pneumatic servo system. J. Frankl. Inst. 2016, 353, 3021–3039. [Google Scholar] [CrossRef]
  15. Yao, J.; Deng, W.; Jiao, Z. Adaptive control of hydraulic actuators with lugre model based friction compensation. IEEE Trans. Ind. Electron. 2015, 62, 6469–6477. [Google Scholar] [CrossRef]
  16. Saha, A.; Wahi, P.; Wiercigroch, M.; Stefański, A. A modified lugre friction model for an accurate prediction of friction force in the pure sliding regime. Int. J. Non-Linear Mech. 2016, 80, 122–131. [Google Scholar] [CrossRef]
  17. Simoni, L.; Beschi, M.; Legnani, G.; Visioli, A. Friction modeling with temperature effects for industrial robot manipulators. In Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Hamburg, Germany, 28 September–3 October 2015; pp. 3524–3529. [Google Scholar]
  18. Simoni, L.; Beschi, M.; Legnani, G. Modelling the temperature in joint friction of industrial manipulators Modelling the temperature in joint friction of industrial manipulators. Robotica 2017, 37, 906–927. [Google Scholar] [CrossRef]
  19. Gao, L.; Yuan, J.; Han, Z.; Wang, S.; Wang, N. A friction model with velocity, temperature and load torque effects for collaborative industrial robot joints. In Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Vancouver, BC, Canada, 24–28 September 2017; pp. 3027–3032. [Google Scholar]
  20. Bisoffi, A.; Da Lio, M.; Teel, A.R.; Zaccarian, L. Global asymptotic stability of a PID control system with Coulomb friction. IEEE Trans. Autom. Control 2017, 63, 2654–2661. [Google Scholar] [CrossRef]
  21. Kang, S.; Yan, H.; Dong, L.; Li, C. Finite-time adaptive sliding mode force control for electro-hydraulic load simulator based on improved GMS friction model. Mech. Syst. Signal Process. 2018, 102, 117–138. [Google Scholar] [CrossRef]
  22. Lyshevski, S.E. Control of high-precision direct-drive mechatronic servos: Tracking control with adaptive friction estimation and compensation. Mechatronics 2017, 43, 1–5. [Google Scholar] [CrossRef]
  23. Ren, C.; Li, X.; Yang, X.; Ma, S. Extended State Observer based Sliding Mode Control of an Omnidirectional Mobile Robot with Friction Compensation. IEEE Trans. Ind. Electron. 2019, 66, 9480–9489. [Google Scholar] [CrossRef]
  24. Yang, X.; Liu, H.; Xiao, J.; Zhu, W.; Liu, Q.; Gong, G.; Huang, T. Continuous Friction Feedforward Sliding Mode Controller for a TriMule Hybrid Robot. IEEE/ASME Trans. Mech. 2018, 23, 1673–1683. [Google Scholar] [CrossRef]
  25. Bona, B.; Indri, M. Friction compensation in robotics: An overview. In Proceedings of the 44th IEEE Conference on Decision and Control, Seville, Spain, 12–15 December 2005; pp. 4360–4367. [Google Scholar]
  26. Yang, C.; Jiang, Y.; He, W.; Na, J.; Li, Z.; Xu, B. Adaptive parameter estimation and control design for robot manipulators with finite-time convergence. IEEE Trans. Ind. Electron. 2018, 65, 8112–8123. [Google Scholar] [CrossRef]
  27. Roveda, L.; Pallucca, G.; Pedrocchi, N.; Braghin, F.; Tosatti, L.M. Cartesian tasks oriented friction compensation through a reinforcement learning approach. In Proceedings of the IEEE International Conference on Advanced Intelligent Mechatronics (AIM), Banff, AB, Canada, 12–15 July 2016; pp. 895–900. [Google Scholar]
  28. Colomé, A.; Planells, A.; Torras, C. A friction-model-based framework for reinforcement learning of robotic tasks in non-rigid environments. In Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), Seattle, WA, USA, 26–30 May 2015; pp. 5649–5654. [Google Scholar]
  29. Chuei, R.; Cao, Z.; Man, Z. Friction compensator based repetitive control with application to a brushless DC servo motor. In Proceedings of the International Conference on Advanced Mechatronic Systems (ICAMechS), Melbourne, Australia, 30 November–3 December 2016; pp. 56–61. [Google Scholar]
  30. Bui, B.D.; Uchiyama, N.; Simba, K.R. Contouring control for three-axis machine tools based on nonlinear friction compensation for lead screws. Int. J. Mach. Tools Manuf. 2016, 108, 95–105. [Google Scholar] [CrossRef]
  31. Nazari, V.; Surgenor, B. Improved position tracking performance of a pneumatic actuator using a fuzzy logic controller with velocity, system lag and friction compensation. Int. J. Control Autom. Syst. 2016, 14, 1376–1388. [Google Scholar] [CrossRef]
  32. Zamani, A.A.; Tavakoli, S.; Etedali, S. Control of piezoelectric friction dampers in smart base-isolated structures using self-tuning and adaptive fuzzy proportional–derivative controllers. J. Intell. Mater. Syst. Struct. 2017, 28, 1287–1302. [Google Scholar] [CrossRef]
  33. Li, L.; Ran, X.; Wu, K.; Song, J.; Han, Z. A novel fuzzy logic correctional algorithm for traction control systems on uneven low-friction road conditions. Veh. Syst. Dyn. 2015, 53, 711–733. [Google Scholar] [CrossRef]
  34. Guo, K.; Pan, Y.; Yu, H. Composite learning robot control with friction compensation: A neural network-based approach. IEEE Trans. Ind. Electron. 2018, 66, 7841–7851. [Google Scholar] [CrossRef]
  35. Tu, X.; Zhou, Y.; Zhao, P.; Cheng, X. Modeling the static friction in a robot joint by genetically optimized BP neural network. J. Intell. Robot. Syst. 2019, 94, 29–41. [Google Scholar] [CrossRef]
  36. Liu, X.; Zhao, F.; Ge, S.S.; Wu, Y.; Mei, X. End-effector force estimation for flexible-joint robots with global friction approximation using neural networks. IEEE Trans. Ind. Inform. 2018, 15, 1730–1741. [Google Scholar] [CrossRef]
  37. Billot, M.; Xu, X.; Agnus, J.; Piat, E.; Stempflé, P. Multi-axis MEMS force sensor for measuring friction components involved in dexterous micromanipulation: Design and optimization. Int. J. Nanomanuf. 2015, 11, 161–184. [Google Scholar] [CrossRef]
  38. Jung, B.J.; Kim, B.; Koo, J.C.; Choi, H.R.; Moon, H. Joint torque sensor embedded in harmonic drive using order tracking method for robotic application. IEEE/ASME Trans. Mech. 2017, 22, 1594–1599. [Google Scholar] [CrossRef]
  39. Sim, O.; Oh, J.; Lee, K.K.; Oh, J.H. Collision detection and safe reaction algorithm for non-backdrivable manipulator with single force/torque sensor. J. Intell. Robot. Syst. 2018, 91, 403–412. [Google Scholar] [CrossRef]
  40. Le Tien, L.; Albu-Schaffer, A.; De Luca, A.; Hirzinger, G. Friction observer and compensation for control of robots with joint torque measurement. In Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Nice, France, 22–26 September 2008; pp. 3789–3795. [Google Scholar]
  41. Eom, M.; Chwa, D. Robust swing-up and balancing control using a nonlinear disturbance observer for the pendubot system with dynamic friction. IEEE Trans. Robot. 2015, 31, 331–343. [Google Scholar] [CrossRef]
  42. Le, L.T. Passive Friction Compensation Using a Nonlinear Disturbance Observer for Flexible Joint Robots with Joint Torque Measurements. J. Comput. Sci. Cybern. 2019, 35, 85–103. [Google Scholar] [CrossRef]
  43. Haddadin, S.; De Luca, A.; Albu-Schäffer, A. Robot collisions: A survey on detection, isolation, and identification. IEEE Trans. Robot. 2017, 33, 1292–1312. [Google Scholar] [CrossRef]
  44. Lee, S.D.; Song, J.B. Sensorless collision detection based on friction model for a robot manipulator. Int. J. Precis. Eng. Manuf. 2016, 17, 11–17. [Google Scholar] [CrossRef]
  45. He, S.; Ye, J.; Li, Z.; Li, S.; Wu, G.; Wu, H. A momentum-based collision detection algorithm for industrial robots. In Proceedings of the 2015 IEEE International Conference on Robotics and Biomimetics (ROBIO), Zhuhai, China, 6–9 December 2015; pp. 1253–1259. [Google Scholar]
  46. Ruderman, M.; Iwasaki, M. Sensorless torsion control of elastic-joint robots with hysteresis and friction. IEEE Trans. Ind. Electron. 2015, 63, 1889–1899. [Google Scholar] [CrossRef]
  47. Craig, J.J. Introduction to Robotics: Mechanics and Control, 3rd ed.; Pearson Education: India, NJ, USA, 2009; ISBN 0-13-123629-6. [Google Scholar]
  48. Siciliano, B.; Sciavicco, L.; Villani, L.; Oriolo, G. Robotics: Modelling, Planning and Control; Springer Science & Business Media: New York, NY, USA, 2010; ISBN 978-1-84628-641-4. [Google Scholar]
Figure 1. Diagram of a virtual sensor for estimating joint friction torque. The dotted box on the left represents the inverse dynamics controller algorithm, in which the input is the link desired trajectory and the output is the command torque. The dotted box on the right represents the proposed virtual sensor for estimating the total joint friction torque, in which the input is the actual position and velocity of the link and motor, and the output is the estimated joint total friction torque, which is finally compensated for by the controller to improve the controller performance, especially the that of the velocity.
Figure 1. Diagram of a virtual sensor for estimating joint friction torque. The dotted box on the left represents the inverse dynamics controller algorithm, in which the input is the link desired trajectory and the output is the command torque. The dotted box on the right represents the proposed virtual sensor for estimating the total joint friction torque, in which the input is the actual position and velocity of the link and motor, and the output is the estimated joint total friction torque, which is finally compensated for by the controller to improve the controller performance, especially the that of the velocity.
Applsci 09 03344 g001
Figure 2. Link model of the 2-DOF planar manipulator.
Figure 2. Link model of the 2-DOF planar manipulator.
Applsci 09 03344 g002
Figure 3. The desired and estimated friction torque disturbance curves of joints 1 and 2 for different values of gain coefficients (Kμ). (a) Joint 1 curves. (b) Joint 2 curves.
Figure 3. The desired and estimated friction torque disturbance curves of joints 1 and 2 for different values of gain coefficients (Kμ). (a) Joint 1 curves. (b) Joint 2 curves.
Applsci 09 03344 g003
Figure 4. Comparison of the position and velocity tracking performance of joint 1 with and without friction compensation in the controller. (a) Position tracking error without friction compensation (NC) and with friction compensation (WC). (b) Velocity tracking error without friction compensation (NC) and with friction compensation (WC).
Figure 4. Comparison of the position and velocity tracking performance of joint 1 with and without friction compensation in the controller. (a) Position tracking error without friction compensation (NC) and with friction compensation (WC). (b) Velocity tracking error without friction compensation (NC) and with friction compensation (WC).
Applsci 09 03344 g004
Figure 5. The single joint experiment system. The developed driver consisted of a TI DRV8301-HC-EVM board attached to a microcontroller unit TMS320F28035.
Figure 5. The single joint experiment system. The developed driver consisted of a TI DRV8301-HC-EVM board attached to a microcontroller unit TMS320F28035.
Applsci 09 03344 g005
Figure 6. Motor low- and high-velocity step experiments with friction compensation for different gain coefficients (Kμ). NC denotes no friction compensation. (a) Low-velocity experiment. (b) High-velocity experiment.
Figure 6. Motor low- and high-velocity step experiments with friction compensation for different gain coefficients (Kμ). NC denotes no friction compensation. (a) Low-velocity experiment. (b) High-velocity experiment.
Applsci 09 03344 g006
Figure 7. Actual motor torque at low velocities.
Figure 7. Actual motor torque at low velocities.
Applsci 09 03344 g007
Figure 8. Observed total friction torque mapped to the motor side at low velocities.
Figure 8. Observed total friction torque mapped to the motor side at low velocities.
Applsci 09 03344 g008
Figure 9. Actual motor torque at high velocities.
Figure 9. Actual motor torque at high velocities.
Applsci 09 03344 g009
Figure 10. Observed total friction torque mapped to the motor side at high velocities.
Figure 10. Observed total friction torque mapped to the motor side at high velocities.
Applsci 09 03344 g010
Figure 11. Motor low-velocity without payload experiment results. (a) Observed total friction torque mapped to the motor side at low velocities. (b) Normalized actual motor velocity (NV) and normalized friction torque (NF). (c) Motor position tracking errors at low velocities. (d) Motor velocity tracking errors at low velocities.
Figure 11. Motor low-velocity without payload experiment results. (a) Observed total friction torque mapped to the motor side at low velocities. (b) Normalized actual motor velocity (NV) and normalized friction torque (NF). (c) Motor position tracking errors at low velocities. (d) Motor velocity tracking errors at low velocities.
Applsci 09 03344 g011
Figure 12. Motor high-velocity without payload experiment results. (a) Observed total friction torque mapped to the motor side at high velocities. (b) Normalized actual motor velocity (NV) and normalized friction torque (NF). (c) Motor position tracking errors at high velocities. (d) Motor velocity tracking errors at high velocities.
Figure 12. Motor high-velocity without payload experiment results. (a) Observed total friction torque mapped to the motor side at high velocities. (b) Normalized actual motor velocity (NV) and normalized friction torque (NF). (c) Motor position tracking errors at high velocities. (d) Motor velocity tracking errors at high velocities.
Applsci 09 03344 g012
Figure 13. The motor with link payload after the gearbox.
Figure 13. The motor with link payload after the gearbox.
Applsci 09 03344 g013
Figure 14. Motor low-velocity with payload experiment results. (a) Observed total friction torque (red curve) obtained by the proposed method mapped to the motor-side and estimated motor-side friction torque by the Coulomb and viscous friction model at low velocities. (b) Motor position tracking errors at low velocities. (c) Motor velocity tracking errors at low velocities.
Figure 14. Motor low-velocity with payload experiment results. (a) Observed total friction torque (red curve) obtained by the proposed method mapped to the motor-side and estimated motor-side friction torque by the Coulomb and viscous friction model at low velocities. (b) Motor position tracking errors at low velocities. (c) Motor velocity tracking errors at low velocities.
Applsci 09 03344 g014aApplsci 09 03344 g014b
Figure 15. Motor high-velocity with payload experiment results. (a) Observed total friction torque (red curve) obtained by the proposed method mapped to the motor-side and estimated motor-side friction torque by the Coulomb and viscous friction model at high velocities. (b) Motor position tracking errors at high velocities. (c) Motor velocity tracking errors at high velocities.
Figure 15. Motor high-velocity with payload experiment results. (a) Observed total friction torque (red curve) obtained by the proposed method mapped to the motor-side and estimated motor-side friction torque by the Coulomb and viscous friction model at high velocities. (b) Motor position tracking errors at high velocities. (c) Motor velocity tracking errors at high velocities.
Applsci 09 03344 g015aApplsci 09 03344 g015b
Table 1. The estimated friction torque errors for different gain coefficients (Kμ).
Table 1. The estimated friction torque errors for different gain coefficients (Kμ).
KμRMSE of Joint 1 [N·m] 1RMSE of Joint 2 [N·m]
Kμ = [10; 5] T1.230.57
Kμ = [360, 260] T0.250.09
Kμ = [800, 750] T0.400.13
1 The root mean squared errors (RMSE) of estimated friction torque errors. T represents a transpose.
Table 2. Position and velocity tracking errors for joint 1.
Table 2. Position and velocity tracking errors for joint 1.
Friction CompensationRMSE of Position [rad]RMSE of Velocity [rad/s]
No compensation3.3 × 10−24.5 × 10−2
With compensation1.7 × 10−22.2 × 10−2
Improvement48.5%51.1%
Table 3. Motor and gearbox parameters.
Table 3. Motor and gearbox parameters.
ParametersValues
Torque constant2.76 × 10−2 N·m/A
Rotor inertia3.33 × 10−6 kg·m2
Gearbox equivalent inertia9.4 × 10−7 kg·m2
Gearbox radio81
Table 4. Motor velocity step response time.
Table 4. Motor velocity step response time.
KμLow-Velocity Step Response Time [s]High-Velocity Step Response Time [s]
No compensation0.0510.051
Kμ = 100.0430.051
Kμ = 500.0410.048
Kμ = 1000.0450.050
Table 5. Position and velocity tracking error comparison without payload 2.
Table 5. Position and velocity tracking error comparison without payload 2.
ErrorsNo CompensationCompensation with Kμ = 50Performance Improvement
RMSE_SPeLv[rad]0.9820.9810.1%
RMSE_SVeLv[rad/s]4.2072.81333.1%
RMSE_SPeHv[rad]3.6853.6501.0%
RMSE_SVeHv[rad/s]19.82320.068−1.2%
2 RMSE_SPeLv and RMSE_SPeHv denote the root mean squared static position error at low velocities and high velocities from 0.1 s to the end, respectively. RMSE_SVeLv and RMSE_SVeHv denote the root mean squared static velocity error at low velocities and high velocities from 0.1 s to the end, respectively.
Table 6. Position and velocity tracking error comparison with payload 3.
Table 6. Position and velocity tracking error comparison with payload 3.
ErrorsRMSE_SPeLv [rad]RMSE_SVeLv [rad/s]RMSE_SPeHv [rad]RMSE_SVeHv [rad/s]
No compensation1.1561.5623.7765.981
Kμ = 501.1541.4093.7746.161
Performance improvement 0.2%9.8%0.1%−3.0%
Coulomb and viscous1.1541.4463.7606.447
Performance improvement0.2%7.4%0.4%−7.8%
3 RMSE_SPeLv and RMSE_SPeHv denote the root mean squared static position error at low velocities and high velocities from 1 s to the end, respectively. RMSE_SVeLv and RMSE_SVeHv denote the root mean squared static velocity error at low velocities and high velocities from 1 s to the end, respectively.

Share and Cite

MDPI and ACS Style

Xu, T.; Fan, J.; Fang, Q.; Wang, S.; Zhu, Y.; Zhao, J. A Novel Virtual Sensor for Estimating Robot Joint Total Friction Based on Total Momentum. Appl. Sci. 2019, 9, 3344. https://doi.org/10.3390/app9163344

AMA Style

Xu T, Fan J, Fang Q, Wang S, Zhu Y, Zhao J. A Novel Virtual Sensor for Estimating Robot Joint Total Friction Based on Total Momentum. Applied Sciences. 2019; 9(16):3344. https://doi.org/10.3390/app9163344

Chicago/Turabian Style

Xu, Tian, Jizhuang Fan, Qianqian Fang, Shoulong Wang, Yanhe Zhu, and Jie Zhao. 2019. "A Novel Virtual Sensor for Estimating Robot Joint Total Friction Based on Total Momentum" Applied Sciences 9, no. 16: 3344. https://doi.org/10.3390/app9163344

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop