Professor at L2S Sihem Tebbani

DR Nicolas Marchand

Franck Ruffier Dr

Pedro Castillo

Rogelio Lozano

Guillermo Julio

Cesar Betancourt

Nicolas Abdelnour

Louise Le Masne

Maxime Juston

Garance Verrier

Aurélien Quelin

Laure Tangre

Hénoïk Willot

Santiago Venegas

Alexis Pagnoux

Alexis Nauton

Quentin Mokossia N'guessan

Maxime Duchemin

Lola Beaugendre

Matěj Lejeune

Pierre Křístek

ROBUST CONTROL TECHNIQUES FOR DYNAMIC TARGET TRACKING

Kidzié and Anna Tailliez for all the unforgettable moments that we spent together at home. A huge thanks for the amazing conversations that I had with each one of you, for teaching me the french culture, for being so patience when I was learning french and for the unforgettable and uncountable hours of music and sport sessions. All my gratitude to all of you. I could say that I found my second family with all of you.

My especial thanks to Ricardo Sanz for always proposing me such amazing hikes. I passed a wonderful time walking and discussing about everything with you. You made mountains became really important to me and that gave me peace and energy. My thanks to Oscar Beltran, my cheerful and supportive friend with whom I shared many ups and downs of PhD life. Thanks a lot for always believing on me and for being such a good friend when I needed it. Thanks to Jesus Solis, for the unmemorable discussions about science, technology and life. Even with a huge distance and seven hours of time difference, you made possible to helped me with my Linux issues. You are truly good friends that I can see as my brothers.

Last, but far from least, I would have never reached the place where I am now without the endless support, love and encouragement of my parents, Abraham and Alma. I am immensely thankful for their confidence in me, which has allowed me to discover many aspects of life

I would like to deeply thank Pedro Castillo and Rogelio Lozano for giving me the opportunity to pursue my PhD under their supervision on an interesting interdisciplinary topic that included robots, dynamics, control, etc. This thesis would not have been possible without their continuous support, patience, advise, and availability. I can hardly express my gratitude in words to Pedro and Rogelio for letting me work in such an amazing lab that has been unique in many aspects. The availability of several advanced robots and equipments in our lab gave me an exceptional opportunity to work with many state-of-art platforms and to evaluate different aspects of my work in real world experiments. Thanks to them for all the time their spent to read and correct my articles and thesis and all their fruitful guidelines, without which this thesis would never have reached its current state.

I want to express also my gratitude to the institutions that supported this work from the beginning. To the Mexican Consejo Nacional de Ciencia y Tecnlogía (CONACYT) for the scholarship program that supported me during my PhD studies in France. A big thank you to the Heudiasyc (Heuristic et DIAgnostique des SYstèmes Complexes) laboratory and the Ècole Doctorale Sciences pour l'Ingenieur at the Université Technologie de Compiègne (UTC) that made this work possible with their PhD programs.

I would like to thank my examiners Professor Sihem Tebbani and the DR CNRS Nicolas Marchand that have honored me by accepting to read my thesis. Your insightful comments were undoubtedly a great asset for this thesis. My thanks are also for the HDR CNRS Reine Talj, Professors Didier Theilliol and Lounis Adouane as well the HDR CNRS Franck Ruffier for accepting to be part of my jury and giving very helpful commentaries of my thesis.

I have enjoyed each moment of my PhD life thanks to the amazing atmosphere at our lab. Every working day was full of interesting scientific and non-scientific discussions with such an awesome multifaceted group of people. I would like to immensely thank Guillaume Sanahuja, Gildas Bayard, Thierry Monglon, Alexis Offermann, Cristino de Souza, Hernan Abaunza and Belem Rojas with whom I had the opportunity to discuss, life, music, tv, science, games, religion, and many other interesting topics. A big thanks specially to Guillaume and Gildas for FL-AIR, an invaluable framework that helped me a lot to apply my methods on real and simulated robots. Their passion for robots and technology, their sense of humor and this endless knowledge on C++ have been an inspiration and a pleasure for me.

Thanks to Professor Pedro Gil and Vicente Balaguer for your support, knowledge and the great scientific discussions we had during our meetings. I hope to continue collaborating with you. i

Résumé

Cette thèse étudie la problématique du suivi de cibles mobiles à l'aide d'un drone aérien. Plus précisément, une configuration quadrotor a été utilisée pour le développement d'algorithmes de navigation aérienne. En effet, ce type de plateforme est simple mécaniquement, polyvalent pour effectuer des manoeuvres aggressives, et facilement disponible pour l'expérimentation.

L'objectif de cette thèse est de développer des algorithmes de contrôle et de navigation capables de suivre de manière robuste une cible dynamique. Les contributions rapportées ici présent une analyse unifiée et accessible des stratégies de contrôle pour résoudre les problèmes de stabilisation et de suivi. Cette thèse introduit également des algorithmes de navigation autonome et semi-autonome pour le suivi d'une cible statique et dynamique. Enfin, pour donner de la robustesse vis-à-vis d'une classe de perturbations, une architecture de contrôle robuste basée sur l'observateur de perturbations a été développée.

Techniques de contrôle des véhicules aériens : La première partie de ce travail a consisté à développer des contrôleurs de quadrotor dans le but de suivre de manière robuste des trajectoires et de réaliser des tâches de navigation précises. En effet, les problèmes de contrôle de stabilisation et de suivi d'un véhicule quadrotor ont été étudiés au cours des dernières décennies. Néanmoins, choisir la meilleure technique de contrôle pour résoudre ces problèmes n'est pas une tâche facile. Par conséquent, les stratégies de contrôle suivantes ont été introduites :

-Backstepping linéaires et non linéaires.

-Contrôle borné non linéaire.

-Contrôle virtuel basé sur des fonctions hyperboliques .

-Contrôle backstepping basé sur des quaternions.

-Convergence en temps fini basé sur le contrôle du mode glissant.

Algorithmes de navigation autonomes :

La partie suivante de cette thèse s'est concentrée sur le développement d'algorithmes semi-autonome et autonome qui permettent de détecter et de suivre une cible mobile, ainsi que de générer des trajectoires désirées afin que les contrôleurs précédemment développés puissent suivre. v

Résumé

Un algorithme de planification de trajectoire pour quadrotors basé sur un modèle de contrôle prédictif a été développé pour la génération autonome de trajectoires. L'algorithme a été résolu en temps réel grâce à une optimisation en ligne d'une fonction de coût. Ensuite, les trajectoires optimales ont été suivies à l'aide d'un simple contrôle borné non linéaire.

Ensuite, concernant la détection et le suivi d'une cible mobile au sol, une algorithme de navigation d'asservissement visuelle autonome a été proposé. L'algorithme considère que le véhicule terrestre imite un conducteur de voiture afin que ses mouvements soient décrits comme un champ vectoriel. De plus, le robot au sol est détecté en utilisant les propriétés de l'algorithme de flux optique bien connu. Ainsi, le quadrotor suit le véhicule au sol en utilisant la commande backstepping basée sur des quaternions.

Enfin, une architecture de contrôle virtuel semi-autonome permettant de contrôler des robots à distance a été développée en coopération avec l'équipe de réalité virtuelle du laboratoire Heudiasyc. L'architecture est composée d'un monde en miniature situé dans un environnement virtuel et d'un robot aérien réel situé dans une arène de vol. Le vrai robot aérien suit les positions et les vitesses désirent, provenant de l'environnement virtuel, à l'aide d'un contrôle backstepping basé sur le quaternion. Schéma de contrôle robuste : La dernière partie de cette thèse était consacrée à la conception d'une architecture de contrôle robuste capable de contrer les incertitudes du modèle et les perturbations externes telles que les rafales de vent et la perte d'efficacité des rotors. Cette architecture peut être vue comme suit : Une architecture de contrôle robuste basée sur un estimateur de perturbations a été introduite pour donner de la robustesse au système en boucle fermée vis-à-vis des incertitudes non linéaires et des petites perturbations externes. L'architecture a effectué des tests expérimentaux améliorant un contrôleur de rétroaction simple. Robotics research has advanced significantly the past years and it can now offer many elaborate solutions in artificial vision, path planning, decision-making, obstacle avoidance and environment modelingall these works aiming at endowing mobile machines with autonomy [2]. The research and development in the field of Unmanned Aerial Systems (UAVs) is experiencing an increasing quantity of investment all around the world. Small UAVs are often used as experimental platforms to research on state estimation, control, robotic collaboration, etc; since their dynamic maneuvering and natural instability pose important challenges that are not present with other robotic platforms. In addition, the maneuverability of UAVs is combined with a low payload capability, which in turn requires the development of algorithms with constrained computation requirements. This fact has resulted in many research focused on testing and demonstrating the possibilities of several sensors on these platforms.

List of Figures

Nowadays, UAVs can take off, fly and land almost without any human intervention. The work developed in this thesis is focused on quadrotors or quadcopters vehicles. These robots are composed basically by four motors, an Inertial Measurement Unit (IMU) for obtaining the orientation of the vehicle, a position sensor such as a GPS and a Central Processing Unit (CPU) where the control algorithm is executed [3]. Furthermore, a quadcopter is capable of handling complex tasks in cramped and crowded environments, as well as it has a simple control mechanism compared to the other types of UAVs [4]. Due to the cost reduction, in the last years, potential applications of quadcotpers have emerged for civil and military uses, such as airborne surveillance [START_REF] Menouar | Uav-enabled intelligent transportation systems for the smart city: Applications and challenges[END_REF], automated search and rescue [START_REF] Kerr | Battlefield mapping by an unmanned aerial vehicle swarm: Applied systems engineering processes and architectural considerations from system of systems[END_REF], military information gathering, military offensive actions, electrical transmission line inspection [START_REF] Ogan | Electrical transmission line inspection using unmanned aircraft[END_REF] and automated forest fire surveillance [START_REF] Sudhakar | Unmanned aerial vehicle (uav) based forest fire detection and monitoring for reducing false alarms in forest-fires[END_REF], to cite a few. A common point to most of these applications is that they are defined with respect to a reference frame, where a target needs to be tracked.

For instance, in the airborne surveillance or in the automated search and rescue applications, a target must be defined to be tracked and this one can be static, slowly moving, or maneuvering at high speeds.

Introduction

As a consequence of the aforementioned, there has been increasing interest in the quadrotor applications such as target-tracking, object detection and landing to drone station [START_REF] Bhaskaranand | Low-complexity video encoding for uav reconnaissance and surveillance[END_REF][START_REF] Tomic | Toward Bibliography a fully autonomous uav: Research platform for indoor and outdoor urban search and rescue[END_REF][START_REF] Liu | Reliable filter design for sensor networks using type-2 fuzzy framework[END_REF]. Especially, target-tracking is an essential task for quadrotors, as it has been proven to be an effective tool in search and rescue surveillance [START_REF] Doherty | A uav search and rescue scenario with human body detection and geolocalization[END_REF], following and providing aerial based video of sports events [START_REF] Lim | Monocular localization of a moving person onboard a quadrotor mav[END_REF]. Also, it has become a relevant field for the correct development of many multidisciplinary applications, such as traffic supervision, autonomous robot navigation, mapping, and aerial photography.

Problem statement

The target tracking problem has an ever-growing number of civilian applications, ranging from traditional applications such as air traffic control and building surveillance to emerging applications such as supply chain management and wildlife tracking. For such tasks, and due the simplicity and versatility of multirotors, in recent years, a large part of the scientific community have focused their attention in these kind of vehicles in front of other types of UAVs [START_REF] Amin | A review of quadrotor UAV: control methodologies and performance evaluation[END_REF]. Target tracking for UAV generally falls into two categories; cooperative tracking and non-cooperative tracking, respectively. In the cooperative tracking system, real time between the UAV and the target is required, such as a convoy [START_REF] Zhao | Quadcopter formation flight control combining MPC and robust feedback linearization[END_REF]. Compared with cooperative tracking, non-cooperative tracking has less limitations. Instead of real-time interaction, in the non-cooperative tracking system, the UAV is equipped with a camera so that the information of the target can be obtained using vision-based method. For a successful tracking system, the target needs to be kept within the camera view and distinguished from the environment in real time by the onboard computer. Then the visual information derived from the processing of images is used to control the motion of UAV to track the target and keep it at the center of the image frame.

Autonomously tracking moving target using multirotors, as illustrated in Figure 1.1, is not an easy task and many challenges have to emerge in different stages. However, when using a quadrotor vehicle, this problem can be divided into three process; 1) taking off, 2) detection of the moving target, and 3) tracking the moving target. Since the quadrotors are dynamically unstable, under-actuated, and nonlinear systems, it is very challenging to design a controller for a quadrotors to track a moving target especially under the varying speed of the moving target and under the environment effects. In the process of tracking a moving target using a quadrotor, there are still several challenges: (1) the completion with high precision and reliability of the target tracking problem using a quadrotor, (2) the non-linearity and uncertainties in the quadrotor system and (3) the external perturbations that can occur when tracking a moving target. The necessity of implementing novel and reliable autonomous navigation control methods for tracking moving targets, exploring the capabilities of robust control techniques and their applicability, defines the research framework from which this thesis has been developed. This thesis has a strong experimental and theoretical basis and the main research problems tackled during its realization have been: 1) a mathematical model of the aerial vehicle needs to be built such that it accurately describes the real vehicle but at the same time provides mathematical simplicity in order to aim at 2) the development of control algorithms that will deal with the stabilization and tracking problem, 3) Then, navigation methods must be designed to follow dynamic targets even in the presence of external disturbance, and consequently, 4) a robust control technique must to be exposed in order to overcome these external/internal perturbations.

Thesis objective

Thesis objective

For tracking target tasks, there is a need for the aerial vehicle to anticipate the movements of the mobile target in order to be 'a step ahead'. This brings the interest to the level of the decision process: a target that is evasive is going to actively attempt to hide behind obstacles and use this advantage to continue evading. In order to anticipate to the movements of this target, the aerial vehicle must be able to predict such situations and to react or plan before they even happen in order to maintain the continuity of the target tracking.

One of the main difficulties when designing a control system for solving the target tracking problem is, undoubtedly, the good choice of the controller in the presence of disturbances.

It should be remarked that disturbances are not necessarily external to the system itself, but they can be originated when sensing and/or actuating. Therefore, even if small, they can arise at any time.

Introduction

This thesis will approach the problem of tracking moving targets by means of an aerial drone, in our case a quadrotor vehicle. The goal of this thesis is to develop control and navigation algorithms capable to robustly tracking dynamic targets. As a result, the following control techniques must be addressed: autonomous navigation algorithms for the detection and trajectory tracking of the moving target, control laws for stabilizing the quadrotor and tracking desired trajectories with finite time convergence and, an enhancing control algorithm for dealing with unknown model dynamics and external perturbations while satisfying motor's constraints.

The objectives of this thesis can be summarized as follows:

• Develop a control based navigation method that allows the quadrotor vehicle to detect and track a moving target.

• Develop a path planning algorithm based on model predictive control, capable of generating optimal trajectories based on target's position.

• Develop control algorithms for stabilizing a quadrotor while tracking desired trajectories with finite time convergence.

• Develop a robust control architecture capable of dealing with external disturbances and undesired dynamics such as rotors fault.

State of the art

Quadrotor control techniques

In control systems for multirotor aerial vehicles there are two different types of control, depending on the loop to which the controller is applied; the position controller and the attitude controller. In fact, there is no direct actuation control per se. Attitude control is the concept of pointing a craft in the desired direction. More specifically, it involves controlling the orientation of the robot on its three Euler angles (θ, φ, ψ) and controlling the robot's thrust in the z-axis of the robot frame of reference. This is performed due to the underactuation characteristics of the robot. Then, the outputs of this control are sent to a mixing-of-motors algorithm to generate the reference signals for the actuators of the MAVs. In these cases, the attitude control algorithm must take into account the number of motors and their respective control signal. In contrast, position control is the controller that gives the Euler angles as references to the attitude controller in order for the MAV to move in a desired trajectory [START_REF] Loianno | Estimation, Control, and Planning for Aggressive Flight With a Small Quadrotor With a Single Camera and IMU[END_REF].

For the last 10 years, attitude and position were popularly controlled by monitoring the altitude (z-axis) using feedback linearization followed by a linear/nonlinear controller to achieve the desired altitude. The values of the control torque can be found by replacing the controlled altitude in the attitude expression. This method for designing the control torque will be denoted classical approach in this work.

State of the art

In addition, adaptive control has been studied to solve the problems of stabilization and tracking of the dynamics. In [START_REF] Beikzadeh | Trajectory tracking of quadrotor flying manipulators using l1 adaptive control[END_REF] a novel trajectory tracking scheme by combining two inner feedback linearization loops to stabilize the nominal quadrotor was presented. Moreover, a robust adaptive tracking control scheme based on a self-tuning regulator has been presented in [START_REF] Lei | Robust adaptive tracking control for quadrotors by combining pi and self-tuning regulator[END_REF]. This tracking method is implemented in the inner loop and a classical proportional integrator (PI) controller was employed in the outer loop such that the robustness of the whole system is guaranteed. Similarly, in [START_REF] Tomashevich | Passification based simple adaptive control of quadrotor[END_REF] the altitude and attitude control laws for the quadrotor based on the passivity method were introduced; the simulation results demonstrate high efficiency and robustness with respect to the plant parametric uncertainty.

Furthermore, a time-varying backstepping technique is presented in [START_REF] Santiaguillo-Salinas | Observer-based time-varying backstepping control for parrot's ar.drone 2.0[END_REF], where a 3D control tracking law is studied and applied experimentally on a quadrotor. This control law is implemented by assuming that only the position and orientation parameters of the vehicles are known; whereas the linear and angular velocities are estimated using Luenberger observers. Later on, this work was improved in [START_REF] Rosaldo-Serrano | Trajectory tracking for a commercial quadrotor via time-varying backstepping[END_REF] by considering a non-linear time-varying version of the backstepping technique. This work takes all the non-linearities of the dynamics into account; resulting in a higher stability validated theoretically with numerical simulations.

Moreover, dynamic inversion is a new control technique developed in [START_REF] Ansari | Tracking control of quadrotor using generalized dynamic inversion with constant-proportional rate reaching law[END_REF][START_REF] Das | Dynamic inversion with zero-dynamics stabilisation for quadrotor control[END_REF] for the stabilization and dynamics tracking of a quadrotor vehicle. The tracking controller is composed of two loops; the dynamic inversion is implemented in the inner loop, where an internal dynamics stabilization is applied to the outer loop. The control objectives are enclosed in the form of constraint differential equation, and the resultant control law is obtained by inverting the constraint dynamics using Moore-Penrose Generalized Inverse (MPGI). Computer simulations were performed to exhibit the performance of the offered control technique in nominal and perturbed conditions. In addition to the dynamic inversion controllers, an integral backstepping controller with sliding mode control approach for a quadrotor was proposed in [START_REF] Antonio-Toledo | Real-time integral backstepping with sliding mode control for a quadrotor uav[END_REF]. In this approach the control of the UAV is performed in the altitude and position control. The altitude control produces translational force, which is used to calculate virtual controls for the

x and y movements and desired angles for pitch and roll. The proposed controller was tested in a Qball-X4 prototype. In the same sense, a hierarchical control was addressed in [START_REF] Escareño | Trajectory control of a quadrotor subject to 2d wind disturbances[END_REF] based on sliding-mode and adaptive control techniques to deal with slow and fast time-varying wind conditions respectively. Simulations results show the validity of the proposed control strategy while tracking a time-parametrized straight-line and sinusoidal trajectory.

Recently, a new fashion to design the torque control of the vehicle is considering the vehicle model fully actuated by means of a virtual input. In this thesis, we will call the aforementioned as virtual approach. In this context, there are some works exploiting the differential flatness of the quadrotor model and then, with a trajectory generation algorithm, compute highperformance flight trajectories that are capable of moving a quadrotor from a large class of initial states to a given target point that will be reached at rest [START_REF] Hehn | Real-Time Trajectory Generation for Interception Maneuvers with Quadrocopters[END_REF][START_REF] Faessler | Differential Flatness of Quadrotor Dynamics Subject to Rotor Drag for Accurate Tracking of High-Speed Trajectories[END_REF][START_REF] Mellinger | Minimum Snap Trajectory Generation and Control for Quadrotors[END_REF]. For example, in [START_REF] Wang | Trajectory tracking control of a 6-dof quadrotor uav with input saturation via backstepping[END_REF] a control scheme based on a virtual control input using a backstepping approach with Nussbaum function, a priori-bounded control torque for the rotational subsystem was designed to track the desired orientations generated by the translational subsystem.

Introduction

In the same sense, a robust cost controller derived by Lyapunov stability theorem was addressed in [START_REF] Xu | Obstacle avoidance algorithm for UAVs in unknown environment based on distributional perception and decision making[END_REF]. The designed robust controller guarantees that the closed-loop system converge asymptotically stable and its robustness with respect to parameter uncertainties. Besides, in [START_REF] Rakesh | Trajectory tracking control for underactuated thrust-propelled aerial vehicles[END_REF] the tracking control problem was solved using a two step approach. First, a translational control scheme that tracks the desired position trajectory is constructed assuming the translational dynamics to be fully actuated. The magnitude of the translational control input is used as the magnitude of the control thrust. Second, the unit vector representing the direction of the translational control input used as the desired thrust direction.

The application of quaternions for controlling aircraft systems was introduced in [START_REF] Ickes | A new method for performing digital control system attitude computations using quaternions[END_REF], where the authors used quaternion products to rotate control vectors between different reference frames. It was remarked that quaternions are not affected by some undesired effects that are inherent to Euler angles such as Gimball locks, singularities, and discontinuities, the authors also emphasized that quaternion operations require less computational resources than computing rotation matrices from other approaches. Later on, quaternion-based techniques were also applied to quadrotor vehicles such as [START_REF] Pukdeboon | Quasi-continuous higher order sliding-mode controllers for spacecraft-attitude-tracking maneuvers[END_REF], where the authors proposed a quaternion high-order sliding mode algorithm to control attitude trajectory on spacecraft, while [START_REF] Zhu | Adaptive sliding mode control for attitude stabilization with actuator saturation[END_REF] also introduced a quaternion sliding mode control for spacecraft, but with adaptive properties that consider actuator saturation scenarios. A comparison of several quaternion-based control algorithms for quadrotors was introduced by [START_REF] Chovancová | Comparison of various quaternionbased control methods applied to quadrotor with disturbance observer and position estimator[END_REF], where proportional-derivative (PD), linear quadratic regulartor LQR, and backstepping position and attitude controllers were compared with simulations. More recent contributions have explored other properties of quaternion-based dynamic systems. For example, [START_REF] Izaguirre-Espinosa | Fractional attitude-reactive control for robust quadrotor position stabilization without resolving underactuation[END_REF] and [START_REF] Izaguirre-Espinosa | Attitude control of quadrotors based on fractional sliding modes: theory and experiments[END_REF] proposed fractional slidingmode controllers using quaternions to stabilize the quadrotor attitude dynamics, while also considering finitetime convergence of the system dynamics based on a fractional-order system.

In [START_REF] Ling | Aggressive quadrotor flight using dense visual-inertial fusion[END_REF], researchers estimated quadrotor position and attitude information during aggressive trajectories by only employing cameras and inertial sensors, quaternion operations were used in the proposed algorithm.

Furthermore, a trajectory tracking control law with finite-time convergence on the nonlinear manifold SE(3) is more desirable since most of the existing finite-time control law only stabilizes attitude. The closed-loop systems under finite-time control usually demonstrates faster convergence rate, higher tracking precision, better disturbance rejection properties and robustness against uncertainties [START_REF] Bhat | Finite-time stability of homogeneous systems[END_REF][START_REF] Sanjay | Finite-time stability of continuous autonomous systems[END_REF][START_REF] Bhat | Geometric homogeneity with applications to finite-time stability[END_REF]. A continuous finite-time controller based on homogeneity was developed for robot manipulators in [START_REF] Hong | Finite-time control for robot manipulators[END_REF]. Following the same ideas, in [START_REF] Du | Finite-time attitude stabilization for a rigid spacecraft using homogeneous method[END_REF] a finite-time attitude stabilizing result based on homogeneous method was presented. Latter on, this work was improved in [START_REF] Du | Finite-time attitude tracking control of spacecraft with application to attitude synchronization[END_REF] but in this case, the attitude was represented using Modified Rodriguez Parameters. A finite-time stabilization law with almost global convergence was developed for a rigid body using rotation matrices for representing attitude in [START_REF] Amit | Almost global finite time stabilization of rigid body attitude dynamics[END_REF][START_REF] Bohn | Almost global finite-time stabilization of rigid body attitude dynamics using rotation matrices[END_REF] but the method was not extended for the position dynamics.

State of the art

Autonomous navigation algorithms

Planning algorithms

Trajectory planning problems for quadrotors were not widely studied using these approaches. This problem is mostly characterized as an optimization problem subject to constraints as velocity, bounded input, etc [START_REF] Bryson | Applied optimal control: Optimization, estimation, and control[END_REF], [START_REF] Todorov | Optimal Control Theory[END_REF]. Nevertheless, the path planning for autonomous navigation have been studied in many fields, including robotics, aerial vehicles, aquatics vehicles and space aircraft [START_REF] Chandler | Research issues in autonomous control of tactical UAVs[END_REF], [START_REF] Frazzoli | Robust hybrid control for autonomous vehicle motion planning[END_REF], [START_REF] Steven | Planning Algorithms[END_REF]. Yang et al. [START_REF] Lai | Time-Optimal Control of a Hovering Quad-Rotor Helicopter[END_REF] treated the problem of time-optimal control of a quadcopter by using a nonlinear programming method coupled with a genetic algorithm. They succeeded to generate in simulation minimum time point-to-point trajectories under various technological constraints. Cowling et al. [START_REF] Lai | Time-Optimal Control of a Hovering Quad-Rotor Helicopter[END_REF] presented an optimal trajectory planner with a linear control scheme to follow a reference trajectory. Authors exploited the differential flatness of the quadcopter to address the optimization problem within the output space.

In addition, in [START_REF] Castillo | Unmanned helicopter waypoint trajectory tracking using model predictive control[END_REF] the authors proposed a model predictive control based on trajectory tracking system for small unmanned helicopters. It is based on a linear model predictive controller and the simulations results show a good robustness for parameter uncertainty. In [START_REF] Beji | Modeling, Motion planning and Control of the drone with revolving Aerofoils: an Outline of the XSF Project[END_REF] authors addressed the stabilization with motion planning problem of a standard quadcopter. They showed that the system presents a flat output and exploited this fact in the treatment of the motion generation problem. Recently in [START_REF] Nolte | Model predictive control based trajectory generation for autonomous vehicles -an architectural approach[END_REF] the authors introduce an architecture approach based on MPC for path planning in aerial vehicles. The approach considers the tactical formulation and reformulation of optimization parameters and constraints based on self-assessment and feasibility information from the MPC framework. The applicability of chosen approach has been demonstrated in simulative set-up for several planning scenarios.

A linear and nonlinear model predictive control scheme were presented in [START_REF] Ru | Nonlinear Model Predictive Control for Unmanned Aerial Vehicles[END_REF] to control a quadcopter platform with the goal to track various reference trajectories. The closed loop stability analysis of the linear and nonlinear control schemes were presented to show the similarities, as well as to highlight the differences. In [START_REF] Neunert | Fast nonlinear model predictive control for unified trajectory optimization and tracking[END_REF] the authors develop a framework for real time, full-state feedback, unconstrained, nonlinear model predictive control that combines trajectory optimization and tracking control in a single, unified approach. The performance of the approach was validated on two different hardware platforms, an AscTec Firefly hexacopter and the ball balancing robot Rewero. More recent works as [START_REF] Hehn | Real-Time Trajectory Generation for Interception Maneuvers with Quadrocopters[END_REF] present a trajectory generation algorithm that allows the fast computation of high-performance flight trajectories to move the quadcopter from a large class of initial states to a given target location.

The algorithm was computed in a ground station and not on-board. In [START_REF] Morbidi | Minimum-Energy Path Generation for a Quadrotor UAV[END_REF] the authors have been developed by solving an optimal control the minimum-energy paths trajectories. Only simulations were developed to validate the strategy established.

Introduction

Aerial visual servoing

Regulation of visual relative position and yaw with a quadrotor, assuming 2D ground target, has been studied for landing [START_REF] Serra | Landing of a quadrotor on a moving target using dynamic image-based visual servo control[END_REF], and saturated visual servoing [START_REF] Jabbari | Bounded-input control of the quadrotor unmanned aerial vehicle: A vision-based approach[END_REF], using spherical projection [START_REF] Mebarki | Velocity-free image-based control of unmanned aerial vehicles[END_REF], also assuming that the target remains in the FoV, though [START_REF] Zheng | Planning and tracking in image space for image-based visual servoing of a quadrotor[END_REF] addressed how to handle constraints to enforce that, improving the control loop with a backstepping scheme in [START_REF] Zheng | Image-based visual servoing of a quadrotor using virtual camera approach[END_REF]. Moreover, simplified control design can be obtained with the virtual camera approach, [START_REF] Fink | Nonlinear dynamic imagebased visual servoing of a quadrotor[END_REF], or exploiting the conventional perspective projection, [START_REF] Jabbari | An adaptive scheme for image-based visual servoing of an underactuated uav[END_REF], which represents image plane velocity at predefined height. In contrast, most approaches use the well-known eye-in-hand Image-Based Visual Servoing of [START_REF] Chaumette | Visual servo control. i. basic approaches[END_REF], to derive an orthodox visual servoing of a ground target by quadrotors, [START_REF] Gomez-Avila | Ground vehicle tracking with a quadrotor using image based visual servoing[END_REF]. However, neither approaches consider any physical constraint of the mobile robot and the quadrotor capabilities or limitations. Due to the complexity of airborne visual tracking, multiple processing units are considered to switch and balance computational load, [START_REF] Altug | Control of a quadrotor helicopter using dual camera visual feedback[END_REF]. Optical flow is a cautious alternative to provide damping at image plane, [START_REF] Herisse | A nonlinear terrain-following controller for a vtol unmanned aerial vehicle using translational optical flow[END_REF], given that it is not a derivative, similar to [START_REF] Altug | Control of a quadrotor helicopter using dual camera visual feedback[END_REF].

Advanced control schemes have been proposed, such as fractional control with conventional vision, [START_REF] Heera Lal Maurya | Vision-based fractional order sliding mode control for autonomous vehicle tracking by a quadrotor uav[END_REF], however the power of such scheme is not exploited due to its assumptions, which are based on conventional ideal conditions. The difficulty to implement the scheme arises since it considers attitude acceleration measurements, thus chattering is introduced in the second derivative of position control, unlike [START_REF] Oliva-Palomo | A fractional nonlinear pistructure control for robust attitude tracking of quadrotors[END_REF] where complex disturbance are compensated with continuous fractional control. Path tracking is also considered in [START_REF] Thomas | Autonomous flight for detection, localization, and tracking of moving targets with a small quadrotor[END_REF] by formulating a constraint quadratic program problem given the field of view and maximum acceleration, however the numerical solution may not guarantee smooth enough trajectories, which may demand a high battery consumption attempting to reduce L 2 norm.

Furthermore, a fuzzy engine is proposed to smooth out and produce allowable quadrotor trajectories from monocular camera, [START_REF] Huang | Visual servoing of micro aerial vehicle landing on ground platform[END_REF], however neglecting the physics of quadrotor and mobile robot, similar to [START_REF] Lippiello | Visual coordinated landing of a uav on a mobile robot manipulator[END_REF], where a hybrid scheme is proposed with a mobile manipulator, with dual-task planning. More general sensory data are considered for drones to propose obstacle evasion and target, nevertheless assuming in addition perfect knowledge of obstacles and target for intersection planning in looking-ahead trajectories, [START_REF] Ahmad | Real-time quadrotor navigation through planning in depth space in unstructured environments[END_REF], even in civil cluttered flying conditions, [START_REF] Wan | Unmanned aerial vehicle video-based target tracking algorithm using sparse representation[END_REF], all based on potential fields and civil aviation rulings, [START_REF] Alturbeh | Visual flight rules-based collision avoidance systems for uav flying in civil aerospace[END_REF]. For missile drones, the look-ahead scheme is more critical, [START_REF] Li | Better cooperative control with limited look-ahead[END_REF], similar to heavy oil tankers, [START_REF] Siddiqui | A periodic planning model for maritime transportation of crude oil[END_REF], to avoid obstacles and converge to the target. In addition, it is customary to assume monocular camera based on the virtual camera approach that aligns the image plane collinear to the ground plane of the vehicle.

State of the art

Semi-autonomous navigation

In extreme or unsafe environments (space exploration, tele-surgery, mine excavation, high pressure, high temperature, biological contamination and so on), traditional methods inevitably expose operators to danger on-site. Teleoperation systems are a promising solution when it is physically dangerous or impossible for an operator to be in a piece of a equipment or its neighborhood. Despite the concept of teleoperation was proposed decades ago [START_REF] Gray | Nineteenth-century torpedoes and their inventors[END_REF], it has not been widely implemented in real applications. One of the major impediments is associated with the user's limited situational awareness [START_REF] Murphy | Up from the rubble: Lessons learned about hri from search and rescue[END_REF]. It is defined as "the perception of the elements in the environment within a volume of time and space, the comprehension of their meaning, and the projection of their status in the near future" [START_REF] Endsley | Design and evaluation for situation awareness enhancement[END_REF].

New remote interaction solutions such as voice or video conferencing have reached a high level of sophistication and widespread use as an aid for the solution of the teleoperation problem. While the feeling of being present in a remote environment is clearly available with these systems, a complete immersion cannot be realized without the possibility of physical interaction with the remote environment. Haptic solutions, as an extension of visual and auditory modalities, refer to both kinesthetic and tactile information and include position, velocity, force, torque, vibration, etc. Using a teleoperation system with haptic feedback, the users can thus truly immerse themselves into a distant environment, i.e., modify it, and execute tasks without physically being present but with the feeling of being there. Several possible teleoperation schemes using haptic feedback to steer single or multiple robots have been proposed in the last decade [START_REF] Gioioso | A force-based bilateral teleoperation framework for aerial robots in contact with the environment[END_REF][START_REF] Li | A novel bilateral haptic teleoperation approach for hexapod robot walking and manipulating with legs[END_REF][START_REF] López Martínez | Robust high performance bilateral teleoperation under bounded time-varying dynamics[END_REF][START_REF] Santiago | Human-inspired stable bilateral teleoperation of mobile manipulators[END_REF][START_REF] Ye | Bilateral teleoperation with time-varying delay: A communication channel passification approach[END_REF][START_REF] Lee | Controller designs for bilateral teleoperation with input saturation[END_REF].

Within the robotics field, there has been great enthusiasm on multi-rotor vehicles due their characteristics: hovering capability, maneuverability and small size. Most of the applications designed for these vehicles concern, inspection and surveillance of places where can result inaccessible by humans. The possibility of letting aerial robots interacting with the environment, opens an additional wide set of potential applications for aerial robots like, i.e., maintenance, construction, cooperative grasping and transportation. Most of them require the physical interaction of the robots with the surrounding objects and uncertain and unknown environments that could make the fully-autonomous control of the vehicle practically unreliable. Thus, the teleoperation intervention becomes advisable to handle this kind of issues. In [START_REF] Mahony | A new framework for force feedback teleoperation of robotic vehicles based on optical flow[END_REF][START_REF] Rifaï | Haptic-based bilateral teleoperation of underactuated unmanned aerial vehicles[END_REF][START_REF] Hou | Environmental force reflection in an admittance configured haptic interface for teleoperation of vtol aerial robots[END_REF][START_REF] Slawiñski | Control for delayed bilateral teleoperation of a quadrotor[END_REF] a bilateral teleoperation for Vertical Take off Landing (VTOL) vehicles, based on impedance controllers with haptic feedback and considering time-varying delays were carried out. Main results consist in providing the stability of the teleoperation loop with respect to bounded external forces (i.e. operator and environment forces). Simulation and experimental results were showed to verify the effectiveness and performance of the proposed schemes.

One important feature in a teleoperation system is the visual feedback of the remote environment. It comes often from one or more monocular cameras mounted on the robot, which lead to several problems as the limited field of view (FoV), lack of visualization and poor visibility.

Introduction

