USV unmanned surface vessel ASV autonomous surface vehicle IMO international maritime organization DOF degrees of freedom GNC guidance, navigation and control GPS global positioning system IMU inertial measurement unit NMPC nonlinear model predictive control MPC model predictive control SMC sliding mode controller CG center of gravity RL reinforcement learning PE persistent exciting MHPC model heuristic predictive control DMC dynamic matrix control GPC generalized predictive control OPC optimal control problem LMPC linear model predictive control TA thruster allocation COLREGS International Regulations for Preventing Collisions at Sea MHE moving horizon estimation iii Abbreviations iv EKF extended Kalman filter HIL hardware-in-a-loop NMHE nonlinear moving horizon estimation RMSE root mean square error CLF control Lyapunov function SISO single-input single-output UKF unscented Kalman filter

Résumé

Au cours des dernières décennies, l'intérêt pour le domaine maritime a augmenté en raison de l'exploration et de l'obtention de nouvelles solutions pour réaliser certaines opérations. Parmi ces solutions, les véhicules autonomes de surface (VAS) représentent une alternative prometteuse pour automatiser de manière efficace et en toute sécurité le transport maritime de colis, l'exploration des zones les plus difficiles à atteindre et le transport urbain. Les VAS peuvent être utilisés sans équipage à bord, puisqu'ils sont entièrement gérés à l'aide d'un système intégré au véhicule qui fournit la trajectoire de navigation et assure le pilotage des actionneurs du véhicule pour suivre cette trajectoire.

Les travaux réalisés dans cette thèse se situent dans le domaine du contrôle de mouvement pour les VAS. Deux techniques différentes par retour de sortie sont proposées pour résoudre le problème de suivi automatique de trajectoire, où le bateau doit atteindre et suivre une trajectoire variant dans le temps. Ce problème a été traité pour un bateau entièrement actionné, et dont le modèle dynamique dépend de paramètres hydrodynamiques et du système de propulsion tous deux inconnus et qui ont été identifiés en utilisant une procédure d'identification basée sur des données de manoeuvre expérimentales.

Le modèle dynamique du bateau obtenu précédemment a ensuite été utilisé pour le développement des lois de commande. La première loi de commande a été conçue en utilisant une technique de type backstepping et une preuve de stabilité exponentielle locale a été obenue. La deuxième loi de commande utilise une approche de type commande prédictive nonlinéaire (CPNL). L'objectif de commande consiste alors à minimiser une fonction coût en tenant compte des contraintes sur les actionneurs. Dans les deux cas, le vi Résumé vii problème d'allocation des actionneurs a été abordé et traité et les effets des perturbations liées au vent, au courant maritime, etc ont été compensés. L'efficacité des approches présentées dans cette thèse ont été vérifiées en simulation, en utilisant Matlab/Simulink et GRAMPC, ainsi que lors de tests expérimentaux réalisés sur un bateau à échelle réelle dans le cadre de manoeuvres de docking sur le Rhin à Constance (Allemagne).

List of Figures

List of Tables

3. [START_REF] Abdelaal | NMPC-based trajectory tracking and collision avoidance of unmanned surface vessels with rule-based colregs confinement[END_REF] The SNAME notations for marine vessels. [START_REF] Fossen | Handbook of Marine Craft Hydrodynamics and Motion Control[END_REF] . . . . . . . . . . . . . . . .

Chapter 1 Introduction (french version)

Au cours des dernières décennies, le monde a subi une transformation importante passant de l'ère industrielle à l'ère numérique, où la communication, la connexion, et la technologie de l'information sont devenues la base de la société moderne. Ces nouveaux standards ont provoqué des changements fondamentaux non seulement dans les processus de production industrielle et le marché de la consommation, mais aussi dans l'environnement, le climat et dans la régulation de la défense côtière. Toutes ces transformations ont augmenté la demande à l'égard des secteurs scientifiques, commerciaux et militaires afin de développer des solutions innovantes dans différents domaines. L'un d'entre eux concerne les opérations maritimes telles que la surveillance des conditions océaniques, les vigilances aux frontières maritimes, les opérations de recherche et de sauvetage [START_REF] Liu | Unmanned surface vehicles: an overview of developments and challenges[END_REF] et la croissance des demandes commerciales maritimes, dont le volume total à dépassé les 10 milliards de tonnes pour l'ensemble des cargaisons depuis 2015 [START_REF]Review of maritime transport[END_REF].

L'une des solutions les plus appropriées pour effectuer les tâches maritimes sont les navires de surface sans équipage (NSSE), également connus comme véhicules de surface autonomes (VSA), car ils peuvent fonctionner de manière autonome à l'aide d'une intelligence embarquée permettant de guider la navigation et de piloter les actionneurs du système de propulsion du navire. Par conséquent, le NSSE peut automatiser la navigation de manière efficace et fiable, ainsi que permettre l'exploration de zones difficiles que

Introduction (french version)

2 les navires avec équipage à bord ne sont pas capables d'atteindre. La recherche et le développement des NSSE se sont développés dans le monde entier, de nombreux pays tels que la Norvège, la Finlande, la Chine, l'Allemagne, les États-Unis et le Royaume-Uni ont notamment une contribution significative dans ce domaine. Une réussite importante qui peut être soulignée est le bateau de recherche autonome Mayflower, qui a été développé au Royaume-Uni et a traversé avec succès l'Atlantique, au printemps 2022, pour arriver en Virginie puis à Washington aux États-Unis. Un autre exemple remarquable est le cargo autonome Yara Birkeland développé en Norvège, qui a été lancé en 2021 pour son premier voyage dans le fjord d'Oslo [82]. Certaines entreprises ont également investi dans ce domaine, telles que Rolls-Royce, Kongsberg et Samsung, avec l'ambition de devenir le leader de l'industrie du transport maritime autonome. [START_REF] Rolls-Royce | Rolls-Royce autonomous ships[END_REF] Toutes ces réussites dans l'avancée du NSSE ont été possibles grâce à des différents domaines de recherche, le domaine du contrôle du mouvement des navires contribuant largement à cette croissance car il a un rôle important en termes d'autonomie. L'objectif principal consiste à développer des algorithmes de commande pour résoudre un problème de mouvement spécifique. Les lois de commande synthétisées calculent les valeurs des commandes à appliquer aux actionneurs du navire, lui permettant ainsi d'effectuer des manoeuvres précises et sûres. Les problèmes de mouvement les plus courants sont le suivi de trajectoire (path-following) et le tracking de trajectoire. Dans le premier cas, l'algorithme de commande garantit que le bateau suit une trajectoire de référence qui n'est pas temporellement paramétrée, tandis que dans le second cas, l'algorithme de commande doit s'assurer que les forces et les moments demandés aux actionneurs permettront au navire de suivre à chaque instant une trajectoire de référence variant dans le temps et paramétrée temporellement.

Dans ce contexte, la principale motivation de ce travail est de développer des algorithme de commmade afin de résoudre le problème de tracking de trajectoire et d'évaluer ses performances non seulement en simulation mais aussi lors de scénari expérimentaux sur le Rhin à Constance (Allemagne) avec un NSSE à échelle réelle de l'Université des • Navires télécommandés avec équipage à bord : le navire est généralement contrôlé par une station au sol relativement éloignée du navire. En cas de problème de communication ou de problème avec le navire, l'équipage à bord peut en prendre le contrôle pendant la mission jusqu'à ce que le problème soit résolu.

• Navire télécommandé sans équipage à bord : le navire est généralement commandé par une station au sol. Il présente un système de communication et de commande robuste qui lui permet d'exécuter des tâches sans avoir besoin d'avoir un équipage à bord.

• Navire entièrement autonome : les systèmes de guidage, de navigation et de commande sont chargés de prendre des décisions et de prendre des mesures pour contrôler le navire et exécuter avec succès l'opération demandée sans aucun soutien d'une station au sol ou d'un équipage à bord. Cependant, même si le navire est entièrement autonome, l'organisation maritime internationale (OMI) [START_REF]IMO. International maritime organization[END_REF] exige toujours un équipage à bord.

De la même manière que les degrés d'autonomie du NSSE peuvent varier en fonction de leurs applications, la conception, les matériaux et les fonctionnalités peuvent également changer. Néanmoins, tous les NSSE sont composés des éléments essentiels décrits cidessous :

• Structure du navire : dans l'industrie navale, il existe une variété de formes de coque, qui peuvent avoir un impact direct sur le domaine d'utilisation du NSSE.

Les navires à simple coque étaient largement utilisés au début de l'industrie navale.

Puis, avec les progrès de la technologie, les catamarans (doubles coques) et les trimarans (triples coques) ont été développés offrant plus de stabilité structurelle et réduisant le risque de retournement dans des eaux agitées. Outre la forme du bateau, le matériau constituant la coque peut différer d'un navire à l'autre (aluminium, matériaux composites, etc.).

• Système de propulsion : le contrôle du mouvement du navire dépend du système de propulsion pour générer un ensemble de forces approprié afin de déplacer le navire. • Système de guidage : il est basé sur un algorithme qui calcule la meilleure trajectoire de référence que le système de contrôle doit "traquer" ou suivre, en tenant compte de l'objectif de la mission, des données du système de contrôle (valeurs de commande envoyées aux actionneurs) et des données disponibles du système de navigation, telles que la position et la vitesse actuelles du navire, les conditions météorologiques (vitesse et direction du vent, courant, mouvement des vagues). Dès que le système de guidage a déterminé la trajectoire de référence ou la prochaine position souhaitée, celle-ci est transmise au système de contrôle.

• Système de navigation : il est chargé de fournir aux sous-systèmes de contrôle et de guidage toutes les informations nécessaires sur l'état du navire, telles que la position, l'angle de cap, les vitesses, les accélérations et les conditions environnementales externes comme mentionné précédemment. Afin de fournir ces données, deux options sont possibles. La première consiste à les collecter en traitant les informations de tous les capteurs disponibles du NSSE. La deuxième option consiste à estimer conjointement les états et les perturbations en développant un observateur d'état à partir d'un nombre réduit de capteurs.

• Système de contrôle : il fournit les forces et les moments appropriés, qui seront appliqués aux actionneurs du navire pour atteindre l'objectif fixé par le système de guidage tout en compensant les perturbations environnementales. Par conséquent, le système de contrôle doit recevoir des informations du système de guidage afin de connaître la trajectoire de référence qui doit être "traquée" ou suivie. Il a également besoin des données du système de navigation afin de déterminer les valeurs des commandes des actionneurs en fonction de l'état actuel du navire et des conditions extérieures qui pourraient éloigner le navire de sa trajectoire de référence.

Contributions Principales

Ce travail de thèse présente le développement de deux algorithmes de commande non linéaire basés respectivement sur la technique du backstepping et la commande prédictive non linéaire (CPNL) avec pour objectif de commande de résoudre le problème de tracking de trajectoire pour les manoeuvres lentes comme le docking. Un processus d'identification des paramètres inconnus du navire de surface entièrement actionné et illustré sur la Figure • l'évaluation des performances et de la robustesse des lois de commande en simulation en analysant les différents impacts de la variation des paramètres de synthèse, du resserrement des contraintes, de la compensation des perturbations et des incertitudes sur le modèle dynamique du navire. Les deux lois de commande ont été implémentées en temps réel avec succès et leurs performances ont été évaluées sur Solgenia sur une manoeuvre de docking. Il s'agit d'une contribution importante au regard de la faible quantité de résultats expérimentaux disponibles dans littérature. Enfin, les résultats obtenus en simulation et lors des essais temps-réel ont été comparés.

Chapter 2 Introduction

In recent decades, the world has been pushed to transition from an industrial to a digital era, where communication, connection, and information technology have become the base of modern society. These new standards have caused fundamental changes not only in the industrial production process and the consumer market but also in the natural environment and in coastal defense regulation. All these transformations have increased the demand from scientific, commercial, and military sectors to develop innovative solutions for different expertise, one of them being marine operations such as monitoring oceanic conditions, patrolling border lines, search and rescue operations [START_REF] Liu | Unmanned surface vehicles: an overview of developments and challenges[END_REF] and the increase of seaborne trade demand, whose total volume has surpassed 10 billion tons of all cargos since 2015 [START_REF]Review of maritime transport[END_REF].

One of the most suitable solutions to perform such marine tasks are the unmanned surface vessels (USV), which can be classified as autonomous surface vehicles (ASV), as they can autonomously operate using an algorithmic system to guide the navigation and to control the vessel's propulsion engines. Hence, USV can automate shipping in an efficient and reliable way, as well as allow for the exploration of harsh areas where manned vessels are not capable to reach. The research and development of USV have grown worldwide, many countries such as Norway, Finland, China, Germany, the United States, and the United Kingdom have a significant contribution in this area. An important achievement Introduction 12 that can be highlighted is the Mayflower autonomous research ship, which was developed in the United Kingdom and successfully crossed the Atlantic, in the spring of 2022, to arrive in Virginia and then in Washington in the United States. Another outstanding example is the autonomous cargo ship Yara Birkeland developed in Norway, which was launched in 2021 for its first voyage in the Oslo fjord [82]. Some companies have also been investing in USV such as Rolls-Royce, Kongsberg, and Samsung to become the leader in the autonomous shipping industry in the future. [START_REF] Rolls-Royce | Rolls-Royce autonomous ships[END_REF] All these achievements in the advance of USV were possible thanks to different fields of research, with the vessel motion control field largely contributing to this growth, since it has an important role in terms of autonomy. Hence, the main goal of this area is to develop a control algorithm to solve a specific motion problem, and as a result, it provides control laws that calculate the values for the vessel's actuators, allowing it to perform accurate and safe maneuvers. The most common motion problems are path following and trajectory tracking. In the first case, the control algorithm guarantees that the position error w.r.t. the reference tends to zero without considering time, while in the second case, the control algorithm needs to ensure that the forces and moment calculated will make the vessel reach and follow a time-varying reference trajectory. Within this context, the main motivation of this work is to develop a control algorithm to solve the trajectory tracking problem and to assess its performance not only in simulation but also in experimental scenarios at the Rhine river in Constance (Germany) with a fully-actuated real-scaled USV from the University of Applied Sciences Constance called Solgenia illustrated in Figure 2.1. The end of this introduction is composed of three different parts. The first one is devoted to an overview of autonomous vessels and their main structural components in Section 2.1. After that, the main contributions of this thesis are given in Section 2.2 and, finally, the structure of the report is outlined in Section 2.3.

Autonomous vessels

A USV can have different degrees of autonomy, which is chosen according to the task that needs to be performed. Classification of degrees of autonomy was proposed by the international maritime organization (IMO) [START_REF]IMO. International maritime organization[END_REF] to regulate USV operations regarding safety and security. The four degrees of autonomy are described below:

• Vessels with automated processes and decision support: in this case, the vessel is mainly operated and controlled by the crew onboard. Some minor tasks and decisions are automated to assist them, and, therefore, they can focus on the most relevant maneuvers and operations.

• Remotely controlled vessels with crew onboard: the vessel is usually controlled by a ground station relatively far from the vessel. Therefore, in case of a communication problem or an issue with the vessel, the crew onboard can take control of it until the problem is solved during the mission.

• Remotely controlled vessel without crew on board: the vessel is usually controlled by a ground station. It presents a robust communication and control system which allows it to execute tasks with no need to have a crew on board.

• Fully autonomous vessel: the guidance, navigation, and control systems are responsible for making decisions and taking actions to control the vessel and successfully execute the operation demanded without any support of a ground station or an onboard crew. However, even if the vessel is fully autonomous, the international maritime organization (IMO) [START_REF]IMO. International maritime organization[END_REF] still requires a crew onboard.

In the same way that USV's degrees of autonomy can vary according to their applications, the design, material, and features can change as well. Nevertheless, all USVs are composed of essential components described below:

• Vessel structure: In the ship industry there is a variety of hull forms, which can impact directly the USV's application. Single-hull vessels were widely used at the beginning of the ship industry. Then, with the advances in technology, catamarans (twin hulls) and trimarans (triple hulls) were developed providing more structural stability and reducing the risk of turning over in agitated waters. Besides its form, the hull can differ on the material used, for example, aluminum, composite materials, etc.

• Propulsion system: Vessel motion control depends on the propulsion system to generate a suitable set of forces in order to move the vessel. The most common configuration for this system is composed of a propeller and rudder, but there are also other types of propulsion, for example, hydraulic jet propulsion, full electric propulsion, etc. Furthermore, USV can be classified according to the vessel's degrees of freedom (DOF) and the directions of the independent forces produced by the propulsion system. Underactuated vessels have an actuators' configuration that produces a number of independent forces lower than the number of DOF used to represent the vessel motion for a task. On the other hand, fully-actuated vessels are equipped with a propulsion system capable of generating independent forces into all used DOF. Besides, for over-actuated vessels, the number of directions of these forces is greater than the DOF of the vessel.

• GNC System: (Guidance, Navigation and Control) system corresponds to the brain of the USV since it is responsible for making decisions and controlling the actions of the vessel according to the given mission. This system will be explored in more details later in this chapter.

• Communication system: This system concerns the onboard communication between the GNC system and all the sensors (accelerometer, gyroscope, etc.), actuators (propulsion engines) and other equipment. Besides, if there is a ground station, a wireless communication with it is considered as well.

• Data collection equipment: Besides the aforementioned components, depending on the application, the USV is also equipped with a Global Positioning System (GPS), Inertial measurement units (IMU), radars, sonar, cameras, thermometers, etc.

As mentioned before, the GNC system is responsible for guaranteeing the autonomy of USV and it is formed by three subsystems known as guidance, navigation, and control illustrated in Figure 2.2. These subsystems exchange information and work with each other to execute the desired motion despite possible environmental forces, which are considered as disturbances for the control subsystem [START_REF] Kurowski | Guidance, navigation and control of unmanned surface vehicles[END_REF].

• Guidance system: it is based on an algorithm that calculates the best reference trajectory for the control system to follow or track, taking into account the goal of the mission, the data from the control system (control values sent to the actuators), and the data available from the navigation system, such as the vessel's current position and velocity, weather conditions (velocity and direction of the wind, current, wave motion). Once the guidance system has computed the reference trajectory or the next desired position, it will transmit it to the control system. • Navigation system: it is responsible for providing to the control and the guidance subsystems all necessary information about the vessel's state, such as position, heading angle, velocities, accelerations, and the external environmental conditions as previously mentioned. In order to provide these values, two options are possible.

The first one is to collect all these data by processing the information from all USV's available sensors, which were described in the data collection equipment. The second option would be to estimate not only the states but also the disturbances by developing a state estimator.

• Control system: it provides the suitable forces and moments, which will be applied to the vessel's actuators to achieve the goal set by the guidance system while it counteracts environmental disturbances. Therefore, the control system needs to receive information from the guidance system to have the reference that needs to be followed or tracked. And it also needs the data from the navigation system to be able to calculate the control values according to the vessel's current state and external conditions that could take the vessel away from its reference.

Main Contributions

