# A Compound Controller of an Aerial Manipulator Based on Maxout Fuzzy Neural Network

Authors: Xinchen Qi; Jianwei Wu; Jiansheng Pan
Journal: Complexity
 (2020)

---

## Abstract

The aerial manipulator is a complex system with high coupling and instability. The motion of the robotic arm will affect the self-stabilizing accuracy of the unmanned aerial vehicles (UAVs). To enhance the stability of the aerial manipulator, a composite controller combining conventional proportion integration differentiation (PID) control, fuzzy theory, and neural network algorithm is proposed. By blurring the attitude error signal of UAV as the input of the neural network, the anti-interference ability and stability of UAV is improved. At the same time, a neural network model identifier based on Maxout activation function is built to realize accurate recognition of the controlled model. The simulation results show that, compared with the conventional PID controller, the composite controller combined with fuzzy neural network can improve the anti-interference ability and stability of UAV greatly.


---

## Body

## 1. Introduction

With the maturity of drone technology, drones are widely used in the industrial field. For some highly complex and ultraprecise tasks, the UAV needs to be equipped with more auxiliary structures (for example, multidegree of freedom mechanical arms). Therefore, it is increasingly difficult for conventional control methods to meet their high robustness and anti-interference requirements. Quadrotor drone is one of the most common drones, which is widely used because of its simple structure. Quadrotor UAV is an underdriven system with four inputs and six outputs [1]. Due to its strong coupling and easy interference nonlinear characteristics, it is extremely unstable when it carries a robotic arm.At present, the common control algorithm includes PID control, H-∞ robust control, etc. Ikeda et al. used an aerial manipulator to do bridge-detection [2]. They used PID to control both the UAV and the manipulator. However, they do not elaborate on how to reduce drone vibration and improve detection accuracy. Ballesteros-Escamilla designed an adaptive controller based on PD control [3]. It optimizes the problem that the traditional PD control requires tracking error time derivative and needs to be equipped with a large number of sensors. It can help save energy to increase the endurance of drones, but the problem of lag still exists. A team from the Nanjing University of Aeronautics and Astronautics established an inverse system and uses the backpropagation (BP) neural network to control attitude of UAV [4]. It can make the UAV roll, pitch, and yaw (RPY) angle error within the allowable range. However, it also has the problems of control lag and low real-time performance. Zhang et al. controlled the drone and the algorithm separately [5]. They used a combination of H-∞robust control and acceleration feedback to control UAV and used PID to control manipulator. Acceleration feedback can help resist the interference of wind, but its response to disturbances is relatively slow. Scholten et al. combined PI control and impedance control to control the aerial manipulator [6]. He achieved the grasp of the aerial manipulator. However, it is not suitable for noncontact control.During the flight of UAV, the nonlinear interference from the outside world and the movement of the manipulator will affect the flight status. The traditional PID controller has poor resistance to nonlinear interference [7]. The self-adaptability of the neural network can adjust the internal parameters of the drone [8]. At present, the most commonly used neural networks include BP neural network, radial basis neural network, etc. [9]. The combination of neural network and fuzzy theory is widely used [10].In this paper, a control method combining the fuzzy neural network and PID is proposed, which not only solves the problem of slow response speed caused by neural network learning process but also improves the stability of UAV with manipulator. Maxout identifier is established to recognize the model, which overcomes the problem that traditional control relies too much on model parameters. The simulation results show that the designed control method can control the unmanned aerial vehicle with an unknown model in real time and the stability and anti-interference of the UAV system are improved.


## 2. Model Establishment of Quadrotor UAV

