Quadrotor Control using Incremental Nonlinear Dynamics Inversion

Similar documents
Chapter 2 Review of Linear and Nonlinear Controller Designs

Nonlinear Landing Control for Quadrotor UAVs

The PVTOL Aircraft. 2.1 Introduction

Robot Dynamics - Rotary Wing UAS: Control of a Quadrotor

Adaptive Augmentation of a Fighter Aircraft Autopilot Using a Nonlinear Reference Model

Quadcopter Dynamics 1

Design and modelling of an airship station holding controller for low cost satellite operations

Mathematical Modelling and Dynamics Analysis of Flat Multirotor Configurations

Model Reference Adaptive Control of Underwater Robotic Vehicle in Plane Motion

Adaptive Robust Control (ARC) for an Altitude Control of a Quadrotor Type UAV Carrying an Unknown Payloads

Problem 1: Ship Path-Following Control System (35%)

A Comparison of Closed-Loop Performance of Multirotor Configurations Using Non-Linear Dynamic Inversion Control

CS491/691: Introduction to Aerial Robotics

Chapter 4 The Equations of Motion

MECH 6091 Flight Control Systems Final Course Project

Investigation of the Dynamics and Modeling of a Triangular Quadrotor Configuration

Pitch Control of Flight System using Dynamic Inversion and PID Controller

Coordinated Tracking Control of Multiple Laboratory Helicopters: Centralized and De-Centralized Design Approaches

Feedback Control of Linear SISO systems. Process Dynamics and Control

MAE 142 Homework #5 Due Friday, March 13, 2009

Quadrotor Modeling and Control

Nonlinear Control of a Quadrotor Micro-UAV using Feedback-Linearization

with Application to Autonomous Vehicles

Exam - TTK 4190 Guidance & Control Eksamen - TTK 4190 Fartøysstyring

Topic # Feedback Control Systems

16.400/453J Human Factors Engineering. Manual Control I

Autonomous Mobile Robot Design

Simulation of Backstepping-based Nonlinear Control for Quadrotor Helicopter

ANALYSIS OF AUTOPILOT SYSTEM BASED ON BANK ANGLE OF SMALL UAV

Quaternion-Based Tracking Control Law Design For Tracking Mode

A Blade Element Approach to Modeling Aerodynamic Flight of an Insect-scale Robot

Design of a Heading Autopilot for Mariner Class Ship with Wave Filtering Based on Passive Observer

Acknowledgements. Control System. Tracking. CS122A: Embedded System Design 4/24/2007. A Simple Introduction to Embedded Control Systems (PID Control)

Autonomous Underwater Vehicles: Equations of Motion

Frequency Domain System Identification for a Small, Low-Cost, Fixed-Wing UAV

CHAPTER 1. Introduction

Multi-layer Flight Control Synthesis and Analysis of a Small-scale UAV Helicopter

Adaptive Trim and Trajectory Following for a Tilt-Rotor Tricopter Ahmad Ansari, Anna Prach, and Dennis S. Bernstein

Mechatronics Assignment # 1

CDS 101/110a: Lecture 8-1 Frequency Domain Design

A Model-Free Control System Based on the Sliding Mode Control Method with Applications to Multi-Input-Multi-Output Systems

QUADROTOR: FULL DYNAMIC MODELING, NONLINEAR SIMULATION AND CONTROL OF ATTITUDES

Introduction to Flight Dynamics

18. Linearization: the phugoid equation as example

Nonlinear and Neural Network-based Control of a Small Four-Rotor Aerial Robot

Aircraft Stability & Control

Design and Implementation of an Unmanned Tail-sitter

Experiments in Control of Rotational Mechanics

ENHANCED PROPORTIONAL-DERIVATIVE CONTROL OF A MICRO QUADCOPTER

Chapter 7 Control. Part Classical Control. Mobile Robotics - Prof Alonzo Kelly, CMU RI

WEIGHTING MATRICES DETERMINATION USING POLE PLACEMENT FOR TRACKING MANEUVERS

Different Approaches of PID Control UAV Type Quadrotor

Modelling of Opposed Lateral and Longitudinal Tilting Dual-Fan Unmanned Aerial Vehicle

Near-Hover Dynamics and Attitude Stabilization of an Insect Model

H inf. Loop Shaping Robust Control vs. Classical PI(D) Control: A case study on the Longitudinal Dynamics of Hezarfen UAV

Game Physics. Game and Media Technology Master Program - Utrecht University. Dr. Nicolas Pronost

UAV Coordinate Frames and Rigid Body Dynamics

Estimation and Control of a Quadrotor Attitude

SATELLITE ATTITUDE CONTROL SYSTEM DESIGN WITH NONLINEAR DYNAMICS AND KINEMTICS OF QUATERNION USING REACTION WHEELS

AMME3500: System Dynamics & Control

Modeling the 3-DOF Dynamics of an Electrodynamic Maglev Suspension System with a Passive Sled

Modeling and Sliding Mode Control of a Quadrotor Unmanned Aerial Vehicle

Trajectory-tracking control of a planar 3-RRR parallel manipulator

Hover Control for Helicopter Using Neural Network-Based Model Reference Adaptive Controller

Control of Electromechanical Systems

Quadrotor Modeling and Control for DLO Transportation

The basic principle to be used in mechanical systems to derive a mathematical model is Newton s law,

