An Improved DC Motor Position Control Using Differential Evolution Based Structure Specified H∞ Robust Controller

Traditional synthesis of an H∞ controller usually results in a very high order of controller that is not practical for a low-cost embedded system such as a microcontroller. This paper presents a synthesis method of a low-order H∞ robust controller to control the position of a dc motor. The synthesis employed Differential Evolution optimization to find a controller that guarantees robust stability performance and robust stability against system perturbation. A second-order PID structure was chosen for the synthesized controller because this structure is simple and very famous. The proposed controller performance under uncertainties was compared to some other controllers. The first was compared with a conventional PID controller that had been finely tuned using the trial and error method in the nominal transfer function of the plant. Secondly, the proposed controller was compared with a full-order H∞ robust controller generated from a traditional synthesis method. Thirdly, the proposed controller was compared with another structure specified H∞ robust controller generated differently from the proposed method. All of the controllers result in a stable response. However, the proposed controller gives a better response in terms of overshoot and response time.


INTRODUCTION
DC motors are commonly used in industries due to their quick response and high starting torque. With the increased demand for industrial growth, high-precision motion control has emerged as a key development path for modern DC motor control [1]. Some researchers implemented a PID controller to control both the position and speed of the DC motor [2][3] [4] [5]. In some applications, when the DC motor is used to move some loads such as vehicles or manipulators, the controlling effort begins more interesting. The system will deal more with uncertainties that affect its stability and performance. To overcome the uncertainties, some researchers tried to synthesis a smart PID such as an adaptive PID [6] or hybrid PID such as Neural Network with PID [7]. Nonetheless, to get better control of the system, the controller synthesis needs the model of the system. The modeling process is a common method during research in the robotic and mechatronic fields [8]. A good model helps in many aspects of the system design, such as kinematic and dynamic performance [9], good control system [10], good trajectory tracking [11], vibration reduction [12], and energy efficiency [13]. Simplification is always present in a mathematical modeling process of a physical system. This causes modeling errors that lead to uncertainties for the mathematical model. Too many modeling uncertainties reduce control performance and lead to instability [14]. To reduce the effect of unmodeled disturbances, robust control as the main choice has been investigated by some researchers [15][16] [17]. A robust controller is a controller that guarantees the robust stability and robust performance of a system against disturbance or uncertainties. One of the most popular robust control tools is H∞ control. H∞ robust controller guarantees the robust stability and robust performance of the system under certain or prescribed worst-case uncertainties [18]. Some researchers have conducted research and provided several techniques for H∞ controller synthesis such as a solution in state space [19] and loop shaping [20] [21]. Robust H∞ controller was derived by synthesizing the performance index to meet the robust stability and robust performance [22]. Optimizing the performance index that works for both MIMO or SISO systems is shown in [23]. H∞ with observer predictive law was used to stabilize multivariable systems with delay [24]. Another approach was for chaotic system stabilization [25]. H∞ loop shaping for the multivariable system is shown in [26], and a similar method with constrained input is introduced in [27]. In [28], H∞ robust controller synthesis to control reluctance motor under uncertainties is shown. While in [29], H∞ loop shaping for a 2 degree of freedom is shown. Similarly, the author in [30] showed that an H∞ loop shaping controller was synthesized for industrial motion control. The author in [31] showed an H∞ loop shaping controller synthesis with weighting function optimization. A data-driven H2H∞ loop shaping is shown in [32]. In [33], the author tried to implement H2/H∞ robust control to control the DC motor. But, in the controller synthesis, the sensitivity and complementary sensitivity weight were defined by the trial and error process.
The problem for a small embedded system with a low clock rate, such as Arduino or some other small 8bit microcontrollers, is the order of the controller to be programmed on it. Traditional synthesis of H∞ controller always results in a very high order of the controller. Combined with the order of the plant, the overall control will have a very high order of the system. To reduce the order of the controller, a structure-specified H∞ controller is used. Structure specified H∞ controller based on Particle Swarm Optimization is used in [34] and [35]. Another optimization method was also introduced in [36] using Genetic Algorithm and [37] using Differential Evolution Optimization to get structure specified H∞ controller. In [38], the author synthesized a genetic algorithm-based fixed structure 2 degrees of freedom H∞ loop shaping controller. There is no information about the performance comparison between all of the synthesized simple structure H∞ controllers mentioned above with the high order traditional controller of H∞ synthesis.
This research contribution is to provide a structure-specified low-order H∞ robust controller synthesis method and its performance comparison to a high order H∞ controller from a traditional synthesis. The proposed controller performance was also compared to a well-tuned PID controller and another structure specified H∞ controller from the MATLAB toolbox synthesis method. The advantage of a low-order with a simple-structure controller is its possibility to be programmed on a small embedded device [39].

RESEARCH METHOD
The proposed controller is a Structure Specified Low-Order H∞ Robust Controller. Due to its simplicity, the chosen structure for the proposed controller is a PID controller structure. The H∞ norm was optimized using the Differential Evolution optimization method. The steps to synthesis the controller are: 1. Define the plant transfer function 2. Define the uncertainties on the plant transfer function. 3. Plot the singular value of all the uncertainties. 4. Define the complementary sensitivity weight function (Wt) that bounds all the uncertainties. 5. Define the sensitivity weight function (Ws) 6. Find the controller that satisfies the cost function J∞,a and J∞,b 7. Check whether the controller satisfies the robust stability against perturbation and robust performance from the plot of the sensitivity and the complementary sensitivity of the system and the inverse of the above weights singular value.

DC MOTOR MATHEMATIC MODEL
The equivalent of the electrical circuit and mechanical diagram of a DC motor is shown in Fig. 1. The motor torque is proportional to the armature current.