Figure1 shows the model structure of the UAV [11].Figure 1
Four-rotor UAV.The four-rotor UAV has a simple structure [12], and it controls the flight status by controlling the motors of the four wings. The four-rotor UAV system is an underdriven system with four inputs and six outputs. Six degrees of freedom include xt,yt,zt,φt,θt,andψt. F1, F2, F3, and F4 represent the rotor lift generated by the four motors. Schematic diagram of a four-wing UAV is shown in Figure 2.Figure 2
Schematic diagram of a four-wing UAV.The relationship [13] between the total lift F and the speed of the motor Ω is as follows:(1)F=∑i=14kΩi2,where k is the lift coefficient of the rotor, and it is related to the shape and structure of the rotor.The linear motion model is as follows:(2)x¨=cosψsinθcosφ+sinψsinφFm,y¨=sinψsinθcosφ−cosψsinφFm,z¨=cosφcosθFm−g,where m is the mass of the drone and g is the acceleration of gravity.The torque formula of the quadcopter to the UAV inx-axis, y-axis, and z-axis is as follows:(3)MΦ=lkΩ42−Ω22,Mθ=lkΩ12−Ω32,Mψ=λΩ42+Ω22−Ω12−Ω32.Among them,λ is the counter torque coefficient and l is the distance from the center of mass of the drone to the center of the rotor. The drone dynamic equation can be obtained as follows:(4)M=Jε+ω×Jω,where J represents the rigid body rotational inertia, ε represents the angular acceleration, ω represents the angular velocity, and M represents the attitude channel control torque. The angular acceleration formula can be expressed as(5)ϕ¨=θ˙ψ˙Jy−JzJx+MϕJx,θ¨=ϕ˙ψ˙Jz−JxJy+MθJy,ψ¨=ϕ˙θ˙Jx−JyJz+MψJz.When equipped UAV with manipulator, it became a more complex system. A simple model of aerial manipulator is shown in Figure3.Figure 3
A simple model of aerial manipulator.During the movement of the robotic arm, a large disturbance force will be generated for the UAV, which will affect the self-stabilization of UAV.


## 3. Design of Fuzzy Neural Network Compound Controller

The controller of UAV adopts the parallel combination of PID control and fuzzy neural network control, as shown in Figure4.Figure 4
Aerial manipulator control system.The UAV control system input commands include the UAV roll, pitch, yaw, and throttle. Input the RPY errore_rpy into the traditional PID controller, input the RPY error e_rpy, the angular velocity error e_w_rpy, and the z-axis direction velocity error e_v into the fuzzy neural network controller, and then connect the traditional PID controller and the fuzzy neural network controller in parallel to form a composite controller. Output control signal u is used to control four motors of the UAV, and the obtained motor speed n provides lift for the UAV. During the control of manipulator, the interference signal will be produced to affect the control of UAV’s attitude.Among them, it is necessary to use the mathematical relationship between the output state of the drone and the control signal into the feedback convergence process of the fuzzy neural network. This value is Jacobi parameteryu, which is the relevant input parameter variable of the fuzzy neural network controller. This variable can be obtained by the Maxout neural network recognizer [14].


### 3.1. Traditional PID Controller

The PID controller structure is as follows [15]:(6)u=kpe+ki∫edt+kddedt.The traditional controller input parameterse include RPY error and speed error; u is the output of the controller; kp, ki, and kd are PID proportional, integral, and differential coefficients.


### 3.2. Fuzzy Neural Network Controller

In the control process of the UAV, the input values include RPY, angular velocity, speed errore, and the Jacobi parameter yu.First of all, in order to reduce the impact of the magnitude of different input quantities [16], it is necessary to normalize the input error e:(7)e′=expe−1expe+1.Use the membership function [17] of fuzzy theory to blur the normalized parameter e′:(8)μe′=exp−e′−mipi2,where i is from 1 to 5, which means that the input is converted to five stages. That is, the error e>0 and e is large; e>0 and e is small; e is approximately equal to 0; e<0 and e is small; e<0 and e is larger. And m and p are weight coefficients. According to fuzzy learning rules in Table 1, for the error signal e, the corresponding control signals u1, u2, u3, u4 of the four motors adopt the logic method of the following table [18]. Values 1 to 5 indicate that the control signal changes from weak to strong as shown in Table 1. The logic rules are as follows.Table 1
Fuzzy control rules.
Error (e)Control signal (u)RollPitchYawThrottleu1u2u3u4u1u2u3u4u1u2u3u4u1u2u3u4e>0, e is large3531531351515555e>0, e is small3432432342424444e≈03333333333333333e<0, e is small3234234324242222e<0, e is large3135135315151111The neural network structure adopts the BP neural network, which uses the gradient steepest descent method and the gradient search technique to minimize the mean square value of the error between the actual output value and the expected output value and minimize the quadratic error function by adjusting the weight. The expression of the secondary error function is as follows:(9)J=12∑yt−y2,where yt is the expected value of the output state of the drone and y is the actual value. The state of the drone includes the RPY angle and angular velocity of the drone and the velocity in the vertical direction of the z-axis.The input of the neural network is RPY speed errors and RPY errors. The errore is normalized by formula (7) to obtain e′ as the input of the hidden layer value.For the hidden layer, the node output value is(10)Oi=exp−e′−mp2,where m and p are constants. According to fuzzy rules, m takes 5 different parameters as −1, −0.5, 0, 0.5, 1.Output layer node value is as follows:(11)Ooutput=∑i=15ωiOi.Among them,ωi are the corresponding weight coefficients, which are adjusted by the neural network feedback. The adjustment method follows the BP neural network adjustment rules.The weight adjustment formula is(12)Δωi=−η∂J∂ωi=−η∂J∂y∂y∂u∂u∂ωi=η⋅e⋅yu⋅Oi,where η is the network learning rate and yu is the Jacobi parameter. When the angle is controlled to converge, e in the formula includes the sum of the angle error and the angular velocity error. Only if both the angle error and the angular velocity error converge within a certain range [19], the neural network would converge, thereby achieving control accuracy. The flowchart of fuzzy neural network learning is shown in Figure 5.Figure 5
Fuzzy neural network learning flowchart.


### 3.3. Maxout Neural Network Identifier

The Jacobi parameteryu in the weight adjustment in the controller reflects the mathematical relationship between the output state of the drone and the input control signals of the four motors. This relationship needs to be obtained through the neural network recognizer. To obtain accurate related parameters of the controlled object, the identification accuracy of the neural network must be particularly high. The neural network has the function of identifying the tracking function. When the tracking ability of the network is good, the output fitted by the neural network is approximately equal to the actual output:(13)yu=∂y∂u≈∂yt∂u.In the design process of the identifier, the inputs include the difference between the input signal of the UAV, the output of the identifier, and the output signal of the UAV. The activation function of the neural network has a greater impact on the performance of the neural network. To improve the identification ability, this paper uses one of the newest functions, Maxout function, as the activation function [20]. The Maxout function is a more advanced activation function. Its core is to use linear fitting nonlinear. The more intuitive explanation is that a polygon with extremely many edges can be seen as a circle. The Maxout activation function adds a complex hidden layer between the original two layers and takes the largest node of the complex hidden layer in each feedforward calculation to output to the next layer. The more hidden layer nodes, the better the theoretical identification effect [21]. The structure of the network with Maxout function is shown in Figure 6.Figure 6
Structure of network under Maxout.x1 and x2 are input quantities, and z1, z2, and z3 are complex hidden layer nodes. The output calculation formula is as follows:(14)z1=ω1x+b1,z2=ω2x+b2,z3=ω3x+b3,y=maxz1,z2,z3.


## 3.1. Traditional PID Controller

The PID controller structure is as follows [15]:(6)u=kpe+ki∫edt+kddedt.The traditional controller input parameterse include RPY error and speed error; u is the output of the controller; kp, ki, and kd are PID proportional, integral, and differential coefficients.


## 3.2. Fuzzy Neural Network Controller