New different aerial drones teleoperation, considering in a different manner the visual feedback, have been developed based on graphic interfaces [START_REF] Fernández | Natural user interfaces for human-drone multi-modal interaction[END_REF][START_REF] Regenbrecht | A robust and intuitive 3d interface for teleoperation of autonomous robotic agents through immersive virtual reality environments[END_REF][START_REF] Abut | Haptic industrial robot control and bilateral teleoperation by using a virtual visual interface[END_REF][START_REF] Naceri | Towards a virtual reality interface for remote robotic teleoperation[END_REF][START_REF] Nahri | Haptic system interface design and modelling for bilateral teleoperation systems[END_REF][START_REF] João | Teleoperation using google glass and ar, drone for structural inspection[END_REF]. For instance, several simulations and experimental tests for the inspection of buildings using interfaces based on the head and gestures positions, and a wearable exoskeleton interface were presented in [START_REF] Fernández | Natural user interfaces for human-drone multi-modal interaction[END_REF][START_REF] Suarez | Lightweight and compliant long reach aerial manipulator for inspection operations[END_REF]. The main strength of the proposed interaction methods is the ability to perform multi-modal interactions. In [START_REF] Paulin Hansen | The use of gaze to control drones[END_REF] an experimental study of gaze-based control modes for unmanned aerial vehicles with ten participants performing a simple flying task was performed. Several experimental tests were carried out. Furthermore, an approach based on Non-Invasive BCI device with expressive manner on face in remote presence using quadcopter control with the Emotive EPOC headset was implemented in [START_REF] Lin | Implementing remote presence using quadcopter control by a non-invasive bci device[END_REF]. Electroencephalogram signals were used in experimental tests to tele-operate the vehicle. A disadvantage for all of these interfaces is that the recognition algorithms must be precise and that the user needs to be close to the drone's camera in order to recognize the gestures or visual markers. In other words, it is required to have the vehicle in the line of sight (LoS).

Recent advances in the field of Virtual Reality (VR) have allowed to use this technology improving the teleoperation systems [START_REF] Liu | Design of virtual reality teleoperation system for robot complex manipulation[END_REF][START_REF] Kim | Mapping system with virtual reality for mobile robot teleoperation[END_REF]. For example, in [START_REF] Yew | Immersive augmented reality environment for the teleoperation of maintenance robots[END_REF] an immersive Augmented Reality (AR) environment for conduction remote maintenance via a robot has been proposed. The AR environment has been designed to enhance the operator's situational awareness of the robot as well as the maintenance tasks so as to reduce the cognitive load on the operator. However, neither simulation nor experimental tests were presented. In [START_REF] Walter | Virtual uav ground control station[END_REF] a ground control station for drones based in an immersive virtual environment was developed. The environment simultaneously informs the operator about the position and condition of the vehicles. Hence, only simulation results were developed. Furthermore in [START_REF] Huang | Flight, camera, action! using natural language and mixed reality to control a drone[END_REF] an interface based in a mixed reality environment and natural language for controlling UAVs was developed. Real experimental tests were carried out using a set of known virtual landmarks. Finally in [START_REF] Macchini | Hand-worn haptic interface for drone teleoperation[END_REF] a wearable interface for drone teleoperation is presented. This interface was constituted from a data glove to allow the user to control the drone trajectory by hand motion and a haptic system used to augment their awareness of the environment surrounding the robot. Nevertheless, simulations and experimental tests were performed in line of sight.

Disturbance rejection robustness

With the increasing requirement of autonomous flight under different conditions, controlling a quadcopter stills an important challenge, for example, the position and attitude controls of the quadcopter are extremely sensitive to external disturbances, such as wind gusts. And therefore, the design of robust regulators become more and more attractive to outdoor missions and practical applications. In particular, robustness issues may be critical for quadcopter control since they can be subjected to undesired nonlinear dynamics and external disturbances. In order to weaken the effect of wind gusts, some authors have proposed complex control techniques to achieve stability. To deal with this problem, in [START_REF] Yang | Adaptive robust servo constraint tracking control for an underactuated quadrotor uav with mismatched uncertainties[END_REF][START_REF] Jin | Robust adaptive neural network-based compensation control of a class of quadrotor aircrafts[END_REF][START_REF] Labbadi | Robust adaptive nonsingular fast terminal sliding-mode tracking control for an uncertain quadrotor uav subjected to disturbances[END_REF] adaptive controllers with different structures were proposed and verified by simulations and experiments on test bench.

State of the art

Disturbance Observer Based Control (DOBC) has been demonstrated to deal with disturbances without adding a significant computational requirement. These techniques are based on observing the inputs and the outputs of the plant and, based on the theoretical response that should be obtained, attributing everything inexplicable to a disturbance [START_REF] Guo | Anti-disturbance control theory for systems with multiple disturbances: A survey[END_REF]. Such behavior can range from external disturbance to modeling errors and nonlinearities. Nevertheless, the provenance of the disturbance is not relevant for these methodologies. Among the most used DOBC techniques are the following: Disturbance Observer (DOBC) [START_REF] Ding | Disturbance observer design for nonlinear systems represented by input-output models[END_REF], which uses the theoretical transfer function to observe the theoretical input and the difference is the disturbance; Active Disturbance Rejection Control (ADRC) [START_REF] Han | From PID to active disturbance rejection control[END_REF], which approximates the plant to a integrator chain and all the other behavior is disturbance; Generalized Extended State Observer (GESO) [START_REF] Li | Generalized extended state observer based control for systems with mismatched uncertainties[END_REF], which uses an observer with the model and assumes that the disturbance is constant, and the Uncertainty and Disturbance Observer (UDE) [START_REF] Balaguer | Two-degree-offreedom PID tuning based on an uncertainty and disturbance estimator[END_REF], which uses the model and the known plant state in order to obtain an approximation of the disturbance.

In addition to this, some works have been proposed to deal with variable delays [START_REF] González | Event-triggered predictor-based control with gain-scheduling and extended state observer for networked control systems[END_REF] or even Networked control systems [START_REF] Gonzalez | Gain-scheduled predictive extended state observer for time-varying delays systems with mismatched disturbances[END_REF] in order to add uncertainties that could arise into the system and as well as improving the robustness in minimum phase systems [START_REF] Kurkçu | Disturbance/uncertainty estimator based robust control of nonminimum phase systems[END_REF][START_REF] Deng | On vibration rejection of nonminimumphase long-distance laser pointing system with compensatory disturbance observer[END_REF].

Likewise, these techniques have been successfully validated in multitude of real problems such as robotic manipulators [START_REF] Mohammadi | Nonlinear disturbance observer design for robotic manipulators[END_REF], positioning of UAVs [START_REF] Du | Robust dynamic positioning of ships with disturbances under input saturation[END_REF] or the magnetic levitator [START_REF] Ginoya | Stateand-disturbance-observer-based sliding mode control of magnetic levitation systems[END_REF]. Among the presented techniques is worth to mentioning the UDE. In the state of art of this technique, there are many examples that have been validated experimentally when dealing with the quadrotor system. For instance, in [START_REF] Lu | Uncertainty and disturbance estimator-based robust trajectory tracking control for a quadrotor in a global positioning system-denied environment[END_REF], a comparison between the UDE and the classic PID to highlight the advantages and disadvantages of each one of the controllers is presented. Furthermore, a quadrotor slung load control, where the UDE compensates the variable mass, was proposed in [START_REF] Qian | Path-following control of a quadrotor uav with a cable-suspended payload under wind disturbances[END_REF]. And finally, in [START_REF] Lu | Uncertainty and disturbance estimatorbased global trajectory tracking control for a quadrotor[END_REF], the authors present a study of the UDE for controlling a quadrotor using the quaternion formalism.

Dealing with rotors failures

Fault Tolerant Control (FTC) techniques [START_REF] Shen Yin | A review on recent development of spacecraft attitude fault tolerant control system[END_REF] are used to deal with failures that could arise from the system, preventing the performance degradation and making the control system safe and reliable. These techniques can be classified into passive and active [START_REF] Ortiz-Torres | Fault estimation and fault tolerant control strategies applied to vtol aerial vehicles with soft and aggressive actuator faults[END_REF]. In the first case, the controller works itself to minimize the effect of the failures but, it is not capable to overcome them. Nevertheless, in the second case, when the fault occurs, a self-reconfigurable controller is applied in order to maintain the desired performance of the system. These kinds of techniques generally use the following methodology [START_REF] Zhang | Bibliographical review on reconfigurable fault-tolerant control systems[END_REF]: the identification of the plant in regular operation, control tuning for the regular operation, detection and identification of the possible fault and, the control law reconfiguration.

For instance in [START_REF] Sadeghzadeh | Active fault tolerant control of a quadrotor uav based on gainscheduled pid control[END_REF], the authors proposed an active FTC based on a Gain-scheduled PID combined with an observer capable to detect and identify faults on a quadrotor.

Introduction

A passive FTC was proposed in [START_REF] Merheb | Passive fault tolerant control of quadrotor uav using regular and cascaded sliding mode control[END_REF][START_REF] Gracia | Adaptive sliding mode control for robotic surface treatment using force feedback[END_REF] using a Sliding Mode Control (SMC) combined with a heuristic controller that was optimized for different possible faults scenarios and in [START_REF] Lyu | A thrust model aided fault diagnosis method for the altitude estimation of a quadrotor[END_REF] an extra sensor observer for thrust fault was presented. Recently, works on active FTC for quadcopter vehicles subjected to actuator partial faults can be found in [START_REF] Merheb | Active fault-tolerant control of quadrotor uavs based on passive controller bank[END_REF][START_REF] Nian | Robust adaptive fault estimation and fault tolerant control for quadrotor attitude systems[END_REF][START_REF] Ortiz-Torres | Fault estimation and fault tolerant control strategies applied to vtol aerial vehicles with soft and aggressive actuator faults[END_REF].

In [START_REF] Merheb | Active fault-tolerant control of quadrotor uavs based on passive controller bank[END_REF], [START_REF] Nian | Robust adaptive fault estimation and fault tolerant control for quadrotor attitude systems[END_REF] the faults were injected when the vehicle is flying at hover position. To the best of our knowledge, only a few experimental validation for a quadcopter flying in a nonhover position have been validated, see [START_REF] Ortiz-Torres | Fault estimation and fault tolerant control strategies applied to vtol aerial vehicles with soft and aggressive actuator faults[END_REF] and [START_REF] Avram | Quadrotor actuator fault diagnosis and accommodation using nonlinear adaptive estimators[END_REF]. In [START_REF] Ortiz-Torres | Fault estimation and fault tolerant control strategies applied to vtol aerial vehicles with soft and aggressive actuator faults[END_REF], the authors developed a Fault Detection (FD) and accommodation algorithm using nonlinear adaptive estimation techniques. In addition, three observers were considered for the FD: a nonlinear adaptive observer and a linear Proportional-Integral Observer (PIO) applied to a Planar VTOL and a quasi-Linear Parameter Varying (qLPV) for a quadcopter.

Dealing with rotor's constraints

Despite several works found in the literature proposing robustness into the system, few of them bounds the control inputs for limiting the energy applied into the system. This is, because in some cases bounding, the control input the robustness is only guaranteed in a small range of external disturbances.

Bounding the control input is a challenge when implementing theoretical control results in real systems because, if the control signal exceeds the control inputs limits, it may lead to undesirable behavior of the system and damage its performance. The anti-windup technique is frequently used in wide range of applications to solve this problem. For example, the analysis of the aircraft control system with input saturation conducted in [START_REF] Andrievsky | Hidden oscillations in aircraft flight control system with input saturation[END_REF] has shown existence of hidden oscillations, which were compensated by an anti-windup scheme. In [START_REF] Van Den Berg | Convergent systems design: Anti-windup for marginally stable plants[END_REF] the anti-windup approach was proposed and then applied for the aircraft control problem in [START_REF] Andrievsky | Convergence based anti-windup design method and its application to flight control[END_REF][START_REF] Leonov | Aircraft control with anti-windup compensation[END_REF]. This anti-windup algorithm was based on the property of convergence for marginally stable linear plants with saturated inputs. Furthermore, in [START_REF] Faessler | Thrust Mixing, Saturation, and Body-Rate Control for Accurate Aggressive Quadrotor Flight[END_REF] an iterative thrustmixing scheme based on the LQR approach, to compute the desired single rotor thrusts and a prioritizing motor-saturation, was validated in real-time tests. In [START_REF] Smeur | Cascaded incremental nonlinear dynamic inversion for mav disturbance rejection[END_REF], a cascade integration of Incremental Nonlinear Dynamic Inversion (INDI) for the attitude and position control of micro aerial vehicles is addressed. Wind tunnel experiments show that the vehicle can enter and leave the 10 m/s wind tunnel flow with only 21 cm maximum position deviation on average. In most of all these works, the desired collective thrust and body torques need to be converted into four single rotor thrusts, which can then be applied by knowing the mapping from motors commands to rotor thrusts, denoted as thrust mapping.

Thesis outline 1.4 Thesis outline

This thesis is structured into four Chapters. Chapter II provides an introduction to the classical modeling quadrotor approaches. Fundamental concepts regarding the Euler-Lagrange, Newton-Euler and quaternion formalism are revisited.

A unified and accessible analysis, placing popular control algorithms into a proper context are addressed in Chapter III. The chapter is divided as follows: a comparison between popular and virtual control algorithms and a meticulous analysis is introduced in this chapter. Furthermore, a quaternion-based backstepping control is developed in the chapter. Finally, the finite-time convergence using sliding mode control is revisited. Experimental and numerical simulations results are provided to verify the performance of each control technique.

Part IV establishes some autonomous and semi-autonomous navigation algorithms that are combined with the controllers developed in Chapter III. This chapter is divided as follows: a path planning algorithm using model predictive control for the trajectory generation, a visual servoing control for the tracking and target detection and finally, a virtual control architecture for controlling robots remotely using a immersed virtual environment. Experimental results are provided in order show the good performance of the proposed algorithms as well their limitations.

Finally, Chapter V takes a slightly different perspective, as it provides a comprehensive and unified guide to understand disturbance rejection based observers from the theoretical and experimental point of view. This chapter is divided into three sections: the introduction of a robust control scheme for counteracting undesired dynamics, the enhanced robust architecture for counteracting loss of effectiveness in rotors, and a robust bounded control to handle motors constraints while counteracting external perturbations. Several numerical and experimental results are exposed to demonstrate the good performance of the developed architectures.

Part II Chapter 2 2 Modeling quadcopter vehicle approaches

Before stepping into the quadrotor control and navigation design, the mathematical model of the vehicle must be studied. The aim of this chapter is to present popular modeling approaches that exploit the whole properties of the vehicle. Considering all the parameters that fulfill the complete dynamic model of an aerial robot, e.g., the aeroelastic flutter effect, internal dynamics of the rotors, etc, are particularly important for control purposes. However, it comes when a whole set of changing variables that sometimes becomes unmanageable. Therefore, it is interesting to consider also simplified models constituted by a minimum number of states and inputs, but retaining the main features that must be considered when designing control laws for a real aircraft.

Most of the work developed for representing the dynamics of aerial vehicles are based on the Euler angles convention. This method is intuitive and easy to implement when simplifications are considered, e.g. non acrobatic maneuvers (slow movements, small angles). However, when more difficult tasks or applications are involved, the mathematical representation of the robot using this approach encounters some problems such as, complicated non-linear mathematical expressions, singularities, and gimbal lock.

Other option for representing the rotation of rigid bodies is the quaternion algebra. This kind of formalism has considerable advantages in comparison with the Euler angles method. For instance: lack of discontinuities and gimbal lock, and provision of mathematical simplicity. Moreover, quaternion multiplication makes less computational overhead in comparison to Euler angles because of its vector representation. In addition, quaternions need less memory space in comparison to Euler angles.

The models for the aerial vehicle developed in this thesis assume the following:

• The structure is supposed rigid.

• The structure is supposed symmetrical.

• The CoG and the body fixed frame origin are assumed to coincide.

• The propellers are supposed rigid.

• Thrust and drag are proportional to the square of propeller's speed.

Chapter 2. Modeling quadcopter vehicle approaches

This chapter is organized as follows: Section 2.1 introduces the elemental forces of a quadrotor aircraft. In Section 2.2 some of the classical modeling approaches based on Euler angles are presented. An explanation of the quaternion-based modeling methodology is detailed in Section 2.3 and finally, some conclusions are discussed in Section 2.4.

Force and moment in a rotor

According to blade element theory, which is used to model airfoil and rotor performances, the forces and moment developed on a uniform wing are determined by the lift and drag forces and a pitching torque [START_REF] Pounds | Towards dynamicallyfavourable quadrotor aerial robots[END_REF]. For a given rotor i with angular velocity ω i , the linear velocity at each point along the propeller is proportional to the radial distance from the rotor shaft. Thus the following equations can be stated [START_REF] Prouty | Helicopter performance, stability and control[END_REF]:

f i = C T ρ A p r 2 ω 2 i τ i = C Q ρ A p r 3 ω 2 i (2.1)
where f i represents the total thrust produced by rotor i = 1, • • • , 4, acting perpendicularly to the rotor plane neglecting blade flapping effect, τ i describes the rotor torque, r denotes the rotor radius, ρ symbolizes the air density and A p = πr 2 . C T and C Q are non-dimensionalised thrust and rotor torque coefficients, which can be computed using blade element theory [START_REF] Pounds | Modelling and control of a large quadrotor robot[END_REF], see It is a common practice to consider the aerodynamic parameters from (2.1) as constants,

k T ≈ C T ρ A p r 2 , k Q ≈ C Q ρ A p r 3 .
Taking into account a quadrotor symmetrical configuration, the total torque and thrust force produced on the vehicle by the propellers are computed as

F t h =    0 0 4 i =1 k T ω 2 i    , τ =    τ θ τ φ τ ψ    =    l k T ω 2 1 -ω 2 1 -ω 2 3 + ω 2 4 l k T ω 2 1 + ω 2 1 -ω 2 3 -ω 2 4 4 i =1 k Q ω 2 i (-1) 2    , (2.2)
where τ x , τ y and τ z denote the total torque components produced on each axis of the body reference frame, and F t h represents the total thrust force vector, acting in the vertical axis of the quadrotor.

Classical modeling approaches

Classical modeling approaches

In this section the three most popular techniques for modeling aerial vehicles will be introduced: the Euler-Lagrange, the Newton-Euler and the Euler-Lagrange based on quaternion formalism.

Euler-Lagrange approach

The model is obtained by representing the aircraft as a rigid body evolving in a 3 -D space due to the main thrust and three torques: pitch, roll and yaw as depicted in Figure 2.2.

Let the generalized coordinates of the aerial vehicle be expressed by

p = (x, y, z, ψ, θ, φ) ∈ R 6 (2.3)
where ξ = (x, y, z) ∈ R 3 denotes the position of the center of mass of the quadcopter relative to a fixed inertial frame I , and η = (ψ, θ, φ) ∈ R 3 are the Euler angles, ψ is the yaw angle around the z-axis, θ is the pitch angle around the modified y-axis, and φ is the roll angle around the modified x-axis, which represent the orientation of the quadcopter. Defining the Lagrangian

L( p, ˙ p) = T t r ans + T r ot -U , (2.4)
where T t r ans = m 2 ˙ ξ T ξ is the translational kinetic energy, T r ot = 1 2 Ω T I Ω means the rotational kinetic energy, U = m g ξ represent the potential energy of the rotorcraft, Ω signifies the angular velocity, I the inertia matrix, and g = [0 0g ] depicts the acceleration vector due the gravity.

Chapter 2. Modeling quadcopter vehicle approaches

The angular velocity vector Ω resolved in the body frame is related to the generalized velocities ˙ η by means of the kinematic relationship [145]

˙ η = W -1 v Ω, (2.5)
where

W v =    -sin θ 0 1 cos θ sin ψ cos ψ 0 cos θ cos ψ -sin ψ 0    , Ω =    φ -ψ sin θ θ cos φ + ψ cos θ sin φ ψ cos θ cos φ -θ sin φ    (2.6) Therefore T r ot = 1 2 ˙ η T J ˙ η with J = J( η) = W T v I W v and I =    I xx 0 0 0 I y y 0 0 0 I z z   
Note, the matrix J = J( η) acts as the inertia matrix for the full rotational kinetic energy of the quadcopter expressed in terms of the generalized coordinates η. Then, the dynamics equations describing the behavior of the full aerial vehicle are obtained from Euler-Lagrange equations with external generalized forces

d d t ∂L ∂ ˙ p - ∂L ∂ p = F ξ τ , (2.7)
where F ξ = R F t h ∈ R 3 is the translational force applied to the quadcopter due to main thrust directed out of the top of the vehicle with F t h = [0 0 u 1 ] T with u 1 = F t h . R denotes the rotational matrix R(ψ, θ, φ) ∈ SO(3) representing the orientation of the quadcopter relative to a fixed inertial frame:

R =    C θ C ψ C ψ S θ S φ -C φ S ψ S φ S ψ +C φ C ψ S θ C θ S ψ C φ C ψ + S ψ S θ S φ C φ S ψ S θ -S φ C ψ -S θ C θ S φ C θ C φ    (2.8)
where C θ and S θ stand for cos θ and sin θ, respectively. Developing (2.7), the Euler-Lagrange equation for the translation and attitude motion can be written as

m ¨ ξ = F ξ -m g (2.9) J ¨ η = τ -C( η, ˙ η) ˙ η (2.10)
where

C( η, ˙ η) = J-1 2 ∂ ∂ η ( ˙ η T J
) refers to the Coriolis term, which contains the gyroscopic and centrifugal terms associated with the η dependence of J. Expanding (2.10) is not an easy task and in several works, the full inertia matrix J is considered as diagonal and the Coriolis matrix is neglected.

Classical modeling approaches

Let us consider the case where the J is considered diagonal and C( η, ˙ η) is neglected. Thus, to simplify, it is possible to define

τ =    τθ τφ τψ    = J -1 ( τ -C( η, ˙ η)). (2.11)
Finally, we obtain from (2.9) and (2.10) considering (2.11)

m ẍ = -u 1 sin θ, θ = τθ m ÿ = u 1 cos θ sin φ, φ = τφ m z = u 1 cos θ cos φ -mg , ψ = τψ (2.12)
where x and y are coordinates in the horizontal plane, z is the vertical position, and τψ , τθ , and τφ are the yawing moment, pitching moment, and rolling moment, respectively. For the case when the Coriolis and the inertial matrix for the η dynamics in (2.7) are considered, therefore, rewriting the attitude dynamics yields

d d t Ω T I ∂ Ω ∂ ˙ η -Ω T I ∂ Ω ∂ η = τ, then ∂ Ω ∂ η = W η , Ω T I ∂ Ω ∂ ˙ η = [b 1 b 2 b 3 ] with b 1 = -I xx ( φS θ -ψS 2 θ ) + I y y ( θC θ S φ C φ + ψC 2 θ S 2 θ ) + I zz ( ψC 2 θ C 2 φ -θC θ S φ C φ ), b 2 = I y y ( θC 2 φ + ψC θ S φ C φ ) -I zz ( ψC θ S φ C φ -θS 2 φ ), b 3 = I xx ( φ -ψS θ ).
differentiating

Ω T I ∂ Ω ∂ ˙ η , ḃ1 = -I xx φS θ + φ θC θ -ψS 2 θ -2 ψ θS θ C θ + I y y θC θ S φ C φ -θ2 S θ S φ C φ -θ φC θ S 2 φ + θ φC θ C 2 φ + ψC 2 θ S 2 φ -2 ψ θS θ C θ S 2 φ + 2 ψ φC 2 θ S φ C φ + I zz ψC 2 θ C 2 φ -2 ψ θS θ C θ C 2 φ -2 ψ φC 2 θ S φ C φ -θC θ S φ C φ + θ2 S θ S φ C φ + θ φC θ S 2 φ -θ φC θ C 2 φ , ḃ2 = I y y θC 2 φ -2 θ φS φ C φ + ψC θ S φ C φ -ψ θS θ S φ C φ + ψ φC θ C 2 φ -ψ φC θ S 2 φ -I zz ψC θ S φ C φ -ψ θS θ S φ C φ -ψ φC θ S 2 φ + ψ φC θ C 2 φ -θS 2 φ -2 θ φS φ C φ , ḃ3 = I xx φ -ψS θ -ψ θC θ . Similarly, ∂ Ω ∂ η =    0 -ψC θ 0 0 -ψS θ S φ -θS φ + ψC θ C φ 0 -ψS θ C φ -ψC θ S φ -θC φ    Chapter 2. Modeling quadcopter vehicle approaches then Ω T I ∂ Ω ∂ η = [h 1 h 2 h 3 ],
where

h 1 = 0, h 2 = -I xx ψ φC θ -ψ2 S θ C θ -I y y ψ θS θ S φ C φ + ψ2 S θ C θ S 2 φ -I zz ψ2 S θ C θ C 2 φ -ψ θS θ S φ C φ , h 3 = I y y (-θ2 S φ C φ -ψ θC θ S 2 φ + ψ θC θ C 2 φ + ψ2 C 2 θ S φ C φ )I zz (-ψ2 C 2 θ S φ C φ + ψ θC θ S 2 φ -ψ θC θ C 2 φ + θ2 S φ C φ ), such that    τ θ τ φ τ ψ    =    ḃ1 -h 1 ḃ2 -h 2 ḃ3 -h 3    .
Then, regrouping all the terms developed above and using (2.10), thus, J is expressed as

J( η) =    I xx S 2 θ + I y y C 2 θ S 2 φ + I zz C 2 θ C 2 φ C θ C φ S φ (I y y -I zz ) -I xx S θ C θ C φ S φ (I y y -I zz ) I y y C 2 φ + I zz S 2 φ 0 -I xx S θ 0 I xx ,    (2.13)
and

C( η, ˙ η) =    c 11 c 12 c 13 c 21 c 22 c 23 c 31 c 32 c 33    (2.14)
where

c 11 = I xx θS θ C θ + I y y (-θS θ C θS 2 φ + φC 2 θ S φ C φ) -I zz ( θS θ C θ C 2 φ + φC 2 θ S φ C φ ), c 12 = I xx ψS θ C θ -I y y ( θS θ S φ C φ + φC θ S 2 φ -φC θ C 2 φ + ψS θ C θ S 2 φ ) + I zz ( φC θ S 2 φ -φC θ C 2 φ -ψS θ C θ C 2 φ + θS θ S φ C φ ) c 13 = -I xx θC θ + I y y ψC 2 θ S φ C φ -I zz ψC 2 θ S φ C φ , c 21 = -I xx ψS θ C θ + I y y ψS θ C θ S 2 φ + I zz ψS θ C θ C 2 φ , c 22 = -I y y φS φ C φ + I zz φS φ C φ , c 23 = I xx ψC θ + I y y (-θS φ C φ + ψC θ C 2 φ -ψC θ S 2 φ ) + I zz ( ψC θ S 2 φ -ψC θ C 2 φ + θS φ C φ ), c 31 = -I y y ψC 2 θ S φ C φ + I zz ψC 2 θ S φ C φ , c 32 = -I xx ψC θ + I y y ( θS φ C φ + ψC θ S 2 φ -ψC θ C 2 φ ) -I zz ( ψC θ S 2 φ -ψC θ C 2 φ + θS φ C φ ), c 33 = 0.
(2.15)

Although (2.9) and (2.10) were developed taking into account a multicopter with four rotors, these equations are also valid for other aerial configurations as long as the forces and torques are rewritten.

Quadrotor quaternion model based on Euler-Lagrange

Newton-Euler approach

The general motion of a rigid body in space is a combination of translational and rotational motions. Consider a rigid body moving in inertial space, undergoing both rotations and translations, see Figure 2.2. Following same ideas as in section 2.2.1, let us define now an earth fixed frame I and a body frame B. The center of mass and the body frame are assumed to coincide. Using Euler angles parametrization, the airframe orientation in space is given by a rotation matrix R from B to I . Using the Newton-Euler formalism [START_REF] Castillo | Stabilization of a mini rotorcraft with four rotors[END_REF][START_REF] Castillo Garcia | Modelling and Control of Mini-Flying Machines[END_REF][START_REF] Howard | Dynamics of flight: Stability and control; third edition[END_REF][START_REF] Lozano | Unmanned Aerial Vehicles Embedded Control[END_REF], the dynamics of a rigid body under external forces applied to the center of mass and expressed on earth fixed frame is ˙

ξ(t ) = v(t ), m ˙ v(t ) = R(t ) F t h (t ) -m g , Ṙ(t ) = R(t ) ˆ Ω(t ), I ˙ Ω = -Ω(t ) × I Ω(t ) + τ(t ) (2.16)
where ˆ Ω(t ) introduces the skew-symmetric matrix of Ω(t ), and I represents the constant inertia matrix.

Considering the total forces and torques from (2.2), and introducing them into (2.16), it follows that,

m ẍ = -sin θu 1 , m ÿ = cos θ sin φu 1 m z = cos θ cos φu 1 -mg (2.17)    θ φ ψ   = J -1       τ θ τ φ τ ψ    -    c 11 c 12 c 13 c 21 c 22 c 23 c 31 c 32 c 33       θ φ ψ      . (2.18)
Equations (2.17) and (2.18) describes the translational and rotational dynamics, respectively. Remark that making the same assumptions as before, an inertial diagonal matrix and that the Coriolis matrix is neglected, it is possible to obtain the same equations as in (2.12).

Quadrotor quaternion model based on Euler-Lagrange

For consistency reasons, and for building the mathematical background for following the proposed modeling, it is essential to understand quaternions and their associated algebra [START_REF] Abaunza | Quaternion Modeling and Control Approaches[END_REF]. Quaternions were proposed by Hamilton in the nineteen century as a three-dimensional version of complex numbers (one real and one imaginary part). However, they can be also written as a vector with 4 scalar components, q 0 , q 1 , q 2 , q 3 , where q 1 , q 2 , q 3 correspond to the distance along the quaternion bases vector of i , j , k and q 0 is considered the scalar part of the quaternion.

They are also known as a 4-dimensional hyper-complex number, since they can be represented as one real plus three imaginary numbers, q q 0 + q 1 i + q 2 j + q 3 k, where i , j , k ∈ I,

such that i 2 = j 2 = k 2 = i j k = -1 and q 0 , • • • , q 3 ∈ R.

Chapter 2. Modeling quadcopter vehicle approaches

Another common representation of a quaternion is using one scalar number and a vector as q q 0 + q, with q = [q 1 q 2 q 3 ] T . In literature, one of the well-known expression to denote a quaternion relays on the representation given by the French bankern Olinde Rodriguez. He expanded the Euler's Formula to include 3-dimentional rotations using quaternions. This expression is known nowadays as the Euler-Rodrigues formula which is the exponential mapping of the axis-angle representation n, ς of a rotation defined as

q = exp 1 2 ς n = cos (ς/2) + n sin (ς/2) (2.19)
notice that q = 1, thus q can be called a unit quaternion. Operations with quaternions are not solved with standard mathematical tools, therefore, the basisc quaternion operations must be defined.

Quaternion algebra

Product

Consider two quaternion p and q that are in H. The quaternion product can be expressed as

p ⊗ q = (p 0 + p 1 i + p 2 j + p 3 k)(q 0 + q 1 i + q 2 j + q 3 k) = (p 0 q 0 -p -q, q 0 p + p × q). (2.20)
Remark that p ⊗ q = q ⊗ p.

Conjugate

The conjugate of a unit quaternion expresses an inverse rotation over the same axis, and is defined as q * := q 0q (2.21)

Norm

The norm of a quaternion is defined as

q 2 = N 2 (q) = q 2 0 + q 2 1 + q 2 2 + q 2 3 = q ⊗ q * (2.22)

Inverse

For any non-null quaternion there exists an inverse quaternion such that

q -1 := q * q (2.23)

Vector rotation

