PID controller is used in most of the current-speed closed-loop control of permanent magnet synchronous motors (PMSM) servo system. However, , , and 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 [13]. 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 [512]. 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 , two-phase rotating coordinate system is shown below. The voltage equation is [29]: where the and represent the stator winding shaft in a straight axis and the quadrature voltage, respectively; and are the direct-axis current and quadrature-axis current, respectively; is the stator phase resistance; is the straight axis inductance; is the quadrature-axis inductance; is the permanent-magnet fundamental excitation magnetic field and stator winding of the magnetic chain; is the electric angular speed of rotor.

The magnetic linkage equation can be expressed as follows: where the and 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 , coordinate is [30] where is the number of the pole pairs.

According to the motion equation of motor, where the is the mechanical angular speed of rotor, is the viscous friction coefficient, is the total moment inertia of rotor and load, and is the load torque.

Thus, the state equation can be derived from the above equations:

In the VC system of PMSM, . Therefore, the state space equation (5) is described as

3. PID Controller Optimization

3.1. PID Controller

The continuous form of a PID controller, with input and output , is shown as follows: where is the proportional gain, is the integral gain, and is the derivative gain.

There are two types of discrete PID by discretization of continuous PID. The position type discrete PID is described as where is the controller output and is the error. In practical system control, the integral part is not flexible. Therefore, another velocity-type discrete PID is described as where 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: where the fitness is the summation of fitness, is the weight of th objective, and is the fitness value of th objective.

In the optimization process, the object is to evaluate the performance of PIDs. Thus, for PID, the fitness function is written as follows: where the is the system error, is the control output, and 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 where the is the control output.

Making use of the aggression function, the fitness function is constructed as follows: where , , , and are the weight coefficients, and .

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).

Pop = InitPop(N)            % initialization
Fronts = Fast_Nondominated_Sort (Pop)      % fast nondominated sort
while gen ngens
for i = 1: N
  p1, p2 = Parents_ select (Pop(i))
  TempPop(i).x = crossover(p1, p2)    % crossover operation
  TempPop(i).x = mutation(%mutation) % mutation operation
  NewPop(i) = TempPop(i) Pop(i) % new population obtaining
  Fronts = Fast_Nondominated_Sort (NewPop(i))
end for
k = 0
Pop = Null
while sizeof (Pop) < N
   = Get_ Fronts(Fronts, k)   % Pareto fronts obtaining
  Pop = Pop Ind_ Pront(NewPop, )
  k = k + 1
end while
gen = gen + 1
end while

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 _dom_ set. If the domination counter of becomes zero, it belongs to the second nondominated front. Then, the procedure is repeated, and other nondominated fronts are found.

for p in Pop(n):
p_dom_q = [NULL]
  np = 0
  for q in Pop(n)
   if p > q
   p_dom_q.add(q) % dominate set
   else if p ≤ q
   np = np + 1   % dominated by , increment the counter
   end if
  end for
  if  np = 0       % the first rank of Pareto
  p_rank = 1
  end if
end for
while F[i]
 Q = Null
for p in F[i]
  for q in p_dom_q
      if  nq = 0     % dominated by other individual
       q_rank = i + 1
      end if
  end for
end for

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 . 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 , such as overshoot, rising time, and system error.

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; is 0.9664, is 0.00621, is 4, is 0.00033, is 0.0001619, and is 0.09382 according to motor.

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 is ; and are . The iteration number is 50. Higher fitness has lower mutation probability and lower fitness has bigger mutation probability. , , , and of are set according to the requirement of control system. is corresponding to the system error, is a weight coefficient of controller output, is for the system rising time, and is the penalty of overshoot. If we want a system without overshoot and have a small rising time, , , and will be set bigger, and smaller. If the controller output is limited, 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, is 1, is 0.1, is 2, and 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 (, , ) = (0.1419, 10.3592, 0.0).

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 , 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 again when the status of the system is changed. Nevertheless, it is difficult to select proper weights.

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 (, , , and ). 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 , and stabilization time . NSGA-II will minimize the selected parameters and search optimal PID parameters. We do not need penalty values anymore such as of Section 4.1. We redefine the fitness function as follows:

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.

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.

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 , , and 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.


This work was supported in part by the National Natural Science Foundation of China under Grant 61174044.