This thesis work presents the development of two nonlinear control algorithms based on the backstepping technique and the nonlinear model predictive control (NMPC) with the main goal of solving the trajectory tracking problem for slow maneuvers such as docking. In addition, an identification process for the unknown parameters of the realscaled fully-actuated surface vessel Solgenia, illustrated in Figure 2.1, was carried out to obtain beforehand a reliable vessel model, which was used for the controller's design.

Furthermore, the controller's performance was assessed not only in simulation but also in real-time tests using Solgenia. The main contributions of this work are:

• Obtain an accurate dynamic model for the fully-actuated vessel from Figure 2.1 through the identification not only of the unknown hydrodynamic parameters, but also the unknown parameters from the propulsion system that is considered as part of the dynamic model. This identification process is based on solving an optimization problem using experimental data and then performing a quality analysis to achieve a non-overparametrized model.

• Develop solutions for the trajectory tracking problem by designing nonlinear control laws through two different approaches: the backstepping technique and the nonlinear model predictive control (NMPC). Both of these controllers have taken into account the thruster allocation problem and disturbances, such as wind, current, and unmodeled effects. Furthermore, a multivariable integral action was added to the vessel's dynamic model to increase the accuracy of the controllers' performance.

Besides that, the NMPC has also considered the thrusters' constraints for the minimization of the difference between the time-varying reference trajectory and the current state values over a finite prediction horizon in a receding-horizon sense.

• Evaluate the controllers' performance and robustness in simulation by analyzing the different impacts of the design parameters variation, constraints tightening, the

Outline

The following chapters are organized as follows:

Chapter 2 presents the definition of the vessel's motion variables followed by a review of the recent outcomes in the vessel motion control field for USV with emphasis on solving the trajectory tracking problem. After that, a more detailed review of backstepping and model predictive control (MPC) is presented.

Chapter 3 provides the physical equations of the dynamic model of a surface vessel, as well as, the assumptions and simplifications used to obtain a model suitable to be employed in the controller. As the thruster allocation problem is considered, an overview of the propulsion system is also given. Furthermore, details about the identification process and its outcomes are presented.

Chapter 4 details the design of the backstepping controller and nonlinear model predictive control to solve the trajectory tracking problem considering an extended control model, where a multivariable integral action was included, besides the disturbances, and the thrusters' constraints for the NMPC. Furthermore, the evaluation of these controllers in simulation is also presented in this chapter.

Chapter 5 provides the experimental results of the tracking problem using the backstepping controller and the NMPC controller, whose performance is evaluated by comparing practical results of docking maneuvers performed by Solgenia at the Rhine river in Constance (Germany).

Chapter 6 presents the conclusion of this thesis and the remaining open questions, and the perspectives for future work.

Chapter 3

State of the art

The research on vessel motion control has increased in the last decades to develop solutions for motion problems such as dynamic positioning [START_REF] Alfheim | Development of a dynamic positioning system for the ReVolt model ship[END_REF][START_REF] Pettersen | Underactuated dynamic positioning of a shipexperimental results[END_REF][START_REF] Sørensen | A survey of dynamic positioning control systems[END_REF][START_REF] Tomera | Control of dynamic positioning system with disturbance observer for autonomous marine surface vessels[END_REF], path following [START_REF] Belleter | Path following for underactuated marine vessels[END_REF][START_REF] Fan | Robust adaptive path following control of an unmanned surface vessel subject to input saturation and uncertainties[END_REF][START_REF] Li | Design, analysis and experimental validation of a robust nonlinear path following controller for marine surface vessels[END_REF][START_REF] Moreira | Path following control system for a tanker ship model[END_REF], and trajectory tracking, the latter being the main focus of this state of the art review. In this chapter, the nomenclature of the vessel's motion variables according to SNAME [83] is given in Section 3.1. Then, a general state-of-the-art review of USV's motion control for trajectory tracking is given in Section 3.2. A brief introduction to backstepping is given in Section 3.3, followed by the state of the art of trajectory tracking for USV applying backstepping control. In Section 3.4, a brief history of MPC is provided, as well as a review of the MPC's stability and, the state of the art for USV's motion control using MPC is presented.

Definition of USV's motion variables

Vessels experience motion in 6 degrees of freedom as illustrated in Figure 3.1, i.e. six independent motion variables are needed to represent the position and orientation of the vessel. The position and the motion in the horizontal plane are expressed by three coordinates considered here as variables: surge (longitudinal motion along the x-axis), sway (sideways motion along the y-axis) and yaw (rotation about the z-axis). The remaining State of the art 22 variables correspond to the orientation and the rotational motion: roll (rotation about the x-axis), pitch (rotation about the y-axis) and heave (vertical motion about the z-axis) [START_REF] Fossen | Handbook of Marine Craft Hydrodynamics and Motion Control[END_REF].

The names for the motion variables and the notation used to represent these variables are summarized in Table 3.1. Table 3.1: The SNAME notations for marine vessels. [START_REF] Fossen | Handbook of Marine Craft Hydrodynamics and Motion Control[END_REF] 3.2 Literature review of motion control for USV Many studies have proposed several designs for the controller to achieve autonomous trajectory tracking for USV. In [START_REF] Cheng | Design of a sliding mode controller for trajectory Bibliography 135 tracking problem of marine vessels[END_REF], a sliding mode controller (SMC) is developed for a 3-DOF fully-actuated surface vessel to track the position and heading angle, having its performance evaluated only in simulation. On the other hand, in [START_REF] Ashrafiuon | Sliding mode tracking control of surface vessels[END_REF], the same technique was implemented to develop a controller using two sliding surfaces to track not only the position but also the surge and sway velocities for an underactuated vessel. This controller was tested in an indoor pool using a small vessel, where the position and orientation were measured based on the images captured by a camera, then the control values were calculated at the ground station and sent back to the vessel via wireless communication.

In [START_REF] Fahimi | Alternative trajectory-tracking control approach for marine surface vessels with experimental verification[END_REF], the trajectory tracking problem is addressed as well for an underactuated vessel using a control point different from the center of gravity (CG). Besides, a sliding mode control law was developed to track the vessel's position and orientation, being robust to uncertainties and disturbances. Outdoor tests were carried out using a small trimaran vessel successfully tracking an eight-shaped trajectory, which was designed to avoid possible actuator saturation since their constraints were not considered in the controller's development.

Adaptive controllers were widely implemented to achieve robustness to uncertainties of the vessel's dynamic model. In [START_REF] Liu | Trajectory tracking of underactuated surface vessels based on neural network and hierarchical sliding mode[END_REF], an adaptive controller is proposed for an underactuated surface vessel, where a neural network was used to approximate some characteristics of the vessel's dynamic model. Besides, a hierarchical sliding mode control was implemented with a two-first-level sliding surface for calculating the yaw moment and a common SMC for calculating the surge force. In [START_REF] Wen | Adaptive tracking control of surface vessel using optimized backstepping technique[END_REF], the tracking problem was solved using an adaptive controller based on an optimized backstepping, where a reinforcement learning (RL) algorithm in an actor-critic structure was executed at every backstepping step, guaranteeing that the virtual controls, as well as the actual controls, were all optimized solutions of their correspondent subsystems.

Besides the aforementioned control techniques, other methods were also considered, as in [START_REF] Cabecinhas | Trajectory tracking control of a nonlinear autonomous surface vessel[END_REF], where a tracking control scheme was derived from a double integrator system for an underactuated USV. Instead of considering the CG as the output point of the system, another point on the body-fixed frame was chosen in a way that the obtained nonlinear controller was more straightforward than the traditional backstepping approach.

Then, experimental tests using a small vessel were conducted to assess the controller's performance. In [START_REF] Serrano | Trajectory tracking of underactuated surface vessels: a linear algebra approach[END_REF], the underactuated vessel's dynamic model was reformulated as a system of linear equations and the control values were obtained by finding the exact solution for these equations, considering the reference as the next state values. This controller was analyzed in simulation with and without external disturbances.

Although all the aforementioned researches have contributed with many important outcomes to solve the trajectory tracking problem for USV, their major drawback is the fact that neither input nor state constraints were explicitly taken into account in the controller's design, which could cause faulty control performance and deterioration or damages on the USV's propellers in experimental scenarios.

Literature review of Backstepping control

Introduction

Backstepping is a well-established technique in the control field, which main idea is to recursively step back within the original system and derive subsystems with a stabilizing feedback systematically associated with a control Lyapunov function until the actual control inputs are reached and the control law that will guarantees stability for the original system is finally constructed [START_REF] Krstic | Nonlinear and adaptive control design[END_REF].

The first concept of integral backstepping appeared implicitly as a design tool in [START_REF] Byrnes | Output regulation for nonlinear systems: an overview[END_REF][START_REF] Sontag | Further comments on the stabilizability of the angular velocity of a rigid body[END_REF]. Later in [START_REF] Kanellakopoulos | A toolkit for nonlinear feedback design[END_REF], it has started to be used as a recursive design technique in order to overcome the limitations presented in the feedback linearization, allowing the exploration of the system's nonlinearities [START_REF] Fossen | Tutorial on nonlinear backstepping: applications to ship control[END_REF]. Furthermore, the backstepping technique has been largely employed in the adaptive control field, being called adaptive backstepping, and it is a powerful method to achieve stability for classes of nonlinear systems with uncertainties [START_REF] Kokotović | Constructive nonlinear control: a historical perspective[END_REF]. Finally, the so-called robust backstepping achieves stability in the presence of disturbances and is often combined with the adaptive method [START_REF] Ahn | Adaptive backstepping control of an electrohydraulic actuator[END_REF][START_REF] Zhou | Adaptive backstepping control of a class of uncertain nonlinear systems with unknown backlash-like hysteresis[END_REF].

Backstepping control for USV

The backstepping controller became an important control technique for USV due to its flexibility in considering the nonlinearities of the vessel's model. Hence, this method has been applied in different motion problems such as dynamic positioning [START_REF] Du | A robust adaptive neural networks controller for maritime dynamic positioning system[END_REF][START_REF] Fossen | Tutorial on nonlinear backstepping: applications to ship control[END_REF][START_REF] Tomera | Control of dynamic positioning system with disturbance observer for autonomous marine surface vessels[END_REF][START_REF] Witkowska | Adaptive dynamic control allocation for dynamic positioning of marine vessel based on backstepping method and sequential quadratic programming[END_REF],

path following [START_REF] Li | Design, analysis and experimental validation of a robust nonlinear path following controller for marine surface vessels[END_REF][START_REF] Liao | Backstepping dynamical sliding mode control method for the path following of the underactuated surface vessel[END_REF][START_REF] Zheng | Path following of a surface vessel with prescribed performance in the presence of input saturation and external disturbances[END_REF][START_REF] Zheng | Path following control for marine surface vessel with uncertainties and input saturation[END_REF] and trajectory tracking. The first implementation of a backstepping controller for solving the tracking problem of an underactuated surface vessel was done in [START_REF] Godhavn | Nonlinear tracking of underactuated surface vessels[END_REF], where an assumption of non-zero surge velocity was made and an optimal reference trajectory was calculated using splines. Later, in [START_REF] Toussaint | Tracking for nonlinear underactuated surface vessels with generalized forces[END_REF], an extension of the previous work is done by considering the actuator's forces not only in surge direction, but also in sway and yaw directions, and these generalized forces were used in the backstepping design, showing its ability to track a limited range of trajectories.

In [START_REF] Yang | A trajectory tracking robust controller of surface vessels with disturbance uncertainties[END_REF], a robust controller was designed for a fully-actuated surface vessel to track its pose under the presence of time-variant disturbances. In order to achieve that, an observer was developed to estimate, and then compensate for the uncertainties caused by the disturbances, then this observer was used in the vectorial backstepping technique to conceive the controller, which was able to track an arbitrary reference trajectory in simulation. In the same way, a non-singular backstepping controller considering external disturbances was developed in [START_REF] Dai | Finite-time trajectory tracking for marine vessel by nonsingular backstepping controller with unknown external disturbance[END_REF]. A disturbance observer was conceived to estimate the unknown disturbances in finite time, which was taken into account by the design of the backstepping controller. Besides, the first-order Levant differentiator was used to calculate the derivatives of the virtual controls avoiding the singular phenomenon. In [START_REF] Ghommam | Asymptotic backstepping stabilization of an underactuated surface vessel[END_REF], the underactuated vessel's model is transformed to be represented in a cascade form and a discontinuous backstepping was employed via partial state feedback to solve the tracking problem ensuring a globally uniformly asymptotically convergence to the reference trajectory. In [START_REF] Dong | Trajectory tracking control of underactuated USV based on modified backstepping approach[END_REF], the tracking problem was solved for an underactuated USV by developing a nonlinear backstepping controller, which was conceived under the assumption that the persistent exciting (PE) condition of the yaw velocity was relaxed, and an integral action was incorporated into the controller to enhance its performance. In [START_REF] Fetzer | Full-state nonlinear trajectory tracking control of underactuated surface vessels[END_REF],

a comparison between the performance of a backstepping controller and a sliding mode controller was made for an underactuated vessel under model uncertainties and disturbances. Both of the controllers were developed based on the error dynamics, which were obtained from the transformation of the six states of the vessel's dynamics. Experimental and simulation results showed that both of them were robust regarding the compensation of uncertainties and disturbances, and the SMC had a smoother performance compared to the backstepping controller.

Literature review of Model Predictive Control

Introduction

In the last decades, model predictive control (MPC), also known as receding horizon control or moving horizon control, has experienced exponential growth in industry and in the academic field due to its ability to handle constraints directly for multivariable systems in the optimal control problem formulation [START_REF] Mayne | Model predictive control: recent developments and future promise[END_REF]. Some of the core MPC's elements started to appear in the 50s, with projects developed by oil and chemical industries, with the concept of calculating the optimal process settings based on the current data obtained from it [START_REF] Lee | Model predictive control: review of the three decades of development[END_REF]. Later in the 60s and the 70s, even though the technology available was limited in terms of processing power and storage capacity, the first concepts of MPC started to be explored and take the shape as it is known today [START_REF] Holkar | An overview of model predictive control[END_REF], [START_REF] Lee | Foundations of optimal control theory[END_REF].

With the advent of more affordable and powerful microprocessors in the 80s, MPC gained more interest and it was implemented using different approaches such as model heuristic predictive control (MHPC) [START_REF] Richalet | Model predictive heuristic control: applications to industrial processes[END_REF] and dynamic matrix control (DMC) [START_REF] Cutler | Dynamic matrix control -a computer control algorithm[END_REF], which were focused on solving multivariable constrained problems, while the generalized predictive control (GPC), developed by the adaptive control community, has helped the self-tuning process of the regulators [START_REF] Clarke | Generalized predictive control-Part I. The basic algorithm[END_REF], [START_REF] Clarke | Generalized predictive control-Part II extensions and interpretations[END_REF].

MPC gained more space in the industry over the years being employed in different applications mainly for the petrochemical, automotive, chemicals, aerospace sectors as reviewed in [START_REF] Qin | An overview of industrial model predictive control technology[END_REF]. Furthermore, with the advance of technology, diversification of MPC has emerged such as the nonlinear MPC [START_REF] Grüne | Nonlinear model predictive control[END_REF], stochastic MPC [START_REF] Mesbah | Stochastic model predictive control: an overview and perspectives for future research[END_REF], Economic MPC [START_REF] Ellis | A tutorial review of economic model predictive control methods[END_REF],

and so forth. This excitement of the industry was followed by the academia that not only established a solid foundation for the MPC algorithm but also provided theoretical stability proofs.

Stability of Model Predictive Control

Achieving stability for MPC usually requires the use of two ingredients in the optimal control problem formulation: terminal constraints and a terminal cost function [START_REF] Mayne | Constrained model predictive control: stability and optimality[END_REF]. The first stability results for linear and nonlinear systems employed a terminal equality state constraint at the origin [START_REF] Chisci | Stabilizing I-O receding horizon control of CARMA plants[END_REF][START_REF] Keerthi | Optimal infinite-horizon feedback laws for a general class of constrained discrete-time systems: stability and moving-horizon approximations[END_REF][START_REF] Kwon | A modified quadratic cost problem and feedback stabilization of a linear system[END_REF][START_REF] Mayne | Receding horizon control of nonlinear systems[END_REF]. However, imposing such a constraint may lead to numerical problems, since it is hard to satisfy it, and the performance would also be affected. Therefore, other techniques were explored such as the dual-mode approach applied to nonlinear systems, in which MPC drives the state into the terminal constraint set where a local stabilizing controller is used [START_REF] Michalska | Robust receding horizon control of constrained nonlinear systems[END_REF].

Besides the terminal constraints, the terminal cost plays an important role to guarantee stability as it was first demonstrated in [START_REF] Bitmead | Adaptive optimal control the thinking man's GPC[END_REF][START_REF] Rawlings | The stability of constrained receding horizon control[END_REF] for linear systems. In [START_REF] Jadbabaie | Unconstrained receding-horizon control of nonlinear systems[END_REF], the terminal cost was chosen as a control Lyapunov function that provides an upper bound on the cost-to-go, keeping the stability properties without the use of terminal constraints for non-linear systems. In [START_REF] Limon | On the stability of constrained MPC without terminal constraint[END_REF], the domain of attraction of MPC is determined without terminal constraints and stability is achieved by using this domain of attraction and the terminal cost function.

In addition to the aforementioned approaches, most of the stabilizing MPC schemes employ both a terminal cost function and terminal constraints, as in [START_REF] Chen | A quasi-infinite horizon nonlinear model predictive control scheme with guaranteed stability[END_REF], where a terminal inequality constraint is used to steer the states towards the terminal region at the end of the prediction horizon, and it is defined offline together with the quadratic terminal cost by finding a Lyapunov function for the linearized stabilizable system. In [START_REF] Fontes | A general framework to design stabilizing nonlinear model predictive controllers[END_REF], the terminal region and the terminal cost are defined to satisfy the stability conditions that depend on the choice of the MPC design parameters.

Model Predictive Control for USV

Model predictive control (MPC) has been largely employed in the vessel motion control field, since it can overcome the shortcomings of other techniques, by handling state and input constraints directly in the optimal control problem (OPC) formulation. As the other control methods, MPC was used to solve different motion problems such as dynamic positioning [START_REF] Jayasiri | Dynamic positioning of vessels using a UKF-based observer and an NMPC-based controller[END_REF][START_REF] Li | Model predictive controller design for ship dynamic positioning system based on state-space equations[END_REF][START_REF] Veksler | Dynamic positioning with model predictive control[END_REF], path following [START_REF] Abdelaal | Predictive path following and collision avoidance of autonomous vessels in narrow channels[END_REF][START_REF] Codesseira | Path following control for autonomous ship using model predictive control[END_REF][START_REF] Ghaemi | Path following of a model ship using model predictive control with experimental verification[END_REF][START_REF] Oh | Path following of underactuated marine surface vessels using line-of-sight based model predictive control[END_REF][START_REF] Sandeepkumar | A unified ship manoeuvring model with a nonlinear model predictive controller for path following in regular waves[END_REF][START_REF] Zhang | Robust model predictive control for path-following of underactuated surface vessels with roll constraints[END_REF], and trajectory tracking, which is thoroughly reviewed in this section. The trajectory tracking problem for USV was addressed in [START_REF] Zheng | Trajectory tracking of autonomous vessels using model predictive control[END_REF] through a comparison between the nonlinear MPC (NMPC), which has directly used the nonlinear dynamic model of a vessel and solved a constrained nonlinear optimization problem, and the linear MPC (LMPC), where the vessel's dynamic model was linearized, and a quadratic problem was solved at each time step. From the simulation results, it was shown that NMPC was costly in computation time but more accurate than the LMPC. In [START_REF] Haseltalab | Model predictive trajectory tracking control and thrust allocation for autonomous vessels[END_REF], an MPC controller was proposed for the tracking problem, where different linearization methods were employed to obtain a quadratic programming problem for the OCP. Moreover, the thruster allocation (TA) problem, which determines the force and the direction of each thruster of the vessel, was also considered with the goal of minimizing power consumption and rotation of the rotatable thrusters.