TTK4190 Guidance and Control Exam Suggested Solution Spring 2011

Robotics & Automation. Lecture 25. Dynamics of Constrained Systems, Dynamic Control. John T. Wen. April 26, 2007

Multi Rotor Scalability

Stability and Control Analysis in Twin-Boom Vertical Stabilizer Unmanned Aerial Vehicle (UAV)

Lecture Module 5: Introduction to Attitude Stabilization and Control

Visual Servoing for a Quadrotor UAV in Target Tracking Applications. Marinela Georgieva Popova

Positioning Servo Design Example

Nonlinear Tracking Control of Underactuated Surface Vessel

Design and Control of Novel Tri-rotor UAV

Advanced Aerospace Control. Marco Lovera Dipartimento di Scienze e Tecnologie Aerospaziali, Politecnico di Milano

AROTORCRAFT-BASED unmanned aerial vehicle

8.012 Physics I: Classical Mechanics Fall 2008

Disturbance Rejection in Parameter-varying Web-winding Systems

Linear State Feedback Controller Design

An LQR Controller Design Approach For Pitch Axis Stabilisation Of 3-DOF Helicopter System

Robot Control Basics CS 685

3D Pendulum Experimental Setup for Earth-based Testing of the Attitude Dynamics of an Orbiting Spacecraft

FLIGHT DYNAMICS. Robert F. Stengel. Princeton University Press Princeton and Oxford

Iterative Controller Tuning Using Bode s Integrals

A Light Weight Rotary Double Pendulum: Maximizing the Domain of Attraction

Mathematical Modelling of Multirotor UAV

Lyapunov Stability of Linear Predictor Feedback for Distributed Input Delays

Research on Balance of Unmanned Aerial Vehicle with Intelligent Algorithms for Optimizing Four-Rotor Differential Control

IAA-CU A Simulator for Robust Attitude Control of Cubesat Deploying Satellites

Robust Control. 8th class. Spring, 2018 Instructor: Prof. Masayuki Fujita (S5-303B) Tue., 29th May, 2018, 10:45~11:30, S423 Lecture Room

Lecture AC-1. Aircraft Dynamics. Copy right 2003 by Jon at h an H ow

MEMS Gyroscope Control Systems for Direct Angle Measurements

Eigenstructure Assignment for Helicopter Hover Control

Physics 106a, Caltech 4 December, Lecture 18: Examples on Rigid Body Dynamics. Rotating rectangle. Heavy symmetric top

Analysis and Design of Control Systems in the Time Domain

Autonomous Helicopter Landing A Nonlinear Output Regulation Perspective

Regulating Web Tension in Tape Systems with Time-varying Radii

Backstepping and Sliding-mode Techniques Applied to an Indoor Micro Quadrotor

Transcription:

Quadrotor Control using Incremental Non Dynamics Inversion Rodrigo Ribeiro Guerreiro Coelho rodrigocoelho@tecnico.ulisboa.pt Instituto Superior Técnico, Universidade de Lisboa, Lisboa, Portugal June 217 Abstract Model-based control (MBC) is a control strategy characterized by the explicit use of a process model in the control action calculation. The model provides the system dynamics information with which we can attenuate undesired dynamics, ize non systems or even predict system behavior. Model-based controllers are however dependent on accurate modeling and system identification, which can be both expensive and timeconsuming. Non Dynamics Inversion (NDI) is a well-studied example of MBC that uses model dynamics information to provide system izing feedback. With the system ized, techniques can be applied for stabilization control. Being a model based controller, errors in the system modeling may deteriorate (and possibly destabilize) the controlled system response. Recently a variation of NDI called Incremental Dynamics Inversion (INDI) has gathered some interest. The INDI approach differs from regular NDI as it relies on measurements to produce a controller not dependent on complete modeling of the system dynamics, transferring some model accuracy requirements to the sensors and estimators. In this work, besides presenting generic theoretical analysis and comparison of the NDI and INDI approaches, we study the practical implementation to the quadrotor platform QuadR-ANT. We built a numerical simulation of the quadrotor flight dynamics and developed both approaches to solving the stabilization problem. The results of the numeric simulations are presented, with the performances of the NDI and INDI based controllers dealing with different modeling errors, sampling frequencies and wind conditions. Lastly, we present the practical validation of the INDI algorithm implemented in the QuadR-ANT autopilot. Keywords: Incremental Non Dynamics Inversion, Quadrotor, Non control, Attitude control, Sensor-Based Control Introduction In quadrotors it is not possible to rely on any inherent flight stability, as they lack of the dynamic pressure caused by forward flight of conventional aircrafts. The dynamic behavior is instead ruled by the airflows induced by propeller-based propulsion systems. As such the control system requires robustness and stability guarantees, as well as flexibility, so the quadrotor UAV can operate in diverse flight conditions. Many control strategies have been studied to solve this problem but most implementations are based on control theory. Linear control has the advantage of generality, simplicity and ease of implementation. It has been thoroughly proved in many applications along the years, both in industry and academia. In the context of flight control, both for UAVs and other fly-by-wire schemes, PID (Proportionalintegrative-derivative) controllers [3] and LQR (Linear Quadratic Regulator) [7, 8] have been studied and applied with success. These controllers are simple and computationally inexpensive to implement, however they are designed to function in a operating point where the system is approximately, which in the case of the quadrotor is usually the hover flight condition. This is very limitative as the performance of the control deteriorates when the system deviates from the hover, as it is especially observable when doing aggressive flight maneuvers or under strong wind perturbations. In order to answer this limitation we need to consider non control techniques, such as the focuses of this work Non Dynamics Inversion (NDI) and Incremental Non Dynamics Inversion (INDI). NDI controllers have been extensively studied. From a proposal for multiple state variable problems [12] to a generalized approach based on geometry [19]. Application of NDI to flight control can be found as early as 1971 by [1], whose simulation implementation resulted in a stable system and proved the feasibility of the decoupling of aircraft flight path dynamics. Newer designs combined NDI with robust or adaptive control techniques. Robust control compensates the uncertainties in the controlled system parameters [9], while adaptive controllers identify the system being controlled in -time and adapt the control for it []. The first form of INDI was proposed in 199 [4] as an inversion of the aircraft dynamics using the Newton- Raphson method, an iterative method for finding the zeros of arbitrary functions. This design was highly dependent on the aircraft model and sensitive to its errors. 1

