Description de l`algorithme de reconstruction de terrain

publicité
2RT3D
Présentation de l’algorithme de
reconstruction de terrain de
Robosoft
Référence document
Révision
Date
RSP/6184/TEC/2009/01
1.1
28/10/2009
Auteur
Visa
Yves QUEMENER
pg:es
Présentation de l'algorithme de
reconstruction de terrain de Robosoft
Réf.
RSP/6184/TEC/2009/01
Révision
1.1
Date
28/10/2009
DIFFUSION DU DOCUMENT
Société / Organisme
Nom
Distrib.
Copie
Robosoft PGES (RSP)
Aubert CARREL
X
Robosoft PGES (RSP)
Francis MARTINEZ
X
USAR – CNRS / PSIROB
Michel GUGLIELMI
X
LAAS
Simon LACROIX
X
LAAS
Naveed MUHAMMAD
X
THALES Optronique (TOSA)
Joël MORILLON
X
THALES Optronique (TOSA)
Jean Sébastien BENOIST
X
HISTORIQUE DU DOCUMENT
DATE
AUTEUR
PRINCIPALES
MODIFICATIONS
0.1
22/07/2009
Y. QUEMENER
Création
1.1
28/10/2009
Y. QUEMENER
Modifications
N°
Révision
Page 2
MOTIFS
Version préliminaire
Prise en compte remarques de
lecture F.Martinez et A.Carrel
Présentation de l'algorithme de
reconstruction de terrain de Robosoft
Réf.
RSP/6184/TEC/2009/01
Révision
1.1
Date
28/10/2009
Table des matières
1. INTRODUCTION
4
1.1
Objet du document
4
1.2
Terminologie
4
1.3
Objet de l’algorithme
4
2. ALGORITHME
5
2.1
Principe général
5
2.2
Principes détaillés
5
2.2.1 Création du MNT
5
2.2.2 Recherche de chemin
8
3. PERFORMANCES
9
3.1
Qualité et finesse du MNT obtenu
9
3.2
Algorithme de recherche de chemin
9
3.3
Sensibilité aux erreurs d’orientation
9
4. INTERFACE GRAPHIQUE
10
Page 3
Présentation de l'algorithme de
reconstruction de terrain de Robosoft
Réf.
RSP/6184/TEC/2009/01
Révision
1.1
Date
28/10/2009
1. Introduction
1.1
Objet du document
Ce document a pour but de présenter l’algorithme de reconstruction de modèle numérique de
terrain proposé par Robosoft dans le cadre du projet 2RT3D.
1.2
Terminologie
MNT
Modèle numérique de terrain
Repère global
Repère utilisé par la base de localisation du véhicule.
Repère local
Repère relatif au point zéro de l’imageur laser. Il est donc mobile
par rapport au terrain et solidaire au véhicule.
Impact
Point de mesure retourné par l’imageur laser dans le repère local.
Un tel point correspond à l’impact entre un faisceau laser de
mesure et un objet de l’environnement.
LNP
Lidar Network Protocol. Protocole de transmission réseau mis au
point dans le cadre de 2RT3D qui permet de transmettre des
séries d’impact ainsi que la position et l’orientation du capteur. Ce
protocole est publié dans le document « Description of the
network protocol used to transmit lidar data »
1.3
Objet de l’algorithme
Le but de l’algorithme de reconstruction de MNT de Robosoft est de convertir une série
d’impacts reçus par Ethernet grâce au protocole LNP en une grille d’élévations utilisable pour la
navigation autonome. Il a été convenu que Robosoft présenterait un algorithme basique, par
comparaison à ceux mis au point par le LAAS mais qu’il permettrait d’effectuer rapidement des
essais de reconstruction avec des données réelles et simulées, voire d’effectuer des tests en
boucle fermée dans le simulateur.
Optionnellement, l’algorithme développé peut également donner des consignes de guidage
point à point qui permettent au robot d’éviter des obstacles tels que les murs et les fortes
pentes.
Page 4
Présentation de l'algorithme de
reconstruction de terrain de Robosoft
Réf.
RSP/6184/TEC/2009/01
Révision
1.1
Date
28/10/2009
2. Algorithme
2.1
Principe général
L’algorithme développé crée une carte d’élévation sur une grille de 80 x 80 cases de 2 mètres
de coté (pour une grille de 160x160 m donc) centrée sur le véhicule, et alignée sur les axes du
repère « monde ». Ces nombres sont précisés dans un script et sont donc aisément
modifiables.
Ces dimensions ont été choisies car 80 mètres est la distance maximale théorique de l’imageur
laser utilisé dans le cadre de ce projet.
On va attribuer chacun des impacts à un nœud du MNT afin de déterminer une altitude. Une
fois la carte d’élévation déterminée, on en déduit une carte de traversabilité qui servira à son
tour à déterminer un chemin praticable grâce à un algorithme de recherche de chemin A*.
2.2
2.2.1
Principes détaillés
Création du MNT
Chaque impact reçu est associé au nœud de la grille du MNT dont il est le plus proche (en ne
considérant que les coordonnées XY). L’altitude de cet impact vient ensuite contribuer aux
multiples caractéristiques associées à chaque nœud.
A chaque nœud du maillage du MNT correspond un ensemble de caractéristiques :
•
Date à laquelle le dernier impact associé à ce nœud à été reçu
•
Altitude minimum des impacts reçus
•
Altitude maximum des impacts reçus
•
Altitude moyenne des impacts reçus
•
Altitude du dernier impact reçu
•
Moyenne des incertitudes des données liée à ce nœud.
•
Altitude moyenne des impacts reçus pondérés par les incertitudes
•
Variance de l’altitude des impacts
Il est possible de visualiser ces différentes données dans l’interface graphique (cf. 4.Interface).
Ces informations vont être utilisées pour construire le MNT final qui attribue une altitude finale
à chaque nœud du MNT.
Le principe de l’algorithme est le suivant :
•
Si la variance de l’altitude des impacts dépasse un certain seuil (paramétrable et
empiriquement fixé à 0.1, soit un écart-type de 31 cm) on considère que le voisinage du
nœud comporte une surface verticale. L’altitude finale attribuée au nœud est alors l’altitude
maximum enregistrée. Le nœud est également classé comme non traversable.
•
Si la variance de l’altitude des impacts est inférieure à ce seuil, on considère que le
voisinage du nœud est une surface à peu près plane. On utilise alors l’altitude moyenne.
Un modèle simple d’incertitudes de mesure a été utilisé : on suppose un certain pourcentage
d’erreur dans les données de localisation, en position et en orientation, ainsi que dans les
mesures de distance de l’imageur. Cela se traduit par une incertitude de position de l’impact
d’autant plus grande que l’impact est éloigné de l’imageur.
Page 5
Présentation de l'algorithme de
reconstruction de terrain de Robosoft
Réf.
RSP/6184/TEC/2009/01
Révision
1.1
Date
28/10/2009
Ne disposant pas encore d’un modèle d’erreur précis de l’imageur, des valeurs arbitraires ont
été choisies : 10 cm d’erreur de position, 0.01 radian d’erreur d’orientation et 1% d’erreur
dans la mesure de distance. Toutes ces valeurs sont paramétrables pour pouvoir s’adapter à
d’autres types de capteurs.
Figure 1. Exemple de MNT. La couleur correspond à l'élévation des nœuds
Une carte de traversabilité peut ensuite être établie. Deux critères sont considérés pour la
traversabilité : la variance des altitudes (c'est-à-dire la présence d’un objet vertical) et
l’incertitude des données. Une zone ayant une trop grande incertitude sera considérée comme
« inconnue ». Si une zone n’est pas inconnue, on considère la variance de l’altitude de ses
impacts. Une zone ayant une forte variance d’altitude sera classée « non traversable » et une
zone avec une faible variance sera « traversable ». On effectue ensuite une dilatation des
zones non traversables afin de permettre au véhicule de disposer d’une marge de sécurité lors
du contournement d’un mur par exemple. Cette dilatation est désactivable via l’interface
graphique.
Page 6
Présentation de l'algorithme de
reconstruction de terrain de Robosoft
Réf.
RSP/6184/TEC/2009/01
Révision
1.1
Date
28/10/2009
Figure 2. Carte de traversabilité après dilatation
Page 7
Présentation de l'algorithme de
reconstruction de terrain de Robosoft
2.2.2
Réf.
RSP/6184/TEC/2009/01
Révision
1.1
Date
28/10/2009
Recherche de chemin
Afin de valider la carte de traversabilité obtenue par l’algorithme ci-dessus, un algorithme de
recherche d’itinéraire a été développé et testé avec le simulateur de Robosoft. Après
désignation d’une destination à la souris, l’algorithme essaiera de l’atteindre en envoyant au
véhicule géré par le simulateur les consignes de guidage appropriées.
Figure 3. Recherche de chemin (filtrage des nœuds atteignables)
L’algorithme de recherche de chemin utilise une recherche A* pour atteindre la destination
(croix noire). Il retourne donc dans un premier temps une liste de nœuds traversables (en
vert) formant un chemin vers l’objectif. Toutefois envoyer cette liste de coordonnées comme
consignes de guidage rendrait la trajectoire irrégulière et hachée. Au lieu de cela, on effectue
un lancer de rayon sur chacun des points de la trajectoire et on utilise le point le plus avancé
de la trajectoire qui n’a pas rencontré d’obstacle (en rouge). Ainsi la trajectoire finale est
composée du minimum de segments linéaires amenant à sa destination.
Page 8
Présentation de l'algorithme de
reconstruction de terrain de Robosoft
Réf.
RSP/6184/TEC/2009/01
Révision
1.1
Date
28/10/2009
3. Performances
3.1
Qualité et finesse du MNT obtenu
Les paramètres par défaut utilisent une grille dont les nœuds sont espacés de deux mètres afin
d’assurer au véhicule un passage si un chemin est trouvé. Il est possible de réduire ce
paramètre afin d’améliorer la finesse du modèle, au risque de voir des passages trop étroits
détectés par l’algorithme. Les obstacles à la navigation sont généralement bien repérés sur la
grille par défaut.
Il ressort des tests qu’une grande taille de maille a tendance à donner à un obstacle une taille
horizontale plus importante que dans la réalité mais qu’elle permet de donner une grille de
navigation plus sûre.
3.2
Algorithme de recherche de chemin
L’algorithme de recherche de chemin, utilisé pour valider la reconstruction, est élémentaire : il
s’agit d’une recherche A* utilisant la distance euclidienne comme heuristique. Il considère les
zones marquée « verticales » comme non-traversables mais s’autorise à traverser des zones
« inconnues », car dans la plupart des cas une zone inconnue dénote une zone cachée par un
obstacle qui pourra se révéler traversable une fois l’obstacle contourné ou le véhicule plus
proche.
Cependant, cette façon de considérer les zones inconnues classe les plans d’eau et les
dénivelés descendants par rapport au véhicule (les trous) comme des zones traversables. De
plus, cet algorithme considère également une case à pente nulle et une case à pente moyenne
(mais en deçà du seuil de verticalité) avec le même coût.
A ces égards, il est améliorable mais a cependant permis une évaluation d’un guidage dans le
MNT reconstruit.
3.3
Sensibilité aux erreurs d’orientation
Une conséquence attendue et vérifiée de l’algorithme utilisé est une grande sensibilité aux
erreurs des mesures d’orientation retournées par la base de localisation. En effet, une faible
erreur sur la composante de tangage peut résulter en une erreur de plusieurs mètres à une
grande distance de l’imageur. Le grand nombre d’impacts modère l’erreur , dans une certaine
mesure, mais dans sa forme actuelle, l’algorithme de reconstruction est très sensible à une
mesure aberrante de l’orientation.
A noter que les erreurs de cap sont mieux absorbées : la grande taille des mailles rend ces
erreurs moins visibles.
Page 9
Présentation de l'algorithme de
reconstruction de terrain de Robosoft
Réf.
RSP/6184/TEC/2009/01
Révision
1.1
Date
28/10/2009
4. Interface graphique
Figure 4.Interface graphique
L’interface graphique permet de colorer le modèle numérique de terrain en fonctions de divers
paramètres des nœuds, de changer le mode de calcul de l’altitude des points, ainsi que
d’activer la recherche de chemin par A*.
Les différents modes de calcul de l’altitude des nœuds de la carte sont les suivants :
•
Altitude minimum.
•
Altitude maximum.
•
Altitude du dernier impact reçu.
•
Altitude moyenne.
•
Altitude pondérée en fonction de l’incertitude de mesure.
•
Classification en nœuds verticaux et en nœuds horizontaux: on utilise l’altitude maximum
pour les nœuds verticaux et l’altitude moyenne pour les nœuds horizontaux. C’est le mode
sélectionné par défaut.
Page 10
Présentation de l'algorithme de
reconstruction de terrain de Robosoft
Réf.
RSP/6184/TEC/2009/01
Révision
1.1
Date
28/10/2009
Il est également possible de colorer la carte en fonction de plusieurs données relatives aux
nœuds :
•
Altitude
•
Incertitude des données
•
Âge des données
•
Nombre d’impacts
•
Variance de l’altitude des impacts
•
Traversabilité (calculée en seuillant la variance de l’altitude des impacts)
•
Distance minimum à l’objectif selon l’algorithme A* (permet de visualiser le plus court
chemin à l’objectif)
Une case à cocher permet d’activer la recherche d’itinéraire. Lorsque la recherche d’itinéraire
est activée, l’application tente d’établir une communication via le port UDP 2323 avec le
véhicule simulé par le Simulateur et lui envoie les consignes de guidage.
Si la communication ne peut s’établir, il reste possible via l’interface d’entrer manuellement la
coordonnée d’un point à atteindre.
Page 11
Téléchargement