Speed and Displacement Control System of Bearingless Brushless DC Motor Based on Improved Bacterial Foraging Algorithm

To solve the deficiencies of long optimization time and poor precision existing in conventional bacterial foraging algorithm (BFA) in the process of parameter optimization, an improved bacterial foraging algorithm (IBFA) is proposed and applied to speed and displacement control system of bearingless brushless DC (Bearingless BLDC) motors. To begin with the fundamental principle of BFA, the proposed method is introduced and the individual intelligence is efficiently used in the process of parameter optimization, and then the working principle of bearingless BLDC motors is expounded. Finally, modeling and simulation of the speed and displacement control system of bearingless BLDC motors based on the IBFA are carried out by taking the software of MATLAB/Simulink as a platform. Simulation results show that, speed overshoot, torque ripple and rotor position oscillation are dramatically reduced, thus the proposed method has good application prospects in the field of bearingless motors.


Introduction
Depending on its outstanding characteristics of good speed regulation, strong ability for overload, high torque of starting/braking, non-friction, high efficiency and reliability, the bearingless BLDC motor has much research values and extensive application prospects in the biomedical field such as blood pumps, high/ultra-high speed centrifugal machines, surgical electric saws and the new energy of flywheel energy storage, etc. [1].The PID controller is one of the most common controllers with a series of advantages of simple principle, good robustness, strong adaptability and so on [2][3].But a main problem of the PID controller is that its parameters need manual adjustment and are immutable in the entire control process after regulated [4].At the same time, the coupling relationships among torque and suspension forces in the bearingless BLDC motor are very complex, and it is easy to cause higher torque ripple, speed overshoot and rotor position oscillation.
To reduce speed overshoot and torque ripple in the speed control system of servo motors, many international and domestic organizations and scholars have proposed many optimization methods for PID controllers, such as genetic algorithm, particle swarm optimization algorithm, and so forth [5].And these advanced methods have been widely used in many complex engineering problems.Another random search algorithm, BFA, was proposed by American professor Kevin inspired by the foraging method of colibacillus in 2002.The theoretical basis for BFA is that it makes characteristics, concepts and thoughts of bacteria foraging behaviors mathematization and has been shown the unique adaptive advantages in fields of function optimization, nonlinear model identification, electric system and image compression [6].However, there are some problems in BFA: the total intelligence and random motion of coli-group are considered but the individual intelligence of a coli is ignored in the foraging process; there is still the possibility for dispersing bacteria with the highest fitness value; the swim step is constant in the entire chemotaxis process, it maybe result in too long optimization time and poor accuracy.Thus it is difficult to convergence in some complicated cases for the optimization process and the optimal solution may be placed in the worst position while swimming.
Dynamic decoupling control of bearingless BLDC motors has been widely studied by domestic and foreign scholars and already achieved many major breakthroughs.In [1], an accurate mathematical model of radial suspension force was proposed, the equivalent circuit was established by the permanent magnet equivalent method and a mathematical model with single degree of freedoms for radial suspension force was derived.Decoupling control of bearingless BLDC motors had been realized successfully and the control system has the advantage of simple and easy to realize.Whereas it has the disadvantage of high torque ripples, speed overshoots and rotor position oscillation.
To solve the deficiencies existing in conventional PI controllers of speed and displacement control system for bearingless BLDC motors and conventional bacterial foraging algorithm itself, an IBFA is introduced to the bearingless BLDC motor based on the mathematical model of the control system proposed by [1].This paper emphatic studies the method of reducing torque ripple, speed overshoot and rotor position oscillation.Firstly, the IBFA is proposed by proper foraging behaviour of population and individual, which has the following characteristics: the optimum bacterial is averted in the dispersal process, swim steps are defined as the fitness function and swim is stopped in chemotaxis cycles.Secondly, the IBFA is used in conventional PI controllers for parameter optimization.The speed and displacement control system is proposed based on the method and this system has the characteristics of online tracking.Finally, modeling and simulation are carried out by taking the software of MATLAB/Simulink as platform.Simulation results show that the proposed method can reduce speed overshoot, torque ripple and rotor position oscillation effectively in the speed and displacement control system of the bearingless BLDC motor.