To address this [17] proposed the use of angular acceleration measurements to provide system dynamics information and reduce the modeling requirements. [14] proposed a combination with an incremental NDI (called now INDI) and the measurement of angular acceleration. To solve the problem of delay in the angular acceleration estimation, unavoidable with no direct measurement, [14] proposed a predictor. In the area of flight control, [1] proposed a complete controller for helicopter control combining NDI, INDI, angular acceleration predictor and Pseudo-Control Hedging (PCH); [2] proposed an INDI controller for the lateral control of an airship and [6] adapted INDI to quadrotor control. Inserted in this context, this work presents a comparison between these two approaches, NDI and INDI, when applied to a general system or a quadrotor platform, QuadR-ANT. It also presents the dynamic model of the quadrotor and the implementation of the controllers. This paper is an extended summary of the work developed in [] and is organized as follows: section 2 presents a theoretical comparison between the NDI and INDI control approaches. In section 3 we present the quadorotor model while the NDI and INDI implementations are presented in section 4. The simulation results of the two developed controllers are presented in section In section 6 we summarize the conclusions derived from this work and future work recomendations. Control theory Non Dynamics Inversion For the NDI formulation, consider the following control affine n-th order MIMO system with drift [13, p. 46]. ẋ = f(x) + G(x) u (1) y = h(x) (2) where x R n is the system state vector, u R m is the input vector, f R n and h R m are smooth vector fields; G R n m is a matrix with each column g i R n a smooth vector field. By differentiating (2) with respect to time we have ẏ = dh(x) dt = h x = h x ẋ (3) h f(x) + G(x)u x (4) = L f h(x) + L G h(x)u () where L f h(x) and L G h(x) are the respective Lie Derivatives of h(x) with respect to f and G. Assuming L G h(x) is invertible, we can isolate the control action u u = (L G h(x)) (ẏ L f h(x)) (6) Applying this control action into (1) results in closedloop ized system in the form ẋ = ẋ d. A block diagram of the system is presented in figure 2.1. This ization has limitations deriving from the relative degree of each output y and the rank of G(x). The relative degree of an output means, for our purpose, the number of differentiations needed until an input u Figure 1: NDI closed-loop representation is explicit in h(x). If there are outputs with higher relative degrees than others making, we cannot ize them directly with neither NDI or INDI. The rank of G(x) can also represent how many state derivatives ẋ are directly affected by the input u. If this rank k isn t equal to the total number of states n, then (n k) states cannot be ized directly (zero dynamics states). Incremental Non Dynamics Inversion Opposed to NDI, INDI has no requirements for the input dynamics, so we can use a more generic formulation for non systems such as ẋ = f(x, u) (7) If we ize 7 around the previous time step condition (x, u ) with t = t T and T being the controller sampling time, we have ẋ = ẋ + f x x,u (x x ) + f u x,u (u u ) (8) where ẋ = f(x, u ). Assuming a small enough sampling time T, the state variation between samples can be considered negligible (x x ). We can then simplify (8) as ẋ ẋ + f u x,u (u u ) (9) Setting the desired dynamics as ẋ = ẋ d we obtain the following control input u = u + (F u ) (ẋ d ẋ ) () ( ) f where F u = u x,u must be invertible and ẋ, x and u must be observable. A block diagram of the closed-loop system is presented in figure 2. Comparison Figure 2: INDI closed-loop block diagram It is worth noting that the formulation for INDI is different from the NDI as it does not require a control-affine system. NDI also requires complete model knowledge while INDI only requires kinematics and actuation related dynamics, substituting state-only dependent dynamics model by direct observation. This is an advantage of INDI over NDI and, in a flight control system, it would reduce the need to model and identify 2

