PID controller is used in most of the current-speed closed-loop control of permanent magnet synchronous motors (PMSM) servo system. However, Kp, Ki, and Kd of PID are difficult to tune due to the multiple objectives. In order to obtain the optimal PID parameters, we adopt a NSGA-II to optimize the PID parameters in this paper. According to the practical requirement, several objective functions are defined. NSGA-II can search the optimal parameters according to the objective functions with better robustness. This approach provides a more theoretical basis for the optimization of PID parameters than the aggregation function method. The simulation results indicate that the system is valid, and the NSGA-II can obtain the Pareto front of PID parameters.
1. Introduction
The high-field-strength neodymium-iron-boron (NdFeB) magnets have become commercially available with affordable prices, so the permanent magnet synchronous motors (PMSM) servo system is receiving increasing attention due to its high speed, power density, and efficiency. It is suitable for some applications of high-performance requirement, for example, robotics, aerospace, electric ship propulsion systems, and wind power generation systems [1–3]. PMSM can provide significant performance improvement in many variable speed applications [4].
PMSM is a multivariable, nonlinear, time-varying, and strongly coupled system. With the development of control theory, various alternative control methods, including feedback linearization, feedback-feedforward, sliding mode variable structure, neural network control, adaptive control, fuzzy control, H∞, and antistep control, have been proposed [5–12]. However, some advanced control techniques are too complex to implement in practical control due to the problem of instantaneity or memory size. Therefore, PID is the most popular controller in the motor control. It provides proportional, integral, and derivative actions for the feedback control system. PID controller has the advantage of simple structure, good stability, and high reliability [13, 14]. In the process industry, more than 90% of the controllers are PID controllers [15]. Although the number of parameters to adjust in a PID is very small, there are many tuning rules [1]. It has been experimentally checked that more than 30% of controllers are operating in manual mode and 65% of the loops operating in automatic mode are poorly tuned because of the inappropriate parameters [16]. Currently, most of the current-speed closed-loop control in the PMSM servo system adopts PID controller [17]. Nevertheless, the PID controller has poor performance in PMSM control due to the inappropriate parameters.
Over the years, many methods have been proposed for the tuning of PID controller, both in the deterministic or in the stochastic frameworks [18, 19]. The pole placement and minimum variance techniques [20], Ziegler-Nichols and Cohen-Coon methods [15], are the most commonly used conventional methods for tuning PID controllers. However, there will be large overshoot and shaking by these methods [21]. There are also other advanced methods to design the PID controller, such as H∞ method [22] or the linear matrix inequality technique [23]. Tuning of the PID controller is not a straightforward problem especially when the plants to be controlled are nonlinear and unstable. It can be considered as a parameter optimization process to achieve a good system response, such as a minimum rise time, overshoot, and regulating time. Thus, the tuning process of the controller has multiple objectives to be achieved, and they are conflicting with one another in most cases.
During the past decades, great attention has been paid to the stochastic approach, which has potential to solve this problem [24, 25]. GA, for instance, is a powerful search algorithm used by research to optimize PID controllers. The optimization process of GA does not require any gradient information and inherent parallelism in searching the design space. However, most of the literatures focus on a single-objective optimization while the PID tuning problem is clearly a multiobjective optimization problem.
Recently, the number of multiobjective evolutionary algorithms increases drastically due to their popularity and capability of successfully solving multiobjective optimization problems. Herreros et al. [16] proposed a MRCD (multiobjective robust control design) genetic algorithm to optimize the PID and considered some benchmark plants for PID controller design. Zhao et al. proposed two lbests multiobjective particle swarm optimization (2LB-MOPSO) to optimize PID controllers of MIMO system [15]. Gao et al. adopted multiobjective differential evolution algorithm to optimize the fractional order PID of gun control equipments [26]. In the single-objective optimization works of research, the aggression function method is always the preferred one. The performance of PID is evaluated through the weighting of some systems’ performance indicators by the aggression function. However, the weighting values always have different dimensions. Therefore, it is difficult to determine the values of the weight. NSGA which was proposed by Srinivas and Deb [27] has been successfully applied to solving many problems. An improved version of NSGA, which they called NSGA-II, overcomes some disadvantages of NSGA, such as high computational complexity of nondominated sorting, lack of elitism, and need of a sharing parameter. NSGA-II is considered as the state-of-the-art multiobjective evolutionary algorithm [18]. The solution of the multiobjective is a Pareto set. The solutions of the aggression function method are on a hyperplane due to the usage of the weighting. However, the Pareto front is not limited within the hyperplane. Without setting the values of weight, the realization of the optimization based on NSGA-II is easy to be achieved [28]. And when the system structure is changed, the algorithm is effective, unlike the aggression function method where the weight values must be adjusted again. The purpose of this paper is to extend this methodology for solution of a multiobjective control problem under the framework of NSGA-II approach. The efficiency of the proposed method is illustrated by solving the tuning of a PID controller applied to a PMSM. In the present work, a multiobjective optimization was carried out to obtain the optimal PID’s parameters. The simulation results have shown that the NSGA-II algorithm can evolve good control profiles and that the optimization algorithm exhibits more robustness than GA when the system structure is changed.
2. Mathematic Model of PMSM
The mathematical model of PMSM in a d, q two-phase rotating coordinate system is shown below. The voltage equation is [29]:
(1)uq=Rsiq+Lqi˙q+ωeLdid+ωeψf,ud=Rsid+Ldi˙d-ωeLqiq,
where the ud and uq represent the stator winding shaft in a straight axis and the quadrature voltage, respectively; id and iq are the direct-axis current and quadrature-axis current, respectively; Rs is the stator phase resistance; Ld is the straight axis inductance; Lq is the quadrature-axis inductance; ψf is the permanent-magnet fundamental excitation magnetic field and stator winding of the magnetic chain; we is the electric angular speed of rotor.
The magnetic linkage equation can be expressed as follows:
(2)ψd=Ldid+ψf,ψq=Lqiq,
where the ψd and ψq represent the syntheses of the magnetic fields in space-direct and quadrature-axis stator winding of the magnetic chain, respectively.
The electromagnetic torque of PMSM in the d, q coordinate is [30]
(3)Te=pn(ψfiq-(Ld-Lq)ipid),
where pn is the number of the pole pairs.
According to the motion equation of motor,
(4)JpΩ˙r=Te-Tl-BΩr,Ωr=ωepn,
where the Ωr is the mechanical angular speed of rotor, B is the viscous friction coefficient, J is the total moment inertia of rotor and load, and Tl is the load torque.
Thus, the state equation can be derived from the above equations:
(5)i˙q=1Lq(uq-Rsiq-Ldidwe-ψfwe),i˙q=udLq(ud-Rsid-weLqiq),w˙e=1.5pn2(ψfiq+(Ld-Lq)idiq)-pnTm-BweJ.
In the VC system of PMSM, id=0. Therefore, the state space equation (5) is described as
(6)i˙q=1Lq(uq-Rsiq-ψfwe),w˙e=1.5pn2ψfiq-pnTm-BweJ.
3. PID Controller Optimization3.1. PID Controller
The continuous form of a PID controller, with input e and output u, is shown as follows:
(7)u(t)=Kpe(t)+Ki∫e(t)+Kde˙(t),
where Kp is the proportional gain, Ki is the integral gain, and Kd is the derivative gain.
There are two types of discrete PID by discretization of continuous PID. The position type discrete PID is described as
(8)u(k)=Kpe(k)+Ki∑j=0kTse(k)+KdTs(e(k)-e(k-1)),
where u(k) is the controller output and e(k) is the error. In practical system control, the integral part is not flexible. Therefore, another velocity-type discrete PID is described as
(9)Δu(k)=KpΔe(k)+KiTse(k)+KdTs(Δe(k)-Δe(k-1)),Δe(k)=e(k)-e(k-1),
where Ts is the sampling time. For the velocity-type PID, we do not need to calculate the integral part, and the controller output is the increment of PID. Therefore, it is often used in practical system control.
3.2. Single-Objective Optimization of PID Controller
The principal part of multiobjective optimization algorithm is the individuals’ evaluation mechanism, such as the aggregation function method and the Pareto based method.
Aggregation function is a conventional method which can convert a multiobjective problem into a single-objective problem:
(10)fitness=∑i=1nwifi,
where the fitness is the summation of fitness, wi is the weight of ith objective, and fi is the fitness value of ith objective.
In the optimization process, the object is to evaluate the performance of PIDs. Thus, for PID, the fitness function is written as follows:
(11)f1=∫0∞|e(t)|dt,f2=∫0∞u2(t)dt,f3=tr,
where the e(t) is the system error, u(t) is the control output, and tr is the rising time.
To avoid overshoot, a penalty value is always adopted in the fitness function. That is, once overshoot occurs, the value of overshoot is added to the fitness function. Hence, the penalty function is written as
(12)f4={∫0∞(y(t)-y(t-1))dt,ife(t)<0,0,ife(t)≥0,
where the y(t) is the control output.
Making use of the aggression function, the fitness function is constructed as follows:
(13)f=w1f1+w2f2+w3f3+w4f4,
where w1, w2, w3, and w4 are the weight coefficients, and w4≫w1.
3.3. Multiobjective Optimization of PID Controller
According to Section 3.2, there are multiple objectives to be achieved for the PID parameters optimization. NSGA-II is based on Pareto solutions, measuring individual fitness according to their dominance property. The Pareto based approach is the most successful approach to realize multiobjective optimization and to search the true Pareto front [31]. The nondominated individuals in the population are regarded as the fittest, and the dominated individuals are assigned lower fitness values. This way, the number of dominated individuals will be counted as the fitness values instead of the value of objective function. To maintain the diversity in the Pareto solutions, NSGA-II introduced a measure of individual’s density with respect to other individuals in the objective space and had an elitism mechanism and crowed comparison operator to preserve the diversity of population [32], which is shown in the pseudocode of NSGA-II algorithm (Algorithm 1).
Algorithm 1: NSGA-II algorithm.
Pop = InitPop(N) % initialization
Fronts = Fast_Nondominated_Sort (Pop) % fast nondominated sort
In the fast_nondominated_sort function (Algorithm 2), all individuals in the first nondominated front are found first. In the first nodominated front, the domination counter is zero. We can have a traversal of the member of p_dom_q set. If the domination counter of q becomes zero, it belongs to the second nondominated front. Then, the procedure is repeated, and other nondominated fronts are found.
Algorithm 2: Fast_nondominated_sort function.
for p in Pop(n):
p_dom_q = [NULL]
np = 0
for q in Pop(n)
if p > q
p_dom_q.add(q) % p dominate q set
else if p ≤ q
np = np + 1 % p dominated by q, increment the counter
end if
end for
ifnp = 0 % the first rank of Pareto
p_rank = 1
end if
F1.add(p)
end for
F.add(F1)
while F[i]
Q = Null
for p in F[i]
for q in p_dom_q
ifnq = 0 % dominated by other individual
q_rank = i + 1
Q.add(q)
end if
end for
end for
F.add(Q)
Comparing with the single-objective optimization, the effective space for searching is different. For example, the aggression function will restrict the fitness to a hyperplane, which is decided by coefficients w. In the multiobjective optimization, the Pareto solutions can spread all over the space.
The diagram of the optimization system is shown as Figure 1. The parameters of PMSM model can be obtained by the least square estimation [14] in the practical control system. The aim of the NSGA-II in the PID controller tuning is the minimization of objectives fi, such as overshoot, rising time, and system error.
The diagram of PID controller optimization system.
4. Simulation
According to the state space equation (6), we can build the state space model of PMSM in MATLAB/simulink as Figure 2(a). The parameters of PMSM are as follows; Rs is 0.9664, Lq is 0.00621, Pn is 4, J is 0.00033, B is 0.0001619, and ψf is 0.09382 according to motor.
PMSM simulation model.
MATLAB/simulink model of PMSM
The diagram of PMSM control system
The component of PMSM is encapsulated into a module. A speed controller added to the speed closed-loop. Figure 2(b) is the diagram of PMSM control system. The “simouterror,” “simoutui,” and “simout” units are used to record the simulation data for optimization.
4.1. PID Optimization Based on GA
In the simulation, the single-objective optimization methods were chosen to be compared to the multiobjective optimization approach to exhibit the robustness of multiobjective way. In the single-objective optimization method, GA is selected as the searching algorithm. The parameters of GA are as follows; the population size is 30, crossover probability is 0.9, and mutation probability is adaptive to individual fitness. The variable domain of Kp is [0,20]; Ki and Kd are [0,1]. The iteration number is 50. Higher fitness has lower mutation probability and lower fitness has bigger mutation probability. w1, w2, w3, and w4 of fi are set according to the requirement of control system. w1 is corresponding to the system error, w2 is a weight coefficient of controller output, w3 is for the system rising time, and w4 is the penalty of overshoot. If we want a system without overshoot and have a small rising time, w1, w3, and w4 will be set bigger, and w2 smaller. If the controller output is limited, w2 will be set bigger. Therefore, these parameters can be set according to the practical requirement. However, the coefficients are very difficult to decide due to dimensional problems. They are always experiential. In the simulation, w1 is 1, w2 is 0.1, w3 is 2, and w4 is 200. The processes of PID parameters optimization are shown as follows. Figure 3 shows the system output for each individual of GA. From Figure 3, we can see the system responses are different due to the different PID parameters at the beginning (Figure 3(a)). According to the fitness, GA will generate next generation with better fitness and have some mutation individuals (Figure 3(b)). Figure 4 shows the optimal system response of each iteration. From Figure 4, we can see that these system outputs have small overshoot and short rising time. The optimal system output is the black line in Figure 4 (Kp, Ki, Kd) = (0.1419, 10.3592, 0.0).
System output for each individual of GA.
At first iteration
For several iterations
The optimal output of each iteration.
However, there is always a small lag in the speed loop due to characteristics of mechanical system, as shown in Figure 5. GA cannot search effective parameters of PID to make the system stable using the same coefficients wi, though the lag time is very small. We cannot get the optimal result by GA, and the optimization results are not convergent. The adaptivity and robustness of GA is not very good. We should adjust the coefficients wi again when the status of the system is changed. Nevertheless, it is difficult to select proper weights.
The diagram of PMSM control system with lag unit.
4.2. PID Optimization Based on NSGA-II
Aggression function method being based on single-objective optimization, the solution space is a hyperplane based on the weight values (w1, w2, w3, and w4). However, this is a multiple-objective problem. The aggression function method limits the domain of the solution. For NSGA-II method, we choose several typical system parameters, such as overshoot δ, peak time tp, and stabilization time ts. NSGA-II will minimize the selected parameters and search optimal PID parameters. We do not need penalty values anymore such as f4 of Section 4.1. We redefine the fitness function as follows:
(14)Minimizef(x)=[f1(x),f2(x),f3(x)],f1=δ,f2=tp,f3=ts.x=(Kp,Kd,Ki).
The Pareto front is the solution space, which is not a plane. The Pareto front is shown in Figure 6. It is not a plane but a curved surface. For NSGAI-II, a parameter set is obtained. We can select a group of parameters according to our requirement.
The optimization results of system 1.
The three-dimensional Pareto front
The Pareto front of objectives 1 and 2
The Pareto front of objectives 2 and 3
The Pareto front of objectives 1 and 3
When the system has structural change as in Figure 5, the NSGA-II also can obtain the Pareto front shown in Figure 7 as well as Figure 6. According to simulation, we can see that the multiobjective algorithm has a better robustness to realize the system optimization.
The optimization results of system with lag unit.
5. Conclusion
PID is a popular controller in industry. However, there are only few parameters, the parameters are difficult to determine due to the uncertain model of industry. The tuning of PID is always a multiobjective problem. Although GA provides a means to find optimal parameters of PID by aggression method, it has shortcomings of too much being experience-based, having poor robustness, and being sensitive to parameters. In this paper, we use a multiobjective approach to optimize the Kp, Ki, and Kd of PMSM controller, which provides more theoretical basis than aggregation function method. The simulations exhibit the advantages of the method. Although the work is promising, we have a lot of work to do, such as obtaining the accuracy model of PMSM and the instantaneity improvement of NSGA-II.
Conflict of Interests
The authors of the paper do not have a direct financial relation with the commercial identity mentioned in this paper that might lead to a conflict of interest for any of the authors.
Acknowledgment
This work was supported in part by the National Natural Science Foundation of China under Grant 61174044.
Azizur RahmanM.ZhouP.Analysis of brushless permanent magnet synchronous motors199643225626710.1109/41.4913492-s2.0-0030127320OoshimaM.ChibaA.RahmanA.FukaoT.An improved control method of buried-type IPM bearingless motors considering magnetic saturation and magnetic pull variation200419356957510.1109/TEC.2004.8320652-s2.0-4544293921LiuK.ZhuZ. Q.ZhangQ.ZhangJ.Influence of nonideal voltage measurement on parameter estimation in permanent-magnet synchronous machines20125962438244710.1109/TIE.2011.21622142-s2.0-84863131814CaricchiF.CrescimbiniF.HonoratiO.Low-cost compact permanent magnet machine for adjustable-speed pump application199834110911610.1109/28.6587302-s2.0-0031701535WallmarkO.HarneforsL.CarlsonO.Control algorithms for a fault-tolerant PMSM drive20075441973198010.1109/TIE.2007.8950762-s2.0-34547988168CaponioA.CascellaG. L.NeriF.SalvatoreN.SumnerM.A fast adaptive memetic algorithm for online and offline control design of PMSM drives2007371284110.1109/TSMCB.2006.8832712-s2.0-33847648902FlahA.SbitaL.A novel IMC controller based on bacterial foraging optimization algorithm applied to a high speed range PMSM drive201338111412910.1007/s10489-012-0361-02-s2.0-84871732418AymenF.KraiemH.LassaadS.Robust high speed control algorithm for PMSM sensorless drivesProceedings of the 9th International Multi-Conference on Systems, Signals and Devices (SSD '12)March 20121610.1109/SSD.2012.61979412-s2.0-84861635510KassemA. M.HassanA. A.Performance improvements of a permanent magnet synchronous machine via functional model predictive control20122012831970810.1155/2012/3197082-s2.0-84862551042ZhangH.WangJ.Combined feedback-feedforward tracking control for networked control systems with probabilistic delays201435163477348910.1016/j.jfranklin.2014.02.012MR3201043ZhangH.ShiY.MuB.Optimal H∞-based linear-quadratic regulator tracking control for discrete-time takagi-sugeno fuzzy systems with preview actions2013135404450110.1115/1.40240072-s2.0-84878602298ZhangH.ShiY.LiuM.H∞ step tracking control for networked discrete-time nonlinear systems with integral and predictive actions20139133734510.1109/TII.2012.22254342-s2.0-84871743180ZhangJ.ZhuangJ.DuH.WangS.Self-organizing genetic algorithm based tuning of PID controllers200917971007101810.1016/j.ins.2008.11.038ZBL1158.930192-s2.0-58249099254ChouchaineA.FekiE.MamiA.Stabilization using a discrete fuzzy PDC control with PID controllers and pole placement: application to an experimental greenhouse201120119537491MR281807610.1155/2011/537491ZhaoS.-Z.IruthayarajanM. W.BaskarS.SuganthanP. N.Multi-objective robust PID controller tuning using two lbests multi-objective particle swarm optimization2011181163323333510.1016/j.ins.2011.04.0032-s2.0-79957439099HerrerosA.BaeyensE.PeránJ. R.Design of PID-type controllers using multiobjective genetic algorithms200241445747210.1016/S0019-0578(07)60102-52-s2.0-0036780878MarufuzzamanM.ReazM. B. I.RahmanL. F.ChangT. G.High-speed current dq PI controller for vector controlled PMSM drive20142014970963510.1155/2014/709635RaniM. R.SelamatH.ZamzuriH.IbrahimZ.Multi-objective optimization for PID controller tuning using the global ranking genetic algorithm2012812692842-s2.0-84856954586SahibM. A.AhmedB. S.PotrusM. Y.Application of combinatorial interaction design for DC servomotor PID controller tuning20142014757686810.1155/2014/576868PanI.DasS.Chaotic multi-objective optimization based design of fractional order PIλDμ controller in AVR system201243139340710.1016/j.ijepes.2012.06.0342-s2.0-84863428637ChenQ.-G.WangN.HuangS.-F.Distribution population-based genetic algorithm for parameter optimization PID controller20053146466502-s2.0-23444448168ZhangH.ShiY.MehrA. S.Robust H∞ PID control for multivariable networked control systems with disturbance/noise attenuation201222218320410.1002/rnc.1688MR28751912-s2.0-84855336262ZhangH.ShiY.MehrA. S.Robust static output feedback control and remote PID design for networked motor systems201158125396540510.1109/TIE.2011.21077202-s2.0-80053192525HuangL.WangN.ZhaoJ.-H.Multiobjective optimization for controller design200834447247710.3724/SP.J.1004.2008.004722-s2.0-43749089992WojsznisW.MehtaA.WojsznisP.ThieleD.BlevinsT.Multi-objective optimization for model predictive control200746335136110.1016/j.isatra.2006.10.0022-s2.0-34249310576GaoQ.ChenJ.WangL.XuS.HouY.Multiobjective optimization design of a fractional order PID controller for a gun control system20132013890725610.1155/2013/9072562-s2.0-84879339698SrinivasN.DebK.Muiltiobjective optimization using nondominated sorting in genetic algorithms199423221248Hultmann AyalaH. V.Dos Santos CoelhoL.Tuning of PID controller based on a multiobjective genetic algorithm applied to a robotic manipulator201239108968897410.1016/j.eswa.2012.02.0272-s2.0-84859209840WangS.Windowed least square algorithm based PMSM parameters estimation2013201311131268MR310212610.1155/2013/131268WangS.ADRC and feedforward hybrid control system of PMSM201320131218017910.1155/2013/180179ZhouA.QuB.-Y.LiH.ZhaoS.-Z.SuganthanP. N.ZhangdQ.Multiobjective evolutionary algorithms: a survey of the state of the art201111324910.1016/j.swevo.2011.03.0012-s2.0-79960530761DebK.PratapA.AgarwalS.MeyarivanT.A fast and elitist multiobjective genetic algorithm: NSGA-II20026218219710.1109/4235.9960172-s2.0-0036530772