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.
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.