Non-linear Attitude Control and Guidance of a Quadrotor UAV MoisØs Jal(cid:243)n Baudet Thesis to obtain the Master of Science Degree in Aerospace Engineering Supervisor: Prof. JosØ Raœl Carreira Azinheira Examination Committee: Chairperson: Prof. Fernando JosØ Parracho Lau Supervisor: Prof. JosØ Raœl Carreira Azinheira Members of the Committee: Prof. Alexandra Bento Moutinho July 2014 To my parents, my sister and my aunt who always believed in me. Acknowledgments I would like to start by thanking Prof. Azinheira for the help provided, for the knowledge trasmitted and for all the patience shown during this whole year. I also want to thank Prof. Moutinho and Miguel Figuer(cid:244)a for teaching me about the telemetry and the di(cid:27)erent systems and sensors of the QuaVIST. Me gustar(cid:237)a dar las gracias tambiØn a toda mi familia, y en especial: A mi padre, hacia quien siento una inmensa admiraci(cid:243)n. Gracias por ser tan padre como amigo. Por tu apoyo incondicional. Por enseæarme el valor del trabajo. Porque con tu originalidad e ingenio plantaste la semilla de la ingenier(cid:237)a en mi. A mi madre, por todo su cariæo, amor, y con(cid:28)anza. Gracias por preocuparte de mi cada segundo del aæo. Gracias por enseæarme que no hay l(cid:237)mites para una persona trabajadora. A mi hermana, por preocuparse siempre de su hermano mayor. Por su con(cid:28)anza ciega. Porque pese a ser una cabezona y sacarme de quicio siempre que puede, no hay persona que me haga mÆs reir. A mi t(cid:237)a, por ser mi segunda madre. Gracias por todo tu constante apoyo y cariæo. Y por enseæarme a apreciarme a mi mismo y a valorar mi trabajo. Por otro lado, quisiera dar las gracias a mis amigos de toda la vida, por todos los momentos vividos, por ayudarme siempre en cualquier situaci(cid:243)n y porque no hay nada como echar unas risas con ellos. Gracias a mis colegas de la universidad, porque con ellos fue mÆs fÆcil soportar los malos ratos de la ESI. Gracias tambiØn a mis amigos de la erasmus, por este maravilloso aæo y por su apoyo durante este œltimo mes. Finalmente, hay una persona a la que me gustar(cid:237)a darle especialmente las gracias: un mill(cid:243)n de gracias Eva, por tu apoyo y paciencia in(cid:28)nitos. Por estar siempre en las buenas y en las malas, por aguantarme, por cuidarme. Y porque eres la œnica persona que sabe animarme y levantarme el Ænimo cuando estoy deca(cid:237)do. iii Abstract Inthiswork,inspiredbytwodi(cid:27)erentapproachesavailableintheliterature,wepresenttwowaysofnonlinear control for the attitude of a quadrotor unmanned aerial vehicle (UAV) : the (cid:28)rst one is based on backstep- ping and the second one is developed directly on the special orthogonal group, SO(3), using the Lyapunov stability theory. In order to prove the advantages of these nonlinear controllers, they will be compared with a proporcional derivative (PD) and a linear quadratic regulator (LQR) controllers, which are the typical solutions for controlling the quadrotor attitude. About the attitude estimation, a set of sensors composed by a 3-axis accelerometer, a 3-axis gyroscope and a 3-axis magnetometer will be used and several estimators based on the Kalman Filter will be studied. Once the full model is developed (made up of the quadrotor motion, actuators and sensors models) and a simulator is built, two levels of control will be implemented in a cascade control con(cid:28)guration: a low level control, for stabilizing or tracking attitude and altitude, and a high level control (bymeansofanhorizontalguidancecontroller)fortrackingadesiredpathinanhorizontal plane. OursimulationshowsthatthePDcontrollerisnotveryreliableworkingwithestimators,andthatthe nonlinear controllers present the best performace, although the LQR controller has also a quite acceptable behaviour. Keywords: Quadrotor, Nonlinear Control, Backstepping, Special Orthogonal Group SO(3), Extended Kalman Filter, Horizontal Guidance. iv Resumo Neste trabalho, baseados em duas solu(cid:231)ıes da literatura, sªo apresentadas duas maneiras diferentes de con- trolo nªo-linear para a atitude de um quadrotor-ve(cid:237)culo aØreo nªo tripulado: a primeira delas Ø baseada no mØtododebackstepping,enquantoqueasegundaØdesenvolvidadireitamentesobreogrupoespecialortogonal, SO(3), usando a teor(cid:237)a de estabilidade de Lyapunov. A (cid:28)m de testarmos as vantagens destes controladores nªo-lineares,serªocomparadoscomtantoumcontroladorproporcionalderivativo(PD)comouncontrolador regulador quadrÆtico linear (LQR), que constituem as solu(cid:231)ıes t(cid:237)picas para o controlo da atitude de um quadrotor. Com respeito (cid:224) estimativa da atitude, um conjunto de sensores composto por um aceler(cid:243)metro, um girosc(cid:243)pio e um magnet(cid:243)metro em trŒs eixos vªo ser usados e varios estimadores baseados no Kalman Filter serªoestudados. Umavezqueomodelocompletofordesenvolvido(compostopelosmodelosdamo(cid:231)ªo do quadrotor, dos atuadores e dos sensores) e o simulador for construido, dois n(cid:237)veis de controlo serªo im- plementados numa con(cid:28)gura(cid:231)ªo em cascata: um controlo de baixo n(cid:237)vel, para estabiliza(cid:231)ªo ou rastreamento da atitude e altitude; e um controlo de alto n(cid:237)vel, por meio de um controlador de guiamento horizontal, para o rastreamento de percursos desejados num plano horizontal. As simula(cid:231)oes mostram que o controlador PD nªoØmuitocon(cid:28)Ævelaotrabalharmoscomestimadores,edoqueoscontroladoresnªolinearesapresentamas melhorescaracter(cid:237)sticas,aindaqueocontroladorLQRtenhatambemumcomportamentobastanteaceitÆvel. Palavras Chave: Quadrotor, Controlo nªo-linear, Backstepping, Grupo Especial Ortogonal SO(3), Filtro de Kalman Extendido, Guiamento Horizontal. v Contents 1 Introduction 1 1.1 History of the quadrotor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Context and motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 State of the art . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.4 Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.5 Structure of the Thesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 I Modelling the Complete System 5 2 De(cid:28)nitions 6 2.1 Coordinate system and variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.2 Passing from one frame to another . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.3 Maneuvering a quadrotor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.4 Quadrotor properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.5 General assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3 Quadrotor Model 11 3.1 Kinematics and Dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.1.1 Forces and Moments model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.1.1.1 Aerodynamic Forces Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 4 Actuators Model 14 4.1 Propeller Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 4.2 BLDC Motors Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 vi 5 Sensors Model 18 5.1 Gyroscope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 5.2 Accelerometer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 5.3 Magnetometer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 5.4 Sensors properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 6 Simulinkfi Full Model Simulator 20 6.1 Quadrotor kinematics and dynamics block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 6.2 Sensors block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 6.3 Kalman Filter Estimator block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 6.4 Controller block. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 6.5 Vertical Force and Moments to Voltage block . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 6.6 Actuators block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 II Estimation 25 7 Attitude Estimation 26 7.1 Kalman Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 7.1.1 Linear Kalman Filter (LKF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 7.1.2 Simpler Linear Kalman Filter (SLKF) . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 7.1.3 Extended Kalman Filter (EKF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 7.1.4 Implementation and conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 III Control 35 8 Attitude and Altitude Control (Low Level Control) 36 8.1 Controllers Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 8.1.1 LQR Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 8.1.2 PID Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 8.1.3 Backstepping Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 8.1.4 SO(3) Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 8.2 Implementation of Attitude and Altitude Stabilization Controllers . . . . . . . . . . . . . . . 45 8.2.1 LQR Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 vii 8.2.2 PD Controller. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 8.2.3 Backstepping Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 8.2.4 SO(3) Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 8.2.5 Results with Ideal Sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 8.2.6 Results with EKF Attitude Estimation. . . . . . . . . . . . . . . . . . . . . . . . . . . 54 8.3 Implementation of Attitude Tracking and Altitude stabilization Controllers . . . . . . . . . . 57 8.3.1 LQR Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 8.3.2 PD Controller. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 8.3.3 Backstepping Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 8.3.4 SO(3) Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 8.3.5 Results with ideal sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 8.3.6 Results with EKF attitude estimation . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 9 Horizontal Guidance (High Level Control) 62 9.1 Horizontal Guidance Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 9.2 Carrot tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 9.3 Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 9.3.1 Results with ideal sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 9.3.2 Results with EKF estimation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 9.3.2.1 Without wind . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 9.3.2.2 With wind . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 IV Final Conclusions and Future Work 72 10 Conclusions and Contributions 73 11 Future Work 75 viii
Description: