• Aucun résultat trouvé

Phase de prétraitement :

Algorithmes SLAM et architectures dédiées : état de l’art

1.4.2 Phase de prétraitement :

Dans les applications robotiques, il pourrait être difficile de décrire les mesures capteurs directement comme une fonction analytique demandée par le traitement principal (cœur) du SLAM. Dans le cas où les données brutes du capteur sont des images, il pourrait être difficile d’exprimer l’intensité de chaque pixel en fonction de l’état du cœur SLAM. La même difficulté s’impose avec des capteurs plus simples (un laser avec un faisceau unique par exemple). Dans les deux cas, le problème est lié au fait que nous ne sommes pas en mesure de concevoir une représentation suffisamment générale de l’environnement. Même en présence d’une telle représentation, il serait difficile d’écrire une fonction analytique qui relie les mesures (observations) aux paramètres de cette représentation. Pour cette raison, avant l’exécution du cœur SLAM, il est fréquent d’avoir un module à priori, la phase de prétraitement, permettant d’extraire des points d’intérêts à partir des données capteurs. Dans un système SLAM basé sur la vision, la phase de prétraitement extrait l’emplacement du pixel de quelques points identifiables dans

l’environnement. Ces observations de pixels sont maintenant faciles à modéliser par le cœur SLAM. La phase de prétraitement est également en charge de la mise en correspondance d’une mesure avec un amer spécifique dans l’environnement (point 3D) ; il s’agit d’une opération d’appariement. Dans ce cas, l’appariement cherche à identifier une observation zk dans un ensemble de variables inconnues χk tel que zk = hkk) + k. Enfin, la phase de prétraitement peut également fournir une estimation initiale des variables. Par exemple, dans un SLAM monoculaire la partie prétraitement peut s’occuper de l’initialisation des amers par des méthodes de triangulation. Le type de calcul réalisé dans la partie prétraitement dépend fortement du type du capteur utilisé puisque la notion des amers change d’un capteur à l’autre.

Dans cette thèse nous étudierons plusieurs algorithmes SLAM utilisant différents types de capteurs. Dans la section suivante nous donnons le formalisme mathématique de la phase de prétraitement en fonction du type de capteur.

1.4.2.1 Modèle d’évolution

La cinématique du robot a été très étudiée au cours des dernières décennies. La robotique pro-babiliste généralise les équations cinématiques du fait que l’acquisition des données est bruitée. La cinématique est le calcul décrivant l’effet des mesures de contrôle sur la configuration d’un robot. La configuration d’un robot mobile à roues est souvent décrite par six variables, ses coordonnées carté-siennes tridimensionnelles (x, y, θ) et ses trois angles d’Euler (roll, pitch, yaw) par rapport à un repère externe. Tout au long de notre étude, nous considérons un robot à roues se déplaçant dans un repère à deux dimensions, dont les variables cinématiques sont résumées par trois variables (x, y, θ). Ceci est illustré dans la figure 1.4. La position du robot est décrite par deux cordonnées cartésiennes (x, y) relatives à un repère externe, avec son orientation angulaire θ. Dorénavant, on désigne par stle vecteur d’état du robot : st=    x y θ   .

Figure 1.4: Position du robot mobile dans le repère globale

Le modèle cinématique probabiliste, ou bien le modèle du mouvement est un modèle de transition d’état en robotique mobile. Ce modèle s’agit de la densité conditionnelle 1.1. stet st−1sont les vecteurs de position du robot, utest la loi de contrôle du mouvement. Ce modèle décrit la densité de probabilité postérieur d’une transition d’état en partant d’une position initiale st−1 et en exécutant le contrôle ut.

p (st|ut, st−1) (1.1)