In the control process of the UAV, the input values include RPY, angular velocity, speed errore, and the Jacobi parameter yu.First of all, in order to reduce the impact of the magnitude of different input quantities [16], it is necessary to normalize the input error e:(7)e′=expe−1expe+1.Use the membership function [17] of fuzzy theory to blur the normalized parameter e′:(8)μe′=exp−e′−mipi2,where i is from 1 to 5, which means that the input is converted to five stages. That is, the error e>0 and e is large; e>0 and e is small; e is approximately equal to 0; e<0 and e is small; e<0 and e is larger. And m and p are weight coefficients. According to fuzzy learning rules in Table 1, for the error signal e, the corresponding control signals u1, u2, u3, u4 of the four motors adopt the logic method of the following table [18]. Values 1 to 5 indicate that the control signal changes from weak to strong as shown in Table 1. The logic rules are as follows.Table 1
Fuzzy control rules.
Error (e)Control signal (u)RollPitchYawThrottleu1u2u3u4u1u2u3u4u1u2u3u4u1u2u3u4e>0, e is large3531531351515555e>0, e is small3432432342424444e≈03333333333333333e<0, e is small3234234324242222e<0, e is large3135135315151111The neural network structure adopts the BP neural network, which uses the gradient steepest descent method and the gradient search technique to minimize the mean square value of the error between the actual output value and the expected output value and minimize the quadratic error function by adjusting the weight. The expression of the secondary error function is as follows:(9)J=12∑yt−y2,where yt is the expected value of the output state of the drone and y is the actual value. The state of the drone includes the RPY angle and angular velocity of the drone and the velocity in the vertical direction of the z-axis.The input of the neural network is RPY speed errors and RPY errors. The errore is normalized by formula (7) to obtain e′ as the input of the hidden layer value.For the hidden layer, the node output value is(10)Oi=exp−e′−mp2,where m and p are constants. According to fuzzy rules, m takes 5 different parameters as −1, −0.5, 0, 0.5, 1.Output layer node value is as follows:(11)Ooutput=∑i=15ωiOi.Among them,ωi are the corresponding weight coefficients, which are adjusted by the neural network feedback. The adjustment method follows the BP neural network adjustment rules.The weight adjustment formula is(12)Δωi=−η∂J∂ωi=−η∂J∂y∂y∂u∂u∂ωi=η⋅e⋅yu⋅Oi,where η is the network learning rate and yu is the Jacobi parameter. When the angle is controlled to converge, e in the formula includes the sum of the angle error and the angular velocity error. Only if both the angle error and the angular velocity error converge within a certain range [19], the neural network would converge, thereby achieving control accuracy. The flowchart of fuzzy neural network learning is shown in Figure 5.Figure 5
Fuzzy neural network learning flowchart.


## 3.3. Maxout Neural Network Identifier

The Jacobi parameteryu in the weight adjustment in the controller reflects the mathematical relationship between the output state of the drone and the input control signals of the four motors. This relationship needs to be obtained through the neural network recognizer. To obtain accurate related parameters of the controlled object, the identification accuracy of the neural network must be particularly high. The neural network has the function of identifying the tracking function. When the tracking ability of the network is good, the output fitted by the neural network is approximately equal to the actual output:(13)yu=∂y∂u≈∂yt∂u.In the design process of the identifier, the inputs include the difference between the input signal of the UAV, the output of the identifier, and the output signal of the UAV. The activation function of the neural network has a greater impact on the performance of the neural network. To improve the identification ability, this paper uses one of the newest functions, Maxout function, as the activation function [20]. The Maxout function is a more advanced activation function. Its core is to use linear fitting nonlinear. The more intuitive explanation is that a polygon with extremely many edges can be seen as a circle. The Maxout activation function adds a complex hidden layer between the original two layers and takes the largest node of the complex hidden layer in each feedforward calculation to output to the next layer. The more hidden layer nodes, the better the theoretical identification effect [21]. The structure of the network with Maxout function is shown in Figure 6.Figure 6
Structure of network under Maxout.x1 and x2 are input quantities, and z1, z2, and z3 are complex hidden layer nodes. The output calculation formula is as follows:(14)z1=ω1x+b1,z2=ω2x+b2,z3=ω3x+b3,y=maxz1,z2,z3.


## 4. Simulation Results

