# Levitating Control System of Maglev Ruler Based on Active Disturbance Rejection Controller
## 3 A Levitating Control System Based on Active Disturbance Rejection  
### Design of Active Disturbance Rejection Controller for Levitating Control System  
Based on an in-depth analysis of the PID control algorithms, [PERSON] proposed the auto-disturbance rejection control technology [19]. This control technology does not require high precision in the mathematical model and can estimate and compensate for \"internal disturbances\" and \"external disturbances\" in the system in real time, with strong adaptability and good anti-interference performance [19; 20]. Due to the susceptibility of the levitating system to working magnetic field, current, and load disturbances of the levitating coil, an active disturbance rejection control strategy is an effective solution to restrain the disturbances [19]. Because active disturbance rejection control not only requires lower modeling precision but also can observe and compensate for coupling disturbances between different degrees of freedom (\(z_{a}\) and \(\psi\)) through an extended state observer, thereby solving the decoupling and disturbance suppression problems in levitating control [19]. The ADRC controller of the levitating system is shown in Figure 8. It mainly consists of a tracking differentiator (TD), an extended state observer (ESO), and a nonlinear state error feedback control law (NLSEF) [20]. [PERSON] proposed the concept of the nonlinear tracking differentiator, whose discrete tracking differentiator has the following form [2]:  
1. Tracking differentiator (TD)  
When the MR system is started, the given position will undergo a sudden change. However, due to inertia, the position of the MC will not immediately reach the given position, but there will be a relatively slow change process. This leads to the emergence of a transition process. When using the classical PID control algorithm for position control, if the \(z_{a}\) needs to track the \(v_{z0}\) as soon as possible, the control quantity should be increased. However, after increasing the control quantity, the \(z_{a}\) will have an overshoot. The transition process of the \(z_{a}\) is an objective existence. Therefore, the best way to eliminate the overshoot is to arrange a transition process for the \(v_{z0}\)[2]. Figure 8: Structural diagram of levitating system. The TD in the ADRC can be used to arrange a reasonable transition process for the given position. Equation (55) is a discretized second-order tracking differentiator [2]. \[\left\{ \begin{array}{l}v_{z1}(n+1)=v_{z1}(n)+hv_{z2}(n)\\ v_{z2}(n+1)=v_{z2}(n)+hfan[v_{z1}(n)-v_{z0}(n),v_{z2}(n),r,h]\end{array} \right. \tag{55}\]  
In the equation:  
\[ \begin{array}{l}fhan=\left\{\begin{array}{ll}-rsign(\alpha)&|\alpha|>\delta \\ -r\frac{\alpha}{\delta}&|\alpha|\leq\delta\\ \end{array}\right.\\ \alpha=\left\{\begin{array}{ll}v_{z2}(n)+\frac{\alpha_{0}-\delta}{2} sign(y_{z}(n))&|y_{z}(n)|>\delta_{0}\\ \frac{\alpha}{2}(n)+hy_{z}(n)&|y_{z}(n)|\leq\delta_{0}\\ \end{array}\right.\\ \alpha_{0}=\sqrt{\alpha^{2}+8r}|y_{z}(n)|\\ \delta=rh_{0}\\ \delta_{0}=\delta h_{0}\\ y_{z}(n)=v_{z1}(n)-v_{z0}(n)+h_{0}v_{z2}(n)\end{array} \]  
In the equation, \(v_{z0}(n)\) is the \(z_{a}\) initial signal, \(v_{z1}(n)\) traces the signal of \(v_{z0}(n)\), \(v_{z2}(n)\) is the differential signal of \(v_{z0}(n)\); \(h\) is the integration size of step, tracing speed is determined by \(r\), and \(h_{0}\) controls the effect of the noise filtering. \(r\) and \(h_{0}\) should be coordinated to get a suitable transition process. 2. Extended State Observer (ESO)  
According to the active disturbance rejection control law [21], Equation (53) is changed to:  
\[\left\{ \begin{array}{l}\frac{\partial^{2}z_{a}}{\partial t^{2}}=b_{z}i_{a}+w_ {z}(t)\\ \frac{\partial^{2}w}{\partial t^{2}}=b_{p}i_{b}+w_{p}(t)\end{array} \right. \tag{56}\]  
In the equation, \(w_{z}(t)\) and \(w_{p}(t)\) are the equivalent disturbances of the system, which include coupling and disturbance. \(i_{a}\) and \(i_{b}\) are control variables.