Considering p ∈ R 3 as a 3D vector in a first reference frame (e.g. the earth coordinates), and p as the same vector but now with respect to a new reference frame (e.g. a vehicle's moving coordinates), then p can be transformed into p using a double quaternion product as

p = q -1 ⊗ p ⊗ q = q * ⊗ p ⊗ q (2.24)

Quadrotor quaternion model based on Euler-Lagrange

Derivative

The derivative of any unit quaternion can be defined as follows

q(t ) = q 0 (t ) + q(t ) = cos θ 2 + u sin θ 2 q(∆t ) = q 0 (∆t ) + q(∆t ) = cos ∆t 2 + u sin ∆t 2 (2.25)
where q(∆t ) is a quaternion that represents an infinitesimal change in the angle while keeping the same unit vector u. Thus the derivative of a unit quaternion can be expressed as

d d t q(t ) = lim ∆t →0 q(1 + ( u 2 )∆θ) ∆t = lim ∆t →0 1 2 q(t ) u∆θ ∆t = 1 2 q(t ) ⊗ ω(t ).
(2.26)

where ω(t ) = θ u corresponds to the angular velocity vector associated with the quaternion q(∆t ).

Quadrotor quaternion dynamical model

Let us consider that the center of mass of the quadcopter is aligned with the origin of the body. The vector ξ goes from the origin of the inertial frame to the body frame and it is described

as ξ = [x y z] T , ˙ ξ = [ ẋ ẏ ż] T
, where ˙ ξ defines the translational velocity seen from the inertial frame. Inspired on the Lagrangian methodology, the translational kinetic energy is defined as

E kt = 1 2 m ˙ ξ
T ˙ ξ and the potential energy U p = mg e z where the mass of the vehicle is described by m, e z is a unitary vector with the form e z = [0 0 1] T and g is the term associated with the gravitational acceleration. Thus, using (2.7) the Euler-Lagrange equation for the translational system is expressed as

d d t ∂L T ∂ ˙ ξ - ∂L T ∂ ξ = F t h (2.27)
where L T = E kt -U p is the Lagrangian of the system, ξ ∈ R 3 are the generalized coordinates and F t h are the external forces acting on the quadcopter, respectively. Then, developing (2.27) it follows that

   m ẍ m ÿ m z   -    0 0 -mg    = F t h (2.28)
The external forces acting on the quadrotor are the lift forces, which are produced by the rotation of the motors and propellers and its expression is defined as before stated,

F t h = [0 0 u 1 ] T .
Remark that if the quadrotor changes its orientation (e.g., tracking a desired reference), the weight vector, [0 0mg ] T is always pointing downward, this means that the vector needs to be expressed in the inertial frame. However, the lift force changes its orientation as the vehicle does it. This implies that the lift force needs to be defined in the body frame. Then, considering the aforementioned, the external forces can be expressed as a function of the attitude of the vehicle as

F ξ = q * ⊗ F t h ⊗ q (2.29)
where q = [q 0 q 1 q 2 q 3 ] T is the quaternion which defines the attitude performance of the quadrotor. Using the quaternion algebra [START_REF] Abaunza | Quaternion Modeling and Control Approaches[END_REF], the translation dynamic model (2.28) can be rewritten as

   m ẍ m ÿ m z   =   
(-q 0 q 2 + q 1 q 3 )u 1 (q 0 q 1 + q 2 q 3 )u 1 (q 2 0q 2 1q 2 2 + q 2 3 )u 1mg

   . (2.30)
For the rotational part, the Lagrangian can be written considering the kinetic rotational energy as

L r ot = 1 2 Ω T I Ω (2.31)
where Ω is the angular velocity referred in the body frame. Remembering that the quaternion used in this analysis has the constraint c = q T ⊗ q -1 = 0, then, the Euler-Lagrange equation for the attitude system is represented by

d d t ∂L r ot ∂ ˙ Ω - ∂L r ot ∂ Ω = τ + λ ∂c ∂ Ω (2.32)
with λ representing the Lagrange multiplier. Using the property (2.26), the Lagrangian described by the equation (2.31) can be rewritten as follows

L r ot = 2(G(q) ⊗ q) T ⊗ I ⊗ (G(q) ⊗ q) = 2 qT ⊗ (G T (q) ⊗ I ⊗G(q)) ⊗ q (2.33)

Quadrotor quaternion model based on Euler-Lagrange

or

L r ot = 2(-G(q) ⊗ q) T ⊗ I ⊗ (-G(q) ⊗ q) = -2q T ⊗ (G T ( q) ⊗ I ⊗G( q)) ⊗ q (2.34)
where

G(q) =   
-q 1 q 0 q 3 -q 2 -q 2 -q 3 q 0 q 1 -q 3 q 2 -q 1 q 0    which are two equivalent equations that will help us to get the Euler-Lagrange equation. Thus, the expression ∂L r ot ∂ Ω in (2.32) can be rewritten using (2.34) as

∂L r ot ∂q = -4(G T ( q) ⊗ I ⊗G( q)) ⊗ q = -2G T ( q) ⊗ I ⊗ (2G( q) ⊗ q) = -2G T ( q) ⊗ I Ω, (2.35) then, developing ∂L r ot ∂ ˙ Ω in (2.32) using (2.33) ∂L r ot ∂ q = 4(G T (q) ⊗ I ⊗G(q)) ⊗ q = 2G T (q) ⊗ I ⊗ 2G(q) ⊗ q = 2G T (q) ⊗ I Ω. (2.36)
Finally, the temporal derivative of (2.36) is expressed as

d d t ∂L r ot ∂ q = 2G T ( q) ⊗ I Ω + 2G T (q) ⊗ I ˙ Ω.
(2.37)

For getting into the final dynamic model of the quadrotor, the analysis of the generalized torques must be carried out. Considering the D'Alambert's principle but on its rotational form: the virtual work of a rigid body around an angle γ of an axis and a torque T can be described as follows

δW = ( • T )δ γ (2.38)
Notice that if = 1, thus, it can be referred as a quaternion and the infinitesimal rotation can be represented as q + δ q = q ⊗ q δ (2.39)

subject to |q| = 1, |q δ | and |δ q | << 1.
Multiplying the conjugate q * in both sides of (2.39), then

q * ⊗ q + q * ⊗ δ q = q * ⊗ q ⊗ q δ [1 0] + q * ⊗ δ q = q δ . (2.40)
Using the definition of the temporal derivative of a quaternion as stated in (2.25) and if infinitesimal change are considered, δ q can be expressed as Chapter 2. Modeling quadcopter vehicle approaches

δ q = cos δ γ 2 sin δ γ 2 T (2.41)
and the following approximation is valid

q δ = 1 δ γ 2 .
(2.42)

Then using (2.42) in (2.40)

[1 0] + q * ⊗ δ q = 1 δ γ 2 (2.43)
which implies that q * ⊗ δ q is associated with the complex component of q δ and therefore the following expression is considered valid

ō δ γ 2 = q * ⊗ δ q .
(2.44)

The virtual work can be rewritten using (2.44) in (2.39)

δW = 2(q * ⊗ δ q ) ⊗ τ (2.45)
According to the quaternion algebra [START_REF] Abaunza | Quaternion Modeling and Control Approaches[END_REF], the expression (2.45) can be rewritten as

δW = 2 τ (G(q) ⊗ δ q ) (2.46)
Thus, the virtual work is described as follows

δW = (2G T (q) ⊗ τ) ⊗ δ q (2.47)
Therefore, the generalized torques are

T = 2G(q) ⊗ τ (2.
4G( q) ⊗G T ( q) ⊗ I Ω + 2G(q) ⊗G T (q) ⊗ I Ω = 2G(q) ⊗G T (q) ⊗ τ + λ ⊗G(q) ⊗ q (2.49) Knowing that G( q) ⊗G T ( q) = 1, G(q) ⊗G T (q) = 1 and that G(q) ⊗ q = 0, then 2I ˙ Ω + 2I Ω = 2 τ (2.50)
Observe that the expression (2.50) has the form of the Newton's equation that describes the dynamics of a rigid body subject an external torques.

Thus, the rotational dynamic model of the quadrotor can be rewritten as

q = - 1 2 q ⊗ Ω I ˙ Ω = -Ω × I Ω + τ (2.51)

Quadrotor quaternion model based on Euler-Lagrange

Therefore, the whole quadcopter dynamic model can be described using (2.30) and (2.51) as

      ˙ ξ ¨ ξ q ˙ Ω       =       ˙ ξ q ⊗ F t h m ⊗ q * + g -1 2 q ⊗ Ω I -1 -Ω × I Ω + τ       (2.52)

Decoupling the vehicle dynamics

As can be verified in (2.52), the dynamics of the quadcopter are completely coupled by means of the orientation of F t h depending on the vehicle's attitude q. Nevertheless, using an appropriate approach and some properties of unit quaternions, the quadcopter can be easily controlled despite its underactuated nature.

Let us assume that (2.51) is stabilized using a control action τ, then the quaternion attitude will converge to q 0 = 1 + [0 0 0] T while the axis-angle orientation δ and its angular velocity Ω will converge to zero. Given a desired attitude trajectory defined by a desired quaternion q d and its angular velocity Ω d , (2.51) can be defined in terms of the quaternion error q e q * d ⊗ q

as qe ˙ Ω e = 1 2 q e ⊗ Ω e I -1 -Ω e × I Ω e + τ , (2.53)
if τ is correctly designed in terms of the attitude error, then, q e → q 0 implying that q → q d . From (2.30) and considering the desired force (2.29), F ξ = q ⊗ F t h ⊗ q * can be easily designed such that ξ and ˙ ξ converge to zero. If a position error is defined as ξ e = ξξ d , where ξ d represents a desired position for the vehicle, then the translational dynamics error can be written as

˙ ξ e ¨ ξ e = ˙ ξ e F ξ m -g (2.54)
Consequently, if an adequate controller is designed for F ξ , the error position will converge to zero, meaning that the quadcopter can be stabilized at any desired position.

From (2.54), it yields that the translational model can be seen as a virtual fully actuated system where F ξ can be designed to point at any direction. Let us define a desired force vector U ∈ R 3 with respect to the frame I , which stabilizes the system (2.54). Given the direction and magnitude of such force vector, the attitude can be controlled using τ such that the direction of F ξ is aligned with U , orientating the quadcopter thrust in the required direction to control the translational dynamics. Therefore, the desired quaternion q d is derived from the shortest rotation between these both vectors.

Chapter 2. Modeling quadcopter vehicle approaches

Recalling the Euler-Rodrigues formula from (2.19), q d is defined as

q d = exp 1 2 ς n = cos(ς/2) + n sin(ς/2), (2.55)
where n and ς denote the axis and the angle of shortest rotation between F t h and U , respectively. Defining υ and µ as normalized vectors of F t h and U where, notice that υ = [0 0 1] T is constant. The cross and the scalar products between these two vectors are defined as, see Figure 2.4

µ × υ = S( µ) υ = µ υ sin(ς) n, (2.56) µ • υ = µ υ cos(ς). ( 2
2 = ± 1 + cos(ς) 2 sin ς 2 = ± 1 -cos(ς) 2 (2.58)
Thus, the desired attitude that aligns the thrust vector to the control direction can obtained from (2.55) using (2.56), (2.57) and (2.58) as

q t = ±    1+ µ υ 2 1-µ υ 2 S( µ) υ    (2.59)
where

S( µ) =    0 -µ 3 µ 2 µ 3 0 -µ 1 -µ 2 µ 1 0   

Modeling approaches conclusions

Notice that since υ is always aligned with the vertical axis of the body frame B and the direction of (2.59) is defined by a cross product, then q t rotates the vehicle in the x y plane. An additional rotation around the z-axis can be added by introducing

q d q t ⊗ q z , (2.60)
where q z represent the desired rotation over the z-axis.

Modeling approaches conclusions

The aim of this chapter was to give an introduction to the main mathematical concepts for getting into the dynamic modeling of a quadrotor vehicle, using one of the three existing approaches in literature: Newton-Euler, Euler-Lagrange and quaternion formalism. Even this kind of UAVs are inherently underactuated, an approach using the quaternion formalism was introduced such that its dynamic equations can be analyzed and treated as a virtual fully actuated system.

Most robotics research works, particularly in UAVs, have been relied on Euler angles convention. However, the presence of important non-linearities, undesired effects, e.g. gimballlock, and an inherent complexity when multiple rotations and transltations are present, may hamper the development in the performance of the control algorithms and its applications. Nevertheless, although the quaternion formalism can seem to be less intuitive and difficult to conceptualize, their application can really simplify dynamic models, and help in the design of better controllers.

Part III Chapter 3 3 Control approaches for aerial vehicles

Controlling a quadcotper vehicle has been extensively studied in the past decade with the recent increase on the power computation for embedded systems. These systems are now able to perform the computations needed for a variety of control techniques, with lower cost of sensors and actuators. These types of control algorithms are applied to the position and the attitude ofUAVs. This chapter is devoted to present a brief overview evaluation of popular control algorithms for Multi-rotor Aerial Systems (MAS).

The main objective of this chapter is to provide a unified and accessible analysis, placing the classical and quaternion models of the quadcopter as well the study of its control methods into a proper context. In addition to provide the basis for beginner users working in aerial vehicles, this chapter contributes in presenting a comprehensive analysis of the implementation for the nonlinear and linear backstepping, nested saturation, virtual fully actuated controllers as well the sliding mode control and the quaternion-based nonlinear backtepping approaches. These techniques are selected and compared to evaluate the performance of the aircraft by simulations and experimental studies.

The content of this chapter is organized as follows: In section 3.1, a brief overview for controlling the attitude and translation system of the quadrotor is presented. Four control laws are developed with their respective analysis of stability. Then, a quaternion-based backstepping control is addressed in section 3.2 to demonstrate the advantages of using this kind of controller on aerial vehicles. Finally in section 3.3, the finite-time convergence is discussed.

Chapter 3. Control approaches for aerial vehicles

Comparison of stabilization and tracking control algorithms

In this section, we present a comparison between the well-known control algorithms relying on the Euler Angles, to solve the stabilization and tracking control problems. The aim of this section is to introduce the main control algorithms used in the literature for controlling a quadrotor vehicle and show their properties and capabilities.

Typically in the literature, when controlling a quadrotor vehicle, it is assumed the z-axis can be controlled by some linear or nonlinear controller using specifically F T h . Usually, this controller is based on a feedback linearization technique as presented in [START_REF] Gandolfo | Stable path-following control for a quadrotor helicopter considering energy consumption[END_REF][START_REF] Guerrero-Castellanos | Bounded attitude control of rigid bodies: Real-time experimentation to a quadrotor minihelicopter[END_REF][START_REF] Tamayo | Quadrotor input-output linearization and cascade control[END_REF]. This classical procedure is often used because the idea is to guarantee the vehicle keeps at hover, and later control their displacement in the plane x or y making an under-actuated subsystem.

Control of altitude and yaw angle

Following aforementioned ideas, the controller for the z-axis is often proposed as

u 1 = m cos θ cos φ (g + r 1 ) (3.1)
where r 1 is always designed to achieve z → z d , for instance

r 1 = -k 1 (z -z d ) -k 2 ż,
where k 1 , k 2 represent positive constants and z d denotes the desired altitude. Then rewriting (2.12) using (3.1) and assuming cos

θ cos φ = 0, that is, θ, φ ∈ (-π/2, π/2), it yields m ẍ = -(r 1 + mg ) tan θ cos φ (3.2) m ÿ = (r 1 + mg ) tan φ (3.3) z = -k 2 ż -k 1 (z -z d ) (3.4)
Note from (3.4), ∃ a time T large enough such that for t > T , the altitude error (zz d ) → 0 such that z ≈ z d can be considered the equilibrium state of (3.4). Thus we can rewrite (3.2) and (3.

3) as follows ẍ ≈ -g tan θ cos φ ÿ ≈ g tan φ (3.5)
For simplifying the analysis, let us consider J = I 3×3 . Thus, system (2.12) can be expressed using (3.1) and (3.5) as

ẍ ≈ -g tan θ cos φ θ ≈ τθ ÿ ≈ g tan φ φ ≈ τφ ψ ≈ τψ (3.6)

Comparison of stabilization and tracking control algorithms

where τψ = -a ψ 1 ψa ψ 2 (ψ -ψ d ) is the proposed control torque to stabilize the yaw angle and τφ , τθ will be defined later. The control gains a ψ 1 , a ψ 2 are positive constants chosen to ensure stable, well-damped response of the quadrotor. From (3.6) it follows that if ψ d and z d are constants, then ψ and z converge. Therefore, ψ and ψ → 0, which implies that ψ → ψ d .

Nonlinear Backstepping algorithm

Backstepping is suitable for strict-feedback systems that are also known as lower triangular and it does not require that the resulting input-output dynamics be linear. The main idea is to use some of the state variables as "virtual controls" or "pseudo controls", and depending on the dynamics of each state, design intermediate control laws. The Backstepping design is a recursive procedure where a Lyapunov function is derived for the entire system (3.6).

Control of lateral position and roll angle

Define the error e 1 as e 1 = y 1y d 1 , where y d 1 is the reference. Let us propose the following positive function

V 1 = k y 1 2 e 2
1 , with k y 1 > 0 denoting a constant, then taking the derivative with respect to time and proposing y v 2 = y d 2e 1 as a virtual control input, it follows that

V1 = k y 1 e 1 (y 2 -y v 2 -e 1 ) = -k y 1 e 2 1 + k y 1 e 1 (y 2 -y v 2 )
where ẏd 1 = y d 2 . Define the error e 2 = y 2y v 2 thus, the previous yields V1 = -k y 1 e 2 1 + k y 1 e 1 e 2 . Propose the second positive function

V 2 = k y 2 2 e 2
2 with k y 2 > 0 constant. Taking its derivative with respect to time and proposing

δ v 1 = -ẏ v 2 + k y 1 k y 2 e 1 + e 2 representing a second virtual control input, implies that V2 = -k y 2 e 2 2 -k y 1 e 1 e 2 + k y 2 e 2 (δ v 1 -g tan φ 1 )
Defining the error

e 3 = δ v 1 -g tan φ 1 , V2 yields V2 = -k y 2 e 2 2 -k y 1 e 1 e 2 + k y 2 e 2 e 3
Propose the third positive function

V 3 = k y 3 2 e 2 3 , with k y 3 > 0 constant. Differentiating V 3 and defining δ v 2 = δv 1 + k y 2 k y 3 e 2 + e 3 , it follows that V3 = k y 3 e 2 3 -k y 2 e 3 e 2 + k y 3 e 3 (δ v 2 -g (1 + tan 2 φ 1 )φ 2 )
Defining the error

e 4 = δ v 2 -g (1 + tan 2 φ 1 )φ 2 ,
V4 = k y 4 e 4 ( δv 2 -g (1 + tan 2 φ 1 )( τφ + 2φ 2 2 tan φ 1 ))
Proposing a control law given by τφ = 1

g (1 + tan 2 φ 1 ) ( δv 2 + k y 3 k y 4 e 3 + e 4 ) -2φ 2 2 tan φ 1 (3.7) implies that V4 = -k y 4 e 2 4 -k y 3 e 4 e 3 .
Finally, define the following candidate Lyapunov function with the form

V T = V 1 +V 2 +V 3 +V 4 . Therefore VT = -k y 1 e 2 1 -k y 2 e 2 2 -k y 3 e 2 3 -k y 4 e 2 4 ≤ 0.
Expressing (3.7) with respect to the state variables, it follows that τφ = 1

g (1 + tan 2 φ 1 )
...

y d 2 -4 ÿd 2 -ky 1 ẏd 2 + ky 2 (y 2 -y d 2 ) + ky 3 (y 1 -y d 1 ) -ky 4 g tan φ 1 -4g (1 + tan 2 φ 1 )φ 2 -2φ 2 2 φ 1 (3.8)
where

ky 1 = ky 4 = k φ + 6, ky 2 = 2k φ + 4 ky 3 = k φ + k y 3 k y 1 k y 4 k y 2 + 1, k φ = k y 1 k y 2 + k y 2 k y 3 + k y 3 k y 4 (3.9)

Control of forward position and pitch angle

From (3.6) and (3.8), we obtain φ → 0, then from (3.5) and (3.6) we get ẍ ≈ -g tan θ

θ = τθ (3.10)
Using a procedure similar to the one proposed for the roll control, we obtain

τθ = 1 g (1 + tan 2 θ 1 ) ... x d 2 -4 ẍd 2 -kx 1 ẋd 2 + kx 2 (x 2 -x d 2 ) + kx 3 (x 1 -x d 1 ) -kx 4 g tan θ 1 -4g (1 + tan 2 θ 1 )θ 2 -2θ 2 2 θ 1 (3.11)
where

kx 1 = kx 4 = k θ + 6, kx 2 = 2k θ + 4 kx 3 = k θ + k x 3 k x 1 k x 4 k x 2 + 1, k θ = k x 1 k x 2 + k x 2 k x 3 + k x 3 k x 4
(3.12)

Control algorithm based on nested saturation

The goal for controllers based on saturation functions is to impose a bound in the control input. The control algorithm is conceived from a linear systems (chain of integrators) nevertheless, it was also demonstrated that it can be applied for nonlinear systems. Their procedure, in contrast to the backstepping approach, starts in the last state (where the control input is located) until the first one. The stability analysis is assured using a series of positive functions.

The first methodology was proposed in [START_REF] Teel | Global stabilization and restricted tracking for multiple integrators with bounded controls[END_REF] designing the controller with nested saturation functions for linear systems and applied to nonlinear systems. Nevertheless after analysis, it can be observed that the controller structure using saturation functions imposes bounds on each state of the system, such that, some inequalities can be applied, for example tan θ ≈ θ and cos φ ≈ 1, see [START_REF] Sanahuja | Stabilization of n integrators in cascade with bounded input with experimental application to a vtol laboratory system[END_REF][START_REF] Castillo Garcia | Modelling and Control of Mini-Flying Machines[END_REF]. From this assumption, the longitudinal and lateral parts of (3.6) can be rewritten as follows ẋ1

= x 2 ẏ1 = y 2 ẋ2 ≈ -g θ 1 ẏ2 ≈ g φ 1 θ1 = θ 2 φ1 = φ 2 θ2 ≈ τθ φ2 ≈ τφ (3.13)

Roll control (φ, y)

A controller stabilizing the lateral system of (3.13) can be denoted by

τφ = -σ a (φ 2 + σ b (•)) (3.14)
where σ i defines a generalized saturation function such that |σ i (•)| ≤ i for positive constant i : a, b, c, d . The argument in σ b (•) will be defined later to assure convergence of the states. Let us define a positive function

V 1 = 1 2 φ 2 2
, then its derivative is defined by

V1 = φ 2 φ2 = φ 2 τφ = -φ 2 σ a (φ 2 + σ b (•)) (3.15) if φ 2 ≥ b ⇒ V1 ≤ 0. Then, ∃ t 1 such that for t ≥ t 1 φ 2 (t ) ≤ b, implying that φ 2 + σ b (•) ≤ 2b. Choosing a ≥ 2b, then (3.14) can be rewritten ∀ t > t 1 as τφ = -φ 2 -σ b (•). (3.16)

Chapter 3. Control approaches for aerial vehicles

Define

ν 1 = φ 1 + φ 2 , then, ν1 = -σ b (•). Propose a positive function V 2 = 1 2 ν 2 1 and imposing σ b (•) = σ b (ν 1 + σ c (•)) then, its derivative is determined by V2 = ν 1 ν1 = -ν 1 σ b (ν 1 + σ c (•)) (3.17) if |ν 1 | ≥ c ⇒ V2 ≤ 0. Then, ∃ t 2 ≥ t 1 such that for t ≥ t 2 |ν 1 (t )| ≤ c and |ν 1 + σ c (•)| ≤ 2c. Choosing b ≥ 2c, then (3.16) can be rewritten ∀ t > t 2 as τφ = -φ 2 -ν 1 -σ c (•). (3.18) Define ν 2 = ν 1 + φ 1 -y 2 /g = φ 2 + 2φ 1 -y 2 /g , thus ν2 = -σ c (•).
Propose the positive function

V 3 = 1 2 ν 2 2 with σ c (•) = σ c (ν 2 + σ d (•))
, then its derivative is described by

V3 = ν 2 ν2 = -ν 2 σ c (ν 2 + σ d (•)) (3.19) if |ν 2 | ≥ d ⇒ V3 ≤ 0. Then, ∃ t 3 ≥ t 2 such that ∀t ≥ t 3 |ν 2 (t )| ≤ d and |ν 2 + σ d (•)| ≤ 2d . Choosing c ≥ 2d , then (3.18) can be rewritten ∀ t > t 3 as τφ = -φ 2 -ν 1 -ν 2 -σ d (•). (3.20)
Define

ν 3 = φ 2 + 3φ 1 + 3 y 2 g + y 1 g then ν3 = -σ d (•). Propose V 4 = 1 2 ν 2 3 and σ d (•) = σ d (ν 3 ), taking the derivative of V 4 , it follows that V4 = ν 3 ν3 = -ν 3 σ d (ν 3 ) ≤ 0 (3.21)
The previous implies that ν 3 → 0, then from (3.19) it follows that ν 2 → 0. From (3.17) implies that ν 1 → 0, similarly from (3.15), φ 2 → 0. From definition of ν 1 it follows that φ 1 → 0. From definition of ν 2 this implies that y 2 → 0. And finally, from definition of ν 3 it can be deduced that y 1 → 0.

Rewriting τφ , it yields

τφ = -σ a φ 2 + σ b φ 1 + φ 2 + σ c φ 2 + 2φ 1 + y 2 σ d φ 2 + 3φ 1 + 3 y 2 g + y 1 g (3.22) Pitch control (θ, x)
As before, we assume that the control strategy will insure a very small bound on | θ | such that tan(θ) ≈ θ. Therefore, using a procedure similar to the one proposed for the roll control, it is possible to express the pitch control as follows

τθ = -σ e θ 2 + σ f θ 1 + θ 2 + σ g θ 2 + 2θ 1 + x 2 + σ h θ 2 + 3θ 1 -3 x 2 g - x 1 g (3.23)

Comparison of stabilization and tracking control algorithms

Linear backstepping

This controller is conceived using the same procedure proposed in the nonlinear backstepping methodology, but instead of using the nonlinear system, a linear system is required. This methodology is useful for beginners with the goal to better understand its procedure. The obtained control law is quite different to the one obtained with the nonlinear system. For our study, it is assumed that the vehicle is moving with small angles, therefore the nonlinear system (3.10) can be represented as (3.6).

Forward position control

Rewriting first equation in

(3.6) ẋ1 = x 2 (3.24) propose V 1 = 1 2 x 2 1 , then V1 = x 1 x 2 . if x 2 → -k 1 x 1 with k 1 is a positive constant, then V1 = -k 1 x 2 1 .
Define the following error with the form

ζ 2 = x 2 -x v 2 (3.25) with x v 2 = -k 1 x 1 = α 1 defining the first virtual input. Rewriting (3.24)
and the second equation of (3.6) with (3.25) and using

x 1 = ζ 1 ζ1 = ζ 2 + α 1 ζ2 = -g θ 1 -α1 (3.26)
Define a positive definite function

V 2 = V 1 + ζ 2 2 2 , then V2 = V1 + ζ 2 ζ2 = V1 + ζ 2 (-g θ 1 -α1 ) (3.27) if (-g θ 1 -α1 ) → -k 2 ζ 2 with k 2 is a positive constant, then, V2 = V1 -k 2 ζ 2 2 .
Define the error

ζ 3 = -g θ 1 -α 2 (3.28) with α 2 = k 2 ζ 2 -
ζ1 = ζ 2 + α 1 ζ2 = -g θ 1 -α1 ζ3 = -g θ 2 -α2 (3.29)
Define the positive definite function

V 3 = V 2 + ζ 2 3 2 , then V3 = V2 + ζ 3 ζ3 = V2 + ζ 3 (-g θ 2 -α2 ) (3.30) Chapter 3. Control approaches for aerial vehicles if (-g θ 2 -α2 ) → -k 3 ζ 3 , with k 3 is a positive constant, then V3 = V2 -k 3 ζ 2 3 . Define the error ζ 4 = -g θ 2 -α 3 (3.31)
where

α 3 = (g θ 2 ) v = k 3 ζ 3 -α2 is the third virtual input. Rewriting (3.29) with ζ4 , it follows that ζ1 = ζ 2 + α 1 ζ2 = -g θ 1 -α1 ζ3 = -g θ 2 -α2 ζ4 = -g u 2 -α3 (3.32)
Propose the candidate Lyapunov function

V 4 = V 3 + ζ 2 4 2 , then V4 = V3 + ζ 4 ζ4 = V3 + ζ 4 (-g u 2 -α3 ) (3.33) Propose the control input τθ = 1 g (k 4 ζ 4 -α3 ) (3.34) with k 4 > 0 is a constant. Then V4 = V3 -k 4 ζ 2 4 = -k 1 ζ 2 1 -k 2 ζ 2 2 -k 3 ζ 2 3 -k 4 ζ 2 4 < 0 (3.35)
The above implies system (3.32) goes to zero implying that (3.6) is globally asymptotically stable. Rewriting (3.34) with respect to the state variables, it follows that τθ = -

k1 g x 1 - k2 g x 2 + k3 θ 1 + k4 θ 2 (3.36) where k1 = k 1 k 2 k 3 k 4 k2 = k 1 k 2 (k 3 + k 4 ) + k 3 k 4 (k 1 + k 2 ) k3 = k 1 (k 2 + k 3 + k 4 ) + k 2 (k 3 + k 4 ) + k 3 k 4 k4 = k 1 + k 2 + k 3 + k 4 (3.37)

Lateral position control

For controlling the lateral position of the system (3.6), and using a similar procedure as the one developed for the pitch control, the backstepping roll control input can be obtained as

τφ = kφ 1 g y 1 + kφ 2 g y 2 + kφ 3 φ 1 + kφ 4 φ 2 (3.38)

Comparison of stabilization and tracking control algorithms

Fully actuated approach

In this approach, the goal is to transform the underactuated system into a virtual fully actuated system. This can be done by imposing a desired attitude R d that will be related with the virtual control input U . This allows us to use control inputs τ φ , τ θ to only control the attitude system, i.e., R → R d . Motivated by the works developed by [START_REF] Ailon | Simple tracking controllers for autonomous vtol aircraft with bounded inputs[END_REF][START_REF] Tran | Adaptive control of a quadrotor aerial vehicle with input constraints and uncertain parameters[END_REF], simple smooth bounded controllers that can easily be implemented in VTOL aircraft with parallel motors for tracking set-points and time-varying trajectories are proposed.

The methodology is explained as follows; propose a vector control input, U , containing the virtual control laws to stabilize the translational states in the VTOL vehicle. These virtual control inputs will be related to the desired orientation matrix, R d , of the vehicle and with its main control input, F t h = [0 0 u 1 ] T , as follows

U = u 1 R d e z (3.39)
In our case of study, the virtual control laws will be designed for the vertical, horizontal and longitudinal axis of the quadrotor, with the form

U = [U x ,U y ,U z ] T , e z = [0 0 1] T and similarly R d ∈ R 3×3 , is defined as R d =    S θ d C ψ d C ψ d S θ d S φ d -C φ d S ψ d S θ d C φ d C ψ d + S φ d S ψ d C θ d S ψ d C φ d C ψ d + S θ d S φ d S ψ d S θ d C φ d S ψ d -S φ d C ψ d -S θ d C θ d S φ d C θ d C φ d    .
with θ d , ψ d φ d representing the desired attitude. Next step is to rewrite the original translational dynamic system, in our case it is represented by equations (2.12). Thus the new system is described as

m ¨ ξ = F t h R -mg e z (3.40)
where ξ = [x y z] T , R ∈ R 3×3 has the same form of R d except that replacing the desired angles with φ θ ψ. Notice from (3.39) that, u 1 is the main control input. Therefore, using (3.39) into first equation of (3.40)

m ¨ ξ = u 1 R e z -mg e z + u 1 R d e z -u 1 R d e z = u 1 (R -R d ) e z -mg e z + u 1 R d e z Define ω = u 1 (R -R d ) e z , thus m ¨ ξ = ω -mg e z + U . (3.41)
The desired orientation can be found using (3.39) and considering ψ d . = 0, then

θ d = arctan U x U z (3.42) φ d = arctan    U y U 2 x +U 2 z    (3.43)

Chapter 3. Control approaches for aerial vehicles

Notice from (3.39) that U = u 1 R d e z gives an orthogonal vector as resultant of the right side of the equation, therefore

u 1 = U 2 x +U 2 y +U 2 z . (3.44)
Define the control objective lim

p 1 = ξ -ξ d p 2 = ˙ ξ - ˙ ξ d (3.46)
Differentiating (3.46) and by means of (3.41)

˙ p 1 = p 2 ˙ p 2 = ω m -g e z + U m - ¨ ξ d . (3.47)
where ¨ ξ d means the desired acceleration.

Control based on hyperbolic functions

Let us propose U in (3.47) as

U = m(-σ 1 (K 1 p 1 + K 2 p 2 ) -σ 2 (K 2 p 2 ) + g e z + ¨ ξ d ) (3.48)
where K 1 , K 2 ∈ R 3×3 are diagonal positive matrices constant, σ i means a saturation function with the form σ(ς) = σ tanh(ς) and σ means a bounded constant. Hence, the bounded control U in (3.48) makes system (3.47) globally asymptotically stable.

Proof: First, to prove the asymptotic convergence of solution p(t ) to the origin, observe from (3.39) and (3.41) that ω ≤ 2 Fth . This implies that the closed-loop system using (3.47) and (3.48) satisfies the Lipschitz condition 1 , and hence has a unique solution over [0, T ] with

T ≥ 0. Moreover, if T is bounded, then p(t ) is bounded ∀ t ∈ [0, T ].
This proof is inspired in [START_REF] Zagaris | Fast and Slow Dynamics for the Computational Singular Perturbation Method[END_REF].

Furthermore, if lim

t -→∞ ω(t ) = 0 then lim t -→∞ p(t ) = 0 ∀ p(0)
, that is, for every 1 , for every p(0),

there exists 2 , T 1 , T 2 > 0 and T 1 ≥ T 2 such that ω(t ) < 2 , ∀t ≥ T 2 ⇒ p(t ) < 1 , ∀t ≥ T 1 . (3.49)
Inspired by the work developed by [START_REF] Tran | Adaptive control of a quadrotor aerial vehicle with input constraints and uncertain parameters[END_REF], let us propose the following candidate Lyapunov function

V 1 ( p) = 2 i =1 (k 1 i p 1i +k 2 i p 2i ) 0 σ 1i (ς i )d ς i + 1 2 p T 2 K 1 p 2 (3.50)

Comparison of stabilization and tracking control algorithms

where k 1 i , p 1i , k 2 i , p 2i , σ 1i and ς i for i = 1, 2 are the elements of, K 1 , K 2 , p 1 , p 2 , σ 1 and ς respectively. The time derivative of V 1 ( p) along (3.47) and (3.48) is

V1 = ˙ p 1 T K 1 σ 1 (K 1 p 1 + K 2 p 2 ) + ˙ p T 2 K 2 σ 1 (K 1 p 1 + K 2 p 2 ) + p T 2 K 1 ˙ p 2 = -σ 1 (K 1 p 1 + K 2 p 2 )K 2 σ 1 (K 1 p 1 + K 2 p 2 ) -σ 2 (K 2 p 2 )K 2 σ 1 (K 1 p 1 + K 2 p 2 ) + ω T m K 2 σ 1 (K 1 p 1 + K 2 p 2 ) -σ 2 (K 2 p 2 )K 1 p 2 + ω T m K 1 p 2 . ≤ -λ mi n (K 2 ) σ 1 (K 1 p 1 + K 2 p 2 ) 2 + λ max (K 2 ) σ 1 (K 1 p 1 + K 2 p 2 ) σ 2 (K 2 p 2 ) -λ mi n (K 1 ) p T 2 σ 2 (K 2 p 2 ) + ω T m (K 1 p 2 + K 2 σ 1 (K 1 p 1 + K 2 p 2 )). (3.51)
Using Young's inequality 1 , the second term of (3.51), satisfies

λ max (K 2 ) σ 1 (K 1 p 1 + K 2 p 2 ) σ 2 (K 2 p 2 ) ≤ λ max (K 2 ) 2 σ 1 (K 1 p 1 + K 2 p 2 ) 2 + λ max (K 2 ) 2 σ 2 (K 2 p 2 ) 2 (3.52)
Furthermore, there exists ν > 0 such that σ 2 (K 2 p 2 ) ≤ νλ max (K 2 ) p 2 , for all p 2 , then the third term of (3.52) satisfies

σ 2 (K 2 p 2 ) 2 ≤ νλ max (K 2 ) p T 2 σ 2 (K 2 p 2 ) (3.53)
Substituting (3.53) into (3.52), yields

σ 1 (K 1 p 1 + k 2 p 2 ) σ 2 (K 2 p 2 ) ≤ σ 1 (K 1 p 1 + K 2 p 2 ) 2 2 + νλ max 2 p T 2 σ 2 (K 2 p 2 ) (3.54)
From (3.54), the derivative V1 in (3.51) satisfies

V1 ≤ -W 1 ( p, ω) (3.55)
where

W 1 ( p, ω) = c 1 σ 1 (K 1 p 1 + K 2 p 2 ) 2 + c 2 p T 2 σ 2 (K 2 p 2 ) - ω m (λ max (K 1 ) p 2 + c 3 ) (3.56) with c 1 = 2λ mi n (K 2 )-λ max (K 2 ) 2 , c 2 = 2λ mi n (K 1 )-νλ 2 max (K 2 ) 2 , c 3 = λ max (K 2 ) σ1 with σ1 ≥ σ 1 (•) . In order to ensure c 1 , c 2 , c 3 > 0, the matrices K 1 , K 2 are chosen as follows: 2λ mi n (K 2 ) > λ max (K 2 ); 2λ mi n (K 1 ) > νλ max (K 2 ) 2 (3.57) (3.55) is used to get (3.49). Let the ball B 1 = { p ∈ R 3 | p ≤ 1 }
, and show that p(t ) approaches B 1 after the time

T 1 . Let α 1 = min p = 1 V 1 ( p), then α 1 > 0. Take β 1 ∈ (0, α 1 ) and define the set Ω β 1 = { p ∈ B | V 1 ( p) ≤ β 1 }, then Ω β 1 is in the interior of B 1 . As V 1 ( p) is continuous and V 1 (0) = 0, there exists γ 1 such that 0 < γ 1 < 1 and β 2 = max p =γ 1 V 1 ( p) < β 1 .

Chapter 3. Control approaches for aerial vehicles

Let the ball

β γ 1 = { p ∈ Ω β 1 | p ≤ γ 1 }, and take α 2 = min p =γ 1 V 1 ( p), then we have 0 < α 2 < β 2 < β 1 < α 1 . Consequently, let the ball β γ 2 = { p ∈ B γ 1 | p ≤ γ 2 } where γ 2 satisfies 0 < γ 2 < γ 1 and 0 < min p =γ 2 V 1 ( p) ≤ max p =γ 2 V 1 ( p) < α 2 ,
then from the above construction we have

B γ 2 ⊂ B γ 1 ⊂ Ω β 1 ⊂ B 1 (3.58) and the Lyapunov function V 1 ( p) satisfies max p =γ 2 V 1 ( p) < min p =γ 1 V 1 ( p) < max p =γ 1 V 1 ( p) < β 1 < α 1 .
(3.59)

In view of (3.58) it is sufficient to show that p(t ) approaches B γ 2 after the finite time T 1 . Then, the proof is completed.

As the quadrotor is composed of mechanical and electrical parts, constraints are needed in order to respect the limits of its actuators and mechanical movements. Using (3.44) and (3.48) it yields

u 2 1 = U 2 x +U 2 y +U 2 z u 2 1 ≤ (σ 11 + σ 21 ) 2 m 2 + (σ 12 + σ 22 ) 2 m 2 + (σ 13 + σ 23 + g ) 2 m 2 .
(3.60)

In order to ensure u 1 ≤ ū1 , where ū1 is a thrust bounded constant defined by the properties of the actuators, and from (3.60), then the following condition is necessary

g -σ13 -σ23 > 0, (3.61)
( σ11 + σ21 ) 2 + ( σ12 + σ22 ) 2 + ( σ13 + σ23 + g ) 2 ≤ ū2 1 m 2 . (3.62)
Equation (3.43) can be rewritten as

θ d = tan -σ11 -σ21 -σ13 -σ23 + g -1 ≤ θd . (3.63) Rewriting (3.61) as -σ13 -σ23 < - g 2 | σ13 + σ23 | < g 2 , (3.64)
and equation (3.62) by

| σ11 + σ21 | 2 + | σ12 + σ22 | 2 + | σ13 + σ23 + g | 2 ≤ | ū2 1 | |m 2 | , (3.65) such that equation (3.63) is rewritten as tan | σ11 + σ21 | | σ13 + σ23 + g | -1
≤ θd .

(3.66)

Comparison of stabilization and tracking control algorithms

Developing the third term of (3.65)

| σ11 + σ21 | 2 + | σ12 + σ22 | 2 + | σ13 + σ23 | 2 + 2| σ13 + σ23 ||g | + |g | 2 ≤ ū2 1 m 2 . (3.67)
Assumption 1. As the virtual control U z has to compensate the weight of the vehicle (mg ) to track a desired altitude (z -→ z d .), then, it is possible to say that U z > U x and U z > U y .

Based on the Assumption 1 and considering that the vehicle is moving in the x-axis, thus, using (3.64) into (3.67) we obtain

| σ11 + σ21 | 2 + | g 2 | 2 + 2| g 2 ||g | + |g | 2 ≤ | ū2 1 | |m 2 | | σ11 + σ21 | 2 + g 2 4 + 2g 2 ≤ ū2 1 m 2 | σ11 + σ21 | 2 + 9 4 g 2 ≤ ū2 1 m 2 | σ11 + σ21 | ≤ ū2 1 m 2 - 9 4 g 2 .
(3.68)

Rewriting equation (3.63) with (3.68)

ū2 1 m 2 -9 4 g 2 | σ13 + σ23 | + g ≤ tan( θd ) (3.69)
From the last equation

| σ13 + σ23 | ≥      ū2 1 m 2 -9 4 g 2 tan( θd )      -g . ( 3
| σ12 + σ22 | ū2 1 m 2 -9 4 g 2 2 + ū2 1 m 2 -9 4 g 2 -g 2 ≤ tan φd | σ12 + σ22 | tan 2 θd ū2 1 m 2 -9 4 g 2 + ū2 1 m 2 -9 4 g 2 -g 2 tan 2 θd ≤ tan φd (3.71)
Then,

| σ12 + σ22 | ≤ tan φd      tan 2 θd ū2 1 m 2 -9 4 g 2 + ū2 1 m 2 -9 4 g 2 -g 2 tan 2 θd      (3.72)

Chapter 3. Control approaches for aerial vehicles

Following the inequalities given by (3.68), (3.70) and (3.72) it is possible to achieve the constraints u 1 ≤ ū1 , θ ≤ θd and φ ≤ φd .

To guarantee the orientation angle θ, φ tracks its desired value θ d , φ d in the sense that lim t →∞ η(t

) -η d (t ) = 0, where η = [θ φ] T and η d = [θ d φ d ] T , such that lim t -→∞ ω(t ) = 0. (3.73)
Then, it is possible to rewrite attitude subsystem describing the pitch movement in equation (2.11) as in the following form

˙ η 1 = η 2 J ˙ η 2 = τ (3.74)
where τ = [ τθ τφ ] T , and

J ∈ R 2x2 is a diagonal constant inertial matrix. Let us propose a control input of the form τ = -K 1 η 1 -K 2 η 2 (3.75)
where

η 1 = ( η -η d ) and η 2 = ( ˙ η -˙ η d )
, K 1 and K 2 are positive diagonal matrices that must be well chosen to ensure (3.73) and ˙

η d = [ θd φd ] T rate is defined as θd = Ux U z -U x Uz U 2 z +U 2 x φd = Uy U 2 x + Uy U 2 z -U y Ux U x -U y Uz U z U 2 x +U 2 z U 2 y +U 2 x +U 2 z (3.76) with ˙ U = - 1 m ((1 -σ 1 tanh(K 1 p 1 + K 2 p 2 ) 2 )K 1 p 2 + K 2 ((1 -σ 1 tanh(K 1 p 1 + K 2 p 2 ) 2 ) + (1 -σ 2 tanh(K 2 p 2 ) 2 )) ˙ p 2 ). Take K 2 2 > 4K 1 .
Then, the roots of the characteristic equation of the subsystem (3.74), (3.75) denoted by α, β are real with

β =   - K 2 2 - K 2 2 4 -K 1   < α =   - K 2 2 + K 2 2 4 -K 1   < 0. (3.77)
Let γ > 0 be an arbitrary constant. Now, if γK 2 replaces K 2 and γ 2 K 1 replaces K 1 , then β in (3.77) is placed by γβ and α by γα. Hence, it can easily be shown that for the given τ > 0 and any fixed r η > 0 one can select a pair

K 1 , K 2 such that η 0 ≤ r η implies |η i (t )| ≤ ϑ i r η exp(αt )
where 0 ≤ ϑ i , i = 1, 2 depend on η i 0 , and in particular

|K 1 η 1 (t ) + K 2 η 2 (t )| ≤ (K 1 ϑ 1 + K 2 ϑ 2 )r η < τ. ( 3

Numerical and experimental results

This section presents numerical and experimental results to validate the control strategies developed in (3.11), (3.22), (3.36), (3.48). The robot used to validate this overview of control laws is quadcopter system emulating a PVTOL vehicle for simplifying further analysis.

The scenario consists in moving the longitudinal axis of the vehicle as following: the vehicle starts at x(0) = -2m and z(0) = 1m, then, three set-points defined by x r 1 = 2, x r 2 = 4 and

x r 3 = 5 in meters are imposed as desired values. For better illustrating the graphs obtained in simulation and experimental results, we denote as LB , N LB , N S, the Linear/NonLinear Backstepping and the Nested Saturation controllers, respectively, called also classical approaches.

The H SC means the Hyperbolic Saturation Controller based on the fully actuated approach, named also virtual method. Parameters for numerical and practical validation are shown in Table 3.1.

Numerical results

The performance of the PVTOL vehicle when using controllers

Chapter 3. Control approaches for aerial vehicles

This performance is 'normal' because the saturation functions are chosen so small to guarantee a convergence from any initial condition. To increase the speed of convergence of these controllers, the bound of the saturation functions must be increased. Besides, as depicted in Figure 3.2, the θ angle responses for controllers NS and HSC are bounded, even if initial conditions are far from the desired position. In addition, for the controllers LB and NLB the angular position is bigger than for the NS and HSC controllers and its magnitude is related to the error position. Notice that only for the HSC algorithm the angular position tracks the imposed reference.

Comparison of stabilization and tracking control algorithms

Figure 3.3 is the most important graph to analyze the performance of the four controllers. In this figure, z performance is depicted showing the advantage of using a virtual controller from the classical one. Observe here that the controllers using classical procedure their altitude performance is degraded when tracking the references. In practical validation, this is observed as a drop in the altitude performance (z decreases). This drop is related to how far the desired value is. Similarly, the performance of the vehicle comparing the four control algorithms in the xz plane is displayed in Figure 3.4. In one hand, it can be verified that when using control algorithms based on classical method, the behaviour of the vehicle in the z-axis is compromized. On the other hand, controllers based on the virtual approach compensate this error by means of the correction term F 2 in the total thrust. x(0)

x r 1

x r 3

x r 2 In Figures 3.5 and 3.6 the control input responses for the four controllers are depicted. Notice from Figure 3.5 that u 1 response is different for the HSC controller with respect to the others that decreases when the desired point is modified. Notice that for the HSC controller u 1 increases to compensate the lateral displacement. Nevertheless, in Figure 3.6 the u 2 performance is quite different. Notice here that u 2 for the HSC controller is smaller with respect to the others one.

Comparison of stabilization and tracking control algorithms

Experimental results

The control algorithms (3.11)

= f L 1 + f R 1 and f 2 = f L 2 + f R 2 .
Vertical displacement on the z axis is produced when increasing or decreasing, by the same magnitude the speed in the motors, while pitch moment is produced with the difference between f 1 and f 2 . This quadcopter vehicle evolving as a PVTOL is an AR Drone 2. Its firmware was modified to work under the software Fl-AIR -Framework libre AIR which is open source and runs a Linux-based operating system, capable of implementing a wide range of control schemes, see [160]. An OptiTrack motion capture system was used to estimate the vehicle's position, while its internal Inertial Measurement Unit (IMU) measures its orientation and angular rates. The angular performance of the quadcotper system when using the four control algorithms is depicted in Figure 3.9. Remark that for the virtual control algorithm a desired angle is imposed and tracked satisfactorily. Similarly in this figure observe that θ-response is bigger for those controllers that are mainly designed without saturation functions. From this figure it is possible to make a relation between the fast convergence of controllers and their attitude response. This means that, faster the convergence is achieved, then, bigger the attitude response. Observe in Figure 3.10, that the magnitude of the error in the z-axis is directly related to the

x-axis error. This means that if the desired x-position is far, then, the error in the vertical axis increases. And as a consequence, the magnitude of the θ angle is affected as can be verified in Figure 3.9. Therefore, as observed from this same figure, it is possible to use small values for the saturation functions or furthermore reduce the control gains of the LB and NLB controllers, however it will compromise the performance of the system reducing the convergence of the states to the desired positions.

Comparison of stabilization and tracking control algorithms

Moreover, a big angle response should increase the vertical error in the vehicle when using control algorithms based on the classical approach as can be seen in Figure 3.11. Besides, when using controllers based on the virtual approach or controllers using bounded functions, this error is minimized as shown in Fig. 3.11. Notice the performance of the LB and NLB controllers. Due the longitudinal error increases, the altitude response is affected in order to fulfill the control objective. It is well known that this altitude error can be fixed re-tuning the control gains for every new desired position, however that was out of the scope of this thesis. x(0) x r 1

x r 2 x r 3 In Figures 3.12 and 3.13 the control input responses are illustrated. Notice that they have obtained similar performance as in the case of simulations results. In the next section, we introduce a discussion in terms of the control inputs using the indices performance and qualitative variables to expose our conclusions for the four control algorithms. From the steady state regime experimental results, in Table 3.2 it can be observed that the Nested Saturation and Hyperbolic Saturation controllers achieve the best performance in terms of the vertical error. The HSC presents less error than NS. However, the HSC algorithm includes a bigger computational effort with respect to the other algorithms due the derivatives of the desired angle θ d . It can be analyzed from the design of the HSC controller that imposes desired angles, therefore, this increases the time of convergence to the desired translational values. Nevertheless, it could be an advantage because when imposing desired angles, we can ensure converge even if the desired position are far away. Observe also from tables that the Nested Saturation controller is quite small with respect to the other approaches due mainly to the values of the bound of the saturation functions. The linear backstepping controller presents a small error in the longitudinal axis and faster convergence time as can be observed in tables. Nonetheless, according to Table 3.2 this control algorithm has a bigger vertical error and by consequence control effort u 2 required is also bigger. Regarding the design, tuning and the implementation effort, the linear backstepping and nested saturation algorithms are easier to tune because their structure can be seen as Proportional Derivative controllers. In contrast, the NLB and the HSC are tedious to implement since both present several complex derivatives and they have more parameters to tune. In this context, Table 3.4 presents a behavior comparison between the four algorithms including numerical and practical validation and other qualitative indicators. Concerning the methods to design these control laws, one of the advantages of the virtual method is the possibility to design any control law (adaptive control, sliding mode control, etc) in F 1 and F 2 that could significantly improve the performance of the system. Here, the challenge will be to design control laws capable to provide desired angles respecting the mechanical constraints of the vehicle for avoiding singularities in the control input u 2 .

Chapter 3. Control approaches for aerial vehicles

The disadvantage, as previously mentioned, is the complexity of the implementation of the algorithms due of the first and second derivative of F 1 and F 2 . In contrast, the classical method gives the advantage of an easy fashion to get the analysis and design of the control algorithms based on the assumption that the vertical axis is controlled. However, the control effort of the inputs u 1 and u 2 could be larger if the desired positions are far from the initial conditions.

Quaternion-based backstepping control

In this section, a backstepping quaternion control is designed based on the proposed dynamic model (2.52) developed in Section 2.3. According to this section and in particular, subsection 2.3.2, it is possible to decouple the whole dynamic model of the vehicle in terms of a desired attitude q d , which is described by a desired thrust vector force U ∈ I . Let us consider the rotational dynamic model of the quadcopter represented by (2.51) as the associated quaternion for the tracking attitude error defined by (2.53). Therefore, the thrust vector force U must be established in terms of the translational system (2.54).

Backstepping position controller

Following the procedure of the bacsktepping control technique, as in the case of using Eulerangles, let us define the tracking error define the error e x 1 as e

x 1 = x 1 -x d 1 , where x d 1 is the reference. Let us propose the following positive function V 1 = α x 1 2 e 2
x 1 , with α x 1 > 0 denoting a constant, then taking the derivative with respect to time and proposing x v 2 = x d 2e x 1 as a virtual control input, it follows that

V1 = α x 1 e x 1 (x 2 -x v 2 -e x 1 ) = -α x 1 e 2 x 1 + α x 1 e x 1 (x 2 -x v 2 )
where ẋd 1 = x d 2 . Define the error e x 2 = x 2 -x v 2 thus, the previous yields V1 = -α x 1 e 2 x 1 +α x 1 e x 1 e x 2 . Propose the second positive function

V 2 = α x 2 2 e 2
x 2 with α x 2 > 0 constant.

Quaternion-based backstepping control

Differentiating with respect to time

V2 = α x 2 e x 2 (U x -ẋv 2 )
Proposing

U x = -e x 2 + ẋv 2 -α 1 α 2 e x 1 = -e x 2 + ẋd 2 -x 2 + x d 2 - α x 1 α x 2
e x 1 , the, defining the Lyapunov function V T = V 1 + V 2 and differentiating with respect to time, it follows that

VT = V1 + V2 = -α x 1 e 2 x 1 + α x 1 e x 1 e x 2 -α x 2 e 2 x 2 -α 1 e x 1 e x 2 VT = -α x 1 e 2 x 1 -α x 2 e 2 x 2 < 0 (3.79)
The procedure to get the virtual control inputs U y and U z is exactly the same as for U x . Thus without lost of generality, it is possible to define the control vector of the form

U =    U x U y U z    =     -e x 2 + ẋd 2 -x 2 + x d 2 - α x 1 α x 2 e x 1 -e y 2 + ẏd 2 -y 2 + y d 2 - α y 1 α y 2 e y 1 -e z 2 + żd 2 -z 2 + z d 2 - α z 1 α z 2 e z 1 + g     (3.80)
where α i j are positive constants. Therefore, the thrust can be defined as

u 1 = U 2 x +U 2 y +U 2 z m . ( 3.81)
Then, from (2.56) and (2.57) let us define the unit vector associated with U as

µ = U U = 1 U 2 x +U 2 y +U 2 z    U x U y U z    . (3.82)
The desired quaternion q d can be computed using (2.59) and (2.60) as follows

q d = q d 0 q d =       q d 0 q d 1 q d 2 q d 3       , q d 0 = 1 + υ µ 2 , q d = 1 + υ T µ 2 S( µ) υ (3.83)
where υ = [0 0 1] T and S( µ) is defined as

S( µ) =    0 -µ 3 µ 2 µ 3 0 -µ 1 -µ 2 µ 1 0    .
Consequently, choosing proper control gains α i j in (3.80) such that (3.81) aligns F ξ with U , then, the position error will converge to zero and therefore, the translational quadrotor system (2.54) can be stabilized in any desired position.

Chapter 3. Control approaches for aerial vehicles

Once the desired quaternion is defined, the control of the attitude system and its stability analysis must be addressed. For that, let us propose the following change of coordinates

Z 1 = 1 -|q e0 | q e (3. 84
)
where q e = [q e1 q e2 q e3 ] T and q e = q * d ⊗ q. Then computing its derivative with respect to time sgn q e0 q d 0 q0

+ qd0 q 0 + ˙ q T d q + q T d ˙ q -˙ q d q 0 -q d q0 + qd0 I 3 q + q d 0 I 3 ˙ q -S( ˙ q d ) q -S( q d ) ˙ q (3.85)
Considering the case of regulation problem, it follows that qd0 , qd → 0, then

˙ Z 1 -sgn q e0 q d 0 q0 + q T d ˙ q q d 0 ˙ q -q d q0 -S( q d ) ˙ q (3.86)
From (2.51), it follows that (3.86) can be rewritten as

˙ Z 1 = 1 2
-sg n(q e0 ) q d 0 q T + q T d (q 0 I 3 + S( q)) q d 0 (q 0 I 3 + S( q)) -qd qT -S( qd )(q 0 I 3 + S( q)) (3.87)

Remark that the first element of (3.87) can be expressed as ˙ Z 1 (1) = sgn(q e0 ) q T e and the second element can be rewritten using the property S(a)S(b) = ba Ta T bI as

˙ Z 1 (2) = 1 2 q d 0 q d I 3 + q d 0 S( q) + q T q d -S( q d )q 0 I 3 -S( q d )S( q) Ω (3.88)
Defining S( q e ) = q d 0 S( q) + q T q d 0 -S( q d )q 0 I 3q q T d (3.89)

then, ˙ Z 1 is expressed as ˙ Z 1 = 1 2 M (q e ) Ω (3.90)
where M (q e ) = sgn(q e 0) q T e q e0 I 3 + S( q e ) .

Let us propose a positive function of the form V 1 = 1 2 Z T 1 Z 1 and differentiating with respect to time is given by V1

= 1 2 Z T 1 M (q e ) Ω (3.91)
The main idea behind the backstepping technique is to propose a virtual control input such that V1 ≤ 0, thus, let us introduce

Ω v = -K 1 M T (q e ) Z 1 (3.92)
then, the derivative of V 1 can be expressed as

V1 = - 1 2 Z T 1 M (q e )K 1 M ( T q e ) Z 1 ≤ 0 (3.93)

Quaternion-based backstepping control

Proposing the second error as Z 2 = Ω -Ω v and differentiating with respect to time,

˙ Z 2 = ˙ Ω -˙ Ω v ˙ Z 2 = I -1 (-ΩI S( Ω) + τ -I ˙ Ω v ) (3.94)
The system in terms of the errors Z 1 and Z 2 and its derivatives can be expressed as

˙ Z 1 = 1 2 M (q e )( Ω v + Z 2 ) ˙ Z 2 = I -1 (-ΩI S( Ω) + τ -I ˙ Ω v ) (3.95)
Proposing a Lyapunov function of the form

V T = 1 2 Z T 1 Z 1 + 1 2 Z T 2 Z
2 and its derivative with respect to time given by

VT = Z T 1 ˙ Z 1 + Z T 2 ˙ Z 2 = 1 2 Z T 1 (M (q e ) Ω v + M (q e ) Z 2 ) + Z T 2 (I -1 (-ΩI S( Ω) + τ -I ˙ Ω v )) (3.96)
Choosing τ as

τ = ΩI S( Ω) + I ˙ Ω v -K 2 Z 2 - 1 2 M (q e ) T Z 1 (3.97)
then, it can be see that using (3.97) system (3.95) is stabilized and therefore, the full dynamic quadcopter model described by (2.52) is asymptotically stable

VT = - 1 2 Z T 1 M (q e )K 1 M T (q e ) Z 1 -Z T 2 K 2 Z 2 ≤ 0. (3.98)
The final control input equation using the quaternion backstepping control can be expressed in terms of states as follows

τ =    0 -Ω x 0 Ω z 0 -Ω x -Ω y Ω x 0       I xx 0 0 0 I y y 0 0 0 I zz       Ω x Ω y Ω z    -    K 2x 0 0 0 K 2y 0 0 0 K 2z             Ω x Ω y Ω z    -          K 1x 0 0 0 L 1y 0 0 0 K 1z    × 1 2   
sgn(q e0 )q e1 q 0 -q 3 q 2 sgn(q e0 )q e2 q 3 q 0 -q 1 sgn(q e0 )q e3 -q 2 q 1 q 0

         1 -|q e0 | q 1 q 2 q 3                   - 1 2   
sgn(q e0 )q e1 q 0 -q 3 q 2 sgn(q e0 )q e2 q 3 q 0 -q 1 sgn(q e0 )q e3 -q 2 q 1 q 0 ξ dx , and the desired quaternion is given by q d = q t ⊗ q z . The control parameters used in this test are depicted in Table 3.5.

         1 -|q e0 | q 1 q 2 q 3       . ( 3
The performance of the vehicle when tracking a circular desired trajectory is presented in Notice the well performance of q 0 and q 3 which are related with the desired ψ d angle. Moreover, it is important to remark that, although the rotation of the vehicle completes more than one complete tour around the z-axis, the attitude is continuous. This lack of discontinuity points is one of the main advantages of using quaternion approaches.

φ = arctan 2(q 0 q 1 + q 2 q 3 ) 1 -2(q 2 1 + q 2 2 )
, θ = arcsin 2(q 0 q 2q 1 q 3 ) , ψ = arctan 2(q 0 q 3 + q 1 q 2 ) 1 -2(q 2 2 + q 2 3 ) .

(3.100)

Finite-time convergence using Sliding Mode Control

Note this conversion uncovers the discontinuities that are present when completing full rotations (±180 • ), also note that the yaw angle error displays sudden jumps when such rotations are reached, this may cause undesired behaviors in experiments if left unfixed.

Finite-time convergence using Sliding Mode Control

The next method developed in this thesis concerns the convergence in finite time of an aerial drone to a mobile target using the properties of the sliding mode control. In order to that, the target must to remain in the field of view (FoV) of the quadrotor vehicle. Therefore, the goal is to compute desired trajectory with finite time convergence t , such that,

x c (t ) and y c (t ) components

For designing the first component x c (t ) such that x c (t ) → x T in finite time t let us define the position error as x c (t ) = x c (t )x T . Notice that if x c (t ) = 0 for all t ≥ t then, this will imply that x c (t ) = x T ∀t ≥ t . Computing the derivative of x c with respect to time, it follows that ˙ x c (t ) = ẋc (t ), ¨ x C (t ) = ẍc (t ) where its initial conditions are given by x c (0

) = x c (0) -x1 , ˙ x c (0) = ẋc (0) = 0, ¨ x c (0) = ẍc (0) = 0.

Chapter 3. Control approaches for aerial vehicles

The objective is that x c (t ) = ˙ x c (t ) = ¨ x c (t ) = 0 in a finite time t , thus, the following variables and its derivatives can be stated:

x c (t ) = x c (t ) -µ x (t ), ˙ x c (t ) = ˙ x c (t ) -μx (t ) and ¨ x c (t ) = ¨ x c (t ) -μx (t ) with µ x (t ) = t -t 3 c 0 + c 1 t + c 2 t 2 μx (t ) = t -t 3 (c 1 + 2c 2 t ) + 3 t -t 2 c 0 + c 1 t + c 2 t 2 μx (t ) = 2c 2 t -t 3 + 6 t -t 2 (c 1 + 2c 2 t ) + 6 t -t c 0 + c 1 t + c 2 t 2
and for derivatives i : 0, 1,

2 i µ x (t ) = i µ x (t ) for 0 ≤ t < t 0 for t ≥ t (3.101) Then i x c (t ) =    i x c (t ) - i µ x (t ) for 0 ≤ t < t i x c (t ) for t ≥ t (3.102) Observe that x c (0) = 0 implies that x c (0) = µ x (0), c 0 = ( x1 -x c (0))/ t 3 . ˙ x c (0) = 0 means that ˙ x c (0) = μx (0), hence c 1 = 3c 0 / t and ¨ x c (0) = 0 means that ¨ x c (0) = μx (0), then c 2 = (3c 1 t -3c 0 )/ t 2 .
Taking the third derivative of x c , it follows that ...

x c (t ) = ... ρ x c (t ) - ... µ x (t ) = ... x c (t ) - ... µ x (t ). If ... x c (t ) = -α x sign ¨ x c + 2 ˙ x c 3 + x c 2 1/6 × sign ˙ x c + x c 2/3 sign x c (3.103)
with a sufficiently large α x . The finite-time stability is ensured from Theorem 6.2 in [START_REF] Yuri | Sliding Mode Control and Observation[END_REF].

The above implies that x c (t ) = µ x (t ), ˙ x c (t ) = μx (t ) and ¨ x c (t ) = μx (t ) ∀ t ≥ t r . Nevertheless, if t r ≤ t when t → t and from (3.101) it follows that x c (t ) = µ x (t ) = 0, ˙ x c (t ) = μx (t ) = 0, and ¨ x c (t ) = μx (t ) = 0, ∀ t ≥ t . This means that x c (t ) = x T for all t ≥ t therefore the finite-time convergence to x T is achieved.

Propose

x c = x 1c , ẋ1c = x 2c , ẋ2c = x 3c then it follows that ẋ1c = x 2c ẋ2c = x 3c ẋ3c = -α x sign ¨ x c + 2 ˙ x c 3 + x c 2 1/6 × sign ˙ x c + x c 2/3 sign x c (3.104)
with

α x = 0, for t = 0 α x > 0, for t > 0 (3.105)
α x is defined in this form to achieve ẋ3c (0) = 0.

Finite-time convergence using Sliding Mode Control

Following the previous procedure the y c (t ) component is obtained as with

α y = 0, for t = 0 α y > 0, for t > 0 (3.107)
α y is defined in this form to achieve ẏ3c (0) = 0.

Sliding mode control design

The goal in this subsection is to design a controller, based on the sliding mode properties, capable to make the quadcopter tracks the proposed trajectory ξ c (t ) with asymptotic convergence. Thus, the first step is to define the tracking errors as follows ėx 1 = e x 2 ; ėx 2 =sin (θ 1 ) 1

m u 1 -δ x ėy 1 = e y 2 ; ėy 2 = cos (θ 1 ) sin φ 1 1 m u 1 -δ y ėz 1 = e z 2 ; ėz 2 = cos (θ 1 ) cos φ 1 1 m u 1 -δ z (3.108)
where e x 1 = x 1x 1c ; e y 1 = y 1y 1c ; e z 1 = z 1z c (0); ėx 1 = e x 2 = x 2x 2c ; ėy 1 = e y 2 = y 2y 2c and ėz 1 = e z 2 = z 2 . Also, δ x = x 3c , δ y = y 3c and δ z = g .

Proposing u 1 as

u 1 = m cos (θ 1c ) cos φ 1c [δ z + r 3 ] (3.109)
where φ 1c and θ 1c are the desired angles and r 3 will be defined later to assure convergence.

Introducing u 1 into ėz 2 it follows that

ėz 2 = cos (θ 1 ) cos φ 1 1 m m cos (θ 1c ) cos φ 1c [δ z + r 3 ] -δ z If φ 1 → φ 1c , θ 1 → θ 1c , ψ 1 → ψ 1c
, this will imply that ėz 1 = e z 2 ; ėz 2 = r 3

Defining r 3 = -K p z e z 1 -K d z e z 2 with K p z > 0 and K d z > 0, then e z 1 , e z 2 → 0.

Then, the new goal is to find φ 1c and θ 1c . Introducing u 1 into ėy 2 in (3.108), and considering that τ φ , τ θ , τ ψ are designed such that

φ 1 → φ 1c , θ 1 → θ 1c , ψ 1 → ψ 1c , then ėy 2 = tan φ 1c [δ z + r 3 ] -δ y (3.110)
Chapter 3. Control approaches for aerial vehicles and φ 1c can be computed as

φ 1c = tan -1 δ y + r 2 δ z + r 3 (3.111)
Therefore, the next subsystem is obtained ėy 1 = e y 2 ; ėy 2 = r 2

Proposing r 2 = -K p y e y 1 -K d y e y 2 with K p y > 0 and K d y > 0 this implies that e y 1 , e y 2 → 0.

Introducing u 1 into ėx 2 in (3.108) and considering that τ φ , τ θ , τ ψ are designed such that

φ 1 → φ 1c , θ 1 → θ 1c , ψ 1 → ψ 1c , then ėx 2 = -tan (θ 1c ) 1 cos φ 1c [δ z + r 3 ] -δ x
and θ 1c can be proposed as

θ 1c = tan -1 (-1) cos φ 1c δ x + r 1 δ z + r 3 (3.112)
Hence, the following subsystem is obtained ėx 1 = e x 2 ; ėx 2 = r 1 and proposing r 1 = -K p x e x 1 -K d x e x 2 with K p x > 0 and K d x > 0, we will able to accomplish the asymptotic convergence of e x 1 and e x 2 around (0, 0).

To simplify notation, define T x = δ x + r 1 , T y = δ y + r 2 and T z = δ z + r 3 . Therefore the desired angular velocities φ1c = φ 2c and θ1c = θ 2c are

       φ 2c = cos 2 φ 1c T z Ṫy -Ṫz tan φ 1c θ 2c = cos 2 (θ 1c ) T z T x sin φ 1c φ 2c -Ṫz tan (θ 1c ) -Ṫx cos φ 1c (3.113)
The initial desired angular positions and velocities are given by φ 1c (0) = 0, θ 1c (0) = 0 and φ 2c (0) = 0, θ 2c (0) = 0.

From (2.18), (3.111) and (3.112) it is possible to represent the attitude of a quadcopter in errors terms as follows

ėφ 1 = e φ 2 ėφ 2 = f1 + b 1 τ φ + ζ 1 ėθ 1 = e θ 2 ėθ 2 = f2 + b 2 τ θ + ζ 2 ėψ 1 = e ψ 2 ėψ 2 = f3 + b 3 τ ψ + ζ 3 (3.114)
where

e φ 1 = φ 1 -φ 1c , e θ 1 = θ 1 -θ 1c , e ψ 1 = ψ 1 -ψ 1c , ėφ 1 = e φ 2 = φ 2 -φ1c , ėθ 1 = e θ 2 = θ 2 -θ1c , ėψ 1 = e ψ 2 -ψ1c . Moreover f1 = (e θ 2 + θ1c )(e ψ 2 γ 1 -β 1 ) -φ1c , f2 = (e φ 2 + φ1c )(e ψ 2 γ 2 -β 2 ) -θ1c , f3 = (e θ 2 + θ1c )(e φ 2 + φ1c )γ 3 - > 0 ψ1c . ζ i ≤ L i for i ∈ [1, 2, 3
] are bounded perturbations. The desired angle yaw ψ 1c is considered constant, then ψ1c = ψ1c = 0.

Finite-time convergence using Sliding Mode Control

Once the rotational errors are given in terms of the desired angles φ c , θ c , then the goal is to design τ φ , τ θ , τ ψ such that e φ 1 = φ 1 -φ 1c → 0, e θ 1 = θ 1 -θ 1c → 0 and e ψ 1 = ψ 1 -ψ 1c → 0 in finite time t * , where t * < t . In this way e φ 1 , e θ 1 and e ψ 1 converge to zero faster, to guarantee that the quadcopter position goes to the desired trajectory in finite time t . In addition, it is also necessary that e φ 1 ≈ 0, e θ 1 ≈ 0 and e ψ 1 ≈ 0 ∀ 0 ≤ t < t * , the previous will imply that

φ 1 ≈ φ 1c , θ 1 ≈ θ 1c , ψ 1 ≈ ψ 1c for 0 ≤ t < t * .
To guarantee the above stated, a new tracking trajectory and its derivatives are defined as Notice from previous equations that µ(0) = µ (t * ) = 0, μ(0) = μ (t * ) = 0 and μ(0) = μ (t * ) = 0.

i χ(t ) = i µ(t ) for 0 < t <
Propose the following sliding surfaces S j = e j -χ (t ) ; j : φ 1 , θ 1 , ψ 1 (3.119) Thus, using (3.119) for j : φ 1 and (3.114), it follows that Ṡφ 1 = e φ 2 -χ (t ) and Sφ

1 = f1 + b 1 τ φ + ζ 1 -χ(t ). Notice that if S φ 1 (0) = 0 it yields, Ṡφ 1 (0) = 0. Proposing τ φ as τ φ = b -1 1 α φ sign Ṡφ 1 + S φ 1 1/2 sign S φ 1 + χ (t ) -f1 , (3.120)
Using a same procedure that those propose for τ θ , it follows that derivating (3.119) for j : θ 1 , it yields Ṡθ 1 = e θ 2 -χ(t ) and Sθ 1 = f2 + b 2 τ θ + ζ 2 -χ(t ). Thus, τ θ can be proposed as

τ θ = b -1 2 -α θ sign Ṡθ 1 + S θ 1 1/2 sign S θ 1 + χ (t ) -f2 , (3.121)
Finally, for designing τ ψ we derivate (3.119) for j : ψ 1 and then Ṡψ 1 = e ψ 2 -χ(t ) and Sψ 2,3] in order to compensate the bounded perturbations. Therefore it follows that S φ 1 = Ṡφ 1 = 0, S θ 1 = Ṡθ 1 = 0 and S ψ 1 = Ṡψ 1 = 0 in a finite time t . The finite-time stability of the system is guaranteed from control theory in [START_REF] Yuri | Sliding Mode Control and Observation[END_REF] for the "nested" 2-sliding control.

1 = f3 + b 3 τ ψ + ζ 3 -χ(t ). Propose τ ψ = b -1 3 -α ψ sign Ṡψ 1 + S ψ 1 1/2 sign S ψ 1 + χ (t ) -f3 . ( 3
≥ L i with k ∈ [φ, θ, ψ], i ∈ [1,

Numerical and experimental results

This section presents the numerical and experimental results in order to validate the control strategies developed in (3.120), (3.121) and (3.122). As in the case of the last results, the vehicle used to implement the control algorithms was an Ar.Drone Parrot 2.0 under the software Fl-AIR which is open source and runs a Linux-based operating system, capable of implementing a wide range of control schemes, see [160]. For obtaining the vehicle's position, an OptiTrack motion capture system was used while its internal Inertial Measurement Unit (IMU) measures its orientation and angular rates.

For validating the proposed control law, let us take the following scenario: consider a flying target and quadcotper vehicle evolving in R 2 at random position. The goal is that the quadcopter converge near to the flying target, ξ d , in finite time. For simulation tests, a desired finite time convergence of t = 5s is proposed as an example for verifying the effectiveness of the control algorithm. Moreover, for the experimental validation, t = 5s and t = 3s are proposed as desired finite times convergence. Therefore, the vehicle must to track the desired nonlinear dynamics trajectories x c (t ) and y c (t ) described by (3.103) and (3.106). Parameters for numerical and practical validation are shown in Table 3.6.

The vehicle should arrives to the desired position with a fixed altitude z(0) = 1m in a finite time t that denotes the arriving time. Therefore, the following assumptions are established:

1. The quadcotper is located in a random hover position.

2. The flying target is static but its position and velocity are known.

3. The vehicle movements are delimited to the horizontal plane x, y.

Numerical results

Take the initial conditions of the flying target as x T (0) = 1m, y T (0) = 1m, z T (0) = 1m and for the quadcotper at x(0) = -3m, y(0) = -3m, z(0) = 1m. Figures 3.20 -3.23 present the performance of the quadrotor when converging in finite time to a desired position ξ d . Notice from Figure 3.20 and 3.21 the well performance of the control algorithm in the z-axis. From these figures, its is possible to observe that the desired trajectories ξ c arrives at the desired finite time t = 5s, however as the dynamic of the trajectories were tuned faster than the quadcotper position dynamics, an error in the x and y coordinates appears until it converge to zero (t ≥ t ).

Chapter 3. Control approaches for aerial vehicles

The performance of desired attitude and the orientation of the vehicle are illustrated in Figure 3.22. Notice that from this figure the desired attitude performance has slight oscillations. This is mainly due to the fact that the finite time convergence trajectory is composed by the sg n function. Therefore, the desired angles (3.111) and (3.112) are affected as can be verified in the figure. The performance of the control inputs are depicted in Figure 3.23. These signals present the well-known effect "chattering" because the composition of their equations. It is worth mentioning that, this kind of strategies has a large demand of energy, but at the same time gives robustness.

Finite-time convergence using Sliding Mode Control

Experimental results

The initial conditions for the practical validation were set as follows: the flying target is located hovering in ξ T = [3, 2, 1.2] T m while the quadcopter starts from ξ = [-2, -2 1.2] T m and the desired safe distance ξ d = [1, 0] T m. For this experiment, some control parameters were modified such that kp θ = kp φ = 140, kd θ = kd φ = 4, kp x = kp y = 0.9 and kd x = kd y = 0.35.

In Figures 3.24 -3.27, the performance of the vehicle and its control inputs when performing the finite time convergence for t = 5s and t = 3s are depicted. Observe from Figures 3.24 and 3.25 when the quadcotper is performing for t = 5s the desired trajectories ξ c and the vehicle's position converge with a good performance, with not overshoot and small altitude error. However, for t = 3s a slight overshoot appeared in the desired trajectories due the α parameter of (3.103) and (3.106). Nevertheless, this effect does not affect the performance of the control algorithm, as can be confirmed in Figure 3.24 (right column images). In addition, notice from Figure 3.25 the altitude and position errors were increased.

Conclusions

Figure 3.27 depicts the behavior of the control inputs. Notice that the "chattering" effect does not appears. For these experimental tests, we approximate the sgn function as an hyperbolic tanh function in order to avoid "chattering" effect. Therefore, the performance is softer with respect to that one of the simulation results.

Conclusions

In this chapter, some control techniques based on Euler angles and quaternion formalism were addressed: a brief overview evaluation of popular control algorithms (linear and nonlinear backstepping, nonlinear saturation control and the virtual fully actuated technique), a quaternion-based nonlinear backstepping controller and a Sliding Mode Control for finitetime convergence.

The goal of this chapter was to provide a unified and accessible analysis, placing popular control algorithms, quaternion-based controllers and with finite time convergence, into a proper context. Simulation and experimental results reveals that using the virtual fully actuated technique, over classical approaches, results in a smoother convergence to the desired reference and a smaller control effort demand. Nevertheless, when agile/aggressive movements or finite time convergence are required, quaternion-based algorithms and sliding mode-based controllers can quickly satisfy these demands, in comparison with classic controllers. After analysis, we consider that the choice between the controllers will depend on the problem requirements and the computational capacity of the embedded system.

Part IV Chapter 4 4 Autonomous navigation algorithms

Most of the works currently found in literature about micro aerial vehicles, especially quadrotors, have received plenty of attention of the scientific community. Studies focus on control [START_REF] Lee | Geometric tracking control of a quadrotor UAV on SE(3)[END_REF][START_REF] Liu | Control techniques of tilt rotor unmanned aerial vehicle systems: A review[END_REF][START_REF] Bangura | Real-time model predictive control for quadrotors[END_REF], state estimation [START_REF] Forster | Svo: Fast semi-direct monocular visual odometry[END_REF], and planning [START_REF] Richter | Polynomial Trajectory Planning for Aggressive Quadrotor Flight in Dense Indoor Environments[END_REF][START_REF] Mellinger | Minimum Snap Trajectory Generation and Control for Quadrotors[END_REF], have been conducted respectively, and many significant progresses have been achieved. Because of the strong needs in real applications, autonomous flight of quadrotors, which requires to address the perception, planning and control problem simultaneously, has been investigated and still continuously studied to improve its performance. Due to the noteworthy properties, particularly the structural simplicity, rapid maneuverability, the stable hovering capability, and low cost, a quadrotor is an ideal platform for navigating in confined and hazardous environments such as exploration [START_REF] Bircher | Receding horizon path planning for 3d exploration and surface inspection[END_REF], inspection [START_REF] Faessler | Autonomous, vision-based flight and live dense 3d mapping with a quadrotor micro aerial vehicle[END_REF], and search and rescue [START_REF] Michael | Collaborative mapping of an earthquakedamaged building via ground and aerial robots[END_REF].

Going beyond these motivations and taking advantage of controllers detailed in the previous sections, this chapter presents three different alternatives for the autonomous control of quadrotor vehicles: a robust trajectory generation and tracking algorithm, a scheme for the aerial surveillance of Autonomous Ground Vehicles (AGVs) using a quadcotper vehicle and, a virtual control architecture for controlling robots remotely using a virtual reality environment. This chapter is organized as follows: first, a path planning algorithm based on model predictive control with a bounded strategy is addressed in section 4.1. Experimental tests are carriedout in order to validate the proposed scheme. In section 4.2, a vision algorithm for target localization is presented. The goal in this section is to present the surveillance application between a quadrotor and a ground vehicle. Experimental tests are carried out to demonstrate the good performance of the control algorithm. Finally, a semi-autonomous navigation architecture using an immersive virtual environment is presented in section 4.3. Here, the propose is to reduce the stress in novice pilots when controlling a quadrotor vehicle. Two different scenario for the experimental tests are presented to confirm the good performance of the proposed architecture.

Chapter 4. Autonomous navigation algorithms

Path planning algorithm using MPC

In this section the path planning algorithm based on model predictive control (MPC) for the quadcopter system is discussed. For path generation and tracking, it is assumed that system (2.11) describing the dynamics of the quadcopter is at hover position with a desired altitude, using a controller with the form (3.26). Thus, let us define the mission set as follows: the aerial vehicle starts from an initial position, P (0), to a final one, P (t f ), where t f denotes the final time. Solving the optimal trajectory planning problem (OTPP) involves the determination of the trajectory Our idea is to propose simple schemes which allows to compute the algorithms in the embedded system of the vehicle, the MPC approach used in this paper is based on the predictive control for linear systems without constraints. It can be notice from section 3.1.2 and using (3.22) that the controller can impose, using b i , a linear behavior in the system (2.12). Thus, without lost of generality and for simplify further analysis, system (2.12) can be analyzed as a linear system and it can be represented as a discrete time state space of the form

P d = [ ξ d , ˙ ξ d ]
x(k + 1) = A(K , g ) x(k) + B (K , I )∆ P r (k) y(k) = C x(k) (4.1)
where x ∈ R 12×1 is the state vector, ∆ P r ∈ R 6×1 represents the control trajectory vector, y ∈ R 12×1 signifies the vector of measured outputs. A(K , g ) ∈ R 12×12 , B (K , I ) ∈ R 12×6 are matrices with elements that depend on the gains defined in (3.22) and g , I were declared in (2.16).

Path planning algorithm using MPC

Trajectory generation

The model predictive control approach solves a finite-time unconstrained optimal control problem in a receding horizon manner. Therefore, let H p be the prediction horizon, H u the control horizon and H w the window horizon such that the path planning problem can be formulated as a linear optimization problem with a quadratic cost function with the form:

J ( x, ∆ P r ) = H p i =1 P (k + i ) -P d (k + i ) 2 Q(i ) + Hu-1 i =0 ∆P r (k + i ) 2 R(i ) . (4.
2)

P (k) =     P (k + H w|k) . . . P (k + H p|k)     , P d (k) =     P d (k + H w|k) . . . P d (k + H p|k)     , ∆ P (k) =     ∆P r (k|k) . . . ∆P r (k + Hu -1|k)     ,
and the weighting matrices Q and R are given by

Q =       Q(H w) 0 • • • 0 0 Q(H w + 1) • • • 0 . . . . . . . . . . . . 0 0 • • • Q(H p)       , R =       R(H w) 0 • • • 0 0 R(H w + 1) • • • 0 . . . . . . . . . . . . 0 0 • • • R(Hu -1)       .
The tracking error δ k = P -P d , is the difference between the state vector and a time varying reference and is penalized along with the control trajectory effort. The weighting matrices Q, R, penalizing the tracking error, are chosen to reflect the desired balance of their respective terms. The time reference is generated at each step by drawing a line in an Euclidean space from P 0 to the final target. That line is discretized into N -1 points where those points are used in sequence as ∆ P r .

The state's prediction can be formulated as follows [START_REF] Jm M Maciejowski | Predictive control: with constraints[END_REF]

P (k) = Ψ x(k) + Υ∆ P r (k -1) + Θ∆ P r (k) (4.3)
for suitable matrices Ψ, Υ and Θ. Define

ε = P d (k) -Ψ x(k) -Υ∆ P r (k -1) (4.4)
This can be thought of as a tracking error, in the sens that it is the difference between the future target trajectory and the free response of the system. If ε = 0, then it would indeed be correct to set ∆ P r (k) = 0. Rewriting (4.2) using (4.3) and (4.4)

J ( x, ∆ P r ) = Θ∆ P r (k) -ε(k) 2 Q + ∆ P r (k) 2 R (4.5) = [Θ∆ P r (k) T -ε(k)]Q[Θ∆ P r (k) -ε(k)] + ∆ P r (k) T R∆ P r (k) (4.6) = ε(k) T Q ε(k) -2∆ P r (k) T Θ T Q ε(k) + ∆ P r (k) T [Θ T QΘ + R]∆ P r (k). (4.7)

Chapter 4. Autonomous navigation algorithms

Remark that (4.7) has the form

J ( x, ∆ P r ) = ct e -∆ P r (k) T G + ∆ P r (k) T H ∆ P r (k). (4.8)
where

G = 2Θ T Q ε(k), H = Θ T QΘ + R.
and we can see that, neither G nor H depend on ∆U (k). To find the optimal ∆ P (k) we can now find the gradient of J (k) and set it equal to zero. From (4.8) we find

∇ ∆ P r (k) J = -G + 2H ∆ P r (k). (4.9)
then the optimal set of future input moves is

∆ P r (k) opt = 1 2 H -1 G. (4.10)
Equation (4.10) guarantees a stationary point, but is not enough to guarantee a minimum. In order to guarantee the minimum, the derivative of the gradient ∇∆ P r (k)J with respect to ∆ P r (k) must be obtained, i.e., the Hessian of J ( x, ∆ P r ):

∂ 2 J ∂∆ P r (k) 2 = 2H = 2(Θ QΘ + R) (4.11)
Assuming that Q(i ) ≥ 0, this ensures that Θ QΘ ≥ 0. Thus, if R > 0 then the Hessian is certainly positive-definite, which is enough to guarantee that we have a minimum.

Formulation as a Least-Squares problem

The optimal solution, as expressed in (4.10), should never be obtained by computing the inverse of H . The matrix Θ is often ill-conditioned, which can result in H being ill-conditioned. The best way of computing the solution is by solving it as a least-square problem. It is also a way which gives some additional insight.

Since Q ≥ 0 and R > 0, we can find matrices S Q and S R which are their square-roots:

S T Q S Q = Q, S T R S R = R Now consider the vector S Q (Θ∆ P r (k) -ε(k)) S R ∆ P r (k) (4.12)
We shall show that the squared length of this vector, or equivalently, the sum of squares of its elements, is the same as the cost function J ( x, ∆ P r ), so that ∆ P r (k) opt is the value of ∆ P r (k) which minimizes this length.

Path planning algorithm using MPC

Therefore, it yields

S Q Θ∆ P r (k) -ε(k) S R ∆ P r (k) 2 = S Q ( P (k) -P d (k)) S R ∆ P r (k) 2 (4.13) = [ P -P d (k) T ]S T Q S Q [ P (k) -P d (k)] + ∆ P r (k) T S T R S R ∆ P r (k) (4.14) = P (k) -P d (k) 2 Q + ∆ P r (k) 2 R (4.15) = J ( x, ∆ P r ) (4.16)
Therefore ∆ P r (k) opt is the least-squares solution of the equation

S Q (Θ∆ P r (k) -ε(k)) S R ∆ P r (k) = 0 (4.17)
or, equivalently, of:

S Q Θ S R ∆ P r (k) = S Q ε(k) 0 (4.18)
We can see equation (4.18) has the form AΘ = b and can be solved in a least-square sense using the QR algorithm. Although formally this solution is the same as θ opt = (A T A) -1 A T b, which gives the equation (4.10).

Furthermore, in accordance with the receding horizon strategy, we only use the part of the solution corresponding to the first step. Thus, from (4.10) it is possible to observe that the only part of this solution which changes from step to step is the tracking error ε(k). Consequently, the predictive controller for the unconstrained problem and with full state measurement is defined by

P r = [I l , 0 l , • • • , 0 l ] H -1 Θ Q (4.19)
We point out that the correct way of computing (4. [START_REF] Tomashevich | Passification based simple adaptive control of quadrotor[END_REF] is

P r = [I l , 0 l , • • • , 0 l ] S Q Θ S R \ S Q ε(k) 0 (4.20)
This essentially works for the following reason: if we had ε(k) = [1, 0, • • • , 0] then it would effectively have only the first column of S Q on the right side of (4.10).

ε(k) = [0, 1, 0, • • • , 0]
would effectively give the second column, etc. Since ε enters the solution linearly, it is only necessary to solve (4.10) with these columns on the right hand side. This is very efficient, since most of the work involved is computing the QR decomposition of the left hand side. In this work, the householder QR decomposition algorithm is used to solve the unconstrained problem (4.20).

The steps to solve the cost function (4.2) are presented in algorithm 1. In this thesis, the explicit solution for generating the optimal trajectory using the x, y, z position as the control trajectory input is addressed.

Experimental results

In this section, a helical trajectory with wind and manual disturbances was selected to validate the performance of the presented path planning algorithm. The experimental test was developed using the quadtotor vehicle AR Drone 2 using the open source software Fl-AIR and an OptiTrack motion capture system.

The set up of the experiment is as follows: the quadrotor takes off and follows a hold position ξ0 = (1.5, 0, 0.5) m. Then the desired final trajectory is generated by means of the algorithm1.

It is mandatory when the vehicle is navigating through the reference trajectory, to compute the optimal trajectory at each step by means of the MPC. Moreover, a first fan was turned on once the reference trajectory started. After that, manual disturbances were applied at different times during the mission. The parameters used for this test can be found in Table 4.1. A video of the experimental results can be watched at: https://youtu.be/3G7UVYWsyBs. 4.4 depict the trajectory generation and the quadrotor performance when following the desired trajectory subject to wind and manual disturbances. The wind effect is applied at t = 19s, t = 48s andt = 57s but not necessarily constant due the vehicle is following a 3D reference trajectory. This can be observed properly in Figure 4.2. Remark that at t = 23s and t = 34s approximately, a manual disturbance was applied while the vehicle is ascending. This performance can be seen in Figure 4.3. In this graph, it is roughly depicted when the wind (two times) and manual (two times) perturbation were applied. These effects were compensated in a robust manner by the compensation of the disturbance observer developed in section 5. 4 illustrates the descending behavior of the vehicle. This performance can be sees in the z-axis around t = 36s. Although the gravity force actuates in the drone, and manual perturbation is applied, the MPC solves the shortest path forcing the control law to avoid oscillations in the altitude position when the vehicle is descending.

τ i :φ,θ MPC k pi :x,y = 0.23 x i = 0 x f = 0 k d i :x,y = 0.13 y i = -3 y f = -2 σ i :x,y = 0.1 Q = 0.1 R = 0.0002 σ i : ẋ, ẏ = 0.2 H p = 10 H u = 3 k pi :φ,θ = 0.5 k d i :φ,θ = 0.1 σ i :φ,θ = 0.1 σ i : φ, θ = 0.

Vision algorithm for target localization: a case study for autonomous vehicles surveillance

Aerial visual tracking is a major hurdle to tackle for feasible prototyping of an autonomous ground vehicle (AGV). These vehicles are subject to non-holonomic constraints since rear wheels are fixed preventing to produce lateral velocity in any direction. However, when we drive such a car, we pick visual landmarks ahead (for instance, as showed in Fig. 4.5, a corner at the end of the block) in the visual field to plan how to command the steering wheel to intersect ahead such landmark. The result is smooth car trajectories pointing ahead with small admissible turning ratio of the steering wheel angle. These trajectories can be modeled as vector fields pointing to a landmark (known as the contour), for instance, when we need to turn in the next corner of the block, we solve what the steering wheel angle is, based on the corner ahead of us, as if we were drawing smooth vector fields.

Then, if we neglect that, such driving motion corresponds to an autonomous car that mimics human driving, drawing smooth vector fields. The problem of aerial surveillance becomes the aerial tracking of the car center of mass (x, y) and yaw ψ angle that matches the heading direction of the car, at a given altitude z. However, such aerial tracking of (x, y, z, ψ) requires solving the vector field and underactuated visual tracking. Therefore, we aim exploiting structural properties of the car, such as non holonomy, and the vector field control to mimic driving, and consider underactuation of the quadrotor, to establish a tractable problem statement. To this end, we assume that the car evolves in the (x, y) plane subject to non-holonomic constraints while tracking smooth vector fields designed using contour ahead of the road in ψ direction, thus such vector fields provide the desired admissible trajectories to the car, and an underactuated quadrotor equipped with airborne monocular camera is considered to track the car at a given desired altitude z d , see Figure 4.6. Thus, let us consider that the visual tracking of the mobile robot smoothly draws a vector field converging to a contour. This contour relies in the field of view of the airborne camera mounted on an underactuated drone. Then, the following assumptions are required:

Vision algorithm for target localization: a case study for autonomous vehicles surveillance

1. The AGV mimics motion of a car driven by a human, implying that its CoM draws a smooth vector field toward the contour ahead;

2. The AGV's path curvature is finite, implying bounded yaw angle that complies with the non-holonomic constraint and a bounded steer wheel angle.

3. Quadcopter has underactuation in (x, y) coordinates, however the controlled Degrees of Freedom (DoF) are yaw ψ angle, altitude z, as well as (x, y) motions, where the latter are controlled indirectly using roll and pitch angles.

4. Monocular camera is along the optical axis collinear to z in body coordinates, where the mobile robot lies in its FoV. Since the quadcotper altitude can be controlled quickly and independently, 2D visual servoing suffices to capture AGV's CoM.

5.

For experiments, we consider the 6 DoF of Parrot AR.Drone with monocular camera and airborne processing only, [START_REF] Chakrabarty | Autonomous indoor object tracking with the parrot ar.drone[END_REF], to track in the image plane a differential driven mobile robot.

Chapter 4. Autonomous navigation algorithms 6. Moreover, the hardware, software and firmware of airborne sensors have limitations, including monocular camera, noisy, delayed and quantized measurements yielding approximation of the required virtual camera transformations; then, we assume that the fast quadcopter actuation and smoothness of trajectories produce small angles in roll and pitch, then the diffeomorphism of the virtual camera projection is almost an identity. This assumption is substantiated since the proposed quadrotor controls ensure asymptotic convergence to the vicinity of stability along very smooth trajectories.

Vision algorithm

A chess-pattern target was placed onto the mobile robot to process its orthogonal axis in its frame by high density of corner, assuming a background floor without cluttered lines or corners. The camera together with the processing unit of the AR Drone 2.0 quadrotor detects corners with the following:

1. Finds the 64 most confident corners of chess board with a pinhole camera image using the Shi-Tomasi algorithm [START_REF] Shi | Good features to track[END_REF].

Vision algorithm for target localization: a case study for autonomous vehicles surveillance

2. Determine correlation between images using the Lukas Kanade algorithm, [START_REF] Yves | Pyramidal implementation of the lucas kanade feature tracker[END_REF].

3. Determine centroid based on matched chess corners, as follows

p t = N i =0 p f i /N (4.21)
where p t is the estimated centroid of the target, p f i is the position of each matching corner feature, and N is the total number of matching corners. After computation, a Kalman filter was implemented for improving the robustness of processing. To determine the direction of centroid, see Fig. 4.8, let the vector be

p t = u c v c (4.22)
which can be used, together with its image approximation of velocity, [ uc , vc ] T , for control purposes, by considering that image axes are parallel to x and y axes of body fixed frame. The flow matrix is given by

A =    r 1 2 cos θ s r 2 2 cos θ s r 1 2 sin θ s r 2 2 sin θ s -r 1 L r 2 L    , (4.24)
which maps generalized angular velocities ω to operational velocity ˙ X s , with r 1 = r 2 the radius of the left and right wheels, respectively, and L the length to the center of each wheel.

Vision algorithm for target localization: a case study for autonomous vehicles surveillance

Vector fields as desired smooth trajectories

Velocity Fields stand for Cartesian vector distributions, or fields, and describe kinematic motion of a moving particle, i.e. the instantaneous changes in direction toward the objective, or contour. It is useful in our case, if we consider that AGV driver commands the vehicle to go to a target, or contour, and such driver steers the vehicle within prescribe standards, thus producing a smooth maneuverings, that can be modeled as a vector field that converge to the contour. Then, we assume that the driver mental map commands toward the final destination by picking locally targets as soon as they appear in our FoV. Once the driver picks a target ahead, for instance to turn in the next corner, we somehow compute how to turn the AGV avoiding obstacles to pass through until converge tangentially to the contour. Once we determine this objective is achieved, we pick next target (contour) in the next block. Thus, this abstraction stands for how we plan next trajectory based on local contour in our FoV. Similar to this phenomena, we assume that the AGV produces such vector field, then the surveillance problem is to produce a visual servoing to maintain the AGV within its FoV.

To this end, consider a parametric curve, G(s), where s stands for arc length, or contour ahead in the FoV. The problem is to determine the R 2 directional components ( N n (s), T (s)) of the field as a radial attraction to the curve s, or contour, where N n (s) and T (s) stand for the Normal and Tangential components, respectively, of the field in R 2 , whose resultant points at the target correspond to G(s) = 0. There are several methods in the literature to produce such ( N n (s), T (s)) that smoothly converge to G(s) = 0, the arc to turn in the corner asymptotically with uniform speed, as we usually compute when we drive our cars through urban settings.

The method developed considers to pick the objective path, or contour, as a parametric curve to compute from position data of such contour, the velocity vector that intersects ahead such contour G(s) = 0, see Figure 4.10. Without loss of generality, aiming at illustrating our proposal, let the desired trajectory of the mobile robot, be a 2D circumference. This simplifies the velocity field design because the radial and the tangential vectors to the curve can be calculated with respect to the center of the circumference, r c = (x c , y c ) and its radius, ρ, then

T (x, y) = -sgn( (x s -x c ) 2 + (y s -y c ) 2 -ρ) • (y s -y c , -(x s -x c )) (x s -x c ) 2 + (y G -y c ) 2 , R n (x, y) = -sgn( (x s -x c ) 2 + (y s -y c ) 2 -ρ) • (x s -x c , y s -y c ) (x s -x c ) 2 + (y G -y c ) 2
, such that the velocity field becomes

v(r ) = cos(c 1 d r ) T (r ) + sin(c 1 d r )(-R(r )) (4.28)
with c 1 = π 2r .

Integration of the overall scheme

The image-based control law is based on the position control (3.80)

U =     -( uc + u c ) -uc - α 1x α 2x u c -( vc + v c ) -vc - α 1y α 2y v c -e z 2 -z 2 - α 1z α 2z e z 1 + g     (4.29)
where u c v c T , and uc vc T , are respectively image coordinates of the target's centroid, and their rate of change. α 1 i , α 2 i are positive constants and e z 2 and e z 1 are the position and velocity errors of the altitude system, defined in section 3.2 and it is controlled independently, thus it can be considered that visual projection occurs in 2D, at a given altitude z = z d .

Vision algorithm for target localization: a case study for autonomous vehicles surveillance

Then, the well-posed desired quaternion, q d , is computed from (3.97) using the normalized vector of (4.29) and AGV's yaw angle, which represents such mapping.

To design the kinematic control of the AGV, forward kinematics yields the following map

Ξ = x s + l cos θ s y s + l sin θ s =⇒ ˙ Ξ =
ẋsl θs sin θ s ẏs + l θs cos θ s (4.30)

By using the non-holonomic constraint, the change of coordinates ẋs = ũ1 cos θ s , ẏs = ũ1 sin θ s , θs = ũ2 , allows the differential kinematic map to be written as follows,

˙ Ξ = cos θ s -l sin θ s sin θ s l cos θ s ũ1 ũ2 = B u GV (4.31)
Since B is a positive definite matrix, consider the kinematic control as follows

u GV = γB -1 ẋd ẏd (4.32)
where γ > 0 is used to scale the desired velocity ẋd ẏd T of the field. Then, substituting (4.32) into (4.31) yields ˙ Ξ(t ) = γ ẋd ẏd T , which ensures that (4.32) computes the desired angular wheel velocity based on the given velocity field components. Notice that γ becomes an extra degree of freedom needed in practice to adjust engineering units and for calibration purposes, otherwise it can be set γ = 1.

Experimental tests

To demonstrate the effectiveness of the proposed method two experimental tests are discussed in this section. The ground vehicle used is a Jumping Sumo, and the quadrotor is the AR Drone 2.0 with monocular camera pointing downwards, both from the Parrot company. A custommade programming platform is configured to command both robots based on personal computers, giving rise to a platform called Fl-AIR, which decodes communication protocols of peripheral devices by using a custom made software, including the closed-loop control [160].

The AR Drone 2.0 uses a board with an ARM Cortex A8 1GHz processor with 1GB of RAM, running the controller programmed in C++, for a IMU update at 5 ms, to handle all system processes, including control outputs, interruptions, data fusion and communication to ground station. The mobile sumo robot's Wi-Fi node enables control command in velocity mode using a Broadcom BCM43526 transceiver, but for higher range, a pair of Skyworks SKY85803 Wi-Fi front-ends is used. It has an MPU-6050 invenSense 6-Axis gyroscope and accelerometer.

Two small DC gear motors drive this mobile robot up to 4.3 MPH. A MoCap system, from Optitrack, composed of 24 cameras, is used at a rate of 100H z to provide inertial measurement of sumo robot only. The parameters of the mobile robot tuning of feedback gains are shown in Table 4.2. Table 4.2 -Experimental parameters for the control law (4.29) and the ground vehicle control (4.32).

α 1 = 0.8 L = 0.092 m g = 9.81 γ 1 = 0.8 α 2 = 0.1 l = 0.08 m z d = 1.5m γ 2 = 0.3 m = 0.420 r 1 = r 2 = 0.055 m m = 0.18 K g -

Scenario 1: target detection test

In this test, arbitrary initial conditions in the longitudinal and lateral positions were considered for both robots and a desired altitude of z d = 1.5m for the quadcopter. The goal of this test is to demonstrate the well-performance of the vision algorithm when the ground vehicle is turning in the z-axis and the algorithm uses the estimated velocities instead that ones coming from the classical optical flow. Hereafter, variables with subscript " f " and superscript "∧" represent the measures of the traditional optical flow data and the estimation of the states based on the Kalman filter, respectively. The z position is measured using the Optitrack camera system.

Vision algorithm for target localization: a case study for autonomous vehicles surveillance

Observe that, when using the Kalman filter the velocity measure is less noisy. This can be confirmed in Figure 4.12. Observe in this figure that, the velocities computed from the optical flow data are notably noisy due the fact the ground vehicle is turning on its own axis (z-axis). However, computing the velocity using the Kalman filter gives smoothness in the measure allowing the vehicle keeping the desired hover position, even if the ground robot is turning. This can be verified in Figure 4.13 where the control laws are showed. From this figure, it is possible to see that the vehicle keeps the desired hover position during the test with a slightly movement in the roll control as a result that the ground vehicle moved while rotating.

Chapter 4. Autonomous navigation algorithms Scenario 2: tracking an autonomous ground vehicle

The goal of this test is to prove the effectiveness of the proposed control algorithm when the ground robot is moving. For that, in this scenario initial conditions of ξ u (0) = ξ s (0) = [-0.2, -1] T m were considered for both robots, and a desired altitude of z d = 1.5m for the quadrotor. Then, three circumferences are defined as the smooth contour of radius r c 1 = 1m, r c 2 = 1.5m and r c 3 = 2m, starting from an arbitrary initial condition in the plane. While the sumo starts its motion, the drone vision algorithm detects the target (the centroid of the visual landmarks placed over the mobile robot). Then, the velocity field algorithm computes online the kinematic controller to provide its smooth velocity field components depending of the instantaneous position with respect to the contour, see Fig. 4.14. Figure 4.15 illustrates the performance of the vision algorithm when following the smooth velocities imposed by the ground vehicle. Remark from these figures when the radius of circumference was changed. The video of the experimental test can be seen in https://www.youtube.com/watch?v=zB6dsH3zVg0 . .17 show the resultant path of the quadcotper immersed into a visual velocity field that converges to the ideal 2D mobile robot's velocity field. The positions of the quadcopter and the ground autonomous vehicle are represented by x u , y u and x s , y s , respectively. These figures also show the relative position of quadcotper and the mobile robot. Remark from these figures that the error in both axes is relatively small allowing the quadcotper keeps the ground robot on the FoV. It is worth to mention that in order to get the well performance of the vision algorithm showed in Figure 4.15, the desired altitude was set constant at z d = 1.2m. Furthermore, the shortest distance where the quadcopter can continue detecting the AGV was z = 0.8m. Nevertheless at this distance the ground vehicle can come out quickly from the FoV. Contrary, the highest altitude was z = 1.5m. This helps to maintain the AGV in the FoV. However, more features are needed for computing the centroid and therefore more computational burden is required. In addition, remember the optical flow camera of the Ar.Drone 2.0 and its embedded system have computational limits.

Chapter 4. Autonomous navigation algorithms

The mobile ground robot control signals and that of the quadcopter are shown in Figure 4.18. Notice the virtual control input of the ground robot vehicle are depicted in Figure 4.18a, according to the change of coordinates developed in (4.31). Figure 4.18b illustrates the virtual control input U that makes q → q d and Figure 4.18c presents the control torques that take q e → 0. Assuming the AGV mimics the driving style of a human driver, who tracks in practice trajectories modeled by vector fields to obtain a smooth drive ride, the quadcotper tracks the CoM and heading angle of the AGV, thus fulfilling the mission of camera surveillance. Clearly, we are assuming the CoM of mobile robot remains in the FoV of the airborne camera, then desired contour, resultant velocity field and quadcotper tuning require to comply with it. Therefore, the smoothness of the fields facilitates to match with this assumption. Furthermore, despite that theoretically it is proved that the quadrotor tracks asymptotically the vector field of the AGV in the image plane, care must be exercised when solving the underactuation algorithm since this scheme may introduce large acceleration.

Semi-autonomous navigation using an immersive virtual reality environment

Semi-autonomous navigation using an immersive virtual reality environment

Piloting a drone can sometimes be a difficult task because its unstable and fast dynamics allow it to get out of balance quickly with any external disturbance. Unlike a car that moves in a plane, aerial robots move in a 3-dimensional space. Besides, controlling a drone is not an intuitive task for novice pilots when they lose their spatial orientation. The clearest example is when the heading of the drone is directed towards the pilot while the joystick command is in the opposite direction. This task of flying the quadrotor in direct view demands several cognitive overload in general for beginners, and in most cases the quadrotor ends up crashing during early flight experiments. Even if technological advances have improved them significantly by implementing inner controls for flying easily these types of vehicles, when the vehicle leaves the operator's line-of-sight, this mental overload increases until the pilot loses the control of the robot, see reduce the cognitive overload when a beginner pilot drives a quadcopter vehicle by means of a virtual control scheme. The proposed architecture is located in two arenas; one for the robot's testing room, where the real robots are evolving and the second one named CAVE -Cave Automated Virtual Environment, where the virtual environment is placed. In this area, a World In Miniature (WIM) is modeled representing the real environment where the robot is acting. A new interaction metaphor DrEAM (Drone Exocentric Advanced Metaphor) is conceived for the virtual control scheme which represents in the virtual environment (VE) the real drone. Therefore, the goal of the architecture is to reduce the stress and help the user when piloting remotely a real robot from a virtual environment, in our case an aerial vehicle. This aim is conceived by an adaptive visual/sound feedback in the virtual environment, that can be used for improving the task.

Virtual control scheme

The proposed virtual control scheme can be seen as a structure composed by two blocks as depicted in Figure 4.20; the first one corresponds to the virtual environment that emulates the real scenario. The real world where the aerial robots are evolving and the CAVE platform communicate together via User Datagram Protocol (UDP) with their respective routers connected in the same network.

Both platforms have their own VRPN (Virtual-Reality Peripheral Network) server for recovering the attitude and position of the real and virtual robot respectively. Each block is represented by their corresponding frames that in most cases are different. The following subsections explain these blocks and its components.

Real world environment

The real world environment (RWE) is where the robot is evolving. It can be seen as the scenario of the mission, for example; building inspection or rescue missions. This scenario will be represented as a WIM where the virtual drone will be piloted. On this document, the robot used for experimental purposes is the quadcopter vehicle and the RWE is the flight arena.

Flight arena

The flight arena is composed by an OptiTrack motion capture system (24 cameras, 1mm of precision) used to estimate the vehicle's position at 100Hz, and a monitoring room, separated from the test area for security reasons, where the ground station is placed. The size of the flight arena is determined by 10m × 12m × 6m, see Figure 4.21a.

Quadcopter vehicle

The quadcopter prototype used in the flight tests, is a Parrot AR Drone 2. Its firmware was modified to work under our software Fl-AIR which is open source and runs a Linux-based operating system, capable of implementing a wide range of control schemes, see [160]. The prototype has an internal Inertial Measurement Unit (IMU) for measuring its orientation and angular rates. All the control algorithms are computed into the embedded system of the aerial vehicle, and each sampling period, the drone communicates with a ground station containing Fl-AIR framework, where their states are graphically shown for analysis purposes. This ground station communicates with the OptiTrack's software for collecting the position of the drone in order to send it via wifi as well among other values (desired references, gains, setup configuration, etc) as depicted in Figure 4.21b.

Semi-autonomous navigation using an immersive virtual reality environment

Quadrotor dynamic model and quaternion control scheme

In this section, the dynamic model of the quadcopter corresponds with that one previously seen in Chapter 2 section 2.3 based on the quaternion formalism. Therefore, without lost of generality, the mathematical representation of the vehicle can be described as a virtual complete actuated system by imposing a desired orientation with a unit quaternion, q d , that will be related with the desired main thrust imposed by a controller, U . Therefore, if q → q d implies that F ξ → U .

Let the desired quaternion be with the form

q d = q t ⊗ q z , (4.33)
with

q t = e ln U ⊗ F * t h 2 ; q z = e ψ d 2 ; ∀ψ d ∈ R (4.34)
where ψ d denotes the desired heading. Notice that (4.33) is the desired attitude imposed by means of the virtual environment.

Let us define the quaternion error as q e = q * d ⊗ q, therefore, differentiating it with respect to time, it follows that the dynamic error between the real arena and the virtual environment can be defined as qe

= = d d t q * d ⊗ q 1 2 q e ⊗ Ω e = 1 2 q * d ⊗ Ω I ⊗ q - 1 2 q * d ⊗ Ω I d ⊗ q Ω e = q * ⊗ Ω I -Ω I d ⊗ q = Ω -Ω d (4.35)
where Ω e represents the angular rate error in the body frame, Ω I and Ω I d are the angular velocity and the desired angular velocity in the inertial frame and Ω d denotes the desired angular velocity in the body frame. For validating the virtual control scheme in real-time experiments, the attitude control algorithm proposed in (3.97) was implemented in order to achieve the control objective q → q d .

Chapter 4. Autonomous navigation algorithms

Note from (4.34) that the only desired value imposed in the controller is ψ d , this value will be related with the yaw angle from the virtual drone and must be mapped from the virtual environment before being used in the controller by the real robot. Observe that when introducing (3.97) into the rotational dynamics in (2.51) implies that these dynamics are stabilized. This means that q e → 0 and then F t h → U .

Therefore, let us propose U ∈ R 3 in the following form

U = m ḡ -K p t ( ξ -q r ←v ⊗ ξ v ⊗ q * r ←v ) -K v t ( ˙ ξ -q r ←v ⊗ ˙ ξ v ⊗ q * r ←v ), (4.36)
where

K p t = diag{[k p x , k p y , k p z ]} > 0 and K v t = diag{[k v x , k v y , k v z ]} > 0 are control gains. ξ v
describes the position of the virtual drone expressed in the virtual frame, the term q r ←v ⊗ ξ v ⊗ q * r ←v represents the mapping of the data from the virtual environment to the inertial frame where the real drone is evolving. Notice from (3.97) and (4.36) that when q e → 0, implies q → q d , and this means that u 1 → U and therefore, ξ → ξ v .

DrEAM in CAVE CAVE -Cave Automated Virtual Environment

A CAVE-like platform was used for validating DrEAM. This virtual room has a dimension of 7×3.4 m 2 and is composed of four 3D projectors Christie Mirage 1920×1200, a workstation HP Z840 with two graphic cards Nvidia M5000, RF Active 3D Glasses, an OptiTrack motion capture system with 10 cameras, and a PS Move motion joystick. A Unity-plugin called TransOne, encapsulates data from VRPN into Unity Objects to simplify the data protocol between the motion capture system and Unity, and with the framework called Translife which creates the virtual environment.

DrEAM-Drone Exocentric Advanced Metaphor

The DrEAM is a new interaction metaphor conceived from the characteristics of the real robot and the scenario to create virtual robots and a WIM in the virtual environment where they can evolve. The goals of using DrEAM are, on one hand, to train inexperienced users providing the control of the movements of the robot that he will do during the real mission. On the other hand, to control remotely the real drone in the real scenario from a virtual environment, reducing the cognitive overload in neophytes or novice pilots. With DrEAM, user is a spectator of the virtual environment and can see a 3D reproduction of the world, for moving, resizing and rotating the environment using basic commands.

DrEAM naturally offers multiple points of view and multiple scales where the user can operate, all without requiring explicit modes or commands.User observation indicates that the operator quickly adapts to the Worlds in Miniature, and that physical props are helpful when manipulating the WIM and other objects in the environment, see Figure 4.22. In our case, the flight area was modeled statically using blender homemade model and unity basic shapes. Virtual robots are simple rigid bodies not affected by the law of physics that can be selected by the user using the spherical ray-casting function provided by Translife. This infers that their position will be the PS-Move's position in the 3D-scene. The virtual frame of the 3D scene has the same origin as the inertial frame in the flight area, nevertheless, they were conceived with different rotations. Once the real scenario is represented in WIM with a direct relationship between life-size objects, a virtual drone (VD) is placed at the same position where the real drone is. This VD is an object of the virtual world that the user can take or leave it by pressing/releasing a specific button on the PS-Move. While the user takes the VD, he can rotate and translate it with simple natural gestures (moving his hand), therefore the user has the impression that the drone is really in his hand.

Semi-autonomous navigation using an immersive virtual reality environment

In addition, user can resize and reorient the environment without changing the scene (object positions) in any way since the program only change user position (in case of translation and rotation) and the field of view (in case of resizing). As explained before, in DrEAM, the VD is manipulated by the user by only pressing the "Take" button on the index of the wand. The first step for manipulating the drone is that, the PS Move must to be placed in the hitbox of the VD (which has the same size as the real robot). With this measure, a precise control of the VD is guaranteed. In the second step, the user can describe a trajectory with the wand, while the VD is already in his hand. Besides, the color of the VD changes to help the user known its state; a).-red when it is not possible to be taken, b).-yellow when it is ready to be taken and c).-black when has been taken already, as is depicted in Figure 4.23. In DrEAM, two different feedbacks to help the user are conceived. The first one is a visual feedback of the position and orientation of the real drone. For this, a 'phantom' drone is designed and placed with the information of the real drone coming from the flight arena. The second one is a speed indicator of the real drone emulated by a sound feedback in the CAVE.

Virtual representation

When the virtual drone (VD) is manipulated via the PS Move, it describes a trajectory that is a function of its position and velocity, i.e.

x v (t ) = f ( ξ v (t ), ˙ ξ v (t ), q v (t ), Ω v (t ))
where the subindex v refers the virtual drone. All the data are in the virtual frame V . These data information x v is periodically sent to the RWE, as desired references for the autonomous navigation of the real drone, using the Windows asynchronous socket API in DrEAM's platform and the Linux socket API employing a string-based protocol in the ground station. The VD is referred in the frame V and the real drone in several cases in the inertial frame (or body frame) in the real world. Both frames are different and a mapping between them (Rotation matrix) is necessary in order to use the data of each one in their respective frame. For example, for a given point ( ξ v , q v ) of the virtual drone in the virtual frame, with ξ v =

x v , y v , z v T and q v = q 0 v , q 1 v , q 2 v , q 3 v T , its representation in the inertial frame (real scenario) is for the translation z, x, y T and for the orientation cos(q 2 v /2), 0, 0, cos(q 2 v /2) T .

Observe that the pitch and roll information is not yet used in the virtual drone. Therefore, for a good correlation between frames the following mapping is defined

q r ←v = 1 2 + 1 2 i + 1 2 j + 1 2 k. (4.37)
Hence, the position of the virtual drone can be correctly represented in the inertial frame as a desired value by

ξ d = q r ←v ⊗ ξ v ⊗ q * r ←v . (4.38)
Similarly, for the visual feedback in the virtual environment, the attitude and position of the real drone are expressed as

ξ p = q v←r ⊗ ξ ⊗ q * v←r q p = q v←r ⊗ q ⊗ q * v←r . (4.39)
where ξ p and q p define the position and attitude of the phantom drone in the virtual environment.

Semi-autonomous navigation using an immersive virtual reality environment

The phantom drone position and orientation are updated in DrEAM every frame (100H z rate) using the last information received from the real drone and mapping it, to the virtual frame using the above equations.

The virtual environment can be fitted to any space, this signifies that, it can represent a complex or simple structure, such as a building, a cube or even a sphere. Using this property, it is then possible to impose bounds in the area where the real drone is evolving and at the same time, keep safe the prototype. For our room test, the virtual drone will be bounded inside of a virtual cubic scene with the following properties

x b 1 (t ) ≤ x v (t ) ≤ x b 2 (t ) y b 1 (t ) ≤ y v (t ) ≤ y b 2 (t ) z b 1 (t ) ≤ z v (t ) ≤ z b 2 (t ) (4.40)
where

ξ v = [x v , y v , z v ]
T denotes the position of the virtual drone and x b i , y b i , z b i with i : 1, 2 are the bounds that can be functions of time or constants delimiting the testing room.

DrEAM's experimental fatigue tests results

In order to test the advantages of DrEAM when controlling a real drone over a control in direct view, an experimental study was lead with eight volunteers evaluating their performance among six criteria: Mental demand, Physical Demand, Temporal Demand (this depicts the stress involved by the control task), performance (this pictures the sensation of success), Effort, Frustration (this shows the sensation of UAV's obedience). The test consists to fly manually the vehicle with a conventional joystick and with the DrEAM architecture, when performing a specific task. The participants had four minutes to learn how to use the platforms and the task must be finished in three minutes.

The scenario of the task is settled as follows: the volunteers take the control of the drone when it is hovering around the start point (S) with a fixed altitude z t . The goal is to move the vehicle from the point (S) to the point (C) and then to the point (A) keeping, all the time, the heading of the vehicle pointing to a desired target as illustrate in Figure 4.24.

During the test each participant must follow the following rules

• The altitude of the drone should be kept constant, i.e. z(t ) ≈ z t = 1m.

• The real drone must not be put in danger in any case.

• The task must be accomplished with accuracy as much as possible .

• The task must be achieved as faster as possible.

• The roll and pitch angles of both experiments were previously stabilized with an inner controller.

Semi-autonomous navigation using an immersive virtual reality environment

Flight data information as timestamp, attitude, position and velocities are used to compute the mean lateral error (MLE) with respect to the desired path, the mean completion time (MCT) of all laps (a lap is every time user finish the task from the initial point to the final one) and the mean yaw error (MYE) with respect to the target. In Table 4.3 the results of these indexes are presented. During the tests, 162 laps were successfully performed by the users: 81 with a joystick (direct view) and 81 using DrEAM. Latency between CAVE and the flight arena was around 0.06s and no jitter has been registered, which could have disturbed the flight tests. DrEAM was sending data at 100H z as well the aerial drone. To corroborate the outcomes obtained with the NASA-TLX questionnaire, one sample t-Test was carried out considering a maximum percentage of confidence (5%, α = 0.05) in the six performance criteria. Results of this test are shown in Table 4. 4, where H 0 means DrEAM has no impact on the performance criteria. Notice from this table that the p-value on almost all the performance criteria, excepts for the 'temporal demand' and 'frustration', is less than 5% ( p < 0.05). Therefore, it is possible to state that DrEAM has not impact on these criteria. Nevertheless, for the case of the 'temporal demand' and 'frustration', with a p-value bigger than 0.05, it is not possible, at the moment, to state that there is not demand of this criteria. The fatigue conclusion in these tests was that DrEAM increases the control ergonomy for inexperienced users when controlling the aerial robot, without loss of precision, in comparison with controlling the robot in direct view, in particular concerning complex movements with more than two DoF.

DrEAM real-time validation with robots

DrEAM performance was validated in real-time experiments when controlling remotely a real quadrotor vehicle. The practical goal of these experiments is to corroborate and compare the performance of the real robot versus the virtual robot in two scenarios. In the first scenario, the inspection in reduced spaces is emulated.

Chapter 4. Autonomous navigation algorithms

For this, the goal is to navigate with the real robot inside a building crossing small surfaces as windows. In the second scenario a cellar inspection is emulated, therefore, the objective is to send the aerial vehicle inside of the cellar and navigate there to survey the zone. The cellar is composed by pillars that the aerial vehicle needs to avoid. A video with the experimental results can be seen at: https://youtu.be/jMYWIoCsj7I.

The tests are carried-out with the following procedure 1. The take off and landing of the real robot are not still considered controlled with DrEAM. They are done in a safety mode by a user in the flight arena.

2. The initial position of the real drone for the tests is ξ(t 0 ) = [0, 0, 0.5] T m. At this position, DrEAM can take the control of the vehicle.

3. At any moment, the user in the virtual world can always put the vehicle at hover position, to change/rotate/expand the view of the WIM.

4. For simplifying the test, when the user takes the virtual drone and moves it, the real drone will be aligned to the direction of the trajectory. Nevertheless, the user can rotate it, in any desired yaw angle.

5.

No sensors for detecting obstacles are embedded into the drone. Therefore, large errors in the virtual commands should produce the crash of the robot with the obstacles.

Scenario 1: crossing reduced spaces for rescuing

As previously explained, in this scenario, the vehicle must cross through some reduced spaces that can produces several stress when the user drives the aerial drone in direct view. For this scenario, two physical windows are located in the flight arena in different altitudes, positions and headings. These windows are also created in the WIM with the same characteristics. The first one is located at ξ w 1 = [2, 2, 1.4] T m and the second one at ξ w 2 = [-0.5, -1.7, 1.7] T m in the flight area. The test consists that the user must move the virtual vehicle in any desired path while crossing the windows and repeating the experiment three times with different translational velocities. The real robot must imitate the same performance of the virtual drone in real time as can be seen in Figure 4.26. From Figures 4.27 -4.32, the states performance of the robots (real and virtual) when this scenario is validated are depicted. In Figure 4.27, the translation motion in 3D is illustrated. Moreover, observe from Figure 4.28 that the user changes the heading of the virtual robot in order to cross the windows. This information is also presented in each axes in Figures 4. 29 -4.31. In this experiment, from 0 < t 1 ≤ 5s the real vehicle takes off autonomously to be placed at 1.4m in z-axis. Once the vehicle switch to DrEAM's mode, it is posed in an altitude of 0.5m. At time t = 10s the user in DrEAM takes the virtual drone and manipulates it making a trajectory and repeating it three times at different velocities. The three laps are done at times: 10 < t 1 ≤ 40s, 40 < t 2 ≤ 60s and 60 < t 3 ≤ 80s, respectively. The first one was performed with a slower velocity because the user did not have much confidence and he was tense. The second lap, the user increases the velocity of the trajectory (up to 1m/s) and in the last one, the user tries to do the displacement as fast as possible. The variations in the velocity can be checked in Figure 4.32. In figures, the subscripts d r and d v represent the state of the real drone and the virtual drone respectively. In this scenario, two tripod are required in the flight arena emulating pillars in the cellar. In DrEAM, two cylinders were drawn to simulate the corresponding 'pillars' as can be seen in Figure 4.33. The practical goal is to illustrate the maneuverability of DrEAM when the user manipulates the virtual drone between the emulated pillars and changing its heading. The experiment is repeated several times with different maneuvers trying to approach the drone as near as possible to the 'pillars'. As in the first scenario, the initial step was to take off the real vehicle autonomously in safety mode. In this mode the real drone is placed at an altitude of 1.4m and a few seconds later its altitude is reduced at 0.5m in hover position, ready to follows the virtual commands. This is done in the interval time 0 < t 0 ≤ 20s.

Figure 4.34 -3D behavior of the virtual and the real aerial vehicles when performing the second scenario. As depicted in Figure 4.34 the goal of the experiment was that the user manipulates the virtual drone between the pillars. Three laps were carried out by the user at different times; 20 < t 1 ≤ 55s for the first one, 55 < t 2 ≤ 80s for the second lap and 80 < t 3 ≤ 100s for the last one. This task was made in an area of -2 ≤ x ≤ 2, -1.5 ≤ y ≤ 1.5 and 0.5 ≤ z ≤ 1.4 all in meters. Moreover, the mission demands to change the heading of the aerial robots several times as is illustrated in Figure 4.38. From these figures, observe the good performance of the real robot when it is controlled with the DrEAM architecture. Remark that the task has been developed with good precision, that it should not be possible when the vehicle is controlled in direct view.

Semi-autonomous navigation using an immersive virtual reality environment

0 20 40 60 80 100 -2.5 -2 -1.5 -1

Quadcopter autonomous navigation conclusions

The aim of this chapter was to propose and introduce autonomous and semi-autonomous navigation control techniques. They exploit properties from classical and quaternion based algorithms providing advantageous features for navigating aerial vehicles. These navigation techniques have been implemented for tracking optimal trajectories, ground autonomous vehicles and virtual trajectories imposed by means of an immersive virtual reality environment.

The first navigation technique concerns the trajectory generation and tracking problems.

It is based on a simple nonlinear controller, the MPC algorithm for path generation and a disturbance observer for giving robustness to the system.

Quadcopter autonomous navigation conclusions

This technique was validated in a real-time flight test for a trajectory generation in a 3D-space while dealing with external perturbations. On one hand, the optimal problem was solved considering H p = 10 without constraints for reducing computational issues. Nevertheless, augmenting H p for giving robustness to the prediction of the trajectory will exceed the capacity of memory of the embedded system. This is mainly due to the fact the H p is related with the prediction model. On the other hand, the experimental results demonstrate that the architecture reduces considerably the error in the path tracking problem even when external perturbations were presented.

Furthermore, a novel scheme for the aerial surveillance of AGVs using quadcopters was proposed. The scheme uses a simple vision algorithm for the target detection and, a vector field approach for describing the movements of a driver. Experimental results illustrate the feasibility and good performance of the proposed scheme. However, from this experimental validation, we can sate the following: the maximum number of features for the vision algorithm correspond to N p = 64 and the movements described by the ground vehicle need to be smooth. In other words, the ground robot must to remain in the FoVs of the airborne camera. Higher number of features can cause mismatching when looking for the centroid. Moreover, fast accelerations of the ground robot produce that it goes out of the FoV.

Finally, a new semi-autonomous virtual control architecture for controlling robots remotely was developed in this chapter. The architecture is composed by a new metaphor interaction called DrEAM that uses a world-in-miniature located in a virtual environment and, a real aerial robot located in the flight arena. Two experimental tests were addressed to highlight the easy implementation and feasibility of the proposed architecture. The testing rooms were connected using the UDP protocol with a insignificant delay in the exchange of packages such that, it was neglected. In addition, it was demonstrated in real-time experiments the easy maneuverability and controllability of the real drone when the user is controlling it by means of DrEAM. Therefore, a reduction of the cognitive overload was observed when piloting with DrEAM than when controlling the real drone in direct view.

Robust control scheme based on disturbance estimator

Aerial Vehicles have gained an enormous interest for their civil potential applications. Among different UAVs, quadrotors are remarkably popular and have been used extensively in research over the past decade [START_REF] Castillo | Real-time stabilization and tracking of a four-rotor mini rotorcraft[END_REF][START_REF] Mahony | Multirotor aerial vehicles: Modeling, estimation, and control of quadrotor[END_REF]. A high-performance attitude control is a prerequisite for developing any other high-level control tasks [START_REF] Bouabdallah | Full control of a quadrotor[END_REF]. For autonomous navigation, aerial vehicles need robust control systems to compensate the adverse effects produced by parametric and non-parametric uncertainties, unmeasured dynamics and atmospheric disturbances, such as wind and turbulence [START_REF] Luque-Vega | Robust block second order sliding mode control for a quadrotor[END_REF]. Although many solutions have been proposed in the literature, very few of them have been validated in real flight tests and the most popular techniques are still based on classical control strategies. This is mainly due to the constraints imposed by the limited computational resources of the embedded systems, which are typically microcontrollers. Also, and perhaps more importantly, because of the unstable nature of quadrotors, controllers must run typically at very high frequencies [START_REF] Tomic | Toward Bibliography a fully autonomous uav: Research platform for indoor and outdoor urban search and rescue[END_REF].

Robust control for quadrotors is still an active field of research, see [START_REF] Zheng | Robust attitude regulation of a 3-dof helicopter benchmark: Theory and experiments[END_REF][START_REF] Islam | Robust control of four-rotor unmanned aerial vehicle with disturbance uncertainty[END_REF][START_REF] Zhao | Nonlinear robust adaptive tracking control of a quadrotor uav via immersion and invariance methodology[END_REF], because the aerodynamic effects are extremely hard to be accurately modeled [START_REF] Hoffmann | Quadrotor helicopter flight dynamics and control: Theory and experiment[END_REF] and, specially in outdoor applications, a UAV is constantly perturbed by wind gusts [START_REF] Waslander | Wind disturbance estimation and rejection for quadrotor position control[END_REF]. Disturbance observers have drawn the attention of many researchers as a tool for facing these problems [START_REF] Dong | Time-Varying Formation Control for Unmanned Aerial Vehicles: Theories and Applications[END_REF][START_REF] Lee | Nonlinear disturbance observer based robust attitude tracking controller for quadrotor uavs[END_REF].

Inspired by the works [START_REF] Faessler | Thrust Mixing, Saturation, and Body-Rate Control for Accurate Aggressive Quadrotor Flight[END_REF][START_REF] Smeur | Cascaded incremental nonlinear dynamic inversion for mav disturbance rejection[END_REF][START_REF] Sanz | Robust control of quadrotors based on an uncertainty and disturbance estimator[END_REF], the goal of this chapter is to present a novel robust control architecture for solving the practical stability for aerial autonomous vehicles subject to uncertainties in the model, external perturbations and rotor's failures, while meeting the rotor's physical constraints. This chapter is organized as follows: first, some preliminaries as well the problem formulation and the proposed solution are stated in section 5.1. Furthermore, a robust control architecture based on disturbance estimator is introduced in section 5.

2. An experimental study on disturbance rejection is carried out to prove the performance of the proposed architecture. Then, an enhanced robust tolerant control architecture is addressed in section 5.3. Here, simulations and experimental tests with multiple rotors failures are conducted. Finally, a bounded robust control scheme is conceived and proved experimentally in section 5.4. Some conclusion of the developed strategies are discussed in section 5.5.

Chapter 5. Robust control scheme based on disturbance estimator

Preliminaries

Recall from (2.16), that the nonlinear dynamic model of the quadcopter using the Newton-Euler formalism can be expressed as

˙ ξ(t ) = v(t ), m ˙ v(t ) = R(t ) F t h (t ) -m g , Ṙ(t ) = R(t ) ˆ Ω(t ), J ˙ Ω = -Ω(t ) × J Ω(t ) + τ(t ) (5.1)
In this work it is assumed that the thrust, f i ≈ k f w 2 M i , and torque, τ M i ≈ k τ w 2 M i , of each propeller are directly controlled by the angular rate of the motor, w M i , with k f and k τ are aerodynamic thrust and torque factors, respectively. Therefore, from (5.1), F t h and τ can be written as

F t h = [0, 0, 4 i =1 f i ] T and τ = [l ( f 1 + f 4 ) -l ( f 2 + f 3 ), l ( f 1 + f 2 ) -l ( f 3 + f 4 ), 4 i =1 τ M i ]
T , with l representing the distance from the center of mass to the point where the force is applied. Notice from the above, and according to (2.7), the main thrust can be defined as u 1 = 4 i =1 f i , which acts along the direction of z-axis in the inertial frame. In addition, notice that the torque generated by each propeller can be represented by using its thrust and a scale aerodynamic factor denoted by c t f . Thus, the following relation can be established

u R =       u 1 (t ) u 2 (t ) u 3 (t ) u 4 (t )       =       1 1 1 1 l -l -l l l l -l -l -c t f c t f -c t f c t f             f 1 (t ) f 2 (t ) f 3 (t ) f 4 (t )       (5.2)
Now, let's consider that system (5.1) can be stabilized using a feedback controller with the form u R = -K L x (5.3) where x = [ ξ, η] T denotes the system states, K L > 0 is a constant matrix gain and ˙ η represents the attitude vector of the vehicle, with Ω = W η ˙ η and W η defines the standard kinematics relation between Ω and η, see [START_REF] Castillo Garcia | Modelling and Control of Mini-Flying Machines[END_REF]. The linear system of (5.1) for designing u R is given by ˙

x(t ) = A x(t ) + B u R (t )
, where A and B are the state matrix and control vector and

u R = [u 1 , u 2 , u 3 , u 4 ] T .
Experimental tests using the (5.3) controller has shown a correct performance, nevertheless, when the vehicle is exposed to external disturbances (as wind gust), the system becomes unstable and some crashes occurs. These non desired effects can be also produced by actuators fault (damage in the propeller or the motor itself) producing a loss in the efficiency of the vehicle. Moreover, voltage variations in battery could be seen also as a motors Loss of Efficiency (LoE), which is reasonable due the fact, the motor thrusts are related with the battery voltage. In addition, when the aerial robot is exposed to these undesired situations, the controller, in the embedded system, computes a large amount of energy for counteracting them.

Robust control scheme for disturbance rejection

If this energy is sent and without measuring it, and during large periods of time, the actuators in the aerial vehicle can be overheated and damaged, leading a poor performance or undesirable crashes when performing a desired mission. This situation happens because they have physical constraints that are not often considered when computing the control law, e.g. maximum of revolution per minute (RPM) in a motor. Therefore, the design of robust controllers to counter-actuate aggressive external disturbances or non-desired dynamics without saturate the actuators remains a challenge for the automatic control community.

Proposed solution

Exploring the properties of disturbance observers, we introduce a robust control strategy for solving the disturbance rejection problem. The underlying idea behind this work is that the unknown lumped signal d (t ), along the solutions of (5.1) can accurately be estimated and counteracted. However, as aforementioned in the presence of LoE in rotors or their physical constraints, DOBC strategies have limitations and needs to be improved. Therefore, our robust control architecture is composed of the following stages, 1. Enhancing (5.3) by means of a disturbance estimator such that u R becomes robust in presence of model uncertainties and a class of external disturbances.

2. Improving the previous robust control strategy such as a rotors fault estimator Mζ can be derived by means of u R , giving robustness to the architecture even in LoE in rotors.

3. Solving the physical constraints of the motors such that, the bounded control input σ ≤ u * R ≤ σ of the robust control scheme, guarantees η → η r and ξ → ξ r with η r and ξ r standing for the attitude and position references, respectively.

Robust control scheme for disturbance rejection

Let consider that system (5.1) can be also expressed as a perturbed nonlinear system with the form

˙ x(t ) = (A + ∆A) x(t ) + (B + ∆B ) u R (t ) + f ( x, t , u R (t )) + d (t )
(5.4)

y(t ) = x(t )
where x(t ) = [ ξ, η] T ∈ R n and u R (t ) ∈ R m are the state and control vectors respectively, f ( x, t ) : R n × R × R + → R n defines an unknown non-linear function, and d (t ) : R + → R n denotes the vector of unknown disturbances. The state and control matrices are split so that A and B are known and ∆A and ∆B are parametric uncertainties. Moreover, it is assumed that the nonlinear function For developing the robust control scheme, let us propose the following ideal reference model ˙ x q (t ) = A q x q (t ) + B q u q (t ) (5.5) where A q ∈ R n×n , is Hurwitz, B q ∈ R n×m , x q ∈ R n and u q ∈ R m .

∂[ f ( x)+B u R ] ∂ u R = 0, for all ( x, u R ) ∈ R n × R m .
The goal for robust control strategies, is that x → x q , therefore, the following error can be proposed e = ( ξξ q , ηη q ) = xx q (5.6) Differentiating (5.6) and using (5.4), (5.5) and adding and subtracting A q x, it holds that ˙ e = A q e -Γ (5.7)

with

Γ = (A + ∆A) x + (B + ∆B ) u R + f ( x, u R , t ) + d (t ) -A q x -B q u q
Observe that if Γ → 0 then (5.7) will be asymptotically stable. Hence, u R can be proposed as

u R = u n B + (A q -A) x + B q u q + B + -∆A x -∆B u R -f -d u ζ (5.8)
where B + = (B T B ) -1 B T corresponds to the pseudo-inverse of B . Then, the challenge will be to compute u n and u ζ .

Notice from (5.8) that, on one hand u n concerns about the reference tracking performance for system (5.5). Thus, proposing u q = -K x makes (A q -A) x + B q u q stable, with K > 0. Therefore, this implies that u n = -B + K x = -K x with K > 0. On the other hand, notice that, u ζ will be the control part for compensating the inner uncertainties, unknown dynamics or external perturbations. In addition, observe that u ζ is a function of unknown variables, i.e.,

u ζ = f (∆A x, ∆B, u R , f ( x, u R , t ), d (t ))
, and therefore it is difficult to estimate this parameter in this form. However, using (5.4), it can be rewritten as

u ζ = B + [-∆A x -∆B u R -f ( x, u R , t ) -d (t )].
(5.9)

Robust control scheme for disturbance rejection

Observe that all the proposed methodology for estimating the uncertainties and external perturbations are based on computing u ζ in (5.9). Nevertheless, this parameter is function of unknown variables as stated in (5.9), i.e., u ζ = f (∆A x, ∆B, u R , f ( x, u R , t ), d (t )). However, using (5.4), (5.9) can be rewritten as

u ζ = B + [A x + B u R -˙ x]
(5.10) Intuitively, it indicates that the unknown dynamics and disturbances can be estimated from the known dynamics of the systems and control signal. Implementing (5.10), in this form in a microcontroller, is not commonly used, hence for solving it, the signal (5.10) can be accurately represented in the frequency domain as follows [START_REF] Zhong | Control of uncertain LTI systems based on an uncertainty and disturbance estimator[END_REF]

u ζ (s) = G f (s)B + [A x(s) + B u R (s) -s x(s)]
(5.11)

if G f (s) is a strictly proper stable low-pass filter with unity gain and zero phase shift over the spectrum of u ζ and gain elsewhere. Computing the Laplace transform of (5.8) and using (5.11), the disturbance rejection observer control law u R (s), can be obtained as

u R (s) = [I -G f B + B ] -1 B + A q x + B q u q -A x(1 -G f ) -sG f x (5.12)
Observe that (5.12) is in general only an approximation cause the pseudo-inverse, however, it is generally satisfied for some cases [START_REF] Youcef | A time delay controller for systems with unknown dynamics[END_REF]. The asymptotic stability of the closed-loop system is established in [START_REF] Beibei Ren | Robust control for a class of nonaffine nonlinear systems based on the uncertainty and disturbance estimator[END_REF], when the filter G f (s) is chosen appropriately as a strictlyproper stable filter with unity gain and zero phase shift over the spectrum of the uncertain term f ( x, u R , t ) + d (t ) and zero gain elsewhere. The developed robust control architecture is depicted in Figure 5.1.

To summarize the tuning procedure, three essential parameters are considered: the control gains of the feedback controller u n , the filter time constant T and the desired reference model (5.5). On one hand, the value of the law-pass filter corresponds to the dynamic of the perturbation to be estimated. A high value of T causes to filter excessively and, a small one makes that any noise be a perturbation giving large peaks of the control action which means that the system could become unstable. On the other hand, the b value of the reference model represents a double integrator of each axes of the quadrotor and it was obtained experimentally using a Pseudo Random Binary Sequence (PRBS) and the Recursive Least Squares (RLS) algorithm, for identification purposes.

-Disturbance Observer

Experimental results for disturbance rejections

The quadrotor prototype used in the flight tests, is a Parrot AR Drone 2 running the open source software Fl-AIR [160]. An OptiTrack motion capture system was used to estimate the vehicle's position and analyzed in a ground station with others control variables coming from the IMU sensor.

Three scenarios are proposed for validating the robust control scheme (5.8) using (5.11). The practical goal is to expose the aerial vehicle to common disturbances as: wind, variable mass and degradation in the performance of the rotors. The tests are carried-out with the following procedure:

• The state feedback controller is implemented and tuned into the aerial vehicle and used in all experiments.

• The goal is to keep the vehicle at hover at the desired position is (x r , y r , z r ) = (0, 0, z r )m.

• Disturbances are applied when the vehicle is at hover for degrading its performance.

The experimental tests are developed using parameters on Table 5.1. Here, K (1), K (2), express the gains of the feedback controller for each subsystem. For the design of disturbance estimator, each axis of (5.1) is considered decoupled and modeled by a double integrator of the form G(s) = b/s 2 such that b is is obtained experimentally and T represents the bandwidth of the low-pass filter G f = 1/(T s + 1) defined in (5.11). A video of the experimental results can be seen at: https://youtu.be/lhcRiGlPq54.

Wind-gust disturbance

In this experiment, the practical goal consists of keeping the quadcotper at hover position with an altitude z d = 1m while the vehicle is being affected by wind disturbance. For that, three fans (1m from the desired position, see Fig. 5.2) were put to encircle the aerial robot for emulating wind disturbance. Thus, the scenario is as follows: the quadrotor starts at hover position x(0) = y(0) = 0m with the observer block activated while is being perturbed by the fans. The observer block is deactivated and re-activated to compare the performances. From Figures 5.3-5.5 observe the good quadcopter performance when applying the proposed controller. In Figure 5.3 the 3D state performance is depicted. Observe that when the robust control scheme is activated, the vehicle remains in a small neighborhood around the desired set-point, that is not the case when using only the state feedback controller. Note in Figure 5.4 that from time t = 0s to t < 45s, the proposed controller is applied and the vehicle stay close into a neighborhood near to the origin. From t ≥ 45s and t ≤ 75s, only the state feedback control is used and the quadrotor behavior is degraded due the control action is not enough to compensate the wind-gust disturbances. To recover the good performance of the system, the observer block is activated again at time t > 75s.

Robust control scheme for disturbance rejection

Robust control scheme for disturbance rejection

Variable mass

This scenario was proposed for applications with variable mass. For example, when the drone is tuned for certain gains and takes a mass for transporting to a desired position and needs to leave it, usually, their performance is degraded. In this experiment, a mass of 100g is applied on the rear right rotor when the quadrotor is at hover, emulating a box that needs to be transported, see Figure 5.6. The desired altitude is z d (t ) = 1.5m. In Figure 5.7, the 3D performance of the vehicle is depicted. On one hand, note here that when the mass is added, the state feedback controller is not enough to compensate it and the system performance is severely degraded (blue line). On the other hand, when the aerial drone is flying with the proposed control scheme and the mass is added, its performance is barely degraded (red line).

M 2 .
Observe in this figure the poor performance when the mass is added to the vehicle flying only with the linear controller, which is not the case, when the proposed scheme is used during the flight and the mass is added. Notice that for this last case, the disturbance in the system is unperceived, see graphs at time 2s< t < 4.5s. In Figure 5.9 the disturbance estimation is presented. Notice here from t ≥ 2s when the observer is activated the disturbance is compensated and then the system behavior is barely affected. However at the same time but with the observer deactivated, the real values of the disturbances appear and the system performance is harshly degraded. Notice that dz have similar behaviors. This is due the mass was not dropped immediately, for safety reasons, in the test when the observer was not activated. This fact can be appreciated in the video.

Robust control scheme for disturbance rejection

Motor failure

The goal of this experiment, is to analyze the aerial vehicle performance when a motor failure appears. Several researchers, for this kind of problems, propose solutions based on FTC algorithms such that, an identification, isolation and compensation of the failure need to be done. In our case, we propose to solve this problem only using the proposed robust control scheme. Therefore, a virtual motor failure is considered when reducing its efficiency of the frontal left motor (M 1 in In Figure 5.12, the states behavior in the three axes are illustrated. Observe in this figure that the closed-loop system is harshly affected when the linear controller is used. However, note that when applying the robust control strategy, the drone performance remains stable. In Figure 5.13 the disturbance estimation is presented. Notice in this figure in red line, when the proposed controller is applied, it could be appreciated that no disturbances are presented because the proposed scheme estimates them considering a desired system performance and then, compensate this external/internal disturbances. However, a small degradation can be appreciated in the altitude.

Enhancing robust control architecture for LoE in rotors

Moreover, when using a simple feedback controller without the observer, the system is sternly affected and the vehicle altitude is reduced to 0.2m even if the controller tries to recover the performance applying more energy to the affected motor, see Figure 5.14. It is worth to mention that in Fl-AIR framework, the operating range of motors is from 0 to 1. Letting the control algorithm operates out of these limits can lead to a crash of the vehicle or damage in the actuators. In addition, 40% was the maximum value of the virtual rotor failure that has been successfully applied to the proposed robust controller. This leads to the possibility to improve the performance of the robust control architecture for dealing with these issues.

Enhancing robust control architecture for LoE in rotors

In this section, the challenge will be to design a rotor fault observer for improving the performance of the closed-loop system when using the robust controller addressed in section 5.2. Note from (5.8), in order to compensate external disturbances affecting the vehicle, the estimation of u ζ through (5.11) is only necessary, nevertheless, for rotors fault estimation, this variable needs to be reformulated. In addition, from (5.2) observe that u i is a function of the motors force f i . We assume, in this work, that the thrust of each propeller is directly controlled and attached in the z axis of the vehicle, i.e., the blade flapping effect is not considered.

Notice that (5.8) has the same structure that (5.2), therefore, u n and u ζ are also vectors of four components and functions of the forces f i . As stated before, the force i produced by i -th motor can be computed using its angular rate w M i , such that, f i ≈ k f w 2 M i . Therefore, it is also possible to have a relation between the i -th motor and the combination of the control inputs u i , i : 1...4.

Chapter 5. Robust control scheme based on disturbance estimator

This relation is often obtained when the control laws u i need to be transformed into the real control inputs, i.e., the actuators (motors). For the quadrotor vehicle with parallel motors, we have

M = H u R (5.13) with M =       M 1 (t ) M 2 (t ) M 3 (t ) M 4 (t )       ; u R =       u 1 (t ) u 2 (t ) u 3 (t ) u 4 (t )       =       u n 1 + u ζ 1 u n 2 + u ζ 2 u n 3 + u ζ 3 u n 4 + u ζ 4      
; and H denotes the allocation control matrix with the form

H =       1 1 1 -1 1 -1 1 1 1 -1 -1 -1 1 1 -1 1      
Hence, M can be also separated as M = M n + M ζ ; the first one corresponding for the values computed with the control law and the second one for the disturbances rejection. Therefore, M ζ is the vector parameter that should compensate the undesired performances in the vehicle. Analyzing only the disturbance part, it follows that M ζ = H u ζ . Rewriting it, in the scalar form, it follows that

M ζ 1 = u ζ 1 + u ζ 2 + u ζ 3 -u ζ 4 M ζ 2 = u ζ 1 -u ζ 2 + u ζ 3 + u ζ 4 M ζ 3 = u ζ 1 -u ζ 2 -u ζ 3 -u ζ 4 M ζ 4 = u ζ 1 + u ζ 2 -u ζ 3 + u ζ 4
(5.14)

From (5.14), observe that u ζ 1 is common for the four rotors and it can be considered as the altitude disturbance in the vehicle and affects the efficiency of all rotors power at the same time. Therefore, its contribution for detecting if one motor is losing efficiency is less important. Nevertheless, notice also from (5.14) that the combination of the terms u ζ j for j : 2, 3, 4; has a severe impact in each rotor. Hence from the previous analysis, it is possible to propose the following rotors fault estimator

Mζ 1 = u ζ 2 + u ζ 3 -u ζ 4 Mζ 2 = -u ζ 2 + u ζ 3 + u ζ 4 Mζ 3 = -u ζ 2 -u ζ 3 -u ζ 4 Mζ 4 = u ζ 2 -u ζ 3 + u ζ 4 Mth = u ζ 1 .
(5.15)

with Mζ i is the disturbance parameter estimation for motor i .

Enhancing robust control architecture for LoE in rotors

The analysis of equation (5.15) can be done in two scenarios:

1. without rotors fault (conventional flights), here the values of Mζ i for i : 1 : 4; are relatively small but they should not be necessarily null, Mth is increased and the external and unknown disturbances can be estimated using only (5.11).

2. with rotors fault, in this scenario the values of Mζ i for i : 1 : 4; increase, degrading severally the performance of the vehicle and it can be seen as LoE in motors.

From the vehicle configuration and physical characteristics, observe that if one parameter of Mζ i reaches a critical value m , the control law will not be capable of keeping the vehicle stable at hover position, and thus, an inevitable crash will arise. This critical value is chosen such that a minimal main thrust (u 1 ) is required to overcome the weight of the vehicle (mg ), i.e.,

m = min u 1 = mg + δ.
with δ is a small positive constant. Therefore, two flight modes are proposed for scenario (2)

S M : Mid ≤ m , E M : Mid > m ,
where S M and E M stand for the safe and emergency modes, respectively.

The enhanced control architecture is depicted in Figure 5.15. dξ and dη correspond to the internal/external disturbances on the position and attitude subsystems and ξ d is the desired position. u R represents the vector control input containing the main thrust and the control torques respectively. ζ i means the external disturbances and m symbolizes the desired threshold.

Figure 5.15 -Block diagram of the enhanced control architecture.

Numerical and practical validation

The robust control scheme developed in (5.8) and (5.15) were validated in numerical simulations and real-time experiments. The experimental and numerical tests were performed using Fl-AIR and the quadrotor Ar. Drone 2.0. The control parameters for simulations and experiments are the same as presented in The second one, the emergency mode -E M -or critical case, uses the proposed robust scheme to detect important loss of effectiveness in the rotors and assure a safe landing. The critical case is activated when rotors failures are greater than m . In this critical case, one degree of freedom is lost into the system and the control architecture is reconfigured for maintaining the aerial drone in flight or ensuring a safe landing. The control reconfiguration is given in following procedure :

1. The controllability of the yaw angle (ψ) is lost when the rotor failure exceeds the threshold.

2. The vehicle turns along its z axis and the yaw angle rate ( ψ) is controlled at high velocities for recovering its practical stability. In Figure 5.18 the performance of the proposed rotors faults estimator is shown. It can be observed that the fault occurs at t = 6.5s. Moreover, the performance of the rotor inputs is displayed in 5.19. Notice the slightly difference when the scheme is activated or deactivated.

In order to compensate the LoE in motor M 1 when using the scheme's feedback, motor M 3 reduces its velocity to maintain the drone flying in the desired path.

A critical rotor fault (emergency mode)

In this scenario the aerial vehicle is at hover at the position ξ(t 0 = 0) = [0, 0, 2] T m. A critical rotor failure in motor M 1 , emulated by the loss of 60% of its effectiveness, is introduced in this scenario at t = 4.5s. Here, the fault exceeds the threshold chosen m = 0.4, and then, the control algorithm switches into emergency mode. In the reconfiguration control, the yaw angle is lost and the desired yaw velocity is chosen as ψd = 10rad/s. Figures 5.20 shows the performance of the quadrotor subject to a critical rotor failure. From this figure, notice that when the fault is injected instantaneously the vehicle crashes when using only the state feedback controller u n = -K x. However, when using proposed control scheme u R the quadrotor recovers quickly its altitude (at t = 6s) for then, landing in a safe way.

Chapter 5. Robust control scheme based on disturbance estimator

In Figure 5.21 the performance of the fault estimator is presented. Notice that the fault is injected at t = 4.5s and some small oscillations appear are as result of the vehicle is turning on its own axis. Nevertheless, the estimation has almost reached the exact value of the injected fault. This can be confirmed in Figure 5.22. Observe in here, the motors M 2 , M 3 and M 4 as a result that the control scheme lost the controllability of the yaw angle. Remark that the magnitude of the motor M 1 is reduced to a maximum of 40% of its effectiveness. Hence, rotors M 2 , M 3 and M 4 change its velocity, even reaching and passing the limits of saturation, in order to recover the quadrotor subject to the rotor fault.

Enhancing robust control architecture for LoE in rotors

Experimental results

In this section, four different motor fault scenarios are introduced to validate in real-time tests the proposed robust control scheme considering m = 0.4. Thus, they are defined as follows:

1. A motor fault is applied in different times in each motor (academic example).

2. A motor fault is injected in M 1 while the drone is flying to reach a desired position.

3. A critical fault (50% LoE) is induced in a motor when the vehicle is at hover position. 4. A critical fault (60% LoE) is applied in a motor and the emergency landing is applied.

Scenario 1: The academic example

In this scenario, non critical rotors faults are injected into the system, i.e., each 10s a virtual fault of 30% LoE is applied on each rotor. The goal of this scenario is to show the good accuracy of the proposed approach to estimate and compensate the virtual fault. The initial conditions of the system are: x(0) = y(0) = 0 and z = 2 in meters and the goal is to keep the robot at hover position.

Observe in Figure 5.23 at 3s≤ t ≤ 8s the virtual fault in the rotor M 1 was injected. Similarly, for the motor M 2 the fault was induced at 13s≤ t ≤ 18s, then at 23s≤ t ≤ 28s for the rotor M 3 and finally at 33s≤ t ≤ 42s in rotor M 4 . Notice that the proposed architecture is capable to continue estimating almost the total value of the injected fault, as we proposed in (5.15), even if the control law is not using the feedback of the proposed scheme.

Chapter 5. Robust control scheme based on disturbance estimator

Furthermore, in Figure 5.24, when the fault is induced, each motor suffers a degradation on its performance. Here, it is worth to mention that the operating range of the rotors in Fl-AIR's framework is between 0 to 1. Thus, when the rotor fault is injected, its effectiveness is changes to 0 -0.7, in this particular scenario. Notice in this figure, that when the fault is injected and the scheme is active, the rotor reacts faster to compensate this fault and the vehicle converges to the desired reference. This can be checked in Figure 5.25 in each axis, where the z and x axes are slightly more penalized when the rotor fault is injected. Notice that according to number of the rotors, this will affect the performance of the vehicle, moving forward or backward respectively (positive or negative sign in the graph). In Figure 5.26 the behaviors of the vehicle in 3D space when performing the desired task, using two controllers, are introduced. Observe that when the fault is injected and the proposed architecture is applied, the quadrotor overcomes it and converges to the desired final point.

Otherwise, the performance of the vehicle is degraded, as can be verified in Figure 5.27.

Chapter 5. Robust control scheme based on disturbance estimator

In Figure 5.28 the estimation of the motors fault is presented. Notice that the observer keeps estimating the fault even if it was compensated. Similarly in Figure 5.29 the motor control input performances are depicted. A slightly difference between these graphs can be seen.

In order to compensate the magnitude of the rotor fault, when using the proposed scheme, motor M 2 immediately switch to zero its velocity to maintain the drone flying in the desired trajectory. -Rotors control action's performances, when a LoE of 30% in M 1 is applied during a non hover position.

Enhancing robust control architecture for LoE in rotors

Scenario 3: A critical rotor failure: searching for a safe zone for landing When a quadrotor is performing a task and a critical rotor fault occurs is not always possible to land safely. The goal of this test is to present the performance of the vehicle when a critical fault appears while it is flying in zones where, a safety landing immediately is not possible. Thus, searching for a safe zone must be done. For that, suppose the quadrotor is located at ξ(t 0 = 0) = [0, 0, 2] T m, and a virtual fault of 50% of LoE in the motor M 1 is introduced. Then, according to the control reconfiguration procedure, the control law switches to the emergency mode. Here, the position yaw control is lost and only the yaw rate can be controlled. Once the drone attitude is recovered, it reaches quickly its desired altitude z d and then a safe set-point;

ξ d = [2, 0, 2]
T m, is sent to the quadrotor simulating a coordinate where the vehicle can be landed in safety mode.

In Figure 5.30 the 3D performance of the vehicle when a critical fault injected in motor M 1 is depicted. Notice here that, on the one hand, when the fault is injected, the state feedback controller is not enough to compensate it and the system performance is harshly degraded, making the drone crashes (dotted line). On the other hand, when the aerial drone is flying with the proposed control scheme, its performance is barely degraded such that, safe displacements and safe landings are possibles. Observe that, when the virtual rotor fault is injected, the performance of the vehicle when using the state feedback controller is degraded. However, in the same figure in the zaxis at 4s≤ t ≤ 6s, note that when using the proposed scheme the performance of the drone is barely degraded.

Chapter 5. Robust control scheme based on disturbance estimator

The variations in the x and y axis are due the quadrotor is turning on its own axis and simultaneously, controlling the error position. The safe reference is sent at t = 12s and once the vehicle arrives, the safe landing can be achieved. The performance of the proposed rotor fault estimator is shown in Figure 5.32. From this figure we can corroborate that the fault was injected at t = 4.5s and the well performance of the rotor fault observer when estimating the failure.

Enhancing robust control architecture for LoE in rotors

In Figure 5.33 the performances of the motors M i subject to a rotor fault of 50% of LoE in M 1 are depicted. Notice that, once the fault is injected, the effectiveness range in motor M 1 is reduced 50%, in addition, remark that the motor M 4 turns off for some milliseconds (for compensating M 1 ) and, motors M 2 and M 3 increases its velocity to make possible the yaw velocity control.

Scenario 4: A critical rotor fault with emergency landing

An emergency landing is a prioritized flight mode made by an aircraft in response to an imminent or ongoing threat, e.g. rotors failures, in order to keep the safety operation of the vehicle. This scenario shows the performance of the drone when a LoE of 60% is induced in a motor. Thus, the scenario is set as follows: the drone is flying at hover ξ = [0, 0, 2] T m, this position is taken as its initial position ξ t 0 =0 , at time t = 3.9s the virtual failure in M 1 is applied and the vehicle performance degraded.

Notice from Figure 5.34 that when using only the linear controller the robot performance is instantly degraded and it crashes (dotted line). Nevertheless, when using the proposed architecture, the rotor fault observer estimates the motor fault that is compared with the threshold. As the threshold is overpassed, the control scheme switches into the emergency mode. This allows to recover the quadrotor attitude performance and the desired altitude. Nevertheless the aerial robot begins to lose altitude and then the condition for an emergency landing is activated. And thus at the end, the quadrotor lands safely (solid line). In Figure 5.35 the estimations of Mζ i are depicted. Notice here that their values oscillate after time t = 4.2s and they are produced when the aerial robot is turning in its vertical axis. Moreover, in Figure 5.36 the motors performances are illustrated. Notice that M 1 has 40% of tis effectiveness when the failure is applied, and then M 4 stops working for short intermittent milliseconds for compensating effectiveness in M 1 . Observe also that M 2 and M 3 increase their effectiveness to recover the main thrust and recover the desired altitude, nevertheless it produces that the vehicle turns in its vertical axis. -Rotors control action's performances, when a critical fault of 60% in M 1 is applied.

Discussion

In this section, we have carried out a performance analysis, with the three experimental scenarios, of the advantages of the proposed architecture with respect to use only the linear controller. For this purpose, the performance indices and a qualitative comparison of the controllers are obtained. The performance indices are the Integral Absolute Error (IAE), and the Root Mean Square Error (RMSE). A summary of the analysis of the three experimental tests is presented in Table 5.2. It is worth to mention that, all the experiments were developed using the same control gains, i.e., re-tuning these variables was not needed. Concerning the steady state regime, from table results, it can be observed that the proposed robust control scheme achieves the best performance in all the axes. Nevertheless, it is true that is possible to have a better performance for the linear controller but in this case, re-tuning the control variables most be done for each experiment. Regarding the design, tuning and the implementation effort, the linear controller is easier to tune because its structure can be seen as a simple controller. However, the proposed scheme is composed mainly of an observer, a simple reference model of the vehicle and a band-pass filter. All these parameters need to be obtained experimentally in order to have a good approximation of the system. Nevertheless, once the observer is well-tuned for the prototype, it can be used with almost all kind of controllers. The advantage of using the proposed scheme is that it contains an immediate and smooth control action when undesired dynamics appears, especially rotors fault. This can be verified in Table 5.2, column two and three, where it can be observed that, using only a linear controller, when a critical rotor fault is injected, it wont be enough to overcome it.

For that, the good performance of the system is guaranteed when critical fault occurs and the proposed control scheme is being used. Nevertheless, as all kind of control schemes, there are some limitations that are related with the physical characteristics of the prototype. For example, we have observed from real-time flight tests that when injecting critical faults more than 70%, the observer sends the respective compensation which exceeds the capacity of effectiveness of all the motors, such that the quadrotor becomes unstable. This is mainly due the fact, the observer does not take into account the limit of operating range of the rotors. In addition, we have analyzed the Total Variation (T V ) of the control input (T V = i =∞ i =1 |u i +1 -u i |) as a measure of the control effort. This index can easily show the aggressively of the controller and can be seen as a measurement of the used energy by the control action. In Table 5.3, scenario 1, the T V of the first experiment is presented.

Enhancing robust control architecture for LoE in rotors

Remark from Figure 5.37, a similar performance of both controllers is encountered. Nevertheless, the u n controller has a lower T V because the designed controller is not aggressive as the u R , but with the lack of the disturbance rejection property, since the u n cannot deal with the set-point tracking problem in the presence of faults. Moreover, based on the performance of the control laws depicted in Figure 5.38, the T V of the second experiment is presented in Table 5.3, scenario 2. In contrast to the previous cases, the u n controller presents an infinity T V when the fault was injected since the system becomes unstable. This is mainly due to the fact that, the control algorithm is not robust enough to reject this kind of disturbances. However, the u R control can overcome the fault, even continue flying safely, thus, the safe landing can be carried-out.

Chapter 5. Robust control scheme based on disturbance estimator

Finally, in Table 5.3, scenario 3, the T V of the last experiment is provided. In this experiment, an aggressive fault was introduced, as can be observed in Figure 5.39. Therefore, the u n controller is not able to continue flying and thus, it becomes unstable such that, the T V becomes infinity. Nevertheless, the u R controller is able to overcome this problem since is prepared to deal with this kind of high disturbances. We show in parenthesis, the T V of these last two experiments, before the faults were injected.

Enhancing robust control architecture for handling rotor's constraints

Notice that equation (5.13) represents the real robust control input applied to the actuator M i for controlling the aerial vehicle. Moreover and as stated before, rotors have physical constraints that can be seen as the limit of operating speed range σi and σ i which describes the upper and lower bound of the it h motor, respectively. This brings out a non trivial problem with respect to, when is needed to saturate a controller or when is not. To make this clear let us introduce two cases; assuming the upper and lower bound of motors are σi Therefore notice that even if the values of u R i are almost the same for both cases, it is not obvious if actuators could be or not saturated, since that to saturate the actuators, it will depend of the set of control inputs and not only in one in particular. A popular solution is to bound each control input, u R i , however, this is not at all an efficiently solution since, bounding the control input does not means that one of the actuators has not been saturated. For avoiding that, it is necessary to compute a set of the optimal bounded control inputs, u * R , from u R .

Enhancing robust control architecture for handling rotor's constraints

Hence, u * R can be obtained as u * R = δ T M u R . (5.16) where δ T M = [δ 1 δ 2 δ 3 δ 4 ] with δ i defining a factor for fulfilling the rotors constraints. The bounds for the motors control inputs can be find solving the following quadratic problem where Q, c, A M , b are matrices and vectors that will be defined later.

For computing matrices and vectors in (5.17) and (5.18), the following cost-to-go function can be defined

f o = 4 i =1 Q i ( u R i -u * R i ) 2 , ( 5.19)
where Q i is a weight value penalizing the control input u R i . Developing the above equation, it follows that

f o = 4 i =1 Q i ( u 2 R i -2δ i u 2 R i + δ 2 i u 2 R i ). (5.20)
From (5.20), note that the term u 2 R i does not affect to find the minimum of the quadratic problem, thus, it can be neglected. Rewriting the above equation in matrix form, it yields

f o = 1 2 δ T M Q δ M + c T δ M with Q =       Q 1 u 2 R 1 0 0 0 0 Q 2 u 2 R 2 0 0 0 0 Q 3 u 2 R 3 0 0 0 0 Q 4 u 2 R 4       , c =       -Q 1 u 2 R 1 -Q 2 u 2 R 2 -Q 3 u 2 R 3 -Q 4 u 2 R 4      
.

Let now introduce the constraints in the motors control input with the form σ i ≤ M i ≤ σi , where σi and σ i are the upper and lower bounds of the motors, respectively. Moreover, define u * R0 as the equilibrium point of the aerial robot at hover position, in other words, the u 1 needed to compensate the weight of the vehicle.

For finding the condition (5.18), consider the case of the motor M 1 ≤ | σ1 |. Thus, taking into account the weight compensation u * R0 and using (5.13) with the optimal value of u R as in (5.16), it follows that

| 4 i =1 ±δ i u Ri | ≤ | σ1 | -u * R0 .
(5.21)

Chapter 5. Robust control scheme based on disturbance estimator

Then, following the same procedure for the rest of motors and rewriting them in a matrix form, it follows that (5.18) can be founded with

A M =                +u R 1 +u R 2 +u R 3 -u R 4 +u R 1 -u R 2 +u R 3 +u R 4 +u R 1 -u R 2 -u R 3 -u R 4 +u R 1 +u R 2 -u R 3 +u R 4 -u R 1 -u R 2 -u R 3 +u R 4 -u R 1 +u R 2 -u R 3 -u R 4 -u R 1 +u R 2 +u R 3 +u R 4 -u R 1 -u R 2 +u R 3 -u R 4                , b =                σ1 -u *

Experimental results of bounded control

The practical goal of these experiments is to validate the proposed control architecture. For better illustrate the good performance of the optimal bounded robust controller (5.16), it is compared, in two scenarios, with respect to its nominal form (5.8). It is worth to mention that both algorithms have a low computational cost, which permits to be implemented in low cost CPU. The experimental tests are performed in a quadrotor vehicle AR Drone 2 using the open source Fl-AIR. The optimal control problem described by (5.17), (5.18) was solved using the Goldfarb-Idnani algorithm [START_REF] Goldfarb | A numerically stable dual method for solving strictly convex quadratic programs[END_REF] and implented based on the open source code uQuadProg [START_REF] Di | uQuadProg ppen source library[END_REF]. The control parameters for the experimental validation are the same as presented in Table 5.1.

Enhancing robust control architecture for handling rotor's constraints

First scenario: aggressive wind-gust Most of the aerial robot applications are developed in outdoors environments where robustness with respect to wind is a primary task. The goal of the first scenario is to show the performance of the quadcopter while it is at hover, subject to aggressive constant and intermittent wind-gust. For this end, a leaf blower Bosch AVS1 was used to emulate external wind gust with an airflow speed of 60km/h and placed at 1.5m from the quadrotor, see Figure 5.41. The hover position is at: x(0) = 0, y(0) = 0, z(0) = 1, all in meters. A video of the experimental results can be seen in https://youtu.be/6Fhjyb1JVXY. In Figure 5.42 the performance of the vehicle in 3D space subject to high wind-gust is introduced. Notice the better performance of the proposed bounded control architecture u * R with respect to u R . The position behavior of the drone is depicted in Figure 5.43. In the experiment the wind-gust was directed to the y-axis the firsts 20s. Note that both approaches suffer a degradation in their performance, nevertheless it is clear that when using u * R , this degradation (especially in z) is smoother, see Notice that these both figures are extremely related. This due to the fact that the disturbance estimator sends the compensation (see Figure 5.45) without knowing the motor's constraints (for u R ). This makes the control motors inputs exceed their limits (see Figure 5.46 in 18s≤ t ≤ 22s, then in 28s≤ t ≤ 32s and 48s≤ t ≤ 52s ). However, when the vehicle is controlled by u * R , the aforementioned problem does not appear. Conducting electrical inspections with drones has been an application developed through the last years. In this kind of tasks, the vehicle needs to be robust with respect to many factors, as wind-gust, possible loss of effectiveness in rotors (repetitive tasks), among others. The goal of the second scenario is to show the performance of the quadrotor when two LoE in motors M 1 and M 2 occur while performing a desired trajectory emulating conduct electrical inspection. In this experiment, the efficiency in M 1 is reduced 40% at time t ∼ 28s and, later, at time t ∼ 44s, the efficiency in M 2 is reduced 20%.

An helical trajectory with the form x r (t ) = t , y r (t ) = a sin(t ) and z r (t ) = a cos(t ) was chosen as desired trajectory, where a indicating the radius of the circumference. The initial conditions are defined as ξ r (0) = [-1, 1, 2] T in meters. A video of this experiment can be seen at https: //youtu.be/CTBkhfcTYXc. Notice from this figure that when the first LoE (40%) in rotor M 0 was injected, the practical stability, when using u R , is compromised perturbing the drone. Moreover, this controller was not capable of assuring the stability of the system and therefore, it was not possible to apply the second LoE in rotor M 1 because the aerial robot crashed. Nevertheless, when using u * , the quadrotor can continue tracking the desired reference and even tough, compensate a second LoE (20%) in rotor M 1 at time t ∼ 44s. Observe from these figures that when using u * R , the vehicle suffers a small degradation on their performance without exceeding the physical constraints of the motors and even tough, it can overcome the second LoE around t ∼ 44s allowing to continue tracking the desired reference and landing safely.

Robust control architecture conclusions

The goal of this chapter was to introduce a robust control architecture based on disturbance estimator. The scheme is composed of a linear/nonlinear controller and an observer to give robustness to the closed-loop system with respect to nonlinear uncertainties and external disturbances. Three experiments were performed to validate the proposed architecture: facing small airflow speed, adding charge in the quadcopter and LoE in a rotor. The experimental results have shown the good performance of the architecture facing the aforementioned scenarios. Nevertheless, if wind gust or reduced LoE in rotors are applied, this can lead to the damage of actuators or make the aerial drone to become unstable.

A novel robust fault tolerant control scheme was obtained enhancing the control strategy previously discussed. The difference from the first scheme is that, this novel architecture contains a rotors fault observer to detect and estimate the loss of effectiveness in actuators. Simulations and experimental tests were carried-out for validating the performance of the proposed scheme: a rotor failure in a non hover position, a critical rotor fault with safe displacement and emergency landing and, a critical rotor fault with forced landing. The maximum value of LoE in rotors that the architecture counteracted was 30% and 60% for non hover and hover positions, respectively. This is occurs for three reasons. The compensating parameter u ζ is not aware of the limits of the rotors and therefore it sends a large value to counteract the fault. The other one is related with the physical constraints of the actuators and their operating velocity range. The last one and perhaps more importantly, because the architecture is not based on classical fault tolerant controls which are integrated with a reconfiguration control block. Nevertheless, the analysis of the experimental and simulations results have shown the high performance capacity on rotor faults rejection and smooth convergence with low computational cost.

Finally, a bounded robust control architecture was developed from the disturbance observer and optimal control properties. Besides estimating and compensating unknown dynamics, this scheme improves its robustness by solving the physical constraints of the motors. The resultant controller avoids damaging the actuators of the system such that, its stability is guaranteed for a class of perturbations. The proposed architecture was validated in practice in two different scenarios: applying several wind-gust while the vehicle was hovering and, LoE in two motors while performing a desired trajectory. From these experiments, a high performance and smoother convergence can be obtained when using u * R . The aforementioned is the result of scaling the values of the compensating parameter, as well that of the control input into the motors constraints value. In other words, solving these constraints as a quadratic problem. In addition, regardless the computational limitations of the embedded system, the proposed architecture has low computational cost even when solving the quadratic problem.

Part VI Chapter 6 161 6 Conclusions

In this thesis the problem of robustly tracking moving targets has been investigated. The contributions herein reported have been focused on the three objectives: i.) Introducing a unified and accessible analysis of control strategies aimed at solving the stabilization and tracking problems, ii.) exhibiting novel autonomous and semi-autonomous navigation algorithms capable of following individual targets and iii) improving disturbance rejection performance with several types of perturbations as well overcoming the implementation issues of conventional strategies.

The first goal has been achieved introducing popular controllers: nonlinear and linear backstepping and bounded state; virtual controllers based on hyperbolic functions, nonlinear backstepping based on the quaternion formalism and the finite-time convergence based on the well-known SMC. The second goal has been pursued by exploring navigation algorithms based on Model Predictive Control, vector field in cooperation with a vision algorithm based on the well-known optical flow and Kalman filter techniques and, a novel interaction Drone Exocentric Advanced Metaphor (DrEAM) relying on virtual reality properties. Finally, the last goal has been reached by exploiting the so-called uncertainty disturbance estimator, which has gained popularity over the past years. This strategy has been enhanced to deal with loss of effectiveness in rotors as properly handling rotor's constraints.

The performance of the studied control methodologies for solving the stabilization and tracking problem has been proved in Chapter 3. These results guarantee from a mathematical standpoint that the increment in complexity of the controller is paid back in terms of performance. In practice, not only the achievable performance has to be taken into account, but also the simplicity when tuning the controller. From these results, we conclude that linear backstepping controller is the simplest one to analyze and implement. This is as a consequence of assuming that the dynamic model is linear and therefore, the tuning process and implementation can be seen as a classic PD.

Conclusions

In Chapter 4 the performance of the explored navigation algorithms is addressed. The first result relies on the optimal trajectory generation based on the target's position.The optimal problem was solved without constraints and considering lower values of H p for avoiding computational issues. An interesting improvement would be to consider in a new prototype for implementing the algorithm alongside the input and output constraints. In addition, using polynomial trajectories and the target model should improve the performance for reaching a target. The second one shows the resultant path of a quadrotor immersed into a visual velocity field that converges to the ideal 2D mobile robot's velocity field. For avoiding mismatching when looking for the centroid of the target, the algorithm is restricted to a maximum number of features. Moreover, the ground robot must to remain in the FoV of the airborne camera, with smooth displacements. A reasonable continuation of this work is considering the frontal camera of the quadrotor for tracking flying objects. Furthermore, considering the use of a predictive model of the target for anticipating its movements should improve the performance of the control algorithm. The last navigation algorithm result is referred to the easy maneuverability and controllability of a real drone, when a user was controlling it by means of a virtual environment. In addition, a reduction of the cognitive overload was observed when using the virtual proposed architecture. The extension of the architecture for other types of robots and the analysis of time delays in the communication could be a feasible line of research in the future of telerobotics field.

The performance improvement of a robust control architecture equipped with a disturbance observer and a nonlinear/linear controller has been introduced in Chapter 5. This is a remarkable result of this thesis in which, asymptotic trajectory tracking and rejection of disturbances with unknown dynamics was achieved, while guaranteeing a prescribed level of attenuation of unmodeled disturbances. The proposed architecture has been rigorously tested with different kind of perturbations which are related with many aerial applications. Besides to be robust towards unmodeled disturbances, this scheme is capable to handle rotors faults without a reconfiguration block as traditional FTC does it. Furthermore, high performance and smoother convergence can be obtained when using a bounded control u * R subject to several wind gust. Additionally, the tuning of the primary controller can be performed using conventional design techniques, while the observer is adjusted to reach a trade-off between disturbance rejection performance and robustness. This is a highly celebrated feature for control engineers because, in practice, not only the achievable performance has to be taken into account, but also the simplicity when tuning the controller. A reasonable continuation of this work is to analyze the system performance when considering outdoors experiments using a GPS as well exploring the introduction of time delays. Some primary ideas have been proposed combining disturbance observers with sequential predictor controllers but further development has to be performed.

3. 2 θof Figures 5 . 1

 251 angle response when applying four controllers into the PVTOL dynamics. θ d denotes the desired angle computed in (3.43). . . . . . . . . . . . . . . . . . . . . 3.3 Vertical position behavior when comparing the four control algorithms. . . . . 3.4 Vehicle's performance evolution in the x -z plane when applying the four control algorithms into the PVTOL dynamics. From figure x r i for i : 1, 2, 3 describes the desired way-point. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5 u 1 behavior when applying the controllers (3.11), (3.26), (3.36) and (3.48). . . . 3.6 Torque control u 2 response when applying the four control algorithms. . . . . . 3.7 Quadcopter configuration evolving its longitudinal plane. . . . . . . . . . . . . . 3.8 Longitudinal behavior when applying experimentally the four control algorithms into the aerial vehicle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.9 θ angle response when the four control algorithms where applied in real time. θ d describes the desired angle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.10 Vertical position comparing the four control algorithms. . . . . . . . . . . . . . . 3.11 Vehicle's performance evolution in the xz plane when the four control algorithms are applied in real time. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.12 Thrust control u 1 response for the four control algorithms applied to the aerial vehicle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.13 Torque control response, u 2 , obtained during the flight tests. . . . . . . . . . . . 3.14 Performance of the quadcpter during the flight test . . . . . . . . . . . . . . . . . 3.15 Quadcotper position tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi List of Figures3.16 Quadcopter attitude quaternion performance when tracking the desired pose trajectory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.17 Performance of the control input forces . . . . . . . . . . . . . . . . . . . . . . . . 3.18 Performance of the rotational controller . . . . . . . . . . . . . . . . . . . . . . . 3.19 Quadcopter attitude axis-angle representation . . . . . . . . . . . . . . . . . . . . 3.20 Finite time convergence of the quadcopter to the flying target at t = 5s . . . . . 3.21 Performance of the x, y, z axes of the quadrotor when converging in finite time. 3.22 Tracking performance of the attitude system of the quadrotor. . . . . . . . . . . 3.23 Control inputs of the quadrotor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.24 Performance of the x and y axes of the quadcopter. Left column of the picture represents the experiment when t = 5s and the right column for t = 3s. . . . . . 3.25 3D performance of the quadcopter. Left image corresponds when t = 5s and right one when t = 3s. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.26 Attitude behavior of the quadcopter when tracking a desired trajectory with t = 5s and t = 3s as desired finite-time convergence. . . . . . . . . . . . . . . . . 3.27 Performance of the control inputs when considering t = 5s and t = 3s as desired finite-time convergence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1 Control-scheme diagram. P r defines the control trajectory obtained from the algorithm MPC, P d denotes the desired final values. The Re-Planner based on MPC generates the optimal feasible trajectory, and η, ξ state for the vehicle's states. u n represent the saturation nominal controller, u ζ expresses a compensate parameter from a disturbance observer and ζ possible external perturbations. 4.2 Evolution of the path tracking in x, y, z-axis with wind and manual disturbances.4.3 Flight test when the quadcopter follows the helical trajectory in ascending phase in presence of wind and manual disturbances. . . . . . . . . . . . . . . . . . . . . 4.4 Flight test when the quadcopter follows the helical trajectory in descending phase in presence of wind and manual disturbances. . . . . . . . . . . . . . . . . 4.5 Proof of concept of the problem: The driver commands the vehicle in urban set, picking up the next contour A, then B, then C to plan smoothly ahead, as if navigating in smooth vector fields; then, facilitating tracking with airborne monocular camera, since height can be regulated efficiently, and assuming target remains in the FoV. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6 Experimental test-bed showing the AR Drone 2.0 as the quadrotor, and the Jumping Sumo as the mobile robot (with a chess board on top for image processing). 4.7 Frames when searching for the target . . . . . . . . . . . . . . . . . . . . . . . . . 4.8 Image position of the mobile robot frame and the camera frame. . . . . . . . . . 4.9 Kinematic of a differential robot as an abstract representation of an AGV. . . . . 4.10 Three steps Velocity Fields design method based on differential geometry properties of the desired trajectory:(a) parametric curve of motion objective, (b) main directional components of the field, (c) calculation of the velocity vectors. . . . xii List of Figures4.11 Positions x and y of the centroid using the optical flow data and the kalman filter. The z position is measured using the Optitrack camera system. . . . . . . . . . . 4.12 Velocities of the target in the image plane. . . . . . . . . . . . . . . . . . . . . . . 4.13 Control inputs for the quadcopter vehicle. . . . . . . . . . . . . . . . . . . . . . . 4.14 Desired velocity field components of the ground robot. . . . . . . . . . . . . . . 4.15 Position of the centroid p t and its estimated velocity. . . . . . . . . . . . . . . . . 4.16 Cartesian position trajectories and errors of the mobile robots. . . . . . . . . . . 4.17 Performance of both robots in the x y plane. These signals are provided by the Optitrack system. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.18 Control inputs of the flying and ground vehicles. . . . . . . . . . . . . . . . . . . 4.19 Left: stress when piloting a drone. Right: frustration after crashing the vehicle [1]. 4.20 Virtual control scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.21 Real world environments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.22 DREAM's virtual environment and flight arena . . . . . . . . . . . . . . . . . . . . 4.23 Different states of the virtual drone; (a) -cannot be taken , (b) -can be taken and (c) -has been taken. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.24 Navigation task: start point (S), checkpoint (C) and the final point (A) keeping the heading of the vehicle pointing to the target. . . . . . . . . . . . . . . . . . . 4.25 Graphics results from the NASA-TLX questionnaire. From graphs 0 means low and 6 high demand or impact on the presented criteria. . . . . . . . . . . . . . . 4.26 Scenario of the first experiment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.27 3D performance of the virtual drone and the real vehicle when scenario 1 is validated in real time. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.28 Yaw angle behavior of the drones (real and virtual). . . . . . . . . . . . . . . . . . 4.29 x-position performance of the virtual drone and the real vehicle obtained from the first scenario. Observer the good behavior of the real drone when imitates the virtual drone trajectory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.30 Performance of the robots (virtual and drone) in the y axis. . . . . . . . . . . . . 4.31 z-state behavior of the first scenario. Observe that the robots (virtual and real) change their altitude for crossing the windows. . . . . . . . . . . . . . . . . . . . 4.32 Performance of the velocities of vehicle during the first scenario. Note that it is increased mainly in the x and y axes. . . . . . . . . . . . . . . . . . . . . . . . . . 4.33 Scenario of the second experiment. . . . . . . . . . . . . . . . . . . . . . . . . . . 4.34 3D behavior of the virtual and the real aerial vehicles when performing the second scenario. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.35 Performance of the aerial robots in the x axis. Observe the good performance when the real robot imitates the virtual robot. . . . . . . . . . . . . . . . . . . . . 4.36 y-state behavior of the aerial robots (virtual and real) when the user turns the pillars three times. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.37 z performance of the vehicles obtained during the second scenario. Observe that the last two laps the user change also the altitude during the trajectory. . . 4.38 Behavior of the heading of the virtual and real drone respectively. . . . . . . . . xiii List Block diagram of the control structure. u n and u ζ correspond to the the nominal control action and the control rejection part, respectively, ξ d is the desired reference. u R represents the proposed controller ζ represents external disturbances. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Wind-gust scenario. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3 Vehicle's performance in 3D against wind disturbance. . . . . . . . . . . . . . . .5.4 Performance of the vehicle in x-axis, y-axis and z-axis. . . . . . . . . . . . . . 5.5 Estimation of the wind disturbance. . . . . . . . . . . . . . . . . . . . . . . . . . . 5.6 Lateral weight disturbance applied to an aerial system. . . . . . . . . . . . . . . . 5.7 Vehicle's performance in 3D against the weight disturbance. . . . . . . . . . . . 5.8 Performance of the quadrotor against the later weight disturbance. . . . . . . . 5.9 Estimation of the weight disturbance. . . . . . . . . . . . . . . . . . . . . . . . . . 5.10 Partial rotor failure in a quadcopter. . . . . . . . . . . . . . . . . . . . . . . . . . . 5.11 Vehicle's performance in 3D against a rotor failure. . . . . . . . . . . . . . . . . . 5.12 Performance of the quadrotor against a rotor's fault. . . . . . . . . . . . . . . . . 5.13 Estimation of the rotor failure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.14 Control actions of the motors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.15 Block diagram of the enhanced control architecture. . . . . . . . . . . . . . . . . 5.16 Quadrotor position performance when using a feedback controller and the proposed architecture. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.17 Scenario 1.-Performance of the quadrotor subject to a LoE of 30% in M 1 . . . . . 5.18 Scenario 1.-Performance of the rotor fault estimator Mζ i , i = 1, • • • , 4. . . . . . . 5.19 Scenario 1.-Control action's behavior of each of the rotors when using u n and u R controllers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.20 Position performance of the vehicle subject to a critical failure in M 1 . . . . . . . 5.21 Scenario 2.-Performance of the rotor fault estimator Mζ i , i = 1, • • • , 4. . . . . . . 5.22 Scenario 2.-Rotors control action's performances when a critical fault in motor M 1 is applied. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.23 Performance of the rotor faults estimator Mζ i and the disturbance estimations (5.11) of the attitude system of the quadrotor . . . . . . . . . . . . . . . . . . . . . 5.24 Scenario 1.-Control rotors performance when using the linear controller (top graph) and the proposed scheme. . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.25 Scenario 1.-Performance of the quadrotor position subject to a sequence of rotors failures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.26 Scenario 2.-Position performance of the vehicle when using the linear controller and the proposed architecture, and a rotor fault is induced in a non hover position. 5.27 Scenario 2.-Performance of the quadrotor position subject to a rotor fault while moving to a desired position ξ d (t f ). . . . . . . . . . . . . . . . . . . . . . . . . . . 5.28 Scenario 2.-Rotors faults estimations Mζ i , i = 1, • • • , 4. . . . . . . . . . . . . . . . 5.29 Scenario 2.-Rotors control action's performances, when a LoE of 30% in M 1 is applied during a non hover position. . . . . . . . . . . . . . . . . . . . . . . . . . xiv List of Figures 5.30 Scenario 3.-Performance of the vehicle when applying a motor fault of 50% and, two different controllers are used. . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.31 Scenario 3.-Performance of the quadcopter position subject to a critical rotor fault of 50% in M 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.32 Scenario 3.-Rotors faults estimations Mζ i , i = 1, • • • , 4. . . . . . . . . . . . . . . . 5.33 Scenario 3.-Rotors control action's performances, when a critical fault of 50% in M 1 is applied. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.34 Scenario 4.-Position performance of the vehicle when using the linear controller and the proposed architecture, and a critical rotor fault is induced. . . . . . . . 5.35 Scenario 4.-Rotors faults estimations Mζ i , i : 1, • • • , 4. . . . . . . . . . . . . . . . . 5.36 Scenario 4.-Rotors control action's performances, when a critical fault of 60% in M 1 is applied. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.37 Control inputs u n and u R of the first scenario. . . . . . . . . . . . . . . . . . . . . 5.38 Control inputs u n and u R of the second scenario. . . . . . . . . . . . . . . . . . . 5.39 Control inputs u n and u R of the third scenario. . . . . . . . . . . . . . . . . . . . 5.40 Block diagram of the control structure. u n and u ζ correspond to the the nominal control action and the control rejection part, respectively, ξ d is the desired reference. ξ, η mean the position and attitude states. u R and u * R represent the proposed controller and the set of its optimal and bounded values, respectively. The quadratic problem block deals with the motors constraints and ζ i represents external disturbances. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.41 Set-up of the wind-gust scenario. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.42 Scenario 1.-System performance during flight tests. . . . . . . . . . . . . . . . . 5.43 Scenario 1.-Performance of the quadrotor position subject to wind-gust. . . . . 5.44 Scenario 1.-Attitude Performance of the quadrotor system subject to wind-gust. 5.45 Scenario 1.-Attitude disturbance estimations. . . . . . . . . . . . . . . . . . . . . 5.46 Scenario 1.-Performance of the motor control actions. . . . . . . . . . . . . . . . 5.47 Scenario 2.-3D state performances in flight tests. . . . . . . . . . . . . . . . . . . 5.48 Scenario 2.-Performance of the attitude disturbance estimation. . . . . . . . . . 5.49 Scenario 2.-Behavior of motor control actions. . . . . . . . . . . . . . . . . . . . xv List of Tables 3.1 Parameters values used in the control laws in (3.11), (3.22), (3.36) and (3.48) used in simulation and experimental validation. . . . . . . . . . . . . . . . . . . . . . 3.2 Performance indices of the z-axis . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 Performance indices of the x-axis . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4 Qualitative comparison of the control algorithms. The best result is denoted with 1 and the worst with 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5 Control gains parameters used in experimental tests . . . . . . . . . . . . . . . . 3.6 Control parameters used in experimental and numerical tests for t = 5s . . . . . 4.1 Experimental parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Experimental parameters for the control law (4.29) and the ground vehicle control (4.32). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3 Data results of MLE, MCT and MYE indexes . . . . . . . . . . . . . . . . . . . . . 4.4 Results from the one sample t-Test. . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1 Gain parameters used in the experimental tests . . . . . . . . . . . . . . . . . . . 5.2 Performance indices of the three scenarios. . . . . . . . . . . . . . . . . . . . . . 5.3 Total Variation (TV) of the control inputs. . . . . . . . . . . . . . . . . . . . .

Figure 1 . 1 -

 11 Figure 1.1 -Example of a target tracking problem: a pursuer drone follows an intruder quadrotor while flying in a restricted area.

Figure 2

 2

Figure 2 . 1 -

 21 Figure 2.1 -Propeller forces and torques acting on a quadrotor.

Figure 2 . 2 -

 22 Figure 2.2 -Coordinate systems acting in the aerial vehicle where f i denotes the force applied of each motor, F t h symbolizes the total thrust force and θ, φ, ψ are the Euler angles on each axis.

Figure 2 . 3 - 2 .

 232 Figure 2.3 -Quadcopter free body diagram

. 57 )Figure 2 . 4 -

 5724 Figure 2.4 -Illustration of the Cross product of two vectors

then the above yields V3 = -k y 3 e 2 3 -k y 2 e 3 e 2 + k y 3 e 3 e 4 Chapter 3 .Proposing V 4 = k y 4 2 e 2 4

 3243442 Control approaches for aerial vehicles as positive function, with k y 4 > 0 defining a constant, and computing its derivative, it appears that

  t -→∞ ξ(t ) -ξ d (t ) = 0. (3.45) where ξ d = [x d y d z d ] T are the longitudinal and lateral references. Denoting the tracking error as p = [ p 1 p 2 ] T such that

. 70 )

 70 Now, for φ d , it is possible to rewrite equation (3.43) using the inequalities (3.68) and(3.70)

.78) 50 3. 1 .

 501 Comparison of stabilization and tracking control algorithms 3.1.

  (3.11),(3.22),(3.36) and(3.48) tracking the set-points previously defined is shown in Figures 3.1 and 3.3. Note from Figure3.1 that, the convergence using controllers without bounded functions are faster than the others that use saturation functions.

Figure 3 . 1 -

 31 Figure 3.1 -Longitudinal position performance when comparing the four control algorithms.

Figure 3 . 2 -

 32 Figure 3.2 -θ angle response when applying four controllers into the PVTOL dynamics. θ d denotes the desired angle computed in (3.43).

Figure 3 . 3 -

 33 Figure 3.3 -Vertical position behavior when comparing the four control algorithms.

Figure 3 . 4 -

 34 Figure 3.4 -Vehicle's performance evolution in the xz plane when applying the four control algorithms into the PVTOL dynamics. From figure x r i for i : 1, 2, 3 describes the desired way-point.

39 Figure 3 . 5 -Figure 3 . 6 -

 393536 Figure 3.5u 1 behavior when applying the controllers (3.11), (3.26), (3.36) and (3.48).

Figure 3 . 7 -

 37 Figure 3.7 -Quadcopter configuration evolving its longitudinal plane.

Chapter 3 .Figure 3 . 8 -

 338 Figure 3.8 -Longitudinal behavior when applying experimentally the four control algorithms into the aerial vehicle.

Figure 3 . 9 -

 39 Figure 3.9 -θ angle response when the four control algorithms where applied in real time. θ d describes the desired angle.

Figure 3 . 10 -

 310 Figure 3.10 -Vertical position comparing the four control algorithms.

Figure 3 . 11 -

 311 Figure 3.11 -Vehicle's performance evolution in the xz plane when the four control algorithms are applied in real time.

Figure 3 . 12 -

 312 Figure 3.12 -Thrust control u 1 response for the four control algorithms applied to the aerial vehicle.

Figure 3 . 13 -

 313 Figure 3.13 -Torque control response, u 2 , obtained during the flight tests.

58 3. 1 . Comparison of stabilization and tracking control algorithms 3 . 1 . 6 Discussion

 581316 We have carried out an analysis of the performance of the four control algorithms. For this purpose, the performance indices and a qualitative comparison of the controller are obtained. The performance indices are the Integral Square Error (ISE), the Integral Absolute Error (IAE), the Integral time Squared Error (ITSE) and the Integral time Absolute Error (ITAE). A summary of this analysis is presented in Tables 3.2 -3.4.

. 99 )Chapter 3 . Control approaches for aerial vehicles 3 . 2 . 1

 993321 with K 1i and K 2i where i ∈ [x, y, z] are positive constants, Ω i represents the angular velocity and I stands for the inertia tensor. Experimental test In this section, the validation of the control algorithm (3.99) based on the quadcopter quaternion model (2.52) is addressed. For this experimental test, an AR Drone 2 was employed using the Fl-AIR framework open source code. The scenario consists in the following: the vehicle is located in a random hover position ξ(0) = [0, 0, 1.2m] T and thus, a circular desired trajectory ξ d = [a cos(t ), a sin(t ), 1.2m] T must be tracked. The desired quaternion around the z-axis is defined by q z = [cos(ψ d /2), 0, 0, sin(ψ d /2)] T where ψ d = arctan ξ dy

