An Adaptive Neural Network State Estimator for Quadrotor Unmanned Air Vehicle

An adaptive neural observer design is presented for the nonlinear quadrotor unmanned aerial vehicle (UAV). This proposed observer design is motivated by the practical quadrotor where the whole dynamical model of system is unavailable. In this paper, dynamics of the quadrotor UAV system and its state space model are discussed and a neural observer design, using a back propagation algorithm is presented. The steady state error is reduced with the neural network term in the estimator design and the transient performance of the system is improved. This proposed methodology reduces the number of sensors and weight of the quadrotor which results in the decrease of manufacturing cost. A Lyapunov-based stability analysis is utilized to prove the convergence of error to the neighborhood of zero. The performance and capabilities of the design procedure are demonstrated by the Simulation results. Keywords—Neural network observer; quadrotor; nonlinear systems; state estimator


I. INTRODUCTION
In recent years, quadrotor has become an interesting research area for the robotics community in the field of autonomous aerial vehicles.The application of hovering aerial vehicles have provided new opportunities to the researchers to find new control strategies for the better stabilization of the quadrotor.Mostly proposed approaches for autonomous aerial vehicles [1], [2] focused on the systems for an outdoor operation that could autonomously operate in the indoor environment and are also considered to be beneficial for the search and rescue operations.Unlike helicopters, quadrotor has movable blades and for changing the direction of rotation, quadrotor uses the rotational speed of its blades.This type of design provides flexibility in the movement of the quadrotor.The problem of estimating system state has already been done using Kalman filter [3], but the most important problem with the design procedure of classic observers is the presence of external disturbance and unknown dynamical model.In this paper the wind is considered as a disturbance factor.In the past studies, researchers have eliminated the wind effects by applying Robust and Adaptive controllers such as nonlinear adaptive feedback controller in [4], and terminal sliding mode controller is designed in [5] to stabilize the quadrotor system.
The accurate measurements of the system states, such as position, altitude, and velocity of quadrotor are critical, so this work has applied a neural observer to achieve more accurate approximation of system states in presence of the disturbance.Many researches have been carried out on neural and fuzzy controllers/observers in discrete time systems [6], [7].Various control approaches have been applied on quadrotor such as machine learning [8], and feedback linearization with highorder sliding mode observer for the quadrotor [9].In [10], a new Neural Network Observer (NNO) is designed to estimate the translational and angular velocities of the UAV, and an output feedback control law is developed in which the position and the attitude of the UAV are considered as a state variable to control the aircraft more accurately.In [11], a new dynamic neural network based observer is presented and is proved using sliding mode stability analysis so in the presence of uncertainty, disturbance and sensor noise it could asymptotically track the states of a quadrotor and blade flapping.A recurrent neuro-adaptive observer for a general model of MIMO nonlinear systems is presented in [12], where the stable observer is nonlinear in parameters.The network weights are updated based on a combination of a modified Back Propagation algorithm and an e-modification that guarantees the boundedness of the state estimation error.In [13], the attitude and altitude control of quadrotor UAV, and the application of Neural Network based on Direct Inverse Control (DIC) is proposed.The backpropagation learning algorithm [14] is utilized in order to find the appropriate connection weights of neurons by using real quadrotor flight data in hovering state.
In this work, a neural observer is designed to estimate the trajectory of the nonlinear quadrotor.Some terms in the dynamic model of quadrotor was unknown and also wind as a disturbance was added to the structure of quadrotor.In order to solve this problem, this work has applied a back-propagation algorithm to update the weights adaptively and also to eliminate the effect caused by external disturbance.Here, the point is that this work has considered the whole dynamic of quadrotor model undefined and the result shows the capability of neural network in the prediction and estimation of nonlinear functions.
The structure of this paper is organized as follows.Section II, introduces the dynamics of quadrotor system.In Section III, the neural estimator is described.The stability proof is presented in Section IV.In Section V, we validate the neural estimator for quadrotor via simulation results.Finally concluding remarks are presented in Section VI. www.ijacsa.thesai.org