A neurodynamics-based MPC approach presented in [START_REF] Yan | Model predictive control for tracking of underactuated vessels based on recurrent neural networks[END_REF] was implemented to solve the trajectory tracking problem of an underactuated vessel. In the case where the disturbances

State of the art

29

were not considered, the OCP was solved by a one-layer recurrent neural network. Later, in order to take account of the disturbances, the controller was reformulated and the OCP was solved with a two-layer neural network since the one-layer structure could not handle nonlinear inequality constraint. NMPC was also implemented in [START_REF] Liu | Trajectory tracking control for underactuated surface vessels based on nonlinear model predictive control[END_REF] to solve a tracking problem for an underactuated vessel considering state, input, and input variation constraints in the nonlinear OPC. The performance of this controller was evaluated with and without environmental disturbances.

In the same way, in [START_REF] Abdelaal | Nonlinear model predictive control for tracking of underactuated vessels under input constraints[END_REF] the tracking problem of an underactuated USV was addressed using an NMPC controller taking into account input constraints. The OCP was solved using ACADO toolkit and qpOASES solver to evaluate its performance in real time.

Later, in [START_REF] Abdelaal | NMPC-based trajectory tracking and collision avoidance of unmanned surface vessels with rule-based colregs confinement[END_REF], the NMPC controller was adapted to include collision avoidance constraints, respecting the International Regulations for Preventing Collisions at Sea (COLREGS) rules, and the disturbances were estimated using a moving horizon estimation (MHE) algorithm. In [START_REF] Lutz | Optimal trajectory planning and model predictive control of underactuated marine surface vessels using a flatness-based approach[END_REF], the tracking problem combined with collision avoidance was addressed where a constrained MPC controller is designed using the flatness-based direct method to plan and track a reference trajectory avoiding obstacles. A full actuation is assumed to obtain the differential flatness model of the vessel and then constraints are applied to represent the underactuated case. The same maneuvering control problem is treated in [START_REF] Kosch | Hardware-inthe-loop trajectory tracking and collision avoidance of automated inland vessels using model predictive control[END_REF] for an over-actuated river ferry, where a constrained NMPC controller using a direct multiple shooting method was proposed to track a reference trajectory avoiding elliptical obstacles and counteracting disturbances, which were estimated via an extended Kalman filter (EKF). Furthermore, the controller was tested in a hardware-in-a-loop (HIL) test bench to obtain more realistic results.

The NMPC was also employed in [START_REF] Wang | Design, modeling, and nonlinear model predictive tracking control of a novel autonomous surface vehicle[END_REF] for an autonomous over-actuated robotic boat.

First, the dynamic model of the robotic boat was identified through a nonlinear least square method, then an NMPC controller was formulated to solve the tracking problem considering input constraints. This controller was tested and validated in simulation and in indoor and outdoor experimental scenarios. After that, in [START_REF] Wang | Roboat II: A novel autonomous surface vessel for urban environments[END_REF], an NMPC controller with state and input constraints was implemented for a large-scaled over-actuated robotic boat to track a given reference trajectory. Furthermore, a nonlinear moving horizon estimation (NMHE) algorithm was employed to estimate the state values for the controller. In order to deal with payload changes for a robotic boat, an adaptive NMPC was proposed in [START_REF] Wang | Adaptive nonlinear model predictive control for autonomous surface vessels with largely varying payload[END_REF], where the real-time payload value was estimated through a pressure sensing method, then, this value was updated online in the parametric cost function. The controller was validated in simulation and in experimental tests in an indoor pool.

Conclusion

In this chapter, the state-of-the-art on motion control addressing the trajectory tracking problem for USVs was provided. First, the nomenclature of the vessel's motion variables was detailed. Then, the general research using different control methods to solve the tracking problem was presented. A particular emphasis was placed on the backstepping method since a control law can be built with the help of a control Lyapunov function to guarantee the stability of the system. This characteristic of the backstepping combined with its consolidated application on the motion control area for USV has encouraged its application in this work as well, in which a backstepping controller was conceived with a local exponential stability proof.

Another important control technique highlighted in this chapter was the NMPC due to its ability to handle input and state constraints directly. The aforementioned works, presented in this chapter, have remarkable results and important contributions. Nevertheless, most of them neither take into account the thruster allocation problem nor test or validate the controller experimentally using a real-scaled vessel, which are topics that have been developed in this work. Furthermore, in order to guarantee NMPC's stability, the control Lyapunov function associated with the backstepping controller was used as a constraint of the OPC formulation.

Chapter 4

Modeling and Parameter Identification

A model that accurately describes a maneuvering vessel is essential for achieving efficient motion control. Since it is laborious to consider a dynamic model in 6-DOF to design the controller, some assumptions and simplifications are made in order to derive a suitable model for the controller that still provides a precise representation of the vessel's dynamics.

Furthermore, the precision of the model will depend on applying an efficient parameter identification method.

In this chapter, the definitions of the reference frames are given in Section 4.1, followed by an introduction to the 3-DOF model of a vessel composed by the kinematic and kinetic equations in Section 4.2. Then, the dynamic model considered for the fully-actuated vessel Solgenia is detailed in Section 4.3 and, finally, the identification of the unknown parameters of Solgenia's model is presented in Section 4.4.

Reference frames

In general, to investigate the motion of a vessel in 6-DOF, two Earth-centered coordinate frames, and two geographical reference frames can be defined as detailed below:

• ECI: The Earth-centered inertial frame {i} = (x i , y i , z i ) is an inertial reference frame where its origin o i is located at the Earth's center, and it is commonly used by inertial navigation systems [START_REF] Fossen | Handbook of Marine Craft Hydrodynamics and Motion Control[END_REF].

• ECEF: The Earth-centered Earth-fixed reference frame {e} = (x e , y e , z e ) has its origin o e fixed to the center of the Earth and its axes rotate with the angular speed of the Earth relative to the inertial frame ECI, which is fixed in space. For vessels moving with relatively low speed, the rotation of the Earth can be neglected and the {e} frame can be considered as an inertial frame [START_REF] Fossen | Handbook of Marine Craft Hydrodynamics and Motion Control[END_REF].

• NED: The North-East-Down coordinate system {n} = (x n , y n , z n ) is also known as a local tangent plane, where the origin is chosen as a point at the Earth's surface below the center of gravity of the vessel. For this system, the x-axis points to the true north, the y-axis points towards the east and the z-axis points downwards normal to the surface of Earth. The location of {n} relative to {e} is determined by using two angles, the latitude and the longitude. Furthermore, when the vessel is not accelerating, the longitude and latitude are almost constant and hence the NED frame is considered as an inertial frame and it can be used for navigation [START_REF] Fossen | Handbook of Marine Craft Hydrodynamics and Motion Control[END_REF].

• BODY: The body-fixed reference frame {b} = (x b , y b , z b ) has its origin o b fixed on the vessel, therefore it is a moving coordinate frame. While the vessel's pose is usually expressed relative to the inertial reference frame, the linear and angular velocities are described using the body-fixed frame. The origin o b is normally chosen to coincide with a point midships in the water line called CO [START_REF] Fossen | Handbook of Marine Craft Hydrodynamics and Motion Control[END_REF]. The body axes are chosen to coincide with the principal axes of inertia of the vessel, and they are usually defined as:

x b : longitudinal axis (directed from the back (aft) to the front (fore) of the vessel);

y b : transversal axis (directed to starboard);

z b : normal axis (directed from top to bottom).

3-DOF Maneuvering Model of USV

In the USV control field, considering a 6-DOF vessel's model to design a controller is a complex task. Therefore the model of the vessel can be simplified to a 3-DOF model assuming that, for a horizontal plane motion of a USV, pitch, roll and heave are negligible

ϕ = θ = z ≈ 0 [34].

Rigid-body Kinematics

The rigid-body kinematics describes the motion of an object without taking into account the forces that are causing the movement, i.e. it is a study of the geometrical aspects of the motion. For a USV, the kinematic expression (4.1) describes the relationship between the velocities in the body-fixed frame and in the NED frame, which can be considered as an inertial frame since the vessel moves at a relatively low speed.

η = R(ψ)ν (4.1)
where η = [ x, y, ψ] T represents the position and orientation of the vessel in the NED frame, ν = [ u, v, r] T represents the vessel's velocities in the body-fixed frame and

R(ψ) =       cos(ψ) -sin(ψ) 0 sin(ψ) cos(ψ) 0 0 0 1       (4.
2)

The rotation matrix R(ψ) given by (4.2) represents the rotation about the z-axis in the NED frame by the angle ψ, and it is an orthogonal matrix, i.e. R(ψ

) -1 = R(ψ) T → R(ψ) T R(ψ) = I, and ∥R(ψ)∥ = 1.

Rigid-body Kinetics

The kinetics of rigid-body studies the movement of a body caused by the forces acting on it. The USV's equation of motion is obtained in the body-fixed frame where its origin o b is commonly located at the center-line of midships and it has a distance of x g from the center of gravity, where the forces are applied.

Based on Newton's second law, the vector equation describing the 3-DOF vessel's horizontal motion is given by [START_REF] Fossen | Handbook of Marine Craft Hydrodynamics and Motion Control[END_REF]:

M RB ν + C RB (ν)ν = τ RB (4.3)
where ν represents the generalized body-fixed velocities, τ RB are the generalized external forces and moments, M RB is the rigid-body mass matrix defined as

M RB =       m 0 0 0 m mx g 0 mx g I z       (4.4)
where m is the vessel's mass, and I z is the moment of inertia about the z b -axis. Due to the rotation of the body-fixed frame about the inertial frame, the equation of motion has the rigid-body Coriolis and centripetal matrix represented by:

C RB (ν) =       0 0 -m(x g r + v) 0 0 mu m(x g r + v) -mu 0       (4.5)
The kinematic transformation in (4.1) combined with the kinetics in (4.3) provide the dynamic model of a vessel without interaction with the water. In order to describe such interaction, it is necessary to divide the forces and moments represented by τ RB into:

τ RB = τ hyd + τ hs + τ ctrl + τ d (4.6)
where τ hyd characterizes the hydrodynamic forces, τ hs are the hydrostatic forces, τ ctrl = [X c , Y c , N c ] T represents the control forces and moments due to the actuators of the vessel and τ d are the environmental forces due to waves, wind and current, being defined as