In the simulation experiment, the composite controller is compared with the traditional PID controller. By inputting RPY and angular velocity and the dronez-axis direction velocity, the drone responds to the attitude according to the specified angle.Make the drone take off at a speed of 5 m/s from 0 to 13th second and hover in the air between 13th and 50th second; the roll angle begins to reach 10 degrees in 2 second during the simulation of 5th second and returns to 0 degree in the 15th second. The pitch angle reaches −10 degrees in 2 second at the 8th second of simulation and returns to 0 degree in the 20th second; the yaw of the yaw angle starts to reach 50 degrees at 5 degree/s in the 15th second.Firstly, UAV without manipulator was used to take the simulation experiment.The simulation results of the system with traditional PID controller and the composite controller are shown in Figure7. In Figure 7(a), under the control of the traditional PID controller, at the 8th second, the UAV pitch input command causes a short-term distortion of the UAV yaw. During the process, the deflection speed decreases when approaching the target angle. Moreover, the deflection time is uncontrollable, and input commands will distort other response curves.Figure 7
RPY response curve. (a) PID controller. (b) Compound controller.
(a)(b)As shown in Figure7(b), in the control process of the compound controller, due to the automatic adjustment of the neural network, the above phenomenon is well improved. The yaw speed of the yaw angle has a good linear relationship with time. The mutual coupling interference has also been improved.Regarding the speed response in thez-axis direction, the response curve of the drone with traditional PID controller occurs overshoot phenomenon during takeoff or the speed change when a new command arrives. If the command changes or the model structure parameters change, the relevant parameters of the controller need to be readjusted.The speed response curve with the PID controller is shown in Figure8.Figure 8
Z-velocity response curve. (a) PID controller. (b) Compound controller.
(a)(b)With the compound controller, due to the gradual adjustment performance of the internal parameters in the neural network, the overshoot phenomenon is alleviated very well. At the same time, because the compound controller combines the PID controller, it makes up for the shortcomings of the neural network controller’s slow response. Even if the model parameters change, the neural network can still adjust itself well.As shown in Figure8, the traditional PID controller produces an overshoot response of the maximum instantaneous speed of −1.185 m/s when the drone speed changes from 5 m/s to hovering 0 m/s in the air. For the neural network controller, due to its parameter autotuning, under the same condition, the speed response of the compound controller produces only −0.2013 m/s overshoot. Compared with the traditional PID control, the response of the compound controller is more perfect.Then, a drone with a manipulator was used to take the simulation experiment.To verify the anti-interference ability and stability of the system, random interference caused by arbitrary movement of manipulator is applied to the UAV. Each joint of the robot arm is made to move damping-without-drive in its own dimensions to simulate the interference introduced to the UAV during the movement of the robot arm. And then compare the system response under PID control and compound control. As is known from Figures9 and 10, with the PID controller, it has a large fluctuation error caused by interference.Figure 9
RPY output response curve of PID controller under interference.Figure 10
RPY output response curve of PID controller between 0 and 5 second.With PID control, it can be known from Figure10 that in the first 5 s of the beginning, the roll angle was severely shaken, and the amplitude of the initial shaking degree reached 3.61°. At the end of the simulation, the fluctuations still reached 0.1225°. PID control has limited ability to suppress UAV sloshing caused by manipulator.As shown in Figures11 and 12, after combining the fuzzy neural network, the unmanned aerial vehicle’s external disturbance force is well suppressed in the early stage of simulation, and the sloshing amplitude is controlled within 1.25°. After the internal self-tuning of the parameters of the neural network, the angle error of the UAV is finally controlled within a very small magnitude. The adaptability of the neural network significantly improves the self-optimization and environmental adaptability of the system. At the same time, in the process of controlling the yaw angle, the neural network controller well controls the yaw speed.Figure 11
RPY output response curve of compound controller under interference.Figure 12
RPY output response curve of compound controller between 0 and 5 second.The simulation results show that the compound controller based on the uzzy neural network [22] has a more superior control effect for the UAV system and improves the anti-interference ability of the system [23]. It provides better conditions for performing more accurate and complex tasks.


## 5. Conclusions

In this paper, the aerial manipulator is taken as the research object. Under the control of conventional PID, the system needs to rely on accurate mathematical models and the ability to resist interference is weak. This compound Controller is a combination of fuzzy theory, neural network, and PID algorithm. The compound controller fuzzy inputs the controlled variable to the neural network to reduce the influence of external interference, and the real-time degradation problem that may be caused by the neural network learning process can be solved by assisting with PID controller. At the same time, the UAV system uses a neural network recognizer based on the Maxout activation function to accurately identify the controlled object. That could improve the control accuracy. The recognizer enables the controller to autonomously adjust the parameters of different controlled objects to achieve intelligent control. At the end of this paper, the simulation experiment of the compound controller and the conventional PID controller is compared to verify the conclusion that the composite controller has superior control accuracy and anti-interference ability compared with the conventional PID controller. The proposed composite controller has laid the foundation for the he aerial manipulator to carry out complex tasks in more fields.



---

*Source: 8898325-2020-12-04.xml*