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

HAL
open science

# Towards ultrasound-based localization and mapping for long-range inspection robots

Othmane-Latif Ouabi

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

## To cite this version:

Othmane-Latif Ouabi. Towards ultrasound-based localization and mapping for long-range inspection robots. Robotics [cs.RO]. Université de Lorraine; Georgia Tech-Lorraine, 2022. English. NNT: tel-03835195

HAL Id: tel-03835195

https://hal.science/tel-03835195

Submitted on 31 Oct 2022

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.

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

Distributed under a Creative Commons Attribution 4.0 International License
# Towards ultrasound-based localization and mapping for long-range inspection robots

## THÈSE

présentée et soutenue publiquement le 10 Octobre 2022

pour l'obtention du

Doctorat de l'Université de Lorraine

(mention Automatique et Traitement du signal)

par

Othmane-Latif Ouabi

## Composition du jury

Président : Nico F. Declercq

Directeur de thèse : Cédric Pradalier

Co-directeur de thèse : Matthieu Geist

Co-encadrant : Nico F. Declercq

Rapporteurs : Teresa Vidal Calleja
Philippe Lasaygues

Examinateurs : Carol Martinez Luna

Membres invités : Neil Zeghidour
Henri Walaszek
Mis en page avec la classe thesul.
Acknowledgments

First and foremost, I would like to thank my supervisors, Cédric Pradalier and Matthieu Geist, who gave me the opportunity to do a PhD. It is incredible how much I’ve learned from them. I am grateful for their sustained and unconditional support, over the past few years. My sincere thanks shall also go to Nico F. Declercq, Neil Zeghidour, and Pascal Pomarede, with whom it was always pleasant to discuss, whether it be on scientific or non-scientific matters. They have undoubtedly been a huge support.

I really appreciated the time I spent with all my colleagues, both in and outside the lab. I will remember the badminton nights with Assia Benbihi, Antoine Mahé, and Laura Monnier, that were abruptly put to an end due to a well-known pandemic. I won’t forget the nice moments I shared with Antoine Richard and Stéphanie Aravecchia, along with their guidance when I needed to do either Linux-related or manual things. I appreciated my discussions with Salim Khazem on Machine Learning, and on how to prepare tasteful coffee, and also the time spent with Luis Felipe Wolf Batista and Devarsi Rawal. I enjoyed the time I had with Georges Chahine and Pete Schroepfer, during our field experiments with the crawler when the peculiar weather in Metz allowed it.

I am grateful to all the people from Cetim I had the opportunity to work with, and who made enjoyable the sessions of experiments we did together. I would like to thank Quang Vu and Henri Walaszek, in particular, for all their time and the friendly welcome they offered me, every time I came to Senlis.

I would like to thank all the members of the committee who kindly accepted to evaluate my thesis. Last, I would like to warmly express my gratitude to my family, my parents and my sisters, who have always been there, by my side.
We know very little, and yet it is astonishing that we know so much,
and still more astonishing that so little knowledge can give us so much power.

Bertrand Russell

To my family.
Abstract

The inspection of large plate-based metal structures, such as storage tanks or ship hulls, is a significant stake in the industry, which necessitates reliable and time-efficient solutions. Over the time, concealed defects, such as corrosion patches growing from the inner side of ship hulls, can develop, and detrimentally affect the structural integrity. To avoid catastrophic failures, the structures under operation must be inspected on a regular basis, so that structural maintenance can be scheduled when defects are detected. Current inspection methods traditionally rely on visual inspection, or on point-by-point thickness measurements, often performed by human op-erators. However, these methods are time-consuming, and cannot reasonably be used for an accurate and complete inspection of large metal surfaces.

This thesis considers the deployment of a mobile robotic system, equipped with an acoustic sensor for emission and reception of omnidirectional ultrasonic guided waves, with the aim to assess the integrity of large structures. Guided waves can propagate inside the structure material, over large distances, following a direction parallel with the surface. What make them appealing is that they are sensitive to the material integrity. In this context, the target objective is to enable long-range robotic inspection on large metal structures by listening to the wave reflections on structural features. Due to the possibility to localize potential defects at long distance all along the robot trajectory, long-range robotic inspection has the potential to be faster, and much more efficient than traditional inspection methods.

The abilities to accurately recover the robot position and to precisely map acoustic scatterers are critical for a successful inspection operation. For this reason, this thesis focuses on Simul-taneous Localization and Mapping (SLAM) problems. More specifically, we propose various frameworks to recover the robot trajectory and map the boundaries of individual metal panels (which are the constitutive element of large metal structures) by relying on the ultrasonic echoes. Due to the wave omnidirectionality, the measurements contain information from all directions. This results in significant data complexity, and calls for appropriate signal processing methods. We will show that, by relying on ultrasonic wave reflections on the boundaries of a metal panel, the combination of a simple Delay-and-Sum (DAS) beamforming method with a wave propa-gation model can result in accurate localization and mapping results. The particularity of the proposed approach is that no explicit echo detection, nor echo association are required, whereas these are challenging tasks, especially in noisy environments. We propose algorithmic solutions to solve both the online SLAM and the full SLAM problems. We also tackle specific issues that arise when relying on DAS beamforming, such as signal interference, and the lack of uncertainty assessment on the map. An exploration strategy based on frontier exploration is also briefly presented, with the aim to enable the autonomous mapping of a metal surface. Eventually, we propose a method to automatically calibrate the wave propagation model when the propagation properties are not precisely known.

The proposed methods are validated by performing experiments in laboratory conditions, either with measurements that are collected by manually moving the transducers, or by using a real robotic platform. The results demonstrate the efficiency of our methods for on-plate localization and mapping purposes, and may support the emergence of a true long-range robotic inspection operation.
## 1 L'inspection de larges structures en métal

Le transport efficace et fiable de marchandises autour du monde est un enjeu crucial pour le commerce mondial. Il est estimé qu'à tout moment, environ 50 000 navires, de taille moyenne ou large, parcourent les océans. Par ailleurs, chacun d'entre eux peut transporter jusqu'à plusieurs centaines de tonnes de marchandises. Dans ce contexte, afin de prévenir des accidents avec des conséquences potentiellement économiques, environnementales et humaines, l'inspection et la maintenance de la structure des navires sont des procédures critiques qui doivent être régulièrement effectuées. Au cours du temps, des défauts structurels, tels que des couches de corrosion, peuvent se développer. Comme ces derniers peuvent se former sur la partie intérieure des coques de navires, ils ne sont pas toujours directement visibles. Pour ces raisons, des procédures d'inspection fiables sont nécessaires pour l'industrie marine. De plus, étant donné que cette problématique concerne également d'autres structures en métal telles que les réservoirs de stockage, la détection de défauts non directement visibles est un problème industriel majeur.

Les méthodes d'inspection traditionnelles consistent principalement à l'inspection visuelle, et à la réalisation de mesures d'épaisseur point par point à l'aide d'une sonde ultrasonore, après avoir placé le bateau en cale sèche. Ces méthodes sont sous-optimales et lentes à réaliser, car le bateau peut être immobilisé pendant plusieurs jours, entraînant des pertes économiques substantielles pour son propriétaire. Par ailleurs, en raison de la taille limitée de la sonde acoustique utilisée pour les mesures d'épaisseur, et au vu de la taille importante de la coque, il est pour l'instant inenvisageable de réaliser une inspection qui soit à la fois complète et précise de l'ensemble de la surface, en un temps raisonnable.

L'inspection de structures sur de larges distances est un sujet de recherche actif. Les ondes ultrasoniques guidées, en particulier, sont de plus en plus déployées sur des systèmes modernes de contrôle non destructif. Ces ondes peuvent être émises à l'intérieur de matériaux en plaques par application de capteurs piézoélectriques. Elles peuvent se propager radialement autour de l'émetteur, sur de longues distances, et suivant une direction parallèle avec la surface. Le fait que ces ondes soient sensibles aux éléments structurels, tels que des discontinuités de la matière, rend leur utilisation attrayante. De façon générale, les ondes ultrasoniques guidées sont déployées sur des réseaux de capteurs statiques qui sont en permanence attachés à la structure pour le contrôle continu d'une zone restreinte. Cependant, dans l'industrie, ces ondes ne sont pas encore déployées sur des systèmes mobiles pour l'inspection de larges structures.

## 2 Localisation et cartographie en simultané par ondes guidées

L'inspection robotique longue distance de larges structures en métal, telles que les réservoirs de stockage ou les coques de navires, n'a pas encore été établie, alors que celle-ci peut être beaucoup plus rapide, précise, et moins sujette à des risques en comparaison avec les méthodes traditionnelles. Pour ce type d'application, un système robotique mobile serait équipé d'un capteur ultrasonique pour l'émission et la réception d'ondes ultrasonores. Suivant une trajectoire optimale pour l'inspection sur une large structure (tel qu'illustré sur la figure 1), les réponses ultrasonores de différentes zones pourrait être enregistrées. Dans cette configuration en pulse-écho, les mesures contiendraient les échos dus à des réflexions de l'onde excitée sur des éléments structurels, comme illustré par la figure 2. Après un traitement approprié des données obtenues, on pourrait obtenir une carte précise de la structure mettant en évidence les réflecteurs acoustiques,
<figure><img src="image_4.png" /><figcaption>Figure 1: Image d'un crawler magnétique navigant sur la façade d'un réservoir de stockage.</figcaption></figure>

tels que les joints de soudures, les raidisseurs et les potentiels défauts.

