# Analysis and control of autonomous underwater vehicles with reconfigurable vectoring thrust

Loïck Degorre

► To cite this version:

Loïck Degorre. Analysis and control of autonomous underwater vehicles with reconfigurable vectoring thrust. Automatic. École Nationale d'Ingénieurs de Brest (ENIB); Université de Bretagne Occidentale (UBO), 2023. English. NNT: tel-04400492

HAL Id: tel-04400492

https://hal.science/tel-04400492

Submitted on 17 Jan 2024

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

Public Domain
# THÈSE DE DOCTORAT DE

L'ÉCOLE NATIONALE D'INGÉNIEURS DE BREST

ÉCOLE DOCTORALE N° 647

Sciences pour l'Ingénieur

Spécialité : Robotique - Mécanique

Par

Loïck DEGORRE

## Analysis and control of autonomous underwater vehicles with re-configurable vectoring thrust

Analyse et commande des robots sous-marins autonomes à propulsion vectorielle reconfigurable

Thèse présentée et soutenue à Brest, le 27 Novembre 2023

Unité de recherche : Institut de Recherche Dupuy de Lôme (IRDL) UMR 6027

## Rapporteurs avant soutenance :

Vincent CREUZE Professeur des universités U. Montpellier, Polytech Montpellier - LIRMM

Hugues MOUNIER Professeur des universités U. Paris-Saclay - L2S

## Composition du Jury :

<table><tr><td>Examineurs :</td><td>Frédéric BOYER<br>Claire DUNE<br>Michel FLIESS<br>Thor I. FOSSEN</td><td>Professeur des universités<br>Maître de conférences<br>Directeur de recherche CNRS Emérite<br>Professor</td><td>IMT Atlantique - LS2N<br>U. de Toulon - Lab. COSMER<br>Ecole Polytechnique - LIX<br>Department of Cybernetics - NTNU</td></tr><tr><td>Dir. de thèse :</td><td>Emmanuel DELALEAU</td><td>Professeur des universités</td><td>ENI de Brest - IRDL</td></tr><tr><td>Encadrant :</td><td>Olivier CHOCRON</td><td>Maître de conférences HDR</td><td>ENI de Brest - IRDL</td></tr></table>
<figure><img src="image_1.png" /></figure>
# RÉSUMÉ

La robotique marine a pris de plus en plus d'importance ces dernières années. Le nombre croissant d'applications en surface et sous l'eau incite les chercheurs et les ingénieurs à développer et à améliorer les technologies marines de pointe. La robotique marine est la clé des futures avancées en matière d'exploration marine, de surveillance de l'environnement, de gestion des ressources, d'énergie marine renouvelable et de bien d'autres applications encore à découvrir. À mesure que notre compréhension des océans s'approfondit, la demande en véhicules autonomes avancés capables d'opérer dans ces environnements hostiles n'a jamais été aussi forte. Des applications telles que l'inspection et la maintenance des éoliennes off-shore et des hydroliennes sous-marines sont l'un des maillons manquants de la chaîne qui faciliterait la démocratisation de ces technologies. La robotique marine est l'un des meilleurs candidats pour y parvenir.

Les deux principaux aspects de la robotique marine traités dans ce travail sont la manœuvrabilité et la commande. Ces deux aspects apparaissent comme des points clés pour débloquer de nouvelles applications. La question de la manœuvrabilité et de la mobilité est essentielle pour de nombreuses applications marines. La réponse habituelle pour augmenter la mobilité d'un véhicule est d'ajouter des moteurs. Mais, augmenter le nombre de moteurs augmente également le coût du véhicule et ajoute du poids, ce qui va à l'encontre de l'autonomie et de la facilité de manipulation et de déploiement. Pour concevoir des véhicules autonomes bon marché, économes en énergie et légers, le nombre de propulseurs doit être réduit. De nombreuses solutions existent en dehors du contexte marin pour augmenter le nombre de degrés de liberté actionnés d'un véhicule sans ajouter de nouveaux actionneurs lourds. Pour les véhicules à roues, le *differential drive* et les roues *omni-directionnelles* permettent de libérer un véhicule des contraintes cinématiques des roues habituelles et débloquer de nouveaux degrés de mobilité.

## Propulsion vectorielle reconfigurable

Pour les avions et les bateaux, la solution la plus courante pour améliorer la manœuvrabilité d'un véhicule est la propulsion vectorielle ou reconfigurable. L'idée de la propul-
sion reconfigurable est d'ajouter un ou plusieurs actionneurs légers et des dispositifs mécaniques pour permettre de diriger le vecteur de poussée produit par le propulseur ou le moteur principal. Ce type de technologie est notamment utilisé sur les avions à réaction, dont les tuyères vectorielles augmentent considérablement les capacités. Certains systèmes de poussée vectorielle permettent même des manœuvres contre-intuitives comme le décollage et l'atterrissage verticaux des avions à réaction.

La propulsion vectorielle est utilisée depuis de nombreuses années sur les véhicules marins. Le moteur hors-bord orientable d'un bateau particulier est un bon exemple de système de propulsion vectorielle. En tournant la barre, le pilote dirige le vecteur de poussée de l'hélice par l'intermédiaire d'un système mécanique, généralement à commande hydraulique. Un moteur principal et un actionneur supplémentaire (le pilote dans cet exemple) permettent d'actionner deux des trois degrés de liberté du bateau. Le principal avantage de ce type de technologie par rapport aux surfaces de contrôle traditionnelles est que le vecteur de poussée (amplitude et direction) est indépendant de la vitesse du véhicule. Cela permet une plus grande manœuvrabilité que les navires équipés de gouvernails, par exemple.

De nombreuses technologies de propulsion reconfigurable pour les véhicules marins autonomes suivent ce même principe. Mais, comme le montre ce travail, ces solutions ne sont pas exemptes de défauts, surtout lorsqu'elles sont mises en place sur de petits systèmes. Le principal défaut lié à l'utilisation de propulseurs vectoriel positionnés à l'arrière du véhicule est l'apparition d'effets de couplage. Notamment, dans la majorité des cas, ces propulseurs sont utilisés pour générer des forces transversales excentrées créant des moments sur le corps du robot. Le plus souvent, les moments ainsi générés sont utilisés comme variable d'entrée dans la commande des véhicules mais les effets de forces transversaux sont négligés. La robustesse naturelle du véhicule aux perturbations de force en embardée et en pilonnement est alors mise en jeu. Sur des gros véhicules dont la coque est optimisée pour favoriser les mouvements d'avance et de rotation, les effets de force latérale sont principalement amortis. En revanche, sur de plus petits véhicules ayant des formes moins optimales (cylindrique, sphérique ou à coque plate par exemple), la stabilité naturelle en embardée et en pilonnement peut ne pas être assez robuste pour amortir les effets des forces perturbatrices. Dans ce cas, les propulseurs reconfigurables conventionnels ne sont pas indiqués car bien que la stabilité du système puisse être démontrée mathématiquement, ils sont susceptibles de créer des comportements oscillants ou perturbés. Des essais en simulations montrent que ces effets de force perturbateurs peuvent empêcher le
véhicule de remplir sa mission.

La preuve de concept d'une nouvelle solution est donc proposée dans ce travail et mise en pratique sur un nouveau robot : *PlaSMAR*. L'idée est d'avoir des paires de propulseurs parallèles se déplaçant et tournant autour de la coque du véhicule. L'effet combiné des deux propulseurs est contrôlé pour générer soit une force orientable et un moment stationnaire, soit pour diriger l'axe d'un moment avec une force constante. Étant donné que les propulseurs sont manipulés par paires parallèles, aucun effet de couplage n'est créé.

Le robot PlaSMAR est présenté comme une preuve de concept de cette nouvelle solution propulsive. L'étude de la matrice de configuration de propulsion (TCM) correspondant à deux configurations possible de PlaSMAR et les résultats de simulation exposés dans ce travail montrent que l'anneau rotatif permet effectivement d'ajouter un nouveau DOF au véhicule sans créer de nouveau effets de couplage perturbateur. Ce nouveau concept de reconfiguration semble donc être une solution mieux adaptée aux petits véhicules.

Les deux configurations de PlaSMAR présentées apportent de nouvelles solutions aux problèmes traditionnels de commande des véhicules sous-marins. La première configuration ajoute un nouveau degré de liberté actionné et indépendant des autres : l'embardée. Elle facilite les tâches de suivi de position.

La deuxième configuration permet d'actionner le tangage. Dans ce cas, ce nouveau degré de liberté peut être utilisé soit en tant que tel, pour générer un moment de tangage sur le véhicule, soit pour compenser l'angle de roulis du véhicule et maintenir les propulseurs montés sur l'anneau dans le plan horizontal du repère inertiel. Ces deux solutions améliorent les performances du véhicule pour les tâches présentées ici. Il faut aussi noter que l'anneau rotatif arrière avec deux propulseurs permet de reproduire l'actionnement en cavalement, tangage et lacet utilisé sur de nombreux véhicules sous-marins habituels.

Cette nouvelle technologie fera l'objet d'études plus approfondies. En particulier, l'actionnement de l'anneau rotatif n'a pas encore été réglé. De même, l'opération d'allocation des poussées n'est pas triviale sur ce système. Une première solution est néanmoins présentée facilitant la commande. Cette solution ne prend pas en compte la dynamique de l'anneau ni celle des propulseurs. Des travaux supplémentaires sur l'hélice et la dynamique de reconfiguration sont nécessaires pour optimiser la répartition. L'un des axes à étudier est l'extension du modèle du système pour introduire le modèle de l'anneau. Ainsi, l'entrée du système ne sera plus uniquement le vecteur d'efforts appliqués au robot mais un vecteur contenant les poussées des propulseurs et l'angle du ou des anneaux rotatifs.
# Commande

Le deuxième levier pour augmenter la maniabilité des systèmes robotiques marins est l'association de la commande et du guidage. De manière générale, la commande fait référence à l'ensemble des lois et des calculs utilisés pour calculer les entrées d'un système pour qu'il suive une tâche donnée. Sur les véhicules marins, les entrées sont généralement les forces générées par les propulseurs et les angles des éventuelles surfaces de contrôle ou des systèmes de propulsion vectorielle. Des calculs basés sur le modèle cinématique et dynamique du véhicule sont alors effectués et optimisés pour accomplir au mieux la tâche. La plupart des lois de commande utilisées dans ce travail suivent l'approche basée modèle et supposent que l'état du véhicule et son modèle sont parfaitement mesurés. Il s'agit de deux hypothèses fortes mais nécessaires. L'estimation du modèle d'un véhicule marin et la mesure de son état sous l'eau sont deux sujets de recherche en cours. Pour que ces hypothèses soient raisonnables, les lois de commande sont conçues pour être aussi robustes que possible vis-à-vis des approximations du modèle, des incertitudes, des perturbations et des erreurs de mesure.

Les lois de commande sont associées à des principes de guidage transformant la tâche en références que le véhicule peut suivre. Hérités de la tradition navale, les algorithmes de guidage permettent par exemple de transformer une coordonnée géographiques en références d'avance et de cap pour la vaisseau. Ces références sont ensuite utilisées dans la loi de commande et le système est asservi dessus.

La solution la plus répandue pour le guidage est le guidage par *Ligne de vue* ou *Ligne de Mire* (LOS). La ligne de vue reproduit le comportement d'un capitaine expérimenté. Le principe est de pointer le véhicule vers une cible éloignée, un point de passage, et d'avancer tout droit dans sa direction. Ce comportement a été étendu au scénario de suivi de chemin où, au lieu de pointer directement vers le prochain point de passage, le véhicule est asservi sur un chemin reliant deux points consécutifs. Il est donc pointé vers un point se déplaçant sur le chemin et dont l'évolution peut faire partie des variables de la commande. Suivant l'héritage naval, la LOS est notamment adaptée au contrôle de véhicules actionnés en cavalement et en lacet en surface, ou en cavalement, en tangage et en lacet sous l'eau. C'est la méthode la plus utilisée dans la recherche et l'industrie. Elle couvre facilement la majorité des tâches de suivi de chemin à grande échelle mais elle est moins adaptée aux tâches de suivi de trajectoire ou aux systèmes ayant des configurations d'actionnement différentes. Les références générées par le guidage en LOS sont
ensuite fournies à une loi de commande, le plus souvent basée sur un PID. Les modèles des véhicules marins étant non-linéaires, les correcteurs PID sont souvent associés à des mécanismes de linéarisation. L'intérêt de cette procédure est d'annuler les termes non-linéaires du modèle dans la boucle fermée pour faciliter l'action du PID. Plusieurs méthodes existent, utilisant soit les valeurs courantes des termes non-linéaires du modèle, soit des valeurs nominales désirées, soit encore une association de termes courants et nominaux. Dans tous les cas, les termes non-linéaires de la boucle fermée sont annulés au voisinage de la trajectoire. Quand le véhicule s'écarte trop de la trajectoire en revanche les termes d'anticipation peuvent être déstabilisants. Dans les cas sous-actionnés où la LOS ne peut pas être utilisée, des mécanismes de guidage doivent être ajoutés. Deux solutions sont mises en avant dans ce travail. La première consiste à réduire l'espace de travail de manière à créer de nouvelles relations non-diagonales entre les degrés de libertés sollicités dans la tâche et les degrés de liberté du robot. La seconde, détaillée ci-après, consiste à introduire une matrice de guidage cinématique non-diagonale notée $\mathcal{H}$ qui permet de commander certains degrés de liberté non-actionnés au travers des couplages cinématiques. Le troisième type de loi de commande le plus commun en robotique marine est la commande en mode glissant (SMC). L'avantage du SMC dans le cas des véhicules sous-actionnés est qu'il permet facilement d'intégrer le guidage à la commande. En effet, par construction de la loi de commande, il est possible de calculer les surfaces de glissement utilisées pour calculer l'entrée sur un degré de liberté à partir des signaux d'erreur d'un autre degré de liberté. Ce faisant, la construction même de la loi de commande intègre des relations non-diagonales qui permettent de commander un degré de liberté non actionné au travers des couplages dynamiques du système.

La première solution proposée introduit un nouveau principe de guidage cinématique basé sur le modèle. Le principe de cette méthode est relativement simple. Un point traquant est introduit sur le véhicule. Ce point peut représenter le point focal d'une caméra ou le point d'action d'un effecteur. C'est ce point qui sera asservi sur la trajectoire à la place du centre du repère mobile traditionnellement utilisé. Ce point introduit de nouvelles relations cinématiques dans le modèle. En particulier, les vitesses linéaires en ce point sont en fait des fonctions de vitesses linéaires et angulaires du centre du véhicule par effet de levier. Étant donné que la plupart des véhicules marins sont actionnés en rotation par simplicité mais sont utilisés sur des tâches où le contrôle de la position est primordial, ces nouvelles relations sont particulièrement intéressantes. L'idée est donc de calculer des références de vitesses angulaires au centre du repère mobile du véhicule permettant de
générer les vitesses linéaires demandées par la tâche au point traquant. Pour ce faire, une matrice de gain non diagonale basée sur le modèle cinématique du véhicule est introduite : $\mathcal{H}$.

L'avantage majeur de cette méthode est que le comportement du point traquant dans le repère inertiel peut être choisi exactement, bien que les translations du véhicules ne soient pas actionnées directement. Le contrôleur peut donc être utilisé pour permettre à des véhicules sous-actionnés par rapport à une tâche de suivi de position de la remplir. Il est notamment appliqué sur des scénarios de suivi de trajectoire et de suivi de chemin. En suivi de trajectoire, la tâche est définie en terme de position, de vitesse et d'accélération et est contrainte temporellement. En suivi de chemin, le véhicule suit une route entre des points de passage sans contrainte temporelle. Le premier scénario permet des applications à petite échelle mais de grande précision alors que le deuxième est plutôt adapté à des applications de grande échelle, où la composante temporelle et le comportement du véhicule entre les points de passage ne sont pas prioritaires.

Les résultats de simulation montrent que la commande donne de très bons résultats sur les tâches auxquelles elle est soumise. Notamment, elle permet de commander le robot *RSM* actionné en cavalement, pilonnement, roulis et lacet sur des tâches sollicitant les trois translations et le cap. La loi de commande permet d'exploiter le roulis du véhicule qui n'est pas requis dans la tâche pour compenser par le guidage l'absence d'actionnement en embardée. Elle fournit en fait plusieurs solutions, une où le roulis est utilisé pour la compensation et une où c'est le lacet qui est utilisé. Bien que semblant plus naturelle, cette deuxième solution montre de moins bonnes performances sur les tâches testées. En effet, le degré de liberté utilisé pour la compensation ne peut pas être commandé. Le lacet étant principalement utilisé pour commander le cap du véhicule dans le repère inertiel, il est perdu s'il est utilisé pour la compensation et la tâche ne peut pas être complètement remplie.

Le deuxième cas d'application intéressant est la commande du robot *Remus100* sur une application de suivi de chemin. Le robot *Remus100* est représentatif de la principale classe de robots sous-marins: les robots torpilles actionnés en cavalement, tangage et lacet. Ces véhicules sont traditionnellement utilisés sur des tâches de grande échelle où ils suivent des chemins définis en position. Le contrôleur basé sur la matrice $\mathcal{H}$ a donc été appliqué au robot *Remus100* sur l'une de ces tâches. Les résultats de simulation montrent que malgré les limitations de rayons de giration et de variation de vitesse de ce genre de véhicule, la tâche est parfaitement remplie. En fait, ce cas permet de montrer que ce
nouveau principe de guidage permet de choisir facilement une solution pour le problème de suivi de particule. Ce problème est représentatif à la fois d'une problématique de suivi de chemin et de problématiques de type *leader/follower*. La loi de commande pourrait par exemple être utilisée pour asservir un robot (follower) sur un autre système remplissant une tâche quelconque (follower). La démonstration de stabilité basée sur le critère de Lyapunov et obtenue par *back-stepping* est donnée dans ce travail.

Une deuxième solution mêlant guidage et commande est aussi présentée. Cette solution s'appuie sur le concept de la *platitude différentielle*. La platitude est une caractéristique inhérente d'un système qui permet d'établir une loi de commande basée modèle qui a été démontrée comme étant particulièrement robuste aux approximations de modèle et aux bruits de mesure. La platitude s'apparente à la notion de commandabilité d'un système linéaire mais pour les systèmes non-linéaire. La platitude semble donc tout indiquée pour la commande des véhicules marins et sous-marins.

Pour construire une loi de commande basée sur la platitude, il faut d'abord montrer que le système à commander est *plat*. Un système plat est un système dont l'ensemble des variables (état et entrées) peut être exprimé comme un ensemble de fonctions d'une sortie particulière nommé la *sortie plate* (et de ses dérivés) sans avoir à exprimer d'équation différentielle. Les équations de la platitude représentant les variables du système en fonction de la sortie plate sont utilisées pour établir une commande basée modèle du système. Elles permettent aussi de calculer des valeurs désirées ou nominales des variables du système utilisées dans la commande pour la linéarisation.

Plusieurs exemples de la littérature montrent que le modèle représentant un véhicule de surface n'est pas naturellement plat. Les termes de couplage de masses ajoutées et de frottement introduisent des couplages dynamiques dans le modèle qui empêchent de montrer la platitude. En revanche, un cas simplifié du véhicule de surface, l'Hovercraft (ou aéroglisseur), a une forme circulaire et une répartition de masse homogène qui permettent de montrer la platitude. L'idée est donc d'établir une commande basée sur la platitude en utilisant le modèle de l'Hovercraft, puis de l'appliquer au modèle générique du véhicule de surface en utilisant les propriétés naturelles de robustesse de la platitude.

Les résultats de simulation présentés dans ce travail montrent que la commande calculée en passant par le modèle simplifié de l'hovercraft se comporte aussi bien sur l'hovercraft que sur un véhicule de surface. Les performances de suivi de trajectoire dans le cas sans courant sont presque parfaites tant que le véhicule reste à proximité de la trajectoire. En revanche, et c'est une des faiblesse majeure de la commande par platitude
et par linéarisation par feedforward en général, quand le système s'écarte trop de la trajectoire désirée, la stabilité n'est plus assurée. En effet, comme les valeurs nominales des variables du modèle sont utilisées dans la commande, les termes non-linéaires du systèmes dans la boucle fermée s'annulent quand le système est au voisinage de la trajectoire mais deviennent de plus en plus importants quand il s'en écarte. Aussi, bien que la platitude soit particulièrement robuste aux approximations de modèle, quand le véhicule simulé est très éloigné des hypothèses de forme et de distribution de masse de l'hovercraft (s'il est particulièrement plus long que large par exemple) et qu'il est soumis à des perturbations comme un courant marin, le contrôleur atteint sa limite et peut diverger. Pour corriger ces deux écueils, la commande basée sur la platitude est associé à une commande proportionnel dérivé intelligente (iPD).

Le iPD est une commande de type adaptatif basée sur le PID. Elle contient une fonction d'adaptation, en général basée sur les filtres dit ALIEN, qui estime à chaque échantillon les perturbations auxquelles le système est soumis sans les différencier. Tous les effets perturbateurs sont regroupés en une seule valeur ou un seul vecteur. La commande est calculée en utilisant un modèle linéaire dit *ultra-local* représentant le système pendant un très court instant. Le iPD est mis en avant comme étant une solution générale pour remplacer les correcteurs basés PID.

Ici, le iPD est calculé sur le système représentant la différence entre la commande du système et la commande nominale calculée par la platitude. Il compense les comportements problématiques de la commande par platitude quand le système est trop loin de la trajectoire ou que les différences entre le modèle réel et le modèle de l'hovercraft sont trop grandes. Les performances du correcteur associant platitude et iPD sont démontrées en simulation. L'ajout du iPD permet effectivement d'assurer la stabilité du système même quand il s'éloigne de la trajectoire. Le iPD permet aussi d'estimer et d'annuler les effets non modélisés dus aux différences de modèle et aux perturbations extérieures augmentant ainsi la robustesse de la loi de commande originale.

Jusqu'à présent, la commande par platitude avec le iPD n'a été appliqué qu'aux véhicules de surface. Des travaux supplémentaires permettront assez facilement de l'appliquer au modèle du véhicule sous-marin. Considérant les résultats prometteurs sur le véhicules de surface, la commande semble adaptée aux véhicules sous-marins actionnés en cavalement, tangage et lacet pour des tâches de suivi de trajectoire en position.
Conclusion

Ce travail s'inscrit à la suite d'une longue série de travaux sur la conception et la
commande des véhicules marins. De nombreux types de lois de commande et de principes
de guidage pour les véhicules de surface et sous-marins ont été introduits et étudiés en
détail. Toutes les solutions issues de la littérature montrent des performances théoriques
équivalentes. Elles garantissent toutes la stabilité globale ou semi-globale du système,
même en présence de perturbations externes et de mesures bruitées.

Des travaux supplémentaires seront nécessaires pour comparer concrètement les dif-
férentes méthodes, à la fois sur le plan mathématique et sur des véhicules expérimentaux.
Il est très difficile de classer les méthodes car leurs performances dépendront probablement
du système lui-même. D'autres paramètres devront être pris en compte, comme le temps
de calcul, les effets de l'échantillonnage numérique ou l'impact de mesures de mauvaise
qualité.

Un nouveau principe de guidage cinématique basé sur la matrice pratique $\mathcal{H}$ est in-
troduit. Ce nouveau principe permet de commander un véhicule sous-actionné ou mal
actionné en utilisant les couplages cinématiques entre une translation non actionnée et
une rotation actionnée. La commande est asymptotiquement stable et robuste aux per-
turbations externes et aux bruits de mesure. Elle est facilement étendue à d'autres types
de systèmes grâce aux règles de conception et à l'algorithme de calcul de la matrice. Ces
résultats permettent également d'évaluer les capacités d'un AUV donné et de déterminer
les tâches pour lesquelles il est adapté.