1.4 Formalisation d’un système de SLAM moderne 14 environnement bidimensionnels. Dans les deux cas la position initiale du robot est st−1. La densité de probabilité p (st|ut, st−1) est représentée en deux dimensions par la zone grise : plus la zone est sombre plus la position est probable. Dans la figure 1.5.a, le robot fait un déplacement horizontale tout au long de l’axe x, au cours duquel il peut s’accumuler des erreurs de translation et de rota-tion comme indiqué dans la figure. La figure 1.5.b montre la distriburota-tion probabiliste résultante d’un déplacement un peu plus complexe qui engendre une grande incertitude sur la position. Dans la litté-rature on trouve plusieurs modèles probabilistes de mouvement pour des robots mobiles fonctionnant dans un environnement bidimensionnels. On trouve principalement le modèle de vitesse et le modèle odomètrique. Ces deux modèles sont plus au moins complémentaires dans le type de contrôle utilisé. Le premier modèle suppose que la donnée du contrôle ut spécifie la vitesse des moteurs du robots. Le deuxième modèle suppose que le contrôle utspécifie les données odomètriques des roues droite et gauche du robot. Le modèle du mouvement probabiliste résultant en intégrant ces informations du contrôle est plus au moins différent. La plus part des industriels utilisent des capteurs odomètriques au lieu des capteurs de vitesse dans leur plateformes. En pratique, le modèle odomètrique est beaucoup plus précis que le modèle de vitesse, pour le simple prétexte que la plus part des robots commerciaux ne peuvent pas traiter l’information de vitesse avec un tel niveau de précision qui peut être achevé par la mesure du nombre de rotation des roues du robot mobile. Bien évidemment, les deux modèles souffrent des erreurs de glissement et de dérivation. Le modèle de vitesse souffre de plus des écarts entre le contrôle et son modèle mathématique. En conséquence, le modèle odomètrique est relative-ment souvent utilisé avec des algorithmes d’estimation type SLAM. C’est ce modèle qu’on va donc considérer dans l’implantation des algorithmes SLAM.

Figure 1.5: Le modèle du mouvement

La position initiale du robot est donnée par (x, y, θ), dl et dr définissent la distance parcourue respectivement par la roue gauche et droite du robot. Le modèle d’évolution calcule la position future du robotx0, y0, θ0, il est donné par les équations suivantes :

f (x0, y0, θ0) =    x0 = x + dccos θ + δθ 2  y0 = y + dcsin θ +δθ 2  θ0= θ + δθ    (1.2) avec dc= dr+dl 2 δθ=dr−dl db (1.3)

1.4.2.2 Modèle d’observation

Les robots aujourd’hui utilisent une variété de capteurs de perception, comme les capteurs de profondeur ou bien une camera. Les caractéristiques de chaque modèle dépendent fortement du type de capteur utilisé : les capteurs d’image sont bien modélisés par une géométrie projective, les capteurs sonores sont modélisés par la description des caractéristiques de l’onde sonore et la réfraction sur le milieu ambiant. La méthode probabiliste modélise explicitement le bruit de mesures. Ces modèles représentent l’incertitude inhérente sur les capteurs qui équipent le robot. Formellement, le modèle d’observation est défini comme étant une distribution probabiliste conditionnelle p (zt|st, mt), ou st

est la position du robot, ztl’observation à l’instant t et mtla carte de l’environnement. Bien que nous nous adressons principalement dans cette section aux deux types de capteurs, à savoir les télémètres laser et les cameras monoculaires, le principe sous-jacent et les équations mathématiques ne sont pas limités à ces types de capteurs. Le principe de base peut être appliqué à n’importe quel type de capteur, exemple : le code à barres pour la détection des points d’intérêts.

Pour illustrer le problème de la perception de l’environnement, la figure 1.6 montre un robot mo-bile équipé de plusieurs capteurs sonores et entrain d’explorer un environnement interne. La distance mesurée par chaque capteur sonore est représentée par une ligne noire et la carte reconstruite est montrée par des couloirs en noirs. La perception de l’environnement consiste à mesurer la distance qui sépare le robot des objets les plus proches qui l’entourent. Les données aberrantes qui constituent le bruit de mesure sont souvent interprétées par l’incapacité du capteur à mesurer la distance des objets proches. Ce bruit est prévisible et va être calculé pour en tenir compte dans l’implémentation de l’algorithme SLAM. En règle générale, plus le modèle d’observation est précis plus les résultats sont cohérents. Bien évidemment, il est presque impossible d’avoir un modèle exacte des capteurs extéroceptifs et souvent le développement d’un tel modèle nécessite la connaissance de certains para-mètres qui sont imprévisibles. Donc les algorithmes résolvent le problème d’inexactitudes du modèle des capteurs extéroceptifs dans l’approche stochastiques : en modélisant ce modèle par une densité probabiliste conditionnelle p (zt|st, mt)au lieu d’une fonction simple déterministe. Les capteurs exté-roceptifs qu’on va étudier (laser, camera) génèrent plus d’une seule information. Une camera génère un tableau de valeurs (intensité, saturation, couleurs). Le télémètre laser génère une gamme de distances mesurées. On va désigner par zk

t une seule observation acquise et par ztun ensemble d’observations.

Figure 1.6: Exemple illustratif de la perception dans un environnement

