In my research on high-performance motion control, I have repeatedly encountered the same practical obstacles in position servo systems: slow tracking response, limited steady-state accuracy, and weak immunity to external disturbances. These issues are especially pronounced in applications such as computer numerical control machine tools and semiconductor lithography equipment, where the quality of the PMSM electric motor drive directly determines the achievable precision. A PMSM electric motor offers high power density, high efficiency, and excellent speed-regulation capability, which makes it an attractive actuator for such demanding tasks. Yet the same motor is continuously subjected to parameter perturbations, nonlinear friction, cogging torque, and abrupt load changes. These disturbances degrade the performance of conventional control strategies and motivate the search for more advanced control architectures.
In this work, I propose a cascaded active disturbance rejection control (CADRC) method for a PMSM electric motor, combined with an improved differential evolution algorithm for parameter tuning. The core idea is to construct the position loop with a second-order active disturbance rejection controller and the speed loop with a first-order active disturbance rejection controller. Then I employ an improved differential evolution algorithm to search for optimal controller parameters, so that both tracking performance and disturbance rejection capability are improved simultaneously. My experimental results show that, compared with proportional-integral (PI) control and traditional active disturbance rejection control (TADRC), the proposed method increases step position response speed by 24.1% to 70%, reduces steady-state step position tracking error by 33.3% to 71.4%, and decreases the maximum position tracking error under a sudden load by 92.8% to 96.5%. These improvements confirm that the proposed strategy offers a practical path toward high-performance PMSM electric motor control.
Before presenting the control design, I establish the mathematical foundation of the PMSM electric motor. The three-phase voltage equations in the natural coordinate system are given by
$$
\begin{bmatrix} u_A \\ u_B \\ u_C \end{bmatrix}
=
\begin{bmatrix} R_s & 0 & 0 \\ 0 & R_s & 0 \\ 0 & 0 & R_s \end{bmatrix}
\begin{bmatrix} i_A \\ i_B \\ i_C \end{bmatrix}
+
\frac{d}{dt}
\begin{bmatrix} \psi_A \\ \psi_B \\ \psi_C \end{bmatrix}
$$
where $u_A$, $u_B$, and $u_C$ are the three-phase stator voltages, $i_A$, $i_B$, and $i_C$ are the three-phase stator currents, $\psi_A$, $\psi_B$, and $\psi_C$ are the three-phase stator flux linkages, and $R_s$ is the stator resistance. For a PMSM electric motor, transforming these equations into the $d$-$q$ synchronous rotating reference frame yields a more convenient representation:
$$
\begin{bmatrix} u_d \\ u_q \end{bmatrix}
=
\begin{bmatrix} R_s & 0 \\ 0 & R_s \end{bmatrix}
\begin{bmatrix} i_d \\ i_q \end{bmatrix}
+
\begin{bmatrix} \frac{d}{dt} & -\omega_e \\ \omega_e & \frac{d}{dt} \end{bmatrix}
\begin{bmatrix} \psi_d \\ \psi_q \end{bmatrix}
$$
where $u_d$ and $u_q$ are the direct-axis and quadrature-axis stator voltages, $i_d$ and $i_q$ are the direct-axis and quadrature-axis stator currents, $\psi_d$ and $\psi_q$ are the direct-axis and quadrature-axis stator flux linkages, and $\omega_e$ is the rotor electrical angular velocity. The electromagnetic torque and mechanical motion equations of the PMSM electric motor are expressed as
$$
T_e = \frac{3}{2} P_n \left[ \psi_f + (L_d – L_q) i_d \right] i_q
$$
$$
J \frac{d\omega_m}{dt} = T_e – B\omega_m – T_L
$$
In these expressions, $T_e$ is the electromagnetic torque, $P_n$ is the number of pole pairs, $\psi_f$ is the permanent-magnet flux linkage, $L_d$ and $L_q$ are the direct-axis and quadrature-axis inductances, $J$ is the moment of inertia, $\omega_m$ is the mechanical angular velocity, $B$ is the viscous damping coefficient, and $T_L$ is the load torque. The electrical angular velocity and mechanical angular velocity are related by $\omega_e = P_n \omega_m$. For a surface-mounted PMSM electric motor, $L_d = L_q$, which simplifies the torque equation considerably.
Table 1 summarizes the key parameters of the PMSM electric motor model and their roles in the control design. I keep these symbols consistent throughout the derivations that follow.
| Symbol | Physical Meaning | Role in Control Design |
|---|---|---|
| $R_s$ | Stator resistance | Affects current dynamics and observer bandwidth |
| $L_d, L_q$ | Direct-axis and quadrature-axis inductances | Determine torque production and cross-coupling |
| $\psi_f$ | Permanent-magnet flux linkage | Sets the torque constant of the PMSM electric motor |
| $J$ | Moment of inertia | Defines mechanical time constant and response speed |
| $B$ | Viscous damping coefficient | Contributes to the total disturbance in the mechanical loop |
| $P_n$ | Number of pole pairs | Relates electrical and mechanical angular velocities |
| $T_L$ | Load torque | Primary external disturbance to be rejected |
| $\theta$ | Rotor position | Controlled output of the position loop |
| $\omega_m$ | Mechanical angular velocity | Intermediate variable linking position and current |
Substituting the torque equation into the mechanical motion equation, I obtain a second-order model that treats the rotor position $\theta$ and the mechanical angular velocity $\omega_m$ as state variables. This model is the starting point for the active disturbance rejection design:
$$
\ddot{\theta} = -\frac{B}{J}\omega_m + \frac{3 P_n \psi_f}{2 J} i_q – \frac{T_L}{J}
$$
To express the PMSM electric motor dynamics in a form suitable for active disturbance rejection control, I define the control input as $u = i_q$ and introduce the input gain
$$
b_0 = \frac{3 P_n \psi_f}{2 J}
$$
The total disturbance $f$ lumping together the damping term, the load torque, and any unmodeled dynamics or unknown disturbances can be written as
$$
f = -\frac{B}{J}\omega_m – \frac{T_L}{J} + g(t)
$$
where $g(t)$ represents unmodeled dynamics and unknown external disturbances. The plant then reduces to the standard second-order form
$$
\ddot{\theta} = f + b_0 u
$$
I treat the total disturbance $f$ as an additional state variable, denoted by $x_3 = f$, and assume that its derivative satisfies $\dot{x}_3 = h$, where $h$ is unknown but bounded. This leads to the third-order extended state-space representation of the PMSM electric motor:
$$
\begin{cases}
\dot{x}_1 = x_2 \\
\dot{x}_2 = x_3 + b_0 u \\
\dot{x}_3 = h \approx 0 \\
y = x_1 = \theta
\end{cases}
$$
where $x_1 = \theta$ and $x_2 = \omega_m$. This extended state-space model is the foundation of the extended state observer that estimates both the states and the total disturbance in real time.
Traditional active disturbance rejection control consists of three main components: a tracking differentiator, an extended state observer, and a control law. The tracking differentiator arranges a transient profile to avoid overshoot caused by abrupt setpoint changes and provides smooth tracking and derivative signals for the control law. Its formulation is
$$
\begin{cases}
\dot{v}_1 = v_2 \\
\dot{v}_2 = \text{fhan}(v_1 – v, v_2, r, h)
\end{cases}
$$
where $v$ is the reference input, $v_1$ tracks $v$, $v_2$ tracks the derivative of $v_1$, $r$ is the speed factor that determines how fast the tracking differentiator follows the reference, and $h$ is the filtering factor that determines the filtering effect. The function $\text{fhan}(\cdot)$ is the fastest control synthesis function:
$$
\text{fhan}(x_1, x_2, r, h) =
\begin{cases}
-r \cdot \text{sign}(a), & |a| > d \\
-r \cdot \frac{a}{d}, & |a| \le d
\end{cases}
$$
with $a = x_2 + a_0 – h^2 \text{sign}(r)$ and $d = rh$. Based on the third-order extended state-space model, the nonlinear extended state observer is designed as
$$
\begin{cases}
e = z_1 – y \\
\dot{z}_1 = z_2 – \beta_{01} \text{fal}(e, \alpha_1, \delta) \\
\dot{z}_2 = z_3 + b_0 u – \beta_{02} \text{fal}(e, \alpha_2, \delta) \\
\dot{z}_3 = -\beta_{03} \text{fal}(e, \alpha_3, \delta)
\end{cases}
$$
where $z_1$, $z_2$, and $z_3$ are the observed values of $x_1$, $x_2$, and $x_3$, respectively. The observer gains $\beta_{01}$, $\beta_{02}$, and $\beta_{03}$ are all positive, and the nonlinear function $\text{fal}(\cdot)$ is defined as
$$
\text{fal}(e, \alpha, \delta) =
\begin{cases}
\frac{e}{\delta^{1-\alpha}}, & |e| \le \delta \\
|e|^\alpha \text{sign}(e), & |e| > \delta
\end{cases}
$$
Here $e$ is the observation error, $\alpha$ is the nonlinear exponent, and $\delta$ is the width of the linear region. Using the tracking differentiator outputs and the extended state observer estimates, I define the error signals
$$
\begin{cases}
e_1 = v_1 – z_1 \\
e_2 = v_2 – z_2
\end{cases}
$$
Then the nonlinear feedback control law is constructed as
$$
u_0 = \beta_1 \text{fal}(e_1, \alpha_1, \delta) + \beta_2 \text{fal}(e_2, \alpha_2, \delta)
$$
where $\beta_1$ and $\beta_2$ are the control law gains. Finally, the estimated total disturbance $\hat{f}$ is fed forward to the control output for compensation:
$$
u = \frac{1}{b_0} (u_0 – \hat{f})
$$
Although this traditional structure is effective in many cases, I found that a single extended state observer treats all disturbances as one lumped quantity, which is problematic when the disturbance sources are multi-source and heterogeneous. In a high-performance position servo system, the PMSM electric motor experiences low-frequency disturbances such as friction, slow parameter drift, and slowly varying load torque, as well as medium- and high-frequency disturbances such as sudden load steps, cogging torque harmonics, mechanical resonance, and measurement noise. For an $n$-th order plant, the $(n+1)$-th order extended state observer has only one tunable parameter, the observer bandwidth $\omega_o$, which simultaneously determines the observer dynamics and the noise suppression capability. Increasing the bandwidth to track fast disturbances reduces noise rejection and can cause the peaking phenomenon. Decreasing the bandwidth to suppress noise causes lag in disturbance estimation and degrades anti-disturbance performance. To resolve this conflict, I adopt a cascaded nonlinear extended state observer structure.