Toutefois, la cartographie de réflecteurs acoustiques nécessite la connaissance de la position des points de mesures. Sur une large structure, la localisation précise du capteur embarqué (i.e avec une précision de l'ordre du centimètre) est essentielle pour la détection de défauts qui agissent comme des petits disperseurs acoustiques. Pour obtenir un tel niveau de précision, les données provenant de différents capteurs embarqués – par exemple une centrale inertielle, un capteur à bande ultra-large en plus du capteur ultrasonore – pourraient être fusionnées. En effet, en se basant sur la réflexion des ondes guidées sur les éléments structures tels que les joints de soudure, ces derniers pourraient être utilisés comme points de repère pour la localisation. L'intégration de mesures provenant d'un système de positionnement global (GPS), bien que courante pour la navigation en milieu extérieur non obstrué, n'est pas pertinente pour la localisation précise sur une large structure quasi verticale.

En somme, l'un des éléments primordiaux pour permettre de développement de l'inspection robotique longue distance est une solution au problème de localisation et cartographie en simul-
tané (on utilisera l'acronyme anglais SLAM). En effet, à partir des mesures collectées le long de
la trajectoire du robot, celle-ci pourrait être précisément reconstruite dans un premier temps, et
une carte des éléments structurels servant à la localisation (tels que les joints de soudure) pour-
rait être déterminée. Dans une seconde étape, la trajectoire et la carte estimées seraient mises
à profit pour inférer la position de défauts potentiels. Bien qu'une telle application apporterait

<figure><img src="image_5.png" /><figcaption>Figure 2: Une mesure ultrasonore obtenue expérimentalement par application de capteurs piézoélectriques sur une plaque en acier. Le signal contient de multiples paquets d'onde dûs aux réflexions de l'onde émise sur les bords de plaque.</figcaption></figure>
des bénéfices majeurs à l'industrie, son développement est un problème de recherche significatif.

En comparaison avec les ondes directionnelles (qui peuvent seulement être émises et reçues pour une direction donnée), l'utilisation d'ondes omnidirectionnelles guidées peut mener à une inspection de l'environnement beaucoup plus rapide et efficace, car une seule mesure contient des informations provenant de toutes les directions. En revanche, cela requiert des méthodes de traitement du signal sophistiquées. Par exemple, pour localiser les bords d'une plaque en métal à partir de mesures ultrasonores (semblables à celle montrée par la figure 2), il est d'abord nécessaire d'extraire les échos du bruit, de regrouper entre eux les échos provenant d'une réflexion sur un même bord, et enfin estimer la position de ce dernier. Ces tâches difficiles doivent être réalisées pour des rapports signal-sur-bruit parfois très faibles, en présence d'échos d'ordre élevé qui ne sont pas labellisés, en présence d'incertitude sur la localisation du capteur, et sur la propagation du signal dans le guide d'onde, qui est un phénomène physique complexe. Dans le cas d'une tâche réelle d'inspection, il faudrait surmonter ces problèmes pour des distributions arbitraires de réflecteurs acoustiques.

Étant donné que de tels problèmes n'ont été que peu étudiés dans la littérature scientifique, cette thèse élabore différentes solutions pour résoudre le problème de localisation et cartographie en simultané en utilisant des ondes ultrasoniques omnidirectionnelles. Le but est d'évaluer leur potentiel pour une possible tâche d'inspection robotique sur une large structure. Une des contributions majeures de cette thèse est l'intégration de techniques de formation de voies (connue sous le nom de *beamforming* en anglais), qui est une technique classique de filtrage spatial, dans les approches Bayésiennes traditionnelles qui sont utilisées en robotique, tels que FastSLAM, le filtre Bayésien binaire, ou bien GraphSLAM. Les techniques de formation de voies permettent de sélectionner spatialement les signaux reçus dans le but de réaliser différentes tâches comme la localisation d'une source acoustique. Nous explorons comment ces techniques peuvent être employées pour résoudre une variété de problèmes de SLAM. Un des avantages de l'utilisation de la formation de voies, est que la détection explicite des échos et leur association ne sont pas nécessaires. Cela mène à des algorithmes de SLAM qui sont plus simples, et plus robustes au bruit. De plus, alors que la formation de voies est généralement utilisée pour des données acquises par des chaînes de capteurs, nous verrons qu'elle peut également être appliquée à des données acquises par un seul capteur mobile, lequel créant alors une chaîne "synthétique" de capteurs. En raison de la complexité de l'application visée, cette thèse se focalise principalement sur la cartographie des bords d'une plaque en métal inidividuelle, élément constitutif des structures larges en métal, et n'aborde pas directement la détection de défauts. Toutefois, comme les joints de soudure réfléchissent vraisemblablement l'énergie acoustique de façon plus importante que des défauts sur une large structure réelle, il est considéré que leur identification est une étape essentielle avant que la détection de défauts puisse être faisable.

## 3 Plan de la thèse

Dans cette thèse, nous proposons des solutions à différents problèmes de localisation et de reconstruction de géométrie de plaques par ondes guidées ultrasonores. Initiallement, les méthodes présentées reposent sur de la connaissance à priori forte, ainsi que sur des hypothèses sur la géométrie de la plaque. Par la suite, ces hypothèses sont relaxées afin d'étendre les méthodes proposées à des cas plus généraux. Le contenu de cette thèse est comme suit.

Le Chapitre 2 introduit les différentes notions théoriques qui sont nécessaires pour la compréhension des méthodes développées dans cette thèse. En particulier, les éléments théoriques fondamentaux sur la propagation des ondes guidées sont rappelées, la notion de filtrage spatial
par formation de voies est présentée, et les méthodes conventionnelles de filtrage Bayésien pour
la localisation et la cartographie sont introduites.

Dans le **Chapitre 3**, nous présentons un simple filtre à particules dont le modèle d'observation est obtenu par corrélation des signaux ultrasoniques avec un modèle de propagation de l'onde, dans le but de permettre la localisation précise du capteur sur une plaque de métal rectangulaire. La particularité de cette approche réside dans le fait que ni la détection, ni l'association explicites des échos ne sont nécessaires. L'efficacité de cette approche est évaluée sur des mesures ultrasoniques obtenues par déplacement manuel des capteurs acoustiques sur une plaque en métal, dans un environnement de laboratoire. Les résultats montrent que dans la configuration considérée, une précision centimétrique sur la position des capteurs peut être obtenue.

Dans le **Chapitre 4**, nous proposons un algorithme FastSLAM qui intègre la technique de formation de voies par délai et somme pour résoudre le problème de SLAM dit "en ligne" (ou en temps réel), ce qui permet de retrouver la position des bords d'une plaque rectangulaire de façon conjointe avec la localisation des capteurs. Les performances de cette méthode sont comparées avec celles d'une approche de FastSLAM qui se base sur la détection et l'association explicites des échos. Les résultats montrent que, avec la nouvelle méthode proposée, la localisation et la cartographie se fait de façon beaucoup plus précise et robuste. Par ailleurs, une expérience de SLAM est réalisée avec un crawler magnétique réel dans le but de démontrer l'applicabilité pratique du SLAM ultrasonique.

Le **Chapitre 5** présente une approche de cartographie plus élaborée que celle introduite dans le Chapitre 4, car elle permet de construire une représentation probabiliste en grille de la surface d'une plaque de métal, conjointement avec la construction d'une représentation par éléments caractéristiques du même environnement. L'objectif de cette approche est de permettre l'évaluation de l'incertitude sur la reconstruction de la carte, et de mettre à profit la contrainte de consistance entre les deux représentations pour mitiger l'effet d'interférence du signal induit par la formation de voies. Cette nouvelle approche de cartographie est, par ailleurs, intégrée dans une stratégie d'exploration pour conduire, de façon automatique, un agent autonome vers les positions d'acquisitions qui sont les plus informatives. Enfin, notre approche de cartographie par représentations combinées est utilisée pour étendre notre approche de reconstruction géométrie à des polygones plus arbitraires que des rectangles.

Dans le **Chapitre 6**, nous proposons une approche de GraphSLAM pour résoudre le problème de SLAM dit "complet" en utilisant également les échos d'ordre supérieur qui sont contenus dans les mesures ultrasonores. Cette approche intègre un modèle d'observation d'échos d'ordre supérieurs, ainsi qu'une technique de formation de voies dans un optimiseur de moindres carrés non-linéaire. Cette approche est validée sur des données expérimentales.

Le **Chapitre 7** présente une approche de formation de voies optimale, de sorte à rendre possible la cartographie d'une structure en métal sans connaissance précise à priori du modèle de propagation des ondes. En effet, celle-ci risque de manquer lors d'une tâche d'inspection réelle. Nous montrons que, par la maximisation du niveau de focalisation de la technique formation de voies, les paramètres du modèle de propagation peuvent être adaptés afin d'obtenir des résultats précis de cartographie, et lorsque les propriétés de propagations ne sont pas parfaitement connues. Pour mettre en évidence le niveau d'efficacité de cette approche, celle-ci est évaluée sur des mesures obtenues dans des conditions d'acquisition nominales, et non nominales.

Enfin, le **Chapitre 8** résume l'ensemble des contributions de cette thèse et propose au lecteur des suggestions de travail futur.

La table suivante présente un résumé des différents problèmes de localisation et de cartographie qui sont considérés dans cette thèse, ainsi que des hypothèses qui sont faites.
<table><caption>Table 1: Résumé des différents problèmes considérés dans cette thèse selon chaque chapitre.</caption><thead><tr><th>Chapitre</th><th>Problème</th><th>En ligne / Hors ligne</th><th>Géométrie de plaque</th><th>Modèle de propagation</th></tr></thead><tbody><tr><td>3</td><td>Localisation</td><td>En ligne</td><td>Rectangulaire</td><td>Connu</td></tr><tr><td>4</td><td>SLAM</td><td>En ligne</td><td>Rectangulaire</td><td>Connu</td></tr><tr><td>5.1</td><td>Cartographie</td><td>En ligne</td><td>Rectangulaire</td><td>Connu</td></tr><tr><td>5.2</td><td>Exploration</td><td>En ligne</td><td>Rectangulaire</td><td>Connu</td></tr><tr><td>5.3</td><td>Cartographie</td><td>Hors ligne</td><td>Polygonale</td><td>Connu</td></tr><tr><td>6</td><td>SLAM complet</td><td>Hors ligne</td><td>Rectangulaire</td><td>Connu</td></tr><tr><td>7</td><td>Cartographie</td><td>Hors ligne</td><td>Rectangulaire</td><td>Inconnu</td></tr></tbody></table>
# Contents

<table><tbody><tr><td><strong>Chapter 1 Introduction</strong></td><td><strong>1</strong></td></tr><tr><td>1.1 On the inspection of large metal structures</td><td>1</td></tr><tr><td>1.2 Acoustic SLAM using omnidirectional guided waves</td><td>2</td></tr><tr><td>1.3 Thesis outline</td><td>4</td></tr><tr><td>1.4 List of publications</td><td>5</td></tr><tr><td><strong>Chapter 2 Background theory</strong></td><td><strong>7</strong></td></tr><tr><td>2.1 Lamb wave propagation in a metal plate</td><td>7</td></tr><tr><td>2.1.1 Rayleigh-Lamb equations</td><td>8</td></tr><tr><td>2.1.2 Green's function</td><td>9</td></tr><tr><td>2.2 Array signal processing</td><td>10</td></tr><tr><td>2.2.1 Introduction to beamforming</td><td>10</td></tr><tr><td>2.2.2 Applications in Structural Health Monitoring</td><td>11</td></tr><tr><td>2.3 Bayesian filtering</td><td>12</td></tr><tr><td>2.3.1 Probabilistic interaction models</td><td>12</td></tr><tr><td>2.3.2 Recursive Bayes filter</td><td>14</td></tr><tr><td>2.3.3 Particle filter</td><td>15</td></tr><tr><td>2.3.4 Mapping</td><td>16</td></tr><tr><td>2.3.5 Simultaneous Localization and Mapping</td><td>17</td></tr><tr><td><strong>Chapter 3 On-plate Monte-Carlo localization</strong></td><td><strong>19</strong></td></tr><tr><td>3.1 Introduction</td><td>19</td></tr><tr><td>3.1.1 Related works</td><td>20</td></tr><tr><td>3.2 On-plate localization using ultrasonic guided waves</td><td>21</td></tr><tr><td>3.2.1 Problem statement</td><td>21</td></tr><tr><td>3.2.2 Measurement model and image sources</td><td>21</td></tr><tr><td>3.2.3 Correlation signal</td><td>23</td></tr><tr><td>3.2.4 Monte-Carlo localization</td><td>24</td></tr><tr><td>3.3 Experimental results</td><td>25</td></tr></tbody></table>
<table>
  <tbody>
    <tr>
      <td>3.3.1 Experimental setup</td>
      <td>25</td>
    </tr>
    <tr>
      <td>3.3.2 Dispersion curves</td>
      <td>26</td>
    </tr>
    <tr>
      <td>3.3.3 Echo detection</td>
      <td>27</td>
    </tr>
    <tr>
      <td>3.3.4 Localization results</td>
      <td>28</td>
    </tr>
    <tr>
      <td>3.4 Chapter summary</td>
      <td>31</td>
    </tr>
    <tr>
      <td><strong>Chapter 4 Online Simultaneous Localization and Mapping</strong></td>
      <td><strong>33</strong></td>
    </tr>
    <tr>
      <td>4.1 Introduction</td>
      <td>33</td>
    </tr>
    <tr>
      <td>4.1.1 Acoustic mapping</td>
      <td>34</td>
    </tr>
    <tr>
      <td>4.1.2 Simultaneous Localization and Mapping</td>
      <td>34</td>
    </tr>
    <tr>
      <td>4.1.3 Introduction to FastSLAM</td>
      <td>35</td>
    </tr>
    <tr>
      <td>4.2 Proof-of-concept FastSLAM method</td>
      <td>36</td>
    </tr>
    <tr>
      <td>4.2.1 Notations and assumptions</td>
      <td>38</td>
    </tr>
    <tr>
      <td>4.2.2 Echo detection</td>
      <td>38</td>
    </tr>
    <tr>
      <td>4.2.3 From echoes to edge hypotheses</td>
      <td>39</td>
    </tr>
    <tr>
      <td>4.2.4 FastSLAM integration</td>
      <td>40</td>
    </tr>
    <tr>
      <td>4.2.5 Overview on the SLAM results</td>
      <td>41</td>
    </tr>
    <tr>
      <td>4.3 A FastSLAM approach integrating beamforming maps</td>
      <td>43</td>
    </tr>
    <tr>
      <td>4.3.1 Plate boundary mapping with delay-and-sum beamforming</td>
      <td>44</td>
    </tr>
    <tr>
      <td>4.3.2 Particle evaluation and FastSLAM algorithm</td>
      <td>46</td>
    </tr>
    <tr>
      <td>4.4 Experimental results</td>
      <td>47</td>
    </tr>
    <tr>
      <td>4.4.1 Experimental setups</td>
      <td>47</td>
    </tr>
    <tr>
      <td>4.4.2 Localization and mapping results</td>
      <td>48</td>
    </tr>
    <tr>
      <td>4.4.3 Experiment with a magnetic crawler</td>
      <td>52</td>
    </tr>
    <tr>
      <td>4.5 Chapter summary</td>
      <td>55</td>
    </tr>
    <tr>
      <td><strong>Chapter 5 Guided wave-based mapping with combined representations</strong></td>
      <td><strong>57</strong></td>
    </tr>
    <tr>
      <td>5.1 Motivation and background</td>
      <td>57</td>
    </tr>
    <tr>
      <td>5.1.1 Related works</td>
      <td>59</td>
    </tr>
    <tr>
      <td>5.1.2 Binary Bayesian filtering</td>
      <td>59</td>
    </tr>
    <tr>
      <td>5.2 Grid and feature-based mapping using ultrasonic guided waves</td>
      <td>61</td>
    </tr>
    <tr>
      <td>5.2.1 Feature-based mapping via beamforming</td>
      <td>61</td>
    </tr>
    <tr>
      <td>5.2.2 Estimation problem formulation</td>
      <td>62</td>
    </tr>
    <tr>
      <td>5.2.3 Binary filtering with adaptive inverse sensor models</td>
      <td>63</td>
    </tr>
    <tr>
      <td>5.2.4 Inverse model estimation in the Cartesian space</td>
      <td>64</td>
    </tr>
    <tr>
      <td>5.2.5 Inverse model estimation in the line boundary space</td>
      <td>66</td>
    </tr>
    <tr>
      <td>5.2.6 Algorithm implementation</td>
      <td>67</td>
    </tr>
  </tbody>
</table>
<table>
  <tbody>
    <tr>
      <td>5.3</td>
      <td>Numerical and experimental results</td>
      <td>67</td>
    </tr>
    <tr>
      <td>5.3.1</td>
      <td>Results with hand-picked measurements</td>
      <td>67</td>
    </tr>
    <tr>
      <td>5.3.2</td>
      <td>Simulation results</td>
      <td>69</td>
    </tr>
    <tr>
      <td>5.3.3</td>
      <td>Results with a magnetic crawler</td>
      <td>69</td>
    </tr>
    <tr>
      <td>5.4</td>
      <td>Towards ultrasound-based autonomous exploration</td>
      <td>71</td>
    </tr>
    <tr>
      <td>5.4.1</td>
      <td>Related works</td>
      <td>71</td>
    </tr>
    <tr>
      <td>5.4.2</td>
      <td>Overview of the frontier exploration approach</td>
      <td>72</td>
    </tr>
    <tr>
      <td>5.4.3</td>
      <td>Overview of the exploration results</td>
      <td>73</td>
    </tr>
    <tr>
      <td>5.5</td>
      <td>Polygonal shapes reconstruction from acoustic echoes</td>
      <td>76</td>
    </tr>
    <tr>
      <td>5.5.1</td>
      <td>Related works</td>
      <td>77</td>
    </tr>
    <tr>
      <td>5.5.2</td>
      <td>Problem statement</td>
      <td>77</td>
    </tr>
    <tr>
      <td>5.5.3</td>
      <td>A regularized cost for polygonal shape reconstruction</td>
      <td>78</td>
    </tr>
    <tr>
      <td>5.5.4</td>
      <td>Shape reconstruction with simulated annealing</td>
      <td>79</td>
    </tr>
    <tr>
      <td>5.5.5</td>
      <td>Simulation results</td>
      <td>80</td>
    </tr>
    <tr>
      <td>5.5.6</td>
      <td>Experimental results</td>
      <td>82</td>
    </tr>
    <tr>
      <td>5.6</td>
      <td>Chapter summary</td>
      <td>84</td>
    </tr>
    <tr>
      <td colspan="2"><strong>Chapter 6 Graph-based Simultaneous Localization and Mapping</strong></td>
      <td><strong>85</strong></td>
    </tr>
    <tr>
      <td>6.1</td>
      <td>Motivation and background</td>
      <td>85</td>
    </tr>
    <tr>
      <td>6.1.1</td>
      <td>Multi-order echoes signal processing</td>
      <td>86</td>
    </tr>
    <tr>
      <td>6.1.2</td>
      <td>Related works on GraphSLAM</td>
      <td>86</td>
    </tr>
    <tr>
      <td>6.2</td>
      <td>A graph-based framework for ultrasonic SLAM</td>
      <td>87</td>
    </tr>
    <tr>
      <td>6.2.1</td>
      <td>Localization with a multi-order echo observation model</td>
      <td>87</td>
    </tr>
    <tr>
      <td>6.2.2</td>
      <td>Mapping only with beamforming</td>
      <td>88</td>
    </tr>
    <tr>
      <td>6.2.3</td>
      <td>The GraphSLAM cost criterion</td>
      <td>90</td>
    </tr>
    <tr>
      <td>6.2.4</td>
      <td>Sparse non-linear least squares minimization</td>
      <td>91</td>
    </tr>
    <tr>
      <td>6.3</td>
      <td>Experimental results</td>
      <td>92</td>
    </tr>
    <tr>
      <td>6.3.1</td>
      <td>Comparison of the observation models performance</td>
      <td>93</td>
    </tr>
    <tr>
      <td>6.3.2</td>
      <td>Experimental localization and mapping results</td>
      <td>95</td>
    </tr>
    <tr>
      <td>6.3.3</td>
      <td>A study on the sensitivity of GraphSLAM to the loss parameter</td>
      <td>99</td>
    </tr>
    <tr>
      <td>6.3.4</td>
      <td>Discussions</td>
      <td>100</td>
    </tr>
    <tr>
      <td>6.4</td>
      <td>Chapter summary</td>
      <td>101</td>
    </tr>
    <tr>
      <td colspan="2"><strong>Chapter 7 Learning the propagation model for Lamb wave-based mapping</strong></td>
      <td><strong>103</strong></td>
    </tr>
    <tr>
      <td>7.1</td>
      <td>Introduction and background</td>
      <td>103</td>
    </tr>
    <tr>
      <td>7.1.1</td>
      <td>Related works</td>
      <td>104</td>
    </tr>
    <tr>
      <td>7.2</td>
      <td>Proposed method</td>
      <td>105</td>
    </tr>
  </tbody>
</table>
<table><tbody><tr><td>7.2.1 Lamb wave-based mapping</td><td>105</td></tr><tr><td>7.2.2 Optimal beamforming for model learning</td><td>106</td></tr><tr><td>7.2.3 Optimization with simulated annealing</td><td>108</td></tr><tr><td>7.3 Experimental results</td><td>109</td></tr><tr><td>7.3.1 Experimental scenarios</td><td>109</td></tr><tr><td>7.3.2 Influence of the high-pass filter</td><td>110</td></tr><tr><td>7.3.3 Correlation between the loss and the mapping accuracy</td><td>111</td></tr><tr><td>7.3.4 Mapping results with model learning in nominal conditions</td><td>113</td></tr><tr><td>7.3.5 Mapping results with model learning in non-nominal conditions</td><td>114</td></tr><tr><td>7.3.6 Evaluation of our approach with sparse measurements</td><td>115</td></tr><tr><td>7.3.7 Discussions</td><td>117</td></tr><tr><td>7.4 Chapter summary</td><td>118</td></tr><tr><td><strong>Chapter 8 Conclusion</strong></td><td><strong>121</strong></td></tr><tr><td>8.1 Summary of the contributions</td><td>121</td></tr><tr><td>8.2 Perspectives</td><td>122</td></tr><tr><td><strong>Appendix: Derivation of the integrals of the inverse models</strong></td><td><strong>123</strong></td></tr><tr><td>A: Derivation of the first integral</td><td>123</td></tr><tr><td>B: Derivation of the second integral</td><td>123</td></tr><tr><td><strong>Bibliography</strong></td><td><strong>125</strong></td></tr></tbody></table>
List of Figures

<table>
  <tbody>
    <tr>
      <td>1</td>
      <td>Image d'un crawler magnétique navigant sur la façade d'un réservoir de stockage.</td>
      <td>vii</td>
    </tr>
    <tr>
      <td>2</td>
      <td>Une mesure ultrasonore obtenue expérimentalement par application de capteurs piézoélectriques sur une plaque en acier. Le signal contient de multiples paquets d'onde dûs aux réflexions de l'onde émise sur les bords de plaque.</td>
      <td>vii</td>
    </tr>
    <tr>
      <td>1.1</td>
      <td>(Left) Closeup of the Altiscan magnetic crawler on a metal structure. (Right) Ultrasonic guided waves reflecting on the edges of a metal panel in a simulation environment.</td>
      <td>1</td>
    </tr>
    <tr>
      <td>1.2</td>
      <td>The Altiscan crawler navigating on the facade of a 20 m high storage tank.</td>
      <td>2</td>
    </tr>
    <tr>
      <td>1.3</td>
      <td>An ultrasonic measurement acquired experimentally by applying contact piezoelectric transducers on a steel plate sample. The measurement contains multiple wave packets due to the reflections of the incident wave on the plate boundaries.</td>
      <td>2</td>
    </tr>
    <tr>
      <td>2.1</td>
      <td>Simplified representation of the out-of-plate distortion induced by Lamb wave symmetric and anti-symmetric modes in a plate. The plate boundaries at equilibrium state of the plate are represented by the discontinuous lines.</td>
      <td>7</td>
    </tr>
    <tr>
      <td>2.2</td>
      <td>Illustration of the wave dispersion effect in a metal plate with simulated data.</td>
      <td>8</td>
    </tr>
    <tr>
      <td>2.3</td>
      <td>Dispersion curves for several low order symmetric and anti-symmetric Lamb wave modes in a aluminum plate (c<sub>L</sub> = 6420 m/s, c<sub>T</sub> = 3040 m/s). The top figure depicts the group velocities while the bottom plot shows the wavenumbers.</td>
      <td>9</td>
    </tr>
    <tr>
      <td>2.4</td>
      <td>Illustration of delay-and-sum beamforming to achieve source localization. The filter weights w(θ) apply delays to the input signals based on the distance between each antenna element and candidate position θ. The beamformer outputs the sum of the delayed signals which presents constructive interference when the candidate θ matches the true source location.</td>
      <td>11</td>
    </tr>
    <tr>
      <td>2.5</td>
      <td>Defect detection using a network of sensors. Baseline subtraction and a multi-channel processing technique are used to obtain imaging results. The illustrations are taken from [37].</td>
      <td>12</td>
    </tr>
    <tr>
      <td>2.6</td>
      <td>Illustration of the robot state along with adopted notations in a 2D world.</td>
      <td>13</td>
    </tr>
    <tr>
      <td>2.7</td>
      <td>Representation of the dynamic process, made of successive robot motions and perception actions, with a Bayesian network. The robot poses x<sub>i</sub> are related to the past one x<sub>i-1</sub> and odometry input u<sub>i-1</sub>, while measurements z<sub>i</sub> depend only on the current state x<sub>i</sub>.</td>
      <td>14</td>
    </tr>
    <tr>
      <td>2.8</td>
      <td>Representation of online SLAM with a Bayesian network. The robot poses x<sub>i</sub> are related to the previous state x<sub>i</sub> and odometry input u<sub>i-1</sub>, while measurements z<sub>i</sub> depend both on the current state x<sub>i</sub> and the map M.</td>
      <td>17</td>
    </tr>
  </tbody>
</table>
<table>
  <tbody>
    <tr>
      <td>3.1</td>
      <td>Illustration representing a robotic agent whose pose is x = [x, y, θ]<sup>T</sup> on a rectangular metal plate of dimensions w × h.</td>
      <td>22</td>
    </tr>
    <tr>
      <td>3.2</td>
      <td>Illustration of the image source model. On the left is an actual setup with an omnidirectional emitter/receiver situated in a space partially bounded by two reflective lines. On the right is the equivalent setup provided by the image source model. The first-order image sources at p<sub>1</sub> and p<sub>2</sub> are obtained by symmetry of the real source on each boundary. The second-order one at p<sub>3</sub> is obtained by symmetry of one of the first-order image sources.</td>
      <td>23</td>
    </tr>
    <tr>
      <td>3.3</td>
      <td>(Left) Picture of the experimental setup for data acquisition. (Right) Position of the measurement points on the plate.</td>
      <td>26</td>
    </tr>
    <tr>
      <td>3.4</td>
      <td>Two-dimensional space-time Fourier transform of the experimental wave field recorded on the considered aluminum plate sample. It is overlaid by the theoretical dispersion curves of the A0 and S0 Lamb wave modes.</td>
      <td>27</td>
    </tr>
    <tr>
      <td>3.5</td>
      <td>Illustration showing the position of the sensors on the metal plate for acquisition of the test measurement.</td>
      <td>28</td>
    </tr>
    <tr>
      <td>3.6</td>
      <td>The acoustic measurement acquired on the aluminum plate after placing the transducers on the plate, as depicted in Fig. 3.5 (top plot), and the correlation signal obtained from the measurement along with its envelope (bottom plot). The ranges relative to the first-order reflections (8, 37, 52 cm) can be successfully retrieved from the local maxima of the envelope signal. The echo at nearly 45 cm corresponds to a higher-order reflection.</td>
      <td>28</td>
    </tr>
    <tr>
      <td>3.7</td>
      <td>Qualitative localization results of the particle filter during measurement steps 1, 7, 14, 45, 83 and 108 of the simulated lawn mowing trajectory. The red dot represents the ground truth sensor position, the red line accounts for the true sensor trajectory. The blue rectangle represents the outline of the plate, and the arrows account for the particles' distribution.</td>
      <td>29</td>
    </tr>
    <tr>
      <td>3.8</td>
      <td>Evolution of the localization errors (determined based on the median of the particles' state) on the x (left) and y (right) coordinates for 10 repetitions of the considered scenario. The red line is the average error calculated over the repetitions.</td>
      <td>30</td>
    </tr>
    <tr>
      <td>3.9</td>
      <td>Evolution of the localization errors (determined based on the median of the particles' state) on the x (left) and y (right) coordinates for 10 repetitions of the considered scenario, and using the particle disturbance probability γ = 0. The red line is the average error calculated over the repetitions.</td>
      <td>30</td>
    </tr>
    <tr>
      <td>4.1</td>
      <td>Line hypotheses generated from two measurements at position P<sub>t-1</sub> and P<sub>t</sub>. Left: the robot moves away from the edge and generates a single hypothesis, right: generic case leading to two edge hypotheses.</td>
      <td>39</td>
    </tr>
    <tr>
      <td>4.2</td>
      <td>Illustration of the echo detection process. Panel a) shows the emitted signal. Panel b) shows the echo signal (blue trace) and the reconstructed impulse response (orange trace). Panel c) shows the reconstruction residual.</td>
      <td>42</td>
    </tr>
    <tr>
      <td>4.3</td>
      <td>Evolution of the map representation for the highest-ranked particle at step 1, 36, 124 and 239. The purple frame represents the outline of the true plate. The red dot is the current estimated sensor pose, and the red line is the history of its estimated trajectory. The darkness of the line is proportional to the number of times they have been observed.</td>
      <td>42</td>
    </tr>
    <tr>
      <td>4.4</td>
      <td>Representation of lines using (r, α) coordinates. As a convention, the reference frame is taken as the initial robot position, and the x axis is aligned with the initial robot heading.</td>
      <td>45</td>
    </tr>
  </tbody>
</table>
<table>
  <tbody>
    <tr>
      <td>4.5</td>
      <td>Acquisition positions on the steel plate.</td>
      <td>47</td>
    </tr>
    <tr>
      <td>4.6</td>
      <td>Trajectories estimated by all the particles (black lines), dead-reckoning trajectories (dash magenta lines) and map retrieved by the most likely particle (green lines) during Steps 1, 22, 50 and 108 for a lawn-mower path on plate 1 (zoom for details). The true outline of the plate and true sensor positions correspond to the blue rectangle and blue dot respectively.</td>
      <td>48</td>
    </tr>
    <tr>
      <td>4.7</td>
      <td>Beamforming map for the particle with the highest weight during the final step. The (r, α) coordinates are expressed in the reference frame which origin is the initial position of the sensors, and the x axis is aligned with the initial heading. The rectangles indicate the edges retrieved with our method.</td>
      <td>49</td>
    </tr>
    <tr>
      <td>4.8</td>
      <td>Localization and mapping results over 100 repetitions of a lawn-mower path on plate 1 for the previous and the new FastSLAM methods. a) Average estimation errors on the range parameter of the lines. b) Average estimation errors on the angle parameter. c) Average localization errors in the estimated plate frame. The 10% and 90% quantiles correspond to the upper and lower bounds of the coloured areas. The scales along the y-axis are logarithmic.</td>
      <td>50</td>
    </tr>
    <tr>
      <td>4.9</td>
      <td>Localization and mapping results over 100 repetitions of a lawn-mower path on plate 2 for the new FastSLAM method. a) Average estimation errors on the range parameter of the lines. b) Average estimation error on the angle parameter. c) Average localization errors in the estimated plate frame. The 10% and 90% quantiles correspond to the upper and lower bounds of the coloured areas. The scales along the y-axis are logarithmic.</td>
      <td>51</td>
    </tr>
    <tr>
      <td>4.10</td>
      <td>Schematic of designed electrical circuit for a true pulse-echo setup. The diodes in parallel are 1N4148 commutation diodes, while the diodes in series are Zener diodes.</td>
      <td>53</td>
    </tr>
    <tr>
      <td>4.11</td>
      <td>Qualitative SLAM results obtained with a magnetic crawler, and using the proposed FastSLAM approach, during different steps of the experiment.</td>
      <td>54</td>
    </tr>
    <tr>
      <td>5.1</td>
      <td>An example of an occupancy grid with coarse resolution. It illustrates the typical effect of integrating a single range measurement to an obstacle into an initial uncertain map.</td>
      <td>60</td>
    </tr>
    <tr>
      <td>5.2</td>
      <td>Illustration of the interference effect. (a) shows mapping results obtained in a simulated scenario, where one edge is not correctly identified from the beamforming map shown in (b). The origin O of the reference frame is indicated along with the (r, α) coordinate of the left line. The ground truth plate outline is represented by the blue rectangle.</td>
      <td>62</td>
    </tr>
    <tr>
      <td>5.3</td>
      <td>Illustration of beamforming map filtering with the first acoustic echo for interference rejection. a) shows the mapping results obtained after applying, to the beamforming map in Fig. 5.2b, a binary mask that filters lines which can no longer exist, as they cross the area identified as "on the plate". The on-plate area identified with the ground-truth echo measurements is represented in (a) as the lighter area. The origin O of the reference frame is indicated along with the (r, α) coordinate of the left line.</td>
      <td>62</td>
    </tr>
    <tr>
      <td>5.4</td>
      <td>Illustration of the inverse model in the Cartesian space for different values of detected range (which is equal to the radius of the light disk surface). The sensor position is represented by the red point, and the considered line estimate is in green.</td>
      <td>66</td>
    </tr>
  </tbody>
</table>
<table>
  <tbody>
    <tr>
      <td>5.5</td>
      <td>Mapping results achieved on the aluminum plate during Steps 1, 42, 108 and 216. Each sub-figure depicts, on the left, the sensor trajectory along with the detected range to the closest edge represented by the circles, and on the right, the filtered beamforming maps during the same step, where the red rectangles indicate the retrieved edge estimates.</td>
      <td>68</td>
    </tr>
    <tr>
      <td>5.6</td>
      <td>Final mapping errors w.r.t. the noise level on the echo detection assessed over 10 repetitions of the lawnmower trajectory. The errors are determined both for our approach and for the baseline one. The left plot shows the range errors, while the orientation errors are shown on the right plot. The solid lines represent the average values, while the upper and lower bounds of the colored areas are situated respectively above and below one standard deviation to the mean values.</td>
      <td>69</td>
    </tr>
    <tr>
      <td>5.7</td>
      <td>Combined feature-based and grid-based mapping with a robotic platform relying on UGWs. (a) shows the experimental setup. (b), (c), (d) and (e) present the mapping results at different steps along the robot transect. The robot pose (red arrow) and trajectory (red line) are also represented.</td>
      <td>70</td>
    </tr>
    <tr>
      <td>5.8</td>
      <td>Illustration of a mapping output provided by our approach. The blue dot represents the sensor position and the blue line is its overall trajectory. The red rectangle represents the estimate M&#x0302; obtained via DAS beamforming. The grid O&#x0302; is accounted for with the color of the cells. The valid (resp. invalid) frontier points correspond to the red (resp. black) dots. The green point indicates the selected next best point.</td>
      <td>73</td>
    </tr>
    <tr>
      <td>5.9</td>
      <td>Mapping outputs obtained in simulation during different steps of the mapping process. The blue dot represents the sensor position, and the blue line is the sensor trajectory. The red rectangle represents the feature-based map estimate obtained via DAS beamforming. The grid O&#x0302; is accounted for with the color of the cells. The valid (resp. invalid) frontier points correspond to the red (resp. black) dots. The green point indicates the selected next best point.</td>
      <td>74</td>
    </tr>
    <tr>
      <td>5.10</td>
      <td>Evolution of the plate surface coverage for the four exploration strategies with respect to the traveled distance in the simulations. The discontinuous lines represent the coverage mean value over 5 repetitions of each method, while the upper and lower bounds of the colored areas represent respectively the 90% and 10% quantiles.</td>
      <td>75</td>
    </tr>
    <tr>
      <td>5.11</td>
      <td>Top view of the experimental setup. A turtlebot platform is used along with AR tag markers for ground truth positioning.</td>
      <td>75</td>
    </tr>
    <tr>
      <td>5.12</td>
      <td>Evolution of the plate surface coverage for the three exploration strategies with respect to the traveled distance during the experiments. The solid lines represent the coverage mean value over 5 repetitions of each method, while the upper and lower bounds of the colored areas represent respectively the 90% and 10% quantiles.</td>
      <td>76</td>
    </tr>
    <tr>
      <td>5.13</td>
      <td>Schematic of the problem setup and notations. An example of shape to estimate is represented by the red polygon. A candidate geometry estimate is represented by the set of green lines, whose (r, α) coordinates are only provided for one of them. The area A formed with a single range measurement ρ is represented by the lighter area. The inner surfaces of A and M&#x0302; are delimited with the discontinuous dashed lines.</td>
      <td>78</td>
    </tr>
  </tbody>
