Control and Estimation of a Quadcopter Dynamical Model

Received Feb 12, 2018 Revised Mar 14, 2018 Accepted Mar 19, 2018 The main motivation for this paper is to apply LQ and LQG methodologies for quadcopter control system. The developed control system is for both the rectangular position (xy) and altitude (z) as well as the orientation (attitude angles around the axes) based on 6-Degree of Freedom (6DOF) mathematical model. 6DOF refers to the model with 3 linear and 3 angular motions. The altitude and attitude controllers are designed and the results presented in both the continuous and the discrete time cases. For the controller design, a nonlinear mathematical model was obtained first for 6DOF. The next step was to linearize the nonlinear model in hovering mode, and the final step was the reduction of the resulted linear model to be used as starting model for the controller design. The reduced linear model was tested for controllablity and observability. The control goal was to track a spatial trajectory with the quadcopter center of gravity under environment disturbances and sensor measurement errors. For this purpose, designed LQ controller was augmented by Kalman Filter state observer. The resultant controllers provide precise and robust performance for an input reference signal and for a regulation problem. After the transient response (of order of few seconds) the tracking error is acceptable which provides safe handling even under disturbances and measurement noises. The transient response can be furrther recuded by controllers fine tunning. Keyword:


Introduction
Recent advances in sensors, microcontroller technology, control and aerodynamics theory have made small Unmanned Aerial Vehicles (sUAV) a reality.The small size, low cost and maneuverability of these systems have made them potential solutions in a large class of applications from amateur to a variety of reconnaissance applications.However, the small size of these vehicles poses significant challenges.The small sensors, used on these systems, are much noisier than their larger counterparts.The compact structure of these vehicles also makes them more vulnerable to environmental effects.The fundamental problem with the safe operation of vehicles with wingspan smaller than one meter is reliable stabilization, robustness to unpredictable changes in the environment, and resilience to noisy data from small sensor systems.Autonomous operation of aerial vehicles depends on on-board stabilization and trajectory tracking capabilities, and significant effort has to be carried on to make sure that these systems are able to achieve stable flight.These problems are compounded at smaller scale, since as the vehicle is more sensitive to environmental effects (wind, temperature, etc.).Moreover, the small scale implies that lower quality and noisier compact Micro Electro Mechanical Systems (MEMS) sensors [1], [2] are used as primary sensors.The small scale also makes it harder for the MEMS sensors to be isolated from the vibrations that are common in these flight platforms.This work presents LQ and LQG Servo Control methods for the automatic control of a quadcopter for the orientation angles and the altitude control.Selected linear control methods are designed according to the system dynamics.In LQG method, disturbances and measurement noises are applied to linearised model.In this paper simulation results are presented for the Phi (Roll) control only, the other two angles and altitude control are analogous and omitted for brevity.Numerous control methods have been proposed for quadcopters, for both regulation and trajectory tracking.To design a controller a mathematical model should be designed first.There are several variants of the mathematical model:  They vary in describing of rigid body dynamics.This can be done by Euler-Newton approach [3] or Lagrangian approach [4]. They also vary in representations of kinematics and direction of z-axis of body reference frame. Finally, they differ in how many forces and other effects are taken into account.
A detailed model description is given in [4].A highly non-linear and precise model of a quadcopter is introduced, with some simplifications for indoor flying.This reference analysis various control strategies such PID, PD, LQ, Lyapunov Stabilisation and Back Stepping control design, but LQG method and Servo Control Mechanism were not considered.Another good model is presented in [3].The equations of motion were built using the principles of linear (translations) and angular (rotations) momentum.In general controllers described in the literature use Pole Placement, LQ, PID and Back Stepping control schema [5][6][7][8][9].Also, H∞ control and Disturbance Observer Based LQG (DOB-LQG) are proposed in [10].The DOB-LQG integrates robust margin requirements but sacrifices tracking performance.Furthermore, the feedbacks resulting from the nonlinear controllers [11] are often very complex ones.In addition, just a few references such as [12] deal with the discretized systems.In our work linear control strategies (LQ and LQG Servomechanism) are used for both continuous and discrete time, they results are compared and choice of sampling frequency is also addressed More details can be found in [23].

Mathematical Model
This section summarizes basic definitions and describes the reference frames those are used in kinematic of the quadcopter flight.Furthermore, quadcopter flightcontrol logic is described and the mthematical model is obtaibed.We use standard aerospace terminology for various variables.Commonly used is Yaw-Pitch-Roll (YPR) rotation model, where the angles are Ψ−Θ−Φ and are around Z−Y−X axis.

