# Robot Joint Vibration Suppression Method Based on Improved ADRC
## 3 ADRC Control of Robot Joint Module
### Vibration Disturbance Model of Joint Module  
#### 3.1.1 Extraction of Vibration Signals  
As shown in Figure 1, two encoders are installed on the robot joint module. The reduction ratio is N.  
For the convenience of vibration analysis, a simplified model is adopted for the mechanical part of the joint module, as shown in Figure 4, whose forces are manifested as the meshing vibration and elastic deformation between gears. Then, the following equation is introduced.  
\[\left\{\begin{array}{l}\theta_{e1}(t)=\theta_{0}(t)-N\theta_{r}(t)\\ \omega_{e1}(t)=\omega_{0}(t)-N\omega_{r}(t)\\ a_{e1}(t)=a_{0}(t)-Na_{r}(t)\end{array}\right. \tag{14}\]  
where \(\theta_{0}(t)\) is the motor angle, \(\omega_{0}(t)\) is the motor speed, \(a_{0}(t)\) is the motor angular acceleration, \(\theta_{r}(t)\) is the harmonic reducer angle, \(\omega_{r}(t)\) is the harmonic reducer speed, \(a_{r}(t)\) is the harmonic reducer angular acceleration, and \(\theta_{e1}(t)\) is the difference between the theoretical and actual positions of the robot joint module.  
Then, one can have  
\[\left\{\begin{array}{l}\omega_{0}(t)=\dot{\theta}_{0}(t)\\ a_{0}(t)=\ddot{\theta}_{0}(t)\end{array}\right. \tag{15}\]  
\[\left\{\begin{array}{l}\omega_{r}(t)=\dot{\theta}_{r}(t)\\ a_{r}(t)=\ddot{\theta}_{r}(t)\end{array}\right. \tag{16}\]  
From (14)-(16), it can be concluded that  
\[\left\{\begin{array}{l}\omega_{e1}(t)=\dot{\theta}_{e1}(t)\\ a_{e1}(t)=\ddot{\theta}_{e1}(t)\end{array}\right. \tag{17}\]  
When the rigidity of the robot joint module is sufficiently high and there is no vibration disturbance, \(\theta_{0}(t)-N\theta_{r}(t)=0\), \(\theta_{e1}(t)=0\). The angle output of the PMSM is completely synchronized with the angle output of the harmonic reducer. When considering the existence of gear deformation and load vibration, the joint module exhibits a nonlinear output of \(\theta_{e1}(t)\) during rotation. A sampling interval of 1 millisecond and collected data  
Figure 4: Simplified model.  
Figure 3: Disturbance rejection control model.  
from the two encoders of the joint module are selected to generate \(\theta_{e1}(t)\) data, as shown in Figure 5. The horizontal axis represents time, and the vertical axis represents \(\theta_{e1}(t)\), which is the angle error value, in arcseconds.  
Figure 5 shows the waveforms of the joint module during the normal operation, vibration, and static state, which approximate the synthesis of the load deformation displacement data and vibration displacement data. By combining (13), (14) and (17), one can have  
\[m\ddot{\theta}_{e1}(t)+c\alpha\dot{\theta}_{e1}(t)+k\alpha\theta_{e1}(t)=f(t) +T_{load}(t) \tag{18}\]  
where \(T_{load}(t)\) represents the load disturbance force of the joint module, \(f(t)\) represents the vibration impact force of the joint module, and \(\alpha\) is an undetermined coefficient that needs to be adjusted through an ADRC controller.  
The latter half of Figure 5 shows that in a static and vibration-free state, \(\ddot{\theta}_{e1}(t)=0\) and \(\dot{\theta}_{e1}(t)=0\) in (18) describe the vibration acceleration and velocity. Therefore, (18) is further decomposed into  
\[\left\{\begin{array}{l}T_{load}(t)=k\alpha\theta_{e1}(t)\\ f(t)=m\alpha\ddot{\theta}_{e1}(t)+c\alpha\dot{\theta}_{e1}(t)\end{array}\right. \tag{19}\]  
It should be noted that (19) simplifies the force situation of the joint module, such as linear and time invariance, and ignores some possible nonlinear and time-varying effects, such as the nonlinearity of tooth contact and the time variation in the stiffness and damping.