τ d =       X d Y d N d       (4.

Hydrodynamic Forces

Traditionally the study of vessel dynamics is covered by two main theories: maneuvering theory and seakeeping theory. While the maneuvering theory investigates the vessel's motion in calm water, the seakeeping theory studies the motion in the presence of wave excitation while the vessel keeps its course and speed constant. This division of such similar areas allows for different assumptions [START_REF] Fossen | Handbook of Marine Craft Hydrodynamics and Motion Control[END_REF]. According to the maneuvering theory, the hydrostatic forces can be neglected for a horizontal motion and the hydrodynamic forces that represents hydrodynamic effects such as added mass, potential damping, etc can be expressed as

τ hyd = -M A νr -C A (ν r )ν r -D(ν r )ν r (4.8)
where M A is the added mass matrix, C A (ν r ) is the Coriolis and Centripetal matrix due to the added mass, D(ν r ) is the damping matrix and ν r is the relative velocity between the hull and the fluid, and it is given by:

ν r := ν -ν c = [u r v r r] T (4.9)
where ν c represents the fluid velocity vector in the body-fixed frame, which was obtained from the earth-fixed velocity v c = R(ψ)ν c . Assuming a non-rotational fluid with a constant magnitude V c and angle β c , the fluid velocity in the earth-fixed coordinates is given by:

v c =       V c cos(β c ) V c sin(β c ) 0       (4.10)
Furthermore, the added mass matrix M A can be represented as

M A =       -X u 0 0 0 -Y v -Y ṙ 0 -N v -N ṙ      (4.11)
The elements of this matrix are called hydrodynamic derivatives and they are represented using the SNAME's notation, for instance, the hydrodynamic force Y along the y-axis due to an acceleration ṙ in the z-direction is given by [START_REF] Fossen | Handbook of Marine Craft Hydrodynamics and Motion Control[END_REF]:

Y = Y ṙ ṙ, Y ṙ = ∂Y ∂ ṙ (4.12)
The Coriolis and centripetal added mass matrix C A (ν r ) is obtained using the property 6.2 in [START_REF] Fossen | Handbook of Marine Craft Hydrodynamics and Motion Control[END_REF], and for a surface vessel it is given by:

C A (ν r ) =       0 0 Y vv r + Y ṙr 0 0 -X uu r -Y vv r -Y ṙr X uu r 0       (4.13)
The damping matrix D(ν r ) sums up all the hydrodynamic damping effects, which can be divided into linear and quadratic damping:

D(ν r ) = D + D n (ν r ) (4.14)
where

D =       -X u 0 0 0 -Y v -Y r 0 -N v -N r       (4.15)
is the linear damping matrix composed of linear hydrodynamic damping terms X u , Y v , N r in x b , y b , z b directions respectively, and coupling parameters of linear hydrodynamic damp-

ing (Y v , N v ).
The nonlinear damping D n (ν r ) can be expressed using second-order modulus functions first introduced in [START_REF] Fedyaevsky | Control and stability in ship design[END_REF], [START_REF] Norrbin | Theory and observations on the use of a mathematical model for ship manoeuvring in deep and confined waters[END_REF].

D n (ν r ) =       -X |u|u |u r | 0 0 0 -Y |v|v |v r | -Y |r|v |r| -Y |v|r |v r | -Y |r|r |r| 0 -N |v|v |v r | -N |r|v |r| -N |v|r |v r | -N |r|r |r|       (4.
N (ν r ) = C A (ν r ) + D(ν r ) (4.17)
Replacing the hydrodynamic forces and moments (4.8) into the kinetics expression (4.3) and considering that for a horizontal motion τ hs = 0, the equation of movement for an USV is given by

M RB ν + M A νr + C RB (ν)ν + N (ν r )ν r = τ ctrl + τ d (4.18)

Solgenia's maneuvering model

The 3-DOF maneuvering model of Solgenia can be derived from (4.1) and (4.18). Here, the current effects will be taken into account in τ d as an external disturbance force.

Therefore, ν c = 0 and νc = 0, resulting in the following expressions:

η = R(ψ)ν (4.19) M ν + C RB (ν)ν + N (ν)ν = τ ctrl + τ d (4.20)
From (4.20) the mass matrix M = M RB + M A is defined as

M =       m -X u 0 0 0 m -Y v mx g -Y ṙ 0 mx g -N v J comb       (4.21)
where J comb = I z -N ṙ combines the moment of inertia of the rigid body and the added mass effects. Moreover, the term C RB (ν)ν can be manipulated as follows:

C RB (ν)ν =       0 0 -m(x g r + v) 0 0 mu m(x g r + v) -mu 0             u v r       =       -mr(x g r + v) mur mu(x g r + v) -muv       (4.22)
From the final representation of the term C RB (ν)ν above, the Coriolis and centripetal matrix C RB (ν) given by (4.5) can be rewritten to depend only on the rotational velocity r:

C RB (ν)ν =       -mr(x g r + v) mur mx g r       =       0 -mr -mx g r mr 0 0 mx g r 0 0             u v r       (4.23)
Furthermore, in the case of Solgenia, the damping matrix N (ν) is formed only by the linear damping terms since they were considered sufficient to represent the damping and the added mass effects for slow maneuvers such as docking. Hence, it is given by:

N (ν) = D = -       X u 0 0 0 Y v Y r 0 N v N r       (4.24)
The action of external disturbance forces on Solgenia is represented by the vector τ d , while the input vector τ ctrl corresponds to the forces and moments produced by the Solgenia's propulsion system, which is composed of a 360°rotatable azimuth thruster in the back and a bow thruster in the front as illustrated in

Propulsion System

According to [START_REF] Wirtensohn | Parameter identification and validation analysis for a small USV[END_REF], the thrust force F of a propeller can be expressed by

F = K T ρd 4 p n|n| (4.25)
where n is the rotational speed of the thruster, d p is the propeller's diameter, ρ is the water density, and K T is the non-dimensional thrust coefficient, which depends on the advance ratio J given by

J = u a nd p (4.26)
where u a is the relative speed of the propeller in the axial direction. The relationship in can be assumed with the condition that n and u a have the same sign. Hence, a simplified expression including non-dimensional parameters p 1 and p 2 can be obtained [START_REF] Blanke | Ship Propulsion Losses Related to Automatic Steering and Prime Mover Control[END_REF].

K T = p 1 -p 2 J (4.27)
Replacing (4.26) and (4.27) into (4.25) yields

F = p 1 ρd 4 p n|n| -p 2 ρd 3 p u a |n| (4.28)
The parameters p 1 and p 2 can have different values depending on the sign of n and u a , which in turn, depends on the maneuvers performed by the vessel. Hence, a four-quadrant model illustrated in Figure 4.2 is determined as

   p 1 p 2    =                          a 1 b 1 T n ≥ 0 ∧ u a ≥ 0 a 1 0 T n ≥ 0 ∧ u a < 0 a 2 0 T n < 0 ∧ u a ≥ 0 a 2 b 2 T n < 0 ∧ u a < 0 (4.29)
u a = ucos(α) + (v -rL AT )sin(α) (4.30)
where α is the angle of the azimuth thruster and L AT is the distance of the azimuth thruster to the origin of the body-fixed frame.

The bow thruster force takes into account the effectiveness of the transverse propulsion by including an exponential term [START_REF] Palmer | Modelling tunnel thrusters for autonomous Bibliography 143 underwater vehicles[END_REF] into the thrust force expression defined in [START_REF] Blanke | Ship Propulsion Losses Related to Automatic Steering and Prime Mover Control[END_REF],

resulting in the following equation:

F BT = p 3 ρd 4 p n BT |n BT |e -c b u 2 (4.31)
where c b is a non-dimensional parameter, u is the surge velocity and the axial velocity u a is neglected due to its small value. Hence, the four-quadrant model can be simplified and the value of the constant p 3 will be defined according to the value of the bow thruster's speed n BT .

p 3 =        c 1 n BT ≥ 0 c 2 n BT < 0
τ ctrl =       F AT cos(α) F AT sin(α) + F BT F BT L BT -F AT sin(α)L AT       (4.33)
where L BT corresponds to the distance from the origin of the body-fixed frame to the position of the bow thruster. In order to achieve the desired set of forces and moments, it is necessary to choose appropriate velocities for the thrusters (n AT , n BT ), as well as a suitable azimuth thruster angle α. These choices are constrained by the physical conditions of the thrusters given by:

n ATMin ≤ n AT ≤ n ATMax n BTMin ≤ n BT ≤ n BTMax | α| ≤ αMax ṅATMin ≤ ṅAT ≤ ṅATMax (4.34)
where n ATMax , n ATMin , ṅATMax , ṅATMin , n BTMax , n BTMin , and αMax , denote the upper and lower bounds for azimuth thruster's velocity and acceleration, bow thruster's velocity, and azimuth thruster's panning rate respectively.

Parameter identification

The model of Solgenia presented in Section 4.3 possesses unknown parameters related to the dynamic model, which are (m, . The vessel's mass m was measured, x g is considered to be zero and it is assumed that -X u ≈ 0.05 • m for a surface vessel [START_REF] Fossen | Guidance and Control of Ocean Vehicles[END_REF]. Hence, there are 14 parameters to be identified.

x g , X u, Y v, N v, Y ṙ, J comb , X u , Y v , N v , Y r , N r ),

Identification Method

In order to obtain the values of the aforementioned unknown parameters, the parameter identification algorithm developed in [START_REF] Wirtensohn | Parameter identification and validation analysis for a small USV[END_REF] was applied. This method is based on experimental data, obtained from maneuvers performed by Solgenia, not only to estimate all the unknown parameters concurrently but also to validate the identified model.

The identification process consists of solving an optimization problem, which goal is to minimize the difference between the measured values of the body-fixed velocities and the simulated ones, obtained by numerically integrating the model using the estimated values of the unknown parameters. A hybrid approach that combines the particle swarm optimization and methods provided by Matlab such as the fmincon command was chosen as the solver for this problem.

Once all the parameters are estimated using the whole sets of experimental data, they are associated with the eigenvalues and eigenvectors of the Fisher information matrix to perform a quality analysis, which evaluates the standard deviation and the correlation matrix of the parameters to verify if some of them could be eliminated from the model. It is important to highlight that the parameters in the set θ

= (Y v, N v, Y ṙ, J comb , X u , Y v , N r , a 1 , a 2 , c 1 , c
2 ) could never be eliminated since they are essential to represent the vessel's dynamics.

At each round of identification, the identified parameters are evaluated to verify if they can be eliminated from the model. This evaluation starts by choosing the parameter with the biggest standard deviation, which needs to fulfill two conditions to be eliminated. The first condition is that this parameter should not belong to the set of essential parameters θ and the second condition is that its standard deviation should be greater than an upper bound γ r . If both of these conditions are met, then the elimination of this parameter is executed. After that, the identification process starts again and the remaining parameters are re-identified. The upper bound γ r is chosen to establish a threshold between the parameters that affect the sensitivity of the output (body-fixed velocities generated by the identified model), and the ones that do not have an impact on it. Choosing a high value for γ r means that parameters that only marginally impact the dynamics of the vessel would be considered, leading to a possible over-parameterized model. Conversely, a low value for γ r would restrict the model to essential parameters that have an important impact on the output, which could lead to a limited representation of the vessel's dynamics.

When all the parameters' standard deviation are below γ r , then the correlation matrix is analyzed. In the same way as the standard deviation evaluation, the parameter with the highest correlation coefficient is chosen, then two conditions are assessed: this parameter should not belong to the set θ, and its correlation coefficient should be below the correlation upper bound γ c . Choosing a high value for γ c means that parameters with high correlation, i.e. that can compensate each other, are included into the model providing an over-parameterized model. On the other hand, choosing a low value for γ c would result in a model with independent parameters, which could provide a poor representation of the vessel's dynamics [START_REF] Wirtensohn | Parameter identification and validation analysis for a small USV[END_REF]. If these conditions are fulfilled, then the parameter is eliminated.

Once again, the identification process restarts, re-identifying the remaining parameters.

The final model is obtained when all the parameters left have their standard deviation and correlation coefficients below the upper bounds γ r and γ c . These upper bounds are design parameters of the identification algorithm and they are chosen heuristically. For a better understanding, the flowchart of the identification process described above can be found in Appendix A.

After the identification process is completed, a validation of the identified model takes place, calculating the root mean square error (RMSE) values between the experimental body-fixed velocities and the ones obtained from the simulated model using the identified parameters. Furthermore, it is important to note that the experimental data used in the identification process were different from the ones used during the validation phase.

Simulation Results

In order to identify the unknown parameters presented in Section 4.4, the first step was to collect experimental data from different maneuvers performed by Solgenia at the Rhine river in Constance (Germany). Solgenia is an 8 meters fully-actuated surface vessel equipped with 3-axis automotive inertial measurement unit (IMU) and two antenna Trimble (BX982) RTK-GPS system with 0.1 m position accuracy and 0.1°accuracy for the yaw angle.

The data collection was done under mild conditions, i.e. the effects of disturbances (current, waves, and wind) were low and Solgenia carried out slow maneuvers using different configurations of the actuators, docking and undocking maneuvers to acquire a rich set of experimental data to achieve an accurate parameter identification. Subsequently, the data sets were smoothed using a Fixed-Point Kalman Smoother as presented in [START_REF] Chowdhary | Theory and flight-test validation of a concurrentlearning adaptive controller[END_REF] to reduce the measurement noise. Two categories of data were chosen, the identification group, which was composed of 17 data sets, and the validation group, which was composed of other 9 data sets. The data sets were divided into those groups according to the maneuver that they represented, in a way that, in each group, there is the same variety of maneuvers. The values obtained from the identification process are shown in Table 4.1.

As it can be observed, the parameters b 1 , b 2 and c b were eliminated during the evaluation phase as explained in Section 4.4.1. Therefore, the propulsion system can be represented only using the parameters a 1 , a 2 , c 1 , c 2 .

Furthermore, the final result of the quality analysis is shown in Figure 4.3, where one can notice that all the identified parameters have their standard deviation below the

a 1 0.9047 x g 0m Y v -796 N m/s a 2 0.6545 X u -155kg N v -958 N m/s c 1 0.0461 Y v -1070kg N r -5230 N m/s c 2 0.0548 N v -3328kg Y r -896 N m/s Y ṙ -1008kg J comb 21179kgm 2
upper bound γ r represented by 15%. It is worth mentioning that, in this identification method, more than one eigenvector of the Fisher information matrix can be associated with the same parameter as happens with c 1 and Y v. However, as these parameters cannot be eliminated, this particularity of the algorithm has not interfered with the identification of Solgenia's model. As examples of this validation process, a frontal docking maneuver is evaluated in Figure 4.5, a backward docking maneuver is illustrated in Figure 4.6, and a slow sideways maneuver followed by a docking maneuver is depicted in Figure 4.7. For all of these cases, it can be observed in Table 4.2, that the RMSE values for all body-fixed velocities are of the order 1 × 10 -2 m/s, indicating that the identified model is accurate enough to simulate the real vessel's dynamics performing slow varying maneuvers.

Conclusion

In this chapter the maneuvering model of a vessel was presented starting with the common reference frames and definitions used in the maritime domain, followed by the explanation of a 3-DOF model of the vessel, which was used to derive the dynamic model of the fully-actuated research vessel Solgenia. Then, this model presented unknown parameters, which were identified and validated using experimental data collected from maneuvers performed by Solgenia at the Rhine river in Constance (Germany). Solgenia's model thus obtained was used as a control model to design the controllers responsible for addressing the trajectory tracking problem in the next chapters.

Chapter 5

Nonlinear controllers for trajectory tracking of an USV

The development of an USV controller needs to respect the imposed control objective to be able to perform the required maneuvers considering their conditions. In the case of this work, the control objective is to track a time-varying reference trajectory for the fully-actuated surface vessel Solgenia, whose dynamic model was presented in Section 4.3. This chapter is divided into three main parts. In Section 5.1, the formulation of the NMPC controller and the assessment of its parameters in simulation are presented.

Then, in Section 5.2, the design of the backstepping control and its respective simulation results are provided. Finally, in Section 5.3, the control Lyapunov function found by designing the backstepping controller was used as a contraction constraint in the NMPC formulation to guarantee stability while solving the trajectory tracking problem.

Nonlinear model predictive control (NMPC)

Introduction

The core idea of model predictive control is to predict the optimal future behavior of the system based on its dynamic model and the available state values. The prediction is obtained by solving an open-loop optimal control problem (OCP), in which the goal is to minimize the difference between the predicted output and its reference, subject to the system dynamics and, possibly, input and state constraints. For a better understanding, this procedure is illustrated in Figure 5.1. At the current instant k, the MPC controller receives the available measurements or the estimated values of the states. Then, using these state values, it solves the OCP online over the prediction horizon T , and as a result of this process, a sequence of optimal input values is obtained.

Due to disturbances and uncertainties of the dynamic model, the behavior of the system differs from the predicted one, therefore only the first optimal input value is applied to the system in a receding horizon sense. In this way, at the next time step k + 1, the prediction horizon moves forward of one time step and the whole process described above is repeated [START_REF] Findeisen | An introduction to nonlinear model predictive control[END_REF].

subject to

ẋ(δ) = f (x(δ), u(δ)) (5.4a) x(t) = x t (5.4b) u(δ) ∈ U, ∀ δ ∈ [t, t + T ] (5.4c) x(δ) ∈ X, ∀ δ ∈ [t, t + T ] (5.4d) x(t + T ) ∈ X T (5.4e)
where u(•, t) corresponds to the vector of optimal inputs u ⋆ ∈ U, obtained by minimizing the cost function, and the length of u(•, t) is defined by the prediction horizon T divided by a sample time ∆t. W (•) and X T ⊆ X correspond to the terminal cost and the terminal set respectively and they can be included in the cost function as one way to guarantee stability as discussed in Chapter 3. L(•, •) is the stage cost, which is chosen to be zero when the optimal control inputs are applied to achieve the equilibrium point, and it is positive elsewhere. Therefore, the stage cost is often chosen to have a standard quadratic form:

L(x, u) = (x -x d ) T Q(x -x d ) + (u -u d ) T R(u -u d ) = ∥x -x d ∥ Q + ∥u -u d ∥ R (5.5)
where R and Q are positive definite, symmetric, weighting matrices, x d (t) corresponds to the state reference and u d represents the input reference.

NMPC formulation for trajectory tracking of a surface vessel

In order to design an NMPC controller to solve the trajectory tracking problem for Solgenia, an extended control model was considered, where a multivariable integral action is explicitly introduced as in [START_REF] Gehan | Dissolved oxygen level output feedback control based on discrete-time measurements during a pseudomonas putida mt-2 fermentation[END_REF] to increase the controller's design accuracy, leading to the Nonlinear controllers for trajectory tracking of an USV 57 following extended model:

η = R(ψ)ν ν = M -1 (τ (f ) -C RB (ν)ν -N ν) ḟ = µ + µ F F (5.6)
where f is the vector composed of the physical control variables, i.e. f = [n AT , α, n BT ] T , µ is the virtual input vector, and µ F F is the feedforward term composed of the reference trajectories of the virtual inputs µ.

Considering the extended control model (5.6), the thrusters' physical constraints (4.34)

and the desired reference trajectories for

η d = [x d , y d , ψ d ] T , ν d = [u d , v d , r d ] T , and f d = [n AT d , α d , n BT d ] T
, that were generated by a virtual version of Solgenia with the same dynamics presented in Section 4.3, the optimal control problem can be formulated as:

min µ(•,t k ) J(η, ν, f , µ) = min µ(•,t k ) T +t k t k ∥η -η d ∥ 2 Qη + ∥ν -ν d ∥ 2 Qν + ∥f -f d ∥ 2 R f + ∥µ∥ 2 Rµ dt (5.7) subject to η = R(ψ)ν (5.8a) ν = M -1 (τ (f ) -C RB (ν)ν -N ν) (5.8b) ḟ = µ + µ F F (5.8c) n ATMin ≤ n AT ≤ n ATMax (5.8d) n BTMin ≤ n BT ≤ n BTMax (5.8e) µ Min ≤ µ ≤ µ Max (5.8f) |µ current -µ previous | ≤ ∆µ Max (5.8g)
where the cost function (5.7) is minimized over a finite prediction horizon T , with respect to µ subjected to the dynamic model (5.8a), (5.8b), (5.8c), the physical constraints of the thrusters (5.8d), (5.8e) and constraints to limit the virtual inputs and its variations (5.8f) and (5.8g) respectively. Usually, as in [START_REF] Lutz | Optimal trajectory planning and model predictive control of underactuated marine surface vessels using a flatness-based approach[END_REF], there is no established boundary between the input values from one step of NMPC to another, allowing possible wide variations in the input values. Hence, the constraint (5.8g) was added to restrain this variation to a maximum value given by ∆µ Max . Q η , Q ν , R f and R µ are positive definite weighting matrices that penalize the deviations from the desired trajectories.

Furthermore, the cascade control technique was not applied in this work since the main goal is to take into account the thrusters' constraints into the NMPC formulation to obtain feasible input values. The NMPC controller provides the piece-wise constant values for accelerations and the panning rate of the thrusters, represented by µ, which are then integrated resulting on smooth physical inputs that are applied to the vessel, hence there is no need to parameterize the predictive control laws.

Simulation results

A virtual version of Solgenia was built from the identified dynamic model, presented in Section 4.3, to generate the reference trajectories to be tracked for the states and inputs.

An evaluation of the performance of the proposed NMPC controller is made in simulation using the GRAMPC framework [START_REF] Englert | A software framework for embedded nonlinear model predictive control using a gradient-based augmented lagrangian approach (GRAMPC)[END_REF] and Matlab.

In this case, a curved trajectory was chosen as a reference and it was generated by applying n AT (t) = 3 Hz, n BT (t) = 0 Hz and α(t) = 2.4528 × 10 -4 rad, where t is the simulation time sampled with ∆t = 1s. The initial reference conditions used were:

x d (0) = 100 m y d (0) = 200 m ψ d (0) = 0 rad u d (0) = 0 m/s v d (0) = 0 m/s r d (0) = 0 rad/s n AT (0) = 3 Hz α(0) = 2.4528 × 10 -4 rad n BT (0) = 0 Hz
Nonlinear controllers for trajectory tracking of an USV

59

Besides that, a step disturbance was applied on the physical inputs f , being defined as:

δ =       
[10, 0, 0] T for t ≥ 800 s [0, 0, 0] T otherwise (5.9)

The NMPC parameters, such as the prediction horizon, weighting matrices of the cost function, together with state and input constraints have an important impact on the controller's performance. Hence, each one of these parameters was adjusted individually in simulation to assess its influence on the NMPC controller. All the following cases shared the same initial conditions and reference trajectories previously defined.

Prediction Horizon

Its impact on the trajectory tracking performance was studied by simulation results as shown in Figures 5.2 and 5.3. For these first results, the constraints were inactive and the weighting matrices chosen were:

Q η = diag(1 1 m 2 , 1 1 m 2 , 30 1 rad 2 ), Q ν = diag(1 s 2 m 2 , 1 s 2 m 2 , 1 s 2 rad 2 ), R f = diag(1 s 2 , 1 1 rad 2 , 1 s 2 ) and R µ = diag(1 s 4 , 1 s 2 m 2 , 1 s 4 ).
e tracking = (x -x ref ) 2 + (y -y ref ) 2 (5.10)
In Figure 5.3, one can also notice that for T = 30 s, the controller can not reach the reference trajectory and it exhibits an unstable behavior with the chosen weighting matrices and prediction horizon, leading to the biggest discrepancy comparing with the other prediction horizon values.

Weighting Matrices

These are also important parameters that need to be tuned to obtain a more suitable performance from the controller in a closed loop. Their influence can be observed by choosing the unstable case shown in Figure 5.2 (T = 30 s). The most relevant results

were obtained when the weighting matrices were

Q η = diag(300 1 m 2 , 3000 1 m 2 , 10 5 1 rad 2 ), Q ν = diag(1 s 2 m 2 , 1 s 2 m 2 , 1 s 2 rad 2 ), R f = diag(50 s 2 , 50 1 rad 2 , 1 s 2 ), R µ = diag(50 s 4 , 50 s 2 rad 2 , 1 s 4 ).

Effect of the constraints

Besides the calibration of the NMPC parameters, the constraints also have a decisive impact on the controller's performance. Using T = 30 s and the weighting matrices previously found, the outcome of tightening the state constraint (5.8d) was analyzed as shown in Figure 5.8. As can be observed, even if the tracking error increases as the constraint values get tighter, the controller is still stable and capable of rejecting the input disturbance. Therefore, its performance could be improved, for instance, by changing the weighting matrix values.

The same procedure was applied to analyze the effects of tightening the input con- straints (5.8f). The simulation results are illustrated in Figure 5.9, and it can be noticed that the controller performs worst when input constraints start to tighten, however it is still capable of rejecting the input disturbance. Furthermore, for constraint values between 0.7 and 0.5, the controller presented the same behavior with a tracking error that increases over time and stabilizes around 3 m. The constraint represented in (5.8g) is responsible for restraining the input's variation from one NMPC step to another. The effects of activating these constraints can be observed in Figure 5.10. In the same way as the other constraints, the tracking error has increased as the constraints have tightened. However, the variation of the tracking error was not significant over time as the values obtained with the input constraints, showing that the trajectory does not require fast variations of the inputs.

From the evaluation of the NMPC controller's performance with the variation of the constraints and NMPC parameters, it can be highlighted the high sensitivity of the controller to the weighting matrices values and the respect of the constraints when they are not too restricted. The main advantage of the NMPC is the ability to consider the input and state constraints directly, and one disadvantage of the above formulation of NMPC is that stability in a closed loop cannot be guaranteed. Hence, the backstepping controller was the next control technique to be investigated in order to address the tracking problem while guaranteeing closed-loop stability.

Backstepping control

Introduction

Backstepping is a recursive design method for nonlinear dynamic systems with a strictfeedback structure. In order to illustrate this recursive method, the following second-order single-input single-output (SISO) system is taken as an example:

ẋ1 =x 2 + f 1 (x 1 ) ẋ2 =u + f 2 (x 1 , x 2 )
y =x 1 (5.11) where x 1 , x 2 ∈ R are the state variables, u ∈ R is the control input, f 1 , f 2 are continuous and differentiable functions with respect to the states, and y is the output. The main goal where g = min(g 1 , g 2 ). Then, considering (5.20), (5.24) is rewritten as follows

V2 < -2gV 2 =⇒ V2 V 2 < -2g (5.25)
Integrating both sides of (5.25) yields

ln V 2 t 0 < -2gt =⇒ V 2 < V 2 (0)e -2gt
(5.26)

Therefore, the feedback law obtained from the backstepping method can guarantee exponential stability for the system (5.11), and its performance will be determined by the choices of the gains g 1 and g 2 .

Backstepping design for trajectory tracking of a surface vessel

Besides the NMPC, another method explored in simulation to address the trajectory tracking problem was the backstepping control, which was designed for a modified version of the extended control model from Section 5.1.3, in which the disturbance vector τ d was taken into account in the equation of motion, and only the multivariable integral action was added to enhance the performance of the controller. Hence, the extended model considered is given by

η = R(ψ)ν ν = M -1 (τ (f ) + τ d -C RB (ν)ν -N ν) ḟ = µ (5.27)
where the disturbance vector τ d was included in the equation of motion, which represents the forces and moments of the wind, currents, and unmodeled effects. An unscented Kalman filter (UKF) was designed to estimate this disturbance vector τ d and also to filter the wave effects. In order to achieve that, the UKF was based on a model created Nonlinear controllers for trajectory tracking of an USV 68 from the vessel's dynamics, presented in Section 4.3, and the wave-induced motion as in [START_REF] Fossen | Kalman filtering for positioning and heading control of ships and offshore rigs[END_REF], combined with an uncertainty vector that was modeled as a normally distributed signal with zero mean. A thorough explanation of the motion estimation for Solgenia is provided in [START_REF] Wirtensohn | Comparison of advanced control strategies for automated docking[END_REF].

In order to design the control law using the backstepping method, the following assumption is considered:

Hypothesis 1.
The reference trajectory of the physical inputs f d (t) belongs to the compact

set U ξ = {[-n ATmax + ξ, n ATmax -ξ]×] -π, π] × [-n BTmax + ξ, n BTmax -ξ]}.
where ξ < min(n ATmax , n BTmax ) which is used to provide a margin from the borders of the feasible input set U, avoiding situations with unfeasible input values.