Bacterial foraging algorithm
Recently, the search and optimization algorithm based on bacteria foraging behaviour has been used to solve optimization problems.The group can gang-up on larger preys and individuals can obtain protection from predators due to the group characteristics.In the group, each bacterial enjoys the individual intelligence and nutrient source for existence.The bacteria gotten enough food survives in the end.The solution to the problem is corresponding to the bacteria state in the search space, means the fitness value.Bacteria foraging behaviour embodies four elements: chemotaxis, swarming, reproduction and dispersal.

Chemotaxis
Chemotaxis consists of two basic motion, swim and tumbling, by rotation of flagellums.Bacterial direction of forward motion is dependent on the rotation direction of flagellums.Bacteria swims continue along the prior direction as it rotates in a counter-clockwise direction.Similarly, the direction is changed as in a clockwise direction.The position function of bacteria in the process of swim and tumbling can be expressed as where α i (j, k, l) specifies the position of ith bacterium of flora at jth chemotactic, kth reproductive and lth dispersal step.C(i) is the size of the step that is taken in the random direction only at the beginning of the algorithm and after that, it is specified automatically.φ(i) is the new direction after tumbling and can be represented as where Δ(i) is the random variable ranging from 0 to 1 in the process of turning direction.Possible values of β(i) can be -1 or 1.At the beginning of the algorithm, the initial value of β(i) is selected at random and after that, it changes smartly according to the fitness function of the optimization goal.In particular, β(i) is always following the pre-defined direction as long as bacteria swims, but cannot get the minimum value of the fitness function in that direction.Provided that we make J(α) as a fitness function for a bacteria at the position α, then C(i) can be calculated based on the fitness function J(α i ) for ith bacteria where J 0 is the global optimum solution and J(α i ) is the fitness value for ith bacteria at the position α, and there is K 1 >>|J|.J(α i ) can vary automatically as the optimization process, and its positive constant coefficients should be adjusted properly.From (3), it is observed that C(i) can be adjusted by changing the fitness value and decreases continuously as chemotaxis number increases in the whole process.Thus bacterium has the smaller step with the closer to the global optimum solution.

Swarming
Swarming bacteria can be realized by cell-to-cell signal via an attractant in the foraging process and the fitness function can be expressed as [7] where J cc (α m , α(j, k, l)) is another fitness function combined with the influence of other bacteria based on the real fitness function J(j, k, l).d a denotes dosage of the repellent released by bacteria, ω a the test value of the repellent signal width, ω r the depth of the rejection and h r the longitudinal rejection value.

Reproduction and dispersal
After entering the stage of reproduction, the superior can be reproduced and the inferior can be eliminated selected by health values.The health value can by represented by the sum of the fitness values in the chemotaxis process, ( , , , ) where health i J is the health value, that is the sum of the optimal fitness values in the chemotaxis cycles.N c is the number of chemotaxis.The smaller health value of bacteria means the more nutrition achieved, so it has the greater chance of reproduction.On the other hand, the bigger health value means the bigger possibility of being  6) are sorted and half of the bacteria with a bigger health value are eliminated.Simultaneously, half of the bacteria with a smaller health value are reproduced to two bacteria.Where one of them is placed in the same location and another is put around the location.It makes the population of bacteria constant in the reproduction process.
When environmental conditions such as nutrient source and temperature variation in the local region, it is possible that the region is no longer suitable for survival of bacteria.Thus bacteria is compelled to migrate to a new location.To simulate this phenomenon, let P ed denote the probability of bacteria dispersed from one location to another location.Because the outside conditions are stable under the laboratory environment that just the unhealthy bacteria could be dispersed, so the faster and more appropriate rate of convergence are favorable to be obtained.