Figures 3 .

 3 14 to 3.18. Notice from Figures 3.14 and 3.15 the well behavior of the proposed control algorithm. It can be observed that the x and y axes are well tracked with a small error in the z-axis. The vehicle's front is pointing towards the sense of the trajectory according to the desired ψ d angle.

Figure 3 . 14 -Figure 3 . 15 -

 314315 Figure 3.14 -Performance of the quadcpter during the flight test

Figure 3 . 16 -

 316 Figure 3.16 -Quadcopter attitude quaternion performance when tracking the desired pose trajectory

Figure 3 . 17 -

 317 Figures 3.17and 3.18 present the performance of the designed controllers (3.80), (3.81) and (3.99) when tracking a circular desired trajectory. Let us recall that this controller compute the torques and forces required to stabilize the vehicle in the desired references.

Figure 3 . 18 -

 318 Figure 3.18 -Performance of the rotational controller

Figure 3 . 19 -

 319 Figure 3.19 -Quadcopter attitude axis-angle representation

  the control objective r ( t ) = ξ Tr s can be guaranteed in finite-time convergence. Note ξ T = [x T y T z T ] represents the position of the target and r s = ξξ d means the error between the quadrotor and, a desired reference to keep a distance with the mobile target. This distance is defined by the constant ξ d = [x d , y d , z d ] .The goal of this section is to design a desired trajectory such that the quadcopter can follow and achieve the position r ( t ) in finite time t . This trajectory will be composed of three components x c (t ), y c (t ) and z c (t ), and represented by the position vector ξ c (t ) = x c (t ) , y c (t ) , z c (t ) where each component x c (t ) → x T , y c (t ) → y T in finite time t , and with a constant altitude z c (t ) = z c (0) for all t ≥ 0.

