<figure><img src="image_1.png" /></figure>

HAL
open science

# Modélisation Géométrique des Robots Manipulateurs Continuels Mobiles

Audrey Hyacinthe Bouyom Boutchouang

<figure><img src="image_2.png" /></figure>

## To cite this version:

Audrey Hyacinthe Bouyom Boutchouang. Modélisation Géométrique des Robots Manipulateurs Continuels Mobiles. Robotique [cs.RO]. Ecole Nationale Supérieure Polytechnique de Yaoundé, 2023. Français. NNT: tel-04218643

HAL Id: tel-04218643

https://hal.science/tel-04218643

Submitted on 26 Sep 2023

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
RÉPUBLIQUE DU CAMEROUN
Paix-Travail-Patrie

UNIVERSITÉ DE YAOUNDE I

Centre de Recherche et de Formation
Doctorale en Sciences, Technologies et Géosciences
Unité de Recherche et de Formation
Doctorale en Sciences de l'Ingénieur et Applications
B.P 812 Yaoundé

Email : crfd_stg@uy1.uninet.cm

REPUBLIC OF CAMEROON
Peace-Work-Fatherland

THE UNIVERSITY OF YAOUNDE I

Postgraduate School of Science,
Technology and
Geosciences
Research and Postgraduate Training
Unit in Engineering Sciences and
Applications
P.O. Box 812 Yaoundé

Email : crfd_stg@uy1.uninet.cm

<figure><img src="image_3.png" /></figure>

Laboratoire de Génie Électrique, Mécatronique et Traitement du Signal
Laboratory of Electrical Engineering, Mechatronics and Signal processing

Modélisation Géométrique des Robots
Manipulateurs Continuums Mobiles

Thèse soutenu le 11 Avril 2023

Présentée à

L'Université de Yaoundé I

En vue de l'obtention du grade de

Docteur/PhD en Sciences de l'Ingénieur,
(Specialité Génie Électrique)

Par

BOUYOM BOUTCHOUANG Audrey Hyacinthe

Matricule : 13P314

Master en Génie Électrique

Sous la direction de :

MELINGUI ACHILLE Maître de Conférences, ENSPY (UYI)

BIYA MOTTO FRÉDÉRIC Maître de Conférences, Fac Sc. (UYI)

Devant le Jury composé de :

<table><tr><td>Président</td><td>MEVA'A Jean Raymond Lucien, Professeur, Université de Yaoundé I</td></tr><tr><td rowspan="2">Rapporteurs</td><td>BIYA MOTTO Frédéric, Maître de Conférences, Université de Yaoundé I</td></tr><tr><td>MELINGUI Achille, Maître de Conférences, Université de Yaoundé I</td></tr><tr><td rowspan="4">Membres</td><td>ELE Pierre, Professeur, Université de Yaoundé I</td></tr><tr><td>YEREMOU TAMTSIA Aurélien, Maître de Conférences, Université de Douala</td></tr><tr><td>TCHUIDJAN Roger, Maître de Conférences, Université de Yaoundé I</td></tr><tr><td>NGOHE-EKAM Paul Salomon, Maître de Conférences, Université de Yaoundé I</td></tr></table>

Année académique 2022-2023
<figure><img src="image_4.png" /></figure>
Dédicace

A mes parents, Papa et maman BOUTCHOUANG.
Remerciements

Je tiens à exprimer ma profonde gratitude à mes directeurs de thèse, le Professeur BIYA MOTTO Frédéric et le Professeur MELINGUI Achille, qui ont dirigé ce travail. Leurs remarques et conseils m'ont permis de mener à terme cette thèse.

Mes remerciements vont également aux membres des jurys de soutenance et d'audition qui ont eu la lourde responsabilité d'examiner cette thèse.

Ce travail a été réalisé au sein du Laboratoire de Génie Électrique, Mécatronique et Traitement de Signal de l'École Nationale Supérieure Polytechnique de Yaoundé (ENSPY). Ainsi, je tiens à remercier le directeur de l'ENSPY, le Professeur MEVA'A Jean Raymond Lucien, le Chef de Département de la Coordination et de la Valorisation de la Recherche, le Professeur TEWA Jean Jules, le Chef de Département des Génies Électrique et des Télécommunications, le Professeur NGOHE-EKAM Paul-Salomon, le chef du Laboratoire de Génie Électrique, Mécatronique et Traitement de Signal, le Professeur NDZANA Benoît, et tous les enseignants du Laboratoire de Génie Électrique, Mécatronique et Traitement de Signal, pour leurs différentes apports durant toute notre formation sur le plan académique et dans le traitement et le suivi du dossier de soutenance.

Je tiens à remercier mon aîné académique Docteur MVOGO AHANDA, mes camarades de spécialité JIOKOU, MAHAMAT, MEDZO et NTOUBA et mes camarades de promotion Docteur SOUFFO et MOLHA pour leur soutien sans faille.

Je profite de l'occasion pour exprimer toute ma gratitude au Professeur MERZOUKI Rochdi et au Docteur LAKHAL Othman qui ont mis le Centre de Recherche en Information, Signal et Automatique de Lille (CRISTAL) de l'Université de Lille pour les validations expérimentales des différents algorithmes proposés.

Mes remerciements vont enfin aux grandes familles BOUYOM Alphonse et MBOUT-CHOUAN Isaac en général, et à la famille BOUTCHOUANG Pierre en particulier, pour leur soutien financier et moral.
# Résumé

Cette thèse s'intéresse à la modélisation géométrique des Manipulateurs Continuels Mobiles (MCMs) avec pour applications potentielles, l'assistance aux personnes à mobilité réduite, les opérations de sauvetage et l'exploration. En effet, les manipulateurs continuels (MCs) sont fabriqués avec des matériaux flexibles qui leur permettent de mieux opérer en environnements restreints. L'opération des robots dans ces environnements nécessite la modélisation de la géométrie inverse (GI) qui consiste à déterminer l'ensemble des configurations du robot pour une pose donnée de l'organe terminal. Cependant, si de nombreuses recherches ont été effectuées sur la GI des MCs statiques, très peu existent sur les MCMs. Ces derniers sont adaptés aux tâches nécessitant un grand espace de travail et leur caractère hyper-redondant peut être exploité pour éviter les obstacles. Cependant, ces tâches exigent le plus souvent des configurations complexes du robot. Ainsi, il est donc important de développer des algorithmes de GI précis et efficaces en temps de calcul. Notre approche de modélisation consiste à résoudre la GI tout en maintenant la multiplicité des solutions inverses. Par conséquent, l'espace de configuration du MCM est discrétisé pour réduire le nombre infini de Solutions Géométriques Inverses en un nombre fini. Ensuite, le Problème Géométrique Inverse (PGI) du MCM est transformé en un PGI d'une seule section du manipulateur continuum en paramétrant les variables de configuration de la plateforme mobile et des (N − 1) premières sections du manipulateur, N étant le nombre de sections. Les variables sont paramétrées à l'aide de la classification de l'espace de travail du MCM effectuée en utilisant l'algorithme Growing Neural Gas. La base de données pour la classification a été obtenue en développant un Modèle Géométrique Direct du MC basé sur une combinaison de l'Approximation de la Courbure Variable et du Deep Neural Network. Les modèles proposés sont validés par une série de simulations et des expériences réalisées respectivement sur un MCM virtuel et réel.

**Mots clés** : Deep Neural Network, Géométrie Directe, Géométrie Inverse, Growing Neural Gas, Manipulateur Continuum Mobile, Solutions Géométriques Inverses Multiples.
Abstract

This thesis focuses on the kinematic modeling of Mobile Continuum Manipulators (MCMs) with potential applications in the assistance of people with reduced mobility, rescue operations and exploration. Indeed, the continuum manipulators (CMs) are made of flexible materials that allow them to better operate in restricted environments. The operation of robots in these environments requires inverse kinematics (IK) modeling, which consists in determining the set of robot configurations for a given end-effector pose. However, while much research has been done on IK for static CMs, very little exists on MCMs. The latter are suitable for tasks requiring a large workspace and their hyper-redundant behavior can be exploited to avoid obstacles. However, these tasks often require complex configurations of the robot. Thus, it is important to develop accurate and computationally efficient IK algorithms. Our modeling approach consists of solving the IK while maintaining the multiplicity of IK solutions. Therefore, the configuration space of the MCM is discretized to reduce the infinite number of Inverse Kinematic Solutions to a finite number. Then, the Inverse Kinematic Problem (IKP) of the MCM is transformed into an IKP of a single section of the CM by parameterizing the configuration variables of the mobile platform and the first (N − 1) sections of the manipulator, N being the number of sections. The variables are parameterized using the classification of the MCM workspace performed using the Growing Neural Gas algorithm. The database for the classification was obtained developing a Forward Kinematic Model of the CM based on a combination of Variable Curvature Approximation and Deep Neural Network. The proposed models have been validated by a series of simulations and experiments performed on a virtual and real MCM, respectively.

**Keywords** : Deep Neural Network, Forward Kinematics, Growing Neural Gas, In-
verse Kinematics, Mobile Continuum Manipulator, Multiple Inverse Kinematic Solutions.
# Sommaire

<table><tr><td>Dédicace</td><td>i</td></tr><tr><td>Remerciements</td><td>ii</td></tr><tr><td>Résumé</td><td>iii</td></tr><tr><td>Abstract</td><td>iv</td></tr><tr><td>Liste des figures</td><td>xi</td></tr><tr><td>Liste des tableaux</td><td>xiv</td></tr><tr><td>Acronymes et abréviations</td><td>xv</td></tr><tr><td>Introduction Générale</td><td>1</td></tr><tr><td>1 État de l'art</td><td>7</td></tr><tr><td>1.1 Introduction</td><td>7</td></tr><tr><td>1.2 Modélisation géométrique directe des manipulateurs continuums</td><td>8</td></tr><tr><td>1.2.1 Approches analytiques</td><td>8</td></tr><tr><td>1.2.2 Approches basées sur l'apprentissage</td><td>14</td></tr><tr><td>1.2.3 Approches hybrides</td><td>15</td></tr><tr><td>1.3 Modélisation géométrique inverse des manipulateurs continuums</td><td>16</td></tr><tr><td>1.3.1 Approches analytiques</td><td>16</td></tr><tr><td>1.3.2 Méthodes numériques</td><td>17</td></tr></table>
<table><tbody><tr><td>1.3.3</td><td>Approches basées sur l'apprentissage</td><td>18</td></tr><tr><td>1.3.4</td><td>Approche hybride</td><td>19</td></tr><tr><td>1.4</td><td>Modélisation géométrique inverse des manipulateurs continuums mobiles</td><td>19</td></tr><tr><td>1.5</td><td>Conclusion</td><td>20</td></tr><tr><td><b>2</b></td><td><b>Méthodologie et Matériel Utilisés</b></td><td><b>22</b></td></tr><tr><td>2.1</td><td>Introduction</td><td>22</td></tr><tr><td>2.2</td><td>Modélisation Géométrique Directe des Manipulateurs Continuums : Approche Hybride</td><td>23</td></tr><tr><td>2.2.1</td><td>Hypothèses de modélisation</td><td>24</td></tr><tr><td>2.2.2</td><td>Équation géométrique inverse d'un inter-module</td><td>26</td></tr><tr><td>2.2.3</td><td>MGD des inter-modules : Solution basée sur les réseaux DNN</td><td>28</td></tr><tr><td>2.2.4</td><td>Génération de la base de données</td><td>30</td></tr><tr><td>2.2.5</td><td>Optimisation des hyperparamètres du DNN</td><td>30</td></tr><tr><td>2.2.6</td><td>MGD proposé</td><td>32</td></tr><tr><td>2.3</td><td>Modèle Géométrique Inverse basé sur l'Apprentissage Non supervisé (MGIAN) des MCMs</td><td>34</td></tr><tr><td>2.3.1</td><td>MGD des MCMs</td><td>34</td></tr><tr><td>2.3.2</td><td>Modèle géométrique inverse basé sur l'apprentissage non supervisé (MGIAN)</td><td>36</td></tr><tr><td>2.3.3</td><td>Calcul de la Solution Géométrique Inverse (SGI)</td><td>44</td></tr><tr><td>2.4</td><td>Conclusion</td><td>50</td></tr><tr><td><b>3</b></td><td><b>Résultats et discussions</b></td><td><b>51</b></td></tr><tr><td>3.1</td><td>Introduction</td><td>51</td></tr><tr><td>3.2</td><td>Présentation du ROBOTINO XT</td><td>52</td></tr><tr><td>3.2.1</td><td>Plateforme expérimentale</td><td>52</td></tr><tr><td>3.2.2</td><td>Génération de la base de données du CBHA</td><td>53</td></tr></tbody></table>
<table><tr><td>3.3 Validation du Modèle Géométrique Direct proposé des Manipulateurs Continuums</td><td>55</td></tr><tr><td>3.3.1 Génération de la base de données</td><td>55</td></tr><tr><td>3.3.2 Optimisation des architectures DNN et Résultats d'apprentissage</td><td>57</td></tr><tr><td>3.3.3 Validation du MGD proposé</td><td>61</td></tr><tr><td>3.3.4 Analyse des résultats</td><td>64</td></tr><tr><td>3.4 Validation du Modèle Géométrique Inverse proposé des Manipulateurs Continuums Mobiles</td><td>66</td></tr><tr><td>3.4.1 Résultats des simulations</td><td>67</td></tr><tr><td>3.4.2 Expériences et résultats</td><td>77</td></tr><tr><td>3.4.3 Analyse des résultats</td><td>80</td></tr><tr><td>3.5 Conclusion</td><td>82</td></tr><tr><td>Conclusion Générale</td><td>84</td></tr><tr><td>Bibliographie</td><td>86</td></tr><tr><td>Liste des publications</td><td>97</td></tr><tr><td>Annexes</td><td>98</td></tr></table>
Liste des figures

<table>
  <tbody>
    <tr>
      <td>Figure 1</td>
      <td>(a) Manipulateur rigide à joints rigides SCORBOT ER 4u [Kumar 2015] (b) Manipulateur rigide mobile à joints flexibles [Korayem 2019].</td>
      <td>2</td>
    </tr>
    <tr>
      <td>Figure 2</td>
      <td>Manipulateurs continuums : (a) Octarm [McMahan 2006], (b) BHA (Bionic Handling Assistant) [Mahl 2014], (c) Manipulateur souple pour la chirurgie mini-invasive [Runciman 2019], (d) Manipulateur continuum mobile [Murphy 2008], (e et f) snake arm pour la maintenance nucléaire et l'exploration [Qin 2021].</td>
      <td>3</td>
    </tr>
    <tr>
      <td>Figure 3</td>
      <td>Quatre SGIs pour atteindre le point [−701mm; 500mm; 300mm]<sup>T</sup> avec une orientation désirée de [0°; 90°; 0°]<sup>T</sup>.</td>
      <td>4</td>
    </tr>
    <tr>
      <td>Figure 1.1</td>
      <td>MGD du manipulateur continuum en utilisant l'ACC.</td>
      <td>9</td>
    </tr>
    <tr>
      <td>Figure 1.2</td>
      <td>Paramètres d'une section du manipulateur continuum : (a) Représentation spatiale, (b) Représentation planaire [Escande 2012].</td>
      <td>10</td>
    </tr>
    <tr>
      <td>Figure 1.3</td>
      <td>MGD du manipulateur continuum par l'ACV : (a) [Mahl 2014], (b) [Lakhal 2016].</td>
      <td>12</td>
    </tr>
    <tr>
      <td>Figure 1.4</td>
      <td>MGD du manipulateur continuum par les approches de la mécanique des milieux continus [Gravagne 2003, Trivedi 2008].</td>
      <td>13</td>
    </tr>
    <tr>
      <td>Figure 1.5</td>
      <td>MGD du manipulateur continuum par l'approche basée sur l'apprentissage [Loutfi 2020].</td>
      <td>14</td>
    </tr>
    <tr>
      <td>Figure 1.6</td>
      <td>MGD du manipulateur continuum par l'approche hybride [Lakhal 2016].</td>
      <td>15</td>
    </tr>
  </tbody>
</table>
<table>
  <tbody>
    <tr>
      <td>Figure 1.7</td>
      <td>MGI du manipulateur continuum par l'approche basée sur l'ap-prentissage distal [Melingui 2015].</td>
      <td>18</td>
    </tr>
    <tr>
      <td>Figure 1.8</td>
      <td>MGI du manipulateur continuum par l'approche hybride [Lakhal 2016].</td>
      <td>19</td>
    </tr>
    <tr>
      <td>Figure 2.1</td>
      <td>Structure d'une classe de manipulateurs continuums. Les inter-modules sont représentés en noir tandis que les modules sont en bleu.</td>
      <td>24</td>
    </tr>
    <tr>
      <td>Figure 2.2</td>
      <td>Inter-module.</td>
      <td>25</td>
    </tr>
    <tr>
      <td>Figure 2.3</td>
      <td>(a) Configuration spatiale d'un inter-module. (b) Configuration planaire d'un module.</td>
      <td>25</td>
    </tr>
    <tr>
      <td>Figure 2.4</td>
      <td>Procédure d'apprentissage du DNN en utilisant l'algorithme des Auto-encodeurs (AEs) pour la pré-apprentissage. (a), (b) et (c) montrent respectivement le processus de pré-apprentissage des première, deuxième et troisième couches cachées, tandis que (d) montre l'ajustement des poids de l'ensemble du réseau [Larochelle 2009].</td>
      <td>29</td>
    </tr>
    <tr>
      <td>Figure 2.5</td>
      <td>Algorithme de génération de la base de données d'apprentissage par l'approche hybride.</td>
      <td>31</td>
    </tr>
    <tr>
      <td>Figure 2.6</td>
      <td>Carte géométrique directe proposée du Manipulateur Continuum en utilisant l'apprentissage profond (AP).</td>
      <td>33</td>
    </tr>
    <tr>
      <td>Figure 2.7</td>
      <td>Manipulateur Continuum Mobile. Le point G représente le centre géométrique de la plateforme mobile et le point O₁ est le centre du repère de la base de la première section ℜ₁.</td>
      <td>35</td>
    </tr>
    <tr>
      <td>Figure 2.8</td>
      <td>Configuration planaire de la plateforme mobile.</td>
      <td>35</td>
    </tr>
    <tr>
      <td>Figure 2.9</td>
      <td>Carte géométrique directe du MCM.</td>
      <td>36</td>
    </tr>
    <tr>
      <td>Figure 2.10</td>
      <td>Schéma du MGIAN proposé.</td>
      <td>38</td>
    </tr>
    <tr>
      <td>Figure 2.11</td>
      <td>Population uniformément distribuée (1000 individus pour 100 centres).</td>
      <td>39</td>
    </tr>
  </tbody>
</table>
<table>
  <tbody>
    <tr>
      <td>Figure 2.12</td>
      <td>Population non uniformément distribuée (233 individus pour 70 centres).</td>
      <td>40</td>
    </tr>
    <tr>
      <td>Figure 2.13</td>
      <td>Carte géométrique inverse de la dernière section par l'approche hybride.</td>
      <td>48</td>
    </tr>
    <tr>
      <td>Figure 2.14</td>
      <td>Processus pour trouver des SGIs pour des poses souhaitées situées en dehors de l'espace de travail d'apprentissage du MCM.</td>
      <td>49</td>
    </tr>
    <tr>
      <td>Figure 3.1</td>
      <td>Robotino XT [Escande 2011].</td>
      <td>52</td>
    </tr>
    <tr>
      <td>Figure 3.2</td>
      <td>Compact Bionic Handling Assistant (CBHA) [Lakhal 2016].</td>
      <td>53</td>
    </tr>
    <tr>
      <td>Figure 3.3</td>
      <td>Système de capture de mouvement OptiTrack.</td>
      <td>54</td>
    </tr>
    <tr>
      <td>Figure 3.4</td>
      <td>Espace de travail du CBHA.</td>
      <td>55</td>
    </tr>
    <tr>
      <td>Figure 3.5</td>
      <td>Schéma expérimental pour valider le MGD proposé.</td>
      <td>63</td>
    </tr>
    <tr>
      <td>Figure 3.6</td>
      <td>Comparaison entre les architectures MLP ([Lakhal 2016]), MLP et DNN sur la position de l'effecteur.</td>
      <td>66</td>
    </tr>
    <tr>
      <td>Figure 3.7</td>
      <td>Comparaison entre les architectures MLP ([Lakhal 2016]), MLP et DNN sur l'orientation de l'effecteur.</td>
      <td>67</td>
    </tr>
    <tr>
      <td>Figure 3.8</td>
      <td>Simulation 1 : Suivi d'une trajectoire sinusoïdale sans contrainte sur l'orientation de l'effecteur et avec une contrainte de $Y_G \ge 200\text{mm}$ sur la position de la plateforme mobile.</td>
      <td>72</td>
    </tr>
    <tr>
      <td>Figure 3.9</td>
      <td>Simulation 2 : Suivi d'une trajectoire sinusoïdale avec un vecteur d'orientation désirée $[-10^\circ; 30^\circ; -10^\circ]^T$ et une contrainte de $Y_G \ge 200\text{mm}$ sur la position de la plateforme mobile.</td>
      <td>73</td>
    </tr>
    <tr>
      <td>Figure 3.10</td>
      <td>Simulation 2 : Courbes d'erreurs de position et d'orientation.</td>
      <td>73</td>
    </tr>
    <tr>
      <td>Figure 3.11</td>
      <td>Simulation 3 : Suivi d'un chemin linéaire avec évitement des obstacles et contraintes : $Y_G < -300\text{mm}$ pour $[-35^\circ; -15^\circ; -20^\circ]^T$ et $Y_G > -100\text{mm}$ pour $[35^\circ; -15^\circ; 20^\circ]^T$.</td>
      <td>74</td>
    </tr>
    <tr>
      <td>Figure 3.12</td>
      <td>Simulation 3 : Courbes d'erreur de position et d'orientation.</td>
      <td>75</td>
    </tr>
    <tr>
      <td>Figure 3.13</td>
      <td>Simulation 3 : Déplacement d'une bouteille posée sur la table grise vers l'armoire grise par un MCM à trois sections.</td>
      <td>77</td>
    </tr>
  </tbody>
</table>
<table><tr><td>Figure 3.14</td><td>Simulation 3 : Configurations du MCM proche des obstacles.</td><td>77</td></tr><tr><td>Figure 3.15</td><td>Environnement expérimental pour valider le MGIAN proposé.</td><td>78</td></tr><tr><td>Figure 3.16</td><td>Schéma expérimental pour valider le MGIAN proposé.</td><td>79</td></tr><tr><td>Figure 3.17</td><td>Expérience 1 : Préservation des SGIs, Atteinte d'un point cible avec quatre configurations différentes.</td><td>80</td></tr><tr><td>Figure 3.18</td><td>Expérience 2 : Suivi d'une trajectoire linéaire avec une contrainte X<sub>G</sub> ≥ -150mm sur la plateforme mobile et évitement des obstacles.</td><td>81</td></tr><tr><td>Figure 3.19</td><td>Expérience 2 : Courbe d'erreur sur la position.</td><td>82</td></tr></table>
<table>
  <tbody>
    <tr>
      <td>Tableau 3.5</td>
      <td>Résultats du pré-apprentissage pour chaque couche cachée (quatre couches cachées) en utilisant l'algorithme des Auto-encodeurs. N<sub>n</sub>, N<sub>it</sub>, FACC, et η<sub>af</sub> sont respectivement le nombre de neurones par couche cachée, le nombre d'itérations, la fonction d'activation pour les couches cachées et la vitesse d'apprentissage.</td>
      <td>59</td>
    </tr>
    <tr>
      <td>Tableau 3.6</td>
      <td>Résultats d'ajustement des poids du réseau DNN : N<sub>hl</sub>, N<sub>tt</sub>, FACS, et η<sub>af</sub> sont respectivement le nombre de couches cachées, le nombre d'itérations pour chaque réseau, la fonction d'activation de la couche de sortie et la vitesse d'apprentissage.</td>
      <td>59</td>
    </tr>
    <tr>
      <td>Tableau 3.7</td>
      <td>Résultats d'apprentissage du MLP : N<sub>hl</sub>, N<sub>n</sub>, N<sub>it</sub> et η<sub>a</sub> sont respectivement le nombre de couches cachées, le nombre de neurones du réseau, le nombre d'itérations et la vitesse d'apprentissage. FACC et FACS sont respectivement les fonctions d'activation des couches cachées et de la couche de sortie.</td>
      <td>61</td>
    </tr>
    <tr>
      <td>Tableau 3.8</td>
      <td>Caractéristiques de l'architecture DNN pour 1, 2, 3 et 4 sections avec 3 couches cachées. N est le nombre de sections et N<sub>im</sub> est le nombre d'inter-modules. N<sub>it</sub> et N<sub>tt</sub> sont respectivement les nombres d'itérations pour le pré-apprentissage et pour l'affinement des poids. η<sub>ap</sub> et η<sub>af</sub> sont respectivement les vitesses d'apprentissage du pré-apprentissage et de l'ajustement des poids.</td>
      <td>62</td>
    </tr>
    <tr>
      <td>Tableau 3.9</td>
      <td>Coefficient de proportionnalité permettant d'obtenir les longueurs des inter-modules en fonction des longueurs des tubes. j est le numéro de l'inter-module.</td>
      <td>63</td>
    </tr>
    <tr>
      <td>Tableau 3.10</td>
      <td>Valeur maximale, valeur moyenne et variance de l'erreur euclidienne des paramètres de l'espace de travail (Position en (mm) et orientation en (°)) générés par le MGD basé sur le DNN, le MLP et le MLP développé dans [Lakhal 2016].</td>
      <td>65</td>
    </tr>
    <tr>
      <td>Tableau 3.11</td>
      <td>Contributions récentes sur le MGD du CBHA.</td>
      <td>68</td>
    </tr>
  </tbody>