state-only dependent aerodynamics which is difficult and time-consuming. INDI also has, contrasting NDI, strict sampling frequency requirements and needs the observation of the actuation signal and state derivative. These requirements, gathered in Table 1 mean the performance of INDI is more dependent on dynamics measurements and may require faster control hardware. Item NDI INDI Control affine model - Complete Kinematics Model model knowledge ( ) and actuation ( dynamics ) fp fp Invertible V gv Invertible V gv or L Gh(x) or F u Sampling time - Actuation dynamics T s T s System dynamics Observation State State, actuation, state derivative Table 1: Comparison between INDI and NDI requirements. Table 2 presents the major characteristics of the NDI and INDI control laws. There we can observe that both approaches cancel the system nonities but INDI presents an integrative characteristic due to its incremental nature and offers robustness to state only dependent uncertainty, both parametric and structural. Item NDI INDI Not robust to Robust to Robustness model uncertainty model uncertainty that is state only dependent Integrative - Yes Nonities cancellation Yes Yes Table 2: Comparison between INDI and NDI properties. Quadrotor Model In order to define the quadrotor dynamic behavior, we need to define its equations of motion (EOM). The EOM are functions that describe the system movement as well as its response to external stimuli. It is necessary to define suitable s and coordinate systems according to which the movement of the quadrotor can be correctly described. They are called frames and the ones chosen for this work are described in the next section. Reference frames The first spatial necessary is the inertial frame, a frame that describes time and space homogeneously, isotropically, and in a time-independent manner [11]. We assume the flat earth model and use a North- East-Down (NED) frame located on the surface of the earth and centered on the quadrotor initial position, I = (O i ; U N ; U E ; U D ) as the inertial frame. We will also define a frame fixed to the quadrotor and centered in its center of gravity B = (O b ; u x ; u y ; u z ) as seen in figure 3. Figure 3: Inertial and body-centered coordinate systems (adapted from [7]) Kinematics To describe the position P of the quadrotor in the inertial frame I we can consider the following transformation Ṗ = R T V (11) where P = (x, y, z) T is the body s position in the inertial frame I, V = (u, v, w) T is the translation velocity in the body fixed frame and R is the rotation matrix from the inertial frame I to the body frame B 1 2q2 2 2q3 2 2(q 1 q 2 + q 3 q ) 2(q 1 q 3 q 2 q ) R = 2(q 1 q 2 q 3 q ) 1 2q1 2 2q3 3 2(q 2 q 3 + q 1 q ) 2(q 1 q 3 + q 2 q ) 2(q 2 q 3 q 1 q ) 1 2q1 2 2q2 2 (12) where Q = (q, q 1, q 2, q 3 ) T is the attitude of the quadrotor relative to the inertial frame, represented in quaternions. Rotational movement The rotational kinematics is described by Q = S Q ω (13) where ω = (p, q, r) T is the angular velocity of the quadrotor in the three main directions of B and S Q is a transformation matrix defining the rotation rate, defined using the quaternions representation as q 1 q 2 q 3 S Q = 1 q q 3 q 2 2 q 3 q q 1 (14) q 2 q 1 q Dynamics Translational movement Following newton s second law, the variation of the momentum of a rigid body with constant mass is equal to the sum of the forces applied. In the case of the quadrirotor we have m d dt (V abs) = F = F G + F P + F D (1) where m is the quadrotor mass, V abs is the absolute velocity of the quadrotorf G is the gravitational force applied, F P is the force exerted by the propulsion system and F D is the aerodynamic drag force. Theses forces can be described by the following equations F G = mrg (16) F D = DV 2 a (17) 3

where R is the rotation matrix as defined in (12), g is the gravity acceleration represented in the inertial frame I, V a = (u a, v a, w a ) T is the quadrotor true airspeed and D is a drag coefficient matrix. Applying the theorem of Coriolis [18], the time derivative of the quadrotor velocity in the body frame B, relative to the inertial frame I, is d dt V abs = V + ω V (18) where V is the acceleration of the quadrotor in the body erential B and ω V is the centripetal acceleration. The cross product (ω ) can be represented by the matrix Ω as r q Ω = r p (19) q p Now substituting (16), (17) and (18) into (1) we have the complete dynamics equation for the translational movement V = m F P ΩV + m DV 2 a + Rg (2) Rotational movement Following Euler s second law, the variation in angular momentum in a rigid body is equal to the sum of the torques applied on the system, as follows J d dt ω = τ = τ D + τ P (21) where J is the matrix of inertia,τ P is the torque provided by the propulsion system and τ D is the aerodynamic resistance torque. Applying the Coriolis theorem we get ω = J [ ω (Jω) + τ D + τ P ] (22) Using (19) and disregarding the effect of aerodynamic drag moments due to the small size of the platform we have the rotation dynamics equation ω = J ΩJω + J τ P (23) Application to Quadrotor Attitude Control In this section, we will consider the implementation of NDI and INDI to the quadrotor. With both approaches being based on feedback ization, they can be split in two processes the ization control design and the control design. Linearization control Considering attitude stabilization as the goal, we will introduce a reduced order model of the quadrotor with x = [ω, Q] T as state vector, y = x as the system exit and u = τ P as the input signal. NDI For NDI we define f(x) and G(x) as [ ] [ ] J f(x) = ΩJω J G(x) = S Q ω 4 3 (24) Substituting into (6) we obtain u = [ J 4 3 ] + ([ ωd Q d ] [ ]) J ΩJω Sω which simplified to the NDI control law (2) u = J( ω d + J ΩJω) (26) INDI For INDI we define f(x, u) as [ ] J f(x, u) = ΩJω + J τ P S Q ω and the derivative f u x,u = [ J Substituting into () we obtain 4 3 ] [ ] J + ([ ] ωd u = u + Q d 4 3 that simplified to the INDI control law [ ω Q ]) (27) (28) (29) u = u + J( ω d ω ) (3) which, relative to the quadrotor model, only depends on the correct identification of the inertia J. Linear control Based on [16], we will use the principle of time scale separation to control the system in two loops, an inner one that controls the rate attitude ω and an outer loop to control the attitude Φ. Angular rate control Both NDI and INDI controlled systems require that a desired dynamics ẋ = v be provided. This means the dynamic of the states depend on the placement of the poles in our control. We use a simple proportional controller in the form of ω c = K 1 (ω r ω) (31) where the gain K 1 is a diagonal matrix containing the gains for each angular rate ω = [p q r] T. It also marks the position of each pole in the controlled system. The controlled system for each angular rate can also be represented as a SISO transfer function as in Ω Ω r = K 1 s + K 1 (32) where Ω is the Laplace transform of the angular rate and K 1 the proportional gain applied. Attitude control In the attitude control loop we have a proportional controller that follows a Φ d in Euler angles as in Φ c = K 2 (Φ r Φ) (33) where K 2 is a diagonal matrix with the proportional gains for each Euler angle. Besides the controller 4