</table>
5.14 The different simulated setups along with an instance of mapping results. On the left of each sub-figure, the outline of the ground-truth geometry is provided in discontinuous red, the green lines account for the estimated edges, and the robot path and acquisition positions are represented in black. The corresponding beamforming maps are provided on the right, where the red rectangles indicate the retrieved edges. The edge coordinates are expressed in the fixed frame, whose origin is the initial sensor position *O*, and the *x*-axis is aligned with the initial robot heading. 81

5.15 Evolution of the performance criteria for the 3 scenarios, and for 10 repetitions of the optimizer. The top plots show, in blue, the evolution of the costs. The middle plots depict the estimated number of edges after application of the edge rejection criterion. The bottom plots show the IoU between estimated and ground-truth surfaces. The median values are in red. 82

5.16 Mapping results for the experimental setup. (a, left) shows the simulated sensor path (in black), the plate outline (discontinuous red) and estimated edges (green). The corresponding beamforming map is provided on the right, where the red rectangles indicate the retrieved edges. (b) shows the evolution of the loss, the number of estimated edges and the value of IoU($\hat{M}$, M) for 10 repetitions of the optimizer. The black horizontal line on the IoU plot is the value achieved with the baseline method. The median values are in red. 83

6.1 Positions of the image sources (red dots) for a rectangular plate with dimensions $w \times h$ (blue), and a fixed emitter position $[x, y]$ (blue dot). 88

6.2 Illustration of the envelope signal obtained from an experimental ultrasonic measurement acquired on a rectangular metal panel, and comparison with the expected envelope calculated with the matched Gaussian mixture model. 89

6.3 Graph representation of the (sparse) SLAM problem, where the variables to estimate are the positions $\mathbf{x}_i$ and the map $\mathbf{M}$, the inputs are the odometry data $\mathbf{u}_i$ and measurements $\mathbf{z}_i$. The constraints (induced by the external measurements) between the variables are represented by the graph edges, which are related to the $l$ functions. 90

6.4 Graph representation of the SLAM problem after integration of DAS beamforming. The variables to estimate are the positions $\mathbf{x}_i$, and the map $\mathbf{M}$ is hidden as it can directly be inferred from all $\mathbf{x}_i$ using DAS beamforming. For simplicity of the graph representation, an edge is drawn to account for the existence of a constraint between two variables. 91

6.5 Likelihood maps of sensor presence obtained using measurements acquired on the aluminum plate (a), (b), and on the steel plate (c), (d). The true sensor position is indicated by the red mark. The outline of each plot accounts for the plate boundaries, and the color maps only spans the range from the minimum to the maximum likelihood value. 93

6.6 Average localization errors calculated using the two considered models. The position error is averaged over all the measurements acquired on the aluminium plate (top) and steel plate (bottom) with respect to $\gamma$, yielding the solid lines. The upper and lower bounds of the colored areas are situated respectively above and below one standard deviation from the average. 94
<table>
  <tbody>
    <tr>
      <td>6.7</td>
      <td>Ground truth trajectories and dead-reckoning trajectories used for Scenario 1 (a) and Scenario 2 (b). The black rectangle represents the actual outline of the metal plate.</td>
      <td>95</td>
    </tr>
    <tr>
      <td>6.8</td>
      <td>Localization and mapping results obtained with FastSLAM for the Scenario 1. The figure represents the trajectories estimated by all the particles (red lines), along with the map retrieved by the particle with the highest weight (green lines) during Steps 1, 6, 18, 49, 88 and 108 of the simulated lawn-mowing trajectory. The true outline of the plate and true sensor positions correspond to the black rectangle and blue dot, respectively.</td>
      <td>96</td>
    </tr>
    <tr>
      <td>6.9</td>
      <td>Representation of the SLAM results during iteration Steps 1, 15, 29, and 41 of the NLS optimization process for Scenario 1. The true outline of the plate is represented by the black rectangle. For better comparison of the reconstructed trajectory with the ground truth, they are expressed in the estimated (resp. ground truth) plate frame, while the origin of the estimated plate geometry is fixed at [0, 0].</td>
      <td>97</td>
    </tr>
    <tr>
      <td>6.10</td>
      <td>Evolution of the loss (left), along with the localization and mapping errors (right) during the NLS optimization process for Scenario 1. The loss evaluated at ground truth is represented as a horizontal line.</td>
      <td>98</td>
    </tr>
    <tr>
      <td>6.11</td>
      <td>Evolution of the loss (left), along with the localization and mapping errors (right) during the NLS optimization process for Scenario 2. The loss evaluated at ground truth is represented as a horizontal line.</td>
      <td>98</td>
    </tr>
    <tr>
      <td>6.12</td>
      <td>Representation of the SLAM results during iteration step of the NLS optimization process for Scenario 2. The true outline of the plate is represented by the black rectangle. For better comparison of the reconstructed trajectory with the ground truth, they are expressed in the estimated (resp. ground truth) plate frame, while the origin of the estimated plate geometry is fixed at [0, 0].</td>
      <td>99</td>
    </tr>
    <tr>
      <td>6.13</td>
      <td>Evolution of loss along with the localization and mapping errors during the NLS optimization in Scenario 1, and for different cost parameters λ. The top left graph shows the evolution of the difference between the achieved loss and the loss at ground truth. A close view of the same graph is provided on the bottom left plot. The middle plot shows the evolution of the localization errors, while the mapping errors are provided on the right plot.</td>
      <td>100</td>
    </tr>
    <tr>
      <td>7.1</td>
      <td>Picture showing the experimental setup for Scenario 3.</td>
      <td>110</td>
    </tr>
    <tr>
      <td>7.2</td>
      <td>Different beamforming maps computed using the data from Scenario 2 and the retrieved edges. a) shows the standard beamforming map, which yields correct estimates. b) depicts the map obtained with the same data sub-sampled in time. One edge is not correctly estimated. c) shows the high-pass filtered beamforming map obtained from the sub-sampled data. The correct plate geometry is recovered, while the fuzzy areas due to interference and higher-order reflections have been partially filtered out.</td>
      <td>111</td>
    </tr>
    <tr>
      <td>7.3</td>
      <td>2D plots showing the correlation and loss values achieved using each of the propagation models from the predefined model set, and for the three scenarios. On the left, the loss value and geometry estimates are determined from the high-pass filtered beamforming maps. On the right, they are determined from the standard maps without filtering.</td>
      <td>112</td>
    </tr>
  </tbody>
</table>
<table>
  <tbody>
    <tr>
      <td>7.4</td>
      <td>Evolution of the loss value and reconstruction errors for 10 repetitions of the optimization process with simulated annealing, and using the data from Scenario 1 (a) and Scenario 2 (b). The solid lines represent the mean values. The upper and lower bounds of the filled areas represent the minimum and maximum values respectively during each iteration. For comparison, the values achieved with the predetermined propagation model for each scenario are displayed as horizontal lines. The scale along the y-axis is logarithmic for the range error plots only.</td>
      <td>114</td>
    </tr>
    <tr>
      <td>7.5</td>
      <td>Evolution of the loss value and reconstruction errors for 10 repetitions of the optimization process and using the data from Scenario 3. The blue lines represent the mean values. The upper and lower bounds of the colored areas represent the minimum and maximum values respectively during each iteration. For comparison, the values achieved with the predetermined propagation model are displayed as horizontal red lines. The scale along the y-axis is logarithmic for the range error plot only.</td>
      <td>115</td>
    </tr>
    <tr>
      <td>7.6</td>
      <td>Simulated robot paths used for the experiments on the steel plate (left) and the aluminum plate (right). The path lengths (i.e the number of acquisition positions) are respectively 36 and 26.</td>
      <td>116</td>
    </tr>
    <tr>
      <td>7.7</td>
      <td>Reconstruction errors w.r.t. the number of measurements considered in the loss, and using the data from Scenario 2 (a) or from Scenario 3 (b). The measurements are integrated one after the other in the loss, following the simulated paths. The error is only evaluated for the model yielding the lower loss value for the two cases (model selection with and without filtering the beamforming maps). For comparison, the errors achieved with the predetermined models are also displayed.</td>
      <td>116</td>
    </tr>
    <tr>
      <td>7.8</td>
      <td>Loss value computed on the high-pass filtered beamforming maps with respect to the longitudinal and transverse velocities. The data from Scenario 1 are used for the plot on the left, while the data from Scenario 2 are used for the plot on the right.</td>
      <td>117</td>
    </tr>
  </tbody>
</table>
Acronyms

**DAS** : Delay And Sum

**DoA** : Direction of Arrival

**GPS** : Global Positioning System

**GWs** : Guided Waves

**IMU** : Inertial Measurement Unit

**ML** : Maximum Likelihood

**NDE** : Non-Destructive Evaluation

**NDT** : Non-Destructive Testing

**NLS** : Non-linear Least Squares

**OG** : Occupancy Grid

**SA** : Simulated Annealing

**SH** : Shear Horizontal

**SHM** : Structural Health Monitoring

**SLAM** : Simultaneous Localization and Mapping

**SNR** : Signal to Noise Ratio

**UGWs** : Ultrasonic Guided Waves

**UWB** : Ultra Wide Band
# Chapter 1

# Introduction

## 1.1 On the inspection of large metal structures

The efficient and reliable shipping of merchandise across the world is a cornerstone of world trade. It is estimated that, at any time, there are around 50 000 medium and large merchant ships crossing the oceans, each of them carrying up to hundreds of thousands of tons of goods [1]. In this context, to prevent catastrophic failures with large economical, environmental and life-threatening consequences, the assessment and maintenance of marine vessels' structural integrity is a critical stake, and it is to be carried out on a regular basis. Over the time, structural damages, like corrosion patches that locally affect the thickness of the ship hull, may develop. As they can appear from the inner side of the hull, they may not directly be visible. For these reasons, reliable procedures for assessing ships' hull structural integrity are needed in the marine industry. As it may also concern other large metal structures such as storage tanks, the detection of concealed defects is a significant issue in industry.

Current inspection methods essentially rely on visual inspection and point-by-point thickness measurements (either performed by human operators or by a remote-controlled magnetic crawler, as in Fig. 1.1), when the ship is in dry docks. These methods are suboptimal and time-consuming, as the ship can be immobilized for up to 8 days, with significant financial impacts for shipowners [1]. Besides, due to the limited size of the probes used for the thickness measurements, and based on the large size of the structures of interest, one cannot consider inspecting the entire surface within a reasonable amount of time.

<figure><img src="image_6.png" /><figcaption>Figure 1.1: (Left) Closeup of the Altiscan magnetic crawler on a metal structure. (Right) Ultrasonic guided waves reflecting on the edges of a metal panel in a simulation environment.</figcaption></figure>
The inspection of structures over long ranges is being actively investigated. Ultrasonic Guided Waves (UGWs), in particular, are being integrated into modern Non-Destructive Testing (NDT)-capable devices. These waves can be emitted in plate materials using contact piezoelectric transducers, and can propagate radially over long distances, in a direction parallel to the surface. What makes them appealing is that they are sensitive to structural features, such as a material discontinuity (illustrated in Fig 1.1), or defects. Usually, they are deployed on static networks of sensors that are permanently attached to the structure to monitor local areas. However, in the industry, they are not yet deployed on mobile systems for NDT on large structures.

<figure><img src="image_7.png" /><figcaption>Figure 1.2: The Altiscan crawler navigating on the facade of a 20 m high storage tank.</figcaption></figure>

## 1.2 Acoustic SLAM using omnidirectional guided waves

The long-range robotic inspection of large metal structures, such as storage tanks or ship hulls, has not yet been established, whereas it has the potential to be faster, more accurate, and less prone to risks than traditional methods. In this envisioned application, a robotic platform would be equipped with an ultrasonic sensor for both signal excitation and reception. Following an optimal trajectory on a large structure, as illustrated in Fig. 1.2, the ultrasonic response of various areas of the overall structure can be collected. In this pulse-echo setup, the measurements would contain ultrasonic echoes due to reflections of the excitation wave on structural features, as illustrated in Fig 1.3. After applying appropriate signal processing to the ultrasonic measure-

<figure><img src="image_8.png" /><figcaption>Figure 1.3: An ultrasonic measurement acquired experimentally by applying contact piezoelectric transducers on a steel plate sample. The measurement contains multiple wave packets due to the reflections of the incident wave on the plate boundaries.</figcaption></figure>
ments, one could obtain an accurate map of the structure, depicting structural reflectors such as
weld joints, stiffeners, and potential defects. The development of long-range robotic inspection
is considered by the European project BugWright2 [1], whose main objective is to enable the
inspection of ship hulls by a team of collaborative robots.

It is acknowledged that mapping acoustic scatterers necessitates prior knowledge of the mea-
surement positions. On a large metal structure, accurate positioning (i.e probably at centimeter
precision) would be critical to detect tiny acoustic reflectors, such as defects. To obtain such
level of precision, one may fuse the information provided by different sensors embedded on the
robotic system: namely an Inertial Measurement Unit (IMU), an Ultra Wide Band (UWB)
sensor, along with an ultrasonic transducer. Indeed, by relying on ultrasonic echoes due to re-
flections on structural features such as weld joints, one may use the latter as structure-bound
landmarks for localization. The integration of Global Positioning System (GPS) measurements,
though widely used for navigation in outdoor and clutter-free environments, may not be relevant
for accurate localization on a nearly vertical facade.

Overall, one of the key elements necessary to enable long-range robotic inspection is a solution to the ultrasonic Simultaneous Localization and Mapping (SLAM) problem. Indeed, based on the collected measurements, one would first attempt to accurately recover, with the aid of other external localization systems, the robot trajectory along with the position of structural features that act as acoustic reflectors (but are not defects). In a second step, one would use the estimated trajectory and map to infer the position of potential defects. Although such an application would bring major benefits to industry, it is still a significant research issue.

Compared to directional waves (that can only be emitted and received in a given direction),
the use of omnidirectional guided waves can lead to a much more efficient probing of the envi-
ronment, as one single measurement contain information from all the directions. However, this
requires sophisticated signal processing. For example, to map the boundaries of a metal panel
from ultrasonic measurements as depicted by Fig. 1.3, one may need to identify the actual echoes
from the noise, to group together echoes that originate from a reflection on a same boundary,
and to subsequently estimate the boundary location. These challenging tasks should be per-
formed for low Signal-to-Noise Ratio (SNR) levels, in the presence of (unlabeled) multi-order
reflections, localization uncertainty, and uncertainty on signal propagation in the wave guide,
which is a complex physical phenomenon. During a realistic scenario, one may have to address
these challenges for more arbitrary distributions of acoustic reflectors.

As such a research problem has been little investigated in the literature, this thesis elaborates
various frameworks to solve the SLAM problem by relying on omnidirectional waves, with the
aim to assess their potential for a long-range robotic operation, on a large metal structure. One of
the core contributions is the integration of beamforming in classical estimation frameworks used
in robotics, such as FastSLAM, the Bayesian binary filter, or GraphSLAM. Beamforming is a
conventional technique in signal processing that can apply spatial selection to the received signals
to achieve various tasks, such as the localization of a sound source. We explore how this technique
can be leveraged to design solutions to a class of ultrasonic localization and mapping problems.
One of the key advantages of this approach is that explicit echo detection, and echo association
are not required, which leads to SLAM algorithms that have low algorithmic complexity, and that
are robust to noise. Furthermore, while beamforming is often used in sensor arrays, we will see
that this technique can seamlessly be applied to measurements acquired by a single robot which,
by moving, creates a "synthetic" array. Due to the complexity of the target application, this
thesis only focuses on recovering the boundaries of individual metal panels, thus not considering
the detection of defects. Still, as weld joints may reflect the acoustic energy more strongly than
defects, it is envisioned that their identification is an essential step prior to defect detection.
1.3 Thesis outline

In this thesis, we address various ultrasound-based localization and plate-geometry reconstruc-
tion problems. We initially rely on strong hypotheses, and prior knowledge on the plate environ-
ment to elaborate simple and sound solutions to the localization and mapping problems, while
the subsequent chapters present how these hypotheses can be relaxed to extend the proposed
frameworks to more general situations. The outline of this thesis is as follows:

**Chapter 2** presents the background theory necessary to comprehend the localization and mapping techniques presented in this thesis. It recalls the fundamentals of wave propagation theory in a metal plate, introduces the notion of spatial filtering with beamforming, and briefly recalls the conventional frameworks for localization and mapping used in robotics.

**Chapter 3** introduces a simple particle filter whose observation model is obtained by cor-
relating the ultrasonic measurements with a wave propagation model, with the aim to achieve
accurate robot localization on a rectangular metal panel by relying on UGWs. The particu-
larity of this approach is that no explicit echo detection nor echo association is needed. The
performance of this approach is evaluated by using measurements acquired by moving by hand
piezoelectric sensors on a metal plate sample, in a laboratory environment.

In **Chapter 4**, we propose a FastSLAM algorithm that integrates Delay-and-Sum (DAS) beamforming to solve the online SLAM problem, which can additionally recover the geometry of a rectangular panel. The performance of this approach is compared with that of a second FastSLAM approach that relies on explicit echo detection and echo-plate boundary association. Furthermore, a SLAM experiment with a real magnetic crawler is also carried out to demonstrate the applicability of ultrasonic SLAM.

**Chapter 5** presents a more elaborate mapping framework that can jointly recover a prob-
abilistic grid representation of a metal plate, along with a feature-based representation of the
same environment. The objective of this approach is to enable uncertainty assessment on the
map reconstruction, and to leverage the consistency between two map representations to miti-
gate the detrimental effect of interference induced by DAS beamforming. Furthermore, this novel
mapping framework is integrated within a frontier exploration strategy to automatically drive
an autonomous agent towards informative measurement locations, and it is leveraged to extend
our mapping approach for recovering more arbitrary polygonal shapes than rectangles.

In **Chapter 6**, we propose a GraphSLAM framework to solve the full SLAM problem that can
leverage high-order echoes contained in the ultrasonic measurements. The proposed framework
integrates a multi-order echo observation model along with DAS beamforming into a Non-linear
Least Squares (NLS) optimizer. This approach is next validated on experimental measurements.

**Chapter 7** presents an optimal beamforming approach for mapping a metal plate without prior knowledge of the wave propagation model, as it may be lacking during a practical inspection task. By maximizing the focusing ability of DAS beamforming, the model parameters can be adjusted with the aim to obtain more accurate mapping results when the propagation properties are not perfectly known a priori. To demonstrate the efficiency of this approach, the latter is evaluated both in nominal and non-nominal acquisition conditions.

Finally, **Chapter 8** summarizes the contributions of this thesis, and provides the reader with
elements for future works.

The following table provides a summary of the different ultrasound-based localization and
mapping problems that are addressed in this thesis, along with the hypotheses that are made.
<table><caption>Table 1.1: Summary of the problems addressed in the different chapters of this thesis.</caption><thead><tr><td>Chapter/Part</td><td>Problem addressed</td><td>Online / Offline</td><td>Plate geometry</td><td>Propagation model</td></tr></thead><tbody><tr><td>3</td><td>Localization</td><td>Online</td><td>Rectangular</td><td>Known</td></tr><tr><td>4</td><td>SLAM</td><td>Online</td><td>Rectangular</td><td>Known</td></tr><tr><td>5.1</td><td>Mapping</td><td>Online</td><td>Rectangular</td><td>Known</td></tr><tr><td>5.2</td><td>Exploration</td><td>Online</td><td>Rectangular</td><td>Known</td></tr><tr><td>5.3</td><td>Mapping</td><td>Offline</td><td>Polygonal</td><td>Known</td></tr><tr><td>6</td><td>Full SLAM</td><td>Offline</td><td>Rectangular</td><td>Known</td></tr><tr><td>7</td><td>Mapping</td><td>Offline</td><td>Rectangular</td><td>Unknown</td></tr></tbody></table>

## 1.4 List of publications

This thesis is built on the following articles that have been, in the majority, peer-reviewed and published either in international journals, or in the proceedings of conference venues:

* Ouabi, O. L., Pomarede, P., Geist, M., Declercq, N. F., and Pradalier, C. Monte-Carlo Localization on Metal Plates Based on Ultrasonic Guided Waves. In International Symposium on Experimental Robotics (pp. 345-353). Springer, 2020, covered in Chapter 3.

* Pradalier, C., Ouabi, O. L., Pomarede, P., and Steckel, J. On-plate localization and mapping for an inspection robot using ultrasonic guided waves: a proof of concept. In IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS) (pp. 5045-5050). IEEE. 2020, covered in Chapter 4.

* Ouabi, O. L., Pomarede, P., Geist, M., Declercq, N. F., and Pradalier, C. A FastSLAM approach integrating beamforming maps for ultrasound-based robotic inspection of metal structures. IEEE Robotics and Automation Letters, 6(2), 2908-2913. 2021, covered in Chapter 4.

* Ridani, A., Ouabi, O. L., Declercq, N. F., and Pradalier, C. On-plate autonomous exploration for an inspection robot using ultrasonic guided waves. In European Conference on Mobile Robots (ECMR). IEEE. 2021, covered in Chapter 5.