</table>
<table><tr><td>Tableau 3.12 Influence du pas de discrétisation de l'espace de configuration sur la précision des SGIs : les distances sont en (mm) et angles en (°).</td><td>70</td></tr><tr><td>Tableau 3.13 Comparaison entre l'approche proposée (MGIAN) et la méthode numérique (MGIML) : les positions sont en (mm), les orientations en (°) et le temps en secondes.</td><td>75</td></tr><tr><td>Tableau 3.14 Contributions récentes sur le MGI du CBHA et du Robotino XT.</td><td>83</td></tr></table>
Acronymes et abréviations

ACC Approximation de la Courbure Constante

ACV Approximation de la Courbure Variable

AE Auto-encodeur

AP Apprentissage Profond

BHA Bionic Handling Assistant (Assistant de manipulation bionique)

CBHA Compact Bionic Handling assistant (Assistant de manipulation bionique compact)

ddl degré de liberté

DNN Deep Neural Network (Réseau de neurones profond)

EGI Équation Géométrique Inverse

EQM Erreur Quadratique Moyenne

FACC Fonction d'Activation pour les Couches Cachées

FACS Fonction d'Activation pour la Couche de Sortie

FCMEAN Fuzzy C-MEAN (C-Moyennes Flou)

GD Géométrie Directe

GI Géométrie Inverse

GNG Growing Neural Gas (Gaz de Neurones en Croissance)

K-MEAN (K-Moyennes)

KSOM Kohonen Self-Organizing Map (Carte Auto-organisatrice de Kohonen)

MC Manipulateur Continuum

MCfC Manipulateur Continuum de Forme Conique

MCM Manipulateur Continuum Mobile

MEF Méthode des Éléments Finis

MGD Modèle Géométrique Direct

MGI Modèle Géométrique Inverse

MGIAN Modèle Géométrique Inverse basé sur l'Apprentissage Non supervisé
MLP MultiLayer Perceptron (Perceptron MultiCouche)

MTH Matrice de Transformation Homogène

NN Neural Network (Réseau de neurones)

NHF Neighborhood Function (Fonction de Voisinage)

OAG Optimisation par l'Algorithme Génétique

OEP Optimisation par Essaïms de Particules

ORS Optimisation par le Recuit Simulé

PGI Problème Géométrique Inverse

PID Proportional Integral Derivative (Proportionnel Intégrateur Dérivateur)

RND Réseau de Neurones Direct

SGI Solution Géométrique Inverse

SVR Support Vector Regression (Régression par les vecteurs supports)
# Introduction Générale

## Contexte et motivation

Le premier champ d'application de la robotique était le milieu industriel. L'objectif était de développer un appareil intelligent pouvant conduire à la réduction des coûts de production industrielle, l'amélioration de la qualité des produits, l'augmentation de la production, et le remplacement de l'homme dans les environnements dangereux, notamment en industries chimiques, nucléaires ou minières. Ce robot a été baptisé : *manipulateur rigide* comme le montre la Figure 1-a. Selon la norme ISO 8373, le manipulateur rigide est une machine pouvant être commandée par un opérateur ; un automate programmable ou tout système logique, et dotée d'un mécanisme généralement composé d'une série de segments, articulés ou coulissants l'un par rapport à l'autre, et ayant pour but de saisir et/ou de déplacer des objets (pièces ou outils) généralement, suivant plusieurs degrés de libertés (ddls). L'avantage de ces robots est qu'ils sont constitués d'une structure entièrement rigide, les rendant ainsi efficaces pour l'exécution des tâches à grande vitesse et avec une haute précision (milieu industriel). Cependant, leur structure rigide les rend inappro priés pour les environnements restreints (environnements d'assistance ou chirurgicale) et pour la saisie des objets délicats ou déformables. Si l'intégration d'une flexibilité au niveau des joints (Figure 1-b) a apporté une sécurité supplémentaire en cas de collision avec l'humain, les corps rigides de ces derniers limitent toujours leur application aux simples tâches industrielles.

Récemment, une variété de robots (*manipulateurs continuums*) pouvant se plier le long de leur structure a vu le jour. Ils sont commandés par des actionneurs pneumatiques [Melingui 2014b], des actionneurs hydrauliques[Rus 2015], des câbles [Neppalli 2007], des tendons [Li 2017], des ressorts [Yeshmukhametov 2018], des fils [Li 2013], des actionneurs torsadés et bobinés [Cho 2016], des actionneurs thermiques [Wertz 2021] et les actionneurs
<figure><img src="image_5.png" /><figcaption>FIGURE 1 – (a) Manipulateur rigide à joints rigides SCORBOT ER 4u [Kumar 2015] (b) Manipulateur rigide mobile à joints flexibles [Korayem 2019].</figcaption></figure>

magnétiques [Wang 2021]. Leurs matériaux de fabrication leur confèrent une flexibilité in-
hérente leur permettant de saisir avec dextérité des objets fragiles de forme variée (Figure
2-a), et d'opérer dans des environnements restreints ou délicats tels que l'assistance aux
personnes handicapées (Figure 2-b), les interventions chirurgicales (Figure 2-c), les opé-
rations de sauvetage (Figure 2-d), la maintenance nucléaire (Figure 2-e) et l'exploration
marine (Figure 2-f). L'exécution des tâches suscitées se fait généralement dans un es-
pace de travail étendu où le manipulateur continuum est le plus souvent associé à une
plateforme mobile comme le montre la Figure 2-d.

Problématique

L'exécution de toute tâche en robotique nécessite une planification de trajectoire.
Cette dernière représente l'ensemble des positions que doit parcourir l'effecteur pour
réaliser la tâche désirée. L'atteinte d'un point particulier de cette trajectoire néces-
site la détermination de la GI du robot. Cette dernière demeure un challenge pour les
manipulateurs continuums à cause de leur caractère hyper-redondant. En effet, pour
<figure><img src="image_6.png" /><figcaption>FIGURE 2 – Manipulateurs continuums : (a) Octarm [McMahan 2006], (b) BHA (Bionic Handling Assistant) [Mahl 2014], (c) Manipulateur souple pour la chirurgie mini-invasive [Runciman 2019], (d) Manipulateur continuum mobile [Murphy 2008], (e et f) snake arm pour la maintenance nucléaire et l'exploration [Qin 2021].</figcaption></figure>

une pose donnée de l'effecteur, plusieurs configurations du robots sont possibles. En revanche, malgré que cette multiplicité de solutions inverses rend complexe la détermination de la GI, elle est cependant d'une importance capitale pour les opérations en environnements confinés (chirurgical, assistance), car elle donne la possibilité aux développeurs de sélectionner à chaque fois la configuration optimale. Dans la littérature, cette problématique a largement été traitée pour les manipulateurs continuums à base fixe. Plusieurs approches de modélisation telles que les approches analytiques [Escande 2012, Neppalli 2009], numériques [Godage 2011b, Mahl 2014, Li 2017] ou basées sur l'apprentissage [Rolf 2013, Li 2015, Giorelli 2015, Melingui 2014c, Melingui 2017] ont été proposées. Cependant, leur inconvénient majeur est qu'elles ne peuvent fournir qu'une Solution Géométrique Inverse (SGI) optimale ou non optimale. Les MCMs apportent une complexité supplémentaire car la plateforme mobile augmente le nombre de degrés de libertés du robot. Les contributions existantes sur ces derniers se sont limitées à des méthodes conduisant à une solution unique [Li 2015]. Comme le montre la Figure 3,
la problématique dans cette thèse est la suivante : Comment dériver la géométrie inverse
des MCMs tout en maintenant la précision, l'applicabilité en temps réel et la multiplicité
des solutions inverses ?

<figure><img src="image_7.png" /><figcaption>FIGURE 3 – Quatre SGIs pour atteindre le point [−701mm; 500mm; 300mm]ᵀ avec une orientation désirée de [0°; 90°; 0°]ᵀ.</figcaption></figure>

Solution proposée

Cette thèse propose une approche basée sur l'apprentissage non supervisé pour ré-
soudre la géométrie inverse des MCMs avec maintien des solutions multiples. La base de
données d'apprentissage est issue du MGD. Dans la littérature, les contributions exis-
tantes sur la modélisation géométrique directe peuvent être regroupées en trois grandes
approches : les approches analytiques [Hannan 2003, Chirikjian 1994, Jones 2006], les
approches basées sur l'apprentissage [Giorelli 2013, Melingui 2014c, He 2015] et les ap-
proches hybrides [Lakhal 2016].

Les approches analytiques utilisent généralement l'Approximation de la Courbure
Constante (ACC) [Jones 2006] et l'Approximation de la Courbure Variable (ACV)
[Mahl 2014]. Si la première n'est pas adaptée à la majorité des manipulateurs continuums (forme conique), la seconde bien qu'intéressante conduit à des résultats imprécis à cause des hypothèses de modélisation. En outre, la forte non-linéarité du modèle géométrique directe rend la détermination de la géométrie inverse mathématiquement difficile. Les méthodes numériques qui sont une alternative présentent le plus souvent des problèmes de temps de calcul élevé et de convergence. Les approches hybrides conduisent aux modèles plus précis grâce à des hypothèses de modélisation géométrique qui se rapprochent du comportement réel du manipulateur continuum. Cependant, elles restent moins performantes que les approches basées sur l'apprentissage car ces dernières ont la capacité de saisir les comportements hautement non-linéaires du manipulateur continuum. Par ailleurs, contrairement aux approches hybrides qui sont applicables sur tout manipulateur continuum quel que soit le nombre d'actionneurs, les approches basées sur l'apprentissage restent limitées aux manipulateurs ayant un faible nombre d'actionneurs en raison du temps de collecte de la base de données d'apprentissage qui explose avec l'augmentation du nombre d'actionneurs.

Dans nos travaux de thèse, nous nous sommes tournés vers les approches utilisant l'apprentissage. Nous avons premièrement proposé une approche hybride pour la modélisation géométrique directe d'un manipulateur continuum quelconque en combinant l'Apprentissage Profond et l'ACV [Boutchouang 2021]. Par la suite, nous avons proposé une approche d'apprentissage non supervisé pour la modélisation géométrique inverse précise et efficace en temps de calcul pour les MCMs [Boutchouang 2022].

# Organisation du document

Le reste de ce document est organisé comme suit :

- Le premier chapitre présente l'état de l'art des approches de modélisation des manipulateurs continuums à base fixe et mobile.

- Le deuxième chapitre est divisé en deux parties. La première partie est consacrée à
la modélisation géométrique directe des manipulateurs continuums ayant un grand nombre d'actionneurs par section et un grand nombre de sections. La deuxième partie est consacrée au Modèle Géométrique Inverse basée sur l'Apprentissage Non supervisé (MGIAN) des MCMs avec maintien des solutions multiples.

- Le troisième chapitre est consacré à la présentation des résultats des simulations et des expériences des différents algorithmes proposés. Une analyse détaillée de ces résultats et une comparaison avec ceux de la littérature sont effectuées.

- Le document se termine par une conclusion générale qui résume les différentes contributions proposées et présente une vue générale des travaux futurs à mener.
# CHAPITRE 1

## État de l'art

Ce chapitre présente une description brève des différentes méthodes de modélisation géométrique proposées dans la littérature. Il commence par une introduction qui rappelle les notions de base sur la géométrie des manipulateurs continuums et des MCMs. Les approches de modélisation géométrique directe et inverse existantes sont présentées par la suite. Le chapitre se termine par une conclusion qui résume les limites des approches existantes et énonce des solutions proposées dans cette thèse.

### 1.1 Introduction

La géométrie directe d'un robot est essentielle dans son architecture de commande. Elle met en exergue la pose de l'effecteur en fonction des variations des paramètres de l'espace de configuration, sans tenir compte des effets d'inertie et de vibration du robot. Cependant, elle reste insuffisante pour la réalisation des tâches telles que la saisie des objets, les mouvements guidés visuellement, le suivi et la planification de trajectoires. L'exécution de telles tâches nécessite l'établissement d'un modèle géométrique inverse. En effet, le modèle géométrique inverse d'un robot consiste à déterminer une ou plusieurs configurations du robot à partir d'une pose de l'effecteur donnée dans l'espace de travail. Ce dernier est borné pour les manipulateurs continuums. Ainsi, ces robots sont limités pour des applications nécessitant un large espace de travail telles que l'exploration spatiale, l'assistance aux personnes âgées ou à mobilité réduite, les opérations de sauvetage, la maintenance et le démantèlement des centrales nucléaires. les Manipulateurs Continuels Mobiles (MCMs) sont composés d'un manipulateur continuum monté sur une plateforme
*mobile.* Ils permettent non seulement de couvrir un large espace de travail, mais aussi leur grand nombre de degrés de libertés leur permettent de réaliser les tâches avec une dextérité et une agilité accrues.

## 1.2 Modélisation géométrique directe des manipulateurs continuums