we also apply non inversion to ize the kinematic equations and output a in angular rates ω = (p, q, r) for the rate control loop as ω c = Γ Φc (34) where Γ is the kinematic coeficient matrix for the attitude represented in Euler angles. Pole placement The controlled system can be represented as a second degree Linear Time-Invariant (LTI) system for each angle in Φ as Θ i (s) Θ id (s) = K 1i K 2i s 2 (3) + K 1i s + K 1i K 2i where K 1i and K 2i can be chosen according to our target damping coefficient ζ i and natural frequency ω ni as K 1i = 2ζ i ω ni (36) K 2i = ω n i 2ζ i (37) These two parameters need to be chosen so that the controlled system follows the performance requirements. We follow [7] and choose the following performance requirements for the attitude response Overshoot allowed; For roll and pitch, a rising time inferior to 1 second and a settling time inferior to 3 seconds for a step ; For yaw, a rising time inferior to 4 sec and a settling time inferior to 8 seconds for a step. The parameters chosen are presented in table 3. Angle ζ ω n (rad/s) K 1 (s ) K 2 (s ) roll (φ).79 6.32 4 pitch (θ).79 6.32 4 yaw (ψ).9 1. 2.7.83 Table 3: Linear controllers gain and closed-loop systems characteristic parameters Linear predictor for angular acceleration estimation To implement the INDI controller precise information about the aircraft s angular acceleration is needed. This information is not directly obtained from sensor measurements, so we have to estimate it indirectly. For this we follow [14] and implement a predictor that takes advantage of the INDI controller decoupling and ization to design a decoupled estimator for each state. The controller structure is ω k = [θ ω,i ω k i + θ r,i ω r,k i ] + ɛ (38) i=1 with ω r,k i the angular speed given by the speed control loop, θ ω,i and θ r,i the angular speed and coefficients and ɛ random variables following a normal distribution. To calculate the estimator coefficients we use simulation data of an idealized system that represents the quadrotor behavior when ized with INDI and controlled by a decoupled regulator. The SISO transfer function is ω(s) ω r (s) = K s + K (39) with ω(s) the angular speed, ω r (s) the angular speed, K the gain imposed by the rate control loop. From the system response ω we can calculate the angular acceleration ω by differentiating. With the knowledge of the angular rate ω, the respective ω r and the angular acceleration ω we can use the least squares method to estimate the coefficients c = [c T r c T ω ] T. Results Here we present the results and tests obtained in a Matlab/simulink R implementation. We first explore the controller and estimator parameter tuning and afterward evaluate the overall approach performance, namely its robustness to model uncertainties and sensitivity to sampling time. Design Parameter Tuning One of the advantages of model-based control is the low number of parameters that need to be adjusted. Parameter tuning can be expensive as it consumes time and requires testing, in simulation and/or with prototypes. Regular NDI doesn t require any tuning as all parameters are derived from the dynamics model, however, INDI requires a weighting parameter to compensate the integrative behavior. INDI controller Following [2], we added a parameter η to the INDI controller, weighting the update control action u = F u (u u ) as u = u + η u (4) The parameter η is meant to reduce the sensibility of the controller to errors in the actuation, with the downside of the controlled system no longer being perfectly. In figure 4 we can observe the motor input ω pi and the roll angle φ of the quadrotor to a φ d = 1deg with the variation of the parameter η. For the case of η = 1, the theoretical INDI, the control action presents high frequency components and amplitude oscillation that reach the input saturation point at ω pi 68 rad/s. The quadrotor attitude is similar to a theoretical second-order LTI system response, with the projected damping coefficient and natural frequency of the control loop, with some high-frequency but low amplitude oscillations. The amplitude being low is due to the inherent damping of higher-frequency by the quadrotor dynamics. As we lower η, the oscillations in ω pi decrease while φ exhibits a slightly slower response, as consequence of the imperfect ization. When

η is lowered to.1, the control action presents lower frequency oscillations and deterioration of the attitude response, increasing the overshoot and settling time. This is probably a consequence of the error-correcting behavior becoming too slow, caused by the low amplitude of u. Balancing response time and oscillation damping, we set η =.3. 1 output 1 output 1 1 output output motor rate (rad/s) 7 6 4 (a) η = 1 motor rate (rad/s) motor1 motor2 motor3 motor4 3 6 (b) η =.9 motor rate (rad/s) motor1 motor2 motor3 motor4 4 6 4 2 (c) η =.3 motor rate (rad/s) motor1 motor2 motor3 motor4 6 4 2 (d) η =.1 motor1 motor2 motor3 motor4 Figure 4: Step response and INDI input signal varying η Angular acceleration estimation A frequent problem in estimation is the delay in measurements, as it can seriously deteriorate the performance of the control and even destabilize it. In the case of our system, we observed a different phenomenon, as the estimator assumes ity it has a crisper response than our system. This is presented in figure.2. Figure : Angular acceleration estimation output By adding the η parameter to the INDI implementation, the ization is no longer pure, which results in a slower system response than, as it assumed. This leads to a desynchronization between the angular acceleration and the one, as presented in figure.2. To compensate this we experimented adding a delay z b of b sampling times to the estimator block, as in ˆα = ᾱz b (41) In figure.2 we present the angular acceleration estimation output ˆα for different values of b, both outside and inside the control loop. We can observe that increasing b increases the synchronization in the closed loop response and decreases oscillation. An acceptable estimation is obtained by setting b = 2, any further increase in b will increase the response oscillation. The estimation error is still significant and further improvement in the estimation should improve the closed-loop response. (a) b = 1 (b) b = 2 (c) b = 3 Figure 6: Estimation output with delay α Robustness to model uncertainties After the implementation of the complete system in the simulator it is important to test the performance of the control system when subjected to errors in the model of the system. Both in the NDI and INDI deduced controllers the only explicit model element is the matrix of inertia. Modeling the model inaccuracies, we multiply the inertia matrix J, present in the controller, by a factor σ, as in J = σj (42) In figure 7 we present two plots with the response to a step in the roll angle of the quadrotor controlled with INDI (7(a)) and NDI (7(b)) with inertia matrices inferior to the one (σ < 1). In the INDI response we can observe that for σ I. it is acceptable and doesn t deviate much from the nominal one and the controller has very little loss of performance. For σ I =.3 the overshoot and settling time starts to 6

increase as the value of σ decreases and the system becomes completely unstable for σ =.1. In the NDI response we can observe that the overshoot, rising time and settling time increase gradually with the decrease of the value of σ but compared to the INDI response it is less oscillatory and doesn t instabilize for σ =.1. 3 2 σ = 1. σ =.8 σ =. σ =.3 σ =.2 σ =. 2 3 4 6 3 2 (a) INDI σ = 1. σ =.8 σ =. σ =.3 σ =.2 σ =. 2 3 4 6 (b) NDI Figure 7: Inertia uncertainties robustness test - σ < 1.2.1.1.2.1.1 3 3. 4 (a) INDI 3 3. 4 (b) NDI nominal σ =.8 σ =.7 σ =.6 σ =.3 nominal σ =.8 σ =.7 σ =.6 σ =.3 Figure 8: Inertia uncertainties robustness test - σ < 1 (torque output) In figure 9 we present the controlled responses with σ > 1. With the INDI controller, we can observe that the performance of the controlled is retained for σ I 2. with a response similar to the nominal. With σ = 3 the output presents some slight oscillations but still similar to the nominal. For σ = 4 the oscillations become more evident and for higher values it is unstable. The response with the NDI controller has barely any loss of performance for up to σ = 2. Sensitivity to Sampling Frequency In section 2, where the INDI theoretical model was studied we did a significant simplification, we ignored the state dependent dynamics based on a high enough controller sample rate to make negligible the state variation between samples. This simply means that the 2 1 2 1 σ = 1. σ = 1. σ = 2. σ = 3. σ = 4. σ =. 2 3 4 6 (a) INDI σ = 1. σ = 1. σ = 2. σ = 3. σ = 4. σ =. σ = 2. 2 3 4 6 (b) NDI Figure 9: Inertia uncertainties robustness test - σ > 1.4.3.2.1.1.4.3.2.1.1 3 3. 4 (a) INDI 3 3. 4 (b) NDI nominal σ = 1. σ = 2. σ = 2. nominal σ = 1. σ = 2. σ = 2. Figure : Inertia uncertainties robustness test - σ > 1 (torque output) controller dynamics need to be much faster than the quadrotor dynamics. To validate the INDI controller, it is necessary to check if this assumption holds and what is the sample rate limit to preserve the control effectiveness. In figure 11(a), the step response of the INDI controlled system is presented, with the chosen base sampling frequency f s = Hz, as limited by the sensor system. For testing, we present φ for different submultiples of f s and check for deterioration in the system output. With the decrease of the sampling frequency below Hz deteriorates the response and presents a higher overshoot, noticeable ringing and longer settling time. At f s = 2 Hz the ringing becomes more extreme and for even lower values the system becomes unstable. In figure 11(b) we present the response of the NDI controlled system to a step in roll angle Φ when we decrease the sampling frequency. With NDI we can also observe some sensitivity to the sampling frequency and degradation of the control performance but it is only negligible for control frequencies below 2 Hz where the INDI controlled system would already be unstable. This re- 7