* Ouabi, O. L., Pomarede, P., Zeghidour, N., Geist, M., Declercq, N., and Pradalier, C. Combined Grid and Feature-based Mapping of Metal Structures with Ultrasonic Guided Waves. In IEEE International Conference on Robotics and Automation (ICRA). (pp. 5056-5062). IEEE. 2022, covered in Chapter 5.

* Ouabi, O. L., Pomarede, P., Declercq, N. F., Zeghidour, N., Geist, M., and Pradalier, C. Learning the propagation properties of rectangular metal plates for Lamb wave-based mapping. Ultrasonics, 123, 106705. 2022, covered in Chapter 7.

* Chahine, G., Schroepfer, P., Ouabi, O. L., and Pradalier, C. A Magnetic Crawler System for Autonomous Long-Range Inspection and Maintenance on Large Structures. Sensors, 22(9), 3235. 2022.

* Ouabi, O. L., Yi, J., Zeghidour, N., Declercq, N., Geist, M., and Pradalier, C. Polygonal Shapes Reconstruction from Acoustic Echoes Using a Mobile Sensor and Beamforming. European Signal Processing Conference (EUSIPCO). 2022, covered in Chapter 5.
* Ouabi, O. L., Zeghidour, N., Declercq, N., Geist, M., and Pradalier, C. Pose-graph SLAM Using Multi-order Ultrasonic Echoes and Beamforming for Long-range Inspection Robots. *Submitted to ICRA 2023*, covered in Chapter 6.
# Chapter 2

## Background theory

The emergence of a complete long-range robotic inspection task based on ultrasonic waves requires the conjunction of methods from various research domains. More specifically, the adequate interpretation of the ultrasonic measurements requires that the acoustics of the wave propagation is known or, at least, modeled with sufficient accuracy. Efficient signal processing is also needed to infer, from spatially-distributed measurements, relevant information, such as the position of an acoustic reflector. Finally, conventional frameworks in robotics shall be leveraged to tackle the challenging issues, such as Simultaneous Localization and Mapping (SLAM), that arise when the target application involves a mobile robotic system.

To enable the reader to fully comprehend the guided wave-based localization and mapping techniques presented later in this thesis, this chapter introduces the fundamentals of Lamb wave theory along with the usual propagation models, the fundamentals of array signal processing using beamforming, which is a classical spatial filtering approach, and the Bayesian filtering framework, which plays a key role in robotics to solve localization, mapping and SLAM problems.

### 2.1 Lamb wave propagation in a metal plate

Ultrasonic guided waves (UGWs) have been identified as a promising solution to enable long-range Non-Destructive Testing (NDT) of large structure surfaces [3, 11, 86]. They can be emitted in a solid material bounded by two parallel planes using a mechanical excitation. They can propagate over large distances, with little attenuation, featuring propagation characteristics that vary with the material elastic properties. Last but not least, they are sensitive to material discontinuities, which makes their use appealing for the detection of material flaws.

<figure><img src="image_9.png" /><figcaption>Figure 2.1: Simplified representation of the out-of-plate distortion induced by Lamb wave symmetric and anti-symmetric modes in a plate. The plate boundaries at equilibrium state of the plate are represented by the discontinuous lines.</figcaption></figure>
<figure><img src="image_10.png" /><figcaption>Figure 2.2: Illustration of the wave dispersion effect in a metal plate with simulated data.</figcaption></figure>

Although different types of ultrasonic waves can be generated in solids, those that will be considered in this manuscript are called Lamb waves [59]. Lamb waves are peculiar in that the local deviation of the particles’ position from their equilibrium state always lies in a plane that contains the propagation direction. On the contrary, Shear Horizontal (SH) waves only present particle motion that is orthogonal to the propagation direction.

### 2.1.1 Rayleigh-Lamb equations

The theory of Lamb waves propagation in an isotropic and homogeneous wave guide with constant thickness is well established [59]. As the particles’ displacement always lies in a plane that contains the direction of wave propagation, it can be described as a combination of longitudinal and out-of-plate (transverse) motion components. Based on the wave equation and the mechanical boundary conditions induced by the wave guide, the Rayleigh-Lamb equations, which stipulate the wave modes that can exist in the solid, can be derived,

$$ \frac{\tan qd/2}{\tan pd/2} = - \left[ \frac{4k^2qp}{(k^2 - q^2)^2} \right]^{\alpha}, \qquad (2.1) $$

where $d$ is the thickness of the plate, $k = 2\pi/\lambda$ is the wavenumber, $\lambda$ is the wavelength, and the following equations define $p$ and $q$:

$$ p^2 = \frac{\omega^2}{c_L^2} - k^2; \quad q^2 = \frac{\omega^2}{c_T^2} - k^2. $$

In the above equation, $\omega = 2\pi f$ is the pulsation, while $f$ is the frequency. $c_L$ and $c_T$ are respectively the longitudinal and transverse velocities related to the material. For $\alpha = 1$, the equation yields the physical properties of symmetric Lamb wave modes, whereas for $\alpha = -1$, the properties of anti-symmetric modes are stipulated. For symmetric modes, the displacement field is symmetric to the mid-plane of the plate, and it is anti-symmetric for anti-symmetric modes, as illustrated by Fig. 2.1. The Rayleigh-Lamb equations are solved using numerical methods [86] to determine the wavenumber $k$ as a function of the product $f \cdot d$, or more simply, as only a function of $\omega$, assuming a known plate thickness $d$. It results in a dispersion relation $k(\omega)$. Phase and group velocities of each mode can be subsequently determined with the relations:

$$ v_P(\omega) = \frac{\omega}{k(\omega)}; \quad v_G(\omega) = \frac{d\omega}{dk} = \frac{v_P^2(\omega)}{v_P(\omega) - \omega \frac{dv_P}{d\omega}}, $$

which also have a dependency in $\omega$. This is a typical feature of dispersive propagation, which results in wavepacket distortion and spreading in the signal when the propagation distance increases. This phenomenon is illustrated in Fig. 2.2.
<figure><img src="image_11.png" /><figcaption>Figure 2.3: Dispersion curves for several low order symmetric and anti-symmetric Lamb wave modes in a aluminum plate ($c_L = 6420$ m/s, $c_T = 3040$ m/s). The top figure depicts the group velocities while the bottom plot shows the wavenumbers.</figcaption></figure>

One particularity of the Rayleigh-Lamb equations is that each equation (i.e Eq. (2.1) with either $\alpha = 1$ or $\alpha = -1$) always admits at least one positive real-valued solution, and the number of solutions increases with frequency. Hence, at least the two fundamental modes A0 and S0 (anti-symmetric and symmetric modes respectively) propagate within the material, while higher-order modes can also propagate when the excitation frequency exceeds their respective cut-off frequency. Fig. 2.3 shows the dispersion curves obtained for an aluminum material via the numerical resolution<fnref n="1" /> of the Rayleigh-Lamb equations.

## 2.1.2 Green's function

The determination of a plate response to an ultrasonic excitation often requires heavy simulation through Finite Element Methods (FEM) to solve the wave equation [29]. Alternatively, one can rely on the determination (or modeling) of the Green's function $g$. It is defined as the spatio-temporal impulse response of a linear differential operator $L(\mathbf{x}, t)$ [40]:

$$Lg = \delta(\mathbf{x} - \mathbf{x}', t - t'),$$

so that a solution $u$ of the inhomogeneous equation $Lu = s$, where $s(\mathbf{x}, t)$ describes the excitation applied in $\mathbf{x}$ at time $t$, can be expressed as:

$$u(\mathbf{x}, t) = \int g(\mathbf{x}, \mathbf{x}', t, t')s(\mathbf{x}', t')d\mathbf{x}'dt'$$

<footnote n="1">¹The dispersion curves are obtained using Dispersion Calculator, available at https://www.dlr.de/zlp/en/desktopdefault.aspx/tabid-14332/24874_read-61142/</footnote>
A practical and computationally inexpensive approach to model Lamb wave propagation in an isotropic and homogeneous material is to rely on the Green's function related to the Helmholtz operator. Let's consider $L = \nabla^2 + k^2(\omega)$, which is the frequency-domain counterpart of the operator associated to the wave equation, and for a specific Lamb wave mode with the dispersion relation $k(\omega)$. The Green's function associated with $L$ can be expressed using the Hankel function of 0th order and first kind $H_0^{(1)}$, yielding for an isotropic propagation around the excitation point:

$$g(r, \omega) = -\frac{j}{4} H_0^{(1)}(k(\omega)r),$$

where $r$ is the propagation distance from the excitation. The later model is often simplified to:

$$\hat{g}(r, \omega) \approx e^{-jk(\omega)r} / \sqrt{k(\omega)r},$$

which is the Fourier transform of the impulse response. As the propagation is radial around the emitter, and the material is homogeneous, the resulting model only depends on the distance $r$ between the emission and reception points. The displacement field is then modeled with $u(r, \omega) = \hat{g}(r, \omega) \cdot s(\omega)$. The use of this acoustic model is widespread in the literature of guided waves, especially to achieve defect detection and localization purposes [74, 43, 108, 39].

## 2.2 Array signal processing

Many applications involve the emission and acquisition of (electromagnetic/acoustic) signals at different locations, often using an assembly of multiple sensors, referred to as a sensor array. After data acquisition, the multichannel input measurements can be processed to infer relevant information, such as the position of an acoustic source. This section provides an introduction to array signal processing, and in particular, to beamforming, which is a traditional spatial filtering approach. Beamforming methods find various applications in Structural Health Monitoring (SHM), where ultrasonic guided waves are used by sensor networks to achieve defect detection and localization. These are briefly reviewed in the current section.

### 2.2.1 Introduction to beamforming

Beamforming is a versatile approach to achieve spatial filtering [97]. A signal emitted (or a reflected) by a distant object is received by multiple antenna elements arranged in an array. A beamformer can process the resulting data to achieve spatial signal selection in a way that signals coming from specific directions experience constructive interference, while signals coming from other directions experience destructive interference. It finds applications in a wide range of domains such as medical imaging [89], in wireless communications [30, 31], audio processing [41, 72], and can drastically enhance the probing capabilities of SOund Navigation and Ranging (sonar) and RAdio Detection and Ranging (radar) systems [85, 44].

For each input channel, the signal time of arrival coming from a distant source varies with the distance between the sensor and the source. A beamformer applies spatial filtering to the signals with filter weights that are characteristic of the "look" direction (or candidate source position). They are determined so that the beamformer output presents destructive interference when the look direction does not correspond to the source position, while the interference is constructive when it is the case. One of the most classical approaches is delay-and-sum beamforming. As illustrated in Fig. 2.4), the weights apply time delays to each input signal based on prior knowledge of the array geometry. Hence, source localization can be achieved by determining the location in
<figure><img src="image_12.png" /><figcaption>Figure 2.4: Illustration of delay-and-sum beamforming to achieve source localization. The filter weights $w(\theta)$ apply delays to the input signals based on the distance between each antenna element and candidate position $\theta$. The beamformer outputs the sum of the delayed signals which presents constructive interference when the candidate $\theta$ matches the true source location.</figcaption></figure>

the search space where constructive interference on the beamformer output is maximized. Apart from the delay-and-sum approach, more advanced beamforming methods also exist, and their design is still an important research field [92].

While beamforming is often applied to fixed antennas, applications under interest increasingly involve moving sensor arrays. In synthetic aperture radar and synthetic aperture sonar for example, the sensor array is typically embedded onto a moving platform, such as an aircraft or a submarine, to probe the environment over large distances. The acquisition of data at different locations along the vehicle trajectory leads to a "virtual" antenna that can be orders of magnitudes larger than the physical one. As a result, synthetic aperture systems can achieve much higher spatial resolution than their classic version. The present thesis investigates a similar situation, except that the physical "antenna" is reduced to a single piezoelectric element: a robotic platform moving on a large metal surface continuously emits an ultrasonic excitation that generates Lamb waves in the material, and listens to the ultrasonic echoes. By processing the multichannel data with array signal processing methods, we aim at performing ultrasonic localization and mapping, with the end-objective of long-range defect detection.

### 2.2.2 Applications in Structural Health Monitoring

One common application of ultrasonic guided waves is Structural Health Monitoring (SHM), where piezoelectric sensors are placed in a network, and are permanently attached to the structure to be monitored (such as an aircraft nacelle [54]). To collect information about the structure integrity, ultrasonic measurements are collected by successively exciting the sensors one by one, while the others record the material acoustic response. This operation results in a data set that is to be processed to highlight the presence of a potential defect, as illustrated by Fig. 2.5.

One of the most common methods to achieve defect detection is to use baseline subtraction: the acquisition process is first performed at sensor installation (while the structure is in a healthy state), and the resulting baseline measurements are carefully recorded in memory. During the monitoring, the acquisition process is continuously performed. To each collected measurement
<figure><img src="image_13.png" /><figcaption>Figure 2.5: Defect detection using a network of sensors. Baseline subtraction and a multichannel processing technique are used to obtain imaging results. The illustrations are taken from [37].</figcaption></figure>

related to an emitter/receiver sensor pair, the corresponding baseline measurement is subtracted. Using the resulting signals, multichannel processing methods can be applied to recover an image that highlights the presence of a potential defect [28, 37, 38]. Other methods that do not rely on baseline measurements are investigated to alleviate the introduction of errors due to varying environmental conditions [6, 60, 73, 88]. Yet, these setups can only be used to monitor a limited and fixed area, thus they are not suitable for the inspection of large metal structures.

Deploying similar methods for the long-range detection of defects on a large surface with a robotic platform is a challenging issue. In SHM, the positions of the sensors are typically measured with a high precision, which is critical for accurate defect detection results. For a robotic application however, the positions of the sensor along the robot trajectory will need to be estimated due to kinematics modeling errors, and due to the imprecise wheel displacement and rotation data provided by the wheels' encoders.

## 2.3 Bayesian filtering

The fact that accurate robot and acoustic reflector localization is necessary to enable long-range robotic inspection will motivate the use of probabilistic approaches to achieve meaningful inference from noisy input data. In this section, we briefly introduce the Bayesian framework, and in particular, the Bayes' recursive filter, which is conventional in robotics to achieve state estimation purposes. Next, we introduce some fundamentals on mapping, followed by an introduction on Simultaneous Localization and Mapping presented in probabilistic terms.

### 2.3.1 Probabilistic interaction models

State estimation through Bayesian inference requires the design of two probabilistic interaction models: a dynamic model and an observation model. The dynamic model is a distribution $p(\mathbf{x}_{t+1}|\mathbf{x}_t, \mathbf{u}_t)$ that relates the robot state at time $t+1$ to the previous state $\mathbf{x}_t$ and input data $\mathbf{u}_t$ (odometry or control information). As we will be considering a robot moving on a planar surface, we stipulate the equations of a dynamic model relative to a robot moving in a two-dimensional world, as it will be recurrently used in the different chapters of this thesis.

The robot is assimilated to a single point. At time $t$, the robot state $\mathbf{x}_t = [x_t, y_t, \theta_t]^T$ contains 2D coordinates in a frame that is considered fixed to the world, along with robot heading, as illustrated by Fig. 2.6. The evolution of the robot state is governed by the dynamic model
<figure><img src="image_14.png" /><figcaption>Figure 2.6: Illustration of the robot state along with adopted notations in a 2D world.</figcaption></figure>

$p(\mathbf{x}_{t+1}|\mathbf{x}_t, \mathbf{u}_t)$. This formulation underlies a Markov assumption, because given the robot state at time $t$ and inputs $\mathbf{u}_t$, we assume that all past robot states and past inputs do not bring further information on what will be the next state. As the input $\mathbf{u}_t$ represents control commands or odometry provided by encoders, for example, they yield prior information on the translational and rotational displacement of the robot. In a noise-free situation:

$$ \mathbf{u}_t = \begin{bmatrix} \Delta r_t \\ \Delta \theta_t \end{bmatrix} = \begin{bmatrix} \sqrt{(x_{t+1} - x_t)^2 + (y_{t+1} - y_t)^2} \\ \theta_{t+1} - \theta_t \end{bmatrix}. $$

Given input $\mathbf{u}_t$, the next state is then computed with:

$$ \mathbf{x}_{t+1} = f_{\text{dyn}}(\mathbf{x}_t, \mathbf{u}_t) = \mathbf{x}_t + \begin{bmatrix} \Delta r_t \cos(\theta_t + \Delta\theta_t) \\ \Delta r_t \sin(\theta_t + \Delta\theta_t) \\ \Delta\theta_t \end{bmatrix}, $$

where $f_{\text{dyn}}(\mathbf{x}_t, \mathbf{u}_t)$ is the non-linear dynamic transition model (which is often a simplification of the true robot motion). To take into account noise, we can assume that the noisy input $\mathbf{u}_t$ is a version of the real (and unknown) robot displacement $\mathbf{u}_t^{\text{real}}$ that is disturbed by additive noise:

$$ \mathbf{u}_t = \mathbf{u}_t^{\text{real}} + \begin{bmatrix} \epsilon_r \\ \epsilon_\theta \end{bmatrix}, $$

where $\epsilon_r$ and $\epsilon_\theta$ are samples from random zero-mean Gaussian distributions, which are respectively $N(0, \sigma_r)$ and $N(0, \sigma_\theta)$. Although the analytical expression of the resulting probabilistic model $p(\mathbf{x}_{t+1}|\mathbf{x}_t, \mathbf{u}_t)$ can be derived, we will see that it won't be of much use in practice because sampling methods will be used to achieve Bayesian filtering.

The second interaction model necessary to perform Bayesian inference is the observation model that is used to update the state estimate based on external observations. It is represented by a probability distribution $p(\mathbf{z}|\mathbf{x})$ over some measurement $\mathbf{z}$ given robot state $\mathbf{x}$. For example, given robot position and known objects, range measurements can be predicted. Yet, the perception model may be seen as a likelihood function, as the measurements are inputs, and will provide information on robot localization. For our target application, we will seek to use the reflections of ultrasonic guided waves on the boundaries of metal panels to recover accurate robot precision. The appropriate perception models to achieve this goal will be introduced in a later chapter. Overall, the dynamic process made of successive motion and perception actions performed by a robot can be represented as a directional Bayesian graph, as illustrated by Fig. 2.7, that shows the conditional dependencies between all the involved variables over time.
<figure><img src="image_15.png" /><figcaption>Figure 2.7: Representation of the dynamic process, made of successive robot motions and perception actions, with a Bayesian network. The robot poses $\mathbf{x}_i$ are related to the past one $\mathbf{x}_{i-1}$ and odometry input $\mathbf{u}_{i-1}$, while measurements $\mathbf{z}_i$ depend only on the current state $\mathbf{x}_i$.</figcaption></figure>

### 2.3.2 Recursive Bayes filter

The aim of state estimation is to determine, for any time $t$, the posterior distribution over the state $\mathbf{x}_t$ based on past odometry inputs and measurements: $p(\mathbf{x}_t|\mathbf{u}_{0:t-1}, \mathbf{z}_{0:t})$, where we use the notation $\mathbf{z}_{0:t} = \{\mathbf{z}_0, \mathbf{z}_1, ..., \mathbf{z}_t\}$. Here, we present the recursive Bayes filter, which is a widespread method to recursively determine the target posterior distribution. Based on the content from the reference [94], we recall how to derive the recursive formulation of the filter.

We seek to derive a mathematical relation between $p(\mathbf{x}_{t+1}|\mathbf{u}_{0:t}, \mathbf{z}_{0:t+1})$ and $p(\mathbf{x}_t|\mathbf{u}_{0:t-1}, \mathbf{z}_{0:t})$. We start by using the Bayes' formula:

$$ 
\begin{aligned}
p(\mathbf{x}_{t+1}|\mathbf{u}_{0:t}, \mathbf{z}_{0:t+1}) &= p(\mathbf{x}_{t+1}|\mathbf{u}_{0:t}, \mathbf{z}_{0:t}, \mathbf{z}_{t+1}), \\
&= \frac{p(\mathbf{x}_{t+1}, \mathbf{z}_{t+1}|\mathbf{u}_{0:t}, \mathbf{z}_{0:t})}{p(\mathbf{z}_{t+1}|\mathbf{u}_{0:t}, \mathbf{z}_{0:t})}, \\
&= \frac{p(\mathbf{z}_{t+1}|\mathbf{x}_{t+1}, \mathbf{u}_{0:t}, \mathbf{z}_{0:t})p(\mathbf{x}_{t+1}|\mathbf{u}_{0:t}, \mathbf{z}_{0:t})}{p(\mathbf{z}_{t+1}|\mathbf{u}_{0:t}, \mathbf{z}_{0:t})}, \\
&= \eta \cdot p(\mathbf{z}_{t+1}|\mathbf{x}_{t+1}, \mathbf{u}_{0:t}, \mathbf{z}_{0:t})p(\mathbf{x}_{t+1}|\mathbf{u}_{0:t}, \mathbf{z}_{0:t}),
\end{aligned}
$$

where $\eta$ is the normalizing factor of the posterior distribution (as it does not depend on $\mathbf{x}_{t+1}$). Based on the assumption of conditional independence, a measurement only depends on the state at the same time, while past states and inputs do not bring further information. Hence, we have:

$$ p(\mathbf{z}_{t+1}|\mathbf{x}_{t+1}, \mathbf{u}_{0:t}, \mathbf{z}_{0:t}) = p(\mathbf{z}_{t+1}|\mathbf{x}_{t+1}), $$

which results in $p(\mathbf{x}_{t+1}|\mathbf{u}_{0:t}, \mathbf{z}_{0:t+1}) = \eta \cdot p(\mathbf{z}_{t+1}|\mathbf{x}_{t+1})p(\mathbf{x}_{t+1}|\mathbf{u}_{0:t}, \mathbf{z}_{0:t})$. To explicit the recursive relation, we expand the last factor of the right part of the equation:

$$ 
\begin{aligned}
p(\mathbf{x}_{t+1}|\mathbf{u}_{0:t}, \mathbf{z}_{0:t}) &= \int p(\mathbf{x}_{t+1}, \mathbf{x}_t|\mathbf{u}_{0:t}, \mathbf{z}_{0:t})d\mathbf{x}_t, \\
&= \int p(\mathbf{x}_{t+1}|\mathbf{x}_t, \mathbf{u}_{0:t}, \mathbf{z}_{0:t})p(\mathbf{x}_t|\mathbf{u}_{0:t}, \mathbf{z}_{0:t})d\mathbf{x}_t.
\end{aligned}
$$