Cette commande a été appliquée avec succès dans des scénarios de suivi de trajectoire
et de suivi de chemin. Le suivi de trajectoire a été effectué sur le Remus100, un AUV
représentant la classe des véhicules *uqr* en forme de torpille. La loi de commande basée sur
la matrice $\mathcal{H}$ permet de résoudre le problème de suivi de trajectoire de plusieurs manières.
L'utilisation de la commande basée sur la matrice $\mathcal{H}$ permet de choisir avec précision le
comportement du point de suivi du véhicule. Dans le cas du suivi de trajectoire, par
exemple, il permet de trouver des solutions simples basées sur le PID pour le critère de
stabilité de Lyapunov. Dans de futurs travaux, la commande pourra être utilisée dans
d'autres applications du back-stepping pour accomplir différents types de tâches.

L'application de la commande à un véhicule physique serait utile pour évaluer ses
performances en conditions réelles. Il est notamment très difficile d'anticiper le comporte-
ment de la loi de commande en ce qui concerne l'échantillonnage numérique, la latence
du calculateur embarqué ou les erreurs de mesure irrégulières.

Une commande basée sur la platitude a également été développée dans le cas simple des navires de surface. La commande basée sur la platitude semble être un concurrent de taille pour la commande des véhicules marins car elle s'avère très robuste à l'approximation du modèle et aux perturbations externes. Dans ce travail, une commande basée sur la platitude a été calculée pour les navires de surface en utilisant le modèle simplifié de l'Hovercraft. La commande a été développée dans l'hypothèse d'une forme de coque circulaire et d'une distribution uniforme de la masse, mais elle a été appliqué avec succès à un navire de surface générique.

La commande basée sur la platitude comprend naturellement un principe de guidage. Il permet de calculer une force de poussée et un moment de lacet à partir de deux signaux de position. Les équations de platitude obtenues dans cet exemple pourraient également être utilisées comme principe de guidage avec un autre type de contrôleur.

Pour accroître la robustesse et contrecarrer le comportement potentiellement problématique de la commande basée sur la platitude quand le système s'éloigne de la trajectoire souhaitée, la loi de commander a été associée à un correcteur proportionnel dérivé intelligent. L'IPD augmente la robustesse déjà impressionnante de la commande basée sur la platitude et résout efficacement les problèmes causés par la linéarisation par anticipation lorsque le véhicule se trouve en dehors de la limite acceptable autour de la trajectoire souhaitée. La commande combinée est stable et robuste aux perturbations externes et aux bruit de mesure.

Enfin, de nouveaux résultats sur la poussée vectorielle appliquée aux véhicules légers ont été présentés. Des simulations ont notamment été menées pour montrer que l'utilisation de propulseurs vectoriels excentrés n'est pas adaptée à tous les types de véhicules. Bien qu'ils soient naturellement bornés, les effets de force de couplage générés par les propulseurs vectoriels peuvent compromettre la mission des véhicules trop légers ou des véhicules qui n'ont pas de résistance naturelle aux perturbations en force transversale.

Un nouveau mode de propulsion vectorielle pour les véhicules sous-marins autonomes a également été présenté. Alors que les propulseurs vectoriels sont généralement utilisés pour contrôler les moments par le biais de couplages dynamiques, les résultats de simulation montrent qu'ils peuvent également être utilisés pour contrôler les forces. Ce nouveau mode de commande en force s'avère particulièrement utile pour les missions où la commande en moment n'est naturellement pas adaptée. C'est notamment le cas des missions autonomes d'amarrage ou de positionnement dynamique.
La preuve de concept d'un nouveau type de système de poussée vectorielle a également été proposée. Le nouveau système repose sur des paires de propulseurs parallèles montés sur un anneau capable de tourner autour de sections cylindriques de la coque d'un véhicule. Ce mouvement de rotation peut être utilisé pour diriger le vecteur de force généré par la paire de propulseurs tout en maintenant un axe de moment stationnaire. Lorsque les propulseurs sont alignés sur l'axe de rotation de l'anneau, il est possible de diriger l'axe du moment généré par la paire de propulseurs tout en maintenant le vecteur de force aligné sur le corps du véhicule. Il est démontré que ce deuxième mode débloque aussi un nouveau DOF pour le véhicule et permet de compenser les perturbations dues au roulis.

La prochaine étape consiste à concevoir et à construire une deuxième version de la plateforme d'essai et à étudier les solutions possibles pour l'actionnement de l'anneau. Des couplages magnétiques optimisés seront étudiés car ils permettraient de piloter la rotation de l'anneau depuis l'intérieur de la coque, ce qui éviterait de percer des trous dans la coque.

D'autres travaux seront menés sur la commande de ce véhicule. Une loi de commande prenant en compte la dynamique de l'anneau serait intéressante et pourrait s'avérer nécessaire. Le modèle du véhicule devrait être étendu pour prendre en compte le comportement de l'anneau et inclure l'angle de l'anneau comme nouvelle entrée de commande. De même, des recherches supplémentaires sur l'optimisation de la procédure d'attribution sont nécessaires pour améliorer les performances.

Dans l'ensemble, ce travail propose plusieurs solutions pour accroître la manœuvrabilité des embarcations marines sous-actionnées grâce à la commande et à de nouvelles conceptions mécaniques.
<figure><img src="image_2.png" /></figure>
# TABLE OF CONTENTS

<table><tr><td>Introduction</td><td>1</td></tr></table>

<table><tr><td>1 Model and Task</td><td>6</td></tr></table>

<table><tr><td>1.1 Modeling of Marine Vehicles</td><td>7</td></tr><tr><td>1.1.1 Framework</td><td>7</td></tr><tr><td>1.1.2 Kinematic Model</td><td>9</td></tr><tr><td>1.1.3 Dynamic Model</td><td>12</td></tr></table>

<table><tr><td>1.2 Propulsive configuration</td><td>17</td></tr><tr><td>1.2.1 Thruster Configuration Matrix</td><td>18</td></tr><tr><td>1.2.2 Reconfigurable thrusters</td><td>25</td></tr><tr><td>1.2.3 Remark on the effects of coupled actuators</td><td>29</td></tr></table>

<table><tr><td>1.3 Remarks</td><td>32</td></tr><tr><td>1.3.1 Limitation of reconfiguration speed</td><td>32</td></tr><tr><td>1.3.2 Limitation of thrust variation</td><td>34</td></tr><tr><td>1.3.3 Modeling sea currents</td><td>34</td></tr><tr><td>1.3.4 Modeling measurement noise</td><td>35</td></tr><tr><td>1.3.5 Trajectory generation</td><td>35</td></tr></table>

<table><tr><td>1.4 Task description</td><td>37</td></tr><tr><td>1.4.1 Degrees of Freedom of a task</td><td>37</td></tr><tr><td>1.4.2 Scenarios</td><td>39</td></tr><tr><td>1.5 Underactuation</td><td>41</td></tr></table>

<table><tr><td>2 Literature review</td><td>44</td></tr></table>

<table><tr><td>2.1 Line of Sight Guidance</td><td>46</td></tr><tr><td>2.2 PID Control</td><td>53</td></tr><tr><td>2.2.1 Examples of linearizing controllers</td><td>55</td></tr><tr><td>2.2.2 Application to Fully Actuated Vehicles</td><td>57</td></tr><tr><td>2.2.3 Application to Underactuated Vehicles</td><td>62</td></tr></table>

<table><tr><td>2.3 Differential Flatness</td><td>66</td></tr></table>
<table><tbody><tr><td>2.3.1</td><td>Application to Fully actuated vehicles</td><td>67</td></tr><tr><td>2.3.2</td><td>Application to Underactuated Vehicles</td><td>69</td></tr><tr><td>2.4</td><td>Sliding Mode Control</td><td>70</td></tr><tr><td>2.4.1</td><td>Application to Fully Actuated Vehicles</td><td>73</td></tr><tr><td>2.4.2</td><td>Application to Underactuated Vehicles</td><td>80</td></tr><tr><td>2.5</td><td>Adaptive Control</td><td>85</td></tr><tr><td>2.5.1</td><td>Intelligent PID</td><td>86</td></tr><tr><td>2.6</td><td>Conclusions on the literature review</td><td>89</td></tr><tr><td>3</td><td>Matrix H</td><td>90</td></tr><tr><td>3.1</td><td>Theoretical Example</td><td>91</td></tr><tr><td>3.1.1</td><td>Intuitive controller in the fully actuated case</td><td>92</td></tr><tr><td>3.1.2</td><td>Kinematic guidance in the underactuated case</td><td>93</td></tr><tr><td>3.2</td><td>Kinematic application</td><td>97</td></tr><tr><td>3.2.1</td><td>Interest of a tracking point</td><td>97</td></tr><tr><td>3.2.2</td><td>Unitary cases</td><td>98</td></tr><tr><td>3.2.3</td><td>Algorithm for the calculation of H</td><td>106</td></tr><tr><td>3.3</td><td>Application RSM</td><td>108</td></tr><tr><td>3.3.1</td><td>Actuation and task of the RSM Robot</td><td>109</td></tr><tr><td>3.3.2</td><td>Complete controller</td><td>113</td></tr><tr><td>3.3.3</td><td>Stability proof</td><td>115</td></tr><tr><td>3.4</td><td>Simulation results</td><td>121</td></tr><tr><td>3.4.1</td><td>Comparison of compensation solutions</td><td>121</td></tr><tr><td>3.4.2</td><td>Comparison with LOS and SMC</td><td>126</td></tr><tr><td>3.5</td><td>Path Following</td><td>132</td></tr><tr><td>3.5.1</td><td>The Remus100 AUV</td><td>132</td></tr><tr><td>3.5.2</td><td>H matrix controller for Remus100</td><td>133</td></tr><tr><td>3.5.3</td><td>The path-following problem</td><td>135</td></tr><tr><td>3.5.4</td><td>Simulation results</td><td>140</td></tr><tr><td>3.6</td><td>Conclusion</td><td>147</td></tr><tr><td>4</td><td>Flatness</td><td>149</td></tr><tr><td>4.1</td><td>Introduction to flatness</td><td>150</td></tr><tr><td>4.2</td><td>Fully actuated case</td><td>154</td></tr><tr><td>4.2.1</td><td>Flat Output</td><td>154</td></tr></tbody></table>
<table><tbody><tr><td>4.2.2</td><td>Flatness of the system</td><td>155</td></tr><tr><td>4.2.3</td><td>Description of the trajectory</td><td>155</td></tr><tr><td>4.2.4</td><td>Flatness-based controller</td><td>156</td></tr><tr><td>4.3</td><td>Underactuated case</td><td>157</td></tr><tr><td>4.3.1</td><td>Model of the underactuated surface vessel</td><td>157</td></tr><tr><td>4.3.2</td><td>Flatness defects of the surface vessel</td><td>159</td></tr><tr><td>4.3.3</td><td>Special case: the Hovercraft system</td><td>160</td></tr><tr><td>4.4</td><td>iPID</td><td>169</td></tr><tr><td>4.4.1</td><td>Implementation of the iPID</td><td>169</td></tr><tr><td>4.5</td><td>Flatness simulations</td><td>172</td></tr><tr><td>4.5.1</td><td>Fully-actuated AUV</td><td>172</td></tr><tr><td>4.5.2</td><td>Underactuated surface vessel</td><td>180</td></tr><tr><td>4.6</td><td>Conclusion</td><td>192</td></tr><tr><td>5</td><td>Vector thrust for AUVs</td><td>193</td></tr><tr><td>5.1</td><td>Vector thrust effects</td><td>194</td></tr><tr><td>5.1.1</td><td>Coupled force effects</td><td>194</td></tr><tr><td>5.1.2</td><td>Impacts on the dynamic model</td><td>196</td></tr><tr><td>5.1.3</td><td>Controller calculations for coupled actuators</td><td>202</td></tr><tr><td>5.1.4</td><td>Force control with vector thrusters</td><td>204</td></tr><tr><td>5.2</td><td>PlaSMAR</td><td>210</td></tr><tr><td>5.2.1</td><td>Reconfiguration ring</td><td>210</td></tr><tr><td>5.2.2</td><td>Thrust allocation of PlaSMAR</td><td>215</td></tr><tr><td>5.2.3</td><td>Control of PlaSMAR</td><td>218</td></tr><tr><td>5.3</td><td>Simulations</td><td>219</td></tr><tr><td>5.3.1</td><td>Seabed scanning</td><td>219</td></tr><tr><td>5.3.2</td><td>Roll compensation</td><td>221</td></tr><tr><td>5.4</td><td>Conclusion</td><td>225</td></tr><tr><td colspan="2">Conclusion</td><td>226</td></tr><tr><td colspan="2">Appendices</td><td>229</td></tr><tr><td colspan="2">A Integral Sliding Mode Control</td><td>230</td></tr><tr><td>A.1</td><td>Apparition of steady state error</td><td>230</td></tr><tr><td>A.2</td><td>Integral Sliding Mode</td><td>231</td></tr></tbody></table>
<table><tr><td>B</td><td>Alternative representation of the generalized state system</td><td>233</td></tr><tr><td>C</td><td>Control of underactuated systems with coupled actuators</td><td>236</td></tr><tr><td>D</td><td>Model coefficients of the vehicles</td><td>240</td></tr><tr><td></td><td>Bibliography</td><td>243</td></tr></table>
LIST OF FIGURES

<table><tr><td>1</td><td>Examples of recent AUVs</td><td>2</td></tr><tr><td>2</td><td>The Uranus omni-directional mobile robot.</td><td>2</td></tr><tr><td>3</td><td>A vertical take-off and landing nozzle for jet planes.</td><td>3</td></tr><tr><td>4</td><td>Proof of concept of the new vectoring thrust system : the PlaSMAR robot.</td><td>4</td></tr><tr><td>1.1</td><td>Representation of the R<sub>0</sub> and R<sub>B</sub> frames.</td><td>8</td></tr><tr><td>1.2</td><td>Example of a tracking point E at the nose of the body of an underwater vehicle.</td><td>11</td></tr><tr><td>1.3</td><td>Simulation render of the fully actuated example vehicle. Blue cylinder: Hull, black cylinders: Thrusters</td><td>20</td></tr><tr><td>1.4</td><td>Schematic of the RSM robot. Red vectors are unitary thrust vector of each thruster.</td><td>22</td></tr><tr><td>1.5</td><td>Schematic of the example uqr-vehicle.</td><td>27</td></tr><tr><td>1.6</td><td>Illustration of the consequences of the reconfiguration delay.</td><td>33</td></tr><tr><td>1.7</td><td>Example of trajectory generation. Blue: discontinuous time function, Black circles: points of interest, Orange: final trajectory</td><td>36</td></tr><tr><td>2.1</td><td>Simplified diagram of the control chain of an AUV.</td><td>45</td></tr><tr><td>2.2</td><td>Block diagram of a simple Line Of Sight Guidance control. The Controller block represents any control function capable of calculating the surge and yaw controls τ<sub>u</sub> and τ<sub>r</sub> from the desired and current states.</td><td>48</td></tr><tr><td>2.3</td><td>Comparison of the switching functions used to avoid chattering.</td><td>74</td></tr><tr><td>3.1</td><td>Simulation snapshot at t = 1s. Blue vehicle: Pitch compensation - Red vehicle: Roll compensation</td><td>103</td></tr><tr><td>3.2</td><td>Comparison of the position of the vehicles in the two cases. Blue: Pitch compensation - Red: Roll compensation. a: x<sub>o</sub>, b: y<sub>o</sub>, c: z<sub>o</sub></td><td>104</td></tr><tr><td>3.3</td><td>Comparison of the orientation of the vehicles in the two cases. Desired orientation values are arbitrarily put to 0 but are not part of the task. Blue: Pitch compensation - Red: Roll compensation. a: Roll, b: Pitch, c: Yaw</td><td>105</td></tr></table>
<table>
  <tbody>
    <tr>
      <td>3.4</td>
      <td>The propulsive configuration of the RSM robot</td>
      <td>109</td>
    </tr>
    <tr>
      <td>3.5</td>
      <td>Top view of the seabed scanning trajectory at 1 m depth.</td>
      <td>110</td>
    </tr>
    <tr>
      <td>3.6</td>
      <td>Block diagram of the cascade H-based controller. Σ represents the AUV, N(η, ν) = C(ν)ν + D(ν)ν + g(η)</td>
      <td>114</td>
    </tr>
    <tr>
      <td>3.7</td>
      <td>Comparison of the position and orientation of the two vehicles. Blue: H<sub>p</sub>, Red: H<sub>r</sub>, Dashed: Reference</td>
      <td>122</td>
    </tr>
    <tr>
      <td>3.8</td>
      <td>Comparison of orientation errors for the two compensation solutions on the Seabed Scanning. Blue: H<sub>p</sub>, Red: H<sub>r</sub> - a: Roll error - b: Pitch error - c: Yaw error</td>
      <td>123</td>
    </tr>
    <tr>
      <td>3.9</td>
      <td>Comparison of orientation errors for the two compensation solutions on the y<sub>o</sub> rail with ψ* = 0. Blue: H<sub>p</sub>, Red: H<sub>r</sub> - a: Roll error - b: Pitch error - c: Yaw error</td>
      <td>124</td>
    </tr>
    <tr>
      <td>3.10</td>
      <td>Comparison of position in R<sub>0</sub> for the LOS controller (Blue), the SMC (Green) and the H controller (Red) on the Seabed Scanning task without current. a: x<sub>o</sub> axis - b: y<sub>o</sub> axis - c: z<sub>o</sub> axis</td>
      <td>127</td>
    </tr>
    <tr>
      <td>3.11</td>
      <td>Comparison of orientation for the LOS controller (Blue), the SMC (Green) and the H controller (Red) on the Seabed Scanning task without current. a: Roll - b: Pitch - c: Yaw</td>
      <td>128</td>
    </tr>
    <tr>
      <td>3.12</td>
      <td>Comparison of position errors for the H controller (1, Blue) and the SM controller (2, Red) on the Seabed Scanning with constant current on x<sub>o</sub> axis. a: Error on x<sub>o</sub> - b: Error on y<sub>o</sub> - c: Error on z<sub>o</sub></td>
      <td>129</td>
    </tr>
    <tr>
      <td>3.13</td>
      <td>Comparison of orientation errors for the H controller (1, Blue) and the SM controller (2, Red) on the Seabed Scanning with constant current on x<sub>o</sub> axis. a: Roll error - b: Pitch error - c: Yaw error</td>
      <td>130</td>
    </tr>
    <tr>
      <td>3.14</td>
      <td>Remus100 (Image from OSL WHOI)</td>
      <td>132</td>
    </tr>
    <tr>
      <td>3.15</td>
      <td>Path following problem in the horizontal plane. Blue : Path particle, Red : Vehicle</td>
      <td>137</td>
    </tr>
    <tr>
      <td>3.16</td>
      <td>Position of the tracking point (Blue) of the vehicle with no current. Dashed Red: Position of virtual particle, Dashed black: Waypoints</td>
      <td>142</td>
    </tr>
    <tr>
      <td>3.17</td>
      <td>Attitude of the Remus100 vehicle (Blue) compared to the azimuth and elevation angle of the path (Dashed black)</td>
      <td>143</td>
    </tr>
    <tr>
      <td>3.18</td>
      <td>Position of the tracking point (Blue) of the vehicle with current. Dashed Red: Position of virtual particle, Dashed black: Waypoints</td>
      <td>144</td>
    </tr>
  </tbody>
</table>
<table>
  <tbody>
    <tr>
      <td>3.19</td>
      <td>Attitude of the Remus100 vehicle (Blue) with sea current compared to the azimuth and elevation angle of the path (Dashed black)</td>
      <td>145</td>
    </tr>
    <tr>
      <td>3.20</td>
      <td>Path following error in the path frame.</td>
      <td>146</td>
    </tr>
    <tr>
      <td>4.1</td>
      <td>Simplified representation of the hovercraft.</td>
      <td>161</td>
    </tr>
    <tr>
      <td>4.2</td>
      <td>Bloc diagram of the flatness-based controller</td>
      <td>165</td>
    </tr>
    <tr>
      <td>4.3</td>
      <td>Bloc diagram of the flatness and iPD controller applied to the Brunovský state representation.</td>
      <td>172</td>
    </tr>
    <tr>
      <td>4.4</td>
      <td>Comparison of the position errors for the three controllers. Red: PID - Green: SMC - Blue: Flatness-based</td>
      <td>175</td>
    </tr>
    <tr>
      <td>4.5</td>
      <td>Comparison of the orientation errors for the three controllers. Red: PID - Green: SMC - Blue: Flatness-based</td>
      <td>176</td>
    </tr>
    <tr>
      <td>4.6</td>
      <td>Comparison of the position errors for the three controllers with a 1m initial error on the y<sub>o</sub> axis. Red: PID - Green: SMC - Blue: Flatness-based</td>
      <td>177</td>
    </tr>
    <tr>
      <td>4.7</td>
      <td>Comparison of the orientation errors for the three controllers with a 5m initial error on the y<sub>o</sub> axis. Red: PID - Green: SMC - Blue: Flatness-based</td>
      <td>177</td>
    </tr>
    <tr>
      <td>4.8</td>
      <td>Comparison of the position errors for the three controllers with a 0.75m/s current on x<sub>o</sub> axis. Red: PID - Green: SMC - Blue: Flatness-based</td>
      <td>178</td>
    </tr>
    <tr>
      <td>4.9</td>
      <td>Comparison of the orientation errors for the three controllers with a 0.75m/s current on x<sub>o</sub> axis. Red: PID - Green: SMC - Blue: Flatness-based</td>
      <td>179</td>
    </tr>
    <tr>
      <td>4.10</td>
      <td>Comparison of the trajectory of the flatness-based controllers in the ideal case - Red: conventional flatness, Blue: iPID, Black: Reference</td>
      <td>182</td>
    </tr>
    <tr>
      <td>4.11</td>
      <td>Comparison of the trajectory of the flatness-based controllers with sea current - Blue: conventional flatness, Red: iPID, Black: Reference</td>
      <td>185</td>
    </tr>
    <tr>
      <td>4.12</td>
      <td>Comparison of the tracking errors of the flatness-based controllers with sea current - a: x<sub>o</sub> axis, b: y<sub>o</sub> axis, Blue: conventional flatness, Red: iPID</td>
      <td>186</td>
    </tr>
    <tr>
      <td>4.13</td>
      <td>Adaptive functions F<sub>x</sub> and F<sub>y</sub> on the hovercraft with constant sea current. Red: Adaptive functions iPID - Blue: Integral term conventional PID</td>
      <td>187</td>
    </tr>
    <tr>
      <td>4.14</td>
      <td>Comparison of the trajectory of the flatness-based controllers on the SV with sea current - Blue: conventional flatness, Red: iPD, Black: Reference</td>
      <td>188</td>
    </tr>
    <tr>
      <td>4.15</td>
      <td>Comparison of the tracking errors of the flatness-based controllers on the SV with sea current - a: x<sub>o</sub> axis, b: y<sub>o</sub> axis, Blue: conventional flatness, Red: iPD</td>
      <td>189</td>
    </tr>
  </tbody>
</table>
LIST OF TABLES