Figure 3 . 20 -Figure 3 . 21 -

 320321 Figure 3.20 -Finite time convergence of the quadcopter to the flying target at t = 5s

Figure 3 . 22 -Figure 3 . 23 -

 322323 Figure 3.22 -Tracking performance of the attitude system of the quadrotor.

Figure 3 . 24 -Chapter 3 .

 3243 Figure 3.24 -Performance of the x and y axes of the quadcopter. Left column of the picture represents the experiment when t = 5s and the right column for t = 3s.

Figure 3 .Figure 3 . 26 -

 3326 Figure3.25 shows the performance of the rotational dynamics of the quadcopter when tracking a desired trajectory. Notice that the left column images are the experimental test when t = 5s and the right ones considering t = 3s. Observe that the dynamics is faster when t = 3s. This due to the control parameters (for the rotational part) were re-tuned in order to converge at the desired finite-time.

Figure 3 . 27 -

 327 Figure 3.27 -Performance of the control inputs when considering t = 5s and t = 3s as desired finite-time convergence

  and the corresponding control trajectory vector ∆ P r which represents the input to the controlled prediction model. This vector will be the reference trajectory for the controller developed in Chapter 3 in terms of position and velocity.The general control diagram used in this work is depicted in Figure4.1. Here the reference trajectory will be generated by the Re-Planner algorithm based on MPC, the control algorithm block includes the control laws with the form (3.26) satisfying the path tracking objective, and the disturbance observer block (described in Chapter 5) providing robustness to the system.