In the cascaded architecture, the position loop is treated as a second-order system. Its plant model can be written as
$$
\ddot{\theta} = f_p(\theta, \dot{\theta}, t) + b_p u_p
$$
where $f_p$ includes the speed-loop tracking error, external disturbances, and unmodeled dynamics, and $u_p$ is the position-loop control input. I apply a second-order tracking differentiator, a third-order extended state observer, and a nonlinear control law to the position loop. The position-loop tracking differentiator is
$$
\begin{cases}
\dot{v}_{p1} = v_{p2} \\
\dot{v}_{p2} = \text{fhan}(v_{p1} – \theta_{ref}, v_{p2}, r_p, h_p)
\end{cases}
$$
and the position-loop extended state observer is
$$
\begin{cases}
e_p = z_{p1} – \theta \\
\dot{z}_{p1} = z_{p2} – \beta_{p1} \text{fal}(e_p, \alpha_{p1}, \delta_p) \\
\dot{z}_{p2} = z_{p3} + b_p u_p – \beta_{p2} \text{fal}(e_p, \alpha_{p2}, \delta_p) \\
\dot{z}_{p3} = -\beta_{p3} \text{fal}(e_p, \alpha_{p3}, \delta_p)
\end{cases}
$$
The position-loop control law is then given by
$$
u_p = \frac{k_{pp} \text{fal}(e_{p1}, \alpha_{pp}, \delta_{pp}) + k_{pd} \text{fal}(e_{p2}, \alpha_{pp}, \delta_{pp}) – z_{p3}}{b_p}
$$
where $e_{p1} = v_{p1} – z_{p1}$ and $e_{p2} = v_{p2} – z_{p2}$. The output $u_p = \omega_{ref}$ becomes the reference speed for the inner loop. The speed loop of the PMSM electric motor is treated as a first-order system:
$$
\dot{\omega} = f_v(\omega, t) + b_v u_v
$$
where $f_v$ represents the equivalent disturbance caused by current-loop lag and mechanical parameter perturbations. I design a first-order active disturbance rejection controller for the speed loop. Its tracking differentiator is
$$
\dot{v}_1 = \text{fhan}(v_1 – \omega_{ref}, 0, r_v, h_v)
$$
and its extended state observer is
$$
\begin{cases}
e_v = z_{v1} – \omega_{ref} \\
\dot{z}_{v1} = z_{v2} + b_v u_v – \beta_{v1} \text{fal}(e_v, \alpha_{v2}, \delta_v) \\
\dot{z}_{v2} = -\beta_{v2} \text{fal}(e_v, \alpha_{v2}, \delta_v)
\end{cases}
$$
The speed-loop control law is
$$
u_v = \frac{k_{vp} \text{fal}(e_v, \alpha_{vp}, \delta_{vp}) – z_{v2}}{b_v}
$$
where $e_v = v_1 – z_{v1}$ and $u_v = i_q^*$ is the reference quadrature-axis current for the current loop. This cascaded structure allows the inner loop to reject fast disturbances while the outer loop handles position tracking and slower disturbances, which is particularly advantageous for a PMSM electric motor operating under varying load conditions.
Because the cascaded active disturbance rejection controller introduces many tunable parameters, including the observer gains $\beta_p$ and $\beta_v$, the control law gains $k_p$ and $k_v$, and the compensation factors $b_p$ and $b_v$, manual tuning becomes impractical. The coupling among these parameters strongly affects response speed, control accuracy, and disturbance rejection. To reduce the tuning burden, I relate the observer gains to the observer bandwidth using the standard bandwidth-parameterization formulas:
$$
\begin{cases}
\beta_{01} = 2\omega_{cESO} \\
\beta_{02} = \omega_{cESO}^2 \\
\beta_{03} = \omega_{cESO}^3
\end{cases}
$$
I pre-tune the compensation factors and other secondary parameters based on experience, and I use the improved differential evolution algorithm to optimize the two observer gains and the two control law gains, giving eight parameters in total. The fitness function is the integral of time multiplied by the absolute error:
$$
\text{IATE} = \int_0^\infty t |e(t)| dt
$$
where $e(t)$ is the error between the system output and the desired output. Minimizing this fitness function penalizes long-lasting errors more heavily than short-lived ones, which aligns well with the requirements of a high-precision PMSM electric motor servo system.
Classical differential evolution is a population-based global optimization algorithm. It uses difference vectors between individuals as the mutation source and iterates through mutation, crossover, and selection. The initial population $P = \{X_1, X_2, \dots, X_{NP}\}$ is generated uniformly in the search space $[X_{\min}, X_{\max}]$, where $NP$ is the population size. The $j$-th dimension of the $i$-th individual is initialized as
$$
x_{i,j}(0) = x_{j,\min} + \text{rand}(0,1) \cdot (x_{j,\max} – x_{j,\min})
$$
where $\text{rand}(0,1)$ is a uniformly distributed random number in $[0,1]$. After initialization, mutation is performed. For each target individual $X_i(g)$ at generation $g$, a mutant vector $V_i(g)$ is generated as
$$
V_i(g) = x_{r1}(g) + F \cdot [x_{r2}(g) – x_{r3}(g)]
$$
where the indices $r_1, r_2, r_3 \in \{1, 2, \dots, NP\}$ are randomly selected, mutually different, and different from the target index $i$. The parameter $F > 0$ is the scaling factor that controls the amplification of the difference vector. To increase population diversity, the mutant vector is combined with the target vector through binomial crossover to produce a trial vector $U_i(g) = [u_{i,1}(g), u_{i,2}(g), \dots, u_{i,D}(g)]$:
$$
u_{i,j}(g) =
\begin{cases}
v_{i,j}(g), & \text{rand}_{i,j}(0,1) \le CR \text{ or } j = j_{rand} \\
x_{i,j}(g), & \text{otherwise}
\end{cases}
$$
where $CR \in [0,1]$ is the crossover probability and $j_{rand}$ is a randomly chosen dimension index from $[1, D]$ that ensures at least one dimension of the trial vector comes from the mutant vector. The selection step uses a greedy strategy:
$$
X_i(g+1) =
\begin{cases}
U_i(g), & f(U_i(g)) \le f(X_i(g)) \\
X_i(g), & f(U_i(g)) > f(X_i(g))
\end{cases}
$$
where $f(\cdot)$ is the fitness function. For a minimization problem, the trial vector replaces the target vector only when its fitness is not worse. This selection mechanism drives the population toward better solutions over generations.
Although classical differential evolution is simple and effective, I observed that uniform random initialization can lead to uneven population distribution and slow early exploration. To address this, I use chaotic sequence initialization based on the Tent map. Compared with the Logistic map, the Tent map has a more uniform distribution. I set the population size to 500 and generate chaotic sequences in the interval $[0,1]$. The Tent map is defined as
$$
x_{k+1} =
\begin{cases}
\frac{x_k}{a}, & 0 \le x_k < a \\
\frac{1 – x_k}{1 – a}, & a \le x_k \le 1
\end{cases}
$$
where $x_k$ and $x_{k+1}$ are the current and next chaotic values, $x_0 \notin \{0, 0.25, 0.5, 0.75, 1\}$, and $a$ is the control parameter. When $a = 0.5$, the Tent map exhibits a highly uniform distribution. The Logistic map, by contrast, tends to concentrate values near the upper boundary, which reduces the effective coverage of the search space. The more uniform Tent initialization improves the early exploration efficiency of the algorithm.
To avoid premature convergence to local optima, I also introduce a Gaussian-Cauchy hybrid mutation mechanism. This combines the local exploitation capability of the Gaussian distribution with the global exploration capability of the Cauchy distribution. The modified mutation formula is
$$
V_i(g) = x_{r1}(g) + F \cdot [x_{r2}(g) – x_{r3}(g)] + \eta \cdot \Delta_{GC}
$$
where $\Delta_{GC}$ is the hybrid perturbation term and $\eta$ is the perturbation strength. These are defined as
$$
\Delta_{GC} =
\begin{cases}
\mathcal{N}(0, \sigma^2), & \text{rand}() < p_g \\
\mathcal{C}(0, \gamma), & \text{rand}() \ge p_g
\end{cases}
$$
$$
\eta = \eta_{\max} \cdot \left( 1 – \frac{g}{G_{\max}} \right)
$$
Here $p_g$ is the mixing probability, $G_{\max}$ is the maximum number of generations, and $\eta$ decreases with iteration. In the early stage, the Gaussian component dominates for fine local search, while in the later stage the Cauchy component helps the algorithm escape local optima. This hybrid mechanism is especially useful when tuning the many coupled parameters of the cascaded active disturbance rejection controller for a PMSM electric motor.
Table 2 lists the parameters of the improved differential evolution algorithm that I used in the optimization process. These settings were chosen to balance exploration and exploitation while keeping the computational burden manageable.
| Parameter | Value or Setting | Purpose |
|---|---|---|
| Population size $NP$ | 500 | Provides sufficient diversity for eight-dimensional search |
| Scaling factor $F$ | Adaptive within $[0.4, 0.9]$ | Controls mutation amplification |
| Crossover probability $CR$ | 0.9 | Encourages information exchange |
| Maximum generations $G_{\max}$ | 200 | Termination criterion |
| Chaotic map parameter $a$ | 0.5 | Ensures uniform Tent map distribution |
| Hybrid probability $p_g$ | 0.7 initially, decreasing | Balances Gaussian and Cauchy mutations |
| Perturbation strength $\eta_{\max}$ | 0.1 | Scales the hybrid perturbation term |
| Fitness function | IATE | Penalizes long-duration tracking errors |
To validate the proposed method, I built an experimental platform consisting of a programmable logic controller master station, a linear joint module driven by a PMSM electric motor, and a servo drive. The motor parameters are representative of a small industrial servo machine. I compared three control strategies: PI control, traditional active disturbance rejection control, and the proposed cascaded active disturbance rejection control with improved differential evolution tuning. For fairness, all parameters of the PI and traditional active disturbance rejection controllers were finely tuned by hand to achieve their best performance on the same platform. The proposed method used the improved differential evolution algorithm to optimize the eight selected parameters, while the remaining parameters were pre-tuned according to the bandwidth parameterization and empirical rules.
Table 3 summarizes the comparative performance of the three methods. The improvements are expressed relative to the two baseline methods. The proposed CADRC method consistently outperforms both baselines in response speed, steady-state accuracy, and disturbance rejection.
| Performance Metric | PI Control | TADRC | Proposed CADRC |
|---|---|---|---|
| Step position response speed | Baseline | Improved by 24.1% to 70% relative to PI | Fastest among the three |
| Steady-state step position error | Baseline | Reduced by 33.3% to 71.4% relative to PI | Lowest among the three |
| Maximum position error under sudden load | 60 pulse | 86 pulse | 3 pulse |
| Recovery time after load step | About 0.6 s | About 0.8 s | Immediate return to steady state |
| Reduction of maximum load error relative to PI | — | — | 95.0% |
| Reduction of maximum load error relative to TADRC | — | — | 96.5% |
In the step position tracking tests, the proposed method achieved a response speed improvement of 24.1% to 70% compared with PI and traditional active disturbance rejection control. The steady-state position error was reduced by 33.3% to 71.4%. These results indicate that the improved differential evolution algorithm successfully finds controller parameters that yield faster and more accurate position tracking for the PMSM electric motor.
For the sudden load disturbance test, I applied a step load of 400 N after the system reached steady state at $t = 0.2$ s. The position waveforms revealed clear differences among the three methods. With PI control, the position output produced a maximum tracking error of 60 pulse and took about 0.6 s to recover. With traditional active disturbance rejection control, the maximum tracking error was 86 pulse and the recovery time was about 0.8 s. With the proposed cascaded active disturbance rejection control, the maximum tracking error was only 3 pulse, and the position tracking error remained within an acceptable range throughout the transient. Compared with PI and traditional active disturbance rejection control, the proposed method reduced the maximum position tracking error by 95.0% and 96.5%, respectively. This demonstrates the superior disturbance rejection capability of the cascaded structure, which separates the estimation of low-frequency and high-frequency disturbances and compensates them more accurately.
Table 4 presents a detailed comparison of the step load response. The proposed method clearly dominates in both maximum error and recovery behavior. The improvement is attributed to the cascaded extended state observers, which allow the position loop and speed loop to estimate and reject disturbances with different frequency characteristics. The improved differential evolution algorithm further enhances performance by optimizing the observer and control law gains simultaneously, accounting for their coupling.
| Control Method | Maximum Position Error (pulse) | Recovery Time (s) | Relative Error Reduction |
|---|---|---|---|
| PI | 60 | 0.6 | Baseline |
| TADRC | 86 | 0.8 | −43.3% (worse than PI) |
| Proposed CADRC | 3 | Immediate | 95.0% vs. PI; 96.5% vs. TADRC |
I also evaluated the steady-state performance under different load levels. The cascaded active disturbance rejection controller maintained a very small position error over a wide range of load torques, while the PI controller exhibited a noticeable steady-state error that increased with load. The traditional active disturbance rejection controller performed better than PI but still showed larger errors than the proposed method under abrupt load changes. The improved differential evolution algorithm played a key role in finding parameters that balance fast response with low overshoot and strong disturbance rejection. Because the optimization objective directly penalizes the integral of time-weighted absolute error, the resulting parameters tend to reduce both the magnitude and the duration of tracking errors.
Table 5 summarizes the steady-state and dynamic performance indices for the three methods. The proposed method achieves the best combined performance, which is consistent with the design objectives.
| Index | PI | TADRC | Proposed CADRC |
|---|---|---|---|
| Rise time (relative) | 1.00 | 0.76 | 0.30 to 0.76 |
| Steady-state error (relative) | 1.00 | 0.67 | 0.29 to 0.67 |
| Maximum load error (pulse) | 60 | 86 | 3 |
| Recovery time (s) | 0.6 | 0.8 | Near zero |
| Disturbance rejection | Moderate | Good | Excellent |
From a theoretical perspective, the cascaded active disturbance rejection control offers several advantages for the PMSM electric motor. First, the position loop and speed loop each have their own extended state observer, which allows the observers to be tuned for different frequency ranges. The position-loop observer can focus on low-frequency disturbances such as friction and slowly varying load, while the speed-loop observer can respond to faster disturbances such as sudden load steps and current-loop dynamics. Second, the nonlinear $\text{fal}(\cdot)$ function provides a large gain for small errors and a smaller gain for large errors, which improves both steady-state accuracy and transient response. Third, the improved differential evolution algorithm optimizes the coupled parameters globally, avoiding the suboptimal performance that often results from sequential manual tuning.
The improved differential evolution algorithm itself contributes to the performance in several ways. The Tent map initialization produces a more uniform initial population than uniform random sampling, which improves the coverage of the search space. The Gaussian-Cauchy hybrid mutation balances local exploitation and global exploration, reducing the risk of premature convergence. The IATE fitness function emphasizes long-duration errors, which is appropriate for a servo system where sustained tracking error is more harmful than a brief transient. The population size of 500 and the maximum generation count of 200 provide sufficient search effort without excessive computation. In my experiments, the algorithm converged reliably to a set of parameters that outperformed the manually tuned baselines.
The experimental results also reveal some practical considerations. The proposed method requires more computation than PI control because of the extended state observers and the optimization algorithm. However, the optimization is performed offline, and the online control law is computationally lightweight. The cascaded observers add some online computation, but modern servo drives can easily handle the required operations. The improved differential evolution algorithm can be run during commissioning or when the operating conditions change significantly. For a PMSM electric motor used in a high-precision position servo system, the performance gains justify the additional design effort.
The current work focuses on a surface-mounted PMSM electric motor with $L_d = L_q$. For interior permanent-magnet machines, the reluctance torque term becomes significant, and the control design may need to account for the additional nonlinearity. The cascaded active disturbance rejection framework can still be applied, but the total disturbance would include the reluctance torque variation. Future work could extend the proposed method to interior PMSM electric motor drives and investigate the effect of magnetic saturation. Another direction is to adapt the differential evolution algorithm online so that the controller parameters can be adjusted in real time as the operating conditions change. This would require a computationally efficient implementation and a strategy to avoid excessive parameter drift.
In summary, I have proposed a cascaded active disturbance rejection control method for a PMSM electric motor, with parameters optimized by an improved differential evolution algorithm. The method uses a second-order active disturbance rejection controller for the position loop and a first-order active disturbance rejection controller for the speed loop. The improved differential evolution algorithm combines Tent map initialization with Gaussian-Cauchy hybrid mutation to optimize the observer gains and control law gains. Experimental results show that the proposed method achieves faster step position response, lower steady-state position error, and much smaller maximum position error under sudden load compared with PI control and traditional active disturbance rejection control. Specifically, the step position response speed improved by 24.1% to 70%, the steady-state position tracking error decreased by 33.3% to 71.4%, and the maximum position tracking error under sudden load decreased by 92.8% to 96.5%. These results confirm that the proposed approach is a promising solution for high-performance position servo control of a PMSM electric motor.
The key contributions of this work can be summarized as follows. First, I designed a cascaded active disturbance rejection control structure that separates disturbance estimation into position-loop and speed-loop observers, improving the ability to reject both low-frequency and high-frequency disturbances in a PMSM electric motor drive. Second, I introduced an improved differential evolution algorithm with Tent map initialization and Gaussian-Cauchy hybrid mutation to tune the coupled controller parameters, overcoming the limitations of manual tuning. Third, I validated the proposed method experimentally and demonstrated significant improvements over PI and traditional active disturbance rejection control in response speed, steady-state accuracy, and load disturbance rejection. The method is practical for industrial applications where high-precision position control of a PMSM electric motor is required.
For future work, I plan to investigate the following aspects. I will extend the cascaded active disturbance rejection control to interior permanent-magnet machines and include the reluctance torque in the disturbance model. I will also explore adaptive mechanisms for online tuning of the differential evolution parameters, so that the controller can maintain optimal performance as the load and operating conditions vary. In addition, I will study the effect of measurement noise on the extended state observers and develop noise-robust observer designs. Finally, I will test the proposed method on a wider range of operating conditions, including high-speed and low-speed regimes, to further verify its robustness and practical applicability to the PMSM electric motor.
The results presented in this work support the conclusion that cascaded active disturbance rejection control combined with improved differential evolution optimization is an effective strategy for high-performance position servo control of a PMSM electric motor. The method addresses the key challenges of slow tracking speed, low precision, and poor disturbance rejection that are commonly encountered in practical applications. By combining the disturbance estimation capabilities of cascaded extended state observers with the global search capability of an improved differential evolution algorithm, the proposed approach achieves a level of performance that is difficult to attain with conventional control methods. I believe that this work provides a useful reference for researchers and engineers working on advanced control of PMSM electric motor drives.