<table><tbody><tr><td>1.1</td><td>Usual names and notations for the motion of the marine craft (SNAME 1950)</td><td>9</td></tr><tr><td>1.2</td><td>Propulsive configuration of the fully-actuated vehicle</td><td>20</td></tr><tr><td>1.3</td><td>Propulsive configuration of the RSM robot</td><td>22</td></tr><tr><td>1.4</td><td>Propulsive configuration of the uqr example vehicle</td><td>27</td></tr><tr><td>2.1</td><td>Names of linearizing controller categories</td><td>55</td></tr><tr><td>3.1</td><td>Unitary cases of compensation according to the position of the tracking point E</td><td>100</td></tr><tr><td>3.2</td><td>Simulation parameters - seabed scanning mission</td><td>121</td></tr><tr><td>3.3</td><td>Simulation parameters, with sea current</td><td>131</td></tr><tr><td>4.1</td><td>Simulation parameters - fully actuated vehicle</td><td>174</td></tr><tr><td>4.2</td><td>Simulation parameters - Ideal case Hovercraft</td><td>183</td></tr><tr><td>4.3</td><td>Simulation parameters - Hovercraft with sea current</td><td>184</td></tr><tr><td>4.4</td><td>Simulation parameters - Surface Vessel with sea current</td><td>191</td></tr><tr><td>D.1</td><td>Simulation parameters - RSM</td><td>240</td></tr><tr><td>D.2</td><td>Simulation parameters - Remus100</td><td>241</td></tr><tr><td>D.3</td><td>Simulation parameters - ODIN</td><td>242</td></tr></tbody></table>
LIST OF PUBLICATIONS AND
COMMUNICATIONS

**Published International Journal papers**

[IJ-1] Loïck **Degorre**, Emmanuel Delaleau, and Olivier Chocron. A survey on model-based control and guidance principles for autonomous marine vehicles. *Journal of Marine Science and Engineering*, 11(2), 2023.

**International communications**

[IC-1] Loïck **Degorre**, Olivier Chocron, and Emmanuel Delaleau. A new general approach for model-based control of underactuated auv based on kinematic coupling. In *IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)*, Kyoto, October 23-27 2022. IEEE. (Poster).

**Submitted International Journal papers**

[SIJ-1] Loïck **Degorre**, Thor I. Fossen, Emmanuel Delaleau, and Olivier Chocron. A model-based kinematic guidance method for control of underactuated autonomous underwater vehicles. *Ocean Engineering*, 2023. (Under Review).

**Works In Progress**

[WIP-1] Loïck **Degorre**, Thor I. Fossen, Olivier Chocron, and Emmanuel Delaleau. A virtual reference point kinematic guidance law for 3d path-following of auvs. 2023. WIP.

[WIP-2] Loïck **Degorre**, Michel Fliess, Cédric Join, Olivier Chocron, and Emmanuel Delaleau. Flatness-based intelligent pid control of underactuated marine vehicles. 2023. WIP.
## Communications

[C-1] Loïck **Degorre**. Enhancing mobility of underactuated AUV through control and reconfigurable propulsion. In *ENIB International Mini Symposium on Robotics*, Brest, 11 May 2023.

[C-2] Loïck **Degorre**. Plateforme autonome sous-marine reconfigurable. In *Sub-meeting 2023*, Guerlédan, 27 April 2023.

[C-3] Loïck **Degorre**, Olivier Chocron, and Emmanuel Delaleau. Une approche générale de la commande basée modèle des AUV sous actionnés. In *25ᵉ Congrès Français de Mécanique*, Nantes, 20 august to 2 september 2022.

[C-4] Loïck **Degorre**. Commande non linéaire basée modèle des robots sous-marins sous-actionnés. In *IRDL Seminar*, Brest, 02 June 2022.

## Popular science events

[PSE-1] Loïck **Degorre**. La robotique sous-marine. In *Fête de la Science*, Brest, 7 to 10 October 2021.
INTRODUCTION

Marine robotics, has gained increasing significance in recent years. The rapidly grow-
ing number of surface and underwater applications boosts both researchers and engineers
to develop and enhance cutting-edge marine technologies. Marine robotics is the key
to breakthroughs marine exploration, environmental monitoring, resource management,
marine renewable energy and so many more applications yet to discover. As our under-
standing of the world's oceans deepens, the demand for advanced autonomous vehicles
capable of operating in these harsh and remote environments has never been greater.

Since the early years of the cold war, military researchers all over the world saw in
marine robotics an opportunity to extend their control over the seas. Cold war years
saw some of the first autonomous marine systems both on the surface and underwater.
Inheritance from these early works still shows to this day in the technologies, shapes,
approaches and methods used in marine robotics.

Nowadays, marine robotics also appears as an essential tool for green energy pro-
duction, observation and protection of marine environments. Applications like inspection
and maintenance of off-shore wind turbines and underwater tidal turbines are one of the
missing chain link that would facilitate the democratization of these technologies. Marine
robotics is one of the best candidates to fulfill them.

The recent effort to improve our knowledge of the marine environments also raises
a new class of applications for marine robotics. Cutting-edge autonomous and remotely
operated vehicles are at work all around the globe to observe, measure and sometimes
reconstruct the underwater world. Majors actors of research and industry keep developing
new marine vehicle. This is notably the case of *Ifremer*<fnref n="1" /> with the *Ulyx* shown on figure 1a
and designed for medium range underwater mapping applications. Another example is the
*Auto-Hover* 1 which recently joined the largest fleet of autonomous vehicles in Europe at
the National Oceanography Center in UK and shown on figure 1b.

The two main aspects of marine robotics treated in this work are maneuverability and control. Both are believed to be key points to unlock new applications. The matter of maneuverability and mobility is essential for many marine applications. The usual answer

<footnote n="1">1. Institut Français de recherche pour l'exploitation de la mer, France</footnote>
<figure><img src="image_3.png" /><figcaption>Figure 1 – Examples of recent AUVs</figcaption></figure>

<figure><img src="image_4.png" /><figcaption>Figure 2 – The Uranus omni-directional mobile robot.</figcaption></figure>

to increasing the mobility of a vehicle is to add more motors. Increasing the number of thrusters also increases the cost of the vehicle and adds weight which goes against autonomy and ease of handling and deployment. In order to design cheap, energy-efficient and lightweight autonomous vehicles, the number of thrusters must be kept low. Many solutions exist outside of the marine context to increase the number of actuated degrees of freedom of a vehicle without adding new heavy-weight actuators. For wheeled vehicles, differential drive and *omni-directional* or *mecanum* wheels appear as a good solution to free a vehicle from the kinematic constraints of usual wheels and unlock new degrees of mobility as on the *Uranus* robot [124] displayed on figure 2. Mecanum wheels are notably used in warehouse applications where fast, precise and mobile vehicles are needed.

For planes and boats, the most common solution to increase the maneuverability of a
<figure><img src="image_5.png" /><figcaption>Figure 3 – A vertical take-off and landing nozzle for jet planes.</figcaption></figure>

vehicle is *thrust vectoring*. The idea of vector thrust is to add one or several lightweight actuators and mechanical contraptions to allow directing the thrust vector produced by the main thruster or engine. This kind of technology is notably used on jet planes where vectoring nozzles drastically increase their capabilities. Some vector thrust systems even allow vertical take off and landing of jet planes like the one shown on figure 3.

Thrust vectoring has been used for years on marine vehicles. The off-board steerable engine of a common boat is a good example of vector thrust system. When turning the wheel, the pilot directs the thrust vector of the propeller through a mechanical system, usually hydraulically driven. One main engine and a lightweight actuator (the pilot in this example) allow actuating two of the three degrees of freedom of the boat. The main advantage of this type of technology over the traditional control surfaces is that the thrust vector (magnitude and direction) is independent from the speed of the vehicle, allowing much greater maneuverability than ships with rudders for instance.

Many thrust vectoring technologies have been developed over the years for surface and
underwater autonomous vessels [43]. These solutions opened new applications for small
and lightweight vehicles. Some of these solutions are displayed and used in this work.
Most of them consists in having one main thruster or propeller directed using one or two
additional lightweight actuators, effectively increasing the number of actuated degrees of
freedom of a single thruster to two or three. But, as shown in this work, these solutions
are not without flaws and especially when working on small vehicles. The proof of concept
to a new solution is then exposed in this work. This new solution consists in having pairs
of parallel thrusters moving around the hull of the vehicle. The combined effect of the two
thrusters is controlled to generate either a steerable force and a stationary moment or
<figure><img src="image_6.png" /><figcaption>Figure 4 – Proof of concept of the new vectoring thrust system : the PlaSMAR robot.</figcaption></figure>

to direct the axis of a moment with a steady force. A 3-D render of the vehicle designed
with technology can be seen on figure 4 along with schematics of the principle. The new
solutions is applied in simulation for trajectory tracking and shown to effectively increase
the capabilities of the vehicle on common tasks.

While this work mainly focuses on conventional propulsive technologies with thrusters
with propellers, more and more alternatives propulsive technologies appear. Notably, bio-
mimetic vehicles taking the shape of fish or turtles can be found in the literature and show
promising mobility capacities [18, 180, 143]. The design and control of this new class of
vehicles represent a whole new challenge.

The second lever to increase the maneuverability of marine robotic systems is *control*.
Broadly, control refers to the ensemble of laws and calculations used to calculate the forces
and moments required for a system to follow a given task. On marine craft, the control
inputs are usually the forces generated by the thrusters and the angles of possible control
surfaces or vectoring thrust systems. Calculations based on the kinematic and dynamic
model of the vehicle are then performed and optimized to perform the task at best. Most
of the controllers used in this work follow the model-based approach and assume that
the state of the vehicle and its model are thoroughly measured. These are two strong
but necessary hypotheses. Estimating the model of a marine vehicle and measuring its
state underwater are two ongoing research subjects. To make these hypotheses sensible,
the controllers are designed to be as robust as possible w.r.t. model approximations, un-
certainties, disturbances and measurement errors. In marine robotics, and especially with
poorly actuated vehicles, controllers are associated with guidance principles transforming
the task into references that the vehicle can track.

After an in-depth study of the solutions proposed in the literature, two new control
methods are proposed. These two new solutions blend guidance and control together. The
first solution is a model-based kinematic guidance principle and dynamic controller based
on a non-diagonal gain matrix denoted $\mathcal{H}$. This controller is used in simulation on un-
deractuated vehicles to perform path following and trajectory tracking tasks. The second
controller is based on differential flatness. This controller has in facts been developed on a
simple surface vessel, the hovercraft system, but is shown to be applicable to most surface
vehicles.

Overall, the controllers designed in this work are shown to increase the capabilities of underactuated systems. They unlock new tasks and behaviors for these vehicles and are believed to be a significant step ahead for marine robotics.

This manuscript is organized as follows. First, the model used to describe the vehicles
is explained in details along with some remarks on the simulator developed for this work.
Then, a bibliographical review of existing guidance methods and control principles is
proposed. In the third chapter, the new kinematic guidance principle is described along
with several simulation results showing its capacities. Then, the flatness-based controller
is detailed. Finally, the new vectoring thrust principle is presented with some additional
results on reconfigurable thrust and illustrated through simulations of the PlaSMAR AUV.
# MODELING AND TASK DESCRIPTION

## Contents

<table><tr><td>1.1 Modeling of Marine Vehicles</td><td>7</td></tr><tr><td>1.1.1 Framework</td><td>7</td></tr><tr><td>1.1.2 Kinematic Model</td><td>9</td></tr><tr><td>1.1.3 Dynamic Model</td><td>12</td></tr><tr><td>1.2 Propulsive configuration</td><td>17</td></tr><tr><td>1.2.1 Thruster Configuration Matrix</td><td>18</td></tr><tr><td>1.2.2 Reconfigurable thrusters</td><td>25</td></tr><tr><td>1.2.3 Remark on the effects of coupled actuators</td><td>29</td></tr><tr><td>1.3 Remarks</td><td>32</td></tr><tr><td>1.3.1 Limitation of reconfiguration speed</td><td>32</td></tr><tr><td>1.3.2 Limitation of thrust variation</td><td>34</td></tr><tr><td>1.3.3 Modeling sea currents</td><td>34</td></tr><tr><td>1.3.4 Modeling measurement noise</td><td>35</td></tr><tr><td>1.3.5 Trajectory generation</td><td>35</td></tr><tr><td>1.4 Task description</td><td>37</td></tr><tr><td>1.4.1 Degrees of Freedom of a task</td><td>37</td></tr><tr><td>1.4.2 Scenarios</td><td>39</td></tr><tr><td>1.5 Underactuation</td><td>41</td></tr></table>

This chapter introduces the model used in this work to describe the behavior of a marine craft in its environment. The modeling of marine craft has received a lot of attention over more than a century. While the first studies on the motion of solid bodies through fluids can be found in ancient Greece, the work of Sir Horace Lamb in 1879 [101] is often cited as one of the first modern studies on the topic. The cold war years saw a great amount of work produced on the modeling of submarines in the U.S. and notably the work of Imlay in the 60s [89]. About thirty years later, the modeling of marine vehicles
is popularized among the robotics community by the work of Fossen [63, 65, 64] which is
the main reference used for modeling in the present work as in many other underwater
robotics publications. The recent work of Antonelli [8] has also been a great inspiration
for this work.

The goal of this chapter is to settle on the model and hypotheses used throughout
this work for the modeling of the vehicles. It is not meant to give new results on the pure
modeling. Nonetheless, some remarks on design and modeling choices are made in this
chapter. It is very important to settle on a realistic and effective model for the system as
it will later be used as a base for control algorithms in numerical simulations.

The model presented in this chapter is in six dimensions and represents both surface
and underwater vehicles. In this work, surface vehicles are considered as a reduction of the
underwater case to the horizontal plane, therefore neglecting some of the rotations hap-
pening outside of the plane (roll and pitch). As will be seen in the following examples, it
is common practice to neglect some rotational effects of the model if the associated restor-
ing torques are considered large enough to maintain the vehicle in an almost horizontal
position or to neglect uncontrolled yet stable degrees of freedom (DOF).

This chapter also redefines the notion of task. It introduces a different understanding
of the tasks based on the trajectory, constraints and environmental disturbances. This
definition is used to define the requirements of a task in terms of actuated DOF or
natural dynamics of the vehicle. It also introduces the different scenarios dictating the
time constraints of the task.

1.1 Modeling of Marine Vehicles

1.1.1 Framework

Before introducing the model equations, it is mandatory to define the frames used in
this work. The most common approach is to define two frames $\mathcal{R}_0$ and $\mathcal{R}_B$:

— $\mathcal{R}_0(\mathbf{O}, \mathbf{x}_0, \mathbf{y}_0, \mathbf{z}_0)$ is the inertial, North-East-Down (NED) frame

— $\mathcal{R}_B(\mathbf{O}_B, \mathbf{x}_B, \mathbf{y}_B, \mathbf{z}_B)$ is a body-fixed frame

The origin of the body-fixed frame is usually chosen at the center of buoyancy of the
vehicle $\mathbf{P}_B$ but can, in-facts, be chosen anywhere on the vehicle. The $\mathbf{x}_B$ axis of the
mobile frame is most often aligned with the axis of greatest length of the vehicle.

A third frame $\mathcal{R}_p(\mathbf{O}_p, \mathbf{x}_p, \mathbf{y}_p, \mathbf{z}_p)$ is introduced as it can be useful in some control
<figure><img src="image_7.png" /><figcaption>Figure 1.1 – Representation of the $\mathcal{R}_0$ and $\mathcal{R}_B$ frames.</figcaption></figure>

applications: the *path-fixed* frame. This third frame will be redefined when used in the following examples of this work but it can be seen as a *Serret-Frenet* frame, centered on a virtual particle on the desired path, generally with $\boldsymbol{x}_p$ tangent to the path. The particle is associated with a propagation function disctating its behavior on the path. As will be seen later in this work, the propagation function can be parameterized and optimized in control applications.

The position of the vehicle in $\mathcal{R}_0$ is denoted by the vector $\boldsymbol{\eta}_1 = [x \ y \ z]^\top$ and the orientation of the vehicle is given in the Roll-Pitch-Yaw convention and denoted $\boldsymbol{\eta}_2 = [\phi \ \theta \ \psi]^\top$. The position and orientation of the vehicle are regrouped in the vector $\boldsymbol{\eta} = [\boldsymbol{\eta}_1^\top \ \boldsymbol{\eta}_2^\top]$.

**Remark 1.1** *The Euler (ZYX) angle convention used to represent the orientation of the body-fixed frame is known to be singular in $\theta = \pm\pi/2$ rad. This singularity notably appears in the definition of the transformation matrix $\mathbf{J}(\boldsymbol{\eta})$ (See section 1.1.2). To avoid the singular point, a quaternion representation can be used and is given in [63, 8]. In this work, the Euler angle representation will be kept as much as possible as it is believed to be*
<table><caption>Table 1.1 – Usual names and notations for the motion of the marine craft (SNAME 1950)</caption><thead><tr><th colspan="3">Translations along axis</th><th colspan="3">Rotations around axis</th></tr><tr><th>Axis</th><th>Notation</th><th>Name</th><th>Axis</th><th>Notation</th><th>Name</th></tr></thead><tbody><tr><td><b>x</b><sub>B</sub></td><td>u</td><td>Surge</td><td><b>x</b><sub>B</sub></td><td>p</td><td>Roll</td></tr><tr><td><b>y</b><sub>B</sub></td><td>v</td><td>Sway</td><td><b>y</b><sub>B</sub></td><td>q</td><td>Pitch</td></tr><tr><td><b>z</b><sub>B</sub></td><td>w</td><td>Heave</td><td><b>z</b><sub>B</sub></td><td>r</td><td>Yaw</td></tr></tbody></table>

a more natural representation of the orientation of the vehicle. This is a relevant choice considering that most vehicles are naturally stabilized in the horizontal plane, only few applications in the literature require the vehicle to go perfectly vertical and that none of the scenarios described in this work do so. For applications operating close to the singular attitude, a quaternion approach is advised and some examples presented later in this work use it.

### 1.1.2 Kinematic Model

The velocity of the vehicle with respect to the inertial frame and expressed in the body-fixed frame is given by the vector $\boldsymbol{v} = [\boldsymbol{\nu}_1^\top \boldsymbol{\nu}_2^\top]$ where $\boldsymbol{\nu}_1 = [u \ v \ w]^\top$ is the vector of linear velocity of point $O_B$ w.r.t. the earth-fixed frame and expressed in $\mathcal{R}_B$ and $\boldsymbol{\nu}_2 = [p \ q \ r]^\top$ is the vector of angular velocity of the mobile frame $\mathcal{R}_B$. The standard notation for the motions of the vehicle are given in Table 1.1, the SNAME<fnref n="1" /> notation for marine vessels will be used as much as possible in this work.

The kinematic model of the vehicle is given by the velocity transformation:

$$ \dot{\boldsymbol{\eta}} = \mathbf{J}(\boldsymbol{\eta})\boldsymbol{\nu} \qquad (1.1) $$

<footnote n="1">1. Society of Naval Architects and Marine Engineers</footnote>
where $\mathbf{J}(\eta)$ is the transformation matrix defined as:

$$ \mathbf{J}(\eta) = \begin{bmatrix} \mathbf{J}_1(\eta) & 0 \\ 0 & \mathbf{J}_2(\eta) \end{bmatrix} \qquad (1.2a) $$

$$ \mathbf{J}_1(\eta) = \mathbf{R}(\mathbf{x}_o, \phi)\mathbf{R}(\mathbf{y}_o, \theta)\mathbf{R}(\mathbf{z}_o, \psi) \qquad (1.2b) $$

$$ \begin{aligned} & = \begin{bmatrix} 1 & 0 & 0 \\ 0 & \cos(\phi) & -\sin(\phi) \\ 0 & \sin(\phi) & \cos(\phi) \end{bmatrix} \begin{bmatrix} \cos(\theta) & 0 & \sin(\theta) \\ 0 & 1 & 0 \\ -\sin(\theta) & 0 & \cos(\theta) \end{bmatrix} \begin{bmatrix} \cos(\psi) & -\sin(\psi) & 0 \\ \sin(\psi) & \cos(\psi) & 0 \\ 0 & 0 & 1 \end{bmatrix} \\ & = \begin{bmatrix} \cos \psi \cos \theta & -\sin \psi \cos \phi + \cos \psi \sin \theta \sin \phi & \sin \psi \sin \phi + \cos \psi \cos \phi \sin \theta \\ \sin \psi \cos \theta & \cos \psi \cos \phi + \sin \phi \sin \theta \sin \psi & -\cos \psi \sin \phi + \sin \theta \sin \psi \cos \phi \\ -\sin \theta & \cos \theta \sin \phi & \cos \theta \cos \phi \end{bmatrix} \end{aligned} $$

$$ \mathbf{J}_2(\eta) = \begin{bmatrix} 1 & \sin \phi \tan \theta & \cos \phi \tan \theta \\ 0 & \cos \phi & -\sin \phi \\ 0 & \sin \phi / \cos \theta & \cos \phi / \cos \theta \end{bmatrix} \qquad (1.2c) $$

In equation (1.1), $\mathbf{R}(i, j)$ denotes the rotation matrix of angle $j$ around axis $i$. More details about the calculations used to establish $\mathbf{J}_2(\eta)$ can be found in [63]. As remarked before, equation (1.2c) shows a singularity in $\theta = \pm \pi / 2 \text{rad}$ because of the Euler angle representation. Quaternion alternative to $\mathbf{J}(\eta)$ can be found in [63, 8].

### 1.1.2.1 Addition of a tracking point

Some of the control methods used in this work require the definition of an intermediary point called a tracking point. The idea of having a tracking point is to control a point of the vehicle, different from the center of the moving frame, towards the desired state. This solution is often used when working with external manipulators or sensors and this tracking point can be the focal point of a camera or the grasping point of the end-effector of a manipulator arm. Thus, a tracking point $E$ of coordinates $[\varepsilon_x \ \varepsilon_y \ \varepsilon_z]^\top$ in $\mathcal{R}_B$ is introduced. Figure 1.2 displays an example of a tracking point $E$ placed at the nose of
<figure><img src="image_8.png" /><figcaption>Figure 1.2 – Example of a tracking point E at the nose of the body of an underwater vehicle.</figcaption></figure>

the vehicle slightly below the horizontal plane. In this example the coordinates of E are $[\epsilon_x \ 0 \ \epsilon_z]^\top$ in $\mathcal{R}_B$.

The kinematic model equation (1.1) is modified to include this new tracking point :

$$ \dot{\eta}_E = J(\eta)T\nu \qquad (1.3) $$

where $T$ is the transformation matrix moving the vector of linear and angular velocities from point $O_B$ to point $E$:

$$ T = \begin{bmatrix} 1 & 0 & 0 & 0 & \epsilon_z & -\epsilon_y \\ 0 & 1 & 0 & -\epsilon_z & 0 & \epsilon_x \\ 0 & 0 & 1 & \epsilon_y & -\epsilon_x & 0 \\ 0 & 0 & 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 0 & 0 & 1 \end{bmatrix} \qquad (1.4) $$

Matrix $T$ is the matrix form equivalent to the Varignon transform applied to the kinematic wrench [167].
Note that the introduction of the transformation matrix $T$ creates a new set of kinematic couplings in the model that will be used later in this work for the control of the vehicle.

### 1.1.3 Dynamic Model

The conventional dynamic model of marine craft is issued from Newton’s second law and is usually written as:

$$ \tau = M\dot{\nu} + C(\nu)\nu + D(\nu)\nu + g(\eta) \quad (1.5) $$

In equation (1.5), $\tau(t) \in \mathbb{R}^6$ is the vector of propulsive forces and moments generated by the thrusters and applied to the vehicle, $M \in \mathbb{R}^{6,6}$ is the mass and inertia matrix, $C(\nu) \in \mathbb{R}^{6,6}$ is the matrix of Coriolis, centripetal and gyroscopic effects, $D(\nu) \in \mathbb{R}^{6,6}$ is the matrix of damping effects and $g(\eta) \in \mathbb{R}^6$ is the vector of gravitational and buoyancy effects. The model matrices are given in detail in the following sections. Numerical values of the model parameters for some AUVs used in this work are given in appendix D.

The vector $\tau$ expresses the forces and moments generated by the thrusters and control surfaces of the vehicle, it is written as:

$$ \tau = \begin{bmatrix} F_X \\ F_Y \\ F_Z \\ T_X \\ T_Y \\ T_Z \end{bmatrix} \quad (1.6) $$