Modèle d’observation à base d’un télémètre Laser Il existe des modèles d’observations qui sont basés sur les mesures brutes du capteur extéroceptif. Comme approche alternative, il existe des modèles qui s’appuient principalement sur un seul point d’intérêt extrait des données brutes mesurées. Dans notre implantation de l’algorithme SLAM on considère la deuxième approche. Un tel modèle est avantageux parce qu’il réduit le coup et la complexité de calcul par rapport au premier modèle

1.4 Formalisation d’un système de SLAM moderne 16 qui tient en compte toutes les données brutes issues du capteur. L’utilisation d’un tel modèle est adapté dans le cas où le fonctionnement en temps-réel est un facteur important. Ce modèle nécessite la mise en place d’un algorithme d’extraction de primitives à partir des données brutes. L’extraction des primitives (points d’intérêts) est étudiée dans la section suivante. Dans cette partie nous nous intéressons à la forme analytique du modèle d’observation.

Dans la plus part des applications robotiques, un point d’intérêt correspond à un objet distinctif dans le monde physique. Dans un environnement interne, un point d’intérêt peut être une porte ou une fenêtre. Dans un environnement externe, il peut être un tronc d’arbre ou un coin d’un bâtiment. Dans la robotique mobile ces points d’intérêts sont utilisés comme des amers par le robot pour naviguer et se repérer dans l’environnement à explorer. Le télémètre LASER peut donner une information sur la profondeur aussi bien que l’angle des points d’intérêts relatifs à la position du robot dans le repère local. On désigne par r la profondeur et φ par l’angle, le vecteur de position du point d’intérêt est donné par (1.4) : f (zt) =z1 t, zt2, . . . = ( r1 t φ1t ! , r 2 t φ2t ! , . . . ) (1.4) Le nombre des points d’intérêts détectés à chaque instant est variable et dépend du type de l’extracteur utilisé. Le modèle d’observation qu’on va utiliser suppose que la carte m construite par le robot s’agit d’un ensemble de points d’intérêts de telle sorte que m = {z1, z2, . . .}. La position du point d’intérêt est notée par (xf, yf)où xf et yf sont les cordonnées du point dans le repère global. La figure 1.7 illustre le modèle de perception du robot. r, φ sont les mesures données par le capteur. Le modèle d’observation à base du capteur LASER est formulé en utilisant les lois géométriques classiques (1.5).

hl=   ri t= q (xf− x)2+ (yf− y)2 φi t= arctanyf−y xf−x  − θ  + σ2r σ2 φ ! (1.5) où st= (x, y, θ)est la position du robot,σ2

r, σ2

φ est l’erreur Gaussienne moyenne respectivement sur la profondeur et l’angle mesurés par le capteur, avec une variance σ2

r, σφ2.

Figure 1.7: Perception de l’environnement avec un capteur Laser

Modèle d’observation à base d’une caméra monoculaire Il existe plusieurs méthodes de projection d’image pour modéliser une camera. Dans notre étude nous optons pour la projection perceptive pour sa meilleure adéquation à la réalité physique du capteur de vision. Le modèle sténopé (Pin-Hole en anglais) modélise une caméra par une projection perspective. Ce modèle transforme un point 3D de l’espace en un point dans l’image et peut se décomposer en trois transformations

élémentaires successives (1.8) : la transformation entre le repère du monde et celui de la caméra , la transformation entre le repère caméra et le repère capteur et la transformation entre le repère capteur et le repère image.

Figure 1.8: modèle sténopé

Le modèle d’observation (Pin-Hole) à base d’une camera décrit la relation entre les coordonnées d’un point (u, v) sur l’image et sa position (xcam, ycam, zcam)dans le repère caméra. Il est donné par l’équation 1.7.    su sv s    =    f ku f suv cu 0 f kv cv 0 0 1       xcam ycam zcam    (1.6) Avec :

— (u, v) : la position du point sur l’image . — f : la distance focale en mm.

— (ku, kv): les facteurs d’agrandissement de l’image.

— (cu, cv): les coordonnées de la projection du centre optique de la caméra sur le plan image en pixel.

— suv : la non-orthogonalité des lignes et des colonnes de cellules électroniques photosensibles qui composent le capteur de la caméra. Dans notre cas, cette variable est considérée comme nulle. — (xcam, ycam, zcam): la position de (u, v) dans le repère caméra.

En faisant l’hypothèse que suv = 0, le modèle Pinhole devient :

hc= u v ! = cu+ f ku xf,cam zf,cam cv+ f kv yf,cam zf,cam ! (1.7)