duced performance is not accounted in the formulation but may be a consequence of aliasing effects and increased delay in the control signal. As observed, INDI is sensitive to the controller sampling frequency, much more so than NDI, validating the theoretical observations made in section 2.3. 3 2 Hz Hz 33 Hz 2 Hz 2 3 4 6 3 2 (a) INDI Hz Hz 33 Hz 2 Hz Hz 8 Hz 2 3 4 6 (b) NDI Figure 11: Sampling frequency robustness test - perfect sensors Robustness to wind disturbances The disturbances caused by the wind are one of the major issues to overcome when designing aircrafts and their control systems. In this section, we compare the performance of the NDI and INDI controllers implemented when subjected to wind disturbances. As the controllers designed only stabilize the attitude of the quadrotor, we will only test the disturbances in terms of torques, as speed disturbances don t affect the control. The torque τ D applied by the wind to the aircraft that we disregarded when building the aircraft model in section 3.3 becomes now relevant and is dependent on the wind speed. It is described by τ D = D r ω 2 a (43) where D r is a rotational drag coefficient matrix and ω a is the true air relative angular rate. For simplicity and clarity, we observe the influence of a constant speed wind disturbance in a stable aircraft. We input a step signal as wind speed with different values and test response in terms of the control signal (torque) and attitude of the aircraft. In figure 12 we present NDI controller response, with the control signal presented in 12(a) and the aircraft roll angle presented in 12(b). We can observe in 12(b) how the NDI controller reacts to the wind disturbance by a applying a small negative torque and in 12(b) the quadrotor angle stabilizes before the one-second mark. The absolute value of the torque and the angle of the stabilization increase with the intensity of the wind, which means the static error in attitude also increases. Roll (deg).1.2.3 2. 1.. m/s m/s m/s.2.4.6.8 1 (a) Controller torque request τ x 2 1 m/s m/s m/s. 1 1. 2 (b) System output Figure 12: response to constant wind disturbance The INDI controlled quadrotor response is presented in figure 13, with the respective control signal in figure 13(a) and the aircraft roll angle presented in 13(b). As with the NDI controller, the INDI controller applies a small torque to counteract the wind disturbance, however, the curve presents a faster rise time ( less than.1 seconds ) and a higher overshoot. In the attitude response, we can observe the angle increasing in the first.2 seconds, much like in the NDI controlled system s response, but it then starts decreasing and stabilizes at degrees before the mark of.8 seconds. Contrary to the NDI, the response with the INDI controller doesn t present any static error. Roll (deg).1.2.3 m/s m/s m/s.2.4.6.8 1 (a) Controller torque request - τ x.2.1.1. m/s m/s m/s.2.4.6.8 1 (b) System output Figure 13: INDI response to constant wind disturbance In figure 14 we present the step response of the NDI controller, subjected to wind disturbances. In figure 14(a) we present the control signal, where we have a crisp spike at the 3 seconds mark to follow the. The only difference between wind conditions is the constant decrease in the absolute value of the torque. In the attitude response presented in 14(b) we can observe stationary errors before the step in the signal, this stationary error is a consequence of the influence of the wind in the system stabilization of the system, as observed in the first test (figure 12(b)). 8

The stationary error remains after the step due to the lack of integrative action on the system. Roll (deg).2.1 m/s m/s m/s.1 2. 3 3. 4 4. (a) Controller torque request - τ X 1 m/s m/s m/s 2. 3 3. 4 4. (b) System output Figure 14: NDI step response with constant wind disturbance In figure 1 the response of the INDI controller to the step is presented. The controller signal is similar to the NDI, with a less sharp edge that is consequence of the parameter η studied in section.1.1. The step response doesn t vary at all with the increase of the wind intensity..2.1 m/s m/s m/s.1 2. 3 3. 4 4. Roll (deg) (a) Controller torque request - τ x 1 m/s m/s m/s 2. 3 3. 4 4. (b) System output Figure 1: INDI step response with constant wind disturbance Experimental validation We also built an experimental implementation of INDI in the autopilot of the QuadR-ANT platform which had success in the flight stabilization of the quadrotor. In figure 16, we present the angular rate s ( Φ r and ω r ) and the attitude and angular rates ( Φ and ω ), retrieved from the autopilot logs. The noise observable in the measurements is unavoidable, and most of it consequence of motor vibrations propagation. The roll φ and pitch θ following response is satisfactory considering the constant changes in the made by the pilot to keep the position under control ( manual flight mode ) and the controller being designed with the sole objective of stable flight, not considering the shifting following performance. Contrasting, θ r stays relatively constant with θ presenting a small static error. The yaw rate θ r also stays constant while the response presents high-frequency noise, possibly due to estimation errors and motor vibration. In flight, the operator stated some difficulty in controlling the yaw of the quadrotor which suggests the need to verify the implementation for errors and maybe review the yaw rate pole position chosen in section 4.3. pitch (deg) yaw (deg) 4 6 7 8 roll rate (rad/s) 1.. (a) Roll angle φ and roll rate ω x 4 6 7 8 pitch rate (rad/s). 4 6 7 8 1. 4 6 7 8 (b) Pitch angle θ and pitch rate ω y 4 6 7 8 yaw rate (rad/s) 1.. (c) Yaw angle ψ and yaw rate ω z 4 6 7 8 Figure 16: Stable flight with INDI - attitude response Conclusions We began by doing a theoretical comparison between the NDI and INDI techniques. The formulation of each control law was deduced for general state-space model system plants, from which we analyzed the major differences between the two techniques and the tradeoff they offer. The choice was found to be between the measurements of the dynamics of the system and high sampling time requirements of INDI with the accurate modeling of the complete system required by NDI. Next, we presented QuadR-ANT, the quadrotor platform built in the department and our chosen research platform to implement the INDI control. We derived a mathematical model of the quadrotor dynamics, with some simplifications and implemented it in Matlab/Simulink R. In this section we built the groundwork necessary for the test and implementation of the INDI controller. It is also worth noting that the dynamics of the quadrotor are unstable so we need to implement a controller to stabilize the system before any tests or measurements are made. In section 4 we finally apply the control laws studied for generalized systems in chapter 2 to the Quadr-ANT platform dynamic equations presented in chapter 3. We developed an attitude controller for the quadrotor based on feedback ization and cascaded proportional control loops for stabilization. 9

