• Aucun résultat trouvé

Stratégie commune d’association et de fusion de données La stratégie d’association et de fusion des données recouvre l’intégration des La stratégie d’association et de fusion des données recouvre l’intégration des

SLAM VISIO - INERTIEL DÉCENTRALISÉ

5.3.3 Stratégie commune d’association et de fusion de données La stratégie d’association et de fusion des données recouvre l’intégration des La stratégie d’association et de fusion des données recouvre l’intégration des

infor-mations reçues (paquets, correspondances, etc.). En particulier, l’intégration d’un paquet reçu comprend 5 aspects distincts : sa désérialisation dans la carte hôte, la détection des correspondances inter-robot rétrospectives, la détection ultérieure des correspondances inter-robot immédiates, l’ancrage des référentiels d’odométrie et l’inférence multi-robots.

Intégration différée des correspondances reçues

Une fois que le paquet reçu a été désérialisé et que ses informations ont été reconstruites et intégrées dans la carte, la première étape consiste à identifier, parmi les correspondances reçues des autres robots (observations inter-robot directes et correspondances indirectes), lesquelles peuvent désormais être intégrées dans la carte. Cette recherche est facilitée en la bornant aux correspondances dont la date est incluse dans l’intervalle de temps couvert par le paquet reçu. L’intégration éventuelle de nouvelles contraintes est alors notifiée au module d’inférence multi-robots.

Détection des correspondances inter-robot

La détection des correspondances inter-robot est un préalable crucial à l’estimation conjointe des trajectoires des robots car ce sont elles qui induisent de l’information mu-tuelle inter-robot et permettent de propager l’information d’une trajectoire à l’autre. Nous imposons à chaque robot de rechercher les correspondances entre sa propre trajectoire et les trajectoires reçues des autres robots puis de les leur diffuser afin de partitionner le

travail de détection des correspondances entre les robots en fonction des informations vi-suelles disponibles. L’idée retenue consiste à exploiter les informations vivi-suelles transmises avec les paquets visio-inertiels échangés afin de repérer les correspondances. Celles-ci sont détectées sur la base de correspondances visio-structurelles dites 2D-3D entre les primi-tives de l’image de requête et des amers triangulés. Nous avons alors besoin d’une part des points caractéristiques et des descripteurs des images-clés pour formuler les requêtes, et d’autre part des images-clés associées à des informations structurelles. On utilise la méthode introduite par (Lynen et al. 2015) (c.f. section 2.4).

Nous devons considérer deux cas de figure. Lorsque le robot récepteur ajoute une nou-velle image-clé à sa trajectoire, alors il recherche les fermetures de boucles au sein de celle-ci, puis les corrrespondances inter-robot rétrospectives entre cette nouelle image et les observations qu’il a reçues des autres robots. Lorsqu’il intègre un paquet reçu d’un autre robot, alors il doit détecter, là encore de façon rétrospective, les correspondances inter-robot entre ces nouvelles observations et celles qu’il a accumulées le long de sa propre trajectoire. Dans les méthodes exposées ci-dessous, les techniques de détection des cor-respondances inter-robot rétrospectives et courantes changent selon que les appariements 2D-3D se font de la trajectoire hôte vers les trajectoires reçues ou inversement selon que les robots échangent des informations visuelles ou visio-inertielles. La détection de corres-pondances inter-robot est systématiquement notifiée d’une part au module d’alignement, décrit dans la section 5.3.3 ainsi qu’au module d’inférence globale.

Ancrage des référentiels d’odométrie

Dans la suite, nous supposons que les transformations relatives entre les référentiels d’odométrie des robots sont inconnues initialement. Étant donné que les problèmes d’op-timisation associés à l’inférence globale sont des problèmes non-linéaire et non-convexes, l’inférence jointe sur les trajectoires des robots en requiert une initialisation correcte ; on parle d’ancrage des référentiels reçus par rapport au référentiel hôte. Cette tâche incombe à un module dédié qui procède comme suit. On regroupe les trajectoires ancrées les unes par rapport aux autres. Toute correspondance inter-robot détectée ou reçue d’un autre robot sont notifiées au module d’ancrage qui comptabilise les nombres de correspondances entre les différents groupes de trajectoires mutuellement ancrées. Dès lors que le nombre de correspondances liant deux groupes excède un certain seuil, on tente d’ancrer les deux groupes en question l’un par rapport à l’autre. Chaque correspondance induit une hypo-thèse d’ancrage entre les deux groupes. On choisit alors l’hypohypo-thèse la plus consensuelle

et corroborée par le plus de correspondances2. Les deux groupes de trajectoires sont alors fusionnés et les décomptes de correspondances entre les groupes restants sont mis à jour. Ce processus peut alors occasionner des alignements en cascade entre les différents groupes au fil des fusions. L’ancrage fournit des estimées initiales des poses des référentiels des trajectoires. Or, ces poses apparaissent explicitement dans les facteurs de pose relative dérivés des correspondances inter-robot et peuvent dès lors être affinées durant l’inférence multi-robots, en adoptant l’architecture de graphe proposée par (Kim et al. 2010).

Inférence globale multi-robots

Les opérations d’inférence globale sont déclenchées dès lors que des fermetures de boucles intra-robot ou correspondances inter-robot sont détectées, ou bien que de nou-velles trajectoires sont ancrées avec la trajectoire hôte. En effet, ces événements sont systématiquement notifiés au module d’inférence globale. Un compteur est enclenché à la première notification reçue de telles sortes que l’inférence globale est déclenchée si aucune autre notification n’est reçue dans un certain intervalle de temps de l’ordre de quelques se-condes. À chaque nouvelle notification reçue, le compteur est réinitialisé, mais l’inférence est tout de même déclenchée dès lors que le nombre de correspondances en attente excède un certain seuil. Cette procédure permet d’impacter plusieurs correspondances nouvelles au cours d’une seule inférence.

En contexte visio-inertiel, la méthode d’inférence globale la plus exhaustive est l’ajus-tement de faisceaux visio-inertiel (Triggs et al. 1999), qui optimise les poses et les états inertiels le long des trajectoires ainsi que les positions des amers observés en prenant en compte l’intégralité (ou partie) des facteurs visio-inertiels. C’est ce type d’optimisation que nous utilisons éventuellement lors de la synthèse des paquets de données visio-inertiels afin d’extraire l’information locale au sous-graphe de facteurs extrait et que nous décri-vons dans la section 2.5.3. Néanmoins, ce type d’optimisation est lent et complexe, ce qui la rend inadéquate dans un contexte orienté vers la navigation multi-robots où les corres-pondances inter-robot doivent être rapidement impactées sur l’estimation des trajectoires, d’autant plus qu’elle ne permet pas d’extraire rapidement les matrices de covariances sur les trajectoires qui peuvent être utiles en aval du processus de SLAM.

Dans les méthodes proposées ci-dessous, l’inférence globale exploite les modèles

pro-2. Une autre technique consisterait à déduire la transformation relative en formulant un problème d’inférence à partir des correspondances inter-robot considérées.

babilistes calculés lors de la synthèse des paquets visio-inertiels communiqués aux autres robots ainsi que de l’intégration des paquets reçus. En effet, les facteurs ou les sélections d’amers résultant des calculs desdits paquets sont sauvegardés, d’une part de façon à pouvoir être reconstitués et renvoyés dans le cas de procédures de régularisation, mais également pour servir de support à l’inférence globale. Cela garantit une optimisation uniforme et moins coûteuse sur toutes les trajectoires. Les problèmes d’inférence globale résultants seront détaillés au cas par cas pour chaque méthode proposée.