=
(1) The back emf is proportional to the angular velocity of the rotor.

=̇
(2) From Fig. 1, and by considering (1) and (2), the transfer function of the DC motor can be derived into:  where T is motor torque, K is the torque constant, is motor current, e is back EMF constant, R is armature resistance, L is armature inductance, J is rotor inertia, b is viscous friction constant, θ: rotor angular position, ̇ is rotor angular velocity and V is input voltage. The DC motor transfer function with input voltage V(s) and output angular position Θ(s) becomes: After substitution of motor parameters from [40] into (5), the nominal transfer function DC motor position control is obtained as:

CONTROLLER SYNTHESIS
A robust controller is expected to perform well even in the presence of disturbance or when some unmodeled dynamics exist. However, the uncertainties should always be in some boundary value. This research uses load variation as the system uncertainty. The uncertainties of the load were varied ±30% from the nominal value. The singular plot of the uncertainties and the upper bound complementary sensitivity weight is shown in Fig. 2.
Hence, equations (7) and (8) The sensitivity weight Ws(s) was chosen following [41] to be: The chosen controller structure for the proposed DE-based H∞ Robust Controller is a PID structure with is the Proportional constant, Ki is the Integral constant, and is the Derivative constant.

Ki K Kp
Kds s    (11) By using the Differential Evolution optimization, the parameters of the controller are achieved. Setting parameters of the DE optimization are set as follows: number of population = 20, differential weight = 0.8, and crossover probability = 0.7. Fig. 3 to Fig. 5 Even the controller is only in the form of a PID controller. It satisfies the robust stability and robust performance. Fig. 6 depicts a single plot of the sensitivity function, complementary sensitivity function, and the inverse of their weights. The inverse of the weights upper-bond the sensitivities function. It indicates that the proposed controller meets the stability criteria of robust controller performance.

RESULTS AND DISCUSSION
The performance of the DE-based structure specified H∞ controller under uncertainties is shown in Fig.  7. The uncertainties are mentioned in section 3 as ±30% load variation from the nominal value. The proposed DE-based structure specified H∞ robust controller shows that under all variation or all uncertainties, the controller performs satisfactorily. The output responses do not vary too much. Even the dynamic model of the system varies due to the changing of the load. The proposed controller was compared to a conventional PID controller. Even the controller has the same structure. The proposed controller has controller constants that were generated optimally based on the H∞ robust stability and robust performance cost function. From the point of view of a PID controller, it looks like a tuning method to find the controller constants that satisfy the robust stability and robust performance. It is common to tune a PID controller using trial and error mode for a particular system. However, it is almost impossible to find the combination of controller constants using the trial and error method that makes the system always stable under any bounded uncertainties. Especially when the uncertainties appear on more than one variable. So, in this experiment, the parameters of the DC motor were taken from [9]. Therefore, the best combination of the PID constants was also taken from [9]. Fig. 8 shows the performance of the conventional PID controller under uncertainties. The proposed controller outperforms the PID controller in the nominal transfer function or the transfer function without uncertainties. PID controllers, on the other hand, have large overshoots when there are uncertainties. Besides comparing to a conventional PID controller, the proposed controller was also compared to a high order H∞ controller. A high-order H∞ controller was designed to test the optimum efficiency of the proposed H∞ controller. The high order H∞ controller obtained by using Matlab's mixsyn command is: 4 The singular plot of the sensitivity function and its weights generated using the high order controller is plotted in Fig. 9. It shows that the high order controller also satisfies the robust stability against perturbation and robust performance. The performances of the high-order controller under the same uncertainties as the previous test using the proposed controller are shown in Fig. 10. The high-order controller works very well. The system responses seem do not affected by the uncertainties. However, the rise time of all responses was too slow compared to the proposed controller and the conventional PID controller.  Matlab also provides tools to synthesize structure specified H∞ robust controller called 'hinfstruct' command. Hinfstruct based structure specified controller was also developed to compare the proposed DE-based structure specified H∞ controller performance.
PID structure was also chosen for the hinfstruct based H∞ controller. 1

Ki s K Kp
Kd The resulted controller using the hinfstruct command is: The singular plot of sensitivity function, complementary sensitivity function, and inverse of their weights using the new controller is plotted in Fig. 11. It shows that the Hinfstruct based structure specified controller also satisfies the robust performance and robust stability against perturbation. The performance of the resulted hinfstruct based H∞ controller is shown in Fig. 12. The graph shows that the performance of the hinfstruct based H∞ controller under uncertainties is also very good. All system responses can be controlled in the same manner even there was exist some variations in the dynamics model. But the speed response is also very low. The rise time drops significantly compared to the proposed controller.

CONCLUSION
The DE-based structure specified H∞ controller performed satisfactorily under uncertainties. It has less than 0.1 seconds of settling time in all conditions of uncertainties. There were no overshoot and no steady-state error. When unmodeled dynamics exist, only a few variations appear in the output responses. The well-tuned conventional PID also performed well. It has less than 0.1 seconds of settling time also. However, in some conditions, due to the uncertainties, some overshoots happened. The full order H∞ controller and the hinfstruct based structure specified H∞ gave almost the same performance. Both of them had a long settling time but no overshoot. However, both of them gave consistent performance even under uncertainties. It can be concluded that the proposed controller has flexibility in tailoring the controller during the controller synthesis. The robust performance and the robust stability were guaranteed, and the response characteristic can be adjusted by designing the weight according to the needs. Unlike the other two H∞ controllers, which were synthesized using Matlab tools mixsyn and hinfstruct that also performed very well, but the response was too slow and could not be altered.