Edition des données de cartographie avec MapFabric
Démarrage de MapFabric
Dans un premier temps,
- créer un dossier sur le bureau avec le nom suivant : VotreNom-MapFabric
- déposer le fichier
log.odo
dans le dossierVotreNom-MapFabric
On lance l’exécutable MapFabric.exe
fourni sur Moodle.
- On clique sur New Map Fabric project
- Sélectionner comme emplacement de projet le dossier
VotreNom-MapFabric
qui se trouve sur le Bureau.

L’interface du logiciel peut se décomposer suivant 5 zones :

- Zone de travail : C’est la zone dans laquelle s’affiche la carte en cours de création ;
- Project Action List : tableau dans lequel nous ajoutons les actions à exécuter sur la carte ;
- Zone de paramétrage : Zone dans laquelle s’affiche les paramètres des actions de la project action list ;
- Bandeau bouton : Zone des boutons de commande du projet ;
- Bandeau de lecture : Affiche les informations durant la lecture du log.
Pour importer le log, il faut cliquer sur le bouton files
en bas à gauche (zone 4)

La fenêtre de gestion des fichiers de log va s’ouvrir.

-
Dans cette fenêtre cliquer sur le bouton
+
pour sélectionner le fichier log.odo à ajouter au projet. -
Afin de réaliser un import correct pour le projet, les options doivent être réglées comme sur l’image ci-dessus. (
laserModel = R2000
et cocher l’option preciseMode en [v] enable) -
Une fois le fichier importé et les paramètres réglés, il suffit de fermer cette fenêtre.
Replay du log
Maintenant que le projet est créé et que le log est importé dans le projet, l’étape suivante consiste à demander à MapFabric de relire le fichier et de créer la carte. Pour cela une action replay doit être ajouté à la « Project Action List ».
- Placer son curseur dans la Project Actions List et faire un « clic droit ».

Cette action replay possède les paramètres suivants

z =
: correspond aux coordonnées du robot en début de log. Pour décaler la carte dans un sens, il est possible de rentrer un offset de départ du log. Dans le cas d’un log unique (installation simple) ce paramètre peut rester à zéroCap =
: Ce paramètre permet de décaler l’orientation du robot en début de log. Cela permet de faire tourner la carte autour du point de départ du robot. Si en créant le log le robot n’était pas aligné à un mur, cela permet de corriger cette erreur.File =
: Ce paramètre est le log à rejouer. Il suffit de sélectionner le fichier ajouté plus tôtFrom =
: Ceci représente le numéro de frame de départ du log. Ceci permet de couper un bout au début du log si le robot est resté allumé avant le début de l’enregistrementTo =
: Ceci représente le numéro de frame de fin du log (laisser 0 pour lire le log en entier). Ceci permet de couper un bout à la fin du log.- Les deux derniers paramètres doivent rester décochés.
La gestion du cap se fait selon le sens trigonométrique. Une petite adaptation (entre -3 et +3) peut être nécessaire pour avoir les murs bien en parallèle. On peut également faire des rotations de 90° ou 180° en fonction de comment vous avez déplacé le robot pour faire la cartographie.
- Cliquer sur le bouton
Test

- On reconnait la forme du bâtiment B de l’IUT. On remarque également que les murs ne sont pas droits car le Sherpa n’était pas exactement parallèle au mur quand la cartographie a été faite.
- Un décalage de -2.500 au niveau du cap permet d’améliorer le résultat. (si on tourne dans le sens horaire il faut mettre un signe
-
)

- Nettoyer grossièrement la carte avec ErasePoly (trig=70%) en entourant toute la cartographie avec un polygone.



- Nettoyer finement la carte en plaçant des polygones à des endroits spécifiques sur la carte à l’aide de l’outil ErasePoly (trig=0%)

Eliminer tous les points parasites de la cartographie car ils représentent un obstacle pour le Sherpa qui ne pourra pas circuler à travers ce point. Quelques points non effacés dans le couloir peuvent empêcher le robot de circuler !
- Ajouter des murs virtuels à la place des vitres avec l’outil drawWall

- Et voilà :

- Créer la version finale (Release) en appuyant sur le bouton
Release

Import de la map sur le Sherpa
On retourne sur le serveur web de configuration du Sherpa :

On clique sur Map Import
et l’on upload le fichier map.geo que nous venons de générer avec Map Fabric. Ce fichier se trouve dans le répertoire Release. Avant de le charger, on vérifie que la date et l’heure de création du fichier est cohérente avec le moment où l’on a crée la release.
![]() |
![]() |
---|
La cloche risque de clignoter pour demander de mettre à jour le Fleet Manager et le Robot, mais nous allons d’abord créer une route, suivi d’une mission avant de mettre à jour le Fleet et le robot en “suivant les cloches” ;)
Création des routes et règles de circulation
On clique sur :

Quand on démarre un nouveau projet, faire Clear roads
pour supprimer les routes d’un projet précédent.
On fait ensuite Load Map
from file

et l’on sélectionne le fichier map.txt
généré dans le dossier Release de Map Fabric.

On fait :
- Save map to the fleet manager
On peut faire l’update du fleet-manager et du robot, en suivant les “cloches” :
![]() |
---|
![]() |
![]() |
![]() |
Nous pouvons maintenant placer les routes sur la carte. Les routes correspondent aux zones où le robot a le droit de circuler.
Quelques règles :
- il est important que les routes vertes se superposent, n’hésitez pas à recouvrir les différentes zones pour que le robot puisse passer.
- on peut également recouvrir les murs, les sécurités du robot vont l’empêcher de “cogner” mais comme celà, le robot peut profiter de l’ensemble de l’espace disponible dans le couloir par exemple.

Nous pouvons également définir des zones comportementales avec l’icône :

- Forbidden : pour les zones interdites au robot (en rouge)
- Behavior : zone comportementale avec vitesse réduite par exemple
- … : la documentation technique du robot précise ces différents types de zones.

Dans cet exemple, une zone “Forbidden” (rouge) a été placée :

On place maintenant les points. Pour que le Sherpa puisse s’orienter et s’initialiser dans la carte, il faut lui placer un point d’initialisation init1
sur la cartographie. Il faudra placer physiquement le robot sur ce point pour lancer la procédure d’initialisation.
Choisir le point init1 à proximité d’un repère pour faciliter le positionnement du robot.
Placer le point init1
de façon à ce que le LIDAR voit deux murs assez longs, droits et qui forment un angle par exemple perpendiculaires. Cela facilitera la vie de l'algorithme de recalage.
Si l'environnement du robot à sont point init1
présente des symétries, l'algorithme n'arrivera pas forcément à trouver la bonne position et orientation, car elles peuvent être multiples


La petite barre horizontale du point indique l’orientation (la flèche) du robot. Pour le point d’init1
, il est nécessaire de lui attribuer le type init et de lui donner le nom init1
.
L’icône avec le curseur permet d’éditer les caractéristiques du point.

Important : On choisit le type Init pour ce point d’initialisation.

On peut maintenant placer 3 autres points: a, b, c de type “Default” sur la carte que l’on va utiliser comme points à atteindre pour la mission que nous allons créer.

Avant de quitter l’édition de Route, il faut penser à faire :
- Save road to the fleet manager
- Save map to the fleet manager

Le robot demandera certainement de faire un update du fleet Manager et du robot, il suffira de suivre les cloches pour effectuer ces deux opérations.
No Comments