Quadcopter Movements
The quadrocopter has four actuators.Each of them consists of a blade, a motor and a power bridge.Note that linear movement of the quadrocopter as forward, backward, left and right and number actuators from 1 to 4. Blades 2 and 4 rotate in clockwise direction with angular speed ω 2 and ω 4 while blades 1 and 3 rotate in counter clockwise direction with angular speed ω 1 and ω 3 .A quadcopter:  Hovers or adjusts its altitude (up or down) by applying equal thrust to all four rotors. Adjusts its yaw (left or right) by applying more thrust to rotors rotating in one direction. Adjusts its pitch or roll (x or y movement) by applying more thrust to one rotor and less thrust to its diametrically opposite rotor.

Quadcopter Coordinate Frames
Various reference frames and coordinate systems are used to describe the position and orientation of a quadcopter, and the transformation between them.It is necessary to use several coordinate systems for the following reasons: [3]  Newton's equations of motion are given the coordinate frame attached to the quadcopter. Aerodynamics forces and torques are applied in the body frame. On-board sensors like accelerometers and rate gyros measure information with respect to the body frame.Alternatively, GPS measures position, ground speed, and course angle with respect to the inertial frame. Most mission requirements like loitering points and flight trajectories are specified in the inertial frame.In addition, map information is also given in an inertial frame.

Earth Inertial Frame (O, E, F i ) with XYZ:
The Earth Inertial Frame is an Earth fixed coordinate system with origin at the defined home location.As shown in Figure 1, [2] the unit vectors are (X-axis) directed north, (Yaxis) directed east, (Z-axis) directed toward the center of the Earth.

Vehicle Inertial Frame (F v ) with xyz:
The origin of the Vehicle Inertial Frame (F v ) is at the center of mass of the quadcopter.The axes of Vehicle Inertial Frame (F v ) are aligned with the axis of the Earth Inertial Frame (F i ).