We can now use the hypothesis that all the information on $\mathbf{x}_{t+1}$ is already provided by the previous state and inputs to simplify: $p(\mathbf{x}_{t+1}|\mathbf{x}_t, \mathbf{u}_{0:t}, \mathbf{z}_{0:t}) = p(\mathbf{x}_{t+1}|\mathbf{x}_t, \mathbf{u}_t)$, which is the probabilistic transition model. Also, as the next input $\mathbf{u}_t$ does not bring information on the current state
$\mathbf{x}_t$, we can also simplify: $p(\mathbf{x}_t|\mathbf{u}_{0:t}, \mathbf{z}_{0:t}) = p(\mathbf{x}_t|\mathbf{u}_{0:t-1}, \mathbf{z}_{0:t})$, which is our posterior at time $t$: $b(\mathbf{x}_t) = p(\mathbf{x}_t|\mathbf{u}_{0:t-1}, \mathbf{z}_{0:t})$. All put together, we obtain the recursive equation of the Bayes filter:

$$b(\mathbf{x}_{t+1}) = \eta \cdot p(\mathbf{z}_{t+1}|\mathbf{x}_{t+1}) \int p(\mathbf{x}_{t+1}|\mathbf{x}_t, \mathbf{u}_t)b(\mathbf{x}_t)d\mathbf{x}_t. \qquad (2.2)$$

Overall, the recursive Bayes filter formulae consists of two steps: a prediction step that uses the inputs $\mathbf{u}_t$ and the belief on the state at time $t$ to predict the next state, and an observation step that updates the estimation using an observation. Hence, a complete implementation of the filter requires three probabilistic distributions: an initial belief $b(\mathbf{x}_0)$, the stochastic transition model $p(\mathbf{x}_{t+1}|\mathbf{x}_t, \mathbf{u}_t)$, and the measurement model $p(\mathbf{z}_t|\mathbf{x}_t)$. It should be noted that, when the transition and observation models are linear with respect to the state and odometry inputs, and the noise is assumed to be additive Gaussian, the posterior is also Gaussian. The mean and covariance matrix of the posterior can be iteratively determined using the well-known Kalman filter equations [94]. However, when it is not the case, approximations will be necessary, as closed-form solutions of Eq. (2.2) won't be available in practice.

It should be noted that some applications may also require the estimation of auxiliary variables to recover the state $\mathbf{x}$. One classic example is the estimation of correspondence variables $\mathbf{c}_{0:t}$. This situation arises when the measurements contain information on multiple map features (for example range measurements to multiple fixed landmarks), but the correspondence between each range measurement and the map feature that is being observed would not be known a priori. Adding the estimation of correspondence variables makes the state estimation problem significantly more challenging.

In our case-study, the determination of robot localization using omnidirectional ultrasonic waves may require the estimation of correspondence variables. As one measurement contains several echoes due to reflections on the plate boundaries, each echo may be associated with the boundary it originates from before robot localization can be feasible.

### 2.3.3 Particle filter

What follows is a mere summary of the more complete introduction on particle filters available in [94]. Particle filtering is a sequential Monte-Carlo approach that can approximate the recursive Bayes filter presented earlier. Contrary to the Kalman filter, particle filters are non-parametric. They allow for the posterior distribution $b(\mathbf{x}_t)$ to be approximated by a set of $N$ samples (also called particles) that depend on time:

$$\mathcal{P}_t = \{\mathbf{x}_t^{(1)}, \mathbf{x}_t^{(2)}, \dots, \mathbf{x}_t^{(N)}\},$$

where each $\mathbf{x}_t^{(n)}$ represents a value in the state space. One advantage of particle filters is that they can provide an approximation of the target posterior while being relatively simple to implement (and assuming that $N$ is large enough). Furthermore, they can be used even when the transition and observation models are non-linear, and the noise models are non-Gaussian, contrary to Kalman filters. As the Bayesian filter is a recursive approach, the particle set $\mathcal{P}_{t+1}$ for approximating $b(\mathbf{x}_{t+1})$ is recursively determined from the previous particle set $\mathcal{P}_t$. The different steps for implementing the basic particle filter are as follows:

**Initialization:** At initialization, the set $\mathcal{P}_0$ is constructed by sampling $N$ independent $\mathbf{x}_0^{(n)}$ from the designed $b(\mathbf{x}_0)$. The next steps describe the recursive update that is performed every time the input $\mathbf{u}_t$ and observation $\mathbf{z}_{t+1}$ are made available.
**Prediction:** Given the particle set $\mathcal{P}_t$, a new set $\mathcal{X}_{t+1} = \{\mathbf{x}_{t+1}^{(1)}, \mathbf{x}_{t+1}^{(2)}, \dots, \mathbf{x}_{t+1}^{(N)}\}$ is created by sampling, using the transition model, and for $n = 1..N$: $\mathbf{x}_{t+1}^{(n)} \sim p(\mathbf{x}_{t+1}|\mathbf{x}_t^{(n)}, \mathbf{u}_t)$.

**Particle evaluation:** Each particle is attributed a weight value (which is also called the importance factor): $w_{t+1}^{(n)} = p(\mathbf{z}_{t+1}|\mathbf{x}_{t+1}^{(n)})$, resulting in a higher particle weight when its state value better explains the measurement.

**Particle resampling:** The new particle set $\mathcal{P}_{t+1}$ is constructed by drawing with replacement, $N$ particles from $\mathcal{X}_{t+1}$, where the $\mathbf{x}_{t+1}^{(n)}$ are sampled with a probability proportional to their respective weight $w_{t+1}^{(n)}$. This results in the incorporation of measurement information in the particles' distribution.

The natural consequence of this implementation is that the particles with low weights will tend to disappear along the filtering, while particles with higher weights will tend to survive. More specifically, the particles generated by this procedure are only approximate samples of the target posterior $b(\mathbf{x}_t)$, yet, with the essential property that the empirical distribution of the samples somewhat tends to the true posterior distribution when the number $N$ goes to infinity. Put in mathematical terms, for any arbitrary subset $A$ of the state domain, the empirical fraction of samples contained in $A$ converges to the integral of the target distribution calculated over $A$ when the number of particles goes to infinity:

$$ \frac{1}{N} \sum_{n=1}^{N} \mathbf{1}_{\mathbf{x}_t^{(n)} \in A} \xrightarrow{N \to \infty} \int_A b(\mathbf{x}_t) d\mathbf{x}_t. $$

The two major limitations of particle filtering lie in the fact that the naive implementation of the filter becomes greatly inefficient when the dimension of the state space becomes typically larger than 3. Another limitation is the problem of particle depletion that occurs when, due to their finite number, no particles exist in some regions of the state space, where the probability density is not null. Particle filters have arisen a lot of research interest, and various implementations have been investigated to tackle the challenges induced by their use [15].

### 2.3.4 Mapping

Along with robot localization, mapping is also an important problem in robotics. Mapping is as necessary as a robot needs an accurate representation of the environment to safely operate in it (for path planning and obstacle avoidance). It consists in creating a map of the environment through the determination of the posterior distribution $p(\mathbf{M}|\mathbf{x}_{0:t}, \mathbf{z}_{0:t})$ using sensor observations made at different positions. As the mapping problem only considers environmental features as unknowns to estimate, the observations positions are assumed to be flawlessly known. One reason could be that there is little uncertainty in robot kinematics and odometry measurements, or an external localization system (such as a Global Positioning System) is available.

A map is often described as a collection of objects: $\mathbf{M} = \{\mathbf{m}_k\}_{k=1..K}$. As the dimensionality $K$ of the map can be important, a convenient approach is to assume independence between the posteriors over the individual map features. This results in the factorization [94]:

$$ p(\mathbf{M}|\mathbf{x}_{0:t}, \mathbf{z}_{0:t}) = \prod_{k=1}^{K} p(\mathbf{m}_k|\mathbf{x}_{0:t}, \mathbf{z}_{0:t}), $$

which significantly reduces the dimensionality of the problem, as the map feature posteriors can be determined independently to each other.
In general, map representations can be regrouped in two families. A map representation can be feature-based, i.e it is a sparse representation made of multiple individual elements, such as anchors, that are often described by their position. Otherwise, a map representation can be grid-based: it is a dense representation that subdivides the entire space into spatial elements, each of them having a specific state, such as whether the space is being occupied by an object or not, as in the occupancy grid framework [94].

Just as the Bayesian framework provides a recursive method to achieve state estimation, it can be used to derive a recursive filter to determine the target posterior distribution over the map. A well-known example is the Bayesian binary filter with log-odd ratios [93], that can recover occupancy-grid maps from laser scans. Although this thesis will focus mainly on beamforming approaches to achieve ultrasonic mapping, we will see later, in Chapter 5, that this Bayesian filter can be used in combination with beamforming to infer complex maps from ultrasonic data.

For the same reasons presented in the case of state estimation, the estimation of correspondence variables $c_{0:t}$ may also be required to solve some mapping problems. This can be particularly challenging when no prior knowledge on the number of map features that must be recovered is available.

In this thesis, we consider the problem of mapping a large metal structure using ultrasonic echoes. We will seek to map structural features such as individual plate boundaries (i.e weld joints), or stiffeners, that reflect the acoustic waves. Their prior identification is necessary before defect detection can be possible. Furthermore, on the robotics perspective, the detection of defect can also be considered as a mapping problem. All these elements motivate the need to elaborate advanced methods to achieve ultrasonic mapping using a mobile sensor.

### 2.3.5 Simultaneous Localization and Mapping

Simultaneous Localization and Mapping (SLAM) is a fundamental problem in robotics, where the objective is to construct a map of the environment concurrently to performing robot localization based on control inputs and observations. Mathematically, it consists of the determination of a joint posterior distribution $p(x_{0:t}, M|\mathbf{u}_{0:t-1}, z_{0:t})$ over the robot trajectory and map. Due to the high-dimensionality of the {trajectory + map} space and the interdependency between the localization and mapping variables, SLAM is often a significantly more difficult problem than localization and mapping taken separately. This is all the more true when correspondence variables must be estimated as well.

<figure><img src="image_16.png" /><figcaption>Figure 2.8: Representation of online SLAM with a Bayesian network. The robot poses $\mathbf{x}_i$ are related to the previous state $\mathbf{x}_i$ and odometry input $\mathbf{u}_{i-1}$, while measurements $\mathbf{z}_i$ depend both on the current state $\mathbf{x}_i$ and the map $M$.</figcaption></figure>
A SLAM problem can come at two different tastes. One may seek a solution in an online fashion, which means that the posterior over the map and trajectory is recursively updated when odometry or observation inputs are made available. Fig. 2.8 shows a graphical representation of the online SLAM problem. Due to their computational efficiency, online filtering approaches are in general used for real-time robot navigation: an autonomous robot needs to continuously maintain a belief on its position and its environment to appropriately plan its next actions. Chapters 4 and 5 of this thesis will rely on this online SLAM approach. Otherwise, one may seek to solve the full SLAM problem through batch optimization using all the available measurements at once. This approach can lead to much more accurate results, but at the cost of higher computational effort. Chapter 6 of this manuscript presents a Graph-based approach to solve the full SLAM problem using ultrasonic guided waves.

For an efficient resolution of online-SLAM, an important characteristic of the problem must be highlighted. It stems from the fact that, when the robot trajectory is known, the posterior distributions over individual map features can be treated independently, as for the mapping problem. This observation motivates the following decomposition of the target posterior:

$$ 
\begin{aligned}
p(\mathbf{x}_{0:t}, \mathbf{M} | \mathbf{u}_{0:t-1}, \mathbf{z}_{0:t}) &= p(\mathbf{x}_{0:t} | \mathbf{u}_{0:t-1}, \mathbf{z}_{0:t}) p(\mathbf{M} | \mathbf{x}_{0:t}, \mathbf{z}_{0:t}), \\
&= p(\mathbf{x}_{0:t} | \mathbf{u}_{0:t-1}, \mathbf{z}_{0:t}) \prod_{k=1}^{K} p(\mathbf{m}_k | \mathbf{x}_{0:t}, \mathbf{z}_{0:t}).
\end{aligned}
$$

This formulation leads to a significant improvement in efficiency due to the low dimensionality of the map features, which can be estimated independently of each other given a robot trajectory. This approach has led to the elaboration of FastSLAM [64], which is one of the most conventional methods to solve the online-SLAM problem. FastSLAM typically uses a particle filter in the localization space, and Extended Kalman filters for estimating map features conditionally to a trajectory hypothesis [94]. In Chapter 4, we will further introduce FastSLAM, and we will propose a different FastSLAM algorithm integrating beamforming to simultaneously achieve robot localization and map the boundaries of a metal panel using ultrasonic echoes.
# Chapter 3

## On-plate Monte-Carlo localization

Accurate robot localization is one of the key features necessary to a true long-range robotic operation, and more generally, to any application that involves a mobile robotic platform. On a large metal structure such as a ship hull or a storage tank, ultrasonic measurements may contain the reflections of an acoustic wave (excited by the embedded ultrasonic sensor) on structural features, such as the weld joints that delimit individual metal panels. Consequently, such measurements contain position information that is to be leveraged for the target objective.

In this chapter, we propose a Monte-Carlo approach based on a particle filter to localize an emitter/receiver pair of ultrasonic sensors by relying on the reflections of ultrasonic waves on the boundaries of a metal panel. The objective is to evaluate their potential for accurate robot localization for a potential long-range inspection task on a large metal structure. The approach is tested using an isolated metal panel, in a laboratory environment. In the experiment, the acoustic measurements are acquired by moving manually the sensors on a metal surface, but the acquisition is aimed to be performed by a robot (which will be done later in this thesis). The results demonstrate that, on the considered plate sample, sensor localization is possible with an accuracy of a few millimeters.

### 3.1 Introduction

The accurate localization of a mobile platform is critical for a successful long-range inspection task. Indeed, such an application may require the operational robot, such as a magnetic crawler, to reliably navigate on the structure, so that it can accomplish its mission such as reaching a target measurement location while avoiding obstacles. This requires that robot position is accurately known at any time of the operation. Besides, accurate robot positioning is required for the purpose of long-range defect detection: as measurement positions are inputs to acoustic imaging techniques [86], their precise knowledge is critical for accurate inspection results.

Localization on a metal structure may be achieved by using Lamb waves: a mobile robot equipped with a piezoelectric acoustic sensor would continuously excite an omnidirectional ultrasonic wave, which would radially propagate in the metal structure over large distances. By listening to the ultrasonic echoes due to reflections on structural features, such as plate boundaries, one may achieve robot localization by relying on the acoustic reflectors as structure-bound landmarks. Furthermore, in combination with other localization systems (Inertial Measurement Unit (IMU), Ultra-wide band beacons, laser theodolite, for example), ultrasonic measurements could be used for accurate positioning. In this chapter, we address the localization problem for a robot moving on a rectangular metal panel, which represents the constitutive element of large
metal structures such as ship hulls and storage tanks. We elaborate an approach based on a
particle filter to enable the accurate localization of an industrial robot on a large metal structure
using the ultrasonic reflections of the excited wave on the plate boundaries. Robot localization
from external measurements based on a particle filter is typically referred to as Monte-Carlo
localization [22].

3.1.1 Related works

Robot localization is a problem that is well studied in robotics. Among the standard solutions, a class of localization systems are based on preinstalled infrastructures, and typically rely on direct-path range measurements to some known and fixed landmarks for positioning. GPS, ultra-wide band beacons [36] and sound beacons for underwater localization [107] provide instances of such systems, and are deployed for navigation in outdoor and clutter-free environments.

However, when considering more challenging situations, such as navigation in an enclosed
space, one may seek a localization system which does not rely on preinstalled infrastructures, as
they can be impractical to use, or are simply unsuitable. In such situations, robot localization
may be achieved by relying directly on the sensor suit embedded on the mobile platform. For
example, distances to obstacles, such as the walls of a room, can be obtained from measurement
scans provided by an embedded lidar or sonar, and the resulting measurements can be integrated
within a probabilistic localization algorithm [22]. Localization in an outdoor environment on a
large metal structure is expected to be a challenging issue, as the typical embedded sensors
 camera, laser range finder, sonar) may be impractical to use due to the lack of consistent
structural features for robust localization.

It is envisioned that, within a data fusion framework, omnidirectional UGWs can be used, in
combination with appropriate sensors (IMU especially), for accurate localization on a large metal
surface by relying on the ultrasonic reflections on structural features such as plate boundaries.
In the literature, UGWs are often deployed in static networks of sensors for long-range defect
detection and localization in a fixed inspection surface [38, 74, 85, 71]. In this setup, the sensors
are permanently attached to the structure, and their positions are known precisely. Conversely,
data acquisition with a sensor embedded on a mobile platform leads to flaw in the localization
of the measurement points due to noisy odometry information, noisy control inputs or kinematic
modeling errors. If not corrected, positioning errors may lead to poor inspection results through
acoustic imaging techniques [23].

Localization based on acoustic reflections has been the subject of various studies in the literature. In [84], a rectangular environment is assumed, with known sizes, and the focus is on localization. However, the idea of guided wave-based localization has been little explored in the literature. A localization approach relying on ultrasonic reflections on a metal plate boundaries is proposed in [99], but it makes important assumptions, such as relying on known correspondence between the echo measurements and the edges they originate from. Besides, the work is restricted to numerical validation. Hence, the practical localization of a robot on a metal structure using Lamb waves is yet to be thoroughly investigated.

In the following, we elaborate a Monte-Carlo approach to evaluate the potential of ultrasonic
wave-based on-plate localization. The most important challenges of such an application arise due
to the omnidirectionality of the wave and the multiplicity of the ultrasonic reflections. Hence,
not only the individual echoes within the measurements need to be detected, but they also need
to be associated with the reflector they originate from. Recent works in the literature address
similar issues for acoustic localization [78, 8, 100], where acoustic echoes need both to be detected
and labelled. Contrasting with such approaches that are often complex to implement, and yield
localization results sensitive to detection errors, we propose a simple Monte-Carlo approach that does require explicit echo detection and association.

We will show that by leveraging the waves reflections on the boundaries of a rectangular panel and a basic wave propagation model, a particle filter can estimate the position of a moving emitter/receiver ultrasonic sensor despite the complex nature of the guided waves (which are multi-modal and present dispersive propagation), the sensing symmetries intrinsic to the plate's geometry and the highly reverberating propagation media. The performance of our approach is assessed with real acoustic measurements that are acquired by hand on a relatively small metal plate in a laboratory environment. The experimental results demonstrate that in this scenario, the sensor position can be recovered with a millimeter precision.

## 3.2 On-plate localization using ultrasonic guided waves

We propose a method based on a particle filter for the localization of an industrial robot on a large metal structure that leverages first-order ultrasonic reflections of an excited wave on a metal plate's edges. The overall objective is to evaluate the potential of UGWs for accurate sensor localization. We specifically use a wave propagation model that is correlated to the measurement with the objective to design the observation model of the filter. The specificity of such an approach is that echo detection and echo association, i.e. the determination of which echo corresponds to a reflection on which plate boundary, are not explicitly solved. This results in a simple and easy to implement algorithm that may be more robust to noise. Besides, as only the localization problem is addressed here, the proposed method assumes that the dimensions of the metal plate are known.

### 3.2.1 Problem statement

We are considering a mobile unit equipped with a co-located emitter/receiver pair of transducers, and moving on a metal panel that we assume to have a rectangular shape with known dimensions $w \times h$. This constraint on the plate geometry may not be seen as a limitation for localization on storage tanks or ship hulls, as they are almost entirely made of rectangular panels. At the $i^{th}$ scanning position, the emitter sends a pulse $s(t)$ to excite guided waves in the plate material, and the receiver collects the acoustic response $z_i(t)$, which contains the ultrasonic echoes on the plate edges. This aims at approximating sonar-like pulse-echo sensing, though constrained to an acoustic wave guide. Our objective is to recover, for any time step $t$, an estimate $p(\mathbf{x}_t|\mathbf{u}_{0:t-1}, z_{0:t})$ of the robot state $\mathbf{x}_t = [x_t, y_t, \theta_t]^T$ (2D Cartesian coordinates and heading) from the acoustic measurements and noisy odometry inputs $\mathbf{u}_t = [\Delta r_t, \Delta \theta_t]^T$ (translation and rotational movements). The estimation is done in the metal panel frame, i.e. the origin $O$ is situated in the bottom left corner of the plate. The $x$ and $y$ axis are respectively aligned with the edges of size $w$ and $h$. An illustration of the adopted notations is provided in Fig. 3.1.

### 3.2.2 Measurement model and image sources

In our setup, the acoustic measurements essentially consist in a succession of the reflections of the excited wave on the plate boundaries. As the small-sized corrosion patches one might aim to detect with robotic inspection may only act as tiny acoustic scatterers, their potential effect can be neglected in first approximation. Under the assumption that the physics of wave propagation are governed by linear dynamics, the received measurements can be modeled with:

$$z_i(t) = g_{\mathbf{x}_i}(t) * s(t) + n_i(t),$$
<figure><img src="image_17.png" /><figcaption>Figure 3.1: Illustration representing a robotic agent whose pose is $\mathbf{x} = [x, y, \theta]^T$ on a rectangular metal plate of dimensions $w \times h$.</figcaption></figure>

where $g_{\mathbf{x}_i}(t)$ is the plate acoustic response received in $\mathbf{x}_i$ for an impulse signal being emitted at the same position, and $*$ denotes the convolution operation. $n_i$ is assumed to be an additive Gaussian noise term. To further explicit the structure of the signal model, we can assume that the material is perfectly isotropic, the basic laws of signal reflection hold to describe echoes from the plate edges, and mode conversion does not occur due to wave reflection. Under these assumptions, a standard measurement model to reverberation is the image source model [58]. It relies on the fact that each received echo signal due to a reflection from a plate boundary can be considered as a signal originating from a fictional source. The position of the image sources can be deduced from the real source position and the reverberant media geometry. When considering a reverberant media with a polygonal shape, first-order image sources can be constructed by symmetrically reflecting the real source on the media boundaries. High-order image sources (which are due to multiple reflections on different boundaries) can be recursively determined by reflecting the image sources with a lower order on the boundaries [58], as illustrated by Fig. 3.2. The use of the image source model results in the following measurement model:

$$z_i(t) = \sum_{\mathbf{p} \in \mathcal{I}(\mathbf{x}_i)} \lambda_{i, \mathbf{p}} \cdot g(||\mathbf{p} - \mathbf{x}_i||, t) * s(t) + n_i(t),$$