The backstepping design and its stability proof are developed in six steps. The control law is designed in the first three steps using the backstepping method. Then, in the fourth step, the error dynamics is reformulated using new coordinates provided by the backstepping. In the fifth step, an inequality is obtained for the remaining term in the derivative of the CLF. Finally, in the sixth step, the final inequality for the derivative of the CLF is obtained, as well as the stability proof.

The design of the backstepping control starts by defining the error vectors as follows:

z 1 =η -η d (5.28) z 2 =ν -α 1 (5.29) z 3 =f -α 2 (5.30)
where α 1 , and α 2 represent stabilizing function vectors.

Step 1 :

Choosing the following Lyapunov function candidate

V 1 = 1 2 z 1 T z 1 (5.31)
From (5.29), the expression of ż2 results in

ż2 = ν -α1 = M -1 (-C RB (ν)ν -N ν + τ (f ) + τ d -M α1 ) (5.39)
where the time derivative of α 1 is given by

α1 = d dt (R -1 (ψ)) [-K 1 (η -η d ) + ηd ] + R -1 (ψ)[-K 1 ( η -ηd ) + ηd ] (5.40) with d dt (R -1 (ψ)) = ∂R -1 (ψ) ∂ψ ψ =       -r sin ψ r cos ψ 0 -r cos ψ -r sin ψ 0 0 0 0       =       cos ψ sin ψ 0 -sin ψ cos ψ 0 0 0 1             0 r 0 -r 0 0 0 0 0       = R T (ψ)S(r) (5.41)
Substituting (5.39) and (5.36) into (5.38), we have

V2 = -z 1 T K 1 z 1 + z 1 T R(ψ)z 2 + z 2 T M M -1 (-C RB (ν)ν -N ν + τ (f ) + τ d -M α1 ) (5.42)
Choosing α 2 such as

τ (α 2 ) = C RB (ν)ν + N ν + M α1 -τ d -K 2 z 2 -R T (ψ)z 1 , (5.43)
the resulting expression of V2 is given by

V2 = -z 1 T K 1 z 1 -z 2 T K 2 z 2 + z 2 T (τ (f ) -τ (α 2 )) (5.44)
In the next steps, it will be necessary to find an expression that is negative and has a

Nonlinear controllers for trajectory tracking of an USV 71 magnitude greater than the term z 2 T (τ (f ) -τ (α 2 )) to be able to prove local exponential stability.

Step 3 :

Choosing the augmented Lyapunov function as

V 3 = V 2 + 1 2 z 3 T z 3 (5.45)
the time derivative of (5.45) is expressed as

V3 = V2 + z 3 T ż3 (5.46)
Considering the time derivative of (5.30) given by

ż3 = ḟ -α2 (5.47)
and replacing it in (5.46) yields

V3 = -z 1 T K 1 z 1 -z 2 T K 2 z 2 + z 2 T (τ (f ) -τ (α 2 )) + z 3 T ( ḟ -α2 ) (5.48)
Designing the virtual input vector ḟ as

ḟ = α2 -K 3 z 3 (5.49)
and substituting (5.49) into (5.48) yields

V3 = -z 1 T K 1 z 1 -z 2 T K 2 z 2 -z 3 T K 3 z 3 + z 2 T (τ (f ) -τ (α 2 )) (5.50)
where

K 1 = K 1 T > 0, K 2 = K 2 T > 0 and K 3 = K 3 T > 0 are control gain matrices,
which are used as parameters to tune the backstepping controller.

Finally, the dynamics of z 3 can be expressed as ż3 = ḟ -α2 (5.57) Substituting (5.49) into (5.57), we have

ż3 = -K 3 z 3 = F 3 (z 3 ) (5.58)
Hence, the dynamics of z can be written as

ż = F (z, t) =       F 1 (z 1 , z 2 , t) F 2 (z 1 , z 2 , z 3 , t) F 3 (z 3 )       (5.59)
where the non-autonomous character of the dynamics comes from the fact that it depends on the time-varying reference trajectories η d (t) and their derivatives.

Step 5 :

Given the expression of V3 represented by (5.50), one needs to find an expression that is negative and has a magnitude greater than the term z 2 T (τ (f ) -τ (α 2 )) in order to obtain a local exponential convergence. First note that the following inequality holds:

z 2 T (τ (f ) -τ (α 2 )) ≤ ||z 2 || ||τ (f ) -τ (α 2 )|| (5.60) Moreover, for the term ||τ (f ) -τ (α 2 )||, an inequality of the form ||τ (f ) -τ (α 2 )|| ≤
L∥f -α 2 ∥ will be obtained.

Since τ is locally Lipschitz but not globally Lipschitz, one has to show that if z is taken close enough to the origin, then for all t ≥ 0, both f and α 2 belong to a compact set, taken here as the feasible set of the inputs U.

Replacing (5.29) and (5.40) into the definition of τ (α 2 ) in (5.43) yields

τ (α 2 ) =(C RB (z 2 + α 1 ) + N )(z 2 + α 1 ) -τ d (t) -K 2 z 2 -R T (ψ)z 1 +M (R T (ψ)S(r)(-K 1 z 1 + ηd (t))) + M R -1 (ψ)(-K 1 ż1 + ηd (t)) (5.61)
Using the definition of α 1 given by (5.35) into (5.61) results in

τ (α 2 ) =(C RB (z 2 + α 1 (z 1 , t)) + N )(z 2 + R -1 (z ψ 1 + ψ d )( ηd (t) -K 1 z 1 )) -τ d (t) -K 2 z 2 -R T (z ψ 1 + ψ d )z 1 + M (R T (z ψ 1 + ψ d )S(r)(-K 1 z 1 + ηd (t))) +M R -1 (z ψ 1 + ψ d )(-K 1 ż1 + ηd (t)) =h(z 1 , z 2 , t) (5.62)
where h(z 1 , z 2 , t) is a continuous function, which verifies h(0, 0, t) = τ (f d (t)). Then, we have that

∀ ε > 0 ∃ δ > 0 | ∥z∥ < δ =⇒ ∥τ (α 2 ) -τ (f d (t))∥ < ε (5.63)
The difficulty here is that τ is not injective, therefore ∥τ (α 2 ) -τ (f d (t))∥ being small does not mean that α 2 and f d (t) are close, and then, f d (t) belonging to U ξ does not necessarily mean that α 2 belongs to U. The function τ was first defined in (4.33), and here it is reformulated as

τ (n A , α, n B ) =       p A (n A ) 2 cos α p A (n A ) 2 sin α + p B (n B ) 2 p B (n B ) 2 L B -p A (n A ) 2 sin αL A       =       F A cos α F A sin α + F B F B L B -F A sin αL A       (5.64)
In order to simplify the problem, (5.64) is rewritten as

τ (n A , α, n B ) = τ 1 • τ 2 (n A , α, n B ) (5.65)
where τ 2 and τ 1 are defined in (5.66) and (5.67) respectively.

τ 2 (n A , α, n B ) =          p A (n A ) 2 cos α sin α p B (n B ) 2         
(5.66)

τ 1 (F A , c, s, F B ) =       F A c F A s + F B L B F B -L A F A s       (5.67)
where

(c, s) T ∈ S 2 , hence τ 2 : R 3 → R × S 2 × R and τ 1 : R × S 2 × R → R 3 with S 2 = {(x, y) ∈ R 2 | x 2 + y 2 = 1}.
Furthermore, the reference of the physical inputs

f d = [n Ad , α d , n Bd ] T is associated to [F Ad , c d , s d , F Bd ] T through (5.66) as follows τ 2 (n Ad , α d , n Bd ) =          p A (n Ad ) 2 cos α d sin α d p B (n Bd ) 2          =          F Ad c d s d F Bd          (5.68)
Since τ 2 is injective, then only τ 1 needs to be studied. More particularly, we will show that there is a δ > 0 such that if

         F Ad c d s d F Bd          ∈ τ 2 (U ξ ) and τ 1          F Ad c d s d F Bd          -τ 1          F A c s F B          < δ then          F A c s F B          ∈ τ 2 (U) (5.69)
where

τ 2 (U ξ ) = {[p A (-n Amax +ξ) 2 , p A (n Amax -ξ) 2 ]×S 2 ×[p B (-n Bmax +ξ) 2 , p B (n Bmax -ξ) 2 ]}.
The function τ 1 is not injective indeed, since

τ 1          F A c s F B          = τ 1          -F A -c -s F B          (5.70)
which comes from the fact that the azimuth thruster can turn 360°. Hence, each force can be generated by two different configurations of the azimuth thruster. Then, a restriction of τ 1 is considered as τ1 :

τ 2 (R + × ] -π, π] × R) → R 3
, which corresponds to forces generated by a positive velocity of the azimuth thruster. Hence, proving (5.69) for τ1 also proves it for τ 1 , since if an antecedent of τ1 belongs to

τ 2 (R + × ] -π, π] × R), it
means that the other antecedent of τ 1 also belongs to τ 2 (U). Now, we state the following lemma:

Lemma 1. ∃ δ > 0 | if          F Ad c d s d F Bd          ∈ τ 2 (U ξ ) and τ1          F Ad c d s d F Bd          -τ1          F A c s F B          < δ, then          F A c s F B          ∈ τ 2 (U)
The proof of Lemma 1 can be found in the appendix B. Moreover, Lemma 1 shows that (F A , c, s, F B ) T ∈ τ 2 (U), since U is symmetric and the second image of the inverse of

τ 2 is [-n A , -α + π, n B ] T instead of [n A , α, n B ] T
. Hence, we have then proved that there exists δ > 0 such that for all t ≥ 0 and z ∈ R 9 verifying ∥z∥ < δ, the following inequality holds

||τ (f ) -τ (α 2 )|| ≤ sup f ∈U ∂τ ∂f (f ) △ =L ||f -α 2 || (5.71)
Step 6 :

The goal of this final step is to prove the local exponential convergence of z to zero. Let us prove that there exists an open neighborhood of the origin H ⊂ R 9 such that

V3 = ⟨∇V 3 (z), F (z, t)⟩ ≤ -χ||z|| 2 , ∀ t ≥ 0 and ∀ z ∈ H (5.72)
Using inequality (5.71) with (5.60) gives

z 2 T (τ (f ) -τ (α 2 )) ≤ (γ||z 2 ||) L γ ||f -α 2 || (5.73)
where the constant γ > 0 is introduced to give more freedom in the choice of the gains

K 2 and K 3 .
Applying the Cauchy-Schwarz inequality on (5.73), we have

z 2 T (τ (f ) -τ (α 2 )) ≤ γ 2 2 ||z 2 || 2 + 1 2 L γ 2 ||f -α 2 || 2 (5.74) Replacing (5.74) into (5.50) yields V3
≤ -z 1 T K 1 z 1 -z 2 T K 2 - γ 2 2 I z 2 -z 3 T K 3 - 1 2 L γ 2 I z 3 (5.75)
where

K 2 > γ 2 2 I and K 3 > 1 2 L γ 2 I.
Then, using the Rayleigh quotient, we have

V3 ≤ -λ min (K 1 )||z 1 || 2 -λ min K 2 - γ 2 2 I ||z 2 || 2 -λ min K 3 - 1 2 L γ 2 I ||z 3 || 2 ≤ -χ||z|| 2 (5.76)
where

χ = min λ min (K 1 ), λ min K 2 - γ 2 2 I , λ min K 3 - 1 2 L γ 2 I (5.77)
Finally, applying Theorem 1 in appendix D gives the local exponential stability.

The conditions obtained above for the gains are quite conservative since the value of L is obtained through (5.71). As the Lyapunov function given by (5.45) does not depend on the gain K 3 , a condition can be established to guarantee local exponential stability, while adapting K 3 in real-time in order to avoid applying high gains on the virtual inputs.

Condition 1 :

If V 3 ≤ β, then K 3 = I Otherwise, if V 3 > β, then V3 is evaluated: If V3 ≤ -σ∥z∥ 2 with K 3 = I and 0 < σ ≤ 1 2 , then this value of K 3 can be kept. Otherwise, if V3 > -σ∥z∥ 2 with K 3 = I and 0 < σ ≤ 1 2 , then the value of K 3 is adjusted to K 3 > 1 2 L γ 2 I.
An additional threshold β on the value of the Lyapunov function V 3 is also introduced.

The value of the gains is kept low even if V3 > -σ∥z∥ 2 , as long as the value of V 3 is below this threshold. While the introduction of this threshold leads to practical stability instead of exponential stability, it allows to avoid possible oscillations of V 3 around the origin in the numerical simulations and in the experimental scenarios as well.

Simulation results

The backstepping controller designed in Section 5.2.2 was implemented in Matlab/Simulink. Its performance and robustness were evaluated for a docking maneuver, where the reference trajectory was generated by a trajectory planner, which calculates the docking trajectory based on the initial position of the vessel and the recorded docking spot. This trajectory planner was first implemented in [START_REF] Wirtensohn | Comparison of advanced control strategies for automated docking[END_REF].

The first aspect of the controller to be investigated was its robustness to modeling errors and to disturbances due to wind, current, and waves. Hence, Solgenia's model is simulated with an error of +10% added to all identified parameters. Besides, the disturbance forces applied to the model of the vessel were generated in simulation and are illustrated in Figure 5.11. For all the following tests, the backstepping parameters were chosen as γ = 20, σ = 0.3, 103 , 10 3 , 10 4 ), respecting the condition obtained after (5.75), K 3 depends on condition 1, and the threshold β is chosen as 10% of the initial value of V 3 . Furthermore, α2 was numerically calculated in Matlab using a differentiator associated with a second-order low-pass filter with a bandwidth of 10Hz.