#### 1.1.3.1 Added masses

In order to take some of the environmental effects into account in the dynamic model and notably the hydrodynamic effects of the surrounding water, it is common practice in the robotics community to use the method of added masses [63][100][98]. Added masses are a set of mass coefficients, linearly added to the mass of the solid body moving through
water to simulate some of its effects. They are pressure-induced forces and moments due
to the body impelling water movement. The coefficients appear in the mass matrix **M** and
in the Coriolis and Centripetal matrix **C**(**ν**). A lot of work has been put into calculating,
measuring or estimating added masses over the years and the interested reader is referred
to the following works for a deeper understanding of the concept of added masses [89, 88,
100] as well as some of the work done on the estimation of these coefficients [121, 98, 72].

The superposition of the body mass effects and the surrounding water effects is done
linearly in the **M** and **C**(**ν**) matrices calculations as:

$$
\mathbf{M} = \mathbf{M}_b + \mathbf{M}_a \tag{1.7a}
$$

$$
\mathbf{C}(\boldsymbol{\nu}) = \mathbf{C}_b(\boldsymbol{\nu}) + \mathbf{C}_a(\boldsymbol{\nu}) \quad (1.7\text{b})
$$

where $\mathbf{M}_b$ and $\mathbf{C}_b(\boldsymbol{\nu})$ are the body effects while $\mathbf{M}_a$ and $\mathbf{C}_a(\boldsymbol{\nu})$ are the added mass effects.
The rigid-body terms $\mathbf{M}_b$ and $\mathbf{C}_b(\boldsymbol{\nu})$ are, for any vehicle, of the shape:

$$
\mathbf{M}_b = \begin{bmatrix} m \mathbb{I}_{3,3} & -m \mathbf{S}(\mathbf{P}_G) \\ m \mathbf{S}(\mathbf{P}_G) & \mathbf{I}_0 \end{bmatrix} \qquad (1.8a)
$$

$$
\mathbf{C}_b(\boldsymbol{\nu}) = \begin{bmatrix} 0_{3,3} & -m\mathbf{S}(\boldsymbol{\nu}_1) - m\mathbf{S}(\mathbf{S}(\boldsymbol{\nu}_2)\mathbf{P}_G) \\ -m\mathbf{S}(\boldsymbol{\nu}_1) - m\mathbf{S}(\mathbf{S}(\boldsymbol{\nu}_2)\mathbf{P}_G) & m\mathbf{S}(\mathbf{S}(\boldsymbol{\nu}_1)\mathbf{P}_G) - \mathbf{S}(\mathbf{I}_0\boldsymbol{\nu}_2) \end{bmatrix} \quad (1.8\text{b})
$$

In equation (1.8), $\mathbb{I}_{3,3}$ is the 3 by 3 identity matrix, $m$ is the dry mass of the body, $\mathbf{I}_0$ is the matrix of inertia of the body of the vehicle defined in $\mathcal{R}_B$ and $\mathbf{P}_G$ is the position of the center of gravity in $\mathcal{R}_B$. The inertia matrix of the cylinder is:

$$
\mathbf{I}_o = \begin{bmatrix} I_x & 0 & 0 \\ 0 & I_y & 0 \\ 0 & 0 & I_z \end{bmatrix} + m \mathbf{S}(\mathbf{P}_G)^\top \mathbf{S}(\mathbf{P}_G) \quad (1.9)
$$

$I_x$, $I_y$, and $I_z$ are the principal moments of inertia of the vehicle. They can be calculated using standard formulations.
Matrix $\mathbf{S}()$ is the skew-symmetric matrix defined as:

$$ \mathbf{S} \begin{bmatrix} x_1 & x_2 & x_3 \end{bmatrix}^\top = \begin{bmatrix} 0 & x_3 & -x_2 \\ -x_3 & 0 & x_1 \\ x_2 & -x_1 & 0 \end{bmatrix} \qquad (1.10) $$

The matrix $\mathbf{S}()$ represents the cross product such that $S(X)Y = X \times Y$. The added mass effects depend on the shape of the hull of the vehicle. The vehicles used in this work are, for most of them, approximated with cylinders and hence have three planes of symmetry. The added mass matrices are then of shape:

$$ \mathbf{M}_a = \begin{bmatrix} -X_{\dot{u}} & 0 & 0 & 0 & 0 & 0 \\ 0 & -Y_{\dot{v}} & 0 & 0 & 0 & 0 \\ 0 & 0 & -Z_{\dot{w}} & 0 & 0 & 0 \\ 0 & 0 & 0 & -K_{\dot{p}} & 0 & 0 \\ 0 & 0 & 0 & 0 & -M_{\dot{q}} & 0 \\ 0 & 0 & 0 & 0 & 0 & -N_{\dot{r}} \end{bmatrix} \qquad (1.11a) $$

$$ \mathbf{C}_a(\boldsymbol{\nu}) = \begin{bmatrix} 0 & 0 & 0 & 0 & -Z_{\dot{w}}w & Y_{\dot{v}}v \\ 0 & 0 & 0 & Z_{\dot{w}}w & 0 & -X_{\dot{u}}u \\ 0 & 0 & 0 & -Y_{\dot{v}}v & X_{\dot{u}}u & 0 \\ 0 & -Z_{\dot{w}}w & Y_{\dot{v}}v & 0 & -N_{\dot{r}}r & M_{\dot{q}}q \\ Z_{\dot{w}}w & 0 & -X_{\dot{u}}u & N_{\dot{r}}r & 0 & -K_{\dot{p}}p \\ -Y_{\dot{v}}v & X_{\dot{u}}u & 0 & -M_{\dot{q}}q & K_{\dot{p}}p & 0 \end{bmatrix} \qquad (1.11b) $$

The cylindrical shape approximation gives reliable simulation results and is widely spread in the literature. This hypothesis is supported by the fact that off-diagonal terms of $\mathbf{M}_a$ are generally of lesser magnitude than the diagonal terms, they are often negligible.
The off-diagonal added masses are also particularly hard to measure estimate or calculate.

For surface vessels, the shapes of the model matrices are different. Off-diagonal terms accounting for the coupled effects of sway and yaw due to the usual hull shape of surface vessels are added in the added mass matrix. In the horizontal plane space reduction and considering the mobile frame centered on the center of gravity of the surface vessel, the mass and added mass matrices are [63]:

$$
\mathbf{M}_b = \begin{bmatrix} m & 0 & 0 \\ 0 & m & 0 \\ 0 & 0 & I_z \end{bmatrix} \qquad (1.12a)
$$

$$
\mathbf{M}_a = \begin{bmatrix} -X_{\dot{u}} & 0 & 0 \\ 0 & -Y_{\dot{v}} & -Y_r \\ 0 & -Y_r & -N_r \end{bmatrix} \qquad (1.12b)
$$

The non-zero off-diagonal terms of $\mathbf{M}_a$ imply a different formulation of the added mass effects in the Coriolis and Centripetal matrix:

$$
\mathcal{C}_a(\boldsymbol{\nu}) = \begin{bmatrix} 0 & 0 & Y_{\dot{v}}\nu + Y_{\dot{r}}r \\ 0 & 0 & -X_{\dot{u}}u \\ -Y_{\dot{v}}\nu - Y_{\dot{r}}r & X_{\dot{u}}u & 0 \end{bmatrix} \quad (1.13)
$$

1.1.3.2 Hydrodynamic Damping

As for the added masses introduced above, hydrodynamic damping evaluation of ma-
rine craft is a difficult subject that has been much written about. The most common
approximations used in the underwater robotics and control community are also used in
this work. This is why, when talking about underwater vehicles of cylindrical hull, the
damping effects will be considered fully decoupled and only linear and quadratic terms on
the diagonal are used. Additional damping models are introduced and compared in [74].
In this case, matrix $D(\nu)$ is:

$$ D(\nu) = -\mathrm{diag}(X_u, Y_v, Z_w, K_p, M_q, N_r) \\ - \mathrm{diag}(X_{u|u} | u, Y_{v|v} | v, Z_{w|w} | w, K_{p|p} | p, M_{q|q} | q, N_{r|r} | r) \quad (1.14) $$

where $X_u, ..., N_r$ are linear damping coefficients and $X_{u|u}, ..., N_{r|r}$ are quadratic coefficients.

For surface vehicles, a better rendition of the usual hull shape is given by the following damping matrix:

$$ D(\nu) = - \begin{bmatrix} X_u & 0 & 0 \\ 0 & Y_v & Y_r \\ 0 & N_v & N_r \end{bmatrix} \quad (1.15) $$

This second damping representation allows taking the natural coupling between sway and yaw into account while maintaining an independent surge mode. The linear damping approximation is generally used with surface vessels but a quadratic damping term of the same shape could be added.

### 1.1.3.3 Gravitation and buoyancy effects

The vector $g(\eta)$ contains the gravitation and buoyancy forces and moments undergone by the vehicle and expressed at the center of the vehicle in $\mathcal{R}_B$. These terms, referred to as *restoring torques and moments*, depend on the relative position of the centers of gravity $P_G$ and buoyancy $P_B$ in $\mathcal{R}_B$ and on the orientation of the vehicle w.r.t. $\mathcal{R}_0$. Generally speaking, the center point of the moving frame $O_B$ is chosen at the center of buoyancy $P_B$ which often matches the geometrical center of the hull. On the other hand, the mass distribution of the vehicle would ideally be designed to have the center of gravity underneath the center of buoyancy. Point $P_G$ would be of coordinates $(0, 0, z_G)$ in $\mathcal{R}_B$ with $z_G$ in the magnitude of a few centimeters to a meter depending on the vehicle. This disposition allows having stable roll and pitch modes for the vehicle.

The gravity and buoyancy forces $f_G(\eta)$ and $f_B(\eta)$ for a submerged vehicle are given
in the mobile frame as:

$$ \boldsymbol{f}_G(\boldsymbol{\eta}) = \boldsymbol{J}_1(\boldsymbol{\eta})^{-1} \begin{bmatrix} 0 \\ 0 \\ mg \end{bmatrix} \qquad (1.16a) $$

$$ \boldsymbol{f}_B(\boldsymbol{\eta}) = \boldsymbol{J}_1(\boldsymbol{\eta})^{-1} \begin{bmatrix} 0 \\ 0 \\ -\rho g V \end{bmatrix} \qquad (1.16b) $$

with g the acceleration of gravity, ρ the local water density and V the volume of displaced water. Forces $f_G(\eta)$ and $f_B(\eta)$ are expressed at the centers of gravity and buoyancy respectively. The complete vector of gravity and buoyancy effects is then given at the center of the mobile frame as:

$$ \boldsymbol{g}(\boldsymbol{\eta}) = \begin{bmatrix} \boldsymbol{f}_G(\boldsymbol{\eta}) + \boldsymbol{f}_B(\boldsymbol{\eta}) \\ \boldsymbol{P}_G \times \boldsymbol{f}_G(\boldsymbol{\eta}) + \boldsymbol{P}_B \times \boldsymbol{f}_B(\boldsymbol{\eta}) \end{bmatrix} \qquad (1.17) $$

Note that most of the vehicles used in this work are positively buoyant in sea water: $m < \rho V$.

## 1.2 Propulsive configuration

This section focuses on the representation of the propulsive arrangement of the vehicles used in this work. The two main actuator types used in this work are the fixed and the reconfigurable thrusters. These two technologies are best suited for applications requiring high maneuverability. However, it is worth mentioning the great number of autonomous vehicles equipped with control surfaces (stern planes or rudders). Rudders, often associated with one or several fixed thrusters, are notably useful for long range applications with low turning radius where maneuverability is not a priority. Notably, underwater gliders used for long range oceanographic applications are generally equipped with control planes and active ballasts. Their mobility is limited but they are very energy-efficient. Yet,
because the action of control surfaces depends on the relative velocity of the craft with
respect to the surrounding waters, this kind of actuation is not suited for applications like
station keeping, precise maneuvers around a target or sharp rotations which are the main
focus of this work.

1.2.1 Thruster Configuration Matrix

The Thruster Configuration Matrix (TCM) represents the thruster arrangement of the vehicle [67, 30]. It is used to calculate the combined propulsive effort of the n thrusters of the vehicle. The TCM, often denoted as **B**, is also used for thrust allocation, it allows calculating the necessary thrust of each thruster $u_i$ needed to generate a required effort vector. All the thrust forces are regrouped in the thrust vector **u**.

Matrix **B** has 6 rows and one column per thruster. Each column of the TCM is built with the effort wrench of a thruster moved to the center of the vehicle. A local frame $\mathcal{R}_{P_i}(\mathbf{P}_i, \mathbf{x}_{P_i}, \mathbf{y}_{P_i}, \mathbf{z}_{P_i})$ is associated to thruster $i$. Frame $\mathcal{R}_{P_i}$ is centered on the estimated thrust center of thruster $i$, $\mathbf{P}_i(x_{P_i}, y_{P_i}, z_{P_i})$, and the axis $\mathbf{x}_{P_i}$ is aligned with the axis of thrust.

The force generated by thruster $i$ is expressed in $\mathcal{R}_{P_i}$ as:

$$ \mathbf{F}_{P_i}^{\mathcal{R}_{P_i}} = \begin{bmatrix} u_i & 0 & 0 \end{bmatrix} \qquad (1.18) $$

where $u_i$ is the $i$-th component of the vector $\mathbf{u} \in \mathbb{R}^n$ containing all thrust norms of the $n$ thrusters of the vehicle.

Frame $\mathcal{R}_{P_i}$ is rotated with respect to $\mathcal{R}_B$ of an angle $\psi_{P_i}$ around $\mathbf{z}_B$ and $\theta_{P_i}$ around the newly created $\mathbf{y}_B'$ axis. The rotation matrix from $\mathcal{R}_{P_i}$ to $\mathcal{R}_B$ is then:

$$ R_{P_i}^B = R(\psi_{P_i}, \mathbf{z}_B) R(\theta_{P_i}, \mathbf{y}_B') = \begin{bmatrix} \cos \psi_{P_i} \cos \theta_{P_i} & -\sin \psi_{P_i} & \cos \psi_{P_i} \sin \theta_{P_i} \\ \sin \psi_{P_i} \cos \theta_{P_i} & \cos \psi_{P_i} & \sin \psi_{P_i} \sin \theta_{P_i} \\ -\sin \theta_{P_i} & 0 & \cos \theta_{P_i} \end{bmatrix} \quad (1.19) $$
The force generated by thruster i expressed in $\mathcal{R}_B$ then becomes:

$$ \mathbf{F}_{\mathbf{P}_i}^{\mathcal{R}_B} = R_{\mathbf{P}_i}^B \mathbf{F}_{\mathbf{P}_i}^{\mathcal{R}_{\mathbf{P}_i}} = \begin{bmatrix} \cos \psi_{\mathbf{P}_i} \cos \theta_{\mathbf{P}_i} \\ \sin \psi_{\mathbf{P}_i} \cos \theta_{\mathbf{P}_i} \\ -\sin \theta_{\mathbf{P}_i} \end{bmatrix} u_i \qquad (1.20) $$

Finally, the moment created at the center of the vehicle by the force $\mathbf{F}_{\mathbf{P}_i}^{\mathcal{R}_B}$ is calculated at the center of the vehicle in $\mathcal{R}_B$ as:

$$ T_{\mathcal{O}_B}^{\mathcal{R}_B} = \mathbf{P}_i \times \mathbf{F}_{\mathbf{P}_i}^{\mathcal{R}_B} = \begin{bmatrix} -\sin \theta_{\mathbf{P}_i} y_{\mathbf{P}_i} - \sin \psi_{\mathbf{P}_i} \cos \theta_{\mathbf{P}_i} z_{\mathbf{P}_i} \\ \cos \psi_{\mathbf{P}_i} \cos \theta_{\mathbf{P}_i} z_{\mathbf{P}_i} + \sin \theta_{\mathbf{P}_i} x_{\mathbf{P}_i} \\ \sin \psi_{\mathbf{P}_i} \cos \theta_{\mathbf{P}_i} x_{\mathbf{P}_i} - \cos \psi_{\mathbf{P}_i} \cos \theta_{\mathbf{P}_i} y_{\mathbf{P}_i} \end{bmatrix} u_i \qquad (1.21) $$

Equation (1.20) and equation (1.21) give the i-th column of **B** and, building the rest of **B** iteratively with the other thrusters, the following relationship is established:

$$ \tau = Bu \qquad (1.22) $$

Finally, to perform the *thrust allocation*, the relation (1.22) must be “inverted”. The following examples show that, even though the fully-actuated case is trivial with **B** being square and invertible, the underactuated case is not.

### 1.2.1.1 Thrust Allocation in the Fully actuated case

In the fully-actuated case, $n = 6$ and **B** invertible ($\det(\mathbf{B}) \neq 0$), the thrust allocation operation is easily realized inverting relation (1.22). It is then possible to know the required thrust force of each thruster to generate a given vector $\tau$:

$$ u = B^{-1} \tau \qquad (1.23) $$

An example of a fully-actuated vehicle is displayed on figure 1.3. This vehicle has six independent thrusters with no redundancies. The position and orientation of the six thrusters are given in table 1.2 where $L$ is the length of the cylindrical hull of the vehicle and $R$ is the radius. This vehicle is theoretical, its thruster arrangement would be hard to
<figure><img src="image_9.png" /><figcaption>Figure 1.3 – Simulation render of the fully actuated example vehicle. Blue cylinder: Hull, black cylinders: Thrusters</figcaption></figure>

<table><caption>Table 1.2 – Propulsive configuration of the fully-actuated vehicle</caption><thead><tr><th>Thruster 1</th><th>Thruster 2</th><th>Thruster 3</th><th>Thruster 4</th><th>Thruster 5</th><th>Thruster 6</th></tr></thead><tbody><tr><td><table><tr><td>-L/3</td></tr><tr><td>-R</td></tr><tr><td>0</td></tr></table></td><td><table><tr><td>-L/3</td></tr><tr><td>R</td></tr><tr><td>0</td></tr></table></td><td><table><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr></table></td><td><table><tr><td>L/3</td></tr><tr><td>-2R/3</td></tr><tr><td>0</td></tr></table></td><td><table><tr><td>L/3</td></tr><tr><td>2R/3</td></tr><tr><td>0</td></tr></table></td><td><table><tr><td>-L/3</td></tr><tr><td>0</td></tr><tr><td>0</td></tr></table></td></tr><tr><td>θ<sub>P<sub>1</sub></sub> = 0</td><td>θ<sub>P<sub>2</sub></sub> = 0</td><td>θ<sub>P<sub>3</sub></sub> = 0</td><td>θ<sub>P<sub>4</sub></sub> = π/2</td><td>θ<sub>P<sub>5</sub></sub> = π/2</td><td>θ<sub>P<sub>6</sub></sub> = π/2</td></tr><tr><td>ψ<sub>P<sub>1</sub></sub> = 0</td><td>ψ<sub>P<sub>2</sub></sub> = 0</td><td>ψ<sub>P<sub>3</sub></sub> = π/2</td><td>ψ<sub>P<sub>4</sub></sub> = 0</td><td>ψ<sub>P<sub>5</sub></sub> = 0</td><td>ψ<sub>P<sub>6</sub></sub> = 0</td></tr></tbody></table>

physically carry out but it is a good example of the effects demonstrated here. Examples of fully-actuated vehicles can be seen on figure 1.
The TCM of this vehicle is:

$$
\mathbf{B}_{FA} = \begin{bmatrix}
1 & 1 & 0 & 0 & 0 & 0 \\
0 & 0 & 1 & 0 & 0 & 0 \\
0 & 0 & 0 & 1 & 1 & 1 \\
0 & 0 & 0 & 2R/3 & -2R/3 & 0 \\
0 & 0 & 0 & L/3 & L/3 & -L/3 \\
R & -R & 0 & 0 & 0 & 0
\end{bmatrix} \quad (1.24)
$$

All 6 DOF of the vehicle are actuated and can be controlled independently which is confirmed by the rank of the matrix: rank($\mathbf{B}_{FA}$) = 6. The matrix $\mathbf{B}_{FA}$ is invertible: $\det(\mathbf{B}_{FA}) = -16R^2L/9$. We see that the first two thrusters both generate surge force and yaw moment but because they are coupled together, these two DOF are made independent. Same goes for the three last thrusters sharing heave, roll and pitch. The third thruster on the other hand, controls sway on its own and, because it is centered on the hull, does not generate any moment.

1.2.1.2 Thrust Allocation in the Underactuated case

In the underactuated case, $n < 6$, the thrust allocation is non-trivial. The TCM is not square hence not invertible. In order to describe the solutions for thrust allocation of underactuated vehicles, the *RSM* AUV is described in [169, 31, 30, 168]. The *RSM* AUV is equipped with four thrusters: $n = 4$. Two are placed at the rear of the vehicle and aligned with the *x*<sub>B</sub> axis and two are placed in the middle of vehicle on each side and aligned with the *z*<sub>B</sub> axis. The *RSM* vehicle is displayed on figure 1.4 and the position and orientation of the actuators are given in table 1.3.
<figure><img src="image_10.png" /><figcaption>Figure 1.4 – Schematic of the RSM robot. Red vectors are unitary thrust vector of each thruster.</figcaption></figure>

<table><caption>Table 1.3 – Propulsive configuration of the RSM robot</caption><thead><tr><th>Thruster 1</th><th>Thruster 2</th><th>Thruster 3</th><th>Thruster 4</th></tr></thead><tbody><tr><td><table><tr><td>-L/2</td></tr><tr><td>R</td></tr><tr><td>0</td></tr></table></td><td><table><tr><td>-L/2</td></tr><tr><td>-R</td></tr><tr><td>0</td></tr></table></td><td><table><tr><td>0</td></tr><tr><td>R</td></tr><tr><td>0</td></tr></table></td><td><table><tr><td>0</td></tr><tr><td>-R</td></tr><tr><td>0</td></tr></table></td></tr><tr><td>θ<sub>P1</sub> = 0</td><td>θ<sub>P2</sub> = 0</td><td>θ<sub>P3</sub> = -π/2</td><td>θ<sub>P4</sub> = -π/2</td></tr><tr><td>ψ<sub>P1</sub> = 0</td><td>ψ<sub>P2</sub> = 0</td><td>ψ<sub>P3</sub> = 0</td><td>ψ<sub>P4</sub> = 0</td></tr></tbody></table>
The TCM for robot RSM is then:

$$
\mathbf{B}_{RSM} = \begin{bmatrix}
1 & 1 & 0 & 0 \\
0 & 0 & 0 & 0 \\
0 & 0 & 1 & 1 \\
0 & 0 & R & -R \\
0 & 0 & 0 & 0 \\
-R & R & 0 & 0
\end{bmatrix} \tag{1.25}
$$

It is clear in equation (1.25) that this vehicle is not able to generate any sway force (second row is zero) nor pitch moment (fifth row also zero). The vehicle is clearly underactuated and one gets: rank($\mathbf{B}_{RSM}$) = 4. The first two thrusters share surge (addition of forces) and yaw (difference of forces). The last two share heave and roll in the same way.

The two most common solutions for thrust allocation in the underactuated case are the Moore-Penrose pseudo-inverse [129] and reduction of the calculation space. The principle of space reduction is to discard 6 − n lines of the TCM to make it square and invertible. The resulting reduced matrix must be of full rank showing that the vehicle is in fact fully-actuated on the reduced space. The discarded lines correspond to the non-actuated DOF of the vehicle or to the non-controlled DOF in the case of coupled DOF (see example of section 1.2.2). In this case, the lines 2 and 5 of $\mathbf{B}_{RSM}$ would be discarded. The reduced matrix becomes:

$$
\mathbf{B}_{RSM}^r = \begin{bmatrix}
1 & 1 & 0 & 0 \\
0 & 0 & 1 & 1 \\
0 & 0 & -R & R \\
-R & R & 0 & 0
\end{bmatrix} \tag{1.26}
$$
Matrix $\mathbf{B}_{RSM}^r$ is invertible $\det(\mathbf{B}_{RSM}^r) = 4R^2$ and its inverse is:

$$ (\mathbf{B}_{RSM}^r)^{-1} = \frac{1}{2} \begin{bmatrix} 1 & 0 & 0 & -1/R \\ 1 & 0 & 0 & 1/R \\ 0 & 1 & -1/R & 0 \\ 0 & 1 & 1/R & 0 \end{bmatrix} \qquad (1.27) $$

Note that, when using the reduced TCM, the effort vector must also be reduced removing the same lines.

The second solution is to use the left-hand Moore-Penrose pseudo-inverse defined for a matrix $A$ as [129]:

$$ A^{\dagger} = (A^{\top} A)^{-1} A^{\top} \qquad (1.28) $$

The pseudo-inverse of $\mathbf{B}_{RSM}$ is then:

$$ (\mathbf{B}_{RSM})^{\dagger} = \frac{1}{2} \begin{bmatrix} 1 & 0 & 0 & 0 & 0 & -1/R \\ 1 & 0 & 0 & 0 & 0 & 1/R \\ 0 & 0 & 1 & -1/R & 0 & 0 \\ 0 & 0 & 1 & 1/R & 0 & 0 \end{bmatrix} \qquad (1.29) $$

The Moore-Penrose pseudo-inverse proposes a least error solution for the inversion problem. Note that, because of the rows of zeros of $\mathbf{B}_{RSM}$ the space-reduction and pseudo-inverse give two very similar solutions. In this case, one gets:

$$ \mathbf{u} = (\mathbf{B}_{RSM})^{\dagger} \mathbf{\tau} = (\mathbf{B}_{RSM}^{r})^{-1} \mathbf{\tau}^{r} \qquad (1.30) $$

with $\mathbf{\tau}^r$ the reduced effort vector. Additional examples are displayed in section 5.1 where the Moore-Penrose pseudo-inverse is not satisfying and the reduced inverse must be used.

More advanced solutions based on quadratic programming could be used to deal with the inversion of the thrust allocation equation.
1.2.2 Reconfigurable thrusters

Reconfigurable thrusters are mechanical devices where a main propeller is coupled with additional mechanisms allowing reconfiguration of the thrust vector. They can also be referred to as vector or vectorized thrusters. An overview of different reconfiguration technologies can be found in [43]. This section is mainly focused on thrusters able to direct their thrust axis in one or two dimensions but this concept has been pushed forward in chapter 5 where thrusters able to rotate around the hull of the vehicle are studied.

The off-board engine of a typical private boat is a good everyday-life example of a 2D reconfigurable thruster. The propeller axis can be directed around the vertical axis allowing the engine to generate vector thrust in all the horizontal plane. Reconfigurable thrusters increase the number of actuated DOF of a vehicle with additional lightweight actuators but does not required additional heavyweight motors. It is a sensible solution to increase the mobility of a vehicle without reducing its autonomy or adding weight [30, 43].

The modeling of a reconfigurable thruster is not very different from the fixed thruster introduced earlier. A frame $\mathcal{R}_{P_i}$ is associated to a thruster and centered on the center of thrust. In this model, the center of thrust is assumed to be static and the vector thruster is considered to rotate around the center of thrust. The direction of the thrust vector is parametrized with two angles: $\theta_r$ around $y_{P_i}$ and $\psi_r$ around $z_{P_i}$. Note that the parametrization of the reconfigurable thruster is chosen so that the axis of thrust is aligned with $x_{P_i}$ when $\theta_r = \psi_r = 0$ to keep equivalence with the fixed thruster model introduced earlier. Also, for a 2D reconfigurable thruster, one of the two angles (preferably $\theta_r$) is fixed to 0.

As for the fixed thrusters introduced in section 1.2.1, the effort generated by one reconfigurable thruster at the center of the vehicle are calculated to establish the TCM. In this case though, the force generated by the reconfigurable thruster is not aligned with the $x_{P_i}$ axis as it can be rotated. The force vector is then given in $\mathcal{R}_{P_i}$ as:

$$ \mathbf{F}_{P_i}^{\mathcal{R}_{P_i}} = \begin{bmatrix} \cos \psi_r \cos \theta_r \\ \sin \psi_r \cos \theta_r \\ -\sin \theta_r \end{bmatrix} U_i \qquad (1.31) $$

where $U_i$ is the norm of the thrust force of thruster $i$.
To stick with the model introduced in section 1.2.1 for fixed thrusters, the reconfigurable thrusters will be modeled as three virtual fixed thrusters(respectively, two fixed thrusters for 2DOF reconfigurable thruster) aligned with the axes of $\mathcal{R}_{P_i}$. The force components of the three equivalent fixed thrusters are separated as:

$$u_{x,i} = \cos \psi_r \cos \theta_r U_i \qquad (1.32a)$$

$$u_{y,i} = \sin \psi_r \cos \theta_r U_i \qquad (1.32b)$$

$$u_{z,i} = -\sin \theta_r U_i \qquad (1.32c)$$

Equation (1.32) shows that the three force components generated by a single reconfigurable thruster are independent functions of the thrust norm $U_i$ and the two reconfiguration angles $\theta_r$ and $\psi_r$. This system is invertible. Note that for a 2DOF thruster ($\psi_r = 0$), no force is generated on the $\mathbf{y}_{P_i}$ axis. To maintain the equivalence with fixed thrusters, the three force components $u_{x,i}$, $u_{y,i}$ and $u_{z,i}$ of a reconfigurable thruster (respectively $u_{x,i}$ and $u_{z,i}$) are used in the vector of propulsive forces $\mathbf{u}$. For a single 3D reconfigurable thruster one gets:

$$\mathbf{u} = \begin{bmatrix} u_{x,i} \\ u_{y,i} \\ u_{z,i} \end{bmatrix} \qquad (1.33)$$

To show the effects of a 3DOF reconfigurable thruster, a simple uqr-craft is introduced. This vehicle is equipped with a single 3DOF reconfigurable thruster at the rear. Figure 1.5 displays this simple example vehicle. The TCM for this vehicle is built as if it was equipped with three fixed thrusters, all placed in the same point $\mathbf{P}_i$ and aligned with the axes of the local frame $\mathcal{R}_{P_i}$ which, in this case, match the axes of $\mathcal{R}_B$ [30]. Table 1.4 shows the propulsive arrangement of this vehicle and the equivalent with fixed thrusters.
<figure><img src="image_11.png" /><figcaption>Figure 1.5 – Schematic of the example *uqr*-vehicle.</figcaption></figure>

<table><caption>Table 1.4 – Propulsive configuration of the *uqr* example vehicle</caption><thead><tr><th>Reconfigurable Thruster</th><th colspan="3">Equivalent virtual fixed thrusters</th></tr><tr><th>3DOF</th><th>x axis</th><th>y axis</th><th>z axis</th></tr></thead><tbody><tr><td><table><tr><td>-L/2</td></tr><tr><td>0</td></tr><tr><td>0</td></tr></table></td><td><table><tr><td>-L/2</td></tr><tr><td>0</td></tr><tr><td>0</td></tr></table></td><td><table><tr><td>-L/2</td></tr><tr><td>0</td></tr><tr><td>0</td></tr></table></td><td><table><tr><td>-L/2</td></tr><tr><td>0</td></tr><tr><td>0</td></tr></table></td></tr><tr><td>θ<sub>P<sub>i</sub></sub> = 0</td><td>θ<sub>x</sub> = 0</td><td>θ<sub>y</sub> = 0</td><td>θ<sub>z</sub> = -π/2</td></tr><tr><td>ψ<sub>P<sub>i</sub></sub> = 0</td><td>ψ<sub>x</sub> = 0</td><td>ψ<sub>y</sub> = π/2</td><td>ψ<sub>z</sub> = 0</td></tr></tbody></table>
The TCM matrix for this vehicle is then:

$$ \mathbf{B}_{uqr} = \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \\ 0 & 0 & 0 \\ 0 & 0 & L/2 \\ 0 & -L/2 & 0 \end{bmatrix} \qquad (1.34) $$

Equation (1.34) shows that the *uqr*-vehicle introduced in this example has three actuated DOF, rank($\mathbf{B}_{uqr}$) = 3. In facts, the reconfigurable thruster positioned at the rear of the vehicle generates a surge force (decoupled from all the other DOF) and two pairs of coupled degrees of freedom: sway and yaw on one side and heave and pitch on the other side. This example allows introducing the compulsory choice between coupled actuated DOF. In facts, when a single actuator —whether it is a fixed thruster or one of the virtual equivalent of a reconfigurable thruster— generates several coupled DOF, one of these DOF must be chosen to be controlled and the other(s) will generate disturbances (See section 5.1 and Appendix C for a more in depth study of the coupled effects of reconfigurable thrusters). In this case, the equivalent fixed thruster aligned with the $y_P$ axis for instance, generates a sway force coupled with a yaw moment (second column of $\mathbf{B}_{uqr}$). In the controller, it will be necessary to choose which DOF is controlled and which is seen as a disturbance. This choice depends mainly on the task and the vehicle. Deeper studies about the consequences of choosing one DOF over the other can be found in section 5.1.

Because of the coupling terms in $\mathbf{B}_{uqr}$, the reduction method is used for thrust allocation instead of the pseudo-inverse if the moments are controlled and not the coupled forces. Therefore, the coupled forces generated by the vector thruster are not taken into account in the allocation calculations.

Once $u_{x,i}$, $u_{y,i}$ and $u_{z,i}$ are calculated, the three control parameters of the reconfigurable
thruster $U_i$, $\theta_r$ and $\psi_r$ are found using the inverse of system (1.32):

$$U_i = \sqrt{u_{x,i}^2 + u_{y,i}^2 + u_{z,i}^2} \qquad (1.35a)$$

$$\theta_r = -\arcsin\left(\frac{u_{z,i}}{U_i}\right) \qquad (1.35b)$$

$$\psi_r = \arctan_2(u_{y,i}, u_{x,i}) \qquad (1.35c)$$

**Remark 1.2** The following examples and notably section 5.1 hint towards preferential choices of methods to invert the TCM in the underactuated case and particularly with coupled actuators like off-centered vector thrusters. In facts, in cases where the TCM shows actuator coupling, the Moore-Penrose pseudo-inverse of the TCM acts as a filter or a gain matrix in front of the control vector. Depending on the coefficients of **B** and therefore on the physical dimensions of the vehicle, some terms of **B**† can tend to zero or on the contrary get very large. Consequently, when working with coupled actuators, the second method based on the reduced TCM is more suited for thrust allocation even though it neglects some phenomena.

### 1.2.3 Remark on the effects of coupled actuators

One of the parameters to consider when choosing the thruster technology (fixed or re-configurable thrusters, control surfaces, ...) and propulsive arrangement of marine vehicles is force and moment coupling. Typically, off-centered thrusters whom force axis does not cross the center of the mobile frame, create a coupled force and moment. This is notably the case for at least one of the fixed equivalent thrusters of a vector thruster. The goal of this section is to demonstrate the effect of this additional disturbing term and compare with an equivalent fixed-thrusters arrangement.

To demonstrate the consequences of this coupling effect, let us compare two surface vehicles. The first one is equipped with two parallel rear thrusters aligned with the $x_B$ axis and the second one is equipped with one 2DOF vector thruster, placed at the rear and rotating around the vertical axis. This two vehicles are reductions of the RSM AUV figure 1.4 and the uqr-vessel figure 1.5, respectively, in the horizontal plane. The first one is actuated in surge and yaw and the associated TCM is:
$$ B_1 = \begin{bmatrix} 1 & 1 \\ 0 & 0 \\ -R & R \end{bmatrix} \qquad (1.36) $$

Note that in equation (1.36) R can be the radius of the body of the vehicle if it is approximated with a cylinder or can be half of the distance between the two thrusters if the vehicle is of any other shape. Equation (1.36) shows that surge and yaw are decoupled and no additional force or moment is created by this propulsive arrangement, the two actuators are sharing two DOF without redundancy. This propulsive arrangement can generate a pure yaw moment without coupled effects.

Using the equivalent fixed thrusters introduced in the previous section, the TCM for the second vehicle is:

$$ B_2 = \begin{bmatrix} 1 & 0 \\ 0 & 1 \\ 0 & -L/2 \end{bmatrix} \qquad (1.37) $$

where L denotes the length of the body of the vessel. Equation (1.37) shows that the vector thruster of the second vehicle can generate an independent surge force and coupled sway force and yaw moment. The first virtual thruster generates a surge force while the second generates both a sway force and a yaw moment. Following the reasoning introduced in the previous section, it is necessary to choose only one of the two coupled DOF in the control of the vehicle. In this example, yaw will be controlled to keep equivalence between the two vehicles. An analogous example demonstrates the consequences of the other choice in section 5.1.4.

To compare the different behaviors created by these two propulsive arrangements, let us consider a control effort vector $\tau_c$ that would be the output of the controller. The two vehicles are controlled in surge and yaw therefore $\tau_c$ is of shape:

$$ \tau_c = \begin{bmatrix} X_c \\ 0 \\ N_c \end{bmatrix} \qquad (1.38) $$
where $X_c$ denotes the control surge force and $N_c$ the control yaw moment.

To study the consequence of the coupling terms introduced in the second propulsive arrangement, the real efforts applied to the vehicle are calculated. To do so, the thrust allocation is performed and the resulting efforts expressed in $R_B$ at the center of the vehicle are calculated using equation (1.22). For ease of calculation, the two TCM are inverted using the space reduction method introduced in the previous section. Note that the results obtained with the Moore-Penrose pseudo-inverse on $B_2$ vary depending on the numerical values of the model parameters (here $L$). For coupled actuators, the inversion of the reduced matrix seems more suitable. The control vector is also reduced discarding the sway term: $\tau_c^r = [X_c N_c]^T$. The inverted reduced matrices are:

$$ (B_1^r)^{-1} = \frac{1}{2} \begin{bmatrix} 1 & \frac{-1}{R} \\ 1 & \frac{1}{R} \end{bmatrix} \qquad (1.39a) $$

$$ (B_2^r)^{-1} = \begin{bmatrix} 1 & 0 \\ 0 & \frac{-2}{L} \end{bmatrix} \qquad (1.39b) $$

The real efforts applied to the vehicle in the two cases $\tau_1^*$ and $\tau_2^*$ respectively are then:

$$ \tau_1^* = B_1(B_1^r)^{-1} \tau_c^r = \begin{bmatrix} X_c \\ 0 \\ N_c \end{bmatrix} \qquad (1.40a) $$

$$ \tau_2^* = B_2(B_2^r)^{-1} \tau_c^r = \begin{bmatrix} X_c \\ \frac{-2N_c}{L} \\ N_c \end{bmatrix} \qquad (1.40b) $$

Equation (1.40) shows clearly that the thrust allocation and reconstruction of the effort vector creates a new sway force on the second vehicle (second line of $\tau_2^*$). This sway force does not appear on the first vehicle. This phenomena is due to the fact that, with the second vehicle, generating a yaw moment is done by generating an off-centered sway force which also acts as a disturbance. The first propulsive arrangement allows generation of
a pure yaw moment without sway force. Note that the same goes if sway is chosen as a controlled DOF on the second vehicle, a yaw disturbance would appear.

At this point, one might think that this result is counter-intuitive considering that most mainstream surface vehicles actually use a rear vector thruster. In facts, as demonstrated in section 5.1 the consequences of this disturbing sway force can have varying degrees of impact on the vehicle behavior. Notably, the shape of the hull of conventional boats as well as other design parameters make them very robust to sway disturbances, sway motions are highly damped and anti-drift planes stabilize the yaw angle of the vehicle and reduce sway motions at high surge speeds. A more in-depth study on the consequences of these disturbing coupling terms as well as on the model parameters counter-acting these effects can be found in section 5.1.

**1.3 Additional Remarks on the Modeling and Simulation of Marine Craft**

This section gives additional remarks on the modeling and simulation of marine craft. Notably, it explains some of the choices made in simulation for the modeling of sea currents, physical limitations of the actuators and measurement noise.

**1.3.1 Limitation of reconfiguration speed**

To give a more realistic rendering of the behavior of reconfigurable thrusters (also called vector thrusters), the reconfiguration speed has been limited in the simulator. Yet, in order to develop control methods that are independent from technology choices, this limitation will not be taken into account in the following control calculations. Consequently, an unmodeled delay is introduced between the requested control angle and the actual value creating potentially disturbing effects.

Figure 1.6 shows the disturbing force created by the reconfiguration delay in an extreme case (45° error). On figure 1.6 the required force vector is represented with the blue arrow and the actual thrust vector is represented with the black arrow. The red arrow represents the disturbing force created by the delay, orthogonal to the desired force.

In order to reduce the norm of the disturbing force in case of reconfiguration delay, the norm of the actual thrust is multiplied by a 0 to 1 parameter calculated as a function of the reconfiguration angular error. The multiplier is 0 when the reconfiguration error
<figure><img src="image_12.png" /><figcaption>Figure 1.6 – Illustration of the consequences of the reconfiguration delay.</figcaption></figure>
is $\pi/2$ rad or greater, tends to 1 when the reconfiguration error tends to $\pi/4$ rad and is equal to 1 if the error is less than $\pi/4$ rad.

This method reduces the amount of disturbing force created by the reconfiguration delay but also reduces the force component collinear to the controller output. The multiplier barely deviates from 1 practically. Sufficiently smooth trajectories would not require reconfiguration speed higher than the maximum.

### 1.3.2 Limitation of thrust variation

The simulator used in this work does not model the water surrounding the vehicle. Therefore, it does not simulate the hydrodynamic effects acting on the propellers or the acceleration of water created by the thrusters. Instead, and to avoid unrealistic results, the variation of thrust of the actuators is limited.

This limitation implies a linear thrust profile which also creates a delay in the thruster's response to a control request. This delay is not modeled in the control calculations and therefore mitigates the tracking performance.

### 1.3.3 Modeling sea currents

Sea currents are the most common external disturbances a marine vehicle is likely to experience. Sea currents are modeled with a constant, irrotational velocity vector (see [64] for more details) defined in $\mathcal{R}_0$ as:

$$ \mathbf{v}_{\text{curr}} = \begin{bmatrix} \dot{x}_{\text{curr}} & \dot{y}_{\text{curr}} & \dot{w}_{\text{curr}} & 0 & 0 & 0 \end{bmatrix}^{\top} \qquad (1.41) $$

and moved to the body-fixed frame $\mathcal{R}_B$ using:

$$ \mathbf{v}_{\text{curr}} = \mathbf{J}(\eta)^{-1} \mathbf{v}_{\text{curr}} \qquad (1.42) $$

The model of the vehicle is then redefined in terms of the relative velocity vector $\mathbf{v}_r = \mathbf{v} - \mathbf{v}_{\text{curr}}$. The kinematic model becomes:

$$ \dot{\eta} = \mathbf{J}(\eta)(\mathbf{v}_r - \mathbf{v}_{\text{curr}}) = \mathbf{J}(\eta)\mathbf{v} \qquad (1.43) $$
and, deriving equation (1.43), the dynamic model becomes:

$$ \dot{\nu} = \begin{bmatrix} -S(\nu_2)\nu_{curr} \\ \mathbf{o}_{3x1} \end{bmatrix} + M^{-1}(\tau - C(\nu_r)\nu_r - D(\nu_r)\nu_r - g(\eta)) \quad (1.44) $$

where $S$ is the skew-symmetrical matrix defined in equation (1.10).

The main advantage of this representation is that the kinematic model of the vehicle is defined only in terms of the absolute velocity vector $\nu$ and the dynamic model is defined in term of the relative velocity vector $\nu_r$. Effects of waves or wind could also be taken into account and modeled as an external force vector translated into a velocity vector linearly added to the current velocity. Then, the amplitude of the current velocity could vary in time in a sinusoidal shape for instance.

### 1.3.4 Modeling measurement noise

Measurement noise is modeled with a Gaussian white noise. The standard deviation of the noise is arbitrarily set and chosen to represent the reality of common sensors. In the following, the standard deviation for position measures is typically chosen between 0.1 m and 0.5 m depending on the experiment and between 0.05 and 0.1 rad for angular measures.

### 1.3.5 Trajectory generation

This section describes the procedure used to generate trajectories in the simulator. All the DOF of the trajectories must be defined as smooth time functions to be used as references in the control calculations. To fit with all the controllers developed in the following (and notably some flatness-based controllers described in chapter 4, the trajectory are continuous and have continuous derivatives up to the fourth order.

In the simulator, each task corresponds to one time function. This function describes six sets of lines and curves put together and their derivatives. Each trajectory is discontinuous at that point because continuity is not assured between the different parts of the path.

Then, points of interest are extracted from the trajectories corresponding to each DOF. First points of interest are put down regularly on the trajectory. Then, some more points are added at and around discontinuities, rapid variations in curve, speed or acceleration of
<figure><img src="image_13.png" /><figcaption>Figure 1.7 – Example of trajectory generation. Blue: discontinuous time function, Black circles: points of interest, Orange: final trajectory</figcaption></figure>

the paths. Note that instead of generating discontinuous time functions then extracting
interest points, the trajectory could be defined using only sets of waypoints. Previous
versions of the simulator were using these time functions as trajectory so they have been
kept to save time.

The final step is to generate new paths between the points of interest. These new
segments and curves are calculated using polynomials to ensure continuity and smoothness
at and between the points up to the fourth order.

Figure 1.7 shows the result of the trajectory generation procedure on one DOF.

For better trajectory tracking performances, the trajectory generation procedure could
be upgraded to take information of capability of the vehicle into account [130].
1.4 Task description

The first step of task-based design of marine vehicles and controllers is to define
(or redefine) the concept of task. The task, or application, settles the requirements and
constraints to which the vehicle has to conform. Notably, with the aim of reducing the
amount of actuators embedded on the vehicle, the evaluation of the number of solicited
degrees of freedom (DOF) for a task is of the utmost importance. The notion of task is
often confused with the notion of trajectory or path (in the sens of a succession of points
in space) the vehicle has to follow. In this work, the definition of a task is extended to take
other external phenomena into account. A task is described as the combination of a path,
additional constraints, environmental effects acting on the vehicle and natural dynamics
of the craft. These four components define the number of required DOF of a task.

Redefining the tasks is the first step towards more maneuverable marine vehicles,
allowing for new behaviors and unlocking new applications.

1.4.1 Degrees of Freedom of a task

The trajectory, constraints, environmental effects and natural dynamics of the vehicle
define the required DOF for a task.

The trajectory is a set of up to six independent time relative functions, expressed
in the inertial frame, describing the expected behavior of the vehicle. These functions
represent expected translations in the inertial frame and the expected attitude of the
vehicle w.r.t the inertial frame. As a first design base, the vehicle will need to be equipped
with actuators allowing generating at least as many translations and as many rotations
as defined by the trajectory. Note that translations can be substituted with rotations but
not the opposite. In facts, a great number of vehicles (boats, cars, planes, ...) compensate
the lack of actuated translations with one or several actuated rotations. The need for a
compensation mechanism can make the control problem nontrivial. Controllers exploiting
this compensation mechanism are described in chapter 2.

Additionally, the task being most often defined in the inertial earth-fixed frame the attitude of an underactuated vehicle can modify its degree of actuation with respect to the path and constraints. If only two of the three rotations of a vehicle are actuated for instance, there are sets of possibly stable attitudes in which the vehicle loses the capability of generating a moment around one axis of the inertial frame. As an example, if a vehicle is actuated in roll and yaw but not in pitch, a ninety-degrees roll angle nullifies its ability
to turn around the vertical axis of the inertial frame which can be detrimental for the task.

The same goes for translations if all three are not independently actuated. The vehicle can reach attitudes in which it loses its capabilities of generating forces on one or several axes of the inertial frame. This phenomenon must be taken into account when the actuator arrangement of the vehicle is designed.

The vehicle may also have to comply with a number of constraints during the application independently of the trajectory. These constraints are not always translatable into path functions. They can be imposed by the design of the vehicle, its software architecture (for instance the pitch singularity using Euler angles), the position of a sensor etc... As an example, for a scanning mission, the vehicle can be equipped with a sonar whom axis must be kept within a 5-degree range of the vertical. Such a constraint can require one or several additional actuators to be filled at all time. For less critical constraints, the designer can also choose to rely on the natural dynamics of the vehicle to meet the constraints like the roll and pitch stability created by an offset between the centers of gravity and buoyancy.

Environmental effects can also be taken into account when defining the task. As an example, a known sea current pushing the vehicle away from the prescribed trajectory can imply adding one or several actuators on the vehicle to counteract it.

Lastly, the natural dynamics of the vehicle can also be considered when defining the task. The shape of the hull, the buoyancy of the vehicle or the relative position of the centers of gravity and buoyancy are all parameters to be taken into account when designing the vehicle for a given task. Depending on the shape of the hull, the vehicle may have one or several energetically inefficient DOF to avoid. In the same way, if the center of mass and the center of buoyancy of the vehicle are offset a constant restauring moment will limit the attitude of the vehicle.

### 1.4.1.1 Introductory example

Considering all four components of a task (trajectory, constraints, environmental effects, natural dynamics), it appears that designing a vehicle and its propulsive arrangement for a given mission is not always straightforward. It also implies that several solutions will exist for one application. As a first example, for surface vessels, the simple task of following a straight line has two different propulsive arrangement solutions. As a first example the *trajectory* is a 2D segment of the horizontal plane. Considering that the space
of this application is composed of two translations and a rotation, two solutions raise for tracking a straight line: two actuated translations or one actuated translation and one actuated rotation.

In the first case, the vehicle would be equipped with two orthogonal fixed thrusters (for simplicity of this example), each of them being able to generate a force moving the vehicle on one axis. In the second case, the vehicle would be equipped with two parallel thrusters which, when combined, can generate a force and a moment independently. From the strict point of view of the number of actuators, these two solutions are equivalent (considering in this example that both vehicles are equipped with same motors and propellers). Assume for now that there is no additional *constraint* or *environmental effects*. Then, the choice between these two solutions is guided by the shape of the hull of the vehicle and its *natural dynamics*. If the vessel has a traditional *V-shaped* hull, it will be much more energetically efficient to choose the second solution over the first one, actuating the favored translation of the vehicle and turning around the vertical axis to point the vehicle in the right direction.

Consider now that the same vehicle is required to maneuver in narrow paths, barely wider than the width of the hull as it could be the case in ports or canal locks. In this new scenario, the additional external *constraint* tips the scale towards the first solution. It would be more practical locally for this application to have two actuated translations and exploit the natural dynamics of the hull for yaw stability even if it is less efficient in regard to energy consumption.

This question is much more complex underwater. To limit the number of embedded actuators, it is often interesting to look for a trade-off between energy efficiency and number of actuators. The designer has to decide whether it is more interesting for the application to locally go against the natural dynamics of the vehicle at the cost of a greater energy expenditure during a short period of time or to add a new thruster and the needed battery and control capacities.

### 1.4.2 Scenarios

The choice of scenario dictates the time constraint of the task. The three main scenarios for marine craft are *setpoint regulation*, *path following* and *trajectory tracking*. Each scenario corresponds to a level of time constraint.

An application can of course be composed of several scenarios. Taking the example of the surveillance of an offshore submerged power plant, reaching the plant ashore could be
a setpoint regulation subtask or a path following subtask but taking images around the
plant would likely be a trajectory tracking task.

Tasks can usually be broken down into two distinctive problems: the *geometric* task and the *dynamic* task. The geometric task consists in making the position of one point of the vehicle reach and track a desired target or geometrical path. The dynamic task consists in making the velocity of the vehicle converge to and track the desired velocity assignment. The chosen scenario dictates the importance given to the geometric and dynamic tasks which are achieved either simultaneously or separately.

1.4.2.1 Setpoint regulation

In *setpoint regulation*, the target position and attitude are constant. The behavior of the vehicle on its way to the target is left free. There is no time constraint in this scenario. Several waypoints can be defined and a strategy to switch from one target to the next is chosen. Most often, when the vehicle gets in a prescribed radius of a waypoint, the target changes to the next waypoint. The switching strategy can be adapted to fit the capabilities of the vehicle and smooth its behavior.

Setpoint regulation is notably used with large ships on long missions. A cargo ship crossing the Atlantic Ocean aims for the next port or sets a course to follow for several days at cruising speed. It does not necessarily need to follow a defined path.

The setpoint regulation scenario only focuses on the geometric task of the application.
The dynamic task is solved separately and is considered of secondary importance.

1.4.2.2 Path Following

The second scenario is *path following*. In this case, the path taken by the vehicle between the waypoints is constrained. The path can be a straight line between two points or a more complicated shape to avoid obstacles or areas or favor one motion. In path following, the constraints are independent of time, the speed of the vehicle on the path is not prescribed and the dynamic task is considered solved otherwise. To take the time constraint into account, path following can be updated to path *tracking*. In both cases, the vehicle is aimed for a virtual particle moving along. The dynamics of the particle can be decided a priori to emphasize the time constraint or adapted to the behavior of the vehicle so that the system is never left behind. The work [20, 21] propose a path following and tracking formalism based on the LOS guidance method and show the principle of this type of tasks.
Path following and path tracking applications are notably useful to constrain the vehicle to a path without constraining its speed. To take the example of the cargo ship, the helmsman could choose to follow a known route to reach the next port in which case a path following controller would be recommended. Once the vehicle is on the route it follows the prescribed path and the pilot can choose the desired speed.

The path following scenario emphasizes solving the geometric task. As for setpoint regulation, the dynamic task is considered of lesser importance in path following. The dynamic task can even be sacrificed for the sake of fulfilling the geometric task. This dichotomy gives inherent robustness and flexibility to the path following scheme.

1.4.2.3 Trajectory Tracking

The third scenario and hardest level of time constraint in *trajectory tracking*. Here, the
spatial constraints are associated with time requirements. The vehicle is tracking a virtual
target moving on a path with a prescribed speed and acceleration. Trajectory tracking
usually requires more advanced controllers to maintain good performance. Most of the
applications described in this work are trajectory tracking scenarios because it represents
the hardest level of difficulty for a vehicle. If the ship is able to track a trajectory at the
prescribed speed at all time it will easily be able to track a path with a fixed speed or
rally a setpoint. Both setpoint regulation and path following can be replaced by trajectory
tracking scenarios with an additional, offline, layer of trajectory planning.

Also trajectory tracking allows smoother and more accurate control of the vehicle all
along the task than path following at the cost of higher computational complexity. Tra-
jectory tracking is more suited for applications requiring high degrees of maneuverability.
It is notably used with smaller vehicles on applications with shorter time constants.

Trajectory tracking solves the geometric and dynamic tasks simultaneously. The space
and time assignments are mixed up into a single task demanding the vehicle to be in a
given point at a given time.

1.5 Definition of Underactuation

This work mainly focuses on the study of marine vehicles described as being under-
actuated. Underactuation is a well defined concept in robotics in general. In this work a
slightly enhanced definition of underactuated systems is proposed to enclose the relation
between the system and the task.
In robotics, an underactuated system is usually defined as a system with fewer actuators or control inputs than degrees of freedom. Notably, the work of [160] or [163] give the following definition of underactuation based on Newton’s second principle:

**Definition 1.3 (Underactuated system)** *Considering the system described as:*

$$ \ddot{q} = f_1(q, \dot{q}) + f_2(q, \dot{q})u \quad (1.45) $$

where $q$ is the vector of position and attitude, $u$ is a control vector and $f_1$ and $f_2$ are two model functions established with Newton’s second principle.

The system is considered underactuated if:

$$ \mathrm{rank}(f_2(q, \dot{q})) < \mathrm{dim}(q) $$

Definition 1.3 certainly applies to underactuated marine craft considering that $q = \eta$ is the vector of position and orientation of the vehicle. Note that equation (1.45) is equivalent to the representation of the vehicle in the inertial frame even though in marine robotics and with mobile robots in general, the vector of control inputs $u$ is defined in a mobile frame fixed to the body of the vehicle. The actuation matrix $f_2$ must therefore take the rotation of the mobile frame into account.

From a control perspective, it is useful to extend Definition 1.3 to take the required DOF of the task into account. It is notably interesting to introduce the notion of ill-actuated vehicle. Following the work of [64], the rank condition on the actuation matrix $f_2$ is redefined in the subspace representing the required DOF of the task. Considering the reduced model:

$$ \ddot{q}_r = f_{1,r}(q_r, \dot{q}_r) + f_{2,r}(q_r, \dot{q}_r)u \quad (1.46) $$

where all lines corresponding to DOF not required in the task are task are discarded in $q_r$, $f_{2,r}$ and $f_{2,r}$. Then, there are three possible cases:

1. **Underactuated:**

$$ \mathrm{dim}(q_r) > \mathrm{dim}(u) $$

2. **Ill-actuated:**

$$ \mathrm{dim}(q_r) = \mathrm{dim}(u) \ \& \ \mathrm{rank}(f_{2,r}(q_r, \dot{q}_r)) < \mathrm{dim}(q_r) $$
3. Fully-actuated:

$$ \dim(\boldsymbol{q}_r) = \dim(\boldsymbol{u}) \ \& \ \mathrm{rank}(\boldsymbol{f}_{2,r}(\boldsymbol{q}_r, \dot{\boldsymbol{q}}_r)) = \dim(\boldsymbol{q}_r) $$

In the first case, the vehicle is clearly underactuated with respect to the task. It has fewer actuated DOF than the task requires. This means that the vehicle will only be able to track part of the task requirements. As a very simple example, if the task is constituted of single setpoint in the horizontal plane, two translations are required. If the vehicle has only one actuated translation, then it is underactuated w.r.t. the task. It is perhaps able to move on one axis to align with the point and meet one requirement of the task but cannot join the point.

The second case is ill actuation. In this case, the vehicle has the same number of actuated DOF as required in the task but they don't match exactly. This is the most common case in marine robotics as it is the case of most surface vessels and many AUVs in position tracking applications. In the horizontal plane, a boat typically has one actuated translation and one actuation rotation (ur-vessel defined earlier). But, if the task requires two translations, typically to reach a point or follow a path defined in positions, the boat misses one translation.

Ill-actuation is particularly interesting from a control perspective because, as seen in many examples of chapter 2, guidance principles and particular designs of the control laws allow exploiting a DOF not required in the task to control one of those missing. Doing so is equivalent to modifying the function $\boldsymbol{f}_{2,r}$. Nevertheless, the following examples show that the control of a non-actuated DOF through compensation with another one only works to a certain extend. For instance, ill-actuated vehicles are very hard to control in station keeping tasks because the compensation mechanisms used in the control often rely on kinematic or dynamic effects. In the end, ill-actuated vehicles are underactuated on the reduced space of the task.

The third and last case is full actuation. In this case the system has as many actuated DOF as requires in the task and they match. In this case the vehicle is able to independently act on every DOF of the task at all times and in all configurations.
# LITERATURE REVIEW

## Contents

<table><tr><td>2.1</td><td>Line of Sight Guidance</td><td>46</td></tr><tr><td>2.2</td><td>PID Control</td><td>53</td></tr><tr><td>2.2.1</td><td>Examples of linearizing controllers</td><td>55</td></tr><tr><td>2.2.2</td><td>Application to Fully Actuated Vehicles</td><td>57</td></tr><tr><td>2.2.3</td><td>Application to Underactuated Vehicles</td><td>62</td></tr><tr><td>2.3</td><td>Differential Flatness</td><td>66</td></tr><tr><td>2.3.1</td><td>Application to Fully actuated vehicles</td><td>67</td></tr><tr><td>2.3.2</td><td>Application to Underactuated Vehicles</td><td>69</td></tr><tr><td>2.4</td><td>Sliding Mode Control</td><td>70</td></tr><tr><td>2.4.1</td><td>Application to Fully Actuated Vehicles</td><td>73</td></tr><tr><td>2.4.2</td><td>Application to Underactuated Vehicles</td><td>80</td></tr><tr><td>2.5</td><td>Adaptive Control</td><td>85</td></tr><tr><td>2.5.1</td><td>Intelligent PID</td><td>86</td></tr><tr><td>2.6</td><td>Conclusions on the literature review</td><td>89</td></tr></table>

This section presents a literature review on model-based control methods and guidance principles for autonomous marine vehicles. Some of the most common methods found in literature are presented. Detailed examples are given for each of these methods. For each method, a general introduction based on the presentation of a basic example is given before presenting examples in the marine context. This section notably introduces the controllers used throughout this work.

The methods displayed in this chapter are both *guidance* and *control* solutions for fully actuated and underactuated marine craft. There is a traditional dichotomy between guidance and control in the marine literature. This separation seems to be inherited from the early work done on guidance of ships. Usually, *guidance* refers to the algorithm or calculations used on ill-actuated vehicles to turn position error signals into velocity and
<figure><img src="image_14.png" /><figcaption>Figure 2.1 – Simplified diagram of the control chain of an AUV</figcaption></figure>

angle references usable in the *control* of a ship actuated in surge and yaw. A simplified flow chart of the Guidance-Control-Navigation chain is presented on figure 2.1. Yet, as seen in the following examples, guidance and control can be performed simultaneously in some cases. It is notably the case of the Sliding Mode controllers designed for underactuated vessels. They use dynamic coupling relations between the actuated DOF of the vehicle and the DOF that are actually required in the task to perform both guidance and control.

First, this section introduces the most intuitive guidance method for marine vessels: Line of Sight (LOS) guidance [65, 66, 20]. This guidance principle is inherited from naval tradition and mimics the behavior of an experienced boat pilot. Although it is not specific to marine craft, LOS guidance is the go-to method for the most common applications of autonomous marine vehicles. In comparison to the other methods introduced later in this work, LOS is slightly different since it is only a guidance method. Guidance algorithms are used to calculate new sets of references for the vehicle to track instead of the trajectory. The guidance calculations are usually based on the error signals on non actuated DOF and give references for actuated DOF that are not part of the task. Most often with marine vehicles, LOS guidance is used to calculate heading references out of sway errors. The references calculated by the LOS guidance node are then used in commercial controllers.

Then, examples of the different control methods are presented beginning with the PID-based controllers [46, 158]. PID-based controllers are very common when working with linear systems. With nonlinear systems, they are associated with various linearization techniques to perform at best. Some of them are presented and notably model-based feedback, feedforward, and hybrid linearizations. In the underactuated case, examples of additional manipulation allowing compensation of non actuated degrees of freedom are presented. These compensation mechanisms exploit natural relations of the model to compensate the lack of actuation of DOF. Compensation mechanisms act as embedded guidance calculations inside the control law.

The case of feedforward linearization and notably *differential flatness-based* controllers [154, 137] is detailed separately. Differential flatness shows very good performances and robustness when it is applied to nonlinear systems. The few examples of differential flatness
application to marine craft show promising results and are presented in more details in chapter 4.

The next control method is Sliding Mode Control (SMC) [175, 34, 87]. SMC is another very common control method for both linear and nonlinear systems offering good robustness to external disturbances and model approximations as well as theoretical finite-time convergence. Note that, unlike PID-based controllers, SMC are constructed to naturally include model-based linearizing terms. Several formulations exist for SMC as the Terminal Sliding Mode [117] or the Super Twisting Sliding Mode [172], each showing different characteristics. The examples also show that SMC can be applied in the underactuated case and that the construction of the sliding mode control law itself can be tuned to have a guidance role as well.

To complete the study, several adaptive controllers are presented. Notably, the Intel-
ligent PID is described in details as it will be used later in this work. Adaptive methods
are not at the heart of this work mostly focused on model-based methods but they are
an increasingly notorious part of the literature and their applications show good results.

Additional control methods can be found in [107, 104, 65, 122, 8, 103, 12] among many others. Backstepping, Lyapunov-based methods are also common when working with marine craft as seen in [1] or [102]. We did not retain some approaches that are promising but on which we found very few references, such as [110]. In addition, these last few years, some new control techniques based on machine learning are developed as in [174]. Because they are still recent and not found so often in the literature, these methods are not depicted in this work either.

One of the interests of this section is to see what consequences underactuation may
have on the control and how control laws can be designed and adapted to “solve” actuation
flaws. To this end, most of the control laws in this section are first presented in the fully
actuated case and then underactuated examples are given. Doing so allows for comparing
the different strategies used in the underactuated case with the fully actuated case. Some
of the control methods presented in this chapter are compared on a prototype vehicle in
[164].

**2.1 Line of Sight Guidance**

The Line Of Sight guidance technique [20, 19, 26, 16] is the most intuitive guidance method for most marine vehicles both on the surface and underwater. The basic idea is
rather simple and reproduces the behavior of an experimented helmsman: when piloting a typical boat, the easiest and fastest way to reach a distant waypoint is to point the boat towards the waypoint and sail straight forward. Once the waypoint or its neighborhood is reached, the boat is pointed towards the next one and so on.

While being quite simple, the idea behind LOS guidance hides interesting concepts. Inherited from traditional naval techniques, LOS guidance has initially been designed for autonomous boats. Such vehicles are typically ill-actuated in the horizontal plane. Only surge and yaw are actuated on most surface vehicles and sway is passively stabilized by the hull shape. Position tracking tasks in the horizontal plane are thus non-trivial. These vehicles will be referred to as ur-boats or ur-vessels in the following. There are three main actuation configuration for ur-boats: a fixed rear longitudinal thruster and a rudder, a single reconfigurable rear thruster rotating around the vertical axis or two fixed rear thrusters. These three topologies allow for independently generating a surge force and a yaw moment. The consequences of the choice of actuation arrangement for ur-boats are studied in details in section 5.1. The choice of actuation may have consequences on the control performance of the vehicle. As an example, a fixed thruster and rudder configuration is not suited for on-the-spot rotation or hovering maneuvers. Also, the different possible actuation arrangements of ur-vessels generate different coupled force effects on the sway axis (see section 5.1 for more details).

Setpoint regulation and path tracking are the two most common tasks LOS guidance is used for. The waypoints are usually a set of fixed $(x_d(i), y_d(i))$ points of the horizontal plane. The setpoint regulations and path following scenarios are described in section 1.4.2.

A very simple LOS guidance is given in figure 2.2 or in Section 6.5 of [65]. Here, a new heading reference $\psi_d$ is calculated based upon the position error between the vehicle and the tracked waypoint calculated in the inertial frame. Proportional control allows for tracking of the said heading reference. The surge speed is set to a constant. It could be controlled with another PI-based controller as well. Once the neighborhood of the current waypoint is reached, the next one is targeted. This simple LOS guidance principle does not take the model of the vehicle into account nor does it compensate for any external disturbances. Intuitively, the heading reference would be calculated as:

$$ \psi_d(t) = \arctan_2 (y_d(i) - y(t), x_d(i) - x(t)) \qquad (2.1) $$

In (2.1), the $\arctan_2$ function is used instead of the classical atan function to avoid
singularities. This expression is commonly used in numerical calculation; it extends the definition of atan to the complete complex plane. The arctan₂ function is defined on the four quadrants of the complex plane as:

$$ \mathbb{R}^2 \setminus (0,0) \rightarrow [-\pi; +\pi] $$

$$ (y, x) \mapsto \arctan_2(x, y) = \begin{cases} +\pi + \arctan\left(\frac{y}{x}\right) & \text{if } x < 0, y > 0 \text{ (quadrant II)} \\ +\frac{\pi}{2} & \text{if } x = 0, y > 0 \\ \arctan\left(\frac{y}{x}\right) & \text{if } x > 0 \text{ (quadrants I and IV)} \\ -\frac{\pi}{2} & \text{if } x = 0, y < 0 \\ -\pi + \arctan\left(\frac{y}{x}\right) & \text{if } x < 0, y < 0 \text{ (quadrant III)} \\ -\pi & \text{if } y = 0, x < 0 \end{cases} $$

<figure><img src="image_15.png" /><figcaption>Figure 2.2 – Block diagram of a simple Line Of Sight Guidance control. The Controller block represents any control function capable of calculating the surge and yaw controls $\tau_u$ and $\tau_r$ from the desired and current states.</figcaption></figure>

A more advanced control based on LOS guidance is given in [66]. In this work, LOS guidance algorithms provide desired heading and its first and second order derivatives. The nonlinearities of the model are taken into account and linearizing terms are added in the controller in a hybrid feedback and feedforward fashion (see Section 2.2 for more
details on linearizing controllers). The two controller equations can be expressed as:

$$ \tau_c = \begin{bmatrix} X_c \\ 0 \\ N_c \end{bmatrix} \qquad (2.2a) $$

$$ X_c = m_{11}\dot{u}_d + n_{11}u - k_1(u - u_d) \qquad (2.2b) $$

$$ N_c = m_{32}\dot{v} + m_{33}\dot{r}_c + n_{32}v + n_{33}r - k_3(r - r_c) - (\psi - \psi_d) \qquad (2.2c) $$

$$ r_c = -c(\psi - \psi_d) + r_d \qquad (2.2d) $$

where $m_{ij}$ are coefficients of the mass matrix, $n_{ij}$ are coefficients of the Coriolis and damping matrix, $k_1$, $k_3$ and $c$ are control gains. The yaw speed control $r_c$ is calculated as an intermediate command variable in the kinematic controller (2.2d). In the controller given by (2.2a), the heading references $\psi_d$, $r_d$ and $\dot{r}_d$ are outputs of an extended LOS guidance algorithm similar to (2.1).

LOS guidance can also be applied in the underwater three-dimensional case as displayed in [20]. Underwater, LOS guidance is mainly used for vehicles actuated in surge, pitch and yaw called uqr-vessels in the following. For uqr-vessels, pitch and yaw are generally used to cope for the lack of sway and heave actuation therefore allowing tracking of $(x, y, z)$ waypoints or trajectories. The same principle as for 2D LOS guidance is applied, the vehicle is pointed towards the tracked point and is propelled forward. As shown in [20], 3D LOS guidance involves an additional angle: the elevation. As in the 2D case, the heading and elevation angles given by LOS guidance can be used as references in the yaw and pitch controllers respectively.

The work in [20] provides three assumptions for stability of the LOS guidance-based controller and also makes use of two additional control parameters called look-ahead distances. When look-ahead distances are used, the ship is not pointed towards the target itself but towards a fictional point usually chosen further away on the trajectory. Look-ahead distances allow a smoother trajectory convergence and can be tuned relatively to the application and system. This work also introduces a path frame $R_P$ centered on the tracked point $p$. Conditions upon the evolution of point $p$ are given in this work to ensure convergence in the form of an equation giving the evolution speed of point $p$ relatively to the desired speed of the vehicle. The tracking errors used for the calculation of the reference elevation and heading angles of the LOS algorithm are calculated in frame $R_P$.
The work of [20] is actually quite different from the other examples of LOS guidance of this section. It is studied in more details and expanded in section 3.5.2.

In [19], the same authors apply the principle of 3D LOS guidance to a *uqr*-ship and build a complete controller upon this principle. As seen before, the LOS angles are used as references in the pitch and yaw controllers. This work also gives a lead towards unification of fully actuated and underactuated controllers, taking into account the fact that some actuated DOF may be considered non-actuated in certain speed ranges. In addition, [26] gives experimental results of a similar control method in the case of an underwater vehicle tracking a predefined fixed-depth $(x_d, y_d)$ path close to the surface.

The LOS guidance principles described up to this point do not take external disturbances like marine current, wind or waves into account. In fact, traditional LOS guidance does not ensure theoretical convergence in the presence of external disturbances. To cope for such disturbances, [16] proposes adding a new term in the traditional LOS heading angle calculation in the case of a *ur*-vessel. This new term, denoted as $y_{int}$, behaves like the integral term of a PI controller. It cancels possible steady state error due to persistent external disturbances. Though $y_{int}$ is not calculated as the integral of $y$, its propagation function will be chosen to allow convergence of the closed-loop system. Therefore, $y_{int}$ will be referred to as a *pseudo-integral* term. Considering $y_d = 0$, the modified LOS heading angle is:

$$ \psi_d = \operatorname{atan}\left(\frac{y + \sigma_y y_{int}}{\Delta}\right) \qquad (2.3a) $$

$$ \dot{y}_{int} = \frac{\Delta y}{(y + \sigma_y y_{int})^2 + \Delta^2} \qquad (2.3b) $$

In (2.3), $\sigma_y$ is a new control parameter acting as an integral gain, and $\Delta$ is the look-ahead distance. As $\Delta$ is always strictly positive, RHS of Equation (2.3) is always defined, and the value of $\psi_d$ is always in $[-\frac{\pi}{2}, +\frac{\pi}{2}]$. For a complete four quadrants output, one may use the arctan₂ function instead.

Equation (2.3b) gives the propagation rate of the *integral* term $y_{int}$. The first order derivative of the pseudo-integral term $y_{int}$ is conveniently chosen to allow convergence of the closed-loop system.

In [16], the tracked trajectory is a straight-line path defined in $R_o$ by $y_d = 0$. Therefore, the position of the vehicle $y$ used in (2.3) could be replaced by the cross-track error for different trajectories. Nonetheless, having the integral term $y_{int}$ in (2.3) allows the vehicle to move along the path $y = 0$ with a non-zero relative heading angle in case of external
disturbances. An adaptive yaw controller is then given and stability is proven in the presence of external disturbances.

The work presented in [24, 25] provides a generalization of the integral LOS guidance in 3D in the presence of sea currents. In the former, the addition of an integral term in the elevation angle calculation allows for compensation of vertical oceanic current in the case of a horizontal trajectory tracking problem for a uqr-ship while, in the latter, both elevation and heading angles are given with an integral term therefore allowing robustness to any irrotational current. The example in [25] is interested in tracking the x-axis line defined with $y_d = z_d = 0$. The enhanced heading angle in [25] is similar to (2.3), and the elevation angle is built the same way but with the z tracking error:

$$ \theta_d = \operatorname{atan}\left(\frac{z + \sigma_z z_{int}}{\Delta_z}\right) \qquad (2.4a) $$

$$ \dot{z}_{int} = \frac{\Delta_z z}{(z + \sigma_z z_{int})^2 + \Delta_z^2} \qquad (2.4b) $$

In [69, 106], a slightly different approach of LOS guidance is proposed. Here, the calculation of the desired LOS heading angle is based upon the cross-track error. The cross-track error kinematics is given by:

$$ \dot{y}_e = U \sin(\psi - \psi_p(s) + \beta) \qquad (2.5a) $$

$$ \psi_p(s) = \arctan_2(y'_p(s), x'_p(s)) \qquad (2.5b) $$

where $U = \sqrt{u^2 + v^2}$ is the velocity of the ship, $\psi_p(s)$ is the trajectory heading angle, and $\beta = \arctan_2(v, u)$ is the crab angle of the vehicle. The variable $s$ can be considered as a curvilinear abscissa whom propagation rule is given in [69]. More details about the path frame used here can be found in the references and in section 3.5.2.

Thus, the cross-track error kinematics (2.5a) can be seen as a new tracking problem of input $\Psi = \psi + \beta$ and output $y_e$, where $\Psi$ is the course angle. A new formulation of the desired LOS heading angle is given to stabilize the cross-track error towards the equilibrium point $\dot{y}_e = 0$; the so-called proportional LOS guidance:

$$ \Psi_d = \psi_p(s) + \operatorname{atan}\left(-\frac{y_e}{\Delta}\right) \qquad (2.6) $$

It is worth noting that [69] proposes an alternative representation of the problem. A *pivot* point is introduced and is chosen as the point of the vehicle where the local sway velocity is
zero. The pivot point is considered as the new tracking point. A new definition of the cross-track error and of the tracking problem in general are given in this point. The proportional LOS guidance is demonstrated as being uniform semiglobal exponentially stable (USGES) for the *ur*-boat. Surge and yaw controllers are given in this case based on the cross-track error. In addition to minimizing the cross-track error, the work of [106] also includes minimization of the along-track error with a surge speed controller taking both cross-track and along-track errors into account.

Some recent work conducted in [62] and [61] pushes the concept of integral LOS guidance forward with a new adaptive LOS algorithm showing increased robustness to unknown current. Also, this work uses a new amplitude-phase representation of the kinematic model of the vehicle. These adaptive solutions are described along-side other adaptive controllers in section 2.5.

LOS guidance has received a lot of attention over the years and many more references could be added in this work. The method has been used in different applications such as waypoint tracking control in [132], studies on the optimization of the look-ahead distance choice have been conducted as in [106], and LOS guidance has been applied to smooth transitions between fully actuated and underactuated configurations in [173] and, up to this date, more work is conducted on the application of LOS guidance to different marine craft [68, 111]. Also, [105] gives a good overview of LOS guidance in 2D and 3D proposing both independent horizontal and vertical planar solutions as well as a different solution coupled with an auto-depth controller.

Overall, LOS guidance can be considered as the go-to method for automation of *ur*-vessels in surface or planar applications and *uqr*-ships in underwater applications. However, as can be seen here, LOS guidance is not suited for applications where orientation of the vehicle is controlled or in hovering tasks. In fact, LOS is one of the methods using a rotational DOF to compensate the lack of actuation on a translation. In the *ur*-ship case, yaw moment is used to compensate for the lack of sway. However, the difference between LOS guidance and the other compensation methods given later in this work is that, with LOS guidance, the compensation occurs at the guidance level while, in the following, it happens mostly at the controller level. Using two translation errors or two translation velocities in the calculation of a reference for a rotational DOF makes the controller on the latter a function of either of these translation signals. This kind of manipulation is useful for underactuated systems since it allows going beyond the traditional one-to-one diagonal controller systems where control over a DOF is calculated upon the error on this
same DOF. Other methods of this kind are presented in the following.

## 2.2 Model-Based Linearization and PID Control

The very early works in (static state) feedback linearization can be found in W. Ko-
robov [99] and R.W. Brockett [22]. The necessary and sufficient conditions of feedback
linearization have been obtained by B. Jakubczyk and W. Respondek [94]; see the works
of R. Su and A. J. van der Schaft [162, 145] for the general extension to the nonlinear case.
Refer to D. Claude [32] for a survey. The problem of dynamic feedback linearization has
been later addressed by B. Charlet, J. Lévine and R. Marino [27]. See also the books [91,
126, 156] for more references. Recall that the problem of dynamic state feedback lineariza-
tion is still open. The input–output linearization problem has been first addressed in [92]
and completely solved in an algebraic setting in [152].

*Proportional Integral Derivative (PID) control is the most well-known and widely*
spread control technique among autonomous systems. However, when it comes to marine
craft and nonlinear systems in general, PID control itself may not be enough to cancel
the state error in trajectory tracking tasks. Additional linearizing mechanisms must be
associated with PID control when working with nonlinear systems such as autonomous
boats or underwater vehicles. This section demonstrates the use of PID control and these
additional strategies in the case of marine craft. The main advantage of adding linearizing
terms to the control law is to create a linear or quasi-linear closed-loop system by canceling
the nonlinearities of the model, whereas a PID controller alone applied to a nonlinear
system would be particularly difficult to tune and concluding on the convergence and
stability of the closed-loop system would not be possible.

This section displays examples of PID-based controllers both in the fully actuated case and in the underactuated case. Note that, in the fully actuated case, the common use of diagonal gain matrices creates a 1-to-1 relation between input and output. On the other hand, in the underactuated case, additional non-diagonal mechanisms create compensation behaviors used to control a non-actuated degree of freedom with another actuated one through natural model relations.

This section mainly focuses on model-based linearization methods but model-free,
adaptive controllers also exist and some examples of such controllers can be found in [65,
158, 118, 15] and in section 2.5.

Linearizing model-based controllers can be broken down into three classes. The first
type is *State Feedback Linearization*, often referred to as *Exact Linearization* [65, 118]. Here, components of the model evaluated at the current state of the system are used in the controller in order to theoretically exactly cancel the nonlinearities in the closed-loop system. Practically, some nonlinear terms may appear in the closed loop system depending on the experimental conditions and approximations. This methods is especially sensitive to model approximation and variation in experimental conditions introducing unexpected nonlinear terms in the closed-loop system. Nonetheless, the main interest of using exact linearization is turning the original nonlinear control problem into a linear (or almost linear) closed-loop system in which conventional PID tuning methods as pole placement or linear quadratic regulation can be used.

The second class of linearizing model-based controllers can be referred to as *Feed-forward Linearization* in opposition to the first one but is mostly called *Flatness-based* control as a reference to the flat characteristics of the system. Flatness-based control is discussed in details in the section 2.3 and is investigated deeply in chapter 4. In this case, the model parameters added to the controller are evaluated at the desired state or at a virtual reference. Therefore, as long as the current state is different to the desired state or the reference used in the feedforward terms, the nonlinear terms of the system are not exactly canceled in the closed-loop system. The resulting state error dynamics can therefore remain nonlinear. In this second case, conventional tuning methods are therefore more difficult to set up on the resulting closed-loop system. The non-linear terms cancel out around the desired state or reference.

The third class of linearizing model-based controllers is hybrid between feedback and
feedforward linearization [46, 65, 158, 118]. In these controllers, both feedback and feed-
forward terms are used to compensate the nonlinearities of the system either everywhere
or only in the vicinity of the trajectory. Such controllers can be used to bring some
“well-behaving” nonlinear terms in the closed-loop system, therefore enhancing the over-
all performances. Outside of the marine context and with other types of controllers, details
about these nonlinearities of the closed-loop system and their interest can be found in [84].
Some of the examples introduced in this section allow for comparing hybrid linearizing
controllers using different amounts of feedforward.

As will be detailed later in this section, it is frequent to use a virtual reference in the
controller which may be apprehended as having two nested control loops or two stages.
As a simple example, the virtual reference in the case of marine craft would be a virtual
velocity vector built itself as a controller assuring convergence of the position of the
vehicle towards the trajectory. Broadly, the outer loop generates an effort control vector ensuring convergence of the vehicle’s velocity towards the virtual reference. This virtual reference is calculated as a velocity controller, often PI-based, assuring convergence of the position towards the trajectory. Using such a two-staged architecture is notably useful to include the guidance principle in the controller. Most often, the guidance or compensation mechanism is included in the first stage or outer loop of the controller.

This type of two-staged systems are often called *cascaded* systems [115]. Cascaded systems are used in numerous control applications inside and out of the marine context. The cascade structure provides a natural robustness and facilitates tuning of the controller.

## 2.2.1 Examples of linearizing controllers

This section demonstrates the three different linearizing controllers introduced earlier based on an example of [156]. In the original reference, a feedback linearizing controller is used.

Let us introduce a nonlinear system of state $x$ and input $u$. For simplicity, the system used here is of scalar state and input:

$$ \dot{x} = f(x) + g(x)u(t) \qquad (2.7) $$

The functions $f(x)$ and $g(x)$ are known nonlinear functions of the state $x$ and $g(x)$ is assumed to be non-singular.

Three different PI-based linearizing controllers are given for this example following the four categories introduced earlier. table 2.1 associates one controller with its usual name.

<table><caption>Table 2.1 – Names of linearizing controller categories</caption><tr><td>$u_1(t)$</td><td>Feedback Linearization</td></tr><tr><td>$u_2(t)$</td><td>Exact Feedforward Linearization (Flatness)</td></tr><tr><td>$u_3(t)$</td><td>Hybrid Linearization</td></tr></table>
$$u_1(t) = g(x)^{-1} (\dot{x}^* + \mathrm{PI}(x^*, x) - f(x)) \quad (2.8a)$$

$$u_2(t) = g(x^*)^{-1} (\dot{x}^* + \mathrm{PI}(x^*, x) - f(x^*)) \quad (2.8b)$$

$$u_3(t) = g(x)^{-1} (\dot{x}^* + \mathrm{PI}(x^*, x) - f(x^*)) \quad (2.8c)$$

In equation (2.8), the * denotes a desired value or a reference calculated otherwise. A PI controller is used in this example but note that other control laws could be used instead to close the loop.

For comparison, the three corresponding closed-loop systems are given:

$$\dot{x} = \dot{x}^* + \mathrm{PI}(x) \quad (2.9a)$$

$$\dot{x} = f(x) + g(x)g(x^*)^{-1} (\dot{x}^* + \mathrm{PI}(x) - f(x^*)) \quad (2.9b)$$

$$\dot{x} = \dot{x}^* + \mathrm{PI}(x) - (f(x^*) - f(x)) \quad (2.9c)$$

Equation (2.9) shows the three closed-loop systems respectively corresponding to the three controllers of equation (2.8) applied to the system (2.7).

The consequences of the different linearizing solutions appear clearly in equation (2.9). The feedback linearizing controller equation (2.8a) leads to the fully linear closed-loop system equation (2.9a). All non-linear terms are exactly canceled provided that the measured state and model terms used in the calculations of $u_1(t)$ are exact.

The feedforward linearizing controller equation (2.8b) gives non-linear closed-loop systems. Note however that as the system tends to the desired state, the remaining non-linear terms tend to cancel out and the closed-loop system (2.9c) becomes similar to equation (2.9a). Of course the feedforward controller operates at best when the vehicle is in the vicinity of the desired trajectory. The behavior is jeopardized when the error between the desired and actual state of the vehicle gets too large. Consequently, feedforward linearizing controllers need to be used in association with a re-planning strategy recalculating the desired trajectory if the system gets too far from the path or in applications where the system is ensured to stay in an acceptable neighborhood of the trajectory.

For the hybrid linearizing controller equation (2.8c), measured values are used in $g(x)^{-1}$ while desired values are used in $f(x^*)$. This choice leads to the closed-loop system (2.9c) where an additional error term ($f(x^*) - f(x)$) appears. This term can enhance the stability of the system as a damping term or be damageable. The choice of using feedforward or
feedback for each term of the model must ensure that all the terms not exactly canceled and remaining in the closed-loop are actually favorable to the convergence of the system and not damaging for the tracking mission. In the vicinity of the trajectory, these terms are canceled eventually.

These control structures can be identified in the examples introduced in the following and more details are given in the cited works and in the following sections as for the interest of using one linearizing method over the other.

Obviously, such linearizing controllers are not only used with marine vehicles. They can be applied to many nonlinear systems as in [128, 125]. Linearizing controllers are applied to a generic dynamic system in the former and to a manipulator arm in the latter. These two references refer to the methods used as the *Computed torque*. Although it is very close to the linearization methods used in the following examples, the term “computed torque” is rarely used when working with marine craft. In [17], computed torque control is used to anticipate and control the behavior of an eel-like robot.

## 2.2.2 Application to Fully Actuated Vehicles

### 2.2.2.1 Feedback Linearizing Controller

An example of a PID-based feedback linearizing controller can be found in [65] (in Sections 7 and 14). The closed-loop system obtained when applying the controller is linear. The control law is given by:

$$ \tau = M\dot{\nu}_r + C(\nu)\nu + D(\nu)\nu + g(\eta) \quad (2.10a) $$

$$ \dot{\nu}_r = J(\eta_2)^{-1} \ddot{\eta}_r - \dot{J}(\eta_2)^{-1} \dot{\eta} \quad (2.10b) $$

$$ \ddot{\eta}_r = \ddot{\eta}_d + K_D \dot{e}_\eta + K_P e_\eta + K_I \int_0^t e_\eta(\zeta) d\zeta \quad (2.10c) $$

In (2.10), the acceleration reference $\ddot{\eta}_r$ is built as a typical PID controller associated with the acceleration feedforward term $\ddot{\eta}_d$. This control law is very close to the example demonstrated in section 2.2.1. It is clear that applying the control law (2.10) leads to a linear closed-loop system dynamics. In fact, because they are evaluated at the actual state of the system, the nonlinearities of the model $C(\nu)\nu + D(\nu)\nu + g(\eta)$ are exactly canceled by the control law. The closed-loop system is now:

$$ \dot{\nu} = \dot{\nu}_r \Rightarrow \ddot{\eta} = \ddot{\eta}_d + K_D \dot{e}_\eta + K_P e_\eta + K_I \int_0^t e_\eta(\zeta) d\zeta \quad (2.11) $$
The exact feedback linearization used in this example allows global exponential convergence of both the velocity and position of the vehicle. This example also highlights another advantage of the exact linearization which is that it allows using conventional linear gain tuning methods on the closed-loop system.

This controller can be seen as a two-staged controller. The first stage calculates the acceleration reference $\ddot{\eta}_r$ and the second stage uses this reference to calculate the control vector $\tau$ and cancel the non-linear part of the model. This structure is commonly used in non-linear control as it makes a very understandable and predictable behavior of the system. It is notably useful when working in two different frames rotating one with respect to the other as it is the case here. The acceleration reference is computed in the inertial frame and expressed in the body-fixed frame where it can be used to calculate the force and moment vector as in equation (2.10a).

This control method is used throughout this work as a reference PID-based control method for fully actuated vehicles. Performances of such a controller are detailed in section 3.3.

### 2.2.2.2 Hybrid Linearizing Controllers

A first example of a hybrid linearizing controller can be found in [46]. In this work, the model is considered in the inertial frame and an expression of the model matrices expressed in this frame can be found in the reference. The modified matrices in the inertial frame are indicated with $\bar{\cdot}$. The controller is given by the set of equations:

$$ \tau = \bar{M}\ddot{\eta}_r + \bar{C}\dot{\eta}_r + \bar{D}\dot{\eta}_r + \bar{g}(\eta) + \Lambda\epsilon \quad (2.12a) $$

$$ \dot{\eta}_r = K_D \dot{\eta}_d + K_P e_\eta + K_I \int_{t_0}^{t} e_\eta(\zeta) d\zeta \quad (2.12b) $$

$$ \epsilon = K_D \dot{e}_\eta + K_P e_\eta + K_I \int_{t_0}^{t} e_\eta(\zeta) d\zeta \quad (2.12c) $$

In Equation (2.12), the orientation of the vehicle is represented in quaternions as part of the vector $\eta$, and $e_\eta$ is the state error. The matrices $K_D$, $K_P$, $K_I$ and $\Lambda$ are strictly definite positive gain matrices that are set to the identity in this work but could be tuned for better performances. The reference [46] specifies that removing the integral term by setting $K_I$ to 0 does not disturb the global convergence of the method. A similar approach can also be found in [77] where the saturation is taken into account in the controller.

In the control law (2.12), $\epsilon$ is built as a conventional PID controller outputting an
acceleration vector and $\dot{\eta}_r$ is a virtual velocity reference as explained at the beginning of this section. This reference can be seen as a kinematic controller assuring convergence of the position of the vehicle towards the trajectory. It is interesting to note that, when the state error tends to zero, the virtual velocity reference $\dot{\eta}_r$ tends to the desired speed in the inertial frame multiplied by a control parameter $K_D$.

Removing the integral terms of the controller, the closed-loop error system can be expressed in the inertial frame as:

$$0 = M^*(K_D\ddot{\eta}_d - \ddot{\eta}) + (C^* + D^*)(K_D\dot{\eta}_d - \dot{\eta}) + K_D\dot{e}_\eta + K_P e_\eta \quad (2.13a)$$

$$K_D = M^*K_P + \Lambda K_D \quad (2.13b)$$

$$K_P = (C^* + D^*)K_P + \Lambda K_P \quad (2.13c)$$

Because of the hybrid linearization used in this example, the closed-loop dynamics (2.13) is nonlinear, the Coriolis, centripetal and damping terms are not canceled. Note that, new ambiguous error terms $(C^* + D^*)(K_D\dot{\eta}_d - \dot{\eta})$ are created in the closed-loop system because of the hybrid essence of this controller. However, the reference [46] states that the system is globally asymptotically convergent but it can hardly be seen on the closed-loop system equations.

Similar examples of nonlinear PD controllers for trajectory tracking are demonstrated in Sections 7 and 14 of [65]. Here, the control laws are given in the mobile frame as:

$$\tau = M\dot{v}_r + C(\nu)v_r + D(\nu)v_r + g(\eta) + J(\eta)^{-1}K_P e_\eta + J(\eta)^{-1}K_D \epsilon \quad (2.14a)$$

$$\epsilon = \dot{e}_\eta + \Lambda e_\eta \quad (2.14b)$$

$$\dot{\eta}_r = \dot{\eta}_d + \Lambda e_\eta \quad (2.14c)$$

$$v_r = J(\eta)^{-1}\dot{\eta}_r \quad (2.14d)$$

Again, $\dot{\eta}_r$ (and thus $v_r$) can be considered as the virtual velocity reference used in the feedforward part of the control law, $e_\eta = \eta_r - \eta$ and $e_\nu = v_r - \nu$. Note that in this example as in the previous the feedforward and feedback terms are nonlinearly mixed together as in $C(\nu)v_r$. Some of the following hybrid controller examples show more of a linear combination of linear and nonlinear terms leading to simpler closed-loop systems. Here, nonlinearities will remain in the closed-loop system. However, it should be noted that, once the position error is canceled ($e_\eta = 0$), the velocity reference $\dot{\eta}_r$ is equal to the desired velocity $\dot{\eta}_d$. Therefore, when the vehicle tends towards the desired state, the
reference terms tends to the desired values and the controller behaves like a common feedforward linearizing controller.

More examples of hybrid linearizing controllers can be found in [158]. This work proposes and compares a set of controllers using either a hybrid linearization with both feedforward and feedback terms, only feedforward terms or adaptive structures. The model-based controllers introduced in [158] show interesting results. First, a conventional PD controller that does not rely on the model, is given as a baseline for comparison. The PD control law is given as:

$$ \tau = K_P e_{\eta} + K_D e_{\nu} \qquad (2.15) $$

As said earlier in this section, a simple PD controller is unlikely to show good performances when used to control a marine craft on complex trajectory tracking tasks. However, it is worth mentioning here because it can be a first step towards an autonomous vehicle and give results on simple position keeping task.

Note that, in [158], the system is represented with a decoupled model. All non-diagonal terms are neglected and notably the non-diagonal added masses and Coriolis and centripetal terms. Therefore, most of the nonlinearities of the model are neglected. The model can therefore be considered as six independent nonlinear subsystems, one per degree of freedom. In addition, the linear and quadratic damping terms are broken apart and regrouped in two different matrices, respectively, $D_L$ and $D_Q$. The first control law is given as:

$$ \tau = M \dot{\nu}_d + D_Q(\nu)\nu + D_L\nu_d + g(\eta) + K_P e_{\eta} + K_D e_{\nu} \qquad (2.16) $$

The control law (2.16) is hybrid in the sense that it mixes feedforward and feedback terms. The control law can be broken down into three parts. First, one finds a traditional PD controller similar to the baseline PD control law (2.15): $K_P e_{\eta} + K_D e_{\nu}$. Matrices $K_D$ and $K_P$ are usual gain matrices. Then, the linear part of the model is added and evaluated at the desired state, that is: $M \dot{\nu}_d + D_L \nu_d$. Finally, the nonlinear terms of quadratic damping, gravity, buoyancy and disturbance effects are added and evaluated at the actual state: $D_Q(\nu)\nu + g(\eta)$. This last part is exactly canceling the nonlinear part of the system.

Now, let us introduce the second control law of [158] for the sake of comparing the closed-loop systems they both lead to. This second control law is mostly similar to the first one, but this time feedforward is used in the quadratic damping. The second control
law is then:

$$ \tau = M\dot{\nu}_d + D_Q(\nu_d)\nu_d + D_L\nu_d + g(\eta) + K_P e_\eta + K_D e_\nu \quad (2.17) $$

Note that exact feedback values of the nonlinear gravity, buoyancy and disturbance term $g(\eta)$ are used anyway.

The two closed-loop systems are then given by:

$$ M\dot{e}_\nu + (D_L + K_D)e_\nu + K_P e_\eta = 0 \quad (2.18a) $$

$$ M\dot{e}_\nu + (D_Q(\nu_d)\nu_d - D_Q(\nu)\nu) + (D_L + K_D)e_\nu + K_P e_\eta = 0 \quad (2.18b) $$

Because of the slightly different constructions of the two control laws, the second closed-loop system (2.18b) shows an additional quadratic velocity error term. Both control laws are exponentially convergent in both velocities and positions. Due to the system simplification, the behavioral differences are very small in this example, but a small improvement on the convergence time can be observed with the second control law.

Another similar comparison is made in [118]. In this work, the system model is complete, and two control laws are produced. The first one is a completely exactly feedback-linearizing controller while the second one uses feedforward terms in the damping term. The two control laws are given by:

$$ \tau = M(\dot{\nu}_d + K_D e_\nu + K_P e_\eta) + C(\nu)\nu + D(\nu)\nu + g(\eta) \quad (2.19a) $$

$$ \tau = M(\dot{\nu}_d + K_D e_\nu + K_P e_\eta) + C(\nu)\nu + D(\nu_d)\nu_d + g(\eta) \quad (2.19b) $$

Note that, in these two control laws, the PD controller terms are used as part of the reference acceleration term instead of being linearly added to the right hand side of the controller. This method essentially allows for simplifying the mass matrix in the closed-loop system equations, making them independent from the mass matrix and avoids introducing nonlinear error terms in the closed-loop system. The two closed-loop systems are given as:

$$ \dot{e}_\nu + K_D e_\nu + K_P e_\eta = 0 \quad (2.20a) $$

$$ \dot{e}_\nu + (K_D + D(\nu))e_\nu + K_P e_\eta = 0 \quad (2.20b) $$

The closed-loop equations (2.20) are hard to interpret in terms of stability because they
mix error signals in the inertial frame and in the body-fixed frame $e_{\eta}$ and $e_{\nu}$ respectively. A simplified approach is to consider $K_P e_{\eta}$ as a proportional term and the two other terms are derivative of the first and second order.

In this work, the addition of damping terms in the second closed-loop system leads to better trajectory tracking performances. It appears that the nonlinear damping term of this second solution behaves favorably and enhances the performances.

Of course, more combinations of feedforward and feedback terms could be used but are not discussed here. Nonetheless, as shown through all these examples, the knowledge of the model can be used to simplify the nonlinear system, lead to a linear or partially linear closed-loop system and therefore allow using a conventional tuning method for the PID like pole placement or LQR<fnref n="1" />. Of course, similarities with the methods presented in this section will be found in the following sections because these linearization techniques are also used with other classes of controllers.

Indeed, the model-based linearization methods introduced in this section require a precise estimation of the model parameters to perform at best. Adaptive methods introduced in section 2.5 on the other hand only require minimal model knowledge and are shown to perform as well as the model-based ones.

### 2.2.3 Application to Underactuated Vehicles

In the underactuated case, the linearization and PID control examples introduced in the above are not sufficient. Indeed, using the control methods introduced in section 2.2.2, some DOF would be neglected because of underactuation. The controllers of section 2.2.2 are all diagonal. They create a one-to-one relation between one output and the corresponding input. In order to take the non-actuated degrees of freedom into account, the examples introduced in this section use either a non-diagonal space reduction or a non-diagonal, kinematic couplings-based gain matrix in the control law. In both cases, the kinematic couplings of the model are used to establish a model-based kinematic guidance in a similar fashion as LOS guidance. The guidance thus created appears in the outer loop of the cascaded system. Through kinematic couplings, rotational speeds are calculated in the control law to compensate for the lack of actuation on a non-actuated translation. Other model-based methods involving less obvious coupling effects can also be found for instance in [131].

<footnote n="1">1. For more details about LQR control in this context, see [171]</footnote>
The first mechanism used in addition to model-based linearization and PID control is asymmetrical space reduction. Space reduction is a method consisting in reducing the spatial dimension of the system and considering the controlled or actuated DOF of the system. It is common a practice when it comes to dealing with underactuated systems and especially for systems where one or more DOF are both non-actuated and naturally mechanically stable. As an example, it is common to neglect the roll motion of a torpedo shape vehicle if the restoring moment in roll is considered strong enough to keep an almost zero-roll angle during all the application time or if this DOF has no meaningful impact on the mission. In such a case, the problem can be reduced to a five-DOF problem. However, when it comes to vehicles and applications whose DOF do not match one-to-one, space reduction gets more complicated but offers new possibilities. In the following examples, space reduction can be considered asymmetrical because the method considers two sets of different DOF, one set of controlled DOF expressed at the tracking point (see section 1.1.2.1) of the system and one set of actuated DOF expressed at the center of the vehicle. Using a tracking point different from the center of the craft allows creating non-diagonal compensation behavior between the two sets of DOF.

As a first example, Ref. [3] proposes a solution to the 3-DOF position tracking problem applied to a generic *uqr*-craft in which space reduction is used to introduce the guidance mechanism in the control law using a virtual reference point.

In [3], a reduced version of the kinematic model equation (1.1) is produced with reduced matrices and vectors. Because $J(\eta_2)$ and $\dot{\eta}_E$ are expressed at point $E$, they are reduced following the DOF required in the application: the three last rows and columns are discarded, keeping only the rows corresponding to positions. On the other hand, $\nu$ is expressed in point $O_B$ and is therefore reduced following the actuated DOF of the ship: the second, third and fifth rows are discarded. In addition, because the transformation matrix $T^{-1}$ is used to move from $E$ to $O_B$, the rows are reduced following the DOF required in the application while the columns are reduced following the actuated DOF. Therefore, the three last rows and columns 2, 3 and 5 are discarded in $T^{-1}$. The reduced kinematic model is then given as:
$$ \dot{\eta}_{E,r} = \begin{bmatrix} x_E \\ y_E \\ z_E \end{bmatrix} \qquad (2.21a) $$

$$ \mathbf{J}(\eta)_r^{-1} = \mathbf{J}_1(\eta) \qquad (2.21b) $$

$$ \nu_{E,r} = \mathbf{J}(\eta_2)_r^{-1} \dot{\eta}_{E,r} = \begin{bmatrix} u_E \\ v_E \\ w_E \end{bmatrix} \qquad (2.21c) $$

$$ \nu_r = T_r^{-1} \nu_{E,r} = \begin{bmatrix} u \\ q \\ r \end{bmatrix} \qquad (2.21d) $$

$$ T_r^{-1} = \begin{bmatrix} 1 & 0 & 0 \\ 0 & 0 & \varepsilon_x \\ 0 & -\varepsilon_x & 0 \end{bmatrix} \qquad (2.21e) $$

The reduction of the dynamic equation is more straightforward since all the matrices and vectors are expressed in point $O_B$ and reduced in the same way, keeping the first, fifth and sixth rows and columns. In this example, $T_r^{-1}$ behaves like a non-diagonal gain matrix creating the compensation behavior relying on the kinematic coupling of the model.

The control law presented in [3] is composed of two stages, kinematic and dynamic ones. The kinematic stage is a proportional controller with an anticipation term based on the position error calculated in $R_0$. The equation of the kinematic stage is given in $R_B$ by:

$$ \nu_c = T^{-1} \bar{\nu}_E \qquad (2.22a) $$

$$ \bar{\nu}_E = \mathbf{J}(\eta)^{-1} (\dot{\eta}^* + \mathbf{\Lambda}_{\eta}(\eta^* - \eta_E)) - \delta(\nu) \qquad (2.22b) $$
with $\Lambda_{\eta}$ a positive definite gain matrix and $\delta$ a drift vector accounting for the neglected motions and current velocity. Note that $\bar{\nu}_E$ stands for a control velocity at the tracking point $E$ supposed to ensure convergence of the position of the tracking point towards the trajectory. All the vectors and matrices of Equation (2.22) are reduced following the steps presented before, but the index $r$ is omitted for clarity.

The dynamic stage has a feedback linearizing structure and is calculated in the reduced space at point $O_B$:

$$ \tau_c = M(\dot{\nu}_c + \Lambda_{\nu}(\nu_c - \nu)) + C(\nu)\nu + D(\nu)\nu + g(\eta_2) + d(\nu) \quad (2.23) $$

where $\nu_c$ is the output velocity vector of the kinematic stage, and $d(\nu)$ is a vector containing some terms that were discarded during the space reduction and considered as external disturbances. Equation (2.23) is expressed following the space reduction presented before.

Therefore, looking at (2.21) and (2.22), it appears clearly that the pitch and yaw control speeds at the output of the kinematic stage $q_c$ and $r_c$ are functions of the sway and heave control speeds in point $E$, $\bar{v}_E$ and $\bar{w}_E$, respectively. The pitch and yaw components of $\tau_c$ are themselves calculated out of the lateral and vertical motions required in point $E$. This behavior is created by the asymmetrical space reduction and notably the introduction of non-diagonal terms in the reduced transformation matrix $T_r^{-1}$.

The method developed in [3] has been extended to different propulsive topologies and applications in [168, 31]. In [168], the space reduction method is applied to the two vehicles introduced in section 1.2.1 and section 1.2.2. Both are evaluated on a four DOF task. The first vehicle is ill-actuated with respect to the task and a non-diagonal compensation mechanism is introduced with the asymmetrical space reduction of the $T_r$ matrix. The same method is used on the second vehicle but this time neglecting the angular constraint of the task.

The space reductions in [168] are different from the one introduced in [3]. For the first vehicle, the vector and matrices expressed in $O_B$ are reduced discarding the second and fifth rows and columns because sway and pitch are not actuated, whereas the vectors and matrices expressed in $E$ are reduced discarding the fourth and fifth rows and columns because roll and pitch are neglected in the task. For the second vehicle, the vectors and matrices in $E$ are reduced keeping only the three first rows and columns corresponding to the three required translations while those expressed in $O_B$ are reduced keeping the first, fourth and fifth rows and columns because the vehicle is actuated in surge, pitch and yaw.
The shape of the vectors and matrices for both vehicles are described in detail in [168].

Partial convergence of the method is demonstrated in [31] for the first 4-DOF vehicle. The compensation mechanism allows sway tracking in *E* but at the cost of yaw. Nonetheless, the heading of the vehicle is kept stable thanks to hydrodynamic restoring moments and stays very close to the task requirements.

Overall, in the examples presented above, the reduced translation matrix $T_r^{-1}$ behaves like a non-diagonal gain matrix making the velocity command of one DOF in $O_B$ depending on the speed command on another DOF in $E$. As the previous solutions shown in this work, this method allows compensation of the lack of actuation over one degree of freedom with another. Preferably, a rotational DOF would be used to compensate the lack of a translation. However, one of the major issues of such methods is that reduced matrices lose some of their properties. Notably, the reduction of the $J(\eta_2)$ might, in some cases, add new singularities to the system, making the matrix noninvertible for some orientations.

Similar behavior can be obtained without space reduction introducing a model-based non-diagonal gain matrix in the kinematic stage of the controller as displayed in [36] (only in French for now). In this example, the so-called *Handy H* matrix is introduced in the kinematic stage of the control law to allow compensation of the non-actuated sway motion with yaw. This matrix is autonomously calculated by an algorithm provided in this work and is based on the kinematic couplings of the model. It allows for generating the yaw moment necessary to exactly create the sway speed in the tracking point *E* required to cancel the sway error. The interest of this method is that it does not require reducing the space of the application which makes generalization easy. This method is presented in details and applied to several study cases in chapter 3 and section 3.5.2.

## 2.3 Differential Flatness

This section introduces examples of control laws based on *differential flatness* and applied to both fully actuated and underactuated marine craft.

Differential flatness or, simply, flatness is an approach of control-command born in 1991, as a consequence of the work of four French researchers—M. Fliess, J. Lévine, Ph. Martin & P. Rouchon—on the control of an overhead crane [56]. This invention, created from an application, gave rise to a new theory of nonlinear control. It was first formulated in the language of differential algebra [55, 53]<fnref n="2" />. The definition of this property has been refor-

<footnote n="2">2. This article is cited more than 3800 times at the date of writing the present work.</footnote>
mulated some years later in the formalism of the differential geometry of prolongations
and infinite jets [52]. Flatness is a structural property of a to-be-controlled system, which
naturally leads to trajectory tracking control. In the linear framework, a flat system is
exactly a controllable one, so flatness is a good candidate to be a definition of controlla-
bility of nonlinear systems. Flatness is presented in detail in several books [83, 154, 116,
136, 142]. The control methodology derived from flatness proceeds in two steps: Firstly,
generation of a nominal command from the to-be-followed trajectory by the system, sec-
ondly, closing the loop to have robustness properties. The closed loop can be realized in
several ways: it can be classical PID, state feedback, LQG/LQR, sliding modes, model-
free control... Flatness is sometimes been confused with feedback linearization, partly
because, besides its definition, the notion of endogenous feedback and a related notion of
linearization were introduced. Remember that flatness corresponds to the notion of state
feedback linearization in the case of single-input systems. See [51] for more details on the
links between flatness and feedback linearization. About ten years after the appearance of
flatness, it has been demonstrated that, during operation, the trajectories of the flat out-
put correspond to that of a linear system in Brunovský form. This property is called *exact
feedforward linearization* (thus cannot be confused with feedback linearization). Through
this new approach of flatness, it was possible to establish the properties, already observed
in practice on applications, of robustness towards parameter errors and perturbations. We
can quote [81, 80, 82] for the theoretical aspects and [39] for the practical aspects of exact
feedforward linearization based on differential flatness. The flatness has spread in many
domains of control; we can quote here some of them: control of mechanical systems [13],
mobile robotics [54], control of electric motors [29], control of chemical reactors [140,
138, 86] (see references in [83, 154, 116, 142] for more more applications). Besides the
academic aspects, the flatness is present in many industrial realizations, too numerous
to be all quoted here. More details on the application of flatness to marine craft can be
found in chapter 4. The flatness property of a system can also be used in the trajectory
generation phase to ensure that the planned paths are adapted to the capability of the
vehicle [170].

2.3.1 Application to Fully actuated vehicles

One of the few applications of differential flatness theory in the context of marine
vehicles can be found in [137]. In this example, a fully actuated AUV is evaluated on a
6-DOF task. For fully actuated system, choosing the flat output is pretty straightforward.
Nonetheless, this work shows that the model of the fully actuated AUV is flat for a flat output chosen as the position and orientation vector $z = \eta$ in the inertial frame. Then, using flatness equations, the inputs of the system are written as functions of the flat output. These expressions are then used to derive a flatness-based linearizing control law using exact feedforward linearization and PD controllers. This work also introduces an additional Kalman disturbances compensation method. The good performances of the method on a 6-DOF task are displayed in section 4.5.1.

The proof of flatness of the completely actuated AUV given in [137] is a little bit tricky and gives many details that are out the scope of the present work. Let us give a direct proof: the position and orientation vector $\eta$ is the most obvious and natural choice for the flat output candidate. Choosing $z = \eta$ notably allows for defining the task in terms of desired position, orientation and velocities in the inertial frame, which is both logical and practical in most applications. As in many cases, the flat output found here has a strong signification w.r.t. the control problem as one wants to control $\eta$. Then, showing the differential flatness of the system is pretty straightforward. In fact, the only variables to express as functions of the flat output are the velocity vector in the body-fixed frame $\nu$ and the propulsion vector $\tau$. The inverse kinematic model and the dynamic model expressed in the inertial frame constitute self-explanatory demonstrations of the flatness of the system:

$$ \nu = J(\eta)^{-1} \dot{\eta} \qquad (2.24a) $$

$$ \tau = M \left( J(\eta)^{-1} \ddot{\eta} + \dot{J}(\eta)^{-1} \dot{\eta} \right) + C(\dot{\eta}) J(\eta)^{-1} \dot{\eta} + D(\dot{\eta}) J(\eta)^{-1} \dot{\eta} + g(\eta) \qquad (2.24b) $$

Looking at Equation (2.24), it appears clearly that both the velocity vector $\nu$ and the effort vector $\tau$ can be expressed as functions of the flat output candidate $\eta$ and its derivatives $\dot{\eta}$ and $\ddot{\eta}$. The model used to represent fully actuated marine craft is therefore flat with flat output $z = \eta$.

As a consequence of flatness, the nominal open-loop control that achieves trajectory tracking of the reference trajectory of the flat output $\eta^*$ is expressed by:

$$ \nu^* = J(\eta^*)^{-1} \dot{\eta}^* \qquad (2.25a) $$

$$ \tau^* = M \left( J(\eta^*)^{-1} \ddot{\eta}^* + \dot{J}(\eta^*)^{-1} \dot{\eta}^* \right) + C(\dot{\eta}^*) J(\eta^*)^{-1} \dot{\eta}^* + D(\dot{\eta}^*) J(\eta^*)^{-1} \dot{\eta}^* + g(\eta^*) \qquad (2.25b) $$

Following the reasoning introduced in [81] and using the flatness equation (2.24),
a flatness-based closed-loop controller can be easily derived:

$$ \tau_c = \tau_1 + \tau_2 \qquad (2.26a) $$

$$ \tau_1 = M\dot{J}(\eta^*)^{-1}(\ddot{\eta}^* + \Lambda(e_\eta)) \qquad (2.26b) $$

$$ \tau_2 = M\dot{J}(\eta^*)^{-1}\dot{\eta}^* + C(\dot{\eta}^*)J(\eta^*)^{-1}\dot{\eta}^* + D(\dot{\eta}^*)J(\eta^*)^{-1}\dot{\eta}^* + g(\eta^*) \qquad (2.26c) $$

where $\Lambda$ is a control function like a PID controller based on the state error $e_\eta$ and $\tau_2$ constitutes the exact feedforward linearizing term. Of course, in the fully actuated case, the formulation of the control law built with differential flatness is very close to some of the feedforward linearizing controllers introduced in Section 2.2.

## 2.3.2 Application to Underactuated Vehicles

For underactuated vehicles, showing differential flatness is significantly harder. In the marine context, two very promising examples can be found in [154]. Note that, the flat output must be of the same dimension as the input. In fact, the very last example of chapter 12 in [154] states that the model of an underactuated surface ship is not differentially flat. It is impossible in this example to express all the problem variables as functions of the flat output —chosen as the positions in the horizontal plane $z = [x \ y]$ —without expressing differential equation. Instead, the underactuated surface ship is said to be Liouvillian. More details about Liouvillian systems and their properties can be found in [53, 28].

However, another very interesting system can be found in [154] as well as in [135]: the Hovercraft system. Arguably, the model used to represent the hovercraft system is very close to the model of an underactuated surface vessel and could even be considered as a special case of the more generic model of the surface ship with selected numerical values of the parameters. The main differences to find between these two models are in the mass distribution and damping approximations. However, the model of the hovercraft is shown to be flat with the flat output $z = [x \ y]$ in [154, 135]. In both examples, equations of flatness allow for calculating surge and yaw controls as function of the desired state, its derivatives up to the fourth order, and PD controllers on the flat output. More details on flatness-based control and applications can be found in chapter 4.
## 2.4 Sliding Mode Control

After the famous book by I. Flügge-Lotz [59] on discontinuous control, the sliding regime control was essentially introduced by a few authors in the end of the 1950s [41, 2, 60, 75, 148]. These works were followed by those of Cypkin [35], Emelyanov [42] and Itkis [93]. Utkin introduced a notion, new for the time, of sliding control applied to mono-variable classical linear systems, by the use of discontinuous controls [166]. See also [165] for a survey. All of these ideas would not have been possible without the much more theoretical work of the Soviet mathematician Filippov in the 1960s concerning differential equations with a discontinuous right-hand side [45]. The books of Utkin [166] and Sira-Ramírez [153] give a good overview of this approach to discontinuous control which has gained popularity its simplicity and its applications in various fields of automation. Moreover, these techniques have led to industrial applications. The applications of SMC in robotics and AUV start with the works of J.J.E. Slotine: [176, 155, 157, 175].

This section introduces the use of Sliding Mode Control for both fully actuated and underactuated marine craft. SMC is widely used in both linear and nonlinear systems experiencing model uncertainties or external disturbances. SMC is known for its robustness [175] and for offering theoretical finite time convergence even in the presence of model approximations and external disturbances. Finite time convergence is made possible by the introduction of a *sign* function in the controller. The use of the discontinuous signum function in SMC induces a new phenomenon called *chattering*. Chattering is a consequence of a discontinuity in the controller around the equilibrium point creating fast steep oscillations potentially damaging for the actuators. Several methods introduced in this work allow mitigating or canceling chattering but at the cost of asymptotic convergence instead of finite time convergence. Many examples of successful application of SMC on surface vehicles and underwater craft can be found in the literature. This section presents some of them after briefly introducing the method on a generic simple example. This example is also used for introduction of the notations relative to SMC. The interested reader is referred to [156, 109, 117, 178] for more information about SMC outside of the marine environment. Note that, when SMC is applied to nonlinear systems feedback linearizing terms naturally appear in the controller thanks to the construction method of SMC. The end result is very similar to some PID-based controllers of section 2.2.

An example of basic SMC can be found in [156]. Let us recall the system used in the
first example of Section 2.2, in the case of a *n*-order system, as:

$$x^{(n)} = f(\mathbf{X}) + g(\mathbf{X})u \qquad (2.27)$$

The state of the system is defined as $\mathbf{X} = \begin{bmatrix} x & \dot{x} & \dots & x^{(n-1)} \end{bmatrix}$. Referring to the model introduced in chapter 1, matrix $g(\mathbf{X})$ can be seen as the inverse of a mass matrix and vector $f(\mathbf{X})$ as the vector regrouping all other forces and moments, notably the Coriolis and centripetal effects as well as damping. An additional vector of disturbances could be added in the system, but it is neglected in this example for the sake of simplicity. Finally, $u$ is the system input. In this example, $f(\mathbf{X})$ and $g(\mathbf{X})$ are considered known but further analysis in the case of approximated model matrices can be found in [175, 156].

The idea behind SMC is to reduce the control problem to the lower-order problem of minimizing the distance between a point in state-space and a surface. The said *sliding surface* is in fact a state-space hypersurface<fnref n="3" /> representing the desired dynamics of the system. It appears in the literature that a confusion is often made between the actual sliding surface and the distance between the current state and the surface. When referring to the “sliding surface”, authors often use the equation of distance between the state of the system and the surface itself expressed in state space. In fact, the sliding surface itself is the set of desired states represented in state space, and it can be defined by the ensemble of system states where the distance to the surface is zero. In this work, the distance representation will often be used keeping in mind that the sliding surface is, in fact, properly defined as the states where this distance is zero. This choice is the most common in the literature because the distance to the surface is a function of the state error which is used to close the loop in the controllers.

As will be seen later, the question of defining the sliding surface has been widely studied in the literature, but a basic definition of such a surface $\Sigma$ associated with the distance measure $\sigma$ is given by:

$$\sigma(\mathbf{X}, t) = \left(\frac{d}{dt} + \lambda\right)^{n-1} e = 0 \qquad (2.28)$$

To match with the model used in this work, the example is presented with $n = 2$: $\sigma(\mathbf{X}, t) = \dot{e} + \lambda e$. The quantity $\lambda$ is a design parameter representing the slope of the surface in state space. It can be tuned for better performances or relatively to the application.

<footnote n="3">3. Recall that in a space of dimension $N$, a *hypersurface* is a geometric object of dimension $N-1$.</footnote>