II. DYNAMICS OF QUADROTOR SYSTEM
The dynamics of quadrotor system are shown: , , , A A A A its vector ,, u v w denotes the position of the center of gravity of the quadrotor in the body frame, the vector denotes the linear velocity in the earth-frame, m denotes the total mass, g represents the acceleration of gravity, and l denotes the distance from the center of each rotor to the center of gravity of quadrotor.The orientation of the quadrotor is given by the rotation matrix : R E B  , where R depends on the yaw, pitch and roll angles (Euler's Angle) which is represented as [ ,,    ], respectively.By using the transformation matrices and rotation matrices, the equations of quadrotor dynamical model is transferred to control standard model as follows: (cos sin cos sin sin ) (cos sin sin sin cos ) (cos cos ) where ( 1,....,12)   i xi  are the system states and

III. NEURAL NETWORK STATE ESTIMATOR
The structure of neural observer is shown in Fig. 2.
The neural network used in this paper has a hidden layer.For the output layer, this work has used linear activation function and the weights of the output layer are considered constant, whereas, the Sigmoid activation function is applied in the hidden layer: Conditions of the activation function [15], in neural network are i) continuous; ii) derivable to its function; iii) capable of saturation to asymptotically approach to its maximum and minimum values; iv) applicable for a nonlinear system.
From Kolmogorov theorem every nonlinear function with any degree of complexity could be rewrite as an activation function and the weights: where, T w is the weight of the hidden layer, represents the unknown part of the quadrotor system, () x  represents the neural network error.
Here, the quadrotor system with external disturbances could be described as follows: ( , ) ( ) The states and inputs of the quadrotor system are ( 1,....,12) By adding and subtracting Ax in equation ( 4), the following equation could be written as: From the above equation, represents the optional matrix which should be Hurwitz and must be taken in such a way that the pair is observable: The Luenburger observer structure is as follows [16]: where x is the observer state and G is the observer gain.The observer gain should be selected such that Eigenvalues of the A GC  will be Hurwitz.
Therefore, we consider the error as follows: x x x  By taking differential from the equation ( 8), and adding and subtracting ( , ) where, ŵ w w and c A A GC  .
For defining the neural network weights, we consider the cost function as follows: where, ŷ y y  .The modified error back propagation algorithm is defined as: Where,  is the learning rate and  is the damping coefficient.The estimation of the unknown function could be written as: By adapting the chain rule, we have: By using the equation ( 9), we have: We could define the update law by the equation ( 15): 1 ˆˆ( , )( ) And the weights error is defined as: 1 ˆ( , )( ) IV. STABILITY PROOF In order to prove the stability of the observer, we need to ensure the stability of the error dynamics and update law.For this, we have applied Lyapunov direct method.Considering the following Lyapunov candidate function: Here, is the positive definite matrix which satisfies the following condition: is the positive definite matrix.By differentiation of the Lyapunov function, we get: Substituting, equation ( 9) and ( 16) into equation ( 19) we conclude that: ˆ( ( , )( ) ) ( , )) ( ) Satisfying the following inequality, we get: Putting, in the equation (20), we get: www.ijacsa.thesai.org , then adding and subtracting 2 2 1 N w x , we get: Here, we have 2 N as follows: 2 Now, by adding and subtracting 2   2   Nx, gives the following results: The obtained result would be negative if the following condition is satisfied: From the above equations, the result shows that error of system and weight are limited, therefore observer remains stable.

V. SIMULATION RESULTS
To analyze the performance of the observer, the first step is to stabilize the system with a sliding mode controller.In the second step, we apply the observer on the quadrotor system to show the effectiveness of the design procedure.Here, we suppose the initial condition for quadrotor states as [0.1 0.2 0.3 0.4 0.5 0.4 0.1 0 0.5 0.4 0.6 0.7].Consider the matrix A and C as follows: 12 12 0.001 1 0 0.001 1 0 0.001 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 The parameters of quadrotor system and observer are given in Table 1.Here, the point is to distinguish the error between the practical system and estimated system by adopting the proposed method.By simulation we obtain the results as shown in the following figures:          The states x 1 , x 3 , x 7 , and x 9 are presented in the output of the system and the error between observer estimation and quadrotor system is negligible and it is shown in Fig. 3, that the observer has properly estimated the practical system states x 1 , x 3 , x 7 and x 9 .Fig. 4, 5, 6, 7, 8, 9, 10 and 11 illustrated that the observer effectively estimate the trajectory of the practical system states x 2 , x 4 , x 5 , x 6 , x 8 , x 10 , x 11 and x 12 respectively, which are not presented in the output.Although, these states are not presented in the output, the observer could distinguish state trajectory of the system.Fig. 12 shows that all errors gradually decreases over time and reaches to the neighborhood of zero.Moreover due to the use of adaptive structure in the design procedure the observer properly distinguish and eliminate the external disturbance.

VI. CONCLUSION
This paper discussed a new approach to design an adaptive neural observer for the estimation of the nonlinear dynamics of quadrotor.The proper estimation of the practical system states, robustness against noise, disturbance, and the convergence of tracking error to the neighborhood of zero are the main advantages of this proposed method.It is evident from the MATLAB/SIMULINK results, that the proposed method could effectively predict the system behavior and eliminate the effect caused by the external disturbance.The stability of the overall system was shown by Lyapunov stability analysis.The design procedure results in the decrement of the number of sensors, weight of quadrotor and manufacturing costs which in turn increases the battery life.In future, this method can be expanded for more than one hidden layer of the neural network and it also can be applied to power or a natural systems.

Fig. 1 .Fig. 1 .
Fig. 1.Schematics of Quadrotor Forces.The model of the quadrotor in this paper is set up by the body-frame B and Earth-frame E as represented in the Fig. 1.Let the forces on the quadrotor is represented as 1 2 3 4 are the quadrotor gravity center in the direction of ,, x y z .The components 2 4 6 ,, xxxare the speed along the direction of ,, x y z and ,, x y z I I I represent the initial torque along the direction of ,, x y z .On the other hand, 7 9 11 ,, x x x shows the angles of roll, pitch, and yaw whereas 8 10 12 ,, x x x show the torque of roll, pitch and yaw.( 1,...., 4) i ui  is the system input, and ( 1,...., 6) i ki  represents the stretch coefficient.
the disturbance of the system.

TABLE I .
PARAMETERS OF QUADROTOR SYSTEM AND OBSERVER