which decomposes the measurement into individual signals emitted by image sources. In the above equation, $\mathcal{I}(\mathbf{x}_i)$ is the set of image sources positions when the real source is in $\mathbf{x}_i$, the notation $||.||$ refers to the Euclidean distance calculated over the Cartesian $x, y$ coordinates, and $g(||\mathbf{p} - \mathbf{x}_i||, t)$ is the acoustic response of the infinite plate to an impulse being generated in $\mathbf{p}$ and received in $\mathbf{x}_i$. Due to the isotropic assumption, the propagation model only depends on the travel distance between the fictive image source and the receiver. $\lambda_{i, \mathbf{p}}$ is the amplitude of the signal originating from the image source $\mathbf{p}$. The exact $\mathcal{I}(\mathbf{x}_i)$ can be determined for arbitrary polygonal shapes using the image source algorithm [9], but it won't be used here.

For simplicity, our method will only rely on first-order echoes, i.e wave reflections that are received after exactly one reflection on a plate edge. We thus decompose the image source set as

$$\mathcal{I}(\mathbf{x}_i) = \mathcal{I}_{\text{1st-order}}(\mathbf{x}_i) \cup \mathcal{I}_{\text{high-order}}(\mathbf{x}_i).$$
<figure><img src="image_18.png" /><figcaption>Figure 3.2: Illustration of the image source model. On the left is an actual setup with an omnidirectional emitter/receiver situated in a space partially bounded by two reflective lines. On the right is the equivalent setup provided by the image source model. The first-order image sources at $\mathbf{p}_1$ and $\mathbf{p}_2$ are obtained by symmetry of the real source on each boundary. The second-order one at $\mathbf{p}_3$ is obtained by symmetry of one of the first-order image sources.</figcaption></figure>

This results in the measurement model:

$$ 
\begin{aligned}
z_i(t) &= \sum_{\mathbf{p} \in \mathcal{I}_{\text{1st-order}}(\mathbf{x}_i)} \lambda_{i, \mathbf{p}} \cdot g(||\mathbf{p} - \mathbf{x}_i||, t) * s(t) \\
&\quad + \sum_{\mathbf{p} \in \mathcal{I}_{\text{high-order}}(\mathbf{x}_i)} \lambda_{i, \mathbf{p}} \cdot g(||\mathbf{p} - \mathbf{x}_i||, t) * s(t) + n_i(t), \\
&= \sum_{j=1}^{4} \lambda_{i,j} \cdot g(d_j, t) * s(t) + \tilde{n}_i(t),
\end{aligned}
$$

where $\tilde{n}_i$ regroups high-order echo signals and the initial noise term $n_i$. This notation highlights that wave reflections that are received after more than one reflection are considered as noise. The values $d_j$ represent the distances to first-order image sources, which correspond to twice the orthogonal distance to each plate boundary. For a rectangular plate with dimensions $w \times h$ and an emitter/receiver at $\mathbf{x} = [x, y, \theta]$, these distances can be easily determined: $[d_1, d_2, d_3, d_4] = [2x, 2y, 2(w - x), 2(h - y)]$.

### 3.2.3 Correlation signal

Echo detection from ultrasonic measurements is necessary prior to achieving robot localization, as they contain crucial information on the ranges to the plate boundaries. With the aim to retrieve these distances from a measurement $z_i(t)$, we rely on a wave propagation model $\hat{g}$ to estimate the likelihood that a reflection of the excited wave occurred at a distance $r$ from the sensors. First, we consider the signal that would only contain such a reflection: $\hat{z}(r, t) = \hat{g}(2r, t) * s(t)$, where $\hat{g}$ is the impulse response of the supposedly isotropic material. When considering Lamb waves, we will always make the assumption that the excitation signal is properly chosen, so that there is a single predominant A0 mode that propagates (while the others can be neglected, or considered as noise). Next, we rely on the acoustic model presented in the previous chapter:

$$ \hat{g}(r, \omega) \approx e^{-jk(\omega)r} / \sqrt{k(\omega)r}. $$
where $k(\omega)$ is the wavenumber of the major acoustic mode that can be determined by solving the Rayleigh-Lamb equations given prior knowledge of the mechanical properties of the plate material. We then create a new signal through correlation of the measurement with the signal expected after reflection on a boundary at a distance $r$:

$$z'_{i}(r) = \frac{\langle z_{i}(t), \hat{z}(r, t) \rangle}{\sqrt{\langle z_{i}(t), z_{i}(t) \rangle \langle \hat{z}(r, t), \hat{z}(r, t) \rangle}}, \qquad (3.1)$$

where $\langle \cdot, \cdot \rangle$ denotes the scalar product in the domain of continuous signals: $\langle u(t), v(t) \rangle = \int_{-\infty}^{+\infty} u(\tau)v(\tau)d\tau$. The correlation is expected to be high when a reflector is indeed present at a distance $r$. As the resulting signal $z'_{i}$ presents oscillations consistent with the wave spatial periodicity, it is more convenient to only work with its envelope, which may not present large drops in value for slight variations in $r$:

$$e_{i}(r) = |z'_{i}(r) + j\mathcal{H}(z'_{i})(r)| \qquad (3.2)$$

where $\mathcal{H}$ denotes the Hilbert transform operator. Hence, the resulting signal $e_{i}$ takes its values only between 0 and 1, and a higher value at $r$ translates into a high likelihood that a reflection occurred at such a distance. Overall, by looking at the local maxima of the envelope signal $e_{i}(r)$, one can deduce the most likely reflections. It should be noted that high-order reflections may also yield local maxima. This processing method will be recurrently used in the next chapters of this thesis to solve a variety of ultrasonic localization and mapping problems of interest.

### 3.2.4 Monte-Carlo localization

We propose a particle filter approach to recover the position of a mobile sensor on a metal plate. As we will rely on a basic implementation of the filter, the current objective is to design an observation model $p(\mathbf{z}|\mathbf{x})$ that can leverage the multiple ultrasonic echoes contained in the measurements in a suitable manner.

We propose to design a simple observation model based on the envelope signals $e_{i}$, which does not require explicit echo extraction and association. The main idea is that the measurement likelihood should be high when the likelihood of observing each of the four expected first-order reflections is also high. Based on an independence assumption between the observation of the individual echoes, a simple model that can achieve the target property is:

$$p(\mathbf{z}_i|\mathbf{x}) = \eta \cdot \exp \{\beta(e_i(x) + e_i(y) + e_i(w-x) + e_i(h-y))\}, \qquad (3.3)$$

where $\beta$ is a strictly positive parameter. This model will be used to calculate the importance weights of the particle filter, so that particles that hold a position hypothesis that is more consistent with the observation of first-order reflections will tend to survive, while the others will tend to disappear. For the localization problem, each particle represents a belief on the robot state at any measurement step $i$: $\mathbf{x}_{i}^{(n)} = [x_{i}^{(n)}, y_{i}^{(n)}, \theta_{i}^{(n)}]^{T}, n = 1, 2, ..., N$. Our implementation of the filter using ultrasonic echoes is then the following:

**Initialization:** The particle filter is initialized by sampling $N$ particles on the metal plate using uniform distributions. The next steps are performed every time some displacement information $\mathbf{u}_{i}$ and measurement $\mathbf{z}_{i+1}$ are made available.

**Prediction:** The motion model is applied to every particle:

$$\mathbf{x}_{i+1}^{(n)} \sim p(\mathbf{x}_{i+1}|\mathbf{x}_{i}^{(n)}, \mathbf{u}_{i}).$$
To achieve this in practice, translation and rotation displacements are first sampled with $\Delta r_t^{(n)} \sim N(\Delta r_t, \sigma_r)$ and $\Delta \theta_t^{(n)} \sim N(\Delta \theta_t, \sigma_\theta)$. Next, the new particle state is inferred with:

$$ \mathbf{x}_{t+1}^{(n)} = f_{\text{dyn}}(\mathbf{x}_t^{(n)}, \mathbf{u}_t^{(n)}) = \mathbf{x}_t^{(n)} + \begin{bmatrix} \Delta r_t^{(n)} \cos(\theta_t^{(n)} + \Delta \theta_t^{(n)}) \\ \Delta r_t^{(n)} \sin(\theta_t^{(n)} + \Delta \theta_t^{(n)}) \\ \Delta \theta_t^{(n)} \end{bmatrix}, $$

If one limits the prediction to this single step, the particle filter might be likely to fail when the particles have converged in a restricted area of the state space that is not in the vicinity of the true state, as there would be no mechanism to recover from such a situation due to the sampling scheme. This issue is well known under the name of particle depletion [94]. A simple remedy to this problem consists in disturbing the so-called proposal distribution [94] to generate particles further away in the state space. Here, we randomly disturb a particle state by drawing, after the prediction and with a low probability $\gamma$, a new sample:

$$ \mathbf{x}_{i+1}^{(n)} \leftarrow \mathcal{N}(\mathbf{x}_{i+1}^{(n)}, \mathbf{\Sigma}), $$

where $\mathcal{N}$ represents the normal distribution and $\mathbf{\Sigma}$ is a parameter of the filter.

**Update and resampling:** We compute, for every particle, the importance weight by using the observation model defined in Eq. (3.3):

$$ w_{i+1}^{(n)} = p(\mathbf{z}_{i+1} | \mathbf{x}_{i+1}^{(n)}). $$

Finally, we create a new set of particles by drawing the n-th particle with a probability proportional to $w_{i+1}^{(n)}$. This procedure is then repeated for the next measurement step. Due to the low computational complexity of the approach, it can be seamlessly run in an online fashion. One may also note that no explicit echo detection and association is required, which results in a simple algorithm implementation.

It should be noted that, due to the disturbance of the proposal distribution, the convergence property of the particle filter no longer holds. More specifically, the particle's distribution does not converge, when $N$ goes to infinity, to the target posterior distribution provided by the Bayes' filter formula if $\gamma > 0$. However, one may expect that it is sufficiently close to it provided that $\gamma$ is sufficiently small. Besides, the loss of this theoretical property is widely compensated by the improved localization results that can be obtained due to the ability of the filter to recover from a poorly distributed particle set. This will be illustrated in the results section.

## 3.3 Experimental results

In this section, we assess the performance of our approach using experimental ultrasonic measurements acquired on a metal panel, in a laboratory environment. The data are acquired by manually placing the transducers, but the acquisition is aimed to be performed by a robotic platform. The experimental results demonstrate that, in the considered scenario, the sensor position can be recovered with a precision of a few millimeters by relying on the ultrasonic echoes.

### 3.3.1 Experimental setup

We acquired acoustic measurements by placing manually nearly collocated contact piezoelectric V103-RM U8403008 transducers, used as an emitter/receiver pair, at predetermined positions
<figure><img src="image_19.png" /><figcaption>(a) Experimental setup</figcaption></figure>

<figure><img src="image_20.png" /><figcaption>(b) Acquisition positions</figcaption></figure>

Figure 3.3: (Left) Picture of the experimental setup for data acquisition. (Right) Position of the measurement points on the plate.

on a metal plate. It is to be noted that these transducers are designed to generate 1MHz signals, which is a much higher frequency than these we will commonly use. Yet, these sensors are used here because, at the time of the experiment, it was the best solution available to generate and receive Lamb waves. Although it may not be an optimal choice, the resulting signal-to-noise ratio was reasonably satisfying. The metal plate used for the experiment has dimensions $w \times h = 60 \times 45$ cm, is made of aluminum, and has a thickness of 6 mm. It also contains small holes of different sizes and depth. A picture of the experimental setup can be seen in Fig. 3.3a.

To generate Lamb waves in the plate material, we use an excitation signal that corresponds to two tone-bursts of a sinusoidal waveform at 100 kHz, generated with a USB-6356 National Instruments data acquisition (DAQ) device. The signal is then amplified to up to 100 V peak-to-peak with an analog amplifier before being sent to the emitter, while the receiver collects the ultrasonic response which contains the acoustic echoes. During each acquisition, we use coupling gel to ensure good contact between the transducers and the plate surface. Also, we numerically remove the incident wave packet from the measurements with a smooth sigmoid window. This signal is due to the direct transmission of the excitation to the receiver, thus it does not correspond to a reflection from a plate boundary. In total, we record 108 measurements for as many acquisition positions, on a regular grid, as depicted in Fig. 3.3b. Each measurement contains $M = 500$ samples collected at a sampling rate of 1.25 MHz.

One may note that, in our experiment, two separate transducers are used, whereas our method is based on a point-like and collocated emitter/receiver assumption. Here, the latter is assimilated to the center between the two transducers. This may not cause a significant error, as the diameter of the transducers (1.7cm), and thus the distance between their centers, is not large compared to the wavelength (2 cm) for the considered excitation frequency. Thus, the difference induced by this setup has little impact on the signals.

### 3.3.2 Dispersion curves

An important feature of our localization approach is that it is *model-based*. More specifically, it explicitly requires a model of the wave propagation, and the adequacy of the latter with the measurements will be central for accurate results.

To validate the assumptions made on wave propagation, and in particular, the assumption
<figure><img src="image_21.png" /><figcaption>Figure 3.4: Two-dimensional space-time Fourier transform of the experimental wave field recorded on the considered aluminum plate sample. It is overlaid by the theoretical dispersion curves of the A0 and S0 Lamb wave modes.</figcaption></figure>

that the A0 mode is predominant, we experimentally evaluate the matching between the designed propagation model and the experimental signals. For this purpose, we experimentally determine the dispersion curves of the wave field through numerical calculation of the 2 dimensional space-time Fourier transform of the incident signal, which is theoretically given by:

$$ \tilde{z}(\omega, k) = \iint z(t, r)e^{-j(\omega t + kr)} dtdr. $$

In the above equation, the wave field $z(t, r)$ is obtained by recording the experimental time response of the incident wave for several distances $r$ from the emitter regularly distributed, on the aluminum plate. In Fig. 3.4, we show the experimental amplitude $|z(\omega, k)|$ obtained using an excitation signal centered at 100 kHz, and a spatial periodicity of 2.2 mm between each measurement. We also display the theoretical dispersion curves of the A0 and S0 modes obtained by solving the Rayleigh-Lamb equations. It can be observed that, in our setup, the propagation model fits the measurements as there is a good match with the theoretical A0 curve. Also, the A0 mode is predominant, as little energy follows the S0 theoretical curve. Overall, the use of an A0 mode-only propagation model appears legitimate to achieve echo detection.

### 3.3.3 Echo detection

In this subsection, we illustrate the echo-detection principle based on the correlation signals. An acoustic measurement is acquired by placing the emitter/receiver transducer pair at 8 cm to an edge, in a corner of the plate, as depicted by Fig. 3.5. In Fig. 3.6, we show the resulting measurement (top), and the correlation signal obtained using Eq. (3.1), along with its envelope calculated with Eq. (3.2). (bottom). The envelope is the signal which is fed to the particle filter. It can be seen in Fig. 3.6 bottom, that we manage to retrieve, from the position of the local maxima, all the distances where first-order reflections occurred which are 8, 37 and 52 cm. The echo detected at nearly 45 cm corresponds to a higher-order reflection, and it has an
<figure><img src="image_22.png" /><figcaption>Figure 3.5: Illustration showing the position of the sensors on the metal plate for acquisition of the test measurement.</figcaption></figure>

<figure><img src="image_23.png" /><figcaption>Figure 3.6: The acoustic measurement acquired on the aluminum plate after placing the transducers on the plate, as depicted in Fig. 3.5 (top plot), and the correlation signal obtained from the measurement along with its envelope (bottom plot). The ranges relative to the first-order reflections (8, 37, 52 cm) can be successfully retrieved from the local maxima of the envelope signal. The echo at nearly 45 cm corresponds to a higher-order reflection.</figcaption></figure>

amplitude that is comparable to that of the first-order wave packets (if not higher). Such high-order reflections are considered as noise by our approach. Hence, we will determine a posteriori if their presence has a detrimental effect on the results.

### 3.3.4 Localization results

To test our framework, we simulate a robot following a "lawn-mower" trajectory along the y-axis by presenting the corresponding sequence of measurements to the particle filter, along with the theoretic displacement of the transducers between two measurements as odometry data. To simulate noisy inputs, we add Gaussian noise on the ground truth odometry information: $\tilde{\Delta}r \sim \mathcal{N}(\Delta r, (10^{-2}\Delta r + \Delta r_0)^2)$ and $\tilde{\Delta}\theta \sim \mathcal{N}(\Delta\theta, (10^{-2}\Delta\theta + \Delta\theta_0)^2)$ with $\Delta r_0 = 10^{-3}$ m and
<figure><img src="image_24.png" /><figcaption>Figure 3.7: Qualitative localization results of the particle filter during measurement steps 1, 7, 14, 45, 83 and 108 of the simulated lawn mowing trajectory. The red dot represents the ground truth sensor position, the red line accounts for the true sensor trajectory. The blue rectangle represents the outline of the plate, and the arrows account for the particles’ distribution.</figcaption></figure>
<figure><img src="image_25.png" /><figcaption>Figure 3.8: Evolution of the localization errors (determined based on the median of the particles’ state) on the *x* (left) and *y* (right) coordinates for 10 repetitions of the considered scenario. The red line is the average error calculated over the repetitions.</figcaption></figure>

<figure><img src="image_26.png" /><figcaption>Figure 3.9: Evolution of the localization errors (determined based on the median of the particles’ state) on the *x* (left) and *y* (right) coordinates for 10 repetitions of the considered scenario, and using the particle disturbance probability $\gamma = 0$. The red line is the average error calculated over the repetitions.</figcaption></figure>

$\Delta\theta_0 = 10^{-2}$ rad. With such noise level, we aim at simulating moderate odometry uncertainty due to the robot magnetic adherence and embedded accelerometers used to provide precise heading on a nearly-vertical structure, in a real-world scenario.

The particle filter is then run for the designed scenario using $N = 500$ particles. The filter parameters used in our trials are $\beta = 5$, $\gamma = 0.03$ and $\Sigma = \text{diag}(0.01, 0.01, \pi/10)$. We first illustrate the performance of the designed approach in Fig. 3.7, which depicts the position and orientation of the particles during the measurement steps 1, 7, 14, 45, 83 and 108 of the simulated lawn-mower trajectory. To ensure the uniqueness of the position estimate despite the plate symmetries, the particles have been initialized randomly in the bottom-left part of the plate. During the first step, as both the position and orientation of the fictive robot are very uncertain, the particles have been sampled from uniform distributions. During measurement steps 7 and 14, the particles’ distribution becomes more concentrated in the vicinity of the true sensor position. At Step 45, the particles have converged in the close area around the ground true position, and it can be observed that this is still the case until the very last measurement step, despite the disturbance of the proposal distribution.

To quantitatively assess the accuracy and repeatability of the estimation, we show, in Fig. 3.8, the evolution of the estimation errors on the *x* and *y* coordinates along the trajectory, for a 10-run Monte-Carlo simulation of the scenario under consideration. To consider point estimates that are little sensitive to out-of-distribution particles (as some are generated on purpose to alleviate particle depletion), the errors are defined as the absolute value of the difference between the median coordinate calculated over the particles’ state, and the ground truth coordinate. The results show that, after a limited number of steps, an estimation accuracy better than 1 cm is seamlessly achieved both on the estimation of *x* and *y*, and it is the case for all the repetitions.
To further highlight the benefit of our approach which relies on the disturbance of the proposal distribution, we carry out the same experience as previously without this specific step (i.e using a value $\gamma = 0$). The estimation results depicted in Fig. 3.9 show that, although the estimation accuracy appears similar for the estimation of $y$ compared to the previous experiment, the estimation errors on $x$ are seemingly higher. There is especially one repetition for which correct estimation convergence has not been fulfilled by the end of the trajectory. This result highlights the benefit of proposal disturbance to improve the filter convergence.

Overall, the results show that the use of UGWs combined with our particle filter approach has potential for accurate estimation of 2D coordinates on a metal surface. One may note that, in our experiments, it may not be possible to further improve the localization precision due to the model's inaccuracy, as the latter only considers a single collocated emitter/receiver.

## 3.4 Chapter summary

This chapter aims at demonstrating the potential of omnidirectional ultrasonic guided waves for accurate robot localization on a metal structure by relying on the acoustic reflections on a metal plate boundaries. In the considered setup, the acoustic emitter/receiver is moving on the metal surface, and only noisy information on the sensor displacement and the dimensions of the plate are assumed to be available for localization.

To achieve the target objective, we have proposed a simple Monte-Carlo approach based on a particle filter. First, correlation signals are determined by correlating the measurements with a model of the wave propagation, so that the distances between the sensor and the plate boundaries can be retrieved. These signals are subsequently integrated into an observation model that leverages the reception of first-order echoes. Next, a basic implementation of the particle filter is proposed. It features a two-step resampling process in the prediction step to maintain a high particle diversity, with the aim to alleviate particle depletion. The overall method is relatively simple to implement and to set up: along with the transition model that can be tuned based on a prior belief on the odometry noise level, only the parameters $\beta$, $\gamma$ and $\Sigma$ need to be specified to run the particle filter. An important particularity of this approach is that it does not necessitate explicit echo detection or echo association with the plate boundary it originates from, which often results in a complex algorithm sensitive to noise.

We have tested our approach on a 600 × 450 × 6mm aluminum metal plate sample, in a laboratory environment. To acquire the acoustic data, a nearly collocated emitter/receiver pair of contact piezoelectric transducers is moved manually to predetermined positions. The trajectory of a robot is subsequently simulated using the theoretic displacement between the measurement positions disturbed with additive noise as odometry.

The results demonstrate the potential of ultrasonic guided waves with our proposed particle filter approach. More specifically, millimeter accuracy on localization is achieved in the considered experimental setup. Despite the limitations inherent to the experimental conditions that are not representative of a realistic scenario, it is envisioned that, on a large metal structure, ultrasonic reflections could be leveraged by a mobile robot for accurate positioning, which is critical to long-range defect detection through acoustic imaging techniques.
# Chapter 4

## Online Simultaneous Localization and Mapping

This chapter focuses on Simultaneous Localization and Mapping (SLAM), which is a more significant problem than localization only. By relying on the reflections of UGWs on the boundaries of a metal plate, we seek to recover both the sensor trajectory and the location of the plate edges. The chore of the proposed solution is FastSLAM, which is a particle filter-based approach that relies on a factorization of the joint target posterior over the trajectory and map to efficiently solve the online SLAM problem. Its essence is to use a particle filter, where each particle holds a hypothesis on the full trajectory and a map inferred from the trajectory.

In the following, two FastSLAM approaches are reviewed. The first method has been elaborated before the start of this PhD thesis. It relies on a simple signal model, and attempts to achieve explicit echo detection and association with estimated line features, within the FastSLAM framework. The second approach is a contribution of this thesis: it leverages Lamb wave theory to take into account wave dispersion in the measurement model, and beamforming to localize plate boundaries. The merits of this approach are that explicit echo detection and association, which are challenging issues when considering ultrasonic signals, are no longer required. These elements are integrated within a FastSLAM algorithm.