Figure 4 . 1 -

 41 Figure 4.1 -Control-scheme diagram. P r defines the control trajectory obtained from the algorithm MPC, P d denotes the desired final values. The Re-Planner based on MPC generates the optimal feasible trajectory, and η, ξ state for the vehicle's states. u n represent the saturation nominal controller, u ζ expresses a compensate parameter from a disturbance observer and ζ possible external perturbations.

Chapter 4 .Algorithm 1

 41 Autonomous navigation algorithms General statement of the MPC algorithm initialize MPC-LS with nominal a control trajectory ∆ P r P (0) ← starting position P d (t f ) ← desired position Generate the linear controlled model (4.1) While ( P < P d ) -Create the augmented MPC model of (4.1) -Minimize the cost function (4.2) by solving the LS sense using the 'QR' algorithm -Apply the control trajectories -Update P -Update ∆ P r end 4.1.

3

 3

4. 1 .

 1 Figure 4.2 -Evolution of the path tracking in x, y, z-axis with wind and manual disturbances.

Figures 4. 2

 2 Figures 4.2-4.4 depict the trajectory generation and the quadrotor performance when following the desired trajectory subject to wind and manual disturbances. The wind effect is applied at t = 19s, t = 48s andt = 57s but not necessarily constant due the vehicle is following a 3D reference trajectory. This can be observed properly in Figure4.2. Remark that at t = 23s and t = 34s approximately, a manual disturbance was applied while the vehicle is ascending. This performance can be seen in Figure4.3. In this graph, it is roughly depicted when the wind (two times) and manual (two times) perturbation were applied. These effects were compensated in a robust manner by the compensation of the disturbance observer developed in section 5.

  Figures 4.2-4.4 depict the trajectory generation and the quadrotor performance when following the desired trajectory subject to wind and manual disturbances. The wind effect is applied at t = 19s, t = 48s andt = 57s but not necessarily constant due the vehicle is following a 3D reference trajectory. This can be observed properly in Figure4.2. Remark that at t = 23s and t = 34s approximately, a manual disturbance was applied while the vehicle is ascending. This performance can be seen in Figure4.3. In this graph, it is roughly depicted when the wind (two times) and manual (two times) perturbation were applied. These effects were compensated in a robust manner by the compensation of the disturbance observer developed in section 5.