Improved bacterial foraging algorithm
This section will simulate the behaviors of chemotaxis, swarming, reproduction and dispersal and focus on providing detail realization process of the proposed method.
The proposed algorithm has two main characteristics: According to (2), The operator leads each bacterium to the optimum solution, so that if swimming in a predefined direction makes a better solution (β(i)=1), it continues in the same direction, otherwise the direction is changed in an inverse way by tumbling (β(i)=-1), thus realizes the intelligent foraging; According to (3), a variable step is introduced by each bacteria's fitness function, thus realizes the adaptive step size.It is beneficial to increase the size of the step for bacterium with higher fitness values.What's more, the step decreases and thereby the accuracy increases simultaneously with the convergence process.
The proposed method is used to search the minimum value of the fitness function J(α).Before presenting the detail the implementation process of the proposed algorithm, the necessary variables are defined as follows: p is the latitude of search range, namely number of parameters to be optimized, S the bacterial number in the entire search region, N s the maximum step size of swimming, N c the chemotaxis number, N er the number of reproduction steps, N ed the number of dispersal operation, S r the number of reproduction in each generation and P ed the probability of dispersal.P(i, j, k) = {α i (j, k, l)| i=1, 2, …, S} is the initial position of each bacterium, respectively.
Step 1: (a) Initialize parameters j=k=l=0 and select the position for ith bacteria randomly, random variable Δ(i) in the process of changing direction and the new direction β 0 (i), where i=1, 2, …, S.
(b) The initial variables j=k=l=0 is used to calculate the fitness values for each bacteria, and then the sum J sw of all bacteria's fitness values is sw cc ( , , , ) ( , , , ) ( ( , , ), ( , , )) Let last sw i J J and last 1,2,..., last min ( ) as the current fitness values.And save these until a better fitness value is found to replace it via a run.
Step 4: Chemotaxis loop count, j++.Bacterium swims and tumbles in the following rules: (a)Tumble: Generate a vector β(i) and a random vector Δ(i).
(b)Swim: if m is less than p, let m++; • Let the initial value of the counter for swim length N equal zero; •while(N<Ns), let and N=N+1, where C(i) is the direction of tumbling for each bacteria by ( 2) and (3).• Compute J sw (i, j, k, l) by ( 6).If ( , , , ) ,m) and recompute the new sw ( , , , ) and last sw ( , , , ) i J J i j k l , recompute the new sw ( , , , ) J i j k l ; otherwise, let N=Ns.The while statement is over and the next m of while loop begins.
If m=p and i<S, then go to the next bacterium i=i+1 to process the next bacterium.
Step 5: if j<N c , go to step 4.
Step 6: if l>N ed , the algorithm stops.
Step 7: Reproduction.(a) For the given k and l, health values of bacterium calculated by (6) are sorted in ascending order, and the greater the health value means the unhealthier.
(b) Let S r =S/2, eliminate S r bacterium with the bigger health values and reproduce other S r bacterium.Copies of that are placed in proximity of the same location as their parent.
Step 8: If k<N r , go to step 3.The next generation will be started in the chemotactic loop in the case of not reaching the number of specified steps.
Step 9: After the health values J heath sorted in ascending order, bacterium i (N ed , N ed +1,…, S) is dispersed to a new location, and then go to step 2. After bacterium reaches a new location, it is need to recompute sw ( , , , ) J i j k l and sort them by health values.