The two approaches are subsequently compared using experimental data acquired on isolated metal panels, in a laboratory environment. The results show that the novel approach provides more accurate localization and mapping results with less algorithmic complexity. Yet, it leverages prior knowledge of the rectangular plate geometry, contrary to the former approach. Finally, a demonstration using a magnetic crawler is carried out to illustrate the feasibility of deploying the proposed ultrasonic SLAM framework with a real robotic platform.

### 4.1 Introduction

As presented in the previous chapter, precise localization of the robot on a large metal structure is necessary before long-range defect detection can become feasible. Robot localization typically relies on external measurements that can be used to relate robot position to structural (and usually fixed) landmarks. In the previous chapter, it has been demonstrated that the ultrasonic reflections on the edges of a metal plate can be leveraged for this purpose. Yet, the proposed localization framework relies on prior knowledge of the plate geometry.

The possibility to build a map of the environment (i.e to estimate the position of plate boundaries in our case-study) is a desired objective. In realistic scenarios, for example, a large
metal structure may be made out of plates with different sizes, and a precise map depicting the
position of the weld joints on the whole structure may not be readily available. Another reason
to aim for that objective is that detection of defects (which may also act as acoustic scatterers)
shall be considered as a mapping problem as well, and their localization is the end-objective,
along with robot positioning. Overall, simultaneous localization and mapping is a fundamental
problem that must be solved to enable the emergence of long-range robotic inspection.

Apart from the application of interest, acoustic SLAM methods can find a broad range of applications in different environments. Examples of such may include marina underwater environments such as dams or harbors, and using a sonar [76, 17], enclosed spaces using a set of distributed microphones [24, 50], or using a single omnidirectional emitter/receiver [51, 53]. It is envisioned that the methods proposed to solve the considered SLAM problem could be beneficial for such related applications.

Before diving into ultrasonic SLAM, we will briefly review the literature on acoustic mapping
and the challenges related to the use of omnidirectional UGWs.

4.1.1 Acoustic mapping

The mapping problem is fundamental in robotics, as a robot typically needs a map of the environ-
ment to safely navigate in it. Also, when integrated within a SLAM framework, the recovered
map can be used for accurate robot localization. Some of the most traditional methods are
dedicated to mapping indoor environments such as offices for example, and using sensors that
emit a signal and receive its reflection on an object in a known direction, such as LIDARs and
sonars [26, 65]. Due to the directivity hypothesis on the sensor models, traditional mapping
methods are unsuitable when relying on omnidirectional ultrasonic waves.

Apart from defect detection purposes, UGWs have been used to map structural features
such as the edges of a metal plate [82], or stiffeners [42], by relying on scattered signals and
appropriate signal processing. Yet the mentioned works consider static sensor networks. On the
other way, several studies [90, 91] have considered embedding an ultrasonic sensor onto a moving
robotic platform for mapping a large structure, but they rely on directional guided waves. Hence,
only little work has considered the joint use of omnidirectional UGWs and moving sensors. [62]
proposes a method for mapping plate boundaries, while [32] evaluates the feasibility of mapping
other structural features such as stiffeners. Yet, both works only consider pitch-catch setups.

Outside the field of Non-Destructive Evaluation (NDE), the closest problem to on-plate
ultrasonic mapping is acoustic room reconstruction. In this subfield of acoustics and signal
processing, the objective is to reconstruct the shape of a room based on acoustic echoes on the
walls. The design of robust methods for echo detection, and subsequent mapping, is explored in
works like [79] for a single emitter/receiver, or [80] for a sensor array. Such methods, however,
are only based on the reception of the first echo, whereas the other reflections also contain crucial
information on the map. [69] elaborates a strategy to recover the geometry of a room with an
arbitrary polygonal shape. Yet, it is only tested in simulation.

4.1.2 Simultaneous Localization and Mapping

Performing on-plate simultaneous localization and mapping by relying on omnidirectional UGWs
is a challenging task. First, because SLAM is inherently a high-dimensional problem, where
both the trajectory and map need to be jointly inferred. Second, due to the specificity of the
ultrasonic measurements, which contain numerous (and potentially overlapping) echoes due to
the multiple reflections on the plate edges. The consequence is that it is very challenging to
recover individual wave-packets from the mixture data [87]. Lastly, because of the echo-map feature association problem that arises when relying on the detection of individual echoes. In the literature, most UGWs techniques rely only on the incident wave packet [43, 86], especially for defect detection due to the difficulty of leveraging the multiple echoes. For on-plate localization and mapping purposes, however, the use of such reflections is essential, as they all provide range-only information to the edges.

In the literature, simultaneous localization and mapping based on the reflections of omnidirectional acoustic waves has been the subject of various works. [52, 53] address the problem of simultaneous room shape reconstruction and localization of the observation positions through batch optimization. In [51], a recursive Bayesian approach to echo SLAM is elaborated. Yet, all the mentioned works are only tested in simulation, and do not address explicitly the ambiguous matching of the echo measurements to room walls

Besides, several works have proposed acoustic SLAM frameworks that can work in practice, despite noisy measurements. [71] and [84] build a practical room reconstruction system running on a smart-phone. The latter would be used to emit sound pulses that would reflect from the room walls. In [71], both the localization and the wall estimation problems are considered, but using only the first echo contained in the measurements.

Overall, the development of a practical acoustic SLAM system that can leverage omnidirectional and multiple echoes is not established. More specifically, the data association problem in this context has not been thoroughly investigated, whereas it has always been a critical step, as described in reference works such as [66]. Besides, its efficiency may be key to accurate SLAM results. In the following, we present a first proof-of-concept method to achieve on-plate SLAM which has been elaborated before the start of this PhD thesis, and which attempts to explicitly solve the data association problem. It is based on FastSLAM, which has not been used previously in the context of acoustic reconstruction and localization problem, to the best of our knowledge. Due to the limitations in accuracy and robustness of this proof-of-concept approach, we next propose a novel development of FastSLAM that integrates beamforming maps and wave propagation models from the Rayleigh-Lamb theory. It has the particularity of not requiring explicit echo detection and association, while providing more accurate SLAM results.

### 4.1.3 Introduction to FastSLAM

FastSLAM [64] is an efficient approach to solve the online-SLAM problem. Let's consider that its resolution requires some correspondence variables $c_{0:t}$ that are used to relate the observations to the map features, and which are assumed available in a first step. Based on the following decomposition of the target posterior over the map and trajectory:

$$p(\mathbf{x}_{0:t}, \mathbf{M} | \mathbf{u}_{0:t-1}, \mathbf{z}_{0:t}, \mathbf{c}_{0:t}) = p(\mathbf{x}_{0:t} | \mathbf{u}_{0:t-1}, \mathbf{z}_{0:t}) \prod_{k=1}^{K} p(\mathbf{m}_k | \mathbf{x}_{0:t}, \mathbf{z}_{0:t}, \mathbf{c}_{0:t}),$$

FastSLAM is implemented as a particle filter, where each particle contains a trajectory hypothesis and a collection of the map features estimates conditional on this trajectory. At time $t$, the particle set consists of $N$ particle samples:

$$\mathcal{P}_t = \{\mathcal{P}_t^{(n)}\}_{n=1..N} = \{\mathbf{x}_{0:t}^{(n)}, \{p(\mathbf{m}_k^{(n)} | \mathbf{x}_{0:t}^{(n)}, \mathbf{u}_{0:t-1}, \mathbf{z}_{0:t}, \mathbf{c}_{0:t}^{(n)})\}_{k=1..K^{(n)}}\}_{n=1..N}.$$

One may note that this formulation allows for the number of map features to be estimated as well, as their number $K^{(n)}$ may vary with the particle. In typical uses of FastSLAM, the posteriors
over the map features can be recovered through a recursive mapping strategy such as Kalman filtering when the map is a collection of landmarks [64], or a binary filter when it is represented by an occupancy grid [94]. This results in an efficient implementation of the SLAM algorithm, as the trajectory hypothesis are sampled using the dynamic transition model, and the individual map features are determined independently using recursive methods.

In addition, FastSLAM allows handling uncertain data association between observations and map features by maintaining multiple particles with various association hypotheses. This can be important for the problem at hand as, when retrieving individual echoes from raw ultrasonic measurements, one may not know on which edge the reflection originates from. The use of a (naive) direct search approach for estimating the correspondence variables may be bound to failure, due to the paramount number of association possibilities for an entire set of measurements. To sidestep this issue, a more reasonable strategy is to affect the most-likely data association on a per-particle basis [94]. In addition, data association can be solved recursively to ensure a computationally efficient implementation to achieve online SLAM. Put in mathematical terms, the association for the n-th particle at time step t + 1 is determined based on past association estimates for the particle and Maximum Likelihood (ML):

$$ \mathbf{c}_{t+1}^{(n)} = \arg \max_{\mathbf{c}_{t+1}} p \left( \mathbf{z}_{t+1} | \mathbf{x}_{0:t+1}^{(n)}, \mathbf{u}_{0:t}, \mathbf{z}_{0:t}, \mathbf{c}_{t+1}, \mathbf{c}_{0:t}^{(n)} \right). $$

For illustration, in a practical scenario where range measurements to fixed anchors would be received without prior knowledge on the correspondence between them, this strategy would associate each measurement to the anchor whose position estimate is the most consistent. In our case-study, the proof-of-concept method will adopt the same association strategy.

A last difficulty that may arise during a practical implementation, is that one may not know how many features need to be recovered a priori. Hence, for each observation, one should determine whether a new map feature is being observed, or whether the feature is already tracked by the filter. In the literature, algorithmic methods are proposed to tackle this issue, especially in reference books like [94]. A pseudocode version of the so-called FastSLAM 1.0 algorithm is provided in Algorithm 1 to present how its generic implementation can be structured to handle both data association and map feature initialization and tracking. For clarity of the presentation, it is assumed that a single measurement $z_t$ is provided at a time, but the algorithm can seamlessly be extended to the case when multiple measurements would be received simultaneously, as we will see in the next section.

## 4.2 Proof-of-concept FastSLAM method

What follows is a brief recall of the proof-of-concept method presented in [70] to solve ultrasonic SLAM. The objective is to use UGWs to recover both the trajectory of an emitter/receiver pair of transducers and the geometry of the plate, while moving the sensor device on the plate surface. To support fast and robust echo detection, an $L_1$-regularized least squares approach to signal-delay estimation with a sparse signal model is used. This approach can result in a very accurate time-delay estimation of multiple overlapping reflections to be performed, even in low SNR conditions. The next section will describe how these components combine to demonstrate the feasibility of using UGWs for on-plate localization and plate geometry inference. The procedures for map initialization, map management and line-feature echo association are specified in detail.
**Algorithm 1:** FastSLAM_1.0($\mathcal{P}_t$, $\mathbf{u}_t$, $z_{t+1}$)

**Data:** Particle set $\mathcal{P}_t$, odometry data $\mathbf{u}_t$ and measurement $z_{t+1}$.

**Result:** Particle set $\mathcal{P}_{t+1}$ for the next time step $t+1$.

// Iterate over the particles

for $n = 1..N$ do

// Sample a new pose

$\mathbf{x}_{t+1}^{(n)} \sim p(\mathbf{x}_{t+1}|\mathbf{x}_{t}^{(n)}, \mathbf{u}_{t})$;

// Determine the maximum likelihood data association

$\mathbf{c}_{t+1}^{(n)} = \arg\max_{\mathbf{c}_{t+1}} p(z_{t+1}|\mathbf{x}_{0:t+1}^{(n)}, \mathbf{u}_{0:t}, z_{0:t}, \mathbf{c}_{t+1}, \mathbf{c}_{0:t}^{(n)})$;

// Calculate the particle weight

$w_{t+1}^{(n)} \leftarrow p(z_{t+1}|\mathbf{x}_{0:t+1}^{(n)}, \mathbf{u}_{0:t}, z_{0:t}, \mathbf{c}_{0:t+1}^{(n)})$;

if $w_{t+1}^{(n)} < p_0$ then

// Initialize a new map feature if the association likelihood is lower than a threshold

Initialize $\mathbf{m}_{K^{(n)}+1}^{(n)}$ based on the measurement $z_{t+1}$;

$K^{(n)} \leftarrow K^{(n)} + 1$

else

// Update the map feature $k^*$ that is identified as being observed.

Update $p(\mathbf{m}_{k^*}^{(n)}|\mathbf{x}_{0:t+1}^{(n)}, \mathbf{u}_{0:t}, z_{0:t+1}, \mathbf{c}_{0:t+1}^{(n)})$ using the mapping strategy

end

Discard every $\mathbf{m}_k^{(n)}$ that has not been sufficiently observed.;

Update the total number of map features $K^{(n)}$ accordingly.

end

Construct $\mathcal{P}_{t+1}$ by sampling each $\mathcal{P}_{t+1}^{(n)}$ proportionally to their respective weight $w_{t+1}^{(n)}$.

return $\mathcal{P}_t$.
### 4.2.1 Notations and assumptions

We are considering a mobile unit transporting an acoustic emitter-receiver pair on a metal plate. At the i-th, the emitter sends an acoustic pulse $s(t)$. Under mild assumptions of the acoustic properties of the ultrasonic probing system, we can model the received signal $z_i(t)$ as a linear system through convolution:

$$z_i(t) = g_i(t) * s(t) + n_i(t), \qquad (4.1)$$

with $g_i(t)$ the environment impulse response at $x_i$ and $z_i(t)$ which contains information about reflections on the plate edges, while $n_i$ is an additive noise term. We still assume that the plate is a homogeneous material (steel, aluminum, ...) of a constant thickness. We assume the plate to be a convex polygon, but we do not assume it to be rectangular, even though this is to be expected in any industrial case. We will also consider that the ultrasonic echoes picked up by the receiver are first-order reflections. Any other reflections may lead to secondary echoes after bouncing from several edges, but these are neglected. It will also be assumed that odometry is known with good precision. More specifically, accurate heading is assumed to be available, as it can be provided by an accelerometer during a realistic scenario, on a nearly vertical structure.

### 4.2.2 Echo detection

One of the key enabling technologies for on-plate SLAM is the robust and accurate detection of ultrasonic echoes in the metallic plate. The presented approach applies a super-resolution technique based on $L_1$-regularized least-squares and the concept of sparsity to solve this estimation problem. The underlying hypothesis is that most of the metal plate does not reflect the ultrasonic waves, and that only discontinuities in the medium cause reflections to occur. In that case, the environment response $g_i(t)$ from Eq. (4.1) has only a limited number of non-zero components and can be considered sparse. Contrary to the signal model presented in the previous chapter that considers propagation models derived from the Rayleigh-Lamb equations, it will only be assumed that the measurements contain delayed copies of the emitted signal.

After discretization of the problem, these considerations allow us to cast the following $L_1$-regularized least squares problem for extracting echoes:

$$\hat{g}_i = \arg \min_{g} \|D \cdot g - z_i\|^2 + \lambda \cdot |g|_1,$$

where $g$ is the discretized vector-representation of the impulse response $g(t)$ of size $L \times 1$, $z_i$ the discretized received acoustic signal of size $L \times 1$, where $L$ is the number of time-samples used in the discretization process. The notation $|\cdot|_1$ denotes the $L_1$-norm, with the well-known fact that it promotes sparsity of the least-squares solution [95]. The matrix $D$ is called a dictionary matrix of size $L \times L$, and contains time-delayed copies of the emitted echo signal $s$:

$$D = \begin{bmatrix} s(1) & 0 & \dots & 0 \\ s(2) & s(1) & \dots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ s(L) & s(L-1) & \dots & s(1) \end{bmatrix}$$

This minimization problem is a convex problem which can easily be solved using open-source toolboxes such as the Matlab CVX toolbox [34]. Based on the estimated sparse impulse response $\hat{g}_i$, the times of arrival $\{\tau_{i,j}\}_{j=1..N_i}$ can be determined as the time delays associated with the non-zeros components of $\hat{g}_i$. Assuming a known wave velocity $v$, the subsequent range measurements
$\{r_{i,j}\}_{j=1..N_i}$ are obtained using the formula:

$$r_{i,j} = \frac{\tau_{i,j}}{2v},$$

which is consistent with the back-and-forth travel of the wave. Due to noise and imperfect signal modelling, we will assume that not all the edges are detected all the time, and that spurious detection may be included in the list.

### 4.2.3 From echoes to edge hypotheses

Out of the detected ranges, a method is required to initialize plate edge estimates. This is necessary for initialization of the map and line generation using measurements that are not explained by the current map estimate. A single echo $r_{i,j}$ provides information about the distance to an object. As will be described later, this information is useful to refine the parameters of the edge which reflected this echo. However, this is too ambiguous to initialize a new edge: it could be any tangent to the circle centered on the current pose with radius $r_{i,j}$.

While three echoes are necessary to determine a line without ambiguity when the acquisition points are not aligned, relying on 2 echoes appears as a better option. When taken at different known positions, they are sufficient to define two line hypotheses: there are only two lines tangent to the two circles defined by these radii and centered on the known poses [51]. In addition, relying on 3 echoes would involve to consider numerous range triplets out of 3 sets of ranges. Also, this may not be necessary when moving in a direction normal to the edge, as two measurements are sufficient for a unique solution. Both cases are illustrated in Fig. 4.1. Overall, we only consider potential couples of ranges obtained at two different positions for initialization of a line.

<figure><img src="image_27.png" /><figcaption>Figure 4.1: Line hypotheses generated from two measurements at position $P_{t-1}$ and $P_t$. Left: the robot moves away from the edge and generate a single hypothesis, right: generic case leading to two edge hypotheses.</figcaption></figure>

Because of the combinatorial generation of edge hypotheses, a method is required to identify inconsistent edges and remove them. To this end, the hypothesis that only first-order reflections are reaching the receiver can be leveraged: with the assumption of a convex plate, if we consider two edges $L_1$ and $L_2$ observed from pose $P$ and $P_i$, the projection of $P$ on $L_i$, then $L_2$ cannot intersect the segment $[PP_1]$ and $L_1$ cannot intersect the segment $[PP_2]$. If one of these conditions is true, then both edges cannot exist simultaneously on a convex plate because observing one edge would require the UGWs to cross the other one, which is not possible. In the following, this test will be denoted as the consistency check between two edge hypotheses.
### 4.2.4 FastSLAM integration

With the aim to use FastSLAM for our localization and plate geometry inference problem, this section defines the particle state, the chosen map representation, the particle initialization strategy, and how the internal maps are updated based on the retrieved echoes.

#### FastSLAM state

Because of the assumption of a known orientation, we only consider the sensor coordinates $(x, y)$ on the plate as a system state. A map is represented by a list of infinite lines, where each line is represented by an angle and an offset. We use a coordinate pair $(\alpha, b)$ to define the equation of a line:

$$x \cdot \cos \alpha + y \cdot \sin \alpha + b = 0$$

in a frame that is fixed with respect to the plate. A particle $\mathcal{P}_t^{(n)}$ is then described as a trajectory hypothesis paired with an estimated map:

$$\mathcal{P}_t^{(n)} = \{(x_i^{(n)}, y_i^{(n)})_{i=0..t}, (\alpha_k^{(n)}, b_k^{(n)})_{k=1..K^{(n)}}\}$$

#### FastSLAM initialization

At initialization, we rely on edge hypotheses generated as explained earlier: after waiting for the second set of measurements, we estimate a number of edge hypotheses from which we extract maximally consistent sets. These sets are built using a dynamic programming approach inspired by JCBB/JCDA [66]. As a result, every particle is initialized by sampling around the zero position, and randomly selecting a consistent set of edges from the maximally consistent sets.

#### Particle evaluation

Given $\{r_{i,j}\}_{j=1..N_i}$ the set of echoes measured at the i-th scanning position, we evaluate a particle based on its ability to explain the measurements. For a line $L_k^{(n)} = (\alpha_k^{(n)}, b_k^{(n)})$ in particle $\mathcal{P}_t^{(n)}$, the expected measured range is:

$$d_{i,k}^{(n)} = |x_i^{(n)} \cdot \cos \alpha_k^{(n)} + y_i^{(n)} \cdot \sin \alpha_k^{(n)} + b_k^{(n)}|$$

From this range, the likelihood of measurement $r_{i,j}$ due to a reflection on the line $L_k^{(n)}$ is modeled with a Gaussian distribution centered on $d_{i,k}^{(n)}$, with a standard deviation consistent with the echo detection uncertainty. If the highest likelihood over all the lines is lower than a threshold, then the measurement is considered “unexplained” and allocated a low probability $p_0$. Otherwise, the index of the line leading to the highest likelihood is recorded as $k_{i,j}^{* (n)}$. For the purpose of map update, the list of unexplained measurements is also stored to create additional line hypotheses.

For a complete set of echoes, the evaluation of a particle will then be the product of the likelihood of the $N_i$ likelihoods of the independent measurements:

$$\mathcal{L}(\mathcal{P}_t^{(n)}) = \prod_{j=1}^{N_i} \max \left( p_0, \max_k \left( p(r_{i,j} | \mathcal{P}_t^{(n)}, L_k^{(n)}) \right) \right).$$

This particle evaluation strategy effectively results in maximum likelihood data association, as each range measurement is associated with the line that best explains the observation.
## Map update

The map update stage has three purposes, first for “explained” measurements, the associated line needs to be updated to account for the new piece of information. Second, the “unexplained” measurements are used to create additional line hypotheses. Third, consistency checks are used to eliminate line hypotheses which are no longer supported by the observations.

**Line update:** Given a range measurement $r_{i,j}$ and its associated line in particle $\mathcal{P}_t^{(n)}, L_{k^*}^{(n)}$, one needs to update the corresponding $(\alpha_{k^*}^{(n)}, b_{k^*}^{(n)})$. It should be noted that, for notation simplicity, we refer to the associated line index as $k^*$ instead of $k_{i,j}^{(n)}$ which makes explicit the time, particle and measurement indexes. Besides, we keep a record, on a per-particle basis, of the pairs of time step indexes and ranges associated with this line in a set $\mathbf{E}_{k^*}^{(n)}$. The line parameters update is then achieved by minimization of the following cost function:

$$C_{k^*}^{(n)}(\alpha, b) = \sum_{(i,j) \in \mathbf{E}_{k^*}^{(n)}} \left[ (x_i \cdot \cos \alpha + y_i \sin \alpha + b)^2 - r_{i,j}^2 \right]^2,$$

**New lines:** For unexplained measurements, we need to combine them with the measurements from the previous pose to create edge hypotheses (as described previously). Every pair made of one previous measurement and a new unexplained measurement is used to generate one or two edge hypotheses. All the previous measurements are used for additional robustness against incorrectly associated measurements at the previous time step. All these hypotheses are added to the line set of the current particles.