K 1 = I 3 , K 2 = diag(
As the backstepping guarantees local exponential stability when the physical inputs f belong to the feasible input set U, saturation blocks were used in the Simulink model to implement the thrusters' constraints listed in Table 5.1. In order to simulate the docking maneuver, the initial conditions were x i (0) = 5 m, The progression of the docking maneuver is illustrated in Figure 5.12 and it can be seen that the backstepping controller is robust enough to compensate for the disturbances and the modeling errors, executing the tracking with an error below 20 cm, as shown in Besides the performance analysis of the backstepping itself, a comparison was also considered between the backstepping and the nonlinear PID control with flatness-based feedforward, developed in [START_REF] Wirtensohn | Comparison of advanced control strategies for automated docking[END_REF], under the same conditions as the previous test. The docking maneuver performed by both of the controllers is illustrated in Figure 5. [START_REF] Cutler | Dynamic matrix control -a computer control algorithm[END_REF], where the captured instants of the backstepping controller were some seconds in advance to provide better visualization. For the pose tracking errors, illustrated in Figure 5.20, it can be observed that the backstepping controller presents a slightly better performance in position than the nonlinear PID, as is confirmed by the RMSE values shown in Table 5.2. On the other hand, the nonlinear PID controller presents a better performance for the heading angle ψ with the error value always below 1°, while the maximum ψ error for the backstepping is around

y i (0) = 10 m, ψ i (0) = 0 rad, u i (0) = 0 m/s, v i (0) = 0 m/s, r i (0) =
1.2°.
The performance regarding the body-fixed velocities is similar for both of the controllers, as shown in Figure 5.21. Furthermore, in Figure 5.22, it is illustrated the use of the thrusters for both controllers, and it can be highlighted that the bow thruster has the same velocity profile for both of them and the azimuth thruster was used in a mirrored configuration from 40 s to 85 s for the backstepping compared to the nonlinear PID controller, showing that different configurations of the thrusters can provide the same forces for the thrusters to perform the docking maneuver.

NMPC controller with contraction constraint

In this section, the goal is to reformulate the OCP of the NMPC controller from Section 5.1.3 to be able to provide an NMPC formulation capable of guaranteeing stability while it solves the trajectory tracking problem.

As mentioned in Chapter 3, there is a variety of approaches to guarantee stability for the NMPC controller. Therefore, the approach chosen to be studied in this thesis is based on the work developed in [START_REF] Shen | Trajectory tracking control of an autonomous underwater vehicle using lyapunov-based model predictive control[END_REF], where a Lyapunov-based model predictive control was developed to address the tracking problem for an autonomous underwater vehicle.

This method includes a terminal cost into the cost function combined with a contraction constraint constructed from a nonlinear backstepping control law to guarantee closed-loop stability. From this, the optimal control problem (5.7) can be reformulated as follows:

min u(•,t k ) J = min u(•,t k ) T +t k t k ∥η -η d ∥ 2 Qη + ∥ν -ν d ∥ 2 Qν + ∥f -f d ∥ 2 R f + ∥µ∥ 2 Rµ dt + ∥η(T + t k ) -η d (T + t k )∥ 2 Pη + ∥ν(T + t k ) -ν d (T + t k )∥ 2 Pν (5.78) subject to η = R(ψ)ν (5.79a) ν = M -1 (τ (f ) -C RB (ν)ν -N ν) (5.79b) ḟ = µ (5.79c) n ATMin ≤ n AT ≤ n ATMax (5.79d) n BTMin ≤ n BT ≤ n BTMax (5.79e) µ Min ≤ µ ≤ µ Max (5.79f) ⟨∇V 3 (z), F (z, t)⟩ ≤ 0 (5.79g)
where the thrusters' constraint values are given in Table 5.1 and the constraint in (5.79g)

is the contraction constraint based on the derivative of the control Lyapunov function (5.72) obtained from the nonlinear backstepping controller designed in Section 5.2.2. If the problem is feasible, i.e, if there is an admissible control, then the main idea of this formulation is that, for a small sample time ∆t, the NMPC will find an optimal solution, which ensures that the derivative of the Lyapunov function, calculated using the optimal input values provided by the NMPC, is negative semi-definite in order to guarantee asymptotic stability for the closed-loop.

This new formulation of the NMPC was implemented using the GRAMPC framework and Matlab to verify the controller's performance and if it respected the contraction constraint. The reference trajectories for the states were generated in the same way as explained in Section 5.1 applying n AT (t) = 5, α(t) = 0, and n BT (t) = t + 5. The first test was done using a simple curved trajectory, avoiding the singular set where n AT = 0.

Hence, the initial conditions of the reference trajectory were:

x d (0) = 20m y d (0) = 10m ψ d (0) = 0.2rad u d (0) = 0m/s v d (0) = 0m/s r d (0) = 0rad/s n AT (0) = 5Hz α(0) = 0rad n BT (0) = 5Hz
Nonlinear controllers for trajectory tracking of an USV

88

The NMPC parameters chosen were a sample time ∆t of 0.04 s, which is the same sample time of the real-time system used in the experimental tests on Solgenia, a prediction horizon of 5 s and the following weighting matrices:

Q η = diag(10 2 1 m 2 , 10 2 1 m 2 , 10 3 1 rad 2 ), Q ν = diag(1 s 2 m 2 , 1 s 2 m 2 , 1 s 2 rad 2 ), R f = diag(1 s 2 , 1 1 rad 2 , 1 s 2 )
, R µ = diag(10 s 4 , 10 s 2 rad 2 , 10 s 4 ), P η = diag(10 5 1 m 2 , 10 5 1 m 2 , 10 7 1 rad 2 ), and

P ν = diag(1 s 2 m 2 , 1 s 2 m 2 , 1 s 2 rad 2
). The expression (5.48) was used to implement the constraint (5.79g) where ḟ was replaced by the optimal input values calculated by NMPC and τ (f ) was calculated using (4.33). Moreover, an error of 5 cm was added in y i (0) to evaluate the performance of the controller. Furthermore, the optimal input values were used to calculate the Lyapunov function and its derivative that are depicted in Figures 5.27 and 5.28 respectively. From these figures, it can be noticed that the derivative of the Lyapunov function is indeed negative semidefinite and it takes 30 s to correct the initial error of 5 cm from y due to the asymptotic stability condition of the constraint (5.79g). Other tests were made with the objective of increasing the starting error, however, for errors above 5 cm in x or y for example, the contraction constraint diverges and the GRAMPC is not able to find a solution for the OCP stopping before the end of the simulation. In order to investigate this problem, the same NMPC formulation given by (5.78) and (5.79) was used without the contraction constraint (5.79g) to evaluate two important points: the first one is to ensure that the NMPC without the constraint (5.79g) is able to track the reference with initial errors higher than 5 cm. Then, the second point is to verify if the optimal input values, calculated by the NMPC in this configuration, are able to respect the contraction constraint.

For this test, the same NMPC parameters were used and the initial pose changed to Both of the thrusters are highly requested to compensate for the initial position error as can be seen in Figure 5.32, where the bow thruster saturates and the azimuth thruster is at a high speed during the first 20 s before converging to the reference. The control Lyapunov function and its derivative are depicted in Figures 5.33 and 5.34, demonstrating that the latter is negative semi-definite for the most part of the simulation, except for the peak around 10 s probably caused by a sub-optimal solution since, at this time, the NMPC is trying to compensate the initial error. Therefore the chosen NMPC parameters are suitable to find a sequence of optimal input values that satisfies the contraction constraint. Another test, with more dynamic reference trajectories as a zig-zag maneuver, was made and the NMPC with the contraction constraint was not able to find a solution for the OCP with and without an initial error on the states, leading the GRAMPC to crash and stop at the beginning of the simulation. On the other hand, the NMPC without the contraction constraint was able to track the reference trajectory using the same NMPC parameters as the previous test with an initial error of 5 m in y as shown in Figure 5. 35. Moreover, all the states converge to their reference trajectories as depicted in Figures 5.36 Since it was verified that the chosen NMPC parameters are a suitable option to obtain a negative semi-definite derivative of the control Lyapunov function, the divergence of the contraction constraint, for the NMPC formulation given by (5.78) and (5.79), could be explained by a fault on the implementation of the contraction constraint in the C-file used by GRAMPC. Such implementation demanded the analytic expression of (5.46), as well as the analytic expression of the partial derivatives of (5.46) related to the states and the inputs in C for the gradient method used by GRAMPC. For Solgenia's model combined with an integral action, the process to obtain such expressions became complex, and due to time constraints, this problem was not solved until the day this report was written. Therefore, the ideas of possible solutions and further investigations of this part of the work are provided in Chapter 7.

η i = [

Conclusion

In this chapter, the trajectory tracking problem was addressed by two different control strategies. The first one was the NMPC controller, which was able to consider the thrusters' constraints directly in the optimal control problem. Besides that, the con-Nonlinear controllers for trajectory tracking of an USV 100 troller's performance has demonstrated a high dependency on the choices of the NMPC parameters such as the weighting matrices values and the interval of the state and input constraints.

The other control approach analyzed in this chapter was the backstepping control, for which an exponential local stability proof was obtained and the tracking of a docking maneuver was evaluated, showing its robustness to disturbances and to parameter mismatch of the identified model. Furthermore, a comparison to the nonlinear position PID-Control with flatness-based feedforward was analyzed, showing equivalent performances, with the backstepping controller having a slightly better performance for tracking the position.

After that, the control Lyapunov function found in the development of the backstepping controller was used as a constraint for the NMPC controller combined with a terminal cost in order to guarantee stability in closed-loop. This new formulation of the NMPC was able to satisfy the contraction constraint and to provide a reasonable performance only when there were tiny state errors, otherwise, the GRAMPC was not able to find a solution for the OCP.

An alternative implementation was also assessed where the same NMPC parameters were used and the contraction constraint was not taken into account. For this NMPC controller, it was verified that the GRAMPC was able to find a solution for the OCP through the whole trajectory with a satisfying performance. Furthermore, the optimal control input values were used to calculate the derivative of the Lyapunov function and the results showed that it was negative semi-definite for different reference trajectories, showing that the chosen NMPC parameters were able to provide an optimal solution that satisfies the contraction constraint. Therefore, a future investigation into the implementation will be necessary in order to find the reason for this poor performance of the NMPC with contraction constraint as discussed in the previous section.

The controllers validated in simulation will be tested on the fully-actuated real-scaled vessel Solgenia at the Rhine river in Constance (Germany), which is the main focus of the next chapter.

Chapter 6

Experimental results for trajectory tracking Ultimately, the main goal of developing a controller for USV is to provide the required autonomy for a vessel to perform specific tasks. Therefore, evaluating the performance of the controller not only in simulation but also in an experimental scenario with a real-scaled vessel under real conditions is a crucial step for validation. This chapter is dedicated to analyzing the experimental results obtained with Solgenia at the Rhine river in Constance (Germany). In Section 6.1, a description of the experimental setup and the devices used on Solgenia is provided. After that, in Section 6.2, the experimental outcomes obtained using the NMPC controller are assessed, followed by the evaluation of the backstepping controller's results in Section 6.3. Finally, Section 6.4 concludes this chapter.

Experimental setup

In order to integrate the controller with Solgenia and collect experimental measurements, it is crucial to know the equipment available on Solgenia and what measurements can be provided. Furthermore, the model developed in simulation needs to be loaded into a real-time system that will process the measurements and calculate the control values In the last stage, the Simulink file with the control algorithm was loaded into the Microautobox2, which was then integrated into Solgenia. Subsequently, experimental tests can be carried out using the interface, illustrated in Figure 6.3, to activate the controller that will be tested, record measurements, and so on.

Nonlinear model predictive controller

The NMPC controller designed to solve the optimal control problem described in Section 5.1 using the extended control model, presented in Section 5.2.2, was implemented in Matlab using the GRAMPC framework [START_REF] Englert | A software framework for embedded nonlinear model predictive control using a gradient-based augmented lagrangian approach (GRAMPC)[END_REF].

Even though some disturbances can be modeled, their future behavior cannot be predicted and therefore, an assumption needs to be made. At every step of NMPC, the controller obtains the estimated values of τ d from the UKF, and they are assumed to be constant over the entire prediction horizon in the optimization process. Besides that, the disturbance forces generated from the jetty towards the vessel have a significant effect when the vessel touches the jetty. In this work, such a situation only happens once the docking maneuver is already accomplished, therefore these forces can be neglected. It is important to highlight as well that the structure of the jetty allows the river to flow in its natural direction, which does not generate substantial hydrodynamic disturbance forces that could act on the vessel.

The reference trajectories used in the OCP (η d , ν d , f d ) are calculated by a trajectory planner as in [START_REF] Wirtensohn | Comparison of advanced control strategies for automated docking[END_REF], and the chosen NMPC design parameters were a sample time of 0.04 s, which corresponds to the sampling time from the Microautobox2, a prediction horizon of 5 s and the following weighting matrices values:

Q η = diag(10 6 1 m 2 , 10 6 1 m 2 , 10 7 1 rad 2 ), Q ν = diag(0 s 2 m 2 , 0 s 2 m 2 , 0 s 2 rad 2 ), R f = diag(0.1s 2 , 10 1 rad 2 , 0.1s 2 ) and R µ = diag(10 2 s 4 , 10 5 s 2 rad 2 , 10s 4
). The constraints of the system are given in Table 5.1.

The validation procedure of the NMPC controller has respected the chain of development, described in Section 6.1.2, and the experimental tests were performed at the Rhine river in Constance (Germany) with the goal of tracking a trajectory to reach the university's docking spot. The trajectory planner, first used in [START_REF] Wirtensohn | Comparison of advanced control strategies for automated docking[END_REF], was employed here to calculate the reference trajectory between the known initial pose of the vessel and the docking spot. The different docking maneuvers were carried out directly one after the other using different initial poses and the same design parameters. After collecting all experimental data, the same values of estimated disturbance forces τ d and initial poses were used in simulation to compare both performances.

The first docking scenario tested is illustrated in Figure 6.4 where the vessel was at the left of the docking spot with an initial pose η i = [-3.58, 31.92, -60.73 • ] T . It can be seen that the vessel is capable of performing the docking maneuver correctly during the experiment using Solgenia. According to Table 6.1, the RMSE values between the references and the experimental values are close to those obtained in simulation, showing that the experimental performance was as accurate as the simulation. The vessel's pose tracks correctly its references as shown in Figure 6.5 and the bodyfixed velocities are illustrated in Figure 6.6, where one can observe that the surge and yaw rate, respectively u and r, track the references appropriately. However, the sway velocity v has a more pronounced variation due to the compensation of the lateral disturbance force by the control law that takes into account τ d , which the estimated values are illustrated in Figure 6.8. This compensation is mainly done by the bow thruster, which reaches the maximum of its velocity and saturates at some points as shown by n BT in Figure 6.7. The states that represent the pose of the vessel are able to track the references as shown in Figure 6.10. The body-fixed velocities are illustrated in Figure 6.11, and it can be observed that the experimental sway velocity presents an important variation at the beginning of the trajectory at 20 s and also at the end when the vessel performs the sideway movement to get close to the jetty. These variations were caused by the disturbance forces whose estimates are shown in Figure 6.13, and, as the control law has taken τ d into account, the variations observed in the sway velocity were also evident in Figure 6.12, which shows both thrusters being actively requested to compensate the disturbances.

Moreover, the lateral speed v and the yaw rate r are not zero at the end of the docking maneuver because the experimental data were recorded until the moment that Solgenia ] T as shown in Figure 6.14. From this figure, it can be observed that Solgenia was able to perform the docking maneuver at the Rhine river, however, it is not as accurate as the simulation results. The vessel's pose is illustrated in Figure 6.15 and it shows that the heading angle yaw was not able to track its reference during the first 40 s in the experimental case. In order to correct this, the bow thruster is requested and it acts at the maximum speed as shown in Figure 6.17. Therefore, the sway velocity and the yaw rate present important oscillations during this period as depicted in Figure 6.16. The remaining velocities' variations come from the use of the bow thruster to compensate for the disturbances illustrated in Figure From the comparisons between the experimental and the simulation data for different docking scenarios evaluated above, it can be observed that for the first two cases, the results presented accurate performances with a reasonable position error around 20 cm and for the last docking maneuver the performance was not as precise as the two previous cases, however it was still able to complete the maneuver correctly. Hence, the NMPC controller was validated not only in simulation but also in experimental scenarios.

Backstepping controller

In the same way that the NMPC controller was validated in simulation and in realtime tests, the backstepping controller presented in section 5.2 was also experimentally evaluated using the same UKF to estimate the forces and moment of the disturbance vector τ d and the reference trajectories were generated as in [START_REF] Wirtensohn | Comparison of advanced control strategies for automated docking[END_REF]. The same sample time used for the NMPC was used for the backstepping implementation. Furthermore, based on the proof associated with the backstepping controller given in Section 5.2.2, the gain matrices chosen were K 1 = I 3 , K 2 = diag(500, 500, 5000) and K 3 depends on Condition 1. The real-time tests were performed on Solgenia to execute, once again, docking maneuvers with different initial positions.

The first forward docking started from an initial pose given by η i = [-10, 30, -73.23 • ] T , and the estimated disturbance values obtained during the experiment were applied to the dynamic model of Solgenia in simulation to compare both performances. From Figure 6.19, one can notice that the tracking of the docking maneuver was done correctly both in simulation and in the real-time test. Even though the latter presented higher RMSE values compared to the simulation, as shown in Table 6.4, the experimental performance was still accurate since the RMSE values were below 20 cm. In this scenario, Solgenia was also able to perform the docking maneuver backward as depicted in Figure 6.24. The RMSE values for the experimental and simulated results are given in Table 6.5, showing that the simulation performance was more accurate than the real-time test, the latter presenting a position error slightly above 20 cm, which can still be considered as precise enough for this type of maneuver.

Experimental results for trajectory tracking In this scenario, the states related to the pose and velocities were able to track their reference trajectories and the difference between the simulation performance and the experimental one, shown in Table 6.5, is also depicted in Figures 6.25 and 6.26 respectively.

As in the previous case, the physical inputs illustrated in Figure 6. The last case is a forward docking maneuver starting at η i = [25, 14, -169.91 • ] T that was executed using on one hand a nonlinear PID controller developed in [START_REF] Wirtensohn | Comparison of advanced control strategies for automated docking[END_REF] and, on the other hand, a controller that was designed using the presented backstepping approach. In Figure 6.29, one can see that both controllers were able to precisely perform the docking task. Furthermore, Table 6.6 reveals that the nonlinear PID controller presented a better The physical inputs are shown in Figure 6.32, where one can see that, for both of the controllers, the velocity of the bow thruster presented the same profile. In the case of the azimuth thruster, the nonlinear PID controller requested dynamic changes in velocity and angle, compared to the backstepping controller, which demanded less effort from the azimuth thruster and it still provided a reasonable performance. docking experiments were done using a different configuration for the UKF, which considered directly the velocities of the current instead of the general disturbance forces, improving the performance of the backstepping controller.

Conclusion

In this chapter, the assessment and validation of an NMPC and a backstepping controller to address the trajectory tracking problem for the fully-actuated surface vessel Solgenia were done in real-time tests at the Rhine river in Germany. First, the structure of Solgenia and its equipment were described, followed by an explanation of the process to implement the controllers into the real-time system. Then, the experimental outcomes from the NMPC and the backstepping for tracking a docking maneuver were evaluated, and it was Experimental results for trajectory tracking 127 verified a reasonable performance in real-time, contributing to the lack of literature on experimental results for real-scaled USV using these types of controllers considering the thruster allocation problem.

Chapter 7

Conclusion and Perspectives

This thesis has proposed two different approaches, the nonlinear model predictive control and the backstepping control, to address the trajectory tracking problem for the realscaled fully-actuated surface vessel Solgenia, with the aim of performing a real-time docking maneuver. In order to develop these state-feedback controllers, first it was necessary to obtain an accurate maneuvering model to represent Solgenia's dynamics. Therefore, a 3-DOF nonlinear model was used, whose unknown parameters were identified by employing a parameter identification algorithm, which was based on an optimization process followed by a quality analysis using experimental data collected from maneuvers performed by Solgenia.

Once Solgenia's model was identified and validated, it was used as a control model, combined with a multivariable integral action, to design the controllers. The NMPC approach was chosen since it considers directly the state and input constraints in the OCP, which was responsible for minimizing the tracking error, while it was subjected to the vessel's dynamics and the thrusters' constraints. A study of the relationship between the controller's performance and the NMPC parameters variation and the constraints tightening was done in simulation using the GRAMPC framework and Matlab, showing the high sensibility of the controller to the choice of the NMPC parameters such as the weighting matrices. Then, the NMPC was reformulated to consider the estimated disturbance forces in the dynamic model of Solgenia, assuming that these forces were constant over the prediction horizon. This new formulation was then tested and validated in simulation and also in real-time tests performing a docking maneuver at the Rhine river in Constance (Germany).

The drawback of the aforementioned NMPC formulation is the fact that the closedloop stability cannot be guaranteed. Motivated by this argument, the second approach chosen was the backstepping method taking into account the disturbances and the thruster allocation problem. A local exponential stability proof was provided for this controller and its performance and robustness were assessed and validated first in simulation and then in experimental scenarios executing a docking maneuver as well.

In order to overcome the drawback mentioned above, a new formulation for the NMPC was provided to guarantee closed-loop stability, by adding a terminal cost into the cost function and a contraction constraint, which used the derivative of the control Lyapunov function obtained during the backstepping design. This new NMPC controller was evaluated in simulation, however, the performance results were not satisfactory and the possible causes for that were discussed in Chapter 5.

From the work developed in this thesis, some of the perspectives for future work are:

• The NMPC controller validated in real-time tests on Solgenia presented some saturation at the bow thruster for all maneuvers as discussed in Chapter 6. In order to improve that, the weighting matrices values could be chosen again, where the bow thruster could have a higher penalization, which would possibly avoid saturation.

Another option to be explored would be to use the UKF that is able to provide directly the velocities of the current, as discussed in Chapter 6. As it is assumed that the disturbance is constant during the prediction horizon, having the current's velocity constant could be more accurate than the forces, therefore the performance could improve as well.

• The problem discussed in Chapter 5 related to the implementation of the NMPC

Conclusion and Perspectives

131 with the contraction constraint could be addressed by checking the partial derivatives expressions used in the C-file through a comparison between the value obtained in Matlab and the one obtained in C. Once this problem is treated, the disturbance forces could be considered in this NMPC formulation as well in order to verify its performance. Furthermore, the contraction constraint could be modified to obtain a local exponential convergence as it was obtained for the backstepping controller.

After validating the NMPC controller considering the disturbance forces and the contraction constraint in simulation, then it could be also tested and validated in real-time on Solgenia.

• In Chapter 5, the NMPC with the contraction constraint was evaluated only for the case where the physical inputs are far from the singular case. Therefore, as future work, it would be also interesting to analyze what would be necessary to consider the singular case, where the velocity of the azimuth thruster is zero. Besides, it would be necessary to explore the theory behind this implementation by obtaining theoretical stability proof as it was done for the backstepping controller.

Then, (B.5) can be expanded as

      -F A c -F A s + (F B0 -F B ) L A F A s + L B (F B0 -F B )       ≤ Lζ + δ (B.7)
Consequently,

|-F A c| ≤Lζ + δ (B.8)
|-F A s + (F B0 -F B )| ≤Lζ + δ (B.9)

F A s + L B L A (F B0 -F B ) ≤ L L A ζ + 1 L A δ (B.
L B -L A L A |F B0 -F B | ≤ L 1 + L A L A ζ + 1 + L A L A δ (B.13)
Hence,

|F B0 -F B | ≤ L 1 + L A L B -L A ζ + 1 + L A L B -L A δ (B.14)
In the same way, (B.11) can be multiplied by L B L A then added to (B.12) resulting in

L B -L A L A |F A s| ≤ L 1 + L B L A ζ + 1 + L B L A δ (B.15)
Hence,

|F A s| ≤ L 1 + L B L B -L A ζ + 1 + L B L B -L A δ (B.
|F A | 2 ≤ L 1 + L B L B -L A ζ + 1 + L B L B -L A δ 2 + (Lζ + δ) 2 ≤ 2L 2 1 + 1 + L B L B -L A 2 ζ 2 + 2 1 + 1 + L B L B -L A 2 δ 2 (B.17)
Hence,

|F A | ≤ 2L 2 1 + 1 + L B L B -L A 2 ζ 2 + 2 1 + 1 + L B L B -L A 2 δ 2 (B.18)
Here ζ has to be chosen such that In order to prove the continuity, one explicitly computes τ1 -1 on τ1 (V(ζ)). Then, the following system needs to be solved:

L 1 + L A L B -L A ζ ≤ ξ 2 , and
2L 2 1 + 1 + L B L B -L A 2 ζ 2 ≤ ξ 2 2 (B.

xiii 5 .

 5 33 Lyapunov function value of NMPC without contraction constraint. . . . . . 5.34 Derivative of the Lyapunov function using the input values of NMPC without contraction constraint. . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.35 NMPC without contraction constraint tracking a zig-zag maneuver. . . . . 5.36 NMPC without contraction constraint tracking pose states for a zig-zag maneuver. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.37 NMPC without contraction constraint tracking body-fixed velocity states for a zig-zag maneuver. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.38 Physical inputs generated by NMPC without contraction constraint for a zig-zag maneuver. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.39 Lyapunov function value of NMPC without contraction constraint for a zig-zag maneuver. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.40 Derivative of the Lyapunov function using the input values of NMPC without contraction constraint for a zig-zag maneuver. . . . . . . . . . . . . . . 6.1 Solar boat Solgenia and its equipment. . . . . . . . . . . . . . . . . . . . . 6.2 Stages of hardware-in-the-loop (HIL) test. . . . . . . . . . . . . . . . . . . 6.3 Interface developed on Control desk. . . . . . . . . . . . . . . . . . . . . . 6.4 Docking maneuver with initial pose η i = [-3.58, 31.92, -60.73 • ] T . . . . . . 6.5 Vessel's pose states with initial pose η i = [-3.58, 31.92, -60.73 • ] T . . . . . . 6.6 Vessel's body-fixed velocities states with initial pose η i = [-3.58, 31.92, -60.73 • ] T .108 6.7 Physical inputs for initial pose η i = [-3.58, 31.92, -60.73 • ] T . . . . . . . . . 6.8 Estimated disturbances forces for initial pose η i = [-3.58, 31.92, -60.73 • ] T . 6.9 Docking maneuver with initial pose η i = [33.63, 25.63, -155.27 • ] T . . . . . . 6.10 Vessel's pose states with initial pose η i = [33.63, 25.63, -155.27 • ] T . . . . . . 6.11 Vessel's body-fixed velocities states with initial pose η i = [33.63, 25.63, -155.27 • ] T .111 6.12 Physical inputs for initial pose η i = [33.63, 25.63, -155.27 • ] T . . . . . . . . . 6.13 Estimated disturbances forces for initial pose η i = [33.63, 25.63, -155.27 • ] T . List of Figures xiv 6.14 Docking maneuver with initial pose η i = [20.28, 27.14, -115.74 • ] T . . . . . . 6.15 Vessel's pose states with initial pose η i = [20.28, 27.14, -115.74 • ] T . . . . . . 6.16 Vessel's body-fixed velocities states with initial pose η i = [20.28, 27.14, -115.74 • ] T .114 6.17 Physical inputs for initial pose η i = [20.28, 27.14, -115.74 • ] T . . . . . . . . . 6.18 Estimated disturbances forces for initial pose η i = [20.28, 27.14, -115.74 • ] T . 6.19 Docking maneuver with initial pose η i = [-10, 30, -73.23 • ] T . . . . . . . . . 6.20 Solgenia's pose states with initial pose η i = [-10, 30, -73.23 • ] T . . . . . . . 6.21 Solgenia's body-fixed velocities states with η i = [-10, 30, -73.23 • ] T . . . . . 6.22 Physical inputs for initial pose η i = [-10, 30, -73.23 • ] T . . . . . . . . . . . . 6.23 Estimated disturbances forces for initial pose η i = [-10, 30, -73.23 • ] T . . . 6.24 Docking maneuver with initial pose η i = [25, 14, 10.08 • ] T . . . . . . . . . . . 6.25 Solgenia's pose states with initial pose η i = [25, 14, 10.08 • ] T . . . . . . . . . 6.26 Solgenia's body-fixed velocities states with η i = [25, 14, 10.08 • ] T . . . . . . . 6.27 Physical inputs for initial pose η i = [25, 14, 10.08 • ] T . . . . . . . . . . . . . . 6.28 Estimated disturbances forces for initial pose η i = [25, 14, 10.08 • ] T . . . . . 6.29 Docking maneuver with initial pose η i = [25, 14, -169.91 • ] T . . . . . . . . . 6.30 Pose error for the docking maneuver with initial pose η i = [25, 14, -169.91 • ] T .125 6.31 Velocities errors with η i = [25, 14, -169.91 • ] T . . . . . . . . . . . . . . . . . 6.32 Physical inputs for initial pose η i = [25, 14, -169.91 • ] T . . . . . . . . . . . .

4. 1

 1 Solgenia's identified parameters. . . . . . . . . . . . . . . . . . . . . . . . . 4.2 RMSE values for the comparison of the body-fixed velocities. . . . . . . . . 5.1 Constraints. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Root means square error for backstepping and nonlinear PID. . . . . . . . 6.1 Root mean square error. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2 Root means square error. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3 Root means square error. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4 RMSE values for the backstepping test with η i = [-10, 30, -73.23 • ] T . . . . 6.5 RMSE values for the backstepping test with η i = [25, 14, 10.08 • ] T . . . . . . 6.6 RMSE values for comparison of different controllers executing a docking maneuver. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

  La configuration la plus courante pour ce système est composée d'une hélice et d'un gouvernail, mais il existe également d'autres types de propulsion, par exemple, la propulsion à réaction hydraulique, la propulsion entièrement électrique, etc. De plus, le NSSE peut être classé selon les degrés de liberté (DL) du navire et les directions des forces indépendantes produites par le système de propulsion. Les navires sous-actionnés ont une configuration d'actionneurs qui produit un nombre de forces indépendantes inférieur au nombre de DL utilisé pour représenter le mouvement du navire pour une tâche. Les navires entièrement actionnés sont équipés d'un système de propulsion capable de générer des forces indépendantes dans tous les DL utilisés. Enfin, dans le cas des navires sur-actionnés, le nombre de directions de ces forces est supérieur au nombre de DL du navire. • Système GNC : (Guidage, Navigation et Contrôle) il correspond au cerveau du NSSE puisqu'il est chargé de prendre des décisions et de contrôler les actions du navire en fonction de la mission donnée. Ce système sera exploré plus en détail plus loin dans ce chapitre. • Système de communication : cet élément concerne la communication embarquée entre le système GNC et l'ensemble des capteurs (accéléromètre, gyroscope, etc.), actionneurs (moteurs de propulsion) et autres équipements. De plus, s'il y a une station au sol, une communication sans fil avec elle est également envisagée. • Équipement de collecte de données : outre que les composants susmentionnés, selon l'application, le NSSE est également équipé d'un système de positionnement global (GPS), d'unités de mesure inertielle (IMU), de radars, de sonars, de caméras, de thermomètres, etc. Comme mentionné précédemment, le système GNC est chargé de garantir l'autonomie Introduction (french version) 6 du NSSE et il est formé de trois sous-systèmes appelés guidage, navigation et contrôle dans une configuration illustrée sur la Figure 1.2. Ces sous-systèmes échangent des informations et travaillent les uns avec les autres pour exécuter le mouvement souhaité malgré d'éventuelles forces environnementales, qui sont considérées comme des perturbations pour le sous-système de contrôle [53].

Figure 1 . 2 :

 12 Figure 1.2: Système GNC.

1. 1 a

 1 été utilisé afin d'obtenir au préalable un modèle de commande du navire. Celui-ci a ensuite été utilisé pour concevoir les deux systèmes de commande dont les performances ont été évaluées en simulation puis lors d'essais temp-réel sur Solgenia. Les principales contributions de ce travail sont : • l'obtention d'un modèle dynamique précis pour le navire entièrement actionné et illustré en Figure 1.1 grâce à l'identification non seulement des paramètres hydro-dynamiques du bateau, mais également des paramètres inconnus de son système de propulsion. Ce processus d'identification est basé sur la résolution d'un problème d'optimisation à l'aide de données expérimentales, puis sur une analyse de la qualité du modèle ainsi obtenu afin d'éviter une surparamétrisation de ce dernier. • le développement de solutions pour la résolution du problème de tracking de trajectoire en concevant des lois de commande non linéaires à travers deux approches différentes : la technique du backstepping et la commande prédictive non linéaire (CPNL). La synthèse de ces deux lois de commande a été réalisée en considérant les perturbations devant être compensées (vent, courant, effets non modélisés) et en traitant le problème d'allocation des propulseurs. De plus, une action intégrale multivariable a été ajoutée au modèle dynamique du navire pour augmenter la précision des systèmes de commande. Dans le cas de la commande CNPL, la résolution du problème d'optimisation a été réalisée sur un horizon de prédiction fini au sens d'un horizon fuyant et sous contrainte physique des actionneurs.

Figure 2 . 1 :

 21 Figure 2.1: Research boat Solgenia from the university of applied sciences Constance.

Figure 2 . 2 :

 22 Figure 2.2: GNC system.

Figure 3 . 1 :

 31 Figure 3.1: Representation of the motion variables. Figure from [34].

  7) where X d , Y d are the disturbance force in x b and y b directions respectively and, N d is the moment about z b axis.

  16) where X |u|u , Y |v|v , N |r|r are the quadratic damping in x b , y b , z b directions respectively, and Y |r|v , Y |v|r , Y |r|r , N |v|v , N |r|v , N |v|r are the coupling parameters of the quadratic hydrodynamic damping. Since it is complicated to separate the added mass Coriolis and centripetal terms in C A (ν r ) from the damping terms in D(ν r ), these two terms can be combined resulting in the matrix N (ν r ):

Figure 4

 4

Figure 4 . 1 :

 41 Figure 4.1: Structure of the real-scaled surface vessel Solgenia.

( 4 .

 4 26) is usually highly nonlinear and it is determined by open water tests. Based on a typical propeller open water diagram, an almost linear relationship between K T and J

Figure 4 . 2 :

 42 Figure 4.2: Simplified four quadrant model.

(4. 32 ) where c 1 ,

 321 c 2 and c b are unknown non-dimensional parameters that were identified in Section 4.4. Using the geometric relations shown in Figure 4.1 the forces and torques provided by the actuators are given by

  and also unknown parameters related to the formulation of the thrusters' forces, which are (a 1 , a 2 , b 1 , b 2 , c 1 , c 2 , c b )

Figure 4 . 3 :

 43 Figure 4.3: Standard deviation of the parameters.

Figure 4 . 4 :

 44 Figure 4.4: Correlation matrix of the parameters.

( a )

 a Comparison of body-fixed velocities for a frontal docking maneuver. (b) Input values for a frontal docking maneuver.

Figure 4 . 5 :

 45 Figure 4.5: Validation phase using a frontal docking maneuver.

( a )

 a Comparison of body-fixed velocities for a backward docking maneuver. (b) Input values for a backward docking maneuver.

Figure 4 . 6 :

 46 Figure 4.6: Validation phase using a backward docking maneuver.

( a )

 a Comparison of body-fixed velocities for a sideways and frontal docking maneuver. (b) Input values for a sideways and frontal docking maneuver.

Figure 4 . 7 :

 47 Figure 4.7: Validation phase using a sideways and frontal docking maneuver.

Figure 5 . 1 :

 51 Figure 5.1: MPC scheme [94].

Figure 5 . 2 :

 52 Figure 5.2: Trajectory tracking for different values of prediction horizon.

Figure 5 . 3 :

 53 Figure 5.3: Tracking error for different values of the prediction horizon.

Figure 5 .

 5 [START_REF] Ahn | Adaptive backstepping control of an electrohydraulic actuator[END_REF] shows that, with the values found for the weighting matrices, the controller is capable of achieving a stable behavior with a decreasing tracking error over time, which stabilizes around 1 m after the disturbance effect, demonstrating the controller's high sensitivity to the weighting matrices tuning process. Besides that, with the new weighting Nonlinear controllers for trajectory tracking of an USV 61 values, the controller is able to track the reference trajectories for both pose and velocities states, rejecting the disturbance at 800 s as shown in Figures 5.5 and 5.6. For the physical inputs taken after adding the input disturbance, one can observe in Figure5.7 that the input values, provided by the NMPC, counteract the disturbance effects, allowing them to follow their reference trajectories as well.

Figure 5 . 4 :

 54 Figure 5.4: Tracking error results tuning weighting matrices with T = 30 s.

Figure 5 . 5 :

 55 Figure 5.5: Disturbances rejection at the states representing the position and heading angle for T = 30 s.

Figure 5 . 6 :

 56 Figure 5.6: Disturbances rejection at the body-fixed velocities states for T = 30s.

Figure 5 . 7 :

 57 Figure 5.7: Disturbances rejection at the physical inputs for T = 30 s.

Figure 5 . 8 :

 58 Figure 5.8: Tracking error results varying state constraint.

Figure 5 . 9 :

 59 Figure 5.9: Tracking error results from varying input constraints.

Figure 5 . 10 :

 510 Figure 5.10: Tracking error results from varying input increment constraints.

Figure 5 . 11 :

 511 Figure 5.11: Disturbance forces applied to Solgenia in simulation.

  0 rad/s and the docking position was established as x d (0) = 5.65 m, y d (0) = -4.06 m, ψ d (0) = -2.06 rad.

Figure 5 .

 5 Figure 5.13, demonstrating an accurate performance in simulation.

Figure 5 . 12 :

 512 Figure 5.12: Docking maneuver performed by Solgenia in simulation.

Figure 5 . 13 :

 513 Figure 5.13: Tracking error for the docking maneuver.

Figure 5 . 14 :

 514 Figure 5.14: Lyapunov function V 3 .

Figure 5 . 15 :

 515 Figure 5.15: Derivative of the Lyapunov function.

Figure 5 . 16 :

 516 Figure 5.16: Pose states during the docking maneuver.

Figure 5 . 17 :

 517 Figure 5.17: Evolution of body-fixed velocities during a docking maneuver.

Figure 5 . 18 :

 518 Figure 5.18: Velocities and angle of the thrusters during a docking maneuver.

Figure 5 . 19 :

 519 Figure 5.19: Comparison of backstepping controller and nonlinear PID controller executing a docking maneuver.

Figure 5 . 20 :

 520 Figure 5.20: Position tracking error for backstepping and nonlinear PID controller.

Figure 5 . 21 :

 521 Figure 5.21: Velocities tracking error for backstepping and nonlinear PID controller.

Figure 5 . 22 :

 522 Figure 5.22: Velocities and angle of the thrusters during a docking maneuver.

  The maneuver executed by the vessel with initial state values η i = [20, 10.05, 0.2] T , ν = [0, 0, 0] T and f = [5, 0, 5] T is depicted in Figure 5.23. One can observe that the NMPC controller is capable of tracking the reference trajectory correctly and the states representing the pose and the body-fixed velocities were able to track their reference trajectories as well as shown in Figures 5.24and 5.25 respectively.

Figure 5 . 23 :

 523 Figure 5.23: NMPC with contraction constraint tracking a curved trajectory.

Figure 5 . 24 :

 524 Figure 5.24: NMPC with contraction constraint tracking pose states.

Figure 5 . 25 :

 525 Figure 5.25: NMPC with contraction constraint tracking body-fixed velocity states.

Figure 5 . 26 :

 526 Figure 5.26: Physical inputs generated by NMPC with contraction constraint.

Figure 5 . 27 :

 527 Figure 5.27: Lyapunov function value of contraction constraint.

Figure 5 . 28 :

 528 Figure 5.28: Derivative of the Lyapunov function used in the contraction constraint.

  Figures 5.30 and 5.31 respectively.

Figure 5 . 29 :

 529 Figure 5.29: NMPC without contraction constraint tracking a curved trajectory.

Figure 5 . 30 :

 530 Figure 5.30: NMPC without contraction constraint tracking pose states.

Figure 5 . 31 :

 531 Figure 5.31: NMPC without contraction constraint tracking body-fixed velocity states.

Figure 5 . 32 :

 532 Figure 5.32: Physical inputs generated by NMPC without contraction constraint.

Figure 5 . 33 :

 533 Figure 5.33: Lyapunov function value of NMPC without contraction constraint.

Figure 5 . 34 :

 534 Figure 5.34: Derivative of the Lyapunov function using the input values of NMPC without contraction constraint.

Figure 5 . 35 :

 535 Figure 5.35: NMPC without contraction constraint tracking a zig-zag maneuver.

Figure 5 . 36 :

 536 Figure 5.36: NMPC without contraction constraint tracking pose states for a zig-zag maneuver.

Figure 5 . 37 :

 537 Figure 5.37: NMPC without contraction constraint tracking body-fixed velocity states for a zig-zag maneuver.

Figure 5 . 38 :

 538 Figure 5.38: Physical inputs generated by NMPC without contraction constraint for a zig-zag maneuver.

Figure 5 . 39 :

 539 Figure 5.39: Lyapunov function value of NMPC without contraction constraint for a zig-zag maneuver.

Figure 5 . 40 :

 540 Figure 5.40: Derivative of the Lyapunov function using the input values of NMPC without contraction constraint for a zig-zag maneuver.

Figure 6 . 1 :

 61 Figure 6.1: Solar boat Solgenia and its equipment.

Figure 6 . 2 :

 62 Figure 6.2: Stages of hardware-in-the-loop (HIL) test.

Figure 6 . 3 :

 63 Figure 6.3: Interface developed on Control desk.

Figure 6 . 4 :

 64 Figure 6.4: Docking maneuver with initial pose η i = [-3.58, 31.92, -60.73 • ] T .

Figure 6 . 5 :

 65 Figure 6.5: Vessel's pose states with initial pose η i = [-3.58, 31.92, -60.73 • ] T .

Figure 6 . 6 :Figure 6 . 7 :

 6667 Figure 6.6: Vessel's body-fixed velocities states with initial pose η i = [-3.58, 31.92, -60.73 • ] T .

Figure 6 . 8 :

 68 Figure 6.8: Estimated disturbances forces for initial pose η i = [-3.58, 31.92, -60.73 • ] T .

Figure 6 . 9 :

 69 Figure 6.9: Docking maneuver with initial pose η i = [33.63, 25.63, -155.27 • ] T .

Experimental results for trajectory tracking 111 got

 111 close to the jetty, without waiting for the vessel to stop completely.

Figure 6 . 10 :

 610 Figure 6.10: Vessel's pose states with initial pose η i = [33.63, 25.63, -155.27 • ] T .

Figure 6 . 11 :

 611 Figure 6.11: Vessel's body-fixed velocities states with initial pose η i = [33.63, 25.63, -155.27 • ] T .

Figure 6 . 12 :

 612 Figure 6.12: Physical inputs for initial pose η i = [33.63, 25.63, -155.27 • ] T .

Figure 6 . 13 :

 613 Figure 6.13: Estimated disturbances forces for initial pose η i = [33.63, 25.63, -155.27 • ] T .

  Experimental results for trajectory tracking 113 validates what was observed in Figure 6.14, showing that the experimental RMSE values are far greater than the ones obtained in simulation.

Figure 6 . 14 :

 614 Figure 6.14: Docking maneuver with initial pose η i = [20.28, 27.14, -115.74 • ] T .

6. 18 .

 18

Figure 6 . 15 :

 615 Figure 6.15: Vessel's pose states with initial pose η i = [20.28, 27.14, -115.74 • ] T .

Figure 6 . 16 :

 616 Figure 6.16: Vessel's body-fixed velocities states with initial pose η i = [20.28, 27.14, -115.74 • ] T .

Figure 6 . 17 :

 617 Figure 6.17: Physical inputs for initial pose η i = [20.28, 27.14, -115.74 • ] T .

Figure 6 . 18 :

 618 Figure 6.18: Estimated disturbances forces for initial pose η i = [20.28, 27.14, -115.74 • ] T .

Figure 6 . 19 :

 619 Figure 6.19: Docking maneuver with initial pose η i = [-10, 30, -73.23 • ] T .

Experimental results for trajectory tracking 118 Figure 6 . 20 :

 118620 Figure 6.20: Solgenia's pose states with initial pose η i = [-10, 30, -73.23 • ] T .

Figure 6 . 21 :Figure 6 .

 6216 Figure 6.21: Solgenia's body-fixed velocities states with η i = [-10, 30, -73.23 • ] T .

Figure 6 . 22 :Figure 6 . 23 :

 622623 Figure 6.22: Physical inputs for initial pose η i = [-10, 30, -73.23 • ] T .

Figure 6 . 24 :

 624 Figure 6.24: Docking maneuver with initial pose η i = [25, 14, 10.08 • ] T .

Figure 6 . 28 .

 628 Figure 6.28. Moreover, the distinct configuration for the thrusters in simulation and in the real-time test is shown in Figure 6.27 as well, being more explicit during the first 20 s.

Figure 6 . 25 :

 625 Figure 6.25: Solgenia's pose states with initial pose η i = [25, 14, 10.08 • ] T .

Figure 6 . 26 :Figure 6 . 27 :

 626627 Figure 6.26: Solgenia's body-fixed velocities states with η i = [25, 14, 10.08 • ] T .

Figure 6 . 28 :

 628 Figure 6.28: Estimated disturbances forces for initial pose η i = [25, 14, 10.08 • ] T .

Experimental results for trajectory tracking 124 performance

 124 since its RMSE values are lower than the ones from the backstepping. This fact is clearly observed in Figures 6.30 and 6.31, where the error for the position and body-fixed velocities states were depicted.

Figure 6 . 29 :

 629 Figure 6.29: Docking maneuver with initial pose η i = [25, 14, -169.91 • ] T .

Figure 6 . 30 :

 630 Figure 6.30: Pose error for the docking maneuver with initial pose η i = [25, 14, -169.91 • ] T .

Figure 6 . 31 :

 631 Figure 6.31: Velocities errors with η i = [25, 14, -169.91 • ] T .

Figure 6 . 32 :

 632 Figure 6.32: Physical inputs for initial pose η i = [25, 14, -169.91 • ] T .

  [START_REF] Byrnes | Output regulation for nonlinear systems: an overview[END_REF] where L B > L A . Applying the second triangle inequality in (B.9) and (B.10) yields|F A s| -|F B0 -F B | ≤Lζ + δ (B.11) L B L A |F B0 -F B | -|F A s| ≤ .11) to (B.12) results in

16 )of Lemma 1 152

 161 ProofElevating (B.8) and (B.16) to the square and adding each other yields

  [START_REF] Cutler | Dynamic matrix control -a computer control algorithm[END_REF] which results in|F B0 -F B | ≤ ξ =⇒ |F B | ≤ F Bmax . Moreover, δ has to be chosen such that ξ < min(n ATmax , n BTmax ), then we have that |F A | ≤ ξ =⇒ |F A | ≤ F Amax Therefore (F A , c, s, F B ) T ∈ τ 2 (U)and Lemma 1 is proved for this first case. .21) basically means that the inverse of τ1 is uniformly continuous on τ1 (V(ζ)).