Figure 4 . 3 -

 43 Figure 4.3 -Flight test when the quadcopter follows the helical trajectory in ascending phase in presence of wind and manual disturbances.

Figures 4 .

 4 Figures 4.4 illustrates the descending behavior of the vehicle. This performance can be sees in the z-axis around t = 36s. Although the gravity force actuates in the drone, and manual perturbation is applied, the MPC solves the shortest path forcing the control law to avoid oscillations in the altitude position when the vehicle is descending.

Figure 4 . 4 -

 44 Figure 4.4 -Flight test when the quadcopter follows the helical trajectory in descending phase in presence of wind and manual disturbances.

Figure 4 . 5 -

 45 Figure 4.5 -Proof of concept of the problem: The driver commands the vehicle in urban set, picking up the next contour A, then B, then C to plan smoothly ahead, as if navigating in smooth vector fields; then, facilitating tracking with airborne monocular camera, since height can be regulated efficiently, and assuming target remains in the FoV.

Figure 4 . 6 -

 46 Figure 4.6 -Experimental test-bed showing the AR Drone 2.0 as the quadrotor, and the Jumping Sumo as the mobile robot (with a chess board on top for image processing).

4 .

 4 Update matching corners, then determine the centroid (4.21). 5. Target is detected if area, centered in the centroid with radius of 20 pixels, has at least 15 corners. Notice from Figure 4.7a, there is no target detected, even if a centroid is calculated with only one corner, N f = 1. Nevertheless in Figure 4.7b, algorithm determines that the target has been detected for N f = 22 corners. (a) Target is not the FoV. (b) Target is in the FoV.