**Map clean-up:** In a final stage of the map update, all the lines in a particle line set are checked for pairwise consistency. If two lines are deemed inconsistent and one of them has been observed (i.e. associated with a measurement) significantly more than the other since its creation, then the least observed line is marked for deletion. In our implementation, this criterion is defined as being observed two additional times. In this stage, we also mark for deletion lines that were not re-observed enough since their creation. For instance, we delete a line that is more than 10 step-old but has been observed less than 3 times. The simple delayed outlier removal described in this paragraph is what makes possible the generation of many edge hypotheses from the set of detected echoes.

### 4.2.5 Overview on the SLAM results

This section provides an overview of the SLAM results obtained with the proof-of-concept approach. We use the experimental data described in the previous chapter that was acquired on a 600 × 450 × 6mm aluminum plate, in a laboratory environment. We use an emitter/receiver pair of acoustic sensors that are moved, manually, to the predefined acquisition positions which are carefully recorded for ground truth positioning and plate boundary location.

Fig. 4.2 illustrates the echo detection process using an experimental measurement. Panel a) shows the emitted signal, which is a 2-cycle burst at 100kHz. The reflected signal from the plate structure can be seen in panel b). It shows the pickup of the emission at the beginning of the signal, and a reflection due to coupling mismatches. Then, a series of echoes is apparent. Using the $L_1$-based approach, the impulse response can be reconstructed (see panel b, orange trace). The method reconstructs the major echo components of the impulse response, while ensuring that the solution is sparse. Panel c) shows the reconstruction error. The fact that this residual is not zero can be explained by the fact that the signal model is not sufficiently appropriate to
<figure><img src="image_28.png" /><figcaption>Figure 4.2: Illustration of the echo detection process. Panel a) shows the emitted signal. Panel b) shows the echo signal (blue trace) and the reconstructed impulse response (orange trace). Panel c) shows the reconstruction residual.</figcaption></figure>

<figure><img src="image_29.png" /><figcaption>Figure 4.3: Evolution of the map representation for the highest-ranked particle at step 1, 36, 124 and 239. The purple frame represents the outline of the true plate. The red dot is the current estimated sensor pose, and the red line is the history of its estimated trajectory. The darkness of the line is proportional to the number of times they have been observed.</figcaption></figure>
<table><caption>Table 4.1: Average errors and standard deviations on the lines parameters estimation after 50 and 239 steps. They are evaluated using 100 repetitions.</caption><thead><tr><td></td><td>Angle error [rad]</td><td>Offset error [cm]</td></tr></thead><tbody><tr><td>Step 50</td><td>-0.029 ± 0.154</td><td>-6.1 ± 19.9</td></tr><tr><td>Step 239</td><td>-0.007 ± 0.091</td><td>-1.5 ± 12.6</td></tr></tbody></table>

describe the measurements. However, as the remaining experiments show, this crude approach to the echo detection process may be sufficient for the plate-estimation algorithm.

Figure 4.3 shows one anecdotal example of a mapping run on the plate by displaying the highest-ranked particle (out of $N = 16$ in this case), its line set and trajectory. In this scenario, the transducers follow a simulated lawn-mowing trajectory. The reconstructed path is clearly visible, and the stability of the estimate can be observed when performing a second sweep of the path (iteration 239). The convergence of the estimated lines to the true plate outline can also be observed, with a final error in the order of 2cm on the line offsets $b$.

To numerically evaluate the performance, we provide, in Table 4.1, the mapping precision and repeatability of this SLAM approach through 100 repetitions of the considered scenario. The table presents a summary of the resulting precision at different steps in the SLAM process. It is clear that the initial estimates, after observing only half of the plate, are still very uncertain. Although there is little bias in the estimation during the last step, the standard deviation values are relatively important, even after a second sweep of the plate. Overall, this proof-of-concept approach demonstrates the feasibility of using ultrasonic data for on-plate SLAM, as the ultrasonic measurements contain information to the distance to the plate edges. Still, one may seek to improve its accuracy and robustness due to the high variability of the reconstruction results.

## 4.3 A FastSLAM approach integrating beamforming maps

We now present a novel FastSLAM approach to achieve on-plate SLAM by relying on ultrasonic reflections on the plate boundaries. In the previous experiments, ultrasonic measurements acquired on metal plates have proven to yield sufficient information to provide both localization and mapping capabilities. It is based on $L_1$-regularized least squares to retrieve the multiple echoes within one measurement. However, the dispersive nature of the waves was not taken into account, and the relative complexity of the algorithm due to explicit echo-line association and the map management strategy may jeopardize its robustness and accuracy.

Contrary to the previous method, our new approach takes into account the dispersive nature of guided waves in metal plates. Indeed, we rely on a wave propagation model to determine, through correlation with acoustic data, the likelihood that a reflection occurred to a wide range of distances to the transducers. These correlation measurements are then leveraged to construct beamforming maps that focus the measurement energy in the 2D-line space. Based on the latter, we solve the mapping problem through plate edges estimation for every particle, in a FastSLAM fashion. In this new setup, the resolution of the difficult echo association problem is no longer required. Yet, for simplicity, this approach is restricted to recovering rectangular shapes. It will be demonstrated, with real acoustic measurements obtained on different metal plates, that such a framework achieves more accurate results than the proof-of-concept method, while the complexity of the algorithm is sensibly reduced.
4.3.1 Plate boundary mapping with delay-and-sum beamforming

We will be interested in mapping the plate boundaries using the ultrasonic reflections, as in the previous approach. As the overall SLAM method will be integrated within FastSLAM, we can assume first a known trajectory, as different trajectory hypotheses will be maintained by the particle set. Here, we propose a mapping approach based on the correlation signals presented in Chapter 3, with the aim to recover a rectangular plate geometry estimate. To compute these signals, we rely on the acoustic model presented in Chapter 2:

$$
\hat{g}(r, \omega) \approx e^{-jk(\omega)r} / \sqrt{k(\omega)r}, \qquad (4.2)
$$

where $k(\omega)$ is the wavenumber of the major acoustic mode (A0). The correlation measurement
is determined with:

$$
z'_{i}(r) = \frac{\langle z_{i}(t), \hat{z}(r, t) \rangle}{\sqrt{\langle z_{i}(t), z_{i}(t) \rangle \langle \hat{z}(r, t), \hat{z}(r, t) \rangle}},
$$

and its envelope is retrieved with:

$$
e_i(r) = |z'_i(r) + j\mathcal{H}(z'_i)(r)|.
$$

The determination of eᵢ serves the purpose of echo detection, as the local maxima provide the most-likely ranges to the plate edges, when considering echoes that are first-order ones. This principle has already been illustrated in Chapter 3.

Similarly to the proof-of-concept method, the map is represented by a set of lines: $\mathbf{M} = \{r_l, \alpha_l\}_{l=1...4}$, where the parameters $(r_l, \alpha_l)$ define the line equation in the 2D plane with:

$$
x \cdot \cos \alpha_l + y \cdot \sin \alpha_l - r_l = 0
$$

in a non-mobile frame with respect to the plate. In this thesis, we will often use the following
convention: the origin of the reference frame will be taken as the initial robot position, and the
$x$-axis will be aligned with the initial robot heading, as illustrated by Fig. 4.4. Moreover, we limit
our case-study to rectangular shapes. Hence, the possible maps possess only four lines forming
a rectangle altogether. This is not a major limitation for inspection on ship hulls and storage
tanks, as their structure is almost entirely made of rectangular panels. Still, the next chapter
of this thesis will focus on more challenging mapping problems. Especially, an extension to the
arbitrary polygonal shape will be investigated.

It is noteworthy that one single range measurement is not sufficient for recovering plate boundaries without ambiguities, as all the lines tangent to the circle which radius equal to the detected range, and centered at the sensors’ position, may equally account for the correlation measurement. Consequently, measurements $e_i$ acquired at different positions must be combined. Let’s assume a hypothetical robot trajectory $\mathbf{x}_{0:t}$. We aim at estimating the map $\mathbf{M}$, which means inferring a probability density function $p(\mathbf{M}|\mathbf{x}_{0:t}, z_{0:t})$. A first solution would consist in assessing, for each map in the 8-D domain, the correlation between the observations and the predicted data based on the image source model. However, such an approach would be far too cumbersome for a real-time application. Instead, we rely on a Delay-and-Sum (DAS) beamforming approach. We determine a beamforming map that attributes, to every line parameters $(r, \alpha)$, the likelihood of the line existence given the observations with:

$$
\mathcal{L}_t(r, \alpha) = \sum_{i=0}^{t} e_i(d_i(r, \alpha)) = \sum_{i=0}^{t} e_i(|x_i \cdot \cos \alpha + y_i \cdot \sin \alpha - r|).
$$
<figure><img src="image_30.png" /><figcaption>Figure 4.4: Representation of lines using $(r, \alpha)$ coordinates. As a convention, the reference frame is taken as the initial robot position, and the $x$ axis is aligned with the initial robot heading.</figcaption></figure>

where $d_i(r, \alpha) = |x_i \cdot \cos \alpha + y_i \cdot \sin \alpha - r|$ is the distance between the robot during time-step $i$ and the hypothetical line being considered. In the equation, all the correlation values add up constructively along all the observations if an edge is indeed present. Also, it can be noted that only first-order reflections are taken into account, as we reason on individual lines. One may consider that higher order reflections, which we consider as "noise", are less likely to account for high correlation amplitudes because of wave scattering after each additional reflection. Indeed, the latter causes loss of energy to the wave packet. One major advantage of this approach is that $\mathcal{L}_t(r, \alpha)$ can be computed recursively when an additional measurement $e_t$ is made available, as $\mathcal{L}_t(r, \alpha) = \mathcal{L}_{t-1}(r, \alpha) + e_t(|x_t \cdot \cos \alpha + y_t \cdot \sin \alpha - r|)$. This is beneficial for a robotic task meant to be performed in real time, as a map estimate is available at any time, and the computational load of one update is low. Finally, to retrieve a maximum likelihood estimate of the map, we solve the following optimization problem:

$$ \hat{\mathbf{M}}_t = \arg \max_{\mathbf{M}} \mathcal{L}_t(\mathbf{M}) \triangleq \arg \max_{\mathbf{M}} \sum_{(r_l, \alpha_l) \in \mathbf{M}} \mathcal{L}_t(r_l, \alpha_l), \quad (4.3) $$

where $\mathbf{M}$ is restricted to be a rectangle. It can be solved efficiently by taking that constraint into account. First, one can determine the most likely line:

$$ (\hat{r}_1, \hat{\alpha}_1) = \arg \max_{r, \alpha} \mathcal{L}_t(r, \alpha). $$

Based on a discretized version of $\mathcal{L}_t$, the above optimization can be solved seamlessly with a grid search. Next, it is possible to rely on the assumption that the retrieved line provides the most reliable estimation of the plate orientation with respect to the robot. Therefore, the determination of the other lines for $l = 2, 3, 4$ reduces to solving simple and independent one-dimensional optimization problems:

$$ \hat{\alpha}_l = \hat{\alpha}_1 + \frac{\pi(l-1)}{2}; \quad \hat{r}_l = \arg \max_{r} \mathcal{L}_t(r, \hat{\alpha}_l). $$

Overall, this mapping approach is relatively simple. Not only it presents little computational complexity and can be deployed seamlessly online, as we will show, but also, no explicit echo detection and association are required.
### 4.3.2 Particle evaluation and FastSLAM algorithm

Similarly to the proof-of-concept method, we rely on a FastSLAM approach. We use a particle filter in the localization space, where each particle holds a hypothesis on the map which is inferred from the particle trajectory and the measurements. In our approach, a set with $N$ particles has the following form during measurement step $t$:

$$ \mathcal{P}_t = \{ \mathbf{x}_{0:t}^{(n)} = [x_i^{(n)}, y_i^{(n)}, \theta_i^{(n)}]_{i=0..t}, \mathcal{L}_t^{(n)} \}_{n=1..N} $$

where $\mathbf{x}_{0:t}^{(n)}$ represents the $n$-th particle belief on the robot trajectory augmented with its heading over time steps $i = 0..t$, and $\mathcal{L}_t^{(n)}$ its beamforming map which depends on the particle trajectory hypothesis. Based on $\mathcal{L}_t^{(n)}$ and the resolution of Eq. (4.3), each particle holds a hypothesis $\mathbf{M}_t^{(n)}$ on the map. Besides, each particle is provided with a weight indicating how the particle belief accounts for the measurements. To define it, we rely on the current envelope of the correlation measurement, and assess the likelihoods of the map edges retrieved from $\mathcal{L}_t^{(n)}$ and the current robot position belief:

$$ w_t^{(n)} = \eta \cdot \exp \left\{ \beta \sum_{(r_l, \alpha_l) \in \mathbf{M}_t^{(n)}} e_t \left( d_t^{(n)}(r_l, \alpha_l) \right) \right\} \quad (4.4) $$

where $\eta$ is the normalization factor and $\beta$ a positive parameter. It enables to fix the confidence in the correlation measurements and shall be tuned so that the resulting weight distribution is consistent with the motion and observation noises. One will notice that Eq. (4.4) is the same observation model as the one used in Chapter 3, except that the plate boundaries location are now estimated. The calculated weights are used to sample, with replacement, the particles after each time step. Besides, one may note that we are not determining a full posterior over the map, thus, in Eq. (4.4), the uncertainty on the lines' retrieval from the beamforming maps is not considered. Altogether, our implementation of FastSLAM is given in Algorithm 2.

**Algorithm 2:** FastSLAM($\mathcal{P}_{t-1}$, $\mathbf{u}_{t-1}$, $e_t$)

**Data:** Particle set $\mathcal{P}_{t-1}$, odometry data $\mathbf{u}_{t-1}$ and correlation measurement $e_t(r)$.

**Result:** Particle set $\mathcal{P}_t$ for the current time step $t$.

if $t=0$ then

Initialize the particle filter with $\mathcal{P}_0 = \{[x_0, y_0, \theta_0], \text{null-fuction}\}_{n=1..N}$

else

for $n = 1..N$ do

$\mathbf{x}_t^{(n)} \sim p(\mathbf{x}_t|\mathbf{x}_{t-1}^{(n)}, \mathbf{u}_{t-1})$;

$\mathcal{L}_t^{(n)}(r, \alpha) = \mathcal{L}_{t-1}^{(n)}(r, \alpha) + e_t(|\mathbf{x}_t^{(n)} \cos \alpha + \mathbf{y}_t^{(n)} \sin \alpha - r|), \forall (r, \alpha)$;

$\mathbf{M}_t^{(n)} = \arg \max_{\mathbf{M}} \mathcal{L}_t^{(n)}(\mathbf{M})$;

$w_t^{(n)} \propto \exp\{\beta \sum_{(r_l, \alpha_l) \in \mathbf{M}_t^{(n)}} e_t(d_t^{(n)}(r_l, \alpha_l))\}$

end

Construct $\mathcal{P}_t$ by sampling each particle proportionally to their respective weight.

end

return $\mathcal{P}_t$.
<figure><img src="image_31.png" /><figcaption>Figure 4.5: Acquisition positions on the steel plate.</figcaption></figure>

## 4.4 Experimental results

In this section, we test our FastSLAM approach on experimental data. We detail the experimental setups and show the results in terms of localization and mapping accuracy. We will also compare the localization and mapping performance with that of the proof-of-concept method. To illustrate the feasibility of ultrasonic SLAM with the proposed method and using a real robotic platform, the approach is tested on data acquired with a magnetic crawler.

### 4.4.1 Experimental setups

To assess the efficiency of our procedure, we will consider two scenarios. In Scenario 1, we use the acoustic data acquired on the 600x450x6mm aluminum plate, which has already been presented. In the second scenario, we consider a larger rectangular metal plate which has dimensions 1700x1000x6 mm, and is made of steel. The acquisition process is globally the same to collect the data on this second plate: the transducer pair is moved by hand on the vertices of a regular grid. At every position, 10 measurements of the ultrasonic response are averaged to improve the signal quality. This operation is not critical in a laboratory environment, but it may be necessary in outdoor conditions, where the inspection robot shall operate, to alleviate the effect of external disturbances. The acquisition positions, which are carefully recorded for ground-truth positioning, are provided in Fig. 4.5.

In total, 108 measurements are collected on the aluminum plate (plate 1), while this number increases to 117 for the steel plate (plate 2). We use two tonebursts of a sinusoidal wave at 100 kHz as the excitation. Moreover, the direct incident signal is smoothly removed from the data using a sigmoid window, as it does not correspond to a reflection on an edge.

For each plate, we determine a wave propagation model as in Eq. (4.2). More specifically, we solve the Rayleigh-Lamb equations and assume that the A0 Lamb wave mode is predominant in the two scenarios. The model parameters ($d = 6$ mm, $c_L = 6420$ m/s and $c_T = 3040$ m/s are used for Scenario 1, and have been experimentally validated in Chapter 3. We use the model parameters: $d = 6$ mm, $c_L = 5880$ m/s and $c_T = 3250$ m/s for the second scenario, which have also been experimentally validated by comparison between the theoretical and experimental dispersion curves.

Regarding the particle filter parameters, we use $N = 20$ particles. To simulate a sweep of a plate by a robotic platform, a sequence of measurements is selected from the database and is
<figure><img src="image_32.png" /><figcaption>Figure 4.6: Trajectories estimated by all the particles (black lines), dead-reckoning trajectories (dash magenta lines) and map retrieved by the most likely particle (green lines) during Steps 1, 22, 50 and 108 for a lawn-mower path on plate 1 (zoom for details). The true outline of the plate and true sensor positions correspond to the blue rectangle and blue dot respectively.</figcaption></figure>

presented to the SLAM framework, with the theoretic displacement between grid cells used as
odometry. Also, we add Gaussian noise to the odometry data: $\bar{\Delta}r \sim \mathcal{N}(\Delta r, (10^{-2}\Delta r + \Delta r_0)^2)$
and $\bar{\Delta}\theta \sim \mathcal{N}(\Delta\theta, (10^{-2}\Delta\theta + \Delta\theta_0)^2)$ with $\Delta r_0 = 10^{-3}$ m and $\Delta\theta_0 = 10^{-2}$ rad to simulate
odometry uncertainty which is considered to be moderate due to the robot magnetic adherence
and embedded accelerometers that may be used to provide precise heading on a nearly-vertical
structure, in a realistic scenario.

4.4.2 Localization and mapping results

We run our FastSLAM algorithm using the data of plate 1, and simulate a lawn-mower path. Although the results are generated off-line, our method can run online on a real robotic platform. Indeed, as the beamforming maps of size Z × Z are updated incrementally, the complexity of one FastSLAM iteration with N particles is $O(N \times Z^2)$, which leads to a computational time no higher than 100 milliseconds per iteration in our setup, with Z = 300 and N = 20. Consequently, the FastSLAM updates can reasonably be preformed at a rate of 5 to up to 10 Hz. The particle filter is initialized with $[x_0, y_0, \theta_0] = [0, 0, 0]$.

In Fig.4.6, we show the particles’ belief on the sensors trajectory during measurement steps 1,
22, 50 and 108. We also represent the map retrieved by the particle with the highest weight and
several dead-reckoning trajectories obtained using noisy odometry input only. During Step 1, the
map is not correctly estimated. As only one measurement has been integrated, the distance to the
closest edge can be recovered but, the orientation is essentially random. Rapidly, the three closer
<figure><img src="image_33.png" /><figcaption>Figure 4.7: Beamforming map for the particle with the highest weight during the final step. The $(r, \alpha)$ coordinates are expressed in the reference frame which origin is the initial position of the sensors, and the $x$ axis is aligned with the initial heading. The rectangles indicate the edges retrieved with our method.</figcaption></figure>

edges are recovered as shown during Step 22. However, the right edge is not yet well estimated as it is further away. During Step 50, the plate shape is fully recovered, and during the final step, both the estimation of the plate shape and trajectory are accurate. In contrast, the dead-reckoning trajectories present noticeable drift. This illustrates that, by relying on the acoustic data, the proposed approach can appropriately compensate for moderate odometry noise.

Fig.4.7 depicts the beamforming map for the most likely particle during the final step. We can see that the intensity peaks due to the edges can be easily identified, and our optimization method does not face difficulty to retrieve them.

To compare the proposed FastSLAM approach with the proof-of-concept one, we show, in Fig.4.8, the average localization and line parameters estimation errors calculated over 100 runs of each algorithm, and using the same acoustic data. The localization is determined by evaluating the distance between the *x*, *y* sensor position in the estimated plate frame, and the ground truth position in the true plate frame. We simulated 100 repetitions of the lawn-mower path for the sensors' trajectory. In the figure, we also represent the 10% and 90% quantiles with the aim to measure the repeatability of each approach. It can be observed that, with our new method, only a few tens of measurement steps are necessary to recover, in average, the range parameters of the lines with a precision of a few millimeters, and the plate orientation with a precision better than one degree. The localization result is also very precise as, after a quick convergence, the position errors remain in the order of a few millimeters despite the defects on the plate. Besides, the estimation is not subject to randomness, as the 10 % and 90% quantiles remain close to the average results. In comparison, the proof-of-concept method demonstrates poorer results. Indeed, not only are the average estimation errors higher, but also the variation of precision can be relatively significant between two runs. We have seen earlier that it required many more steps before more accurate results can be achieved. Also, it is sensitive to echo detection and association errors. Altogether, the results illustrate the improvement on localization and mapping that is achieved with the new method.

With the aim to assess the performance on a larger plate, we run our algorithm with the measurements obtained on plate 2, and simulate, again, a lawn-mower path. The results obtained
<figure><img src="image_34.png" /><figcaption>Figure 4.8: Localization and mapping results over 100 repetitions of a lawn-mower path on plate 1 for the previous and the new FastSLAM methods. a) Average estimation errors on the range parameter of the lines. b) Average estimation errors on the angle parameter. c) Average localization errors in the estimated plate frame. The 10% and 90% quantiles correspond to the upper and lower bounds of the coloured areas. The scales along the y-axis are logarithmic.</figcaption></figure>
<figure><img src="image_35.png" /><figcaption>Figure 4.9: Localization and mapping results over 100 repetitions of a lawn-mower path on plate 2 for the new FastSLAM method. a) Average estimation errors on the range parameter of the lines. b) Average estimation error on the angle parameter. c) Average localization errors in the estimated plate frame. The 10% and 90% quantiles correspond to the upper and lower bounds of the colored areas. The scales along the y-axis are logarithmic.</figcaption></figure>