Vehicle Fixed Body Frame (F, F b ) wth axis x b y b z b :
The origin of the Fixed Body Frame (Fb) is also at the center of mass of the quadcopter, like Vehicle Inertial Frame (Fv).But x, y and z axes are along the quadcopter symmetry axis.In every plane position, x-axis points out the nose of the fuselage, y-axis points out the right wing, and z-axis points out the belly [13].Per Figure 1, transformation from Vehicle Inertial to Fixed Body Frame is defined via: ( Transformation from the Vehicle Fixed Body to Inertial Frame is defined via: (2-3)

Mathematical Model
In this section mathematical model of quadcopter's dynamics is summarized by using Newton's and Euler's Laws [13].The model is written in a nonlinear state space form, which is then linearised.

General Model
This model assumes the following simplifications: 1.The quadcopter is a rigid body.2. ToI (Tensor of Inertia) of the Quadcopter is approximated as MoI (Moment of Inertia) of several objects.3. CoG (Center of Gravity) and CoM (Center of Mass) coincide with quadcopter geometrical center.4. MoI of the propellers is neglected.5. Time delay of the power bridge is neglected.6.Air drag force is neglected.
Let us define to be trust force and is hub torque for every (1, 2, 3 and 4) DC Motor and Propeller system: (2-4) Figure 1.Quadcopter Control Frames where and are torque and thurst coefficients which can be determined experimentally.Then the following equations hold for angle and position acceleration [23]: These differential equations are nonlinear.For the LQG derivation, mathematical model of the quadcopter should be written in the standard linear state space form.

NonLinear State Space Model of Quadcopter
Based on [23] state variables are: And the inputs are defined as: (2-13) Next we use the following constants for simplifications: Then the nonlinear state space equations are: (2-19) The linearised state space model is then defined to produce an LQG regulator.The model is written as two (states and outputs) first order vector differential and algebraic equations, as follows: (2-20) Obtained Linear State Space System is controllable and observable. (2-21)

Controller Design
To perform various tasks with a Quadcopter, the Orientation Angles should be controlled as a first task.The angles determine whether the Quadcopter hovers or heads toward certain direction.The hovering is a regulation problem and it is the first aim in this work.The second aim is a control strategy capable of performing a reference path tracking.LQ Servo Control is such a technique, and usually it handles the differences between a linear and nonlinear system model quite well, so it is also known as a sufficiently robust control technique.In this chapter an LQ -LQG Servo controllers are designed for orientation angles and altitude control.Simulation results will be presented for the Phi (Roll) control only, the other two angles and altitude control are analogous and omitted for brevity.We start with a short review of standard LG and LQG results [6].

Continuous Time Linear Quadratic Optimal Control
We consider a linear dynamic system: where the optimal control is given as: (3-2) with the matrix as the solution of algebraic Riccati Equation (Q and R are weight matrices): (3-3)

Continuous Time Linear Quadratic Estimator (Kalman Filter)
When the basic model [2-20, 2-21] has stochastic inputs and measurement errors , we can rewrite it as: (3-4) where is a stochastic input (disturbance), and it is a zero-mean Gaussian stochastic process with covariance , i.e.
. The measurement noise is a zero-mean Gaussian stochastic process with covariance , i.e.
. Two processes, and , as well as the initial condition are mutually orthogonal [6].Next an error is defined as , where is the state estimate, and the design goal is to find such that is minimised [15].The solution is obtained again by solving a non linear matrix Riccati Equation.The steps are given next [6]:  Initialize  Solve Riccati matrix P from the estimator algebraic Ricatti Equation   Define estimator gain L as:  Propagate the estimator dynamics via: (3-5) Finally the estimate is used instead of unknown in the feedback control in Equation (3-2), per control and estimation Separation Principle [6].

Discrete Time Controller Design
In practice a discretized model and control are implemented.The following is an equivalent form of the equations above which can be discretized as shown bellow: The matrices H, M and D are zero matrices.New augmented system takes the form: Or in a shorter notation form as: (3)(4)(5)(6)(7)(8) This augmented system is then discretized according to [17], [18] and [19] with sampling period, from which we obtain sampled state X and output Y via transition matrix, : From all of the above we obtain a Matlab compatible vector and matrix equations as: which is used in results analysis and simulation described next.

Model Testing and Simulation Results
The above linearlized nonlinear quadcopter model was simulated and LQG control performance was accessed as well.Sampling frequencies of 5 Hz, 100 Hz and 2500 Hz were applied to obtain quadcopter discretized time dynamic model.Transient and steady state response were analyzed.

Simulation Parameters
Following parameters were applied to simulated system  0.1 rad (5.73 degree) step input signal was applied with zero initial condition  Measurements were corrupted with zero mean Gaussian noise with standard deviation of  Process disturbances were applied as zero mean Gaussian noise with standard deviation of  and  and  and  Mass of the quadcopter:  Distance between the DC motor and the center of quadcopter:  and  In this work the weight matrices Q and R are selected arbitrarly.For implementation of the quadcopter, Q and R values should be updated for the best performance by using experimental results  The mass of the quadcopter (m) and the distance (l) between the DC motors and the center of the quadcopters were selected arbitrarly.The values of m and l should be measured from the implemented quadcopters fuselage

Trajectory Simulation
According to given input signal in Figures 2 -5, the quadcopter should be in hovering position during the first 10-seconds.At the 10 th second, 0.1 rad (5.73 degree) step input is given to quadcopter (it moves along y-axis) for 10 seconds.At the 20 th second its Phi angle will be given 0-degree as step input and it is again in hovering position for 10 seconds.At the 30 th second there will be negative step input again for 10 seconds as -0.1 rad (-5.73 degree) and quadcopters moves along negative y-axis for 10 seconds.At the 40 th seconds 0 degree input given to system and quadcopters returns to its hovering position.As seen in Figuer 1, simulated mesurements with random errors are shown by green line.Designed Kalman Filter successfully handles noisy sensor inputs.Red dashed line shows estimated state ( angle value), which is very close to actual state, blue line, ( angle value).It can be seen in Figure 1 that environmental disturbances can not be handled successfully by the controller at 5-Hz sampling frequency.However, at the higher than 100 Hz sampling frequencies, controller is successful to cope with envorimental disturbances (Figure 2, 3 and 4).Hovering is quite successful; there are no significant differencies between the reference trajectory input (black line) and the quadcopter response (blue line).The transient time is reasonable at less than 5 seconds in each case.We also note from Figures 2 and 3, that there is no significant performance enhancement between 100-Hz and 2500-Hz control.Reference continuous case is shown in Figure 5. Higher than 100 Hz sampling frequencies may not be required in this case.Section 4.3 summarizes sampling frequency analysis as a function of estimation error.On the other hand, for a practical microcontroller architecture, there will be other tasks or events related to flight control, therefore lowest acceptable control frequency can be determined taking all of the requirements into the account.

Determining Sampling Frequency for Discrete Time Case
In order to determine lowest acceptable sampling frequency, in this section an error is determined and analyzed between the reference continuous time response and the discrete time response at the specific sampling frequency, for the whole response trajectory.In particular, we calculate sample variance of these errors, (

Results
The LQ and LQG methods are proven to be successful to produce practical control laws, and that holds for the quadcopter control as well presented in this paper.In LQ case it is assumed that the whole state vector is available for control at all times.This is unrealistic due to non-availability of sensors, expensive sensors and quality of the sensor input often is not acceptable due to their inherent measurement errors (measurement noise).This leads into using LQG methodology with the implemented observer based LQG servo mechanism control with Kalman Filter in the loop to estimate full state vector which is in turn used in feedback control law.Our results indicate promising solution for real time quadcopter applications deployment.Furthermore, with the sensors on the quadcopter or any controlled system it would be useful to estimate some or full state variables against hardware faults with diagnostic approaches which rely upon Kalman Filter residuals analysis.Several specific comments are in order: (i) It can be seen from Figure 4 and Figure 5 that there are no essential differences between the results in the continuous and 2500 Hz sampling frequency discrete case.(ii) Furthermore, it can be observed that when the control frequencies are lower than 100 Hz, Figure 2, the quadcopter is more sensitive to disturbances and noises.(iii) On the other hand at the control frequencies higher than 100 Hz (Figures 3, 4 and 5) the disturbances and noises are successfully handled by the designed LQG controller.(iv) From Table 1 we see that at 100 Hz sampling frequency, the quadcopter will give trajectory-tracking performance boldfaced in 100 Hz row.Variance compare to continuous time control.This result theoretically provides enough control performance.For prototype tests the disturbance parameters can be determined experimentally which imitates external facts such as wind, temperature and linearised mathematical model compatibility to the real quadcopter dynamics.The measurement noise parameters can be determined from related sensor data sheets.(v) All the eigenvalues for the continuous closed loop system are in the left half plane of S-domain therefore designed controllers produce stable systems, per LQG methodology.On the other hand the discrete solutions are converted to continuous solutions by Matlab d2c-function to observe their Splane eigenvalues.(vi) With the sampling frequency increase, these eigenvalues are getting closer and closer to the eigenvalues of the continuous time controller.

Future Work
Here we list several specific design requirements for the future work.They include:  Certain specific cases such as Bounded Input Control [20][21] [22] were not analysed in this paper.LQ or LQG controller produces requirement for certain amount of thrust input from DC Motors which have certain limits.Control system must handle max thrust value for BLDC Motors and should demand suitable powers from thrust systems.This need to be included in any practical implementation.Some changes to LQG could be done or more general optimal control with the constraints could be employed. Self repairing flight control capability which allows for the quadcopter to automatically detect failures or damage in its flight control systems such as related to BLDC motors-propellers and use the remaining control systems to calibrate accordingly to retain controlled flight. Experimental verification of the proposed approaches using design of experiment tool [24]. Spatial tracking tests can be prepared and a nonlinear-backstepping control can be considered as well.
Since in this work linearised math model used, the stability is checked by eigenvalue placement.For the nonlinear control, the stability can be checked by Lyapunov stability criterion.

Conclusion
This work presents a short review of nonlinear and linear mathematical models of a typical quadcopter, and introduces a regulation and trajectory tracking controller design techniques based on an LQ servo controller as well as LQG servo controller with Kalman Filter state observer in both the continuous and discrete time domains.Weighting matrices and other parameters were selected considering typical indoor constraints.The design shows to be at the level of other designs or better and it gives a viable desing solution for a variety of different quadcopter designs and implementations.The additional robustness comes from Kalman Filter implementation which can cope with a variety of unexpected environmental disturbance, model errors as well as measurement errors.

Figure 4 . X 1 -
Figure 4. X 1 -State control at 2500 Hz The variance values are functions of sampling frequency and they indicate how good a discrete solution is close to the continuous one.Next we look into the means and variances of above, calculated for several Monte Carlo random experiments performed on the same prescribed reference.See Table1bellow, which indicates various sampling frequencies, five different Monte Carlo random runs with the corresponding variances, as well as corresponding sample man and standard deviation calculated for those variances.Determination of acceptable sampling frequency is important in order to save in calculation time.