Figure 4 . 7 -

 47 Figure 4.7 -Frames when searching for the target

Chapter 4 .Figure 4 . 8 -

 448 Figure 4.8 -Image position of the mobile robot frame and the camera frame.

Figure 4 . 9 -

 49 Figure 4.9 -Kinematic of a differential robot as an abstract representation of an AGV.

Figure 4 . 10 -

 410 Figure 4.10 -Three steps Velocity Fields design method based on differential geometry properties of the desired trajectory:(a) parametric curve of motion objective, (b) main directional components of the field, (c) calculation of the velocity vectors.

Figures 4. 11

 11 Figures 4.11-4.13 show the performance of the quadcotper and the vision algorithm when tracking the ground vehicle. Remark from Figure 4.11 the x and y centroid positions are obtained in the image plane. In addition, it can be observed that these positions are slightly noisy when using only the traditional Lukas Kanade optical flow.

- 4 .Figure 4 . 11 -

 4411 Figures 4.11-4.13 show the performance of the quadcotper and the vision algorithm when tracking the ground vehicle. Remark from Figure 4.11 the x and y centroid positions are obtained in the image plane. In addition, it can be observed that these positions are slightly noisy when using only the traditional Lukas Kanade optical flow.

Figure 4 . 12 -

 412 Figure 4.12 -Velocities of the target in the image plane.

Figure 4 . 13 -

 413 Figure 4.13 -Control inputs for the quadcopter vehicle.

Figure 4 . 14 -Figure 4 . 15 -

 414415 Figure 4.14 -Desired velocity field components of the ground robot.

Figures 4 .

 4 Figures 4.16 and 4.17 show the resultant path of the quadcotper immersed into a visual velocity field that converges to the ideal 2D mobile robot's velocity field. The positions of the quadcopter and the ground autonomous vehicle are represented by x u , y u and x s , y s , respectively. These figures also show the relative position of quadcotper and the mobile robot. Remark from these figures that the error in both axes is relatively small allowing the quadcotper keeps the ground robot on the FoV. It is worth to mention that in order to get the well performance of the vision algorithm showed in Figure4.15, the desired altitude was set constant at z d = 1.2m. Furthermore, the shortest distance where the quadcopter can continue detecting the AGV was z = 0.8m. Nevertheless at this distance the ground vehicle can come out quickly from the FoV. Contrary, the highest altitude was z = 1.5m. This helps to maintain the AGV in the FoV. However, more features are needed for computing the centroid and therefore more computational burden is required. In addition, remember the optical flow camera of the Ar.Drone 2.0 and its embedded system have computational limits.

Figure 4 . 16 -

 416 Figure 4.16 -Cartesian position trajectories and errors of the mobile robots.

Figure 4 . 17 -

 417 Figure 4.17 -Performance of both robots in the x y plane. These signals are provided by the Optitrack system.

  Virtual control signals u GV of the ground vehicle.

  Virtual control signals U x , U y and U z of the quadcotper. Control torques τ = [τ φ , τ θ , τ ψ ] T of the quadcotper.

Figure 4 . 18 -

 418 Figure 4.18 -Control inputs of the flying and ground vehicles.

  Figure 4.19 -Left: stress when piloting a drone. Right: frustration after crashing the vehicle [1].

Figure 4 . 20 -

 420 Figure 4.20 -Virtual control scheme

  (a) Flight arena and monitoring room.

  Fl-AIR -Framework libre AIR.

Figure 4 . 21 -

 421 Figure 4.21 -Real world environments.

Figure 4 .

 4 Figure 4.22 -DREAM's virtual environment and flight arena

Figure 4 . 23 -

 423 Figure 4.23 -Different states of the virtual drone; (a) -cannot be taken , (b) -can be taken and (c) -has been taken.

Figure 4 . 26 -

 426 Figure 4.26 -Scenario of the first experiment.

Figure 4 .Figure 4 . 28 -

 4428 Figure 4.27 -3D performance of the virtual drone and the real vehicle when scenario 1 is validated in real time.

Figure 4 .

 4 Figure 4.29x-position performance of the virtual drone and the real vehicle obtained from the first scenario. Observer the good behavior of the real drone when imitates the virtual drone trajectory.

Figure 4 . 30 -

 430 Figure 4.30 -Performance of the robots (virtual and drone) in the y axis.

4. 3 .Figure 4 .Figure 4 . 32 -

 34432 Figure 4.31z-state behavior of the first scenario. Observe that the robots (virtual and real) change their altitude for crossing the windows.

Chapter 4 .

 4 Autonomous navigation algorithms Scenario 2: Building inspection

Figure 4 . 33 -

 433 Figure 4.33 -Scenario of the second experiment.

  -4.38. A 3D representation of the trajectories is presented in Figure 4.34.

Figure 4 . 35 -

 435 Figure 4.35 -Performance of the aerial robots in the x axis. Observe the good performance when the real robot imitates the virtual robot.

Figure 4 .

 4 Figure 4.36y-state behavior of the aerial robots (virtual and real) when the user turns the pillars three times.

Figure 4 .Figure 4 . 38 -

 4438 Figure 4.37z performance of the vehicles obtained during the second scenario. Observe that the last two laps the user change also the altitude during the trajectory.

123 Chapter 5 .Assumption 2 .Assumption 3 .Assumption 4 .Assumption 5 .

 12352345 Robust control scheme based on disturbance estimatorThe following assumptions are stated The pair (A, B ) is controllable. The uncertainty f ( x) belongs to the column space of B , i.e. there exists a vectord f ( x) ∈ R m such that f ( x) = B d f (x). There is a region D = x ∈ R n : | x| ≤ r x where: i.) d f ( x) is locally bounded, ii.) d f (0) = 0 and iii.) its derivative is locally bounded by |∇ d f ( x)| ≤ c x .The input disturbance d (t ) is uniformly bounded and its derivative is bounded by ḋ ≤ c d , ∀t ≥ 0.

Figure 5 . 1 -

 51 Figure 5.1 -Block diagram of the control structure. u n and u ζ correspond to the the nominal control action and the control rejection part, respectively, ξ d is the desired reference. u R represents the proposed controller ζ represents external disturbances.

Figure 5 . 2 -

 52 Figure 5.2 -Wind-gust scenario.

Figure 5 . 3 -

 53 Figure 5.3 -Vehicle's performance in 3D against wind disturbance.

Figure 5 . 6 -

 56 Figure 5.6 -Lateral weight disturbance applied to an aerial system.

5 Figure 5 . 7 -

 557 Figure 5.7 -Vehicle's performance in 3D against the weight disturbance.

Figure 5 .

 5 Figure 5.8 depicts the behavior of the vehicle in the three axes when adding a mass in motor

Figure 5 . 8 -

 58 Figure 5.8 -Performance of the quadrotor against the later weight disturbance.

Figure 5 . 9 -

 59 Figure 5.9 -Estimation of the weight disturbance.

Fig 5 .

 5 10) in 40%. The desired altitude for this test is z d = 1.5m and the fault is applied at time t = 4.5s. Observe in Figures 5.11 to 5.13 the vehicle performance when a motor failure is applied.

Figure 5 . 10 -Figure 5 .

 5105 Figure 5.10 -Partial rotor failure in a quadcopter.

Figure 5 . 12 -

 512 Figure 5.12 -Performance of the quadrotor against a rotor's fault.

Figure 5 . 13 -

 513 Figure 5.13 -Estimation of the rotor failure

Figure 5 . 14 -

 514 Figure 5.14 -Control actions of the motors.

Figure 5 . 18 -

 518 Figure 5.18 -Scenario 1.-Performance of the rotor fault estimator Mζ i , i = 1, • • • , 4.

Figure 5 . 19 -

 519 Figure 5.19 -Scenario 1.-Control action's behavior of each of the rotors when using u n and u R controllers.

Figure 5 . 20 -

 520 Figure 5.20 -Position performance of the vehicle subject to a critical failure in M 1 .

Figure 5 . 21 -

 521 Figure 5.21 -Scenario 2.-Performance of the rotor fault estimator Mζ i , i = 1, • • • , 4.

Figure 5 . 22 -

 522 Figure 5.22 -Scenario 2.-Rotors control action's performances when a critical fault in motor M 1 is applied.

Figure 5 . 23 -

 523 Figure 5.23 -Performance of the rotor faults estimator Mζ i and the disturbance estimations (5.11) of the attitude system of the quadrotor .

Figure 5 . 24 -

 524 Figure 5.24 -Scenario 1.-Control rotors performance when using the linear controller (top graph) and the proposed scheme.

Figure 5 . 25 - 5 . 3 .Scenario 2 :

 525532 Figure 5.25 -Scenario 1.-Performance of the quadrotor position subject to a sequence of rotors failures.

Figure 5 . 26 -Figure 5 . 27 -

 526527 Figure 5.26 -Scenario 2.-Position performance of the vehicle when using the linear controller and the proposed architecture, and a rotor fault is induced in a non hover position.

1 Figure 5 . 28 -

 1528 Figure 5.28 -Scenario 2.-Rotors faults estimations Mζ i , i = 1, • • • , 4.

Figure 5 . 29 -

 529 Figure 5.29 -Scenario 2.-Rotors control action's performances, when a LoE of 30% in M 1 is applied during a non hover position.

Figure 5 . 30 -

 530 Figure 5.30 -Scenario 3.-Performance of the vehicle when applying a motor fault of 50% and, two different controllers are used.

Figure 5 .

 5 Figure5.31 presents the behavior of the vehicle in the three axes when the fault in motor M 1 is injected. Observe that, when the virtual rotor fault is injected, the performance of the vehicle when using the state feedback controller is degraded. However, in the same figure in the zaxis at 4s≤ t ≤ 6s, note that when using the proposed scheme the performance of the drone is barely degraded.

Figure 5 . 31 -

 531 Figure 5.31 -Scenario 3.-Performance of the quadcopter position subject to a critical rotor fault of 50% in M 1 .

Figure 5 . 32 -

 532 Figure 5.32 -Scenario 3.-Rotors faults estimations Mζ i , i = 1, • • • , 4.

Figure 5 . 33 -

 533 Figure 5.33 -Scenario 3.-Rotors control action's performances, when a critical fault of 50% in M 1 is applied.

Chapter 5 .

 5 Figure 5.34 -Scenario 4.-Position performance of the vehicle when using the linear controller and the proposed architecture, and a critical rotor fault is induced.

Figure 5 . 35 - 148 5. 3 . 1 60% Fault M 1 Figure 5 . 36 -

 535148311536 Figure 5.35 -Scenario 4.-Rotors faults estimations Mζ i , i : 1, • • • , 4.

Figure 5 . 37 -

 537 Figure 5.37 -Control inputs u n and u R of the first scenario.

Figure 5 . 38 -

 538 Figure 5.38 -Control inputs u n and u R of the second scenario.

Figure 5 . 39 -

 539 Figure 5.39 -Control inputs u n and u R of the third scenario.

= 1 ,

 1 σ i = 0 respectively, and considering the control action as u R = [0.80 0.05 0.05 0.05] T , this produce the control actions of motors M = [0.95 0.75 0.75 0.85] T . Nevertheless, if u R = [0.80 0.15 0.05 0.05] T , gives M = [1.05 0.65 0.85 0.95] T .

  δ M + c T δ M (5.17) st . A M δ M ≤ b (5.18)

Figure 5 . 40 -

 540 Figure 5.40 -Block diagram of the control structure. u n and u ζ correspond to the the nominal control action and the control rejection part, respectively, ξ d is the desired reference. ξ, η mean the position and attitude states. u R and u * R represent the proposed controller and the set of its optimal and bounded values, respectively. The quadratic problem block deals with the motors constraints and ζ i represents external disturbances.

Figure 5 .

 5 Figure 5.41 -Set-up of the wind-gust scenario.

  Figure 5.44.

Figure 5 .

 5 Figure 5.42 -Scenario 1.-System performance during flight tests.

Figure 5 . 43 -

 543 Figure 5.43 -Scenario 1.-Performance of the quadrotor position subject to wind-gust.

Figure 5 . 44 -

 544 Figure 5.44 -Scenario 1.-Attitude Performance of the quadrotor system subject to wind-gust.

Figures 5 .

 5 Figures 5.45, 5.46 depict the performance of the disturbance estimator and the motors control input. Notice that these both figures are extremely related. This due to the fact that the disturbance estimator sends the compensation (see Figure5.45) without knowing the motor's constraints (for u R ). This makes the control motors inputs exceed their limits (see Figure5.46 in 18s≤ t ≤ 22s, then in 28s≤ t ≤ 32s and 48s≤ t ≤ 52s ). However, when the vehicle is controlled by u * R , the aforementioned problem does not appear.

Figure 5 . 45 -

 545 Figure 5.45 -Scenario 1.-Attitude disturbance estimations.

Figure 5 . 46 -Chapter 5 .

 5465 Figure 5.46 -Scenario 1.-Performance of the motor control actions.

Figures 5 .

 5 Figures 5.47-5.49 show the performance of the quadcopter, while tracking a desired trajectory subject to LoE in two rotors. The behavior of the vehicle in 3D space is presented in Figure 5.47.Notice from this figure that when the first LoE (40%) in rotor M 0 was injected, the practical stability, when using u R , is compromised perturbing the drone. Moreover, this controller was not capable of assuring the stability of the system and therefore, it was not possible to apply the second LoE in rotor M 1 because the aerial robot crashed. Nevertheless, when using u * , the quadrotor can continue tracking the desired reference and even tough, compensate a second LoE (20%) in rotor M 1 at time t ∼ 44s.

Figure 5 . 47 -

 547 Figure 5.47 -Scenario 2.-3D state performances in flight tests.

Figures 5 .

 5 Figures 5.48, 5.49 introduce the behavior of the disturbance estimation and the motor control inputs. Observe from these figures that when using u * R , the vehicle suffers a small degradation on their performance without exceeding the physical constraints of the motors and even tough, it can overcome the second LoE around t ∼ 44s allowing to continue tracking the desired reference and landing safely.

Figure 5 . 48 -

 548 Figure 5.48 -Scenario 2.-Performance of the attitude disturbance estimation.

Figure 5 . 49 -

 549 Figure 5.49 -Scenario 2.-Behavior of motor control actions.

  1.1 Example of a target tracking problem: a pursuer drone follows an intruder quadrotor while flying in a restricted area. . . . . . . . . . . . . . . . . . . . . . .

2.1 Propeller forces and torques acting on a quadrotor. . . . . . . . . . . . . . . . . . 2.2 Coordinate systems acting in the aerial vehicle where f i denotes the force applied of each motor, F t h symbolizes the total thrust force and θ, φ, ψ are the Euler angles on each axis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 Quadcopter free body diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4 Illustration of the Cross product of two vectors . . . . . . . . . . . . . . . . . . . 3.1 Longitudinal position performance when comparing the four control algorithms.

  . . .

	Glossary 1 Introduction
	ADRC	Active Disturbance Rejection Control
	AGV	Autonomous Ground Vehicle
	CAVE	Cave Automated Virtual Environment
	CoG	Center of Gravity
	CoM	Center of Mass
	DOBC	Disturbance Observer Based Control
	DoF	Degrees of Freedom
	DrEAM Drone Exocentric Advanced Metaphor
	Fl-AIR	Framework libre AIR
	FoV	Field of View
	FTC	Fault Tolerant Control
	GESO	Generalized Extended State Observer
	HSC	Hyperbolic Saturation Controller
	LB	Linear Backstepping
	LoE	Loss of Efficiency
	MAS	Multi-rotor Aerial Systems
	MPC	Model Predictive Control
	NLB	Nonlinear Backstepping
	NS	Nested Saturation
	PI	Proportional Integrator
	PID	Proportional Integral Derivative
	PIO	Proportional-Integral Observer
	PVTOL Planar Vertical Take-off and Landing
	qLPV	quasi-Linear Parameter Varying
	SMC	Sliding Mode Control
	UAV	Unmanned Aerial Vehicle
	UAVs	Unmanned Aerial Systems
	UDE	Uncertainty and Disturbance Observer
	VTOL	Vertical Take-Off and Landing
	WIM	World In Miniature
		xvii xix

In the past decade Unmanned Aerial Vehicles (UAVs) have enjoyed considerable success in many applications such as search and rescue, monitoring, research, exploration, or mapping.

  α1 denoting the second virtual input. Rewriting (3.26) with the previous equation, it follows that

Table 3 .

 3

	Controller Control parameters Sim. Values Exp. Values
		k 1	1	1.31
	LB	k 2 k 3	1.2 0.8	1 0.8
		k 4	0.1	0.1
		k1	0.04	0.04
	NLB	k2 k3	0.035 0.4	0.0025 0.4
		k4	0.1	0.1
		σ a	0.15	0.15
	NS	σ b σ c	0.22 0.1	0.22 0.1
		σ d	0.3	0.3
		σ 11	0.5	0.5
		σ 12	0.1	0.2
		σ 21	0.5	0.5
	HSC	σ 22 k 11	0.35 5	0.4 1
		k 22	0.9	1.3
		k 11	3	0.3
		k 22	0.55	0.6

1 -Parameters values used in the control laws in (3.11), (3.22), (3.36) and (3.48) used in simulation and experimental validation.

  ,(3.26),(3.36) and(3.48) were validated in real time in a quadcopter vehicle evolving as a PVTOL vehicle. For this, front motors ( f L 2 , f R 2 ) and rear motors ( f L 1 , f R 1 ) in the aerial vehicle are considered producing only a force in the front and rear side of the vehicle, as depicted in Figure3.7. A video with the experimental results can be seen at:

https://youtu.be/Fi4uUbQRrgw

Notice from this figure that f 1

Table 3 .

 3 2 -Performance indices of the z-axis

	Controllers/Indices IAE	ISE ITAE ITSE
	LB	2.97 0.48 99.48 17.98
	NLB	2.40 0.30 82.38 12.33
	NS	1.16 0.03 35.63 1.02
	HSC	1.09 0.04 30.04 1.35

Table 3 .

 3 3 -Performance indices of the x-axis

	Controllers/Indices	IAE	ISE	ITAE	ITSE
	LB	60.21 221.56	1453	7132
	NLB	64.53 241.37	1937	7780
	NS	77.96 290.13	2324	10188
	HSC	83.51 308.68 266.76 14752

Table 3 .

 3 4 -Qualitative comparison of the control algorithms. The best result is denoted with 1 and the worst with 4.

		LB NLB NS HSC
	Converge to the reference	1	4	3	2
	Computational effort	1	3	2	3
	Control effort	4	3	1	1
	Design & tuning effort	1	4	2	3
	Real implementation	1	4	2	3

Table 3 .

 3

	6 -Control parameters used in experimental and numerical tests for t = 5s
	Parameter	θ	φ	ψ	x, y	z
	kp	50 100 100	0.8	1.7
	kd	2.5	4	4	0.2	0.7
	α	3	3	3	c = 0.0002 m = 0.432 kg

Finite-time convergence using Sliding Mode Control

Table 4 .

 4

1 -Experimental parameters

Table 4 .

 4

	3 -Data results of MLE, MCT and MYE indexes
	Index Joystick	DrEAM
	MLE	0.389 m	0.104 m
	MCT 6.810 s	5.130 s
	MYE	0.252 rad 0.140 rad

Table 4 .

 4 4 -Results from the one sample t-Test.

	Hypothesis	p-value	H 0
	Mental Demand	0.013	Rejected
	Physical Demand	0.007	Rejected
	Temporal Demand	0.269	Not Rejected
	Performance	0.003	Rejected
	Effort	0.022	Rejected
	Frustration	0.140	Not Rejected

Table 5 .

 5

	1 -Gain parameters used in the experimental tests
	Controller φ/θ ψ	x, y	z
	K (1)	0.8 0.6 0.17 0.3
	K (2)	0.1 0.2 0.13 0.1
	b	140 44	10	5
	T	0.1 0.5 0.5 0.3

Table 5

 5 .1. A video of the experimental results can be seen in https://youtu.be/OHoGpP7s12w. The proposed architecture is validated using the following priorities • Assuring the attitude stabilization at hover of the aerial vehicle, i.e., η → η d , where η = [θ φ ψ] T , η d defines the desired attitude and ψ, θ and φ are the yaw, pitch and roll angles, respectively.For simulations and experimental flight tests and for solving the practical stability of the vehicle, two flying modes are considered in rotors failures. The first one is called safe mode -S M or non critical case. Here, the proposed robust architecture can attenuate internal/external disturbances such as: wind, uncertainties into the model, etc, in such a way that, the practical stability of the quadrotor can be guaranteed. The non critical case is considered when rotors faults are less than a desired threshold m .

• Once the attitude performance is recovered, then ξ → ξ d , where ξ(t ) = [x, y, z] T , ξ d denotes the desired position.

Robust control scheme based on disturbance estimator

  3. The practical stability is recovered trying to reach the desired altitude, z d . If z d is not reached quickly the safe landing is activated.

	4
	2
	0
	-2
	0	2	4	6	8	10	12	14	16	18
	0
	-0.5
	-1
	0	2	4	6	8	10	12	14	16	18
	1.8
	1.6
	0	2	4	6	8	10	12	14	16	18
	4. The drone lands in a safe mode.
	For simulations and flight tests, the following assumptions are taken into account:
	Assumption 6. Physical constraints of the rotors, as damage in the propeller, are also considered
	as Loss of Effectiveness.

Assumption 7. Motors are constrained with a maximum value of revolutions per minute (RPM) for physical safety reasons. Chapter 5. 2 Figure 5.17 -Scenario 1.-Performance of the quadrotor subject to a LoE of 30% in M 1 .

5.3. Enhancing robust control architecture for LoE in rotors

	1
	0.8					30% Fault M 1
	0.6					0.8
	0.4					0.6
	0.2					6 0.4			6.5		7	7.5
	0 0	2	4	6	8	10		12		14	16	18
	1
	0.8					30% Fault M 1
	0.6
						0.8
	0.4					0.6
	0.2					0.4
	0 0	2	4	6	8	10	6	12	6.5	14	16 7	18 7.5

  • • , 4.

	1.2
	1
	0.8
	0.6
				0.8
	0.4			0.7
	0.2	30% fault M 1	0.6
	0				8	10	12	14
	0	2	4	6	8	10	12	14	16
	1.2
	1
	0.8
	0.6
	0.4			0.6
	0.2	30% fault M 1		0.55
	0				8	10	12	14
	0	2	4	6	8	10	12	14	16

Table 5 .

 5 2 -Performance indices of the three scenarios.

			Scenario 1	Scenario 2	Scenario 3
			IAE	RMSE IAE RMSE IAE RMSE
	z	u q ū	3.34 0.39	0.19 0.04	i n f 1.52	i n f 0.41	i n f 1.8	i n f 0.35
	x	u q 13.02 ū 5.29	1.18 1.02	i n f 5.55	i n f 0.46	i n f 2.17	i n f 0.24
	y	u q ū	6.01 0.35	0.38 0.04	i n f 1.49	i n f 0.22	i n f 0.98	i n f 0.09

Robust control scheme based on disturbance estimator

Table 5 .

 5 3 -Total Variation (TV) of the control inputs.

					Scenario 1
		u 2	u 3	u 4	u 1	M 1	M 2	M 3	M 4
	u q	26.80	39.43	95.11	4.72	64.68	116.12	54.06	89.43
	ū	46.62	65.33	112.80	6.52	76.10	150.75	58.20	117.04
					Scenario 2
		u 2	u 3	u 4	u 1	M 1	M 2	M 3	M 4
	u q	i n f (17.35)	i n f (29.13)	i n f (32.59)	i n f (4.70)	i n f (26.36)	i n f (29.28)	i n f (34.76)	i n f (29.47)
	ū	30.03 (21.54)	68.45 (32.14)	89.03 (40.61)	10.33 (6.07)	58.05 (31.39)	76.19 (37.62)	69.95 (36.02)	114.97 (40.80)
					Scenario 3
		u 2	u 3	u 4	u 1	M 1	M 2	M 3	M 4
	u q	i n f (10.42)	i n f (11.78)	i n f (17.54)	i n f (1.12)	i n f (9.67)	i n f (20.91)	i n f (16.73)	i n f (15.56)
	ū	26.31 (12.31)	32.52 (14.90)	38.88 (18.68)	4.45 (1.98)	24.22 (12.75)	53.78 (27.51)	34.06 (20.09)	37.66 (18.64)

Ensuite, en améliorant l'architecture discutée précédemment, un nouveau schéma de contrôle robuste et tolérant aux pannes a été obtenu. Le schéma dispose en outre d'un observateur de défauts de rotors pour détecter et estimer la perte d'efficacité des actionneurs. Le contrôleur robuste peut estimer et contrecarrer les défauts des rotors en position non stationnaire et en position stationnaire.Enfin, une architecture de contrôle robuste bornée a été développée à partir de l'observateur de perturbations et des propriétés de contrôle optimales. En plus de l'estimation et la compensation de dynamiques inconnues, ce schéma améliore sa robustesse en résolvant les contraintes physiques des moteurs. L'architecture a été prouvée expérimentalement avec plusieurs rafales de vent et une perte d'efficacité dans deux rotors. vi

See[START_REF] Khalil | Nonlinear systems[END_REF], Theorem 3.1 and page 446

Acknowledgements

Acknowledgements I would like to thank Sabine Vidal, Brigitte Azzimonti and Nathalie Alexandre from the administrative service of the laboratory and Sylvie Carlier from the administrative service of the Ècole Doctorale Sciences pour l'Ingenieur at the Université Technologie de Compiègne (UTC), for taking care of the administrative aspects of my PhD.

Scientific activities

1. C. de Souza Jr, J. Betancourt-Vera, P. Castillo, R. Lozano, Trajectory and Estimation for low cost drones in outdoor environment, Journeée Reégionale des Doctorants en Automatique, July 3, 2018, Amiens, France. Poster. 2. Journée Nationales sur ROS, Toulouse, 2018 3. Fête de la science, UTC, Compiègne, 2017, 2018. Preparing for submission 1. J. Betancourt-Vera, P. Castillo, V. Balaguer, P. García and R. Lozano, Bounded control algorithms for quadcopter vehicles: Theoretical and practical overview in disturbance rejection. 2. J. Betancourt-Vera, P. Castillo, E. Ibarra Jimenez, R. Lozano, Autonomous catching ball using a quadcopter vehicle: an integral sliding mode approach

In Figure 5.5 the disturbance estimation is depicted related to the system performance. Notice that when the observer is activated the disturbance is compensated and then the system behavior is barely affected. Nevertheless that, from t ≥ 45s and t ≤ 75s the observer is not activated and the real values of the disturbances appear as it can be seen in this figure. It is worth mentioning that, the observer is used in open-loop in order to continue estimating the disturbances. Assumption 8. For the practical validation and keeping the integrity of the prototypes, it is assumed that only individual partial faults in the actuators are presented in the system, i.e., not simultaneous rotors fault are considered in this work.

Numerical results

Two rotors fault scenarios are introduced for numerical validation. The first one consists in apply a LoE in motor M 1 into the aerial robot while it is performing a non hover position. For the second one, a critical rotor failure in M 1 is injected when the vehicle is at hover position and the emergency landing is required.

Rotor fault in a non hover position

The goal of this scenario is to show the performance of the quadrotor, when a rotor fault of 30% in motor M 1 is applied while performing a non hover position. The initial and desired conditions, for this scenario, are the following:

In Figure 5.16 the performance of the vehicle in 3D space when performing the desired task is addressed. Notice that when using the proposed architecture and the fault is injected, the whole system overcomes it and converges to the desired final point (solid line). In other case, when using only u n , the performance of the vehicle is degraded (dotted line). In other case, the performance of the vehicle is degraded, as can be verified in Figure 5.17. Notice from this figure, when the fault is injected at t = 6.5s, the y and z axes are slightly more compromised. Nevertheless, when using the proposed approach, at t = 7s the quadrotor is recovered and thus, it can converge to the desired trajectory.