Mathematical model of bearingless BLDC motor
This paper will model the mathematical model of bearingless brushless DC motors according to [1].The bearingless BLDC motor has two windings: torque windings and suspension force windings.Where the former provides the torque for the motor rotating and drives external loads; the latter is used to sustain the rotor and realize the purpose of the non-friction and high speed.Suppose that the rotor position T T [0, 30°), the rotor suspension is controlled by the a1-a2 coordinates defined by Figure 1(a), so the mathematical model of radial suspension force in any position of the bearingless BLDC motor can be expressed as where i a1 and i a2 denote currents in suspension force windings a 1 and a 2 , respectively; a 1 and a 2 denote radial displacement along axis a 1 and axis a 2 , respectively; F sa1 and F sa2 denote radial suspension force along axis a 1 and axis a 2 , respectively; k i is stiffness coefficient of current and k x is stiffness coefficient of displacement, there are Transform (7) to the coordinates xoy, and there is where F x and F y denote radial suspension force along axis x and axis y, respectively.
In a similar way, mathematical models of radial suspension force under the b1-b2 coordinates and the c1-c2 coordinates can be derived.
Suppose that m denotes rotor quality, without regard to disturbing force from outside (because disturbing force is mainly gravity of rotor), then the motion equations are [8] [9] where Ω is rotor velocity, T L is load torque, D is viscous damping coefficient and J is rotational inertia.

Modeling and simulation verification
To verify the feasibility and reliability of the proposed method, parameters of K Ps K Is and K Pd K Id of the speed PI controller and the rotor radial displacement PI controller are carried out with online optimization respectively [10]. Figure 2 is block diagram of the control system for the bearingless BLDC motor based on the IBFA.The control system consists of position detection, speed detection, current reference calculation, PWM controller, speed PI controller, radial displacement PI controller and the bearingless BLDC motor ontology.Where parameters of K Ps K Is and K Pd K Id of the speed PI controller and the rotor radial displacement PI controller are carried out with online optimization by the proposed IBFA, respectively.The current reference signal is generated after the speed error via the PI controller, the error obtained by comparison of the current reference and the actual current of the stator is as input of the PWM controller.The suspension force signal is generated after the radial displacement errors via the PI controllers, and then the current reference of radial displacement is obtained by the rotor position [11].
Main parameters are as follows: equivalent impedance of each phase is 0.05 Ω, load torque is constant 5Nm.The initial speed is 850 r/min and the speed jumps to 1350r/min.Simulation time is 0.2 s.The appropriate choice of parameters N er , N c , N S and P ed is beneficial to the balance between the algorithm speed and the accuracy, so these values are concerned with the algorithm performance.In this paper, let bacterium number S = 90, N ed = 3, N er = 2, N c = 1, N S = 5 and P ed = 15% And then, simulation is carried out and the dynamic characteristics of speed, torque and rotor position when the speed changes.
Figure 3 is the response curve of speed.It can be observed that speed rise to the initial speed setpoint 850r/min rapidly during motor starting process and speed overshoot is nearly zero.At time 0.1 s, speed reaches to speed setpoint in such a short time 5ms, and then it is rapidly entering a new steady state.
Figure 4 is the response curve of electromagnetic torque.It can be observed that electromagnetic torque rise to load torque during motor starting process.In order to quickly adapt the speed variation at time 0.1s, torque has a small fluctuation about 5ms, and then it stabilizes Figure 5 and Figure 6 are the response curve of radial displacement along the axis x and the axis y, respectively.We could see that the rotor position return to zero rapidly when motor starts because the initial status of rotor position is unknown.The rotor position is almost no turbulence throughout the entire process.

Conclusion
An improved bacterial foraging algorithm is proposed and applied to the speed PI controller and the radial displacement PI controller for parameter optimization.The principle of bacterial foraging algorithm is described and the proposed bacterial foraging algorithm is concrete introduced.Simulation results show that speed overshoot decreases, torque ripple and radial displacement oscillation are reduced significantly when using the proposed method for parameter optimization of the speed PI controller and the radial displacement PI controller in the bearingless BLDC motor.And the system has good dynamic and static performance.Therefore, the proposed method has a good reference significance and application prospect for improving the speed and displacement control system of bearingless BLDC motors.

Figure 1 .
Three coordinate systems of suspension forces exist.

Figure 2 .
Figure 2. Block diagram of the control system for bearingless BLDC motors.
torque has excellent dynamic and static performance, and the torque ripple is small within the entire simulation time except at time of speed mutation.

Figure 5 .Figure 6 .
Figure 5.The response curve of radial displacement along the axis x.