In the last chapter, we presented the simulation results of the implementation for both NDI and INDI, including the study of the only project parameter necessary to the implementation of INDI, a big advantage of model-base control. Next, we studied the performance of the angular acceleration predictor built for INDI and found it introduced some problems in the closed loop. We showed that the introduction of a delay can somewhat diminish those errors, with the penalty of slightly slower response and imperfect ization. We also presented robustness tests and compared the performance of NDI with INDI. The NDI controller showed better performance when faced with modeling uncertainties and lower sampling times while INDI showed better performance facing wind disturbances. INDI performing worse when facing lower sampling times was expected as its formulation is dependent on it, however being more sensitive to modeling uncertainties was not. This seems to be a side effect of the integrative effect, however, both controllers could deal correctly with this error as problems only arrived with relatively unistic uncertainty values. Regarding the wind robustness tests, the NDI controller was a bit inferior as it could not mitigate the stationary error brought by the wind torque. Finalizing, we presented an experimental validation of the INDI controller, where the platform QuadR- ANT, with an INDI implementation in the autopilot, achieved stable indoor flight. Though with a few problems in the yaw angle performance, we proved the feasibility of the INDI approach for the flight stabilization control on a quadrotor. References [1] S. J. R. Asseo. Decoupling of a class of non systems and its application to an aircraft control problem. Journal of Aircraft, (12):739 747, 1973. [2] J. Azinheira, A. Moutinho, and J. Carvalho. Lateral control of airship with uncertain dynamics using incremental non dynamics inversion. IFAC-PapersOnLine, 48(19):69 74, 21. [3] P.-J. Bristeau, F. Callou, D. Vissiere, and N. Petit. The navigation and control technology inside the AR.drone micro UAV. IFAC Proceedings Volumes, 44(1):1477 1484, 211. [4] D. J. Bugajski, D. F. Ems, and M. R. Elgersmaf. A dynamic inversion based control law with application to the high angleof-attack research vehicle. In Guidance, Navigation and Control Conference, Guidance, Navigation, and Control and Co-located Conferences, 199. [] R. Coelho. Quadrotor control using incremental non dynamics inversion. Master s thesis, Instituto Superior Tcnico, 217. [6] E. L. S. da Silva. Incremental non dynamic inversion for quadrotor control. Master s thesis, Instituto Superior Tecnico - Universidade de Lisboa, Portugal, 21. [7] D. J. F. Esteves. Development and experimental validation of an indoor low cost quadrotor: Hover stabilization with altitude control. Master s thesis, Instituto Superior Tecnico - Universidade de Lisboa, Portugal, 214. [8] G. M. Hoffmann, H. Huang, S. L. Waslander, and C. J. Tomlin. Quadrotor helicopter flight dynamics and control: Theory and experiment. In Proc. of the AIAA Guidance, Navigation, and Control Conference, volume 2, page 4, 27. [9] D. Ito, D. Ward, J. Valasek, D. Ito, D. T. Ward, and J. Valasekà. Robust dynamic inversion controller design and analysis for the X-38. In In AIAA Guidance, Navigation and Control Conference and Exhibit. Citeseer, 21. [] E. N. Johnson and S. K. Kannan. Adaptive flight control for an autonomous unmanned helicopter. In AIAA Guidance, Navigation and Control Conference, volume 11. Monterey, CA: AIAA, 22. [11] L. Landau and E. Lifshitz. Mechanics, pages 4 6. Pergamon Press, 196. [12] B. Morgan. The synthesis of multivariable systems by state-variable feedback. IEEE Transactions on Automatic Control, 9(4):4 411, 1964. [13] S. Sastry. Non systems: Analysis, stability and control. Springer-Verlag, 1999. [14] S. Sieberling, Q. Chu, and J. Mulder. Robust flight control using incremental non dynamic inversion and angular acceleration prediction. Journal of guidance, control, and dynamics, 33(6):1732 1742, 2. [1] P. Simplício, M. Pavel, E. Van Kampen, and Q. Chu. An acceleration measurements-based approach for helicopter non flight control using incremental non dynamic inversion. Control Engineering Practice, 21(8):6 77, 213. [16] P. V. M. Simplcio. Helicopter non flight control using incremental non dynamic inversion. Master s thesis, Instituto Superior Tecnico - Universidade de Lisboa, Portugal, 211. [17] P. Smith. A simplified approach to non dynamic inversion based flight control. In AIAA Atmospheric Flight Mechanics Conference and Exhibit, pages 762 77, 1998. [18] B. L. Stevens and F. L. Lewis. Aircraft control and simulation. John Wiley & Sons, 23. [19] W. M. Wonham and A. S. Morse. Decoupling and pole assignment in multivariable systems: a geometric approach. SIAM Journal on Control, 8(1):1 18, 197.