Dans la littérature, les approches de modélisation géométrique directe des manipulateurs continuums peuvent être classées en trois grandes classes : les approches analytiques, les approches basées sur l'apprentissage et les approches hybrides. Les approches analytiques impliquent l'établissement du modèle géométrique à partir de la structure physique du manipulateur. Quant aux approches basées sur l'apprentissage, l'espace paramétrique du robot est divisé en plusieurs groupes en fonction des modes de fonctionnement du robot. Un modèle mathématique issu des algorithmes d'apprentissage permet d'établir une relation entre les effets (observation experte, mesures de capteurs et données statistiques) et les causes (références d'entrée). Les approches hybrides sont une combinaison des deux précédentes. Comparé à la modélisation géométrique directe des manipulateurs conventionnels à corps rigide qui peut être facilement dérivé en utilisant les méthodes classiques de Denavit-Hartenberg [Denavit 1955], celle des manipulateurs continuums demeure un challenge surtout pour ceux à forme conique.

### 1.2.1 Approches analytiques

Dans la littérature, trois hypothèses de modélisation de la courbure sont généralement utilisés à savoir l'Approximation de la Courbure Constante (ACC), l'Approximation de la Courbure Variable (ACV) et les Méthodes en Éléments Finis (MEFs). Cette sous-section résume respectivement les contributions existantes sur les trois méthodes de modélisation suscitées.
### 1.2.1.1 Approximation de la Courbure Constante

Plusieurs contributions ont été proposées sous l'hypothèse de la courbure constante [Webster 2010]. Hannan et Walker [Hannan 2003] ont défini l'espace de configuration d'un module continuum tridimensionnel par trois variables. Cette hypothèse structurelle donne des bons résultats grâce à la forme uniforme et symétrique du manipulateur. Jones et Walker [Jones 2006] considèrent que le module continuum tridimensionnel est assimilable à un bras de liaison rigide composé de quatre articulations pivotantes, soit deux à chaque extrémité de la section, elles-mêmes reliées par une articulation prismatique. Dupont et al. [Dupont 2009], Escande et al. [Escande 2012] et Rolf et al. [Rolf 2012] ont également utilisé la même approche respectivement pour la modélisation géométrique directe des robots à tube concentrique, des manipulateurs bioniques CBHA (Compact Bionic Handling Assistant) et BHA (Bionic Handling Assistant). Godage et al. [Godage 2011b] combinent à cette approche une fonction de forme qui intègre la contrainte de la structure géométrique du bras.

<figure><img src="image_8.png" /><figcaption>FIGURE 1.1 – MGD du manipulateur continuum en utilisant l'ACC.</figcaption></figure>
<figure><img src="image_9.png" /><figcaption>FIGURE 1.2 – Paramètres d'une section du manipulateur continuum : (a) Représentation spatiale, (b) Représentation planaire [Escande 2012].</figcaption></figure>

Le principe de modélisation géométrique directe d'un manipulateur continuum basé
sur l'ACC est résumé à la Figure 1.1. Il consiste dans un premier temps à obtenir les
variables de l'espace de configuration (λᵢ, ϑᵢ, φᵢ) à partir des variables de l'espace des
actionneurs (Dᵢ₀ + dᵢⱼ(t)) avec i = 1, 2, ..., N et j = 1, 2, 3, le numéro de l'actionneur. En
effet, comme le montre la Figure 1.2, chaque section est constituée de trois actionneurs
placés à un angle de 120° les uns par rapport aux autres. La longueur de chaque actionneur
au temps t est Dᵢ₀ + dᵢⱼ(t), où Dᵢ₀ est la longueur initiale de l'actionneur et dᵢⱼ est la
longueur variable de l'actionneur. Les trois paramètres de déformation géométrique de la
section i par rapport au repère local (Cᵢ, xᵢ, yᵢ, zᵢ) sont définis par λᵢ, φᵢ, et ϑᵢ, représentant
respectivement le rayon de courbure, l'angle sous-tendu par l'arc de flexion, et l'angle du
plan de flexion par rapport à l'axe xᵢ. Le rayon de base d'une section est défini comme
Rᵢₛ. À partir d'une analyse géométrique [Escande 2012], les paramètres d'arc λᵢ, φᵢ, et ϑᵢ
sont définis comme suit :

$$
\begin{align}
\lambda_i (q_i) &= \frac{(3D_{i0} + d_{i1} + d_{i2} + d_{i3}) R_i^s}{2(d_{i1}^2 + d_{i2}^2 + d_{i3}^2 - d_{i1}d_{i2} - d_{i1}d_{i3} - d_{i2}d_{i3})^{1/2}} \\
\varphi_i (q_i) &= \frac{2(d_{i1}^2 + d_{i2}^2 + d_{i3}^2 - d_{i1}d_{i2} - d_{i1}d_{i3} - d_{i2}d_{i3})^{1/2}}{3R_i^s} \tag{1.1} \\
\vartheta_i (q_i) &= \tan^{-1} \left\{ \frac{d_{i2} + d_{i3} - 2d_{i1}}{\sqrt{3(d_{i2} - d_{i3})}} \right\}
\end{align}
$$

À partir de ces paramètres, la Matrice de Transformation Homogène (MTH) $\Sigma_i^{i+1}$ U de toute section donnée $i$ est donnée par :

$$
\begin{equation}
\begin{split}
\Sigma_i^{i+1} U (\lambda_i, \vartheta_i, \varphi_i) &= R_{z_i} (\vartheta_i) P_{x_i} (\lambda_i) R_{y_i} (-\varphi_i) R_{z_i}^T (\vartheta_i) \\
&= \begin{pmatrix}
c^2 \vartheta c \varphi + s^2 \vartheta & c \vartheta s \vartheta (c \varphi - 1) & c \vartheta s \varphi & \lambda_i c \vartheta (1 - c \varphi) \\
c \vartheta s \varphi (c \varphi - 1) & s^2 \vartheta c \varphi + c^2 \vartheta & s \vartheta s \varphi & \lambda_i s \vartheta (1 - c \varphi) \\
-c \vartheta s \varphi & -s \vartheta s \varphi & c \varphi & \lambda_i s \varphi \\
0 & 0 & 0 & 1
\end{pmatrix}
\end{split}
\tag{1.2}
\end{equation}
$$

avec $c\vartheta = \cos(\vartheta_i)$, $s\vartheta = \sin(\vartheta_i)$, $c\varphi = \cos(\varphi_i)$ et $s\varphi = \sin(\varphi_i)$. $R_{z_i}$ et $R_{y_i}$ sont respectivement les matrices de rotation autour des axes $z_i$ et $y_i$. $P_{x_i}$ représente la matrice de translation le long de l'axe $x_i$.

La MTH pour toute section $i$ étant connue, la technique classique de transformation des coordonnées est utilisée pour obtenir le MGD du manipulateur continuum complet par rapport au repère $\mathfrak{F}_1(O_1, x_1, y_1, z_1)$,

$$
\Sigma_1^{N+1} U (\lambda, \vartheta, \varphi) = \prod_{i=1}^{N} \Sigma_i^{i+1} U (\lambda_i, \vartheta_i, \varphi_i) U_i, \quad (1.3)
$$

où $U_i$ est une transformation éventuelle présente au niveau des joints entre deux sections
[Godage 2011a].

A partir de l'équation (1.3), la position $(X_c, Y_c, Z_c)$ de l'effecteur final, ainsi que son
orientation $(\Psi_c, \Theta_c, \Phi_c)$ sont déterminées comme suit :

$$
\Sigma_1^{N+1} U (\lambda, \vartheta, \varphi) =
\begin{pmatrix}
r_{11}^c & r_{12}^c & r_{13}^c & X_c \\
r_{21}^c & r_{22}^c & r_{23}^c & Y_c \\
r_{31}^c & r_{32}^c & r_{33}^c & Z_c \\
0 & 0 & 0 & 1
\end{pmatrix}
\quad \text{et} \quad
\left\{
\begin{array}{@{}l@{}}
\Psi_c = \operatorname{atan2}(r_{32}^c, r_{33}^c) \\[1.5ex]
\Theta_c = \operatorname{atan2} \left( -r_{31}^c, \sqrt{(r_{11}^c)^2 + (r_{21}^c)^2} \right) \\[1.5ex]
\Phi_c = \operatorname{atan2}(r_{21}^c, r_{11}^c)
\end{array}
\right.
\tag{1.4}
$$
avec $r_{ij}^c$ ($i = 1, 2, 3$ et $j = 1, 2, 3$) les composantes de la matrice de rotation de $1^{N+1}U$. $\Psi_c$, $\Theta_c$, et $\Phi_c$ désignent respectivement les angles de roulis, tangage et lacet.

### 1.2.1.2 Approximation de la Courbure Variable

<figure><img src="image_10.png" /><figcaption>FIGURE 1.3 – MGD du manipulateur continuum par l'ACV : (a) [Mahl 2014], (b) [Lakhal 2016].</figcaption></figure>

Les modèles basés sur l'ACC peuvent conduire aux résultats imprécis à cause de plusieurs hypothèses simplificatrices de modélisation. Par exemple, dans le cas d'un manipulateur continuum de forme conique (MCFC), les actionneurs ne peuvent pas être parallèles. Pour améliorer la solution basée sur la courbure constante, d'autres chercheurs ont supposé que le manipulateur est un assemblage de petits robots rigides ou continuums comme le montre la Figure 1.3. Cette méthode est connue sous le nom d'Approximation de la Courbure Variable (ACV). Ainsi, Chirikjian et al. [Chirikjian 1994] ont supposé que le robot est constitué d'une série d'un très grand nombre de modules. Une courbe mathématique particulière est utilisée pour résoudre la géométrie du manipulateur. Pendant, l'application est restreinte à un ensemble de formes et de mouvements réduits auxquels très peu de robots continuums peuvent correspondre. Mahl et al. [Mahl 2014] ont proposé une courbure variable pour modéliser le manipulateur BHA considéré comme des segments à courbure constante (CC). Les résultats sont plus efficaces et peuvent être utilisés en temps réel. R. Kang et al. [Kang 2013] ont modélisé un segment de robot par
quatre joints prismatiques qui relient les extrémités de deux plans consécutifs, et un joint
prismatique qui représente la longueur centrale entre ces deux plans. Pour résoudre la
géométrie directe, une série de segments multiples sont liés pour imiter la morphologie du
manipulateur continuum. Leur approche a été appliquée à un manipulateur continuum
utilisant des actionneurs musculaires pneumatiques. Cependant, bien qu'il améliore le
modèle de la courbure constante, la modélisation par la méthode de la courbure variable
reste imprécise à cause de certaines hypothèses de modélisations.

1.2.1.3 Approche par la méthode des éléments finis

<figure><img src="image_11.png" /><figcaption>FIGURE 1.4 – MGD du manipulateur continuum par les approches de la mécanique des milieux continus [Gravagne 2003, Trivedi 2008].</figcaption></figure>

Pour modéliser plus fidèlement le manipulateur continuum, les approches de modélisa-
tion basées sur la mécanique des milieux continus comme les Méthodes des Eléments Finis
(MEFs) [Bieze 2018] ont été développées comme le montre la Figure 1.4. Elles prennent
en compte à la fois l'actionnement et les forces externes et conduisent aux résultats de
haute précision. Cependant, elles nécessitent généralement une grande quantité de cal-
culs. Les méthodes simplifiées telles que les approches continues [De Payrebrune 2017] ou
discrètes [Renda 2018], les approches de la tige de Cosserat [Trivedi 2008], de la poutre
d'Euler-Bernoulli [Gravagne 2003], la modélisation du système localisé [Sadati 2019] et la
formulation géométriquement exacte [Grazioso 2019] sont principalement utilisées pour la simulation directe. En résumé, il n'est pas encore possible de réaliser simultanément une simulation rapide et une analyse géométrique inverse efficace pour les robots continuums avec des forces externes [Huang 2021].

1.2.2 Approches basées sur l’apprentissage

<figure><img src="image_12.png" /><figcaption>FIGURE 1.5 – MGD du manipulateur continuum par l’approche basée sur l’apprentissage
[Loutfi 2020].</figcaption></figure>

Les approches basées sur l’apprentissage ont été développées pour capturer toute la complexité des déformations et les comportements non linéaires et non modélisables des robots continuums afin d’obtenir un MGD précis et applicable en temps réel. Comme le montre la Figure 1.5, elles utilisent généralement les paires de données d’entrées-sorties du manipulateur pour estimer le MGD. Ainsi, pour modéliser le MGD du CBHA, Melingui et al. [Melingui 2014c] ont proposé un réseau neuronal contenant six entrées correspondant aux six valeurs des fils du potentiomètre qui varient proportionnellement à la pression utilisée pour contrôler les longueurs de tube, et 3 sorties correspondant aux paramètres de position de l’effecteur. De même, Giorelli et al. [Giorelli 2013] ont utilisé un Réseau de Neurones Direct (RND) capable de représenter la relation entre la position de l’extrémité du robot et les forces appliquées aux câbles qui actionnent un manipulateur à courbure non constante. Pour éviter la charge de calcul élevée et l’effort de modélisation haute- ment non linéaire liés aux approches basées sur les modèles analytiques, Grassmann et al. [Grassmann 2018] ont proposé un réseau de neurones artificiel (RNA) (avec comme
fonction d'activation, la fonction ReLU (Rectified Linear Unit)) pour résoudre la géométrie directe d'un robot à tubes concentriques à 6 degrés de libertés (ddls). Pour traiter les incertitudes du système et améliorer sa robustesse, Wei He et al. [He 2015] ont proposé des réseaux neuronaux adaptatifs qui approximent le modèle inconnu du robot et adaptent les interactions robot-patient. Le plus souvent, les méthodes basées sur l'apprentissage produisent des modèles précis mais sont très sensibles au bruit des capteurs. De plus, la taille de la base de données d'apprentissage augmente exponentiellement avec la dimension de l'espace de configuration et devient donc difficile à construire pour les manipulateurs à grand nombre de ddls.

### 1.2.3 Approches hybrides

<figure><img src="image_13.png" /><figcaption>FIGURE 1.6 – MGD du manipulateur continuum par l'approche hybride [Lakhal 2016].</figcaption></figure>

Une alternative à la modélisation du comportement géométrique des robots continums est de combiner l'approche basée sur les modèles analytiques et l'approche basée sur l'apprentissage, afin d'en tirer le meilleur d'elles. Reinhart et al. [Reinhart 2017] ont combiné un modèle analytique et un modèle d'apprentissage qui prend en compte les dy-
namiques non modélisées telles que les paramètres variables, la friction non modélisée ou les matériaux mous. Comme le montre la Figure 1.6, Lakhal et al. [Lakhal 2016] ont utilisé cette approche pour modéliser la géométrie directe du robot CBHA. Les auteurs ont supposé que le manipulateur est une série d'inter-vertèbres modélisés chacun comme un robot parallèle. Le modèle géométrique d'un inter-vertèbre étant représenté par une équation géométrique inverse (EGI) fortement non linéaire, l'architecture MLP a été utilisée pour estimer les paramètres cartésiens à partir des paramètres de l'espace de configuration de l'ensemble des inter-vertèbres. Une composition des matrices de transformations homogènes (MTHs) de chaque inter-vertèbre conduit à la position de l'effecteur.

## 1.3 Modélisation géométrique inverse des manipulateurs continuums

Les premiers travaux portant sur la modélisation géométrique inverse des manipulateurs continuums étaient axés sur les approches analytiques. Dû à la complexité de la résolution des équations fortement non linéaires issues des MGDs, les méthodes numériques ont été de plus en plus utilisées. Aujourd'hui, il existe des approches basées sur l'apprentissage. Elles ont la capacité d'établir un modèle mathématique entre les paramètres de l'espace de travail et ceux de l'espace des actionneurs.

### 1.3.1 Approches analytiques

Les approches analytiques établissent un ensemble d'équations et de conditions préalables qui permettent une mise en correspondance directe des poses de l'effecteur et des variables de l'espace de configuration. En plus du fait qu'elles sont rapides, elles fournissent toutes les solutions possibles pour une pose de l'effecteur donnée lorsque ces solutions sont issues d'une résolution des équations du MGD. Chirikjian et al. [Chirikjian 1994] ont proposé une méthode modale analytique pour résoudre le Problème Géométrique Inverse (PGI) des manipulateurs hyper-redondants. Cette méthode est basée sur une collection de
fonctions de forme de courbe intrinsèque de l'épine dorsale. Neppalli et al. [Neppalli 2009] ont proposé une approche analytique pour résoudre le PGI d'un manipulateur continuum à sections multiples. En supposant que les points des extrémités de toutes les sections du robot sont connus, une solution de forme fermée de la GI du manipulateur continuum a été développée. Cependant, la modélisation ne prend en compte que les contraintes de distance entre les sections continues du robot, alors que la position et l'orientation sont physiquement couplées. En conséquence, il existe des solutions avec des combinaisons de paramètres de courbe qui certes peuvent être transformées en variables d'espace de configuration, mais sont physiquement irréalisables. Récemment, Les courbes Hodographes pythagoriciennes ont été utilisées pour traiter le PGI des robots continuums [Singh 2018]. Une forme 3D du manipulateur continuum est d'abord reconstruite, et la SGI est ainsi déduite. Cette approche a l'avantage qu'elle conduit à une solution optimale par rapport à la configuration précédente du robot.

## 1.3.2 Méthodes numériques

Les méthodes numériques ont l'avantage de fonctionner quelque soit le nombre de ddls du manipulateur. En général, elles nécessitent une détermination préalable de la matrice Jacobienne [Li 2019] issue du modèle géométrique direct (MGD). Elles ont été implémentées dans [Jones 2006, Simaan 2004, Webster 2009, Mahl 2014] respectivement pour les robots continuums Air-OCTOR, Snake-like, Concentrictube et BHA. Une cartographie de transformation linéaire entre les déplacements des tendons et la configuration de la poutre a été proposée dans [Camarillo 2008] en implémentant des algorithmes de norme minimale et maximale. Godage [Godage 2015] a proposé un modèle géométrique basé sur des fonctions de forme modales. La méthode visait à remédier à certaines limites associées au modèle de courbe géométrique paramétrique [Jones 2006], à savoir la difficulté de modéliser des poses de bras droits de sections continuums en raison d'une singularité numérique. L'approche itérative, dépendant de la matrice Jacobienne, a été utilisée pour déduire la GI. Cependant, les approches basées sur la matrice jacobienne souffrent gé-
néralement de nombreux inconvénients, notamment des temps de traitement et de mise en œuvre élevés, des minima locaux et des singularités. De plus, selon la précision du MGD, la qualité de l'estimation initiale ou la répartition des singularités dans l'espace de configuration, des problèmes de mauvaise performance ou de non-convergence peuvent survenir [Guilamo 2005].

### 1.3.3 Approches basées sur l'apprentissage

<figure><img src="image_14.png" /><figcaption>FIGURE 1.7 – MGI du manipulateur continuum par l’approche basée sur l’apprentissage distal [Melingui 2015].</figcaption></figure>

Des outils d'apprentissage ont également été explorés pour résoudre la GI des ma-
nipulateurs continuums. Une comparaison des performances d'un Réseau de Neurones
issu d'un apprentissage direct et d'une méthode Jacobienne est faite dans [Giorelli 2015]
dans le cadre de la Modélisation Géométrique Inverse d'un manipulateur à courbure non
constante. Les résultats ont révélé que le réseau de neurones était plus rapide et plus fiable
que l'approche Jacobienne. Comme le montre la Figure 1.7, Melingui et al. [Melingui 2015]
ont utilisé une approche de réseau de neurones via une architecture d'apprentissage super-
visé distale pour résoudre le problème GI du manipulateur CBHA. Puisque l'apprentissage
direct des systèmes multivalués conduit à une solution non optimale, l'architecture distale
permet de modéliser le MGI en fonction du MGD et conduit à une solution précise. Rolf
et al. [Rolf 2013] utilisent une approche de babillage de buts sur le manipulateur BHA.

### 1.3.4 Approche hybride

Une approche hybride a été utilisée dans [Lakhal 2016] pour résoudre la GI d'un manipulateur continuum à tubes pneumatiques. Alors que ce robot est considéré comme une série d'inter-vertèbres, un couplage de plusieurs réseaux de neurones a permis d'obtenir les paramètres spatiaux de chaque inter-vertèbre à partir de la position désirée de l'effecteur (Figure 1.8). Les EGIs des inter-vertèbres suivi d'une somme algébrique des longueurs des inter-vertèbres permettent d'obtenir les longueurs des tubes pneumatiques.

<figure><img src="image_15.png" /><figcaption>FIGURE 1.8 – MGI du manipulateur continuum par l'approche hybride [Lakhal 2016].</figcaption></figure>

## 1.4 Modélisation géométrique inverse des manipulateurs continuums mobiles

Les travaux de recherche sur les MCMs restent encore à l'état embryonnaire. McMahan et al. [McMahan 2006] ont effectué une série de tests dans l'eau et sur le sol d'un
manipulateur mobile continuum à chenilles appelé Octarm. L'objectif était de démontrer l'adaptabilité du robot dans des environnements difficiles. Li et Xiao [Li 2015] ont résolu le PGI de ce robot, en tenant compte de la pose de l'effecteur final, des contraintes environnementales et des obstacles environnants. L'approche consiste à trouver une configuration réalisable du manipulateur proche de sa configuration précédente. Ainsi, en partant de la section liée à l'effecteur vers la section liée à la plateforme mobile, une configuration réalisable de chaque section est déterminée. Ensuite, une méthode analytique prenant en compte les contraintes spécifiques sur la pose de chaque section est utilisée pour calculer la GI de l'Octarm section par section. Cependant, l'algorithme de résolution de la GI consomme en temps de calcul, car il nécessite un calcul itératif pour trouver une configuration réalisable de chaque section. Pour planifier le mouvement d'un manipulateur continuum mobile à section unique, Hawks et al. [Hawks 2019] ont proposé l'algorithme RRT/A*, qui intègre l'espace de configuration de la section du robot ainsi que ses contraintes spécifiques.

## 1.5 Conclusion

Dans ce chapitre, une revue de littérature sur la modélisation géométrique directe et inverse des manipulateurs continuums a été présentée. Trois grandes classes d'approches de modélisation ont été présentées à savoir les approches analytiques, les approches basées sur les données et les approches hybrides. Nous avons noté que l'approche idéale était l'approche analytique car, non seulement elle est efficace en temps de calcul, mais aussi elle propose l'ensemble des solutions inverses. Cependant, la forte non-linéarité des MGDs résultants limite leur application qu'à une seule section. Nous avons également remarqué que les approches basées sur l'apprentissage étaient efficaces non seulement en temps de calcul, mais aussi en précision. Cependant, le temps mis pour la construction de la base d'apprentissage les rend moins attractives. Les approches hybrides quant-à elles conduisent aux performances acceptables. On note moins d'hypothèses de modélisation, mais aussi
les bases de données d'apprentissage sont généralement construites à partir des modèles
analytiques développés.

Le chapitre suivant présente nos contributions à la fois sur la modélisation géométrique directe et inverse des MCMs. Nous proposons une approche hybride basée sur l'ACV et l'apprentissage profond pour la géométrie directe et une approche d'apprentissage basée sur la classification des espaces articulaire et de travail du robot pour la géométrie inverse.
# CHAPITRE 2

## Méthodologie et Matériel Utilisés

Ce chapitre présente notre plus-value scientifique sur la modélisation géométrique des manipulateurs continuums mobiles. Dans un premier temps, nous présenterons la contribution sur la modélisation géométrique directe du manipulateur continuum et la contribution sur la géométrie inverse des MCMs sera présentée par la suite.

### 2.1 Introduction

Ce chapitre présente deux contributions. Dans la première contribution [Boutchouang 2021], nous proposons une approche hybride pour résoudre la modélisation géométrique directe d'une classe de manipulateurs continuums à plusieurs sections et à plusieurs actionneurs par section. Chaque section du robot est considérée comme une série d'inter-modules, et ces derniers sont modélisés chacun par un robot parallèle avec *K* articulations sphériques universelles-prismatiques et une articulation universelle-prismatique (*KUPS-1UP*). De cette modélisation, découle les équations géométriques inverses des inter-modules. Les EGIs obtenues ne permettant pas d'obtenir analytiquement la géométrie directe de l'inter-module, une architecture profonde est utilisée pour estimer l'ensemble des paramètres spatiaux des inter-modules. Enfin, une composition des matrices de transformations homogènes permet de dériver le MGD du manipulateur continuum. Ce MGD combiné à celui du MGD de la plateforme mobile est utilisé pour générer la base de données du MGIAN dans la deuxième contribution [Boutchouang 2022]. Dans cette dernière, nous utilisons un algorithme d'apprentissage non supervisé appelé Growing Neural Gas (GNG) pour classifier les données de l'espace
de travail. Le choix du GNG provient de sa capacité à générer des centres de regrou-
pements qui reproduisent fidèlement la topologie de distribution des données d'entrées.
Afin de conserver les solutions multiples, une fonction de voisinage est utilisée pour
associer à chaque point de l'espace de travail une ou plusieurs configurations. De plus,
l'approche proposée permet de réduire l'erreur cartésienne grâce à la grande dextérité
d'une section du manipulateur. Cette réduction d'erreur est effectuée dans un premier
temps en paramétrant les valeurs des configurations de la plateforme mobile et des
(N − 1) premières sections du manipulateur continuum, et dans un second temps en
résolvant la géométrie inverse de la section liée à l'effecteur par l'approche de la courbure
constante [Escande 2012] si le manipulateur est de forme cylindrique ou par l'approche
hybride [Lakhal 2016] s'il est de forme conique. L'erreur cartésienne est complètement
éliminée pour des manipulateurs continuums de forme cylindrique lorsque les contraintes
sur les paramètres dynamiques et l'orientation de l'effecteur ne sont pas pris en compte.
Le principe de translation est utilisé pour permettre au robot d'opérer hors de son espace
de travail.

## 2.2 Modélisation Géométrique Directe des Manipulateurs Continuums : Approche Hybride

Dans cette section, nous commencerons par définir les hypothèses de modélisation du
manipulateur continuum, suivi de l'établissement des équations géométriques inverses des
inter-modules. Par la suite, l'architecture d'apprentissage profond permettant de détermi-
ner les paramètres spatiaux de l'ensemble des inter-modules, la procédure de génération
de la base de données d'apprentissage et l'algorithme de détermination des hyperpara-
mètres du réseau de neurones profond sont respectivement présentés. Enfin, le modèle
géométrique direct proposé permettant de déterminer la pose de l'effecteur en fonction
des longueurs des inter-modules est présenté.
2.2.1 Hypothèses de modélisation

La structure d'un manipulateur continuum peut être représentée par la Figure 2.1. Les hypothèses considérées pour modéliser son comportement géométrique sont les suivantes :

1. Le manipulateur est considéré comme une série de plusieurs sections, chacune étant contrôlée indépendamment.

2. Une section est considérée comme une série de plusieurs inter-modules.

3. Un inter-module est indéformable et possède une mobilité de K-ddls.

4. Un inter-module se trouve entre deux modules invariants.

<figure><img src="image_16.png" /><figcaption>FIGURE 2.1 – Structure d'une classe de manipulateurs continuums. Les inter-modules sont représentés en noir tandis que les modules sont en bleu.</figcaption></figure>

Sur la base de ces hypothèses, un inter-module représenté sur la Figure 2.2 peut être considéré comme un robot parallèle rigide composé de *K* chaînes cinématiques indépendantes dont les extrémités sont reliées par deux plateformes rigides, à savoir les modules inférieur et supérieur. Les extrémités inférieures des articulations liées au module inférieur forment un polygone régulier, comme le montre la Figure 2.3. C'est également le cas pour les extrémités supérieures liées au module supérieur. Ces articulations ont des longueurs
variables et sont représentées par $l_{i,j}$, où $i = 1, ..., K$, $j = 1, ..., N_{im}$ et $N_{im}$ est le nombre d'inter-modules. Elles assurent la position et l'orientation du module supérieur par rapport au module inférieur. La variable $l_j$ est la distance entre les centres géométriques des modules inférieur $O_j$ et supérieur $O_{j+1}$; elle est considérée comme une articulation passive. L'orientation représentée par $\psi_j$, $\theta_j$ et $\phi_j$ sont respectivement les angles de roulis, tangage et lacet. L'inter-module est alors modélisé comme un robot parallèle avec K articulations sphériques à prisme universel et une articulation à prisme universel (KUPS-1UP).

<figure><img src="image_17.png" /><figcaption>FIGURE 2.2 – Inter-module.</figcaption></figure>

<figure><img src="image_18.png" /><figcaption>FIGURE 2.3 – (a) Configuration spatiale d’un inter-module. (b) Configuration planaire d’un module.</figcaption></figure>
### 2.2.2 Équation géométrique inverse d'un inter-module

L'EGI d'un inter-module est obtenue en calculant les variables articulaires $l_{i,j}$ du robot parallèle. En ce qui concerne les mouvements de translation, seule la translation selon l'axe $z$ est considérée, car les translations selon les axes $x$ et $y$ sont négligeables. La translation selon l'axe $z$ est désignée par $Trans(z, l_j)$. Les EGIs sont formulées comme suit :

$$l_{i,j} = f_i(\psi_j, \theta_j, \phi_j, l_j) \qquad (2.1)$$

où $l_{i,j}$ sont les longueurs des liens prismatiques-universels et $\psi_j, \theta_j$ and $\phi_j$ sont respectivement les angles de roulis, tangage et lacet.

Pour un module $j$, ses points d'extrémités, son centre du cercle circonscrit et le rayon de ce cercle sont définis respectivement par $P_{i,j}$, $O_j$ et $R_j$. Les coordonnées du premier point d'extrémité $P_{1,j}$ situé sur l'axe $x_j$ et l'origine $O_j$ du référentiel $\Re_j(O_i, x_j, y_j, z_j)$ sont définies par :

$$P_{1,j} = \begin{bmatrix} R_j \\ 0 \\ 0 \end{bmatrix} \quad \text{et} \quad O_j = \begin{bmatrix} 0 \\ 0 \\ 0 \end{bmatrix}$$

Les coordonnées d'une extrémité $P_{i,j}$ sont obtenues en effectuant une rotation $R_{z_j}(\alpha_i)$. Ainsi, nous avons :

$$O_j P_{i,j} = R_{z_j}(\alpha_i) \cdot O_i P_{1,j}, \quad P_{i,j} = \begin{bmatrix} R_j \cos \alpha_i \\ R_j \sin \alpha_i \\ 0 \end{bmatrix} \qquad (2.2)$$

$$\text{avec } \operatorname{Rot}(O_j, \alpha_i) = \begin{pmatrix} \cos \alpha_i & -\sin \alpha_i & 0 \\ \sin \alpha_i & \cos \alpha_i & 0 \\ 0 & 0 & 1 \end{pmatrix} \text{ et } \alpha_i = \frac{2(i-1)\pi}{K}.$$

On définit le vecteur $L_{i,j}$ qui établit la relation entre les points d'extrémités $P_{i,j+1}$ et $P_{i,j}$ dans le repère $\Re_j(O_j, x_j, y_j, z_j)$ comme suit :

$$\begin{bmatrix} L_{i,j} \\ 1 \end{bmatrix} = \sum_{j=1}^{n} T_j \begin{bmatrix} P_{i,j+1} \\ 1 \end{bmatrix} - \begin{bmatrix} P_{i,j} \\ 1 \end{bmatrix} \qquad (2.3)$$
où $j^{j+1}T$ est la matrice de transformation du module supérieur par rapport au module inférieur, et exprimée comme suit [Ang 1987] :

$$ \mathbf{j}^{j+1}T = \begin{pmatrix} r_{11}^{j} & r_{12}^{j} & r_{13}^{j} & 0 \\ r_{21}^{j} & r_{22}^{j} & r_{23}^{j} & 0 \\ r_{31}^{j} & r_{32}^{j} & r_{33}^{j} & l_{j} \\ 0 & 0 & 0 & 1 \end{pmatrix} \qquad (2.4) $$

avec

$$ r_{11}^{j} = C\phi_{j}C\theta_{j} $$

$$ r_{12}^{j} = -S\phi_{j}C\psi_{j} + C\phi_{j}S\theta_{j}S\psi_{j} $$

$$ r_{13}^{j} = S\phi_{j}S\psi_{j} + C\phi_{j}S\theta_{j}C\psi_{j} $$

$$ r_{21}^{j} = S\phi_{j}C\theta_{j} $$

$$ r_{22}^{j} = C\phi_{j}C\psi_{j} + S\phi_{j}S\theta_{j}S\psi_{j} $$

$$ r_{23}^{j} = -C\phi_{j}S\psi_{j} + S\phi_{j}S\theta_{j}C\psi_{j} $$

$$ r_{31}^{j} = -S\theta_{j} $$

$$ r_{32}^{j} = C\theta_{j}S\psi_{j} $$

$$ r_{33}^{j} = C\theta_{j}C\psi_{j} $$

Les symboles *S* et *C* désignent respectivement les fonctions sinus et cosinus. Le vecteur $L_{i,j}$ est de dimension 3 × 1. Enfin, la variable prismatique $l_{i,j}$ est égale à la distance entre les extrémités $P_{i,j+1}$ et $P_{i,j}$ et est exprimée comme suit :

$$ l_{i,j}^{2} = L_{i,j}^{T} L_{i,j} \qquad (2.5) $$

Ainsi, après avoir introduit les équations (2.2) et (2.4) dans l' équation (2.3), l'équation (2.5) peut être réécrite sous la forme de l'équation (2.1) comme suit :

$$ \begin{aligned} l_{i,j} = sqrt(R_{j+1}^2 + R_j^2 + d_j^2 - 2R_{j+1}l_j(\cos \theta_j \sin \psi_j \sin \alpha_i + \sin \theta_j \cos \alpha_i) \\ -2R_{j+1}R_j(\cos \theta_j \cos \alpha_i \cos(\alpha_i - \phi_j) + \cos \psi_j \sin \alpha_i \sin(\alpha_i - \phi_j) \\ + \sin \theta_j \sin \psi_j \sin \alpha_i \cos(\alpha_i - \phi_j))) \end{aligned} \qquad (2.6) $$

où sqrt est la fonction racine carrée.
### 2.2.3 MGD des inter-modules : Solution basée sur les réseaux DNN

Le MGD d'un inter-module est obtenu en résolvant les EGIs 2.6. Cela revient à trouver la relation entre les variables conjointes $l_{i,j}$ d'un inter-module et les paramètres du module supérieur ($\psi_j, \theta_j, \phi_j, l_j$) par rapport au repère du module inférieur comme suit

$$ (\psi_j, \theta_j, \phi_j, l_j) = f_i^{-1}(l_{i,j}). \qquad (2.7) $$

L'équation (2.6) étant hautement non linéaire, des méthodes numériques, telles que Newton-Raphson, les moindres carrés ou le calcul symbolique, sont généralement utilisées pour fournir une solution approximative. Cependant, pour des contraintes de temps de calcul liées à l'algorithme et au nombre d'inter-modules élevé, les méthodes basées sur l'apprentissage deviennent une alternative. Une solution basée sur l'Apprentissage Profond (AP) est mise en œuvre dans ce document pour fournir une solution approximative.

Les méthodes d'Apprentissage Profond visent à apprendre des caractéristiques d'une hiérarchie, les caractéristiques des niveaux supérieurs de la hiérarchie étant formées par la composition des caractéristiques des niveaux inférieurs. L'apprentissage automatique de caractéristiques à plusieurs niveaux d'abstraction permet à un système d'apprendre des fonctions complexes, de mettre en correspondance l'entrée et la sortie directement à partir des données, sans dépendre entièrement des caractéristiques créées par l'homme. Ceci est particulièrement important pour les abstractions de plus haut niveau, que les humains ne savent souvent pas comment spécifier explicitement en terme d'entrées sensorielles brutes [Bengio 2009]. L'architecture de l'AP adoptée dans ce travail est un Deep Neural Network (DNN) avec de nombreux niveaux de non-linéarités lui permettant de représenter des fonctions de régression hautement non linéaires telles que celles obtenues dans (2.6). Il a l'avantage de permettre l'initialisation des poids dans une région proche d'un bon minimum local grâce à des algorithmes de pré-apprentissage [Larochelle 2009].

Soit $\mathbf{x}$ le vecteur d'entrée, $h_j^i(\mathbf{x})$ la sortie du neurone $j$ dans la couche $i$ avec $i = 0$ la couche d'entrée, $i = L + 1$ la couche de sortie, et $L$ le nombre de couches cachées. Le
<figure><img src="image_19.png" /><figcaption>FIGURE 2.4 – Procédure d’apprentissage du DNN en utilisant l’algorithme des Auto-encodeurs (AEs) pour la pré-apprentissage. (a), (b) et (c) montrent respectivement le processus de pré-apprentissage des première, deuxième et troisième couches cachées, tandis que (d) montre l’ajustement des poids de l’ensemble du réseau [Larochelle 2009].</figcaption></figure>

niveau d'activation par défaut est déterminé par le biais interne $b_j^i$ de chaque unité. La sortie $h_j^i(\mathbf{x})$ est exprimée comme suit :

$$h_j^i(\mathbf{x}) = f(a_j^i(\mathbf{x})), \text{ avec } a_j^i(\mathbf{x}) = b_j^i + \sum_k W_{jk}^i h_k^{i-1}(\mathbf{x}) \quad (2.8)$$

où $W_{jk}^i$ désigne les poids entre les couches $i-1$ et $i$, $h_k^{i-1}$ la sortie du $k^{eme}$ neurone dans la $(i-1)^{eme}$ couche, et $f(\cdot)$ la fonction d'activation avec $h^0(\mathbf{x}) = \mathbf{x}$.

La couche de sortie est déterminée de la même manière, comme suit :

$$\mathbf{O}(\mathbf{x}) = f(\mathbf{a}^{L+1}(\mathbf{x})), \text{ avec } \mathbf{a}^{L+1}(\mathbf{x}) = \mathbf{b}^{L+1} + \mathbf{W}^{L+1}\mathbf{h}^L(\mathbf{x}) \quad (2.9)$$

L’apprentissage du DNN, en tant que modèle de régression, consiste en une partie de pré-apprentissage non supervisé et une partie de réglage fin supervisé, comme le montre la Figure 2.4. Dans la partie de pré-apprentissage, l’apprentissage est effectué par l’algorithme des Auto-encodeurs couche par couche de manière non supervisée afin de maximiser la vraisemblance des échantillons d’apprentissage. Comme l’algorithme de rétropropagation est utilisé, le type d’unités cachées peut être une sigmoïde (sigm), une tangente hyperbolique (tanh) ou une arctangente (atan). En effet, ces fonctions d’activation rendent
l'algorithme de rétropropagation stable. De plus, elles ont un degré de lissage acceptable et sont facilement différentiables [Han 1995], contrairement à une fonction ReLU, qui présente un problème de différenciation pouvant conduire à un problème de ReLU mourant [Hu 2018]. Les lecteurs intéressés sont renvoyés à [Larochelle 2009] pour une description détaillée des algorithmes du DNN et de l'Auto-encodeur (AE).

### 2.2.4 Génération de la base de données

La mise en oeuvre des algorithmes du DNN et de l'AE se fait à l'aide d'une base de données dont la procédure de génération de cette base pour le MGD proposé est illustrée à la Figure 2.5. Le principe consiste tout d'abord à fixer les valeurs minimales et maximales (plages de valeurs) des différents paramètres spatiaux $\psi_j, \theta_j, \phi_j$ et $l_j$. Ces valeurs sont obtenues expérimentalement. Les paramètres spatiaux sont ensuite discrétisés dans les plages définies, et l'équation (2.13) est évaluée. Enfin, on enregistre les ensembles de valeurs des paramètres $\psi_j, \theta_j, \phi_j, l_j$ et $l_{i,j}$ dont les valeurs des élongations inter-modules $l_{i,j}$ ne vont pas au-delà de leurs valeurs limites. Ces dernières sont également obtenues expérimentalement.

### 2.2.5 Optimisation des hyperparamètres du DNN

Les hyperparamètres du DNN, à savoir le nombre de neurones par couche cachée, la fonction d'activation, le taux d'apprentissage et le nombre d'itérations sont déterminés à l'aide de l'Optimisation par les Essais de Particules (OEP) [Poli 2007]. Contrairement à l'Optimisation par le Recuit Simulé (ORS) [Dekkers 1991] et l'Optimisation par l'algorithme génétique (OAG) [Tanese 1989], l'optimisation par les Essais de particules garantit une solution optimale en peu de temps. Par ailleurs, le recuit simulé nécessite un nombre beaucoup plus important d'investigations pour produire des solutions optimales [Ethni 2009], tandis que l'algorithme génétique requiert un processus complexe de codage et de décodage qui augmente le nombre d'investigations [Savsani 2010]. Les performances obtenues par les différents algorithmes dans le cas du pré-apprentissage de la
<figure><img src="image_20.png" /><figcaption>FIGURE 2.5 – Algorithme de génération de la base de données d’apprentissage par l’approche hybride.</figcaption></figure>

première couche du DNN sont répertoriées au Tableau 2.1. Nous remarquons que l’al-
gorithme d’OEP obtient les meilleures performances en termes de temps de calcul. De
plus, la précision de l’architecture du réseau de neurones est également acceptable pour
un petit nombre de neurones.

<table><caption>TABLEAU 2.1 – Résultats des algorithmes d'optimisation pour le processus de pré-apprentissage. OAG (Optimisation par l'Algorithme Génétique), OEP (Optimisation par l'Essaim des Particules) et ORS (Optimisation par le Recuit Simulé).</caption>
   <thead>
    <tr>
     <td>
      Algorithms
     </td>
     <td>
      Temps de recherche de la solution (s)
     </td>
     <td>
      Performance sur les données de validation
     </td>
     <td>
      Nombre de neurones
     </td>
    </tr>
   </thead>
   <tbody>
    <tr>
     <td>
      OAG
     </td>
     <td>
      1019
     </td>
     <td>
      2.0346 × 10
      <sup>
       -5
      </sup>
     </td>
     <td>
      281
     </td>
    </tr>
    <tr>
     <td>
      OEP
     </td>
     <td>
      803
     </td>
     <td>
      2.3879 × 10
      <sup>
       -5
      </sup>
     </td>
     <td>
      256
     </td>
    </tr>
    <tr>
     <td>
      ORS
     </td>
     <td>
      1694
     </td>
     <td>
      4.8105 × 10
      <sup>
       -5
      </sup>
     </td>
     <td>
      265
     </td>
    </tr>
   </tbody>
  </table>

Dans l'algorithme d'Optimisation par les essais de particules (OEP) [Eberhart 1998],
les particules sont placées dans l'espace, et chaque particule évalue la fonction objective en fonction de sa position actuelle et du problème à résoudre. Ensuite, chaque particule calcule son déplacement dans l'espace de recherche, en prenant en compte sa meilleure position ainsi que celles des particules voisines, l'historique de sa position actuelle, et certaines perturbations aléatoires. Une fois que toutes les particules ont été déplacées, le calcul est répété. Les particules sont manipulées selon les équations suivantes [Poli 2007] :

$$v_{id} = w_{id} \cdot v_{id} + c_1 \cdot \text{rand}() \cdot (p_{id} - x_{id}) + c_2 \cdot \text{rand}() \cdot (p_{gd} - x_{id}) \quad (2.10)$$

$$x_{id} = x_{id} + v_{id} \quad (2.11)$$

où $x_{id}$ est un élément de la $i^{eme}$ particule $X^i = (x_1^i, x_2^i, \dots, x_D^i)$ avec $D$ la dimension du vecteur $X^i$. $v_{id}$ est un élément du taux de changement de la position (vitesse) de la $i^{eme}$ particule $V^i = (v_1^i, v_2^i, \dots, v_D^i)$. $p_{id}$ est un élément de la meilleure position précédente de la $i^{eme}$ particule $P^i = (p_1^i, p_2^i, \dots, p_D^i)$ et $p_{gd}$ est un élément de la meilleure particule parmi toutes les particules de la population. $c_1$ et $c_2$ sont les coefficients d'accélération de $v_{id}$ dans la direction des meilleures éléments $p_{id}$ et $p_{gd}$. Le poids d'inertie $w_{id}$ est utilisé pour contrôler l'impact de l'historique des vitesses précédentes sur la vitesse actuelle, influençant ainsi le compromis entre les capacités d'exploration globale (grande portée) et locale (grain fin) des particules.

Dans le cas de l'optimisation des hyperparamètres du DNN, le nombre de neurones par couche cachée, la fonction d'activation pour chaque couche, le taux d'apprentissage et le nombre d'itérations constituent les éléments du vecteur de position d'une particule $X^i$. $P^i$ représente les meilleurs hyperparamètres précédents d'une particule $X^i$ et $p_{gd}$ est un élément des meilleurs hyperparamètres du DNN. $V^i$ est le vecteur pas (taux de changement de la position) des hyperparamètres d'une particule.

### 2.2.6 MGD proposé

Le MGD est obtenu en suivant le processus décrit dans la Figure 2.6. Les variables conjointes ($l_{i,j}$) des inter-modules sont obtenues à partir des longueurs fournies par les
<figure><img src="image_21.png" /><figcaption>FIGURE 2.6 – Carte géométrique directe proposée du Manipulateur Continuum en utilisant l’apprentissage profond (AP).</figcaption></figure>

capteurs de longueur de chaque tube. Ces variables articulaires sont appliquées aux poids du modèle DNN et permettent d’obtenir les positions et orientations des inter-modules $(\psi_j, \theta_j, \phi_j, l_j)$ avec $j = 1, ..., N_{ims}$, puis les MTHs $(\overset{j+1}{T}_j)$ de chaque inter-module. La composition ces MTHs conduit à la pose de l’effecteur comme suit [Ang 1987] :

$$ \left( \prod_{j=1}^{N_{im}} T_{j \cdot j}^{j+1} T \right) . T_{N_{im}+1} = \begin{pmatrix} r_{11}^f & r_{12}^f & r_{13}^f & X_f \\ r_{21}^f & r_{22}^f & r_{23}^f & Y_f \\ r_{31}^f & r_{32}^f & r_{33}^f & Z_f \\ 0 & 0 & 0 & 1 \end{pmatrix} \quad \text{et} \quad \left\{ \begin{array}{ll} \Psi_f = \operatorname{atan2}(r_{32}^f, r_{33}^f) & \\ \Theta_f = \operatorname{atan2}\left(-r_{31}^f, \sqrt{(r_{11}^f)^2 + (r_{21}^f)^2}\right) & \\ \Phi_f = \operatorname{atan2}(r_{21}^f, r_{11}^f) & (2.12) \end{array} \right. $$

où $T_j$ est une transformation éventuelle représentant les modules inférieurs ou supérieurs.
## 2.3 Modèle Géométrique Inverse basé sur l'Apprentissage Non supervisé (MGIAN) des MCMs

Dans cette section, nous commencerons par présenter le MGD du MCM utilisé pour générer la base de données d'apprentissage. La suite est consacrée à la classification de l'espace de travail par l'algorithme GNG et à la classification de l'espace de configuration par l'utilisation de la Fonction de Voisinage. Enfin, la dérivation des Solutions Géométriques Inverses (SGIs) est présentée.

### 2.3.1 MGD des MCMs

Un MCM est un robot composé d'un manipulateur continuum monté sur une plate-forme mobile, comme le montre la Figure 2.7. Son processus de modélisation est résumé à la Figure 2.9. Le MGD du manipulateur continuum étant connu (2.12), il est question de développer celui de la plateforme mobile afin de déduire celui du MCM.

La plateforme mobile est supposée être holonome. L'architecture du robot et les repères associés sont représentés sur la Figure 2.8. $\mathbb{R}_0$, $\mathbb{R}_G$ et $\mathbb{R}_1$ désignent respectivement le repère absolu, le repère lié au centre géométrique de la plateforme mobile et le repère lié à la base de la première section du manipulateur continuum. Le MGD de la plateforme mobile peut être exprimé comme suit :

$$ {}_0^G T(X_G, Y_G, \alpha) = {}_0^G T \times {}_G^1 T = \begin{pmatrix} \cos \alpha & -\sin \alpha & 0 & a \cos \alpha + X_G \\ \sin \alpha & \cos \alpha & 0 & a \sin \alpha + Y_G \\ 0 & 0 & 1 & Z_G \\ 0 & 0 & 0 & 1 \end{pmatrix} \quad (2.13) $$

où ${}_0^G T$ représente la matrice de transformation homogène du repère $\mathbb{R}_G$ par rapport au repère absolu $\mathbb{R}_0$, et ${}_G^1 T$ la matrice de transformation homogène du repère $\mathbb{R}_1$ par rapport au repère $\mathbb{R}_G$. $X_G$, $Y_G$, et $Z_G$ représentent les coordonnées cartésiennes du point G par rapport au repère absolu $\mathbb{R}_0$. $\alpha$ désigne l'orientation de la plateforme mobile par rapport
<figure><img src="image_22.png" /></figure>

FIGURE 2.7 – Manipulateur Continuum Mobile. Le point G représente le centre géométrique de la plateforme mobile et le point $O_1$ est le centre du repère de la base de la première section $\mathcal{R}_1$.

au repère absolu $\mathcal{R}_0$ et $a$ est la distance entre les points $G$ et $O_1$ suivant l'axe $x_1$.

<figure><img src="image_23.png" /><figcaption>FIGURE 2.8 – Configuration planaire de la plateforme mobile.</figcaption></figure>

Le MGD du MCM est obtenu à partir des équations des MGDs de la plateforme mobile
(2.13) et du manipulateur continuum (2.12) comme suit :

$$ {}_0^{N+1}T(X_G, X_G, \alpha, l_{i,j}) = {}_0^1 T \cdot T_t \cdot \left( \prod_{j=1}^{N_{im}} T_{jj}^{j+1} \right) \cdot T_{N_{im}+1} \quad (2.14) $$

où $T_t$ est la MTH définissant l'inclinaison du manipulateur continuum sur la plate-forme mobile.

A partir de (2.14), la position $(X,Y,Z)$ de l'effecteur final, ainsi que son orientation $(\Psi,\Theta,\Phi)$ sont déterminées comme suit[Ang 1987] :

$$ {}_0^{N+1}T = \begin{pmatrix} r_{11} & r_{12} & r_{13} & X \\ r_{21} & r_{22} & r_{23} & Y \\ r_{31} & r_{32} & r_{33} & Z \\ 0 & 0 & 0 & 1 \end{pmatrix} \quad \text{et} \quad \left\{ \begin{array}{l} \Psi = \operatorname{atan2}(r_{32}, r_{33}) \\ \Theta = \operatorname{atan2}\left(-r_{31}, \pm\sqrt{(r_{11})^2 + (r_{21})^2}\right) \\ \Phi = \operatorname{atan2}(r_{21}, r_{11}) \end{array} \right. \quad (2.15) $$

avec $r_{ij}$ ($i = 1,2,3$ et $j = 1,2,3$) les composantes de la matrice de rotation de ${}_0^{N+1}T$. $\Psi$, $\Theta$, et $\Phi$ désignent respectivement les angles de roulis, tangage et lacet.

<figure><img src="image_24.png" /><figcaption>FIGURE 2.9 – Carte géométrique directe du MCM.</figcaption></figure>

### 2.3.2 Modèle géométrique inverse basé sur l'apprentissage non supervisé (MGIAN)

Cette sous-section se focalise sur le développement du MGIAN proposé (représenté à la Figure 2.10) afin de résoudre la GI du MCM tout en maintenant les SGIs multiples. De
plus, l'approche exploite la capacité d'une section du manipulateur continuum à atteindre
n'importe quel point situé au voisinage de son effecteur grâce à ses deux degrés de rotation
et son degré de translation. Par conséquent, pour une position donnée de l'effecteur, si
toutes les configurations qui conduisent à des positions de l'effecteur au voisinage de
la position donnée de l'effecteur sont regroupées, la dernière section du manipulateur
peut être utilisée pour réduire les erreurs cartésiennes restantes. Les configurations qui
conduisent l'effecteur au voisinage de la position de l'effecteur souhaitée sont obtenues en
effectuant le regroupement des espaces de travail et de configuration du robot. Ainsi, cette
sous-section commence par le regroupement dans l'espace de travail suivi du regroupement
dans l'espace de configuration. Elle se termine par le calcul des SGIs y compris celle des
positions désirées n'appartenant pas à l'espace de travail du MCM.

2.3.2.1 Regroupement de l'espace de travail

Le regroupement dans l'espace de travail consiste à effectuer une classification de
l'espace de travail du robot. Ce dernier est divisé en groupes contenant les configurations
qui conduisent quasiment à la même position de l'effecteur. La partie supérieure de la
Figure 2.10 illustre le principe. A partir d'une base de données $(u_k, v_k)$ ($k = 1, ..., N_b$, avec
$N_b$ la taille de la base de données) obtenue à l'aide du MGD du MCM, l'algorithme de
classification utilise les coordonnées du vecteur position $u_{k_p}$ (avec $u_k = [u_{k_p}, u_{k_o}]^T$ et $u_{k_o}$
le vecteur d'orientation) pour générer les centres des différents groupes (vecteur prototype
gagnant) $w_p$. Ces groupes sont associés à plusieurs points de l'espace de travail dont le
nombre de groupes ($N_{wgp}$) varie avec la position du groupe dans l'espace de travail et
l'algorithme de classification.

Plusieurs algorithmes de classifications abondent dans la littérature. Les algorithmes K-MEAN [Hartigan 1979, Wang 2012], KSOM [Kohonen 1990, Summers 1995], FC-MEAN [Bezdek 1984] et GNG [Fritzke 1995] ont retenu particulièrement notre attention. Tandis que les deux premiers ont été déjà appliqués dans divers domaines, les deux derniers bien que moins utilisés, ont une capacité à produire des centres qui préservent la topologie
<figure><img src="image_25.png" /><figcaption>FIGURE 2.10 – Schéma du MGIAN proposé.</figcaption></figure>

de la distribution des données d'entrées. Pour sélectionner l'algorithme d'apprentissage, une étude a été faite sur la classification d'une population non uniformément distribuée de 233 individus comme le montre la Figure 2.11 et une population uniformément distribuée de 1000 individus comme le montre la Figure 2.12. La variance inter-classe, l'erreur de quantification et la mesure C ont été utilisées comme critères d'évaluation de performance de chaque algorithme et les résultats sont présentés dans les Tableaux 2.2 et 2.3.

La variance inter-classe *Sddi* mesure la séparation entre les classes. Elle est élevée si
<figure><img src="image_26.png" /><figcaption>FIGURE 2.11 – Population uniformément distribuée (1000 individus pour 100 centres).</figcaption></figure>

la partition est bonne [Zhang 2006]. Sa valeur normalisée est évaluée par :

$$ Sddi = \frac{1}{\sum_{k_p=1}^{N_b} \left| u_{k_p} - \frac{1}{N_b} \sum_{k_p=1}^{N_b} u_{k_p} \right|^2} \sum_{p=1}^{N_{wp}} N_{wgp} \left\| w_p - \frac{1}{N_b} \sum_{k_p=1}^{N_b} u_{k_p} \right\|^2 \quad (2.16) $$
<figure><img src="image_27.png" /><figcaption>FIGURE 2.12 – Population non uniformément distribuée (233 individus pour 70 centres).</figcaption></figure>

avec $N_{wp}$ et $N_{wgp}$ représentent respectivement le nombre de groupes et le nombre d'échantillons de chaque groupe.
<table><caption>TABLEAU 2.2 – Performance des algorithmes de classification sur une population uniformément distribuée. (1000 individus pour 100 centres).</caption><thead><tr><th></th><th>FC-MEAN</th><th>GNG</th><th>K-MEAN</th><th>KSOM</th></tr></thead><tbody><tr><th>Variance interclasse</th><td>0,9130</td><td>0,9210</td><td>0,9210</td><td>0,9191</td></tr><tr><th>Érreur de quantification</th><td>1,7723e-3</td><td>1,2607e-3</td><td>1,2784e-3</td><td>1,3277e-3</td></tr><tr><th>Mesure-C</th><td>0,1285</td><td>0,1238</td><td>0,1256</td><td>0,1274</td></tr></tbody></table>

<table><caption>TABLEAU 2.3 – Performance des algorithmes de classification sur une population non-uniformément distribuée. (233 individus pour 70 centres).</caption><thead><tr><th></th><th>FC-MEAN</th><th>GNG</th><th>K-MEAN</th><th>KSOM</th></tr></thead><tbody><tr><th>Variance interclasse</th><td>0,9576</td><td>0,9635</td><td>0,9621</td><td>0,9500</td></tr><tr><th>Érreur de quantification</th><td>3.7192e-4</td><td>2,7433e-4</td><td>2,8378e-4</td><td>4.8827e-4</td></tr><tr><th>Mesure-C</th><td>0,0731</td><td>0,0698</td><td>0,0711</td><td>0,0762</td></tr></tbody></table>

L'erreur de quantification $QE$ est la distance euclidienne moyenne entre un échantillon de données et son unité de meilleure correspondance [Kolesnikov 2015]. Sa valeur est plus faible lorsque la distance entre chaque échantillon et l'unité de meilleure correspondance est petite et plus élevée dans le cas contraire. Elle est évaluée comme suit :

$$QE = \frac{1}{N_b} \sum_{p=1}^{N_{wp}} \sum_{j=1}^{N_{wgp}} \| u_{wp}^j - w_p \| \quad (2.17)$$

avec $u_{wp}^j$ le vecteur position du $j^{eme}$ échantillon du groupe ayant pour centre $w_p$.

La mesure-C combine un indice de continuité de la cartographie de l'ensemble de données à la grille cartographique avec une mesure de la précision de la carte dans la représentation de l'ensemble (l'erreur de quantification). Pour chaque échantillon $u_k$, la distance de $u_k$ au deuxième vecteur de référence le plus proche $w_{p2}$ passe d'abord par $u_k$ au vecteur de référence le plus proche $w_{p1}$, puis par le chemin le plus court à $w_{p2}$ à travers une série de vecteurs de référence. S'il y a une discontinuité dans la cartographie près de $u_k$ telle qu'une distance le long de la carte de l'unité $w_{p1}$ à $w_{p2}$ est en général
grande, alors que si les unités sont voisines la distance est plus petite. Ainsi, la valeur de la mesure est plus faible lorsque la topologie est préservée et plus élevée dans le cas contraire. La mesure-C peut être exprimée plus formellement comme suit : Soit $I_j(k_1)$ l'indice de l'unité $k_1$ sur un chemin le long de la grille de la carte de l'unité $I_j(0) = w_{p1}$ à $I_j(K_{p2,j}) = w_{p2}$. Pour que la fonction $I_j$ représente un chemin le long de la grille de la carte, les unités $I_j(k_1)$ et $I_j(k_1 + 1)$ doivent être voisines pour $k_1 = 0, \dots, K_{p2,j-1}$. En utilisant ces notations, la mesure C est de :

$$C = \frac{1}{N_b} \left[ \sum_{k_p=1}^{N_b} \| u_{k_p} - w_{p1} \| + \sum_{k_1=0}^{K_{p2,j-1}} \| I_j(k_1) - I_j(k_1+1) \| \right] \quad (2.18)$$

Au vu des résultats obtenus, nous constatons que l'algorithm e GNG a des meilleures performances pour les populations non uniformément distribuées que les autres algorithmes et des performances assez similaires au K-MEAN pour des populations uniformément distribuées.

Le GNG entraîne un graphe dynamique avec un nombre variable de neurones et de connexions. Cette architecture vise à ajouter des neurones du réseau précédent résultant de l'apprentissage en évaluant les paramètres d'apprentissage recueillis lors des étapes d'adaptation précédentes. La méthode d'apprentissage Hebbian compétitif est utilisée pour générer la topologie du réseau [Martinetz 1990]. Pour un vecteur de position donné $u_{k_p}$, seul le vecteur prototype gagnant $w_{p1}$ et ses voisins topologiques directs $w_r$ sont mis à jour, avec $p_1 \in F_{w_p}$ et $r \in Q_{w_p}$. $F_{w_p}$ et $Q_{w_p}$ représentent respectivement l'ensemble des vecteurs prototypes gagnants et l'ensemble des voisins topologiques directs qui sont connectés par une arête avec $w_p$. Ainsi, pour un ensemble $N_b$ d'unités où chaque unité $u_{k_p}$ est associé à un centre $w_p$, un ensemble $N_c$ de connexions (ou arêtes) entre des paires d'unités, et un nombre de vecteurs prototypes d'entrée obéissant à une fonction de densité de probabilité inconnue $P(\xi)$, l'algorithm e d'apprentissage du GNG est défini comme suit [Fritzke 1995] :

1. Initialiser un ensemble de deux unités $a_1$ et $a_2$ à des positions aléatoires $w_{a1}$ et $w_{a2}$
dans $\mathbb{R}^n$

2. Générer un vecteur prototype $\xi$ selon $P(\xi)$.

3. Trouver l'unité la plus proche $p_1$ et la deuxième unité la plus proche $p_2$.

4. Incrémenter l'âge de toutes les arêtes émanant de $p_1$.

5. Ajouter la distance carrée entre le vecteur prototype et l'unité la plus proche dans l'espace d'entrée à une variable compteur locale $\Delta\text{error}(p_1) = \|w_{p_1} - \xi\|^2$

6. Déplacer $p_1$ et ses voisins topologiques directs vers $\xi$ par fractions $\varepsilon_b$ et $\varepsilon_r$, respectivement, de la distance totale : $\Delta w_{p_1} = \varepsilon_b(\xi - w_{p_1})$ et $\Delta w_r = \varepsilon_r(\xi - w_r)$ pour tous les voisins directs $r$ de $p_1$.

7. Si $p_1$ et $p_2$ sont reliés par arête, mettre l'âge de cette arête à zéro; sinon, le créer.

8. Supprimer les arêtes dont l'âge est supérieur à $\alpha_{max}$. Si cela aboutit à des points n'ayant pas d'arêtes émanantes, supprimer-les également.

9. Si le nombre de vecteurs prototypes générés jusqu'à présent est un multiple entier d'un paramètre $\delta$, insérer une nouvelle unité comme suit :

— Déterminer l'unité $r_m$ avec l'erreur cumulée maximale.

— Insérer une nouvelle unité $r_n$ à mi-distance entre $r_m$ et son voisin $r_v$ avec la variable d'erreur la plus grande $w_{r_n} = 0,5(w_{r_m} - w_{r_v})$

— Insérer des arêtes reliant la nouvelle unité $r_n$ aux unités $r_m$ et $r_v$, et supprimer l'arête originale entre $r_m$ et $r_v$.

— Diminuer les variables d'erreur de $r_m$ et $r_v$ en les multipliant par une constante $\alpha_{out}$. Initialiser la variable d'erreur de $r_n$ par la nouvelle valeur de la variable d'erreur de $r_m$.

10. Diminuer toutes les variables d'erreur en les multipliant par une constante $d$.

11. Si un critère d'arrêt n'est pas encore rempli, passer à l'étape 2.
### 2.3.2.2 Regroupement de l'espace de configuration

La partie inférieure de la Figure 2.10 illustre le principe du regroupement dans l'espace de configuration. Ce dernier consiste à associer chaque point appartenant à un groupe valide son vecteur de configuration correspondant. La dernière étape consiste à éliminer dans chaque groupe les vecteurs de configurations quasi identiques. Cette opération est effectuée à l'aide d'une fonction de voisinage afin de préserver la propriété conservatrice des SGIs. Supposons que $N_{\omega_p}$ soit le nombre de vecteurs de l'espace de configuration $v_{\omega_p}^s$ ($s = 1, 2, ..., N_{\omega_p}$) associés au vecteur prototype gagnant $\omega_p$, comme illustré sur la Figure 2.10. Un seuil $K_v$ est défini pour permettre au prochain vecteur d'entrée $v_k$ de créer un nouveau vecteur de l'espace de configuration s'il n'est pas trop similaire à l'un des vecteurs existants ou de mettre à jour les vecteurs de l'espace de configuration existants dans le cas contraire.

$$ \|v_{w_p}^{\sigma} - v_k\| < K_v \qquad (2.19) $$

où $v_{w_p}^{\sigma}$ est le vecteur de l'espace de configuration gagnant et $\sigma$ est défini comme suit :

$$ \sigma = \arg \min_{s} \| v_{w_p}^s - v_k \|, \quad s = 1, 2, \dots, N_{w_p} \qquad (2.20) $$

La règle concurrentielle suivante est utilisée pour mettre à jour le vecteur de l'espace de configuration.

$$ v_{w_p}^s (t+1) = v_{w_p}^s (t) + \eta h_s \left( v_k - v_{w_p}^s (t) \right) \qquad (2.21) $$

où $h_s = \exp(-(\sigma - s)/2\tau_t^2)$ est une fonction de voisinage [Kumar 2010]. Cette dernière fournit des chemins continus et lisses dans l'espace de configuration pour un chemin continu donné dans l'espace de travail.

### 2.3.3 Calcul de la Solution Géométrique Inverse (SGI)

Le calcul des SGIs est la dernière étape de l'algorithme proposé. Comme le manipulateur continuum est un système hyper-redondant, nous avons naturellement un nombre
infini de SGIs. Cependant, en pratique, nous ne manipulons qu'un nombre fini de solutions (un nombre considérable), c'est pourquoi le nombre infini de SGIs a été réduit à un nombre fini dans le schéma d'apprentissage proposé. En outre, bien que le Problème Géométrique Inverse (PGI) conduise à plusieurs solutions, en pratique, c'est une seule solution qui est généralement utilisée ; d'où la résolution de la redondance. Les robots hyper-redondants sont intéressants lorsqu'une ou plusieurs tâches secondaires (évitements d'obstacles, des limites de joints et des singularités) doivent être exécutées. Cependant, on peut se demander l'intérêt d'avoir des solveurs géométriques inverses générant plusieurs SGIs si une seule doit être sélectionnée par la suite. L'intérêt d'avoir un solveur qui peut générer plusieurs SGIs réside dans l'efficacité de calcul. De plus, nous pouvons facilement passer d'un critère de résolution des redondances à un autre si la SGI sélectionnée n'est pas satisfaisante. D'autre part, comme les solveurs numériques ne fournissent qu'une seule SGI, nous aurons autant de tâches secondaires que de fonctions objectives. De plus, le calcul d'une nouvelle SGI nécessiterait la manipulation d'au moins deux fonctions objectives, la principale et celle associée à la tâche secondaire.

Le calcul des SGIs représente l'étape réalisée en temps réel, tandis que les étapes de regroupement sont réalisées hors ligne. La procédure de calcul des SGIs consiste d'abord, pour une pose donnée de l'effecteur, à trouver le groupe valide correspondant. Par conséquent, toutes les configurations de robot appartenant à ce regroupement sont des SGIs potentielles. La deuxième étape consiste à considérer toutes les SGIs (SGIs multiples) ou à en sélectionner une parmi elles (résolution de la redondance). Quelle que soit l'option adoptée, la dernière étape consiste à paramétrer les variables de la plateforme et les variables des (N − 1) premières sections du manipulateur continuum à partir de la solution potentielle sélectionnée et à modifier les paramètres de la dernière section. La dernière étape propose une stratégie pour calculer les SGIs d'un point n'appartenant pas à l'espace de travail circonscrit du MCM.

# 1. Résolution de la rédondance

La résolution de la redondance consiste à sélectionner une SGI particulière parmi
les SGIs potentielles. Il convient de noter que les critères d'optimisation définis ci-dessous ne constituent qu'une sélection d'une SGI parmi un ensemble discret de solutions.

— Variation minimale de la distance euclidienne du vecteur de l'espace de configuration

$$ \sigma = \arg \min_s \left\| v_{w_p}^s - v_c \right\| \qquad (2.22) $$

où $v_{w_p}^s$ sont les vecteurs de configuration des SGIs potentielles, et $v_c$ est la configuration actuelle du manipulateur continuum;

— Norme minimale du vecteur de l'espace de configuration

$$ \sigma = \arg \min_s \left\| v_{w_p}^s \right\| \qquad (2.23) $$

Il faut noter que, pour un point désiré donné sans contrainte d'orientation, toute SGI potentielle peut être sélectionnée pour atteindre la position désirée. Cependant, il est recommandé pour les points avec une contrainte d'orientation de sélectionner parmi les SGIs potentielles celles dont les orientations sont proches des orientations souhaitées. Étant donné qu'une seule section du manipulateur continuum est utilisée pour réduire les erreurs de positionnement et d'orientation, certaines configurations du robot sélectionnées ne satisferont pas aux contraintes d'orientation.

## 2. Algorithme de calcul des Solutions Géométriques Inverses (SGIs)

Après avoir sélectionné la SGI, les erreurs de pose restantes sont réduites en paramétrant d'abord les variables de la plateforme mobile et les variables des actionneurs des ($N-1$) premières sections issues la SGI sélectionnée, puis en utilisant la dernière section pour réduire ces erreurs.

Soit $N_0 U^s$ la MTH obtenue après le paramétrage des variables de la plateforme mobile et des variables des ($N-1$) premières sections, et $N_0^{+1} U^d$ la MTH construite à partir d'une pose désirée donnée (position et orientation). La MTH de la dernière section $N_0^{+1} U^e$ est calculée comme suit :
$$ {}_N^{N+1}U^e = {\binom{N}{1} U^s}^{-1} \times {}_0^{N+1}U^d \quad (2.24) $$

$$ \text{Soit } {}_N^{N+1}U^e = \begin{pmatrix} r_{11}^e & r_{12}^e & r_{13}^e & r_{14}^e \\ r_{21}^e & r_{22}^e & r_{23}^e & r_{24}^e \\ r_{31}^e & r_{32}^e & r_{33}^e & r_{34}^e \\ 0 & 0 & 0 & 1 \end{pmatrix}, \text{ avec } r_{ij}^e \ (i = 1, 2, 3 \text{ et } j = 1, 2, 3, 4) \text{ ses} $$

composantes. En utilisant l'ACC, les paramètres de l'espace de configuration de la dernière section ($\lambda_N^e, \vartheta_N^e, \varphi_N^e$) sont déduits comme suit :

$$ \left\{ \begin{array}{l} \vartheta_N^e = a \tan 2(r_{23}^e, r_{13}^e) \\ \\ \varphi_N^e = a \tan 2(\sqrt{(r_{13}^e)^2 + (r_{23}^e)^2}, r_{33}^e) \quad \text{if} \quad \varphi_N^e \neq 0^\circ \\ \\ \lambda_N^e = \sqrt{\frac{(r_{14}^e)^2 + (r_{24}^e)^2 + (r_{34}^e)^2}{2(1-\cos(\varphi_N^e))}} \end{array} \right. \quad (2.25) $$

Cependant, lorsqu'il y a pas de contrainte d'orientation sur la position désirée $P^d$, la position $P^e = [r_{14}^e; r_{24}^e; r_{34}^e]^T$ de la dernière section est calculée en fonction des matrices de rotation $R^c$ et de translation $P^c$ (issues de la MTH ${}_0^N U^s$) comme suit :

$$ P^e = (R^s)^{-1} (P^d - P^s) \quad (2.26) $$

Ainsi, les paramètres $\vartheta_N^e$, $\lambda_N^e$ et $\varphi_N^e$ sont calculés en utilisant l'ACC :

$$ \left\{ \begin{array}{l} \vartheta_N^e = a \tan 2(r_{24}^e, r_{14}^e) \\ \\ \lambda_N^e = \frac{(r_{14}^e)^2+(r_{24}^e)^2+(r_{34}^e)^2}{2r_{14}^e} \cos(\varphi_N^e) \quad \text{if} \quad \varphi_N^e \neq 0^\circ \\ \\ \varphi_N^e = a \tan 2(r_{34}^e \cos(\varphi_N^e), \lambda_N^e \cos(\varphi_N^e) - r_{14}^e) \end{array} \right. \quad (2.27) $$

A partir de l'équation (2.25) ou (2.27), les longueurs des actionneurs de la dernière section sont déduites comme suit :

$$ D_{N0} + d_{Nj} = (\lambda_N^e - R_N \cos \vartheta_{Nj}) \varphi_N^e \quad (2.28) $$

avec $\vartheta_{Nj} = 120^\circ \times j - 30^\circ - \vartheta_N$

Par ailleurs, pour les manipulateurs continuums de forme conique, les longueurs $D_{N0}^e+d_{Nj}^e$ sont déterminées comme le montre la Figure 2.13. En effet, l'architecture
DNN<sub>I</sub> permet d'obtenir les paramètres spatiaux des inter-modules de la dernière section ($\psi_j^e, \theta_j^e, \phi_j^e, l_j^e$ avec $j = 1, ..., N_{ims}$) en fonction des éléments $r_{13}^e, r_{23}^e, r_{33}^e, r_{14}^e, r_{24}^e$ et $r_{34}^e$. Les trois premiers éléments ne sont pas considérés en entrées du DNN lorsqu'il y a pas de contrainte sur l'orientation de l'effecteur. Ensuite, les EGIs sont utilisées pour obtenir les longueurs des joints des inter-modules de la dernière section ($l_{i,j}^e$ avec $i = 1, 2, 3$ et $j = 1, ..., N_{ims}$), en fonction de leurs paramètres spatiaux. Une somme des longueurs des joints prismatiques conduit aux longueurs des actionneurs $D_{N0}^e + d_{Nj}^e$. Notons que la base d'apprentissage du DNN<sub>I</sub> est issue de la MTH de la dernière section du robot, elle-même obtenue à partir du MGD de cette section.

<figure><img src="image_28.png" /><figcaption>FIGURE 2.13 – Carte géométrique inverse de la dernière section par l'approche hybride.</figcaption></figure>

### 3. Solution Géométrique Inverse (SGI) des poses souhaitées à distance

L'algorithme développé dans la section ci-dessus peut être appliqué pour des poses souhaitées données appartenant à l'espace de travail d'apprentissage $[X_d; Y_d; Z_d; \Psi_d; \Theta_d; \Phi_d]^T$. Cependant, pour les poses éloignées (en dehors de l'es-
pace de travail d'apprentissage du MCM), une pose virtuelle souhaitée à l'inté-
rieur de l'espace de travail du MCM d'apprentissage $[X_0; Y_0; Z_d; \Psi_d; \Theta_d; \Phi_d]^T$ est
définie, comme le montre la Figure 2.14. Cette dernière est obtenue par transla-
tion de la pose réelle souhaitée dans l'espace de travail d'apprentissage du MCM.
L'algorithme de calcul des SGIs proposé ci-dessus est alors appliqué pour la pose
virtuelle souhaitée définie. Les SGIs obtenues sont translatées le long du vecteur
$[X_d - X_0; Y_d - Y_0; 0]^T$ pour déduire les SGIs de la pose réelle donnée. Ainsi, si le
vecteur $[X_{G0}; Y_{G0}; \alpha_{G0}]^T$ représente la pose de la plateforme mobile de la pose vir-
tuelle définie, la pose de la plateforme mobile de la pose réelle souhaitée devient
$[X_{G0} + X_d - X_0; Y_{G0} + Y_d - Y_0; \alpha_{G0}]^T$. Notons que les variables du manipulateur
continuum restent invariantes au cours des différentes translations.

<figure><img src="image_29.png" /><figcaption>FIGURE 2.14 – Processus pour trouver des SGIs pour des poses souhaitées situées en dehors de l'espace de travail d'apprentissage du MCM.</figcaption></figure>
## 2.4 Conclusion

Dans ce chapitre, nous avons présenté les modèles géométriques direct et inverse proposés respectivement pour les manipulateurs continuums fixes et mobiles. Le chapitre a été divisé en deux parties, chacune représentant une contribution. Dans la première partie, une extension à un nombre important d'actionneurs du modèle géométrique direct du MCFC à 6 actionneurs a été présenté. Dans cette approche, l'architecture DNN utilisée nous a permis de rendre le modèle plus flexible et plus adapté pour les systèmes complexes fortement non-linéaires. Dans la seconde partie, le MGI des manipulateurs continuums mobiles est présenté. Il se différencie des approches existantes par le fait qu'il conserve la multiplicité des solutions et intègre les contraintes sur l'orientation de l'effecteur. Sa particularité est qu'il utilise une architecture d'apprentissage GNG qui garantit la préservation de la topologie de l'espace d'entrée. En outre, il utilise une méthode de résolution analytique ou une approche hybride (contrairement à la méthode du Jacobien couramment utilisée) pour réduire l'erreur cartésienne. Le chapitre suivant présente les résultats des simulations et expériences réalisées.
# CHAPITRE 3

# Résultats et discussions

Les résultats des simulations et des tests expérimentaux sont présentés dans ce chapitre. Après une introduction qui rappelle le contenu de chaque partie, la plateforme expérimentale est ensuite présentée. Les deux parties suivantes présentent la validation des modèles proposés. Le chapitre se termine par une conclusion où une appréciation générale est faite sur l'ensemble des résultats obtenus.

## 3.1 Introduction

Les résultats expérimentaux présentés dans ce chapitre ont été validés à l'aide d'un MCM appelé le Robotino XT. Ainsi, une description du Robotino XT et la méthode expérimentale de génération de la base de données de la partie fixe du robot sont respectivement présentées dans la deuxième section. Dans la section suivante, la validation du MGD proposé commence par la génération de la base des données du DNN suivi de la procédure d'apprentissage du réseau avec les paramètres optimum. De plus, les performances du DNN sont comparées avec celles d'une architecture peu profonde couramment utilisée appelée le MLP. Une évolution de la convergence du DNN en fonction du nombre de sections a été également évaluée. Ensuite, une évaluation de la performance du DNN sur le MGD proposé et une comparaison avec le MLP ont été effectuées. La section se termine par une analyse des résultats obtenus et une comparaison avec les méthodes existantes. Dans la quatrième section, la validation des résultats du MGIAN proposé s'est faite en effectuant de simulations et des expériences où les procédures d'apprentissage ont été décrites. Une comparaison du MGIAN proposé avec une méthode numérique basée sur
les multiplicateurs de Lagrange a été effectuée. Cette section se termine par une analyse
des performances obtenues.

3.2 Présentation du ROBOTINO XT

Cette section présente la description de la plateforme expérimentale et processus de génération de la base de données d'apprentissage.

3.2.1 Plateforme expérimentale

<figure><img src="image_30.png" /><figcaption>FIGURE 3.1 – Robotino XT [Escande 2011].</figcaption></figure>

Les modèles géométriques proposés sont validés à l'aide du Robotino XT représenté
sur la Figure 3.1. Ce robot est composé d'un assistant de manutention bionique compact
(CBHA) imitant la trompe de l'éléphant et d'une plateforme mobile appelée Robotino.
Cette dernière est holonome et peut tourner sur elle-même grâce à trois unités d'entraîne-
ment omnidirectionnelles indépendantes placées à un angle de 120° les unes par rapport
aux autres. Chaque unité d'entraînement est constituée d'un moteur à courant continu,
d'une boîte de vitesses à rapport 16 :1, d'une roue omnidirectionnelle, d'une courroie
dentée, et d'un capteur incrémental. Le capteur incrémental compare la vitesse réelle
du moteur à la vitesse souhaitée et ajuste la vitesse réelle en conséquence grâce à un
contrôleur PID. Le Robotino est équipé de neuf capteurs de distance infrarouges placés sur le châssis à une distance de 40° les uns des autres pour couvrir toute la zone autour du Robot et détecter la présence d'objets. Sur la partie avant du Robotino, un CBHA est fixé à la plateforme mobile. Le CBHA présenté à la Figure 3.2 est à la fois léger et économique, grâce à sa technologie de fabrication additive dans laquelle l'impression est réalisée à partir de polyamides. Le manipulateur est équipé de six actionneurs pneumatiques, dont trois contrôlent chaque section. Un contrôleur PID régule l'alimentation en pression de ces tubes. Il y a six potentiomètres à câble le long des tubes qui mesurent l'allongement et la compression des tubes pendant le fonctionnement du CBHA. Sur l'extrémité de la deuxième section est fixée une broche de poignet avec une pince souple. Bien que le manipulateur CBHA n'offre que 7 ddls, sa flexibilité inhérente lui confère un nombre pratiquement infini de degrés de liberté.

<figure><img src="image_31.png" /><figcaption>FIGURE 3.2 – Compact Bionic Handling Assistant (CBHA) [Lakhal 2016].</figcaption></figure>

### 3.2.2 Génération de la base de données du CBHA

La base de données du CBHA est utilisée pour valider les résultats expérimentaux des modèles géométriques proposés. La validation des résultats se fait en comparant les poses fournies par le modèle proposé avec celles obtenues à partir d'un système de capture de mouvement optitrack ([OptiTrack 2018]) sur l'ensemble de l'espace de travail du CBHA. En effet, le système optitrack composé de 4 caméras entourés chacune de plusieurs diodes émettant chacune un signal infrarouge continuellement. Le signal sera reflétée par les marqueurs placés sur le robot. Ainsi les caméras récupéreront le reflet de l'onde Infrarouge
<figure><img src="image_32.png" /><figcaption>FIGURE 3.3 – Système de capture de mouvement OptiTrack.</figcaption></figure>

ce qui permettra d'en déduire la position et l'orientation du marqueur et par conséquent les mouvements du robot. Les caméras sont branchées sur un ordinateur et le logiciel du système optotrack nous permet de visualiser les positions et orientations ces marqueurs. Ainsi, la configuration de l'expérience est représentée à la Figure 3.3. Le système de capture de mouvement peut suivre le mouvement d'un corps rigide avec une précision de ±0,1 mm. Les marqueurs réfléchissants fixés à l'effecteur du robot permettent d'évaluer le déplacement de l'effecteur dans l'espace de travail. L'exploration de l'espace de travail du CBHA est effectuée en fournissant une pression dans les six tubes de la CBHA. Les vecteurs de pression d'entrée sont obtenus en discrétisant la variable de pression avec un pas de 0,5 bar. Un vecteur d'entrée $[p_1, p_2, ..., p_6]$, avec $p_i \in [0.0, 0.5, 1.0, 1.5, 2.0]$ et $i = 1, 2, ..., 6$ est fourni aux tubes CBHA. Il en résulte une base de 15625 échantillons et un temps de fonctionnement du robot d'environ 13 heures. Il convient de noter que les échantillons sont enregistrés après un équilibre mécanique complet du robot qui prend environ 3 secondes. Ce délai est dû au système de régulation de la pression dans les différents tubes qui s'effectue tube par tube. Pour chaque vecteur de pression d'entrée, la pose de l'effecteur final du robot et les tensions correspondantes du fil-potentiomètre sont enregistrées. L'espace de travail généré est illustré à la Figure 3.4.
<figure><img src="image_33.png" /><figcaption>FIGURE 3.4 – Espace de travail du CBHA.</figcaption></figure>

## 3.3 Validation du Modèle Géométrique Direct proposé des Manipulateurs Continuums

Dans cette seconde partie, nous commençons par le principe de génération de la base de données pour le cas du CBHA suivi de la procédure de détermination des paramètres du DNN. Par la suite, une comparaison sur les résultats d'apprentissage est faite entre le DNN et le MLP. Une étude est également faite sur l'évolution de la convergence du DNN en fonction du nombre de sections du robot. Les résultats de l'approche hybride proposée sont ensuite comparés aux travaux de [Lakhal 2016]. Enfin, la section se termine par une analyse des résultats

### 3.3.1 Génération de la base de données

La constitution de la base de données est une étape essentielle de l'approche de modélisation géométrique directe proposée. Elle commence par une paramétrisation du CBHA (voir Tableau 3.1) conformément aux paramètres du manipulateur continuum décrit au paragraphe **2.1.1 Hypothèses de modélisation**.

Notez que la rotation de l'inter-module par rapport à l'angle de lacet ($\phi_j$) est presque
TABLEAU 3.1 – Paramètres du CBHA conformément aux paramètres du manipulateur continuum décrit au paragraphe **2.1.1 Hypothèses de modélisation**. N, K et $\phi_j$ sont respectivement le nombre de sections, le nombre de joints prismatiques de l'inter-module et l'angle de lacet de l'inter-module. $N_{im1}$ et $N_{im2}$ sont respectivement les nombres d'inter-modules des première et deuxième sections.

<table><thead><tr><th>N</th><th>N<sub>im1</sub></th><th>N<sub>im2</sub></th><th>K</th><th>φ<sub>j</sub></th></tr></thead><tbody><tr><td>2</td><td>8</td><td>8</td><td>3</td><td>0°</td></tr></tbody></table>

nulle; elle est ignorée. Ensuite, les variables des joints universels-prismatiques du CBHA sont exprimées selon les EGIs (2.13) comme suit :

$$l_{1,j} = sqrt(R_{j+1}^2 + R_j^2 + l_j^2 - 2R_{j+1}l_j \sin \theta_j - 2R_{j+1}R_j \cos \theta_j) \quad (3.1)$$

$$l_{2,j} = sqrt(R_{j+1}^2 + R_j^2 + l_j^2 - R_{j+1}l_j(\sqrt{3} \cos \theta_j \sin \psi_j - \sin \theta_j) - R_{j+1}R_j(\frac{1}{2} \cos \theta_j + \frac{3}{2} \cos \psi_j - \frac{\sqrt{3}}{2} \sin \theta_j \sin \psi_j)) \quad (3.2)$$

$$l_{3,j} = sqrt(R_{j+1}^2 + R_j^2 + l_j^2 + R_{j+1}l_j(\sqrt{3} \cos \theta_j \sin \psi_j + \sin \theta_j) - R_{j+1}R_j(\frac{1}{2} \cos \theta_j + \frac{3}{2} \cos \psi_j + \frac{\sqrt{3}}{2} \sin \theta_j \sin \psi_j)) \quad (3.3)$$

Enfin, l'algorithmes présenté à la Figure 2.5 est utilisé pour générer la base de données. Selon cet algorithme, les paramètres spatiaux de chaque inter-module sont initialisés dans leurs plages de valeurs limites présentées dans le Tableau 3.2. Ensuite, les EGIs sont calculées et les échantillons de paires d'entrée-sortie sont sauvegardés, à condition d'être inclus dans la plage des limites des longueurs des inter-modules $l_{i,j}$ présentées dans le Tableau 3.3. Ainsi, à partir des équations (3.1), (3.2) et (3.3), une base de données de 32000 échantillons est générée.
<table><caption>TABLEAU 3.2 – Limites des paramètres spatiaux des inter-modules.</caption><thead><tr><th>Valeurs</th><th>l<sub>j</sub></th><th>ψ<sub>j</sub></th><th>θ<sub>j</sub></th></tr></thead><tbody><tr><td>min</td><td>10mm</td><td>-30°</td><td>-30°</td></tr><tr><td>max</td><td>13mm</td><td>30°</td><td>30°</td></tr></tbody></table>

<table><caption>TABLEAU 3.3 – Limites des longueurs des inter-modules en (mm).</caption><thead><tr><th>j</th><th>1</th><th>2</th><th>3</th><th>4</th><th>5</th><th>6</th><th>7</th><th>8</th></tr></thead><tbody><tr><td>l<sup>min</sup><sub>i,j</sub></td><td>8,5</td><td>8,5</td><td>8,5</td><td>7</td><td>7</td><td>7</td><td>8,5</td><td>10</td></tr><tr><td>l<sup>max</sup><sub>i,j</sub></td><td>19,5</td><td>19,5</td><td>19,5</td><td>16,5</td><td>16,5</td><td>16,5</td><td>20</td><td>22</td></tr><tr><td>j</td><td>9</td><td>10</td><td>11</td><td>12</td><td>13</td><td>14</td><td>15</td><td>16</td></tr><tr><td>l<sup>min</sup><sub>i,j</sub></td><td>6,5</td><td>8</td><td>8</td><td>7,5</td><td>7,5</td><td>7</td><td>7</td><td>6,5</td></tr><tr><td>l<sup>max</sup><sub>i,j</sub></td><td>16</td><td>20,5</td><td>20,5</td><td>19</td><td>19</td><td>18</td><td>18</td><td>16</td></tr></tbody></table>

### 3.3.2 Optimisation des architectures DNN et Résultats d'apprentissage

L'algorithme de l'Essaim des Particules est utilisé pour optimiser l'architecture DNN. Les hyperparamètres à savoir le nombre de neurones par couche cachée, la fonction d'activation, la vitesse d'apprentissage et le nombre d'itérations sont principalement optimisés. Le Tableau 3.4 liste la plage de variation des différents hyperparamètres. La deuxième colonne de ce Tableau représente les valeurs limites des différents hyperparamètres, tandis que la troisième colonne donne les valeurs limites des différentes vitesses de chaque hyperparamètre. La simulation est effectuée dans le logiciel Matlab en utilisant le processueur Intel(R) Core(TM) i7-7500U à 2,70 GHz et 2,90 GHz. Les fonctions d'activation tangente hyperbolique (tanh), sigmoïde (sigm), arctangente (atan) et la fonction linéaire (uniquement pour la couche de sortie) sont considérées dans le processus d'optimisation. L'architecture du DNN est composée de 48 entrées et 48 sorties.

La base de données est divisée aléatoirement par le rapport 70 :15 :15 respectivement
<table><caption>TABLEAU 3.4 – Valeurs limites des hyperparamètres et des vitesses des hyperparamètres utilisées dans l’algorithme d’optimisation. La Fonction d’activation peut être une sigmoïde, une tangente hyperbolique, une arctangente ou une fonction linéaire.</caption><thead><tr><th>Hyperparamètres</th><th>Valeurs</th><th>Valeurs des vitesses</th></tr></thead><tbody><tr><td>Neurones</td><td>[10; 500]</td><td>[-20; 20]</td></tr><tr><td>Nombre d'itérations</td><td>[100; 1000]</td><td>[-100; 100]</td></tr><tr><td>Vitesse de pré-apprentissage</td><td>[0, 005; 0, 04]</td><td>[-0, 01; 0, 01]</td></tr><tr><td>Vitesse d'apprentissage et d'ajustement</td><td>[0, 2; 0, 8]</td><td>[-0, 1; 0, 1]</td></tr><tr><td>Fonction d'activation</td><td>/</td><td>[-0, 5; 0, 5]</td></tr></tbody></table>

pour les ensembles d'apprentissage, de validation et de test. Pour garantir une convergence générale correcte des modèles (MLP et DNN) et éviter un ajustement excessif, la méthode d'arrêt précoce est appliquée pour l'apprentissage. La méthode exige qu'après quelques itérations utilisant l'ensemble d'apprentissage, les matrices de poids du modèle MLP ou DNN soient fixées, et sont exploitées en mode direct pour l'ensemble de validation. Le processus est répété jusqu'à ce que l'Érreur Quadratique Moyenne (EQM) sur l'ensemble de validation atteigne sa valeur minimale. L'apprentissage est arrêté lorsque le critère d'arrêt est rempli ou lorsque le nombre maximum d'itérations est atteint.

### 3.3.2.1 DNN : Résultats du Pré-apprentissage et de l'ajustement des poids

Le Tableau 3.5 présente les hyperparamètres optimisés obtenus lors du pré-apprentissage à l'aide de l'algorithme des Auto-encodeurs. Nous observons que le nombre de neurones dans les différentes couches est inférieur à 300, et que la fonction sigmoïde est sélectionnée comme la meilleure fonction d'activation pour toutes les couches cachées. L'EQM sur l'ensemble de test est d'environ $10^{-5}$.

Les performances obtenues pour chaque modèle de réseau neuronal profond après le processus d'ajustement des poids sont indiquées dans le Tableau 3.6. Nous remarquons que si la fonction d'activation sigmoïde a été sélectionnée pour les couches cachées, la fonction
<table><caption>TABLEAU 3.5 – Résultats du pré-apprentissage pour chaque couche cachée (quatre couches cachées) en utilisant l’algorithme des Auto-encodeurs. $N_n$, $N_{it}$, FACC, et $\eta_{af}$ sont respectivement le nombre de neurones par couche cachée, le nombre d’itérations, la fonction d’activation pour les couches cachées et la vitesse d’apprentissage.</caption><thead><tr><th colspan="5">Caractéristiques</th><th colspan="3">EQM (Erreur quadratique Moyenne)</th></tr><tr><th>Couche</th><th>N<sub>n</sub></th><th>N<sub>it</sub></th><th>FACC</th><th>η<sub>ap</sub></th><th>Apprentissage</th><th>Validation</th><th>Test</th></tr></thead><tbody><tr><td>1<sup>st</sup></td><td>256</td><td>446</td><td>sigm</td><td>0,028</td><td>2,3879 × 10<sup>-5</sup></td><td>2,5295 × 10<sup>-5</sup></td><td>2,5529 × 10<sup>-5</sup></td></tr><tr><td>2<sup>nd</sup></td><td>234</td><td>371</td><td>sigm</td><td>0,037</td><td>2,6820 × 10<sup>-6</sup></td><td>2,9724 × 10<sup>-6</sup></td><td>3,0033 × 10<sup>-6</sup></td></tr><tr><td>3<sup>rd</sup></td><td>246</td><td>404</td><td>sigm</td><td>0,021</td><td>3,5694 × 10<sup>-6</sup></td><td>3,8727 × 10<sup>-6</sup></td><td>3,9399 × 10<sup>-6</sup></td></tr><tr><td>4<sup>rd</sup></td><td>275</td><td>424</td><td>sigm</td><td>0,015</td><td>2,9495 × 10<sup>-6</sup></td><td>3,2275 × 10<sup>-6</sup></td><td>3,2547 × 10<sup>-6</sup></td></tr></tbody></table>

d'activation linéaire est sélectionnée par l'algorithme d'optimisation pour la couche de sortie. Nous remarquons également qu'un DNN obtient les meilleures performances en utilisant 3 couches cachées avec 256, 234 et 246 respectivement dans les première, deuxième et troisième couches cachées.

<table><caption>TABLEAU 3.6 – Résultats d'ajustement des poids du réseau DNN : $N_{hl}$, $N_{tt}$, FACS, et $\eta_{af}$ sont respectivement le nombre de couches cachées, le nombre d'itérations pour chaque réseau, la fonction d'activation de la couche de sortie et la vitesse d'apprentissage.</caption><thead><tr><th colspan="4">Caractéristiques</th><th colspan="3">EQM (Erreur Quadratique Moyenne)</th></tr><tr><th>N<sub>hl</sub></th><th>N<sub>tt</sub></th><th>FACS</th><th>η<sub>af</sub></th><th>Apprentissage</th><th>Validation</th><th>Test</th></tr></thead><tbody><tr><td>1</td><td>471</td><td>linéaire</td><td>0,449</td><td>8,7650 × 10<sup>-5</sup></td><td>8,8667 × 10<sup>-5</sup></td><td>8,6362 × 10<sup>-5</sup></td></tr><tr><td>2</td><td>500</td><td>linéaire</td><td>0,673</td><td>1,3805 × 10<sup>-5</sup></td><td>1,3811 × 10<sup>-5</sup></td><td>1,4216 × 10<sup>-5</sup></td></tr><tr><td>3</td><td>402</td><td>linéaire</td><td>0,567</td><td>4,3031 × 10<sup>-6</sup></td><td>4,6016 × 10<sup>-6</sup></td><td>4,7089 × 10<sup>-6</sup></td></tr><tr><td>4</td><td>431</td><td>linéaire</td><td>0,271</td><td>7,3149 × 10<sup>-6</sup></td><td>7,3777 × 10<sup>-6</sup></td><td>7,5069 × 10<sup>-6</sup></td></tr></tbody></table>
### 3.3.2.2 Analyse des performances des architectures DNN et MLP

Afin de motiver le choix de l'architecture du DNN, l'OEP a également été appliqué à une architecture peu profonde composée d'une, deux, trois et quatre couches cachées. Les résultats obtenus sont donnés dans le Tableau 3.7. Comme pour l'architecture DNN, les fonctions sigmoïde et linéaire sont également sélectionnées comme fonctions d'activation respectivement pour les couches cachées et une couche de sortie. Cependant, la meilleure performance est obtenue par les réseaux peu profonds composés de deux couches cachées avec 93 et 83 neurones respectivement dans la première et la deuxième couche cachée. Une analyse des performances obtenues par les DNNs et les MLPs montre que les différentes architectures peuvent prédire avec précision les paramètres des inter-modules du robot CBHA. Cependant, le DNN a obtenu la meilleure EQM sur l'ensemble des données test malgré le nombre élevé de neurones dans les différentes couches cachées. Les performances des MLPs dans le cas de la modélisation CBHA sont acceptables, et la taille des architectures est meilleure que celle des DNNs. Bien que les réseaux peu profonds atteignent une performance acceptable pour un robot continuum à deux sections, celle-ci peut se détériorer lorsque le nombre de couches cachées augmente.

### 3.3.2.3 Évolution de l'architecture DNN en fonction du nombre de sections du manipulateur continuum

Cette sous-section étudie la complexité des modèles DNN avec une augmentation du nombre de sections (ou modules). Ainsi, l'algorithme OEP est mis en œuvre sur des manipulateurs continuums composés successivement d'une (8 inter-modules), de deux (16 inter-modules), de trois (24 inter-modules) et de quatre (32 inter-modules) sections. Le Tableau 3.8 donne les résultats obtenus. Les fonctions d'activation sigmoïde et linéaire ont été respectivement sélectionnées pour les couches cachées et la couche de sortie. Nous avons observé que la complexité de l'architecture du DNN augmente avec le nombre de sections. Le nombre de neurones dans les différentes couches cachées pour quatre sections est environ trois fois supérieur au nombre de neurones cachés pour une section. En outre,
<table><caption>TABLEAU 3.7 – Résultats d’apprentissage du MLP : $N_{hl}$, $N_n$, $N_{it}$ et $\eta_a$ sont respectivement le nombre de couches cachées, le nombre de neurones du réseau, le nombre d’itérations et la vitesse d’apprentissage. FACC et FACS sont respectivement les fonctions d’activation des couches cachées et de la couche de sortie.</caption><thead><tr><th></th><th>N<sub>hl</sub></th><th>1</th><th>2</th><th>3</th><th>4</th></tr></thead><tbody><tr><th rowspan="5">Caractéristiques</th><th>N<sub>n</sub></th><td>103</td><td>[93; 83]</td><td>[89; 107; 93]</td><td>[92; 106; 72; 85]</td></tr><tr><th>FACC</th><td>sigm</td><td>[sigm; sigm]</td><td>[sigm; sigm; sigm]</td><td>[sigm; sigm; sigm; sigm]</td></tr><tr><th>FACS</th><td>linéaire</td><td>linéaire</td><td>linéaire</td><td>linéaire</td></tr><tr><th>N<sub>tt</sub></th><td>356</td><td>429</td><td>488</td><td>322</td></tr><tr><th>η<sub>a</sub></th><td>0,307</td><td>0,313</td><td>0,366</td><td>0,313</td></tr><tr><th rowspan="3">EQM</th><th>Apprentissage</th><td>4,5797 × 10<sup>-4</sup></td><td>4,6266 × 10<sup>-5</sup></td><td>4,6995 × 10<sup>-5</sup></td><td>5,8980 × 10<sup>-5</sup></td></tr><tr><th>Validation</th><td>4,5566 × 10<sup>-4</sup></td><td>4,7404 × 10<sup>-5</sup></td><td>4,6028 × 10<sup>-5</sup></td><td>5,9529 × 10<sup>-5</sup></td></tr><tr><th>Test</th><td>4,6222 × 10<sup>-4</sup></td><td>4,5797 × 10<sup>-5</sup></td><td>4,6141 × 10<sup>-5</sup></td><td>5,8456 × 10<sup>-5</sup></td></tr></tbody></table>

l'EQM diminue avec l'augmentation du nombre de sections.

### 3.3.3 Validation du MGD proposé

Le MGD proposé est validé à l'aide du schéma expérimental présenté à la Figure 3.5. En effet, en fonction des consignes de pressions $p_{ij}$ qui vont de 0 à 2 bars avec un pas de discrétisation de 0.5 bar (Voir Paragraphe 3.2.2 Génération de la base de données du CBHA), le contrôleur interne de pression PID va générer des tensions pour que les distributeurs alimentent les actionneurs pneumatiques en pression. Les tensions obtenues par les fil-potentiomètres placés sur chaque tube sont ensuite transformées en longueurs à l'aide
<table><caption>TABLEAU 3.8 – Caractéristiques de l'architecture DNN pour 1, 2, 3 et 4 sections avec 3 couches cachées. N est le nombre de sections et $N_{im}$ est le nombre d'inter-modules. $N_{it}$ et $N_{tt}$ sont respectivement les nombres d'itérations pour le pré-apprentissage et pour l'affinement des poids. $\eta_{ap}$ et $\eta_{af}$ sont respectivement les vitesses d'apprentissage du pré-apprentissage et de l'ajustement des poids.</caption><thead><tr><th></th><th>N</th><th>1</th><th>2</th><th>3</th><th>4</th></tr></thead><tbody><tr><td rowspan="6">Caractéristiques</td><td>N<sub>im</sub></td><td>8</td><td>16</td><td>24</td><td>32</td></tr><tr><td>N<sub>n</sub></td><td>[127; 120; 153]</td><td>[256; 234; 246]</td><td>[290; 304; 293]</td><td>[406; 397; 380]</td></tr><tr><td>N<sub>it</sub></td><td>[808; 610; 786]</td><td>[446; 371; 404]</td><td>[300; 297; 333]</td><td>[361; 390; 218]</td></tr><tr><td>FACC</td><td>[sigm; sigm; sigm]</td><td>[sigm; sigm; sigm]</td><td>[sigm; sigm; sigm]</td><td>[sigm; sigm; sigm]</td></tr><tr><td>η<sub>ap</sub></td><td>[0.034; 0.029; 0.035]</td><td>[0.028; 0.037; 0.021]</td><td>[0.009; 0.013; 0.029]</td><td>[0.022; 0.036; 0.017]</td></tr><tr><td>N<sub>tt</sub></td><td>464</td><td>402</td><td>471</td><td>475</td></tr><tr><td rowspan="4">EQM</td><td>FACS</td><td>linéaire</td><td>linéaire</td><td>linéaire</td><td>linéaire</td></tr><tr><td>η<sub>af</sub></td><td>0,643</td><td>0,567</td><td>0,636</td><td>0,337</td></tr><tr><td>Apprentissage</td><td>1,8850 × 10<sup>-6</sup></td><td>4,3031 × 10<sup>-6</sup></td><td>8,9648 × 10<sup>-6</sup></td><td>3,1650 × 10<sup>-5</sup></td></tr><tr><td>Validation</td><td>1,9277 × 10<sup>-6</sup></td><td>4,6016 × 10<sup>-6</sup></td><td>8,8015 × 10<sup>-6</sup></td><td>3,5377 × 10<sup>-5</sup></td></tr><tr><td></td><td>Test</td><td>2,0592 × 10<sup>-6</sup></td><td>4,7089 × 10<sup>-6</sup></td><td>8,9759 × 10<sup>-6</sup></td><td>3,6480 × 10<sup>-5</sup></td></tr></tbody></table>

d'une simple fonction de transformation linéaire [Escande 2014]. Ensuite, les longueurs de chaque inter-module sont dérivées des longueurs des tubes en utilisant les coefficients de proportionnalité présentés dans le Tableau 3.9. Ces coefficients sont obtenus empiriquement, après une série de quelques expériences sur le CBHA. Cette expérience consiste à
relever pour chaque pose différente de l'effecteur, les longueurs des tubes et les longueurs des inter-modules. Ensuite, on calcule le coefficient de proportionnalité uniquement entre les longueurs des tubes et les longueurs des inter-modules qui sont liés. Les longueurs des inter-modules sont transmises au MGD proposé pour estimer les positions et orientations de l'effecteur (Pose estimée). Ces derniers sont comparées avec la pose réelle ou souhaitée fournie par le système de capture de mouvement Optitrack [OptiTrack 2018] représenté à la Figure 3.3.

<figure><img src="image_34.png" /><figcaption>FIGURE 3.5 – Schéma expérimental pour valider le MGD proposé.</figcaption></figure>

<table><caption>TABLEAU 3.9 – Coefficient de proportionnalité permettant d'obtenir les longueurs des inter-modules en fonction des longueurs des tubes. *j* est le numéro de l'inter-module.</caption><thead><tr><th>j</th><th>1</th><th>2</th><th>3</th><th>4</th><th>5</th><th>6</th><th>7</th><th>8</th></tr></thead><tbody><tr><th>Coefficient de proportionnalité</th><td>0,13</td><td>0,13</td><td>0,13</td><td>0,11</td><td>0,11</td><td>0,11</td><td>0,13</td><td>0,15</td></tr><tr><th>j</th><td>9</td><td>10</td><td>11</td><td>12</td><td>13</td><td>14</td><td>15</td><td>16</td></tr><tr><th>Coefficient de proportionnalité</th><td>0,11</td><td>0,14</td><td>0,14</td><td>0,13</td><td>0,13</td><td>0,12</td><td>0,12</td><td>0,11</td></tr></tbody></table>

L'évaluation de la performance du MGD se fait en calculant l'erreur euclidienne, qui
représente la différence entre la valeur estimée et la valeur souhaitée. Ensuite, les outils statistiques les plus fréquemment utilisés pour l'analyse des données tels que la valeur maximale, la valeur moyenne et la variance sont appliquées à ces erreurs euclidiennes. Ainsi, après avoir représenté les résultats de l'erreur euclidienne sous la forme d'un histogramme, comme le montrent les Figures 3.6 et 3.7, les outils statiques suscités de ces erreurs pour chaque paramètre de l'espace de travail sont présentés dans le Tableau 3.10. Nous notons que les erreurs de position et d'orientation ne dépassent pas ±5mm et ±7° pour le DNN, ±8mm et ±12° pour un MLP par section, et ±8.5mm et ±13° pour un MLP pour les deux sections. De plus, les performances satisfaisantes sont notées avec les valeurs absolues moyennes des erreurs de position et d'orientation inférieures à 1 mm et 1° pour le DNN, 3,5 mm et 2° pour un MLP par section ([Lakhal 2016], et 4 mm et 1.5° pour un MLP pour deux sections. Par ailleurs, la variance montre une bonne convergence générale pour les DNNs et les MLPs (Lakhal et al. [Lakhal 2016]) avec des valeurs de variance respectivement inférieures à 0,6 et 2. Cependant, la convergence générale est peu performante pour l'architecture MLP (un MLP pour les deux sections), notamment pour l'orientation où la variance est d'environ 7.

### 3.3.4 Analyse des résultats

D'après les résultats obtenus (Tableaux 3.10, 3.7, et 3.8), le réseau MLP a une meilleure convergence avec deux couches cachées et perd la convergence avec l'augmentation du nombre de couches cachées. De plus, le réseau MLP montre une imprécision pour les manipulateurs continuums avec un nombre élevé de sections. En revanche, nous observons que les DNNs donnent une meilleure performance quelque soit le nombre de couches cachées et montrent leur capacité à approximer les paramètres de l'espace de travail des inter-modules. Les performances presque similaires sont également obtenues lorsque le nombre d'inter-modules augmente. De plus, les DNNs à trois couches cachées ont conduit aux meilleures performances. Cependant, le nombre de neurones varie considérablement lorsque le nombre de sections augmente, et le réseau perd progressivement en précision.
<table><caption>TABLEAU 3.10 – Valeur maximale, valeur moyenne et variance de l’erreur euclidienne des paramètres de l’espace de travail (Position en (mm) et orientation en (°)) générés par le MGD basé sur le DNN, le MLP et le MLP développé dans [Lakhal 2016].</caption><thead><tr><th>Networks</th><th>Outils statistiques</th><th>X</th><th>Y</th><th>Z</th><th>θ</th><th>φ</th><th>ψ</th></tr></thead><tbody><tr><td rowspan="3">MLP<br>[Lakhal 2016]</td><td>Valeur maximale</td><td>±6,889</td><td>±5,833</td><td>±7,802</td><td>±10,148</td><td>±2,245</td><td>±11,456</td></tr><tr><td>Valeur moyenne</td><td>-2,142</td><td>0,298</td><td>-3,158</td><td>-1,541</td><td>-0,303</td><td>-1,729</td></tr><tr><td>Variance</td><td>1,859</td><td>1,990</td><td>1,014</td><td>1,423</td><td>0,193</td><td>2,081</td></tr><tr><td rowspan="3">MLP</td><td>Valeur maximale</td><td>±8,149</td><td>±7,432</td><td>±8,164</td><td>±12,977</td><td>±3,484</td><td>±12,514</td></tr><tr><td>Valeur moyenne</td><td>-2,601</td><td>1,837</td><td>-3,923</td><td>1,074</td><td>-0,252</td><td>-1,327</td></tr><tr><td>Variance</td><td>1,781</td><td>1,287</td><td>2,107</td><td>6,724</td><td>0,467</td><td>7,954</td></tr><tr><td rowspan="3">DNN</td><td>Valeur maximale</td><td>±3,991</td><td>±6,989</td><td>±4,328</td><td>±5,652</td><td>±1,216</td><td>±6,419</td></tr><tr><td>Valeur moyenne</td><td>-0,765</td><td>0,186</td><td>-0,710</td><td>-0,231</td><td>0,189</td><td>0,686</td></tr><tr><td>Variance</td><td>0,307</td><td>0,449</td><td>0,598</td><td>0,556</td><td>0,050</td><td>0,447</td></tr></tbody></table>

En résumé, sur la base des résultats obtenus et des résultats de la littérature présentés dans le Tableau 3.11, nous pouvons noter que l'approche basée sur les modèles physiques [Escande 2014] conduit à des MGDs moins précis en raison principalement de nombreuses hypothèses de modélisation, telles que la courbure constante et les déformations toroïdales. L'approche basée sur l'apprentissage [Melingui 2014c, Loutfi 2020] apparaît comme l'approche la plus précise car elle est exempte d'hypothèses. Elle établit directement la relation entre l'espace cartésien et l'espace d'actionnement par le biais d'un ensemble de fonctions non linéaires. Cependant, il est généralement difficile de dériver des lois de contrôle bien structurées basées sur des modèles d'apprentissage. En outre, plus le nombre de degrés de libertés du manipulateur augmente, plus la construction de la base de données d'apprentissage devient difficile. L'approche hybride par réseaux de neurones profond proposée, qui combine les avantages des approches basées sur le modèle et sur l'apprentissage, donne des performances acceptables. La construction de la base de données est relativement facile car elle ne nécessite pas de longues périodes d'exploitation du robot.
<figure><img src="image_35.png" /><figcaption>FIGURE 3.6 – Comparaison entre les architectures MLP([Lakhal 2016]), MLP et DNN sur la position de l'effecteur.</figcaption></figure>

## 3.4 Validation du Modèle Géométrique Inverse proposé des Manipulateurs Continuels Mobiles

Cette section est divisée en trois parties. Les deux premières parties présentent l'implé-
mentation de l'algorithme proposé en simulation et en expérience. La section se termine
<figure><img src="image_36.png" /><figcaption>FIGURE 3.7 – Comparaison entre les architectures MLP([Lakhal 2016]), MLP et DNN sur l'orientation de l'effecteur.</figcaption></figure>

par une analyse des résultats obtenus dans les deux premières parties.

3.4.1 Résultats des simulations

Cette sous-section se concentre sur la validation du MGIAN proposé via des simula-
tions. Dans un premier temps, l'influence du pas de discrétisation de l'espace de configu-
<table><caption>TABLEAU 3.11 – Contributions récentes sur le MGD du CBHA.</caption><thead><tr><th>Méthode de modélisation</th><th>Érreur maximale absolue</th><th>Validation</th></tr></thead><tbody><tr><td>Approche basée sur les modèles : ACC [Escande 2014]</td><td>Position : 8 mm, Orientation : 23°</td><td>Simulation et expérience</td></tr><tr><td>Approche basée sur l'apprentissage : MLP [Melingui 2014c]</td><td>Position : 4 mm</td><td>Expérience</td></tr><tr><td>Approche basée sur l'apprentissage : SVR [Loutfi 2020, Loutfi 2022]</td><td>Position : 3 mm, Orientation : 6°</td><td>Expérience</td></tr><tr><td>Approche Hybride : Courbure variable et MLP [Lakhal 2016]</td><td>Position : 8 mm</td><td>Expérience</td></tr><tr><td>Approche Hybride : Courbure variable et DNN (approche proposée) [Boutchouang 2021]</td><td>Position : 5 mm, Orientation : 7°</td><td>Expérience</td></tr></tbody></table>

ration sur la précision des SGIs est étudiée. Ensuite, une série de simulations effectuées sur un MCM virtuel est présentée, où une comparaison entre la méthode proposée et une méthode numérique est effectuée.

### 3.4.1.1 Influence du pas de discrétisation de l'espace de configuration sur la précision de la SGI

Une des étapes crucales de l'algorithmé proposé est la discrétisation de l'espace de configuration. Le pas de discrétisation influence aussi bien le nombre de SGIs que leur pré-
cision. Pour illustrer cet aspect, on étudie d'abord l'influence de l'inter-distance maximale $d_{max}$) entre les points d'un même groupe sur la précision des SGIs. Ensuite, étant donné que cette distance est gouvernée par la taille du pas dans l'espace de configuration, une taille de pas minimale peut être suggérée. Le Tableau 3.12 présente les résultats obtenus en utilisant différentes tailles de pas. Ces résultats sont obtenus sur un MCM qui suit plusieurs trajectoires présentées au paragraphe 3.4.1.2. Simulations sur un MCM virtuel à deux sections. Le MCM est composé d'une plate-forme mobile omnidirectionnelle de 185 mm de rayon et d'un manipulateur continuum à deux sections. Les deux sections du manipulateur continuum sont supposées être mécaniquement identiques. Les dimensions de l'espace de configuration et de l'espace de travail sont respectivement $R^9$ et $R^6$. Les trois premières coordonnées ($X_G, Y_G, \alpha$) du vecteur de l'espace de configuration représentent la pose de la plateforme mobile, et les six dernières ($D_{i0} + d_{ij}$, avec $i = 1, 2$ et $j = 1, 2, 3$) constituent les longueurs des actionneurs du manipulateur continuum. Une analyse de ces résultats montre que les pas -200 : 100 : 200, -180 : 60 : 180, et 125 : 25 : 215 respectivement pour les distances ($X_G$ et $Y_G$), l'angle $\alpha$, et les longueurs d'actionneur $D_{i0} + d_{ij}$ donnent des performances satisfaisantes et sont donc adoptés pour valider le MGIAN proposé. Nous notons une inter-distance maximale de 11,60 mm et une erreur euclidienne maximale de position de 1,90 mm et d'orientation de 2,91°. Nous notons également que cette erreur diminue lorsque la taille du pas diminue. Cependant, comme la base de données augmente exponentiellement avec la taille du pas, un compromis entre le pas de discrétisation et la précision de la GI doit être trouvé à chaque fois.

### 3.4.1.2 Simulations sur un MCM virtuel à deux sections

Ce paragraphe présente les résultats de simulation obtenus en appliquant l'algorithme proposé sur un MCM virtuel à deux sections dont les caractéristiques sont présentées dans le paragraphe précédent (Paragraphe 3.4.1.2 Influence du pas de discrétisation de l'espace de configuration sur la précision de la SGI). L'approche proposée est comparée au Modèle Géométrique Inverse basé sur les Multiplicateurs de Lagrange (MGIML).
<table><caption>TABLEAU 3.12 – Influence du pas de discrétisation de l'espace de configuration sur la précision des SGIs : les distances sont en (mm) et angles en (°).</caption><thead><tr><th>X<sub>G</sub>, Y<sub>G</sub></th><th>α</th><th>D<sub>i0</sub> + d<sub>ij</sub></th><th>d<sub>max</sub></th><th>Érreur de position maximale</th><th>Érreur d'orientation maximale</th></tr></thead><tbody><tr><td>-200 :200 :200</td><td>-180 :90 :180</td><td>125 :50 :215</td><td>52,37</td><td>±18.29</td><td>±25.17</td></tr><tr><td>-200 :200 :200</td><td>-180 :60 :180</td><td>125 :25 :215</td><td>26,65</td><td>±6.67</td><td>±8.26</td></tr><tr><td>-200 :100 :200</td><td>-180 :60 :180</td><td>125 :25 :215</td><td>11,60</td><td>±1.90</td><td>±2.91</td></tr></tbody></table>

Ce choix est motivé par la capacité de la méthode numérique des multiplicateurs de La-grange à gérer de meilleures contraintes d'optimisation et les systèmes redondants. Les deux approches sont évaluées en termes de précision et de temps de calcul. Pour le MGIAN proposé, les pas de discrétisation conduisant à une erreur maximale de ±2,91 et le MGD du MCM virtuel à deux sections ont permis d'obtenir une base de données de 2734 375 échantillons.

Les données d'apprentissage sont normalisées entre 0,1 et 0,9 et sont ensuite utilisées pour la classification par l'algorithme GNG en modifiant tout au long de l'apprentissage le pas d'adaptation $\delta$, le taux d'apprentissage d'apprentissage du meilleur neurone $\varepsilon_b$, le taux d'apprentissage des neurones voisins $\varepsilon_r$ et le taux d'apprentissage de la sortie $\alpha_{out}$. L'âge maximal qu'une connexion peut atteindre $\alpha_{max}$ et le taux de décroissance $d$ sont maintenus constants pendant le processus d'apprentissage. Les plages suivantes [40 : 10 : 120], [0 : 0,002 : 0,01], [0,2 : 0,02 : 0,3], et [0,55 : 0,01 : 0,6] ont été utilisées respectivement pour $\delta$, $\varepsilon_n$, $\varepsilon_b$ et $\alpha_{out}$. La résolution et la préservation de la topologie des modèles GNG sont évaluées après chaque itération en utilisant la mesure-C [Kaski 1996] pour une bonne préservation de la topologie des modèles obtenus. L'apprentissage est arrêté lorsque le critère d'arrêt (une mesure-C fixe) est rempli, ou lorsqu'un maximum de 200 itérations est atteint. Les paramètres du GNG $\varepsilon_b = 0,26$, $\varepsilon_n = 0,003$, $\alpha = 0,57$, $\alpha_{max} = 50$, $d = 0,993$, et $\delta = 100$ ont permis d'obtenir des performances satisfaisantes. Les meilleures valeurs de la variance interclasse, de l'erreur de quantification et de la
mesure-C sont respectivement de 0,916; 0,0075 et 0,054. Le processus d'apprentissage est effectué sur le logiciel MATLAB en utilisant un Intel Core i7 – 7500U à 2,70 et 2,9 GHz. Le regroupement dans l'espace de travail a pris environ 314 heures. Un seuil de $K_v = 0,1$ a été utilisé pour créer ou mettre à jour les vecteurs de configuration et la phase de classification de l'espace de configuration a mis environ 25 minutes.

Les approches sont validées par trois simulations. La première simulation consiste à suivre une trajectoire sinusoïdale dans un environnement non contraint et avec aucune contrainte sur l'orientation de l'effecteur. La deuxième simulation est similaire à la première avec cette fois-ci, une contrainte sur l'orientation de l'effecteur. La dernière consiste à suivre une trajectoire linéaire dans un environnement contraint et avec contrainte sur l'orientation de l'effecteur.

Lors de la première simulation, un chemin de forme sinusoïdale et d'équation :

$$ egin{cases} x \in [-2000; 1000] \text{ mm} \\ y = 200 \\ z = 350 + 50\sin(-\omega x), \quad \omega = \pi/2000; \end{cases} \quad (3.4) $$

est considéré comme le chemin désiré. Les SGIs potentielles dont la position de l'effecteur est proche de la position désirée sont sélectionnées comme SGIs potentielles. Pour obtenir un mouvement régulier de la plateforme mobile, une contrainte supplémentaire $Y_G \ge 200\text{mm}$ lui est imposée. Les résultats de simulation obtenus sont représentés sur la Figure 3.8. Nous observons des erreurs cartésiennes restantes nulles pour la géométrie inverse des MCMs de forme cylindrique sans contrainte sur l'orientation de l'effecteur.

La deuxième simulation reprend l'expérience précédente avec une contrainte sur l'orientation de l'effecteur qui est de $[-10^\circ, 30^\circ, 10^\circ]^T$. Tout comme à la simulation 1, les SGIs potentielles dont la position de l'effecteur est proche de la position désirée ont été sélectionnées. Cependant, seules les SGIs potentielles dont l'orientation de l'effecteur est proche de l'orientation désirée sont maintenues. De plus, un mouvement régulier de la plateforme mobile est obtenu avec une contrainte supplémentaire $Y_G \ge 200\text{mm}$. Les résultats de simulation obtenus sont représentés sur la Figure 3.9. Nous observons quelques
<figure><img src="image_37.png" /><figcaption>FIGURE 3.8 – Simulation 1 : Suivi d'une trajectoire sinusoïdale sans contrainte sur l'orientation de l'effecteur et avec une contrainte de $Y_G \ge 200\text{mm}$ sur la position de la plateforme mobile.</figcaption></figure>

discontinuités sur les trajectoires réalisées par la plateforme mobile, causées en particulier par les contraintes d'orientation imposées à l'effecteur. Les erreurs de position et d'orientation euclidiennes associées sont données à la Figure 3.9. Nous pouvons observer que les deux algorithmes peuvent suivre une trajectoire d'onde sinusoïdale avec une bonne précision. Les erreurs de position euclidiennes pour MGIAN et MGIML sont respectivement d'environ $\pm 2\text{mm}$ et $\pm 5\text{mm}$, tandis que les erreurs d'orientation euclidiennes sont respectivement de $\pm 3^\circ$ et $\pm 6^\circ$.

La troisième simulation évalue les performances des algorithmes dans un environnement contraint. Les obstacles de forme circulaire sont insérés dans l'environnement de navigation. Leurs positions dans le plan (XY) ([2500; -400]$^T$ et [2500; 0]$^T$) et leurs tailles (Rayon :100mm et hauteur :50mm) sont connues. La trajectoire de l'effecteur souhaitée est exprimée comme suit :

$$ \left\{ \begin{array}{l} x \in [1800; 4000] \text{ mm} \\ y = -200 \\ z = 380 \end{array} \right. \qquad (3.5) $$

Afin d'obtenir un mouvement régulier de la plateforme mobile, des orientations de l'effecteur [-35°, -15°, -20°]$^T$ et [35°; -15°; 20°]$^T$ pour les positions respectives de la pla-
<figure><img src="image_38.png" /><figcaption>FIGURE 3.9 – Simulation 2 : Suivi d'une trajectoire sinusoïdale avec un vecteur d'orientation désirée [−10°; 30°; −10°]ᵀ et une contrainte de Y_G ≥ 200mm sur la position de la plateforme mobile.</figcaption></figure>

<figure><img src="image_39.png" /><figcaption>FIGURE 3.10 – Simulation 2 : Courbes d'erreurs de position et d'orientation.</figcaption></figure>

teforme mobile $Y_G < -300\text{mm}$ et $Y_G > -100\text{mm}$. Une distance de sécurité de $d_s = 15\text{mm}$ est également définie entre le robot et les obstacles environnants. Les SGIs potentielles
qui satisfont l'ensemble des contraintes sont sélectionnées comme SGIs. Les résultats de simulation obtenus sont donnés à la Figure 3.11. Les erreurs de position et d'orientation euclidienne associées sont indiquées à la Figure 3.12. Les performances obtenues sont proches de celles de la simulation précédente.

<figure><img src="image_40.png" /><figcaption>FIGURE 3.11 – Simulation 3 : Suivi d'un chemin linéaire avec évitement des obstacles et contraintes : $Y_G < -300\text{mm}$ pour $[-35°; -15°; -20°]^T$ et $Y_G > -100\text{mm}$ pour $[35°; -15°; 20°]^T$.</figcaption></figure>

Au vu des résultats obtenus, nous pouvons conclure que les deux algorithmes peuvent suivre le chemin souhaité avec des performances acceptables en simulation, même dans des environnements contraints. Cependant, le MGIAN proposé obtient les meilleures performances. Le Tableau 3.13 présente la comparaison des deux algorithmes en termes de précision et de temps de calcul. L'écart-type, l'erreur euclidienne maximale, l'erreur euclidienne moyenne et le temps ont été utilisés comme critères d'évaluation. Alors que la différence de précision n'est pas assez significative pour les deux méthodes, nous notons une différence importante dans les temps de calcul.

### 3.4.1.3 Simulation sur un MCM virtuel à 3 sections

En général, lorsqu'une méthode de calcul de la GI d'un robot est proposée, son efficacité est le plus souvent implémentée sur une trajectoire lisse (trajectoire horizontale) et une trajectoire variable (Cercle, sinusoïde ou ellipse). Cependant, les robots tels que les MCMs
<figure><img src="image_41.png" /><figcaption>FIGURE 3.12 – Simulation 3 : Courbes d'erreur de position et d'orientation.</figcaption></figure>

<table><caption>TABLEAU 3.13 – Comparaison entre l'approche proposée (MGIAN) et la méthode numérique (MGIML) : les positions sont en (mm), les orientations en (°) et le temps en secondes.</caption><thead><tr><th rowspan="2"></th><th rowspan="2"></th><th colspan="2">Simulation 2</th><th colspan="2">Simulation 3</th></tr><tr><th>MGIAN</th><th>MGIML</th><th>MGIAN</th><th>MGIML</th></tr></thead><tbody><tr><td rowspan="3">Position</td><td></td><td>±1,90</td><td>±5,778</td><td>±1,85</td><td>±5,84</td></tr><tr><td>Érreur moyenne</td><td>-0,56</td><td>-2,64</td><td>-0,127</td><td>2,21</td></tr><tr><td>Écart Type</td><td>1,03</td><td>2,09</td><td>1,06</td><td>1,85</td></tr><tr><td rowspan="3">Orientation</td><td>érr</td><td>±2,91</td><td>±5,59</td><td>±2,878</td><td>±6,66</td></tr><tr><td>Érreur moyenne</td><td>1,12</td><td>-1,90</td><td>-1,27</td><td>-3,38</td></tr><tr><td>Écart Type</td><td>1,67</td><td>2,28</td><td>1,72</td><td>1,97</td></tr><tr><td colspan="2">Temps</td><td>126</td><td>239</td><td>189</td><td>337</td></tr></tbody></table>
sont amenés à évoluer dans des environnements réels tels qu’un salon, afin d’aider par exemple une personne à mobilité réduite. Une scène presque similaire est présentée dans la Figure 3.13 où certaines configurations du MCM près des obstacles sont montrées dans la Figure 3.14. En effet, le MCM doit saisir la bouteille blanche placée sur la table grise pour la ranger dans le compartiment central de l’armoire grise en évitant les objets présents dans le salon. Pour réaliser une telle tâche, on suppose que la trajectoire de l’effecteur est connue. Le robot doit saisir la bouteille avec une orientation $EE [-90°; 0°; -90°]^T$ et doit la déposer avec une orientation $EE [-90°; 0°; -180°]^T$. Cependant, comme l’orientation initiale de l’EE est $[0°; 19,08°; -180°]^T$, elle est progressivement modifiée en orientation de saisie de la bouteille au fur et à mesure que le robot se rapproche du téléviseur, afin de permettre au robot d’avoir un mouvement souple. La même action est effectuée lorsque le robot s’approche de la fin de la trajectoire pour obtenir l’orientation de la pose de la bouteille tout en s’assurant que la bouteille n’est pas inclinée vers le bas. Pendant l’exécution de la tâche, une distance de sécurité de 60 mm a été définie entre le robot et les objets du salon. Notons que pour éliminer l’erreur de position et d’orientation dans cette simulation, nous avons combiné le MGIAN proposé au MGI du MCM à une seule section [Boutchouang 2023].

Pour exécuter une telle tâche, l'espace de configuration est discrétisé comme suit : $\alpha$ varie entre -180° à +180° avec un pas de 90° et les longueurs des actionneurs varient entre 150mm à 300mm avec un pas de 37,5mm. Le rayon du manipulateur continuum est de 50mm. Les valeurs de $X_G$ et $Y_G$ sont nulles. Ainsi, une base de données de 9765625 échantillons a été collectée en utilisant le MGD du MCM. Le processus d'apprentissage appliqué avec les paramètres de l'algorithme GNG des simulations précédentes et implémenté dans le logiciel MATLAB en utilisant un processeur Intel® Core i7-1195G7 at 16 GB DDR4-3200 SDRAM (2 x 8 GB) and 512 GB PCIe® NVMe M.2 SSD a pris 789 heures. La meilleure valeur obtenue de la mesure-C est de 0.042.
<figure><img src="image_42.png" /><figcaption>FIGURE 3.13 – Simulation 3 : Déplacement d'une bouteille posée sur la table grise vers l'armoire grise par un MCM à trois sections.</figcaption></figure>

<figure><img src="image_43.png" /><figcaption>FIGURE 3.14 – Simulation 3 : Configurations du MCM proche des obstacles.</figcaption></figure>

## 3.4.2 Expériences et résultats

Cette sous-section commence par la description des différentes phases d'apprentissage, suivie de la présentation des expériences réalisées et des résultats obtenus.
### 3.4.2.1 Génération de la base de données d'apprentissage du Robotino XT et regroupement

<figure><img src="image_44.png" /><figcaption>FIGURE 3.15 – Environnement expérimental pour valider le MGIAN proposé.</figcaption></figure>

L'environnement expérimental du RobotinoXT est présenté à la Figure 3.15. La base de données d'apprentissage est construite expérimentalement en utilisant le système de suivi de mouvement pour améliorer les performances obtenues. La base de données du CBHA est d'abord construite en utilisant le système Optitrack (Voir Paragraphe 3.2.2 **Génération de la base de données du CBHA**) et la base de données de l'ensemble du Robotino XT est déduite en utilisant une composition des MTHs du Robotino et du CBHA. Avec les intervalles des paramètres de la plateforme mobile $X_G$ et $Y_G$ allant de -200mm à +200mm avec un pas de 100mm et $\alpha$ allant de -180° à 180° avec un pas de 60°, la base de données d'apprentissage du RobotinoXT est de 2 734 375 échantillons. Les données d'apprentissage sont normalisées entre 0,1 et 0,9. La phase d'apprentissage de l'espace de travail a mis environ 314 heures. Les paramètres du GNG $\epsilon_b = 0,26$; $\epsilon_n = 0,003$; $\alpha_{out} = 0,57$; $\alpha_{max} = 50$; $d = 0,993$ et $\delta = 100$ ont permis d'obtenir des performances satisfaisantes. La meilleure valeur obtenue de la mesure-C est de 0,051. Un seuil de $K_v = 0,1$ a été utilisé pour créer ou mettre à jour les vecteurs de configuration et la phase de classification de l'espace de configuration a mis environ 25 minutes.
### 3.4.2.2 Résultats expérimentaux

<figure><img src="image_45.png" /><figcaption>FIGURE 3.16 – Schéma expérimental pour valider le MGIAN proposé.</figcaption></figure>

Le MGIAN proposé est validé en l'implémentant sur le Robotino XT, comme le montre la Figure 3.16. Les valeurs de la plateforme mobile et les longueurs de l'actionneur fournies par le MGIAN sont suivies par deux contrôleurs indépendants développés dans [Melingui 2017, Klancar 2005]. Il convient de noter que comme l'architecture de commande proposée [Melingui 2017] pour contrôler le CBHA est entièrement basée sur l'apprentissage, il serait difficile de faire une comparaison appropriée avec le MGIML. La position de l'effecteur du CBHA est suivie par le système de mouvement Optitrack et est comparée à la position désirée en temps réel. Ce dernier comprend huit caméras et peut suivre le mouvement d'un corps rigide de manière fiable jusqu'à ±0,1mm. Deux expériences sont envisagées : la première démontre la capacité du MGIAN proposé à fournir des SGIs multiples. La Figure 3.17 illustre un ensemble de quatre SGIs sélectionnées pour une pose de l'effecteur donnée. L'analyse des résultats obtenus montre que le MGIAN proposé peut maintenir efficacement des SGIs multiples.

La deuxième expérience évalue les performances du MGIAN proposé dans un envi-
<figure><img src="image_46.png" /><figcaption>FIGURE 3.17 – Expérience 1 : Préservation des SGIs, Atteinte d'un point cible avec quatre configurations différentes.</figcaption></figure>

ronnement contraint. Comme le montre la Figure 3.15, les positions des obstacles sont connues et le chemin désiré d'équation

$$ \left\{ \begin{array}{l} x = 360\text{mm} \\ y \in [0; 2000] \text{ mm} \\ z = 380\text{mm} \end{array} \right. \qquad (3.6) $$

est dessiné en couleur noire.

Le suivi est effectué sans contrainte d'orientation. La Figure 3.18 montre quelques images enregistrées pendant le processus de suivi. Les erreurs de position euclidiennes associées sont fournies dans La Figure 3.19. On remarque les erreurs cartésiennes d'environ ±7mm, qui restent dans la gamme des performances réalisées par de tels systèmes. Il est intéressant de noter que les tracés d'erreur représentent les performances obtenues par deux contrôleurs indépendants développés dans [Melingui 2017, Klancar 2005].

### 3.4.3 Analyse des résultats

En résumé, au vu des résultats de la simulation et de l'expérimentation obtenus, nous pouvons conclure que le MGIAN proposé peut résoudre le PGI du MCM tout en main-
<figure><img src="image_47.png" /><figcaption>FIGURE 3.18 – Expérience 2 : Suivi d'une trajectoire linéaire avec une contrainte $X_G \ge -150\text{mm}$ sur la plateforme mobile et évitement des obstacles.</figcaption></figure>

tenant les SGIs multiples. Sur la base des résultats de la littérature présentés dans le Tableau 3.14, les performances obtenues dans les simulations et expériences de sont satisfaisantes, et elles restent dans la gamme des performances atteintes par des plateformes
<figure><img src="image_48.png" /><figcaption>FIGURE 3.19 – Expérience 2 : Courbe d'erreur sur la position.</figcaption></figure>

aussi exigeantes. Les erreurs euclidiennes restantes observées dans les simulations sont censées résulter de la grande taille de l'étape de discrétisation utilisée pour la génération de la base de données. Les erreurs euclidiennes restantes observées dans les résultats des expériences peuvent provenir de nombreuses sources. Le contrôleur utilisé pour suivre la partie du manipulateur [Melingui 2017] a une précision de ±4mm. En outre, bien que le contrôleur développé dans [Klancar 2005] est précis, il devrait être à l'origine des erreurs cartésiennes restantes.

## 3.5 Conclusion

Dans ce chapitre, nous avons présenté les résultats des simulations et des expériences réalisées. L'objectif était de montrer la validité des modèles géométriques proposés au deuxième chapitre. Pour la géométrie directe des manipulateurs continuums, l'approche
<table><caption>TABLEAU 3.14 – Contributions récentes sur le MGI du CBHA et du Robotino XT.</caption><thead><tr><th>Robot</th><th>Méthode de modélisation</th><th>Érreur maximale absolue</th><th>Validation</th></tr></thead><tbody><tr><td rowspan="3">CBHA</td><td>Approche basée sur l'apprentissage supervisée distal : MLP [Melingui 2014a]</td><td>Position : 5 mm</td><td>Expérience</td></tr><tr><td>Approche Hybride : Courbure variable et MLP. [Lakhal 2016]</td><td>Position : 11 mm</td><td>Expérience</td></tr><tr><td>Approche basée sur les modèles : Courbes hodographes pythagoriciennes [Singh 2018]</td><td>Position : 8 mm</td><td>Expérience</td></tr><tr><td>Robotino XT</td><td>Approche basée sur l'apprentissage non supervisée : GNN (Approche proposée). [Boutchouang 2022]</td><td>Position : 7 mm</td><td>Simulation et Expérience</td></tr></tbody></table>

proposée montre que les architectures profondes améliorent la convergence d'une grande base de données représentant un système complexe comparé aux architectures peu profondes, et par conséquent améliorent la précision du MGD. Le MGD obtenu est peu coûteux en termes de calcul et peut être facilement mis en œuvre en temps réel. Il peut estimer la pose de l'effecteur final des manipulateurs continuums avec un degré de précision acceptable. Pour ce qui est de la géométrie inverse du MCM, le modèle proposé conserve la multiplicité des SGIs. Elle est aussi moins gourmande en temps de calcul et améliore la précision comparée aux méthodes numériques.
# Conclusion Générale

Cette thèse traite deux problèmes de modélisation particuliers :

- **Modélisation géométrique directe des manipulateurs continuums** : Nous avons proposé une architecture de modélisation combinant les approches basées sur les modèles physiques et sur l'apprentissage pour résoudre la géométrie directe des manipulateurs continuums de forme conique ayant un grand nombre de sections et d'actionneurs par section. Les approches basées sur les modèles ont été utilisées pour modéliser un nombre important de déformations du robot et pour générer le modèle inverse de chaque déformation représentée par un petit robot parallèle à joints prismatiques. Ce modèle inverse encore appelé équation géométrique inverse étant fortement non linéaire, nous avons opté pour une architecture profonde appelé Deep Neural Network (DNN) pour déterminer les paramètres spatiaux de l'ensemble des déformations en fonction des paramètres des différentes configurations de ces dernières. L'étude de la convergence du DNN sur un MCFC à plusieurs sections et la comparaison faite avec le réseau MLP montre que le DNN est plus adapté pour les MCFCs. En outre, les résultats des simulations et des expériences montrent que le modèle est implémentable en temps réel, qu'il a des performances proches des approches basées sur l'apprentissage, et offrent des performances meilleures que celles de l'approximation à courbure constante généralement utilisée.

- **Modèle géométrique inverse des manipulateurs continuums mobiles** : Nous avons proposé un MGI du MCM tout en préservant la multiplicité des solutions. L'approche proposée inclut une phase d'apprentissage qui consiste à organiser l'espace de travail du robot en plusieurs groupes en utilisant l'algorithme de classification du GNG. Une fonction de voisinage est également utilisée pour la classification de l'espace de configuration afin de garantir la propriété de conservation des solutions géométriques inverses obtenues. Plusieurs critères de redondance
ont été définis pour sélectionner une solution géométrique inverse particulière. Les
simulations effectuées sur le logiciel Matlab et les expériences sur le Robotino XT,
avec diverses orientations de l'effecteur conduisent aux performances satisfaisantes.

Dans les travaux futurs, nous envisageons en plus d'une coopération entre plusieurs
MCMs, intégrer le comportement dynamique du manipulateur continuum mobile en in-
teraction avec l'environnement externe pour des fins de contrôle.
Bibliographie

[Ang 1987] Marcelo H Ang et Vassilios D Tourassis. *Singularities of Euler and roll-pitch-yaw representations*. IEEE Transactions on Aerospace and Electronic Systems, no. 3, pages 317-324, 1987.

[Bengio 2009] Yoshua Bengio et al. *Learning deep architectures for AI*. Foundations and trends in Machine Learning, vol. 2, no. 1, pages 1-127, 2009.

[Bezdek 1984] James C Bezdek, Robert Ehrlich et William Full. *FCM : The fuzzy c-means clustering algorithm*. Computers & geosciences, vol. 10, no. 2-3, pages 191-203, 1984.

[Bieze 2018] Thor Morales Bieze, Frederick Largilliere, Alexandre Kruszewski, Zhongkai Zhang, Rochdi Merzouki et Christian Duriez. *Finite element method-based kinematics and closed-loop control of soft, continuum manipulators*. Soft robotics, vol. 5, no. 3, pages 348-364, 2018.

[Boutchouang 2021] AH Bouyom Boutchouang, Achille Melingui, JJB Mvogo Ahanda, Othman Lakhal, Frederic Biya Motto et Rochdi Merzouki. *Forward Kinematic Modeling of Conical-Shaped Continuum Manipulators*. Robotica, vol. 39, no. 10, pages 1760-1778, 2021.

[Boutchouang 2022] Audrey Hyacinthe Bouyom Boutchouang, Achille Melingui, Joseph Jean-Baptiste Mvogo Ahanda, Othman Lakhal, Frederic Biya Motto et Rochdi Merzouki. *Learning-Based Approach to Inverse Kinematics of Wheeled Mobile Continuum Manipulators*. IEEE-ASME TRANSACTIONS ON MECHATRONICS, 2022.

[Boutchouang 2023] Audrey Hyacinthe Bouyom Boutchouang, Achille Melingui, Joseph Jean-Baptiste Mvogo Ahanda, Xinrui Yang, Othman Lakhal, Frederic Biya Motto et Rochdi Merzouki. *Analytical Approach to Inverse Kinematics of Single Sec-
*tion Mobile Continuum Manipulators*. International Conference of Robotics and Automation (ICRA), 2023.

[Camarillo 2008] David B Camarillo, Christopher F Milne, Christopher R Carlson, Michael R Zinn et J Kenneth Salisbury. *Mechanics modeling of tendon-driven continuum manipulators*. IEEE Transactions on Robotics, vol. 24, no. 6, pages 1262–1273, 2008.

[Chirikjian 1994] Gregory S Chirikjian et Joel W Burdick. *A modal approach to hyper-redundant manipulator kinematics*. IEEE Transactions on Robotics and Automation, vol. 10, no. 3, pages 343–354, 1994.

[Cho 2016] Kyeong Ho Cho, Min Geun Song, Hosang Jung, Jungwoo Park, Hyungpil Moon, Ja Choon Koo, Jae-Do Nam et Hyouk Ryeol Choi. *A robotic finger driven by twisted and coiled polymer actuator*. In Electroactive Polymer Actuators and Devices (EAPAD) 2016, volume 9798, pages 275–281. SPIE, 2016.

[De Payrebrune 2017] Kristin M De Payrebrune et Oliver M O'Reilly. *On the development of rod-based models for pneumatically actuated soft robot arms : a five-parameter constitutive relation*. International Journal of Solids and Structures, vol. 120, pages 226–235, 2017.

[Dekkers 1991] Anton Dekkers et Emile Aarts. *Global optimization and simulated annealing*. Mathematical programming, vol. 50, no. 1, pages 367–393, 1991.

[Denavit 1955] Jacques Denavit. *A kinematic notation for lower-pair mechanisms based on matrices*. Trans. of the ASME. Journal of Applied Mechanics, vol. 22, pages 215–221, 1955.

[Dupont 2009] Pierre E Dupont, Jesse Lock et Evan Butler. *Torsional kinematic model for concentric tube robots*. In 2009 IEEE International Conference on Robotics and Automation, pages 3851–3858. IEEE, 2009.

[Eberhart 1998] Russell C Eberhart et Yuhui Shi. *Comparison between genetic algorithms and particle swarm optimization*. In International conference on evolutionary pro-
gramming, pages 611–616. Springer, 1998.

[Escande 2011] Coralie Escande, Pushparaj Mani Pathak, Rochdi Merzouki et Vincent Coelen. *Modelling of multisection bionic manipulator : application to RobotinoXT.* In Robotics and Biomimetics (ROBIO), 2011 IEEE International Conference on, pages 92–97. IEEE, 2011.

[Escande 2012] Coralie Escande, Rochdi Merzouki, Pushparaj Mani Pathak et Vincent Coelen. *Geometric modelling of multisection bionic manipulator : experimental validation on Robotino XT.* In Robotics and Biomimetics (ROBIO), 2012 IEEE International Conference on, pages 2006–2011. IEEE, Guangzhou, China, 11-14 Dec 2012.

[Escande 2014] Coralie Escande, Taha Chettibi, Rochdi Merzouki, Vincent Coelen et Pushparaj Mani Pathak. *Kinematic calibration of a multisection bionic manipulator.* IEEE/ASME transactions on mechatronics, vol. 20, no. 2, pages 663–674, 2014.

[Ethni 2009] SA Ethni, B Zahawi, D Giaouris et PP Acarnley. *Comparison of particle swarm and simulated annealing algorithms for induction motor fault identification.* In 2009 7th IEEE International Conference on Industrial Informatics, pages 470–474. IEEE, 2009.

[Fritzke 1995] Bernd Fritzke. *A growing neural gas network learns topologies.* In Advances in neural information processing systems, pages 625–632, 1995.

[Giorelli 2013] Michele Giorelli, Federico Renda, Gabriele Ferri et Cecilia Laschi. *A feed-forward neural network learning the inverse kinetics of a soft cable-driven manipulator moving in three-dimensional space.* In Intelligent Robots and Systems (IROS), 2013 IEEE/RSJ International Conference on, pages 5033–5039. IEEE, 2013.

[Giorelli 2015] Michele Giorelli, Federico Renda, Marcello Calisti, Andrea Arienti, Gabriele Ferri et Cecilia Laschi. *Neural network and jacobian method for solving the inverse statics of a cable-driven soft arm with nonconstant curvature.* IEEE Transactions on Robotics, vol. 31, no. 4, pages 823–834, 2015.
[Godage 2011a] Isuru S Godage, David T Branson, Emanuele Guglielmino, Gustavo A Medrano-Cerda et Darwin G Caldwell. *Shape function-based kinematics and dynamics for variable length continuum robotic arms*. In 2011 IEEE International Conference on Robotics and Automation, pages 452–457. IEEE, 2011.

[Godage 2011b] Isuru S Godage, Emanuele Guglielmino, David T Branson, Gustavo A Medrano-Cerda et Darwin G Caldwell. *Novel modal approach for kinematics of multisection continuum arms*. In 2011 IEEE/RSJ International Conference on Intelligent Robots and Systems, pages 1093–1098. IEEE, 2011.

[Godage 2015] Isuru S Godage, Gustavo A Medrano-Cerda, David T Branson, Emanuele Guglielmino et Darwin G Caldwell. *Modal kinematics for multisection continuum arms*. Bioinspiration & biomimetics, vol. 10, no. 3, page 035002, 2015.

[Grassmann 2018] Reinhard Grassmann, Vincent Modes et Jessica Burgner-Kahrs. *Learning the forward and inverse kinematics of a 6-dof concentric tube continuum robot in SE (3)*. In 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pages 5125–5132. IEEE, 2018.

[Gravagne 2003] Ian A Gravagne, Christopher D Rahn et Ian D Walker. *Large deflection dynamics and control for planar continuum robots*. IEEE/ASME transactions on mechatronics, vol. 8, no. 2, pages 299–307, 2003.

[Grazioso 2019] Stanislao Grazioso, Giuseppe Di Gironimo et Bruno Siciliano. *A geometrically exact model for soft continuum robots : The finite element deformation space formulation*. Soft robotics, vol. 6, no. 6, pages 790–811, 2019.

[Guilamo 2005] Luis Guilamo, James Kuffner, Koichi Nishiwaki et Satoshi Kagami. *Efficient prioritized inverse kinematic solutions for redundant manipulators*. In 2005 IEEE/RSJ International Conference on Intelligent Robots and Systems, pages 3921–3926. IEEE, 2005.

[Han 1995] Jun Han et Claudio Moraga. *The influence of the sigmoid function parameters on the speed of backpropagation learning*. In International workshop on artificial neural networks, pages 195–201. Springer, 1995.
[Hannan 2003] Michael W Hannan et Ian D Walker. *Kinematics and the implementation of an elephant's trunk manipulator and other continuum style robots*. Journal of Robotic Systems, vol. 20, no. 2, pages 45–63, 2003.

[Hartigan 1979] John A Hartigan et Manchek A Wong. *Algorithm AS 136 : A k-means clustering algorithm*. Journal of the royal statistical society. series c (applied statistics), vol. 28, no. 1, pages 100–108, 1979.

[Hawks 2019] Zachary Hawks, Chase Frazelle, Keith E Green et Ian D Walker. *Motion Planning for a Continuum Robotic Mobile Lamp : Defining and Navigating the Configuration Space*. In 2019 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pages 2559–2566. IEEE, 2019.

[He 2015] Wei He, Shuzhi Sam Ge, Yanan Li, Effie Chew et Yee Sien Ng. *Neural network control of a rehabilitation robot by state and output feedback*. Journal of Intelligent & Robotic Systems, vol. 80, no. 1, pages 15–31, 2015.

[Hu 2018] Zheng Hu, Yongping Li et Zhiyong Yang. *Improving convolutional neural network using pseudo derivative ReLU*. In 2018 5th International Conference on Systems and Informatics (ICSAI), pages 283–287. IEEE, 2018.

[Huang 2021] Xinjia Huang, Jiang Zou et Guoying Gu. *Kinematic modeling and control of variable curvature soft continuum robots*. IEEE/ASME Transactions on Mechatronics, 2021.

[Jones 2006] Bryan A Jones et Ian D Walker. *Kinematics for multisection continuum robots*. IEEE Transactions on Robotics, vol. 22, no. 1, pages 43–55, 2006.

[Kang 2013] Rongjie Kang, Emanuele Guglielmino, David T Branson et Darwin G Caldwell. *Kinematic model and inverse control for continuum manipulators*. In 2013 10th IEEE International Conference on Control and Automation (ICCA), pages 1615–1620. IEEE, 2013.

[Kaski 1996] Samuel Kaski et Krista Lagus. *Comparing self-organizing maps*. In International Conference on Artificial Neural Networks, pages 809–814. Springer, 1996.
[Klancar 2005] Gregor Klancar, Drago Matko et Saso Blazic. *Mobile robot control on a reference path*. In Proceedings of the 2005 IEEE International Symposium on, Mediterrean Conference on Control and Automation Intelligent Control, 2005., pages 1343–1348. IEEE, 2005.

[Kohonen 1990] Teuvo Kohonen. *The self-organizing map*. Proceedings of the IEEE, vol. 78, no. 9, pages 1464–1480, 1990.

[Kolesnikov 2015] Alexander Kolesnikov, Elena Trichina et Tuomo Kauranne. *Estimating the number of clusters in a numerical data set via quantization error modeling*. Pattern Recognition, vol. 48, no. 3, pages 941–952, 2015.

[Korayem 2019] Moharam Habibnejad Korayem et Siavash Fathollahi Dehkordi. *Motion equations of cooperative multi flexible mobile manipulator via recursive Gibbs-Appell formulation*. Applied Mathematical Modelling, vol. 65, pages 443–463, 2019.

[Kumar 2010] Swagat Kumar, P Premkumar, Ashish Dutta et Laxmidhar Behera. *Visual motor control of a 7DOF redundant manipulator using redundancy preserving learning network*. Robotica, vol. 28, no. 06, pages 795–810, 2010.

[Kumar 2015] Rahul R Kumar et Praneel Chand. *Inverse kinematics solution for trajectory tracking using artificial neural networks for SCORBOT ER-4u*. In 2015 6th International Conference on Automation, Robotics and Applications (ICARA), pages 364–369. IEEE, 2015.

[Lakhal 2016] Othman Lakhal, Achille Melingui et Rochdi Merzouki. *Hybrid approach for modeling and solving of kinematics of a compact bionic handling assistant manipulator*. IEEE/ASME Transactions on Mechatronics, vol. 21, no. 3, pages 1326–1335, 2016.

[Larochelle 2009] Hugo Larochelle, Yoshua Bengio, Jérôme Louradour et Pascal Lamblin. *Exploring strategies for training deep neural networks*. Journal of machine learning research, vol. 10, no. Jan, pages 1–40, 2009.
[Li 2013] Zheng Li et Ruxu Du. *Design and analysis of a bio-inspired wire-driven multi-section flexible robot*. International Journal of Advanced Robotic Systems, vol. 10, no. 4, page 209, 2013.

[Li 2015] Jinglin Li et Jing Xiao. *A general formulation and approach to constrained, continuum manipulation*. Advanced Robotics, vol. 29, no. 13, pages 889–899, 2015.

[Li 2017] Zheng Li, Liao Wu, Hongliang Ren et Haoyong Yu. *Kinematic comparison of surgical tendon-driven manipulators and concentric tube manipulators*. Mechanism and machine theory, vol. 107, pages 148–165, 2017.

[Li 2019] Qi Li, Haozhe Yang, Jiangran Zhao, Kai Xuet al. *Configuration Transition Control of a Continuum Surgical Manipulator for Improved Kinematic Performance*. IEEE Robotics and Automation Letters, vol. 4, no. 4, pages 3750–3757, 2019.

[Loutfi 2020] I Mahamat Loutfi, AH Bouyom Boutchouang, A Melingui, O Lakhal, F Biya Motto et R Merzouki. *Learning-Based Approaches for Forward Kinematic Modeling of Continuum Manipulators*. IFAC-PapersOnLine, vol. 53, no. 2, pages 9899–9904, 2020.

[Loutfi 2022] Imrane Mahamat Loutfi. *Modélisation et Commande des mobiles manipulateurs continuums*. Thèse soutenu au Laboratoire d'Énergie, des Systèmes Électriques et Électroniques, Département de Physique, Faculté des Sciences, Université de Yaoundé I, 19 Octobre 2022, vol. 120, 2022.

[Mahl 2014] Tobias Mahl, Andreas Hildebrandt et Oliver Sawodny. *A variable curvature continuum kinematics for kinematic control of the bionic handling assistant*. Robotics, IEEE Transactions on, vol. 30, no. 4, pages 935–949, 2014.

[Martinetz 1990] Thomas M Martinetz, Helge J Ritter et Klaus J Schulten. *Three-dimensional neural net for learning visuomotor coordination of a robot arm*. IEEE Transactions on Neural Networks, vol. 1, no. 1, pages 131–136, 1990.
[McMahan 2006] William McMahan, V Chitrakaran, M Csencsits, D Dawson, Ian D Walker, Bryan A Jones, M Pritts, D Dienno, M Grissom et Christopher D Rahn. *Field trials and testing of the OctArm continuum manipulator*. In Robotics and Automation, 2006. ICRA 2006. Proceedings 2006 IEEE International Conference on, pages 2336–2341. IEEE, Orlando, FL USA, 15-19 May 2006.

[Melingui 2014a] A Melingui, Rochdi Merzouki, JB Mbede, Coralie Escande et N Benoudjit. *Neural networks based approach for inverse kinematic modeling of a compact bionic handling assistant trunk*. In Industrial Electronics (ISIE), 2014 IEEE 23rd International Symposium on, pages 1239–1244. IEEE, BogaziÇi University, Turkey, 01-04 June 2014.

[Melingui 2014b] Achille Melingui. *Modeling and control of a class of mobile omnidrive : continuum manipulator robots, case of study Robotino XT*. PhD thesis, Lille 1, 2014.

[Melingui 2014c] Achille Melingui, Coralie Escande, Nabil Benoudjit, Rochdi Merzouki et Jean Bosco Mbede. *Qualitative approach for forward kinematic modeling of a compact bionic handling assistant trunk*. IFAC Proceedings Volumes, vol. 47, no. 3, pages 9353–9358, Cape Town, South Africa, 24-29 August 2014.

[Melingui 2015] Achille Melingui, Othman Lakhal, Boubaker Daachi, Jean Bosco Mbede et Rochdi Merzouki. *Adaptive neural network control of a compact bionic handling arm*. IEEE/ASME Transactions on Mechatronics, vol. 20, no. 6, pages 2862–2875, 2015.

[Melingui 2017] Achille Melingui, Joseph Jean-Baptiste Mvogo Ahanda, Othman Lakhal, Jean Bosco Mbede et Rochdi Merzouki. *Adaptive algorithms for performance improvement of a class of continuum manipulators*. IEEE Transactions on Systems, Man, and Cybernetics : Systems, vol. 48, no. 9, pages 1531–1541, 2017.

[Murphy 2008] Robin R Murphy, Satoshi Tadokoro, Daniele Nardi, Adam Jacoff, Paolo Fiorini, Howie Choset et Aydan M Erkmen. *Springer handbook of robotics*. ch. Search and rescue robotics, pages 1151–1173, 2008.
[Neppalli 2007] Srinivas Neppalli et Bryan A Jones. *Design, construction, and analysis of a continuum robot*. In 2007 IEEE/RSJ International Conference on Intelligent Robots and Systems, pages 1503–1507. IEEE, 2007.

[Neppalli 2009] Srinivas Neppalli, Matthew A Csencsits, Bryan A Jones et Ian D Walker. *Closed-form inverse kinematics for continuum manipulators*. Advanced Robotics, vol. 23, no. 15, pages 2077–2091, 2009.

[OptiTrack 2018] OptiTrack. *Motion Capture Systems*, 2018. visited on 06 December 2018.

[Poli 2007] Riccardo Poli, James Kennedy et Tim Blackwell. *Particle swarm optimization*. Swarm intelligence, vol. 1, no. 1, pages 33–57, 2007.

[Qin 2021] Guodong Qin, Aihong Ji, Yong Cheng, Wenlong Zhao, Hongtao Pan, Shan-shuang Shi et Yuntao Song. *A Snake-Inspired Layer-Driven Continuum Robot*. Soft Robotics, 2021.

[Reinhart 2017] René Reinhart, Zeeshan Shareef et Jochen Steil. *Hybrid analytical and data-driven modeling for feed-forward robot control*. Sensors, vol. 17, no. 2, page 311, 2017.

[Renda 2018] Federico Renda, Frédéric Boyer, Jorge Dias et Lakmal Seneviratne. *Discrete cosserat approach for multisection soft manipulator dynamics*. IEEE Transactions on Robotics, vol. 34, no. 6, pages 1518–1533, 2018.

[Rolf 2012] Matthias Rolf et Jochen J Steil. *Constant curvature continuum kinematics as fast approximate model for the Bionic Handling Assistant*. In 2012 IEEE/RSJ International Conference on Intelligent Robots and Systems, pages 3440–3446. IEEE, Vilamoura-Algarve, Portugal, 07-11 Oct 2012.

[Rolf 2013] Matthias Rolf et Jochen J Steil. *Efficient exploratory learning of inverse kinematics on a bionic elephant trunk*. IEEE transactions on neural networks and learning systems, vol. 25, no. 6, pages 1147–1160, 2013.
[Runciman 2019] Mark Runciman, Ara Darzi et George P Mylonas. *Soft robotics in minimally invasive surgery*. Soft robotics, vol. 6, no. 4, pages 423–443, 2019.

[Rus 2015] Daniela Rus et Michael T Tolley. *Design, fabrication and control of soft robots*. Nature, vol. 521, no. 7553, pages 467–475, 2015.

[Sadati 2019] SM Hadi Sadati, Ali Shiva, Ludovic Renson, Caleb Rucker, Kaspar Althoefer, Thrisantha Nanayakkara, Christos Bergeles, Helmut Hauser et Ian D Walker. *Reduced order vs. discretized lumped system models with absolute and relative states for continuum manipulators*. In Robotics Science & Systems Conference, 2019.

[Savsani 2010] V Savsani, RV Rao et DP Vakharia. *Optimal weight design of a gear train using particle swarm optimization and simulated annealing algorithms*. Mechanism and machine theory, vol. 45, no. 3, pages 531–541, 2010.

[Simaan 2004] Nabil Simaan, Russell Taylor et Paul Flint. *A dexterous system for laparoscopic surgery*. In Robotics and Automation, 2004. Proceedings. ICRA'04. 2004 IEEE International Conference on, volume 1, pages 351–357. IEEE, 2004.

[Singh 2018] Inderjeet Singh, Yacine Amara, Achille Melingui, Pushparaj Mani Pathak et Rochdi Merzouki. *Modeling of continuum manipulators using pythagorean hodograph curves*. Soft robotics, vol. 5, no. 4, pages 425–442, 2018.

[Summers 1995] Michael C Summers, Piyush R Bhatnagar, Joel A Lawitts et John D Biggers. *Fertilization in vitro of mouse ova from inbred and outbred strains : complete preimplantation embryo development in glucose-supplemented KSOM*. Biology of reproduction, vol. 53, no. 2, pages 431–437, 1995.

[Tanese 1989] Reiko Tanese. *Distributed genetic algorithms for function optimization*. PhD thesis, University of Michigan, 1989.

[Trivedi 2008] Deepak Trivedi, Amir Lotfi et Christopher D Rahn. *Geometrically exact models for soft robotic manipulators*. IEEE Transactions on Robotics, vol. 24, no. 4, pages 773–780, 2008.
[Wang 2012] Qian Wang, Cheng Wang, Zhen-yuan Feng et Jin-feng Ye. *Review of K-means clustering algorithm*. Electronic design engineering, vol. 20, no. 7, pages 21–24, 2012.

[Wang 2021] Liu Wang, Dongchang Zheng, Pablo Harker, Aman B Patel, Chuan Fei Guo et Xuanhe Zhao. *Evolutionary design of magnetic soft continuum robots*. Proceedings of the National Academy of Sciences, vol. 118, no. 21, 2021.

[Webster 2009] Robet J Webster, John P Swensen, Joseph M Romano et Noah J Cowan. *Closed-form differential kinematics for concentric-tube continuum robots with application to visual servoing*. In Experimental Robotics, pages 485–494. Springer, 2009.

[Webster 2010] Robert J Webster et Bryan A Jones. *Design and kinematic modeling of constant curvature continuum robots: A review*. The International Journal of Robotics Research, 2010.

[Wertz 2021] Anthony Wertz, Andrew P Sabelhaus et Carmel Majidi. *Trajectory Optimization for Thermally-Actuated Soft Planar Robot Limbs*. arXiv preprint arXiv:2110.09474, 2021.

[Yeshmukhametov 2018] Azamat Yeshmukhametov, Koichi Koganezawa et Yoshio Yamasoto. *Design and kinematics of cable-driven continuum robot arm with universal joint backbone*. In 2018 IEEE International Conference on Robotics and Biomimetics (ROBIO), pages 2444–2449. IEEE, 2018.

[Zhang 2006] Jinkai Zhang, Benoit Rivard, Arturo Sánchez-Azofeifa et Karen Castro-Esau. *Intra-and inter-class spectral variability of tropical tree species at La Selva, Costa Rica: Implications for species identification using HYDICE imagery*. Remote Sensing of Environment, vol. 105, no. 2, pages 129–141, 2006.
Liste des publications

1. **Audrey Hyacinthe Bouyom Boutchouang**, Achille Melingui, J. J. B. Mvogo Ahanda, Xinrui Yang, Othman Lakhal, Frederic Biya Motto et Rochdi Merzouki; *Analytical Approach to Inverse Kinematics of Single Section Mobile Continuum Manipulators*. IEEE International Conference of Robotics and Automation (ICRA), 2023.

2. **Audrey Hyacinthe Bouyom Boutchouang**, Achille Melingui, Joseph Jean-Baptiste Mvogo Ahanda, Othman Lakhal, Frederic Biya Motto et Rochdi Merzouki; *Learning-based Approach to Inverse kinematics of Wheeled Mobile Continuum Manipulators*. IEEE-ASME TRANSACTIONS ON MECHATRONICS, 2022.

3. **A. H. Bouyom Boutchouang**, Achille Melingui, J. J. B. Mvogo Ahanda, Othman Lakhal, Frederic Biya Motto et Rochdi Merzouki; *Forward Kinematic Modeling of Conical-Shaped Continuum Manipulators*. Robotica, vol. 39, no 10, pages 1760-1778, 2021.

4. I. Mahamat Loutfi, **A.H. Bouyom Boutchouang**, A. Melingui, O. Lakhal, F. Biya Motto et R. Merzouki; *Learning-Based Approaches for Forward Kinematic Modeling of Continuum*. Accepted at 21th world congress of the IFAC, Vol 53, no. 2(1), pp : 9899-9904, 2020.
# Annexes

## Informations techniques du Robotino XT

<figure><img src="image_49.png" /></figure>

<figure><img src="image_50.png" /></figure>

### Robotino

- Diameter : 370 mm

- Height, including housing : 260 mm

- Total weight : approx. 11 kg

- Rubber flap with integrated collision protection sensor

- 9 analogue infrared distance sensors

- 1 analogue inductive sensor

- 2 digital optical sensors

### Manipulator (CBHA)

- Height : 330 mm

- Total weight : 1060 g

- Max. payload : 600 g

- 8 degrees of freedom

- Measuring system : 6 cable potentiometers
<figure><img src="image_51.png" /></figure>