ȲProof of Lemma 1 154 2 AL B + L A 2 (B. 29 )- 1

 122291 =F A s + F B (B.24) N =F B L B -L A F A s (B.25)Multiplying (B.24) by -L A , then adding to (B.25) results inL A Ȳ + N = F B L A + F B L B (B.26)Hence, F B is given byF B = L A Ȳ + N L A + L B (B.27) In the same way, to obtain F A , (B.24) is multiplied by L B , and (B.25) is subtracted from it (L B Ȳ -N ) = (L B + L A )F A s (B.28) Elevating (B.28) and (B.23) to the square and adding each other F As we are considering thatF A ≥ ζ with ζ > 0, since for u = [F A , c, s, F B ] T ∈ V(ζ), is continuous on τ1 (V(ζ)). Furthermore, since V(ζ) is a compact set, τ1 (V(ζ))is also a compact set and τ1 -1 is uniformly continuous on τ1 (V(ζ)). Therefore, property (B.21) is proved.

Table 4 . 1 :

 41 Solgenia's identified parameters.

	m	3100kg	X u -86.5 N m/s

Table 4 . 2 :

 42 RMSE values for the comparison of the body-fixed velocities.

	BF-velocities Frontal docking Backward docking Sideways maneuver
	u[m/s]	0.0565	0.0543	0.0869
	v[m/s]	0.0458	0.0795	0.0368
	r[rad/s]	0.0128	0.0239	0.0109

Besides that, it is important to note that, the measurement values of the thrusters' velocities were obtained in rotations per minute (RPM) and they were transformed in Hz

Table 5 . 1 :

 51 Constraints.

	n ATMin	-33.33 Hz
	n ATMax	33.33 Hz
	n BTMin	-66.67 Hz
	n BTMax	-66.67 Hz
	µ Min µ Max ∆µ Max	[-75 1 s 2 , -1.48 rad s , -100 1 s 2 ] T [75 1 s 2 , 1.48 rad s , 100 1 s 2 ] T [0.5 1 s 2 , 0.0873 rad s , 0.5 1 s 2 ] T

Table 5 . 2 :

 52 Root means square error for backstepping and nonlinear PID.

	States Backstepping RMSE Nonlinear PID RMSE
	x[m]	0.0839	0.0853
	y[m]	0.0302	0.0341
	ψ[rad]	0.0107	0.0054
	u[m/s]	0.0136	0.0075
	v[m/s]	0.0118	0.0079
	r[rad/s]	0.0040	0.0021

Table 6 . 1 :

 61 Root mean square error.

	States Experimental RMSE Simulation RMSE
	x[m]	0.2104	0.2109
	y[m]	0.2319	0.1509
	ψ[rad]	0.0368	0.0308
	u[m/s]	0.0368	0.0186
	v[m/s]	0.0935	0.0516
	r[rad/s]	0.0130	0.0071

Table 6 .

 6

[START_REF] Abdelaal | Predictive path following and collision avoidance of autonomous vessels in narrow channels[END_REF]

shows the RMSE values and, in this case, the simulation performs better than the experimental scenario, but both of them present RMSE values below 20 centimeters, which indicates an accurate performance.

Table 6 . 2 :

 62 Root means square error.

	States Experimental RMSE Simulation RMSE
	x[m]	0.1673	0.0836
	y[m]	0.1686	0.1486
	ψ[rad]	0.0348	0.0313
	u[m/s]	0.03	0.0158
	v[m/s]	0.0668	0.0316
	r[rad/s]	0.0121	0.009

Table 6 . 3

 63

Table 6 . 3 :

 63 Root means square error.

	States Experimental RMSE Simulation RMSE
	x[m]	0.4783	0.1108
	y[m]	0.2708	0.0598
	ψ[rad]	0.0749	0.0168
	u[m/s]	0.0340	0.0168
	v[m/s]	0.1132	0.0325
	r[rad/s]	0.0159	0.0066

Table 6 . 4 :

 64 RMSE values for the backstepping test with η i = [-10, 30, -73.23 • ] T . The states representing the pose and the body-fixed velocities were able to track their references as depicted in Figures 6.20 and 6.21, overcoming the disturbance forces shown in Figure 6.23. Besides the states representing the position, the RMSE values for the heading angle and the body-fixed velocities given in Table6.4 were lower in the simulation than in the experimental test, even if the latter were still reasonable error values.

	States Experimental RMSE Simulation RMSE
	x[m]	0.1362	0.0836
	y[m]	0.2037	0.0455
	ψ[rad]	0.0360	0.0113
	u[m/s]	0.0197	0.0084
	v[m/s]	0.0236	0.0081
	r[rad/s]	0.0089	0.0026

Table 6 . 6 :

 66 RMSE values for comparison of different controllers executing a docking maneuver.

	States RMSE Backstepping RMSE Nonlinear PID
	x[m]	0.1443	0.0269
	y[m]	0.1031	0.0483
	ψ[rad]	0.0334	0.0084
	u[m/s]	0.0208	0.0132
	v[m/s]	0.0262	0.0141
	r[rad/s]	0.0105	0.0074

Acknowledgment

I would like to express my gratitude to my advisors Prof. Olivier Gehan and Prof.

Johannes Reuter for their support, patience, and scientific knowledge throughout my work on this thesis. I would also like to thank Prof. Tomas Menard, for his patience and support, teaching me so much, not only about the theoretical aspects of the work but also about different ways to think and see a problem.

My deep thanks go to Stefan Wirtensohn for the nice cultural exchange that we had and for all his help since day one, from understanding Solgenia to the practical implementation and the tests we did together in Constance. This work could not be done without his help. I also thank the ISD and LIS colleagues for the nice time together. I would also like to thank my family and friends, which supported and encouraged me to never give up even by distance, and a special thanks to my beloved Vinicius who was with me every step of the way, helping me with all of the challenges this thesis has brought me always patient and caring. Finally, I would like to thank everyone that I had the opportunity to meet during these three years in France and in Germany that made part of this journey and directly or indirectly made this work possible.

Abbreviations

General NMPC formulation

Considering a nonlinear system with input and state constraints described by the following model:

(5.1a)

x(0) = x 0 (5.1b)

x(t) ∈ X ⊆ R n , ∀ t ≥ 0 (5.1c)

where x(t) corresponds to the state vector, u(t) is the input vector, f :

is continuous, U is the feasible set of the inputs and X is the feasible set of the states. A straightforward representation of U and X is given by box constraints as follows U := {u ∈ R m |u min ≤ u ≤ u max } (5.2a)

where u min , u max , x min , x max are constant vectors. The finite horizon open-loop optimal control problem that drives the states of the system to the desired reference can be formulated as follows:

is to apply the backstepping method to build a control law that guarantees exponential stability for the system (5.11), i.e. y = x 1 → x ref .

For that, two steps are necessary and the error vectors are defined as:

where β corresponds to the stabilizing function, and x ref is constant, hence ẋref = 0.

Step 1 : The first subsystem considered is the first equation of (5.11), for which the error variable is given by (5.12). Then, the CLF candidate is chosen as

the time derivative of V 1 is given by

From (5.12), one can obtain the time derivative of the error, which results in

Replacing (5.16) and (5.13) into (5.15) yields:

Then, the stabilizing function β is chosen as

where g 1 is a positive gain. Substituting (5.18) into (5.17), results in the final expression

The coupling term ς 1 ς 2 will be canceled in the second step.

Step 2 : In this step, the subsystem to be considered corresponds to the second equation of the system (5.11), and the Lyapunov function chosen is given by

where V 1 is the CLF from step 1, which was used to show that β stabilizes the first subsystem, and the new term in V 2 includes the error variable ς 2 in the Lyapunov analysis.

Hence, the time-derivative of V 2 gives

Replacing (5.19) and taking the time-derivative of (5.13) yields

The control law of the system u is chosen in a way to guarantee exponential stability according to Theorem 1 in appendix D. Hence, we choose

where g 2 is a positive gain. Replacing (5.23) in (5.22) yields

the time derivative of V 1 is given by

The derivative of z 1 is expressed as follows

then, substituting (5.33) into (5.32) yields

The stabilization function vector is chosen as

Replacing (5.35) into (5.34) yields

The term z 1 T R(ψ)z 2 will be canceled in the next step.

Step 2 :

Choosing the Lyapunov function candidate as

The time derivative of V 2 is given by

Step 4 :

In

where z ψ 1 is the heading angle of

T and ψ d is the time-varying reference trajectory for the heading angle. In the same way, the time derivative of the error vector

Replacing ν by (4.20) yields

Then, substituting (5.43) into (5.55) gives

Experimental results for trajectory tracking 102 applied by the actuators.

Solgenia's equipment

Solgenia is a solar surface vessel that is 8 m long and weighs around 3 tons. The solar panels are located on the roof, while the batteries were placed under the floor as illustrated in Figure 6.1. In this figure, it is also depicted the RTK-GPS system, which uses two Trimble (BX982) antennas. The vessel's pose and velocities are provided by the first antenna in an ECI frame with 0.1 m accuracy. Then, these values of pose and velocity are transformed to a local NED frame representation, in which the origin was located in the operation area (university's docking spot in Constance), allowing them to be used as the actual measurements η and η, the latter is then converted to the body-fixed frame to be used in the vessel's dynamic model as ν. Additionally, both antennas are used to provide the yaw angle with an accuracy of 0.1°. Solgenia is also equipped with 3-axis automotive inertial measurement unit (IMU), which measures the rotational velocities in the body-fixed frame, and the propulsion system uses a rotational encoder directly in the propeller shaft to measure the thrusters' velocities.

Another essential device is the Microautobox2 (MABX2) [START_REF] Dspace | Microautobox II[END_REF], which is a real-time system with the IBM PPC 750GL processor (900 MHz), and different input and output connections such as Ethernet, CAN bus, AD/DA converters, etc. The Microautobox2 is responsible for receiving all the data coming from the sensors and, using the controller's model designed on Simulink, it processes this information and calculates the necessary forces or velocities and angle for the azimuth and bow thrusters to perform the designated task.

Chain of development

From the simulation in Matlab to the real-time implementation on Solgenia, intermediate stages of development, illustrated in Figure 6.2, were necessary to efficiently test the

Appendix B Proof of Lemma 1

The restriction τ1 is not injective, except outside of the subspace

The proof of Lemma 2 can be found in appendix C. In order to prove Lemma 1, the following subspace of τ 2 (U) is considered.

where

denotes the distance between u and the set W . Then, the following two cases are considered:

Appendix C

Proof of Lemma 2

In order to prove Lemma 2, i.e. that τ1 is injective, one can use (B.23), (B.24), (B.25).

Then, we have

which implies that

Taking the square of (C.6) and (C.1) and summing up each other gives

which results in Appendix D

Theorems of stability

The following theorem is taken from the book Nonlinear Systems by Hassan K. Khalil third edition [START_REF] Khalil | Nonlinear Systems[END_REF] and it was included in this thesis for the sake of completeness.

for all t ≥ 0 and for all x ∈ D, where k 1 , k 2 , k 3 , and a are positive constants. Then,

Nonlinear Feedback Control System Development for an Autonomous River Shuttle

Abstract:

This thesis presents the development of two different state-feedback controllers to solve the trajectory tracking problem, where the vessel needs to reach and follow a time-varying reference trajectory. This motion problem was addressed to a real-scaled fully actuated surface vessel, whose dynamic model had unknown hydrodynamic and propulsion parameters that were identified by applying an experimental maneuver-based identification process. This dynamic model was then used to develop the controllers. The first one was the backstepping controller, which was designed with a local exponential stability proof. For the NMPC, the controller was developed to minimize the tracking error, considering the thrusters' constraints. Moreover, both controllers considered the thruster allocation problem and counteracted environmental disturbance forces such as current, waves and wind. The effectiveness of these approaches was verified in simulation using Matlab/Simulink and GRAMPC (in the case of the NMPC), and in experimental scenarios, where they were applied to the vessel, performing docking maneuvers at the Rhine River in Constance (Germany).

Keywords: autonomous vessels, trajectory tracking, backstepping control, model predictive control.

Résumé :

Cette thèse porte sur le développement de deux techniques différentes par retour de sortie pour résoudre le problème de suivi automatique de trajectoire, où le bateau doit atteindre et suivre une trajectoire variant dans le temps. Ce problème a été traité pour un bateau entièrement actionné, et dont le modèle dynamique dépend de paramètres hydrodynamiques et du système de propulsion tous deux inconnus et qui ont été identifiés en utilisant une procédure d'identification basée sur des données de manoeuvre expérimentales. Le modèle dynamique du bateau obtenu précédemment a ensuite été utilisé pour le développement des lois de commande. La première loi de commande a été conçue en utilisant une technique de type backstepping et une preuve de stabilité exponentielle locale a été obtenue. La deuxième loi de commande utilise une approche de type commande prédictive non linéaire (CPNL). L'objectif de commande consiste alors à minimiser une fonction coût en tenant compte des contraintes sur les actionneurs. Dans les deux cas, le problème d'allocation des actionneurs a été abordé et traité et les effets des perturbations liées au vent, au courant maritime, etc ont été compensés. L'efficacité des approches présentées dans cette thèse ont été vérifiées en simulation, en utilisant Matlab/Simulink et GRAMPC, ainsi que lors de tests expérimentaux réalisés sur un bateau à échelle réelle dans le cadre de manoeuvres de docking sur le Rhin à Constance (Allemagne).

Mots-clés : navires autonomes, suivi de trajectoire, backstepping, commande prédictive