Un modèle 3D de l'environnement procure des assistances efficaces pour programmer et contrôler l'exécution de tâches de téléopération et le pilotage d'engins distants. L'objectif du projet "Pyramide" portait sur la conception et l'évaluation de moyens efficaces pour acquérir ou mettre à jour en-ligne un modèle 3D à partir des capteurs embarqués, et en tirer des assistances fiables. Pour tenir compte des conditions environnementales souvent dures (points de vue contraints, images de qualité incertaine, surfaces fortement spéculaires), une approche interactive a été retenue. Les principaux critères de performance ont porté sur le temps d'obtention, la précision délivrée, mais aussi sur l'ergonomie des solutions et leur adéquation aux contraintes et besoins de la mission.
Un concept de modélisation interactive a été proposé. Il repose sur l'exploitation directe des images issues des caméras CCD embarquées sur les robots téléopérés. En fonction du contenu de ces images, l'opérateur choisit des primitives volumiques et les fait coïncider aux détails visibles. Pour l'aider, le système propose plusieurs types d'assistance basés sur des fonctions d'interprétation tridimensionnelle d'indices image, sur des fonctions automatiques de traitement d'images, ou sur l'intégration de connaissances sur l'environnement distant.
Ce principe de modélisation interactive a d'abord
été validé à l'IRISA sur des images de
synthèse.
Cette première maquette logicielle au graphisme
dépouillé disposait déjà des principales
fonctions pour assurer des campagnes expérimentales en
contexte réaliste.
Suite à un transfert industriel vers la Société
Aleph Technologies, ces fonctions ont été
intégrées au sein de la librairie de CAO-Robotique
ACT-Lib.
Cette librairie a servi de base au développement d'une version
industrielle de Pyramide, en tant que plate-forme d'intégration
des nouvelles méthodes de modélisation
développées au sein du projet.
Ces assistances ont pour objet de faciliter le contrôle des primitives à la souris (sélection des contraintes de déplacement, corrélation entre les déplacements du curseur et ceux des primitives) et l'orientation des objets dans l'espace en s'appuyant sur l'interprétation d'indices visuels (lignes de fuites, directions orthogonales, homologies).
Elles sont intégrées dans une métaphore
graphique : les repères de manipulation.
Ce sont des trièdres réagissant à la souris
servant à sélectionner directement dans le
modèle les contraintes de déplacement, à
spécifier des surfaces ou des axes sur les objets
déjà insérés pour effectuer
intuitivement des opérations de type "coller contre",
ou encore à spécifier à la volée des
repères de travail (pour les tâches de duplication
notamment).
Les repères de manipulation permettent aussi de
matérialiser les solutions des fonctions
d'interprétation d'indices visuels, par exemple une
orientation calculée à partir de 3 segments
correspondant à des directions perpendiculaires dans
l'espace, ou bien encore une direction obtenue par un ensemble de
lignes de fuites.
Deux assistances ont été intégrées pour soulager l'opérateur sur les tâches de bas niveau : le recalage automatique et l'aimantation de segments. Des solutions efficaces ont été proposées pour tenir compte des cas d'échec de ces assistances automatiques, et mettre en place une collaboration homme-machine intuitive et efficace.
Le recalage automatique met en oeuvre un algorithme de minimisation non-linéaire pour affiner la position et les dimensions d'une primitive 3D et la caler au mieux sur les plus proches contours trouvés. L'opérateur se contente de fournir rapidement une solution initiale approchée.
L'aimantation de segments s'appuie sur une transformée de
Hough pour attirer un segment tracé à la volée
par l'opérateur vers le meilleur contour dans le voisinage du
segment.
En cas d'attraction vers un contour indésirable, le segment
est manuellement écarté, et l'aimantation est
relancée depuis cette nouvelle position initiale.
La solution attendue est ainsi rapidement obtenue.
Certains environnements peuvent être traités à l'aide de modules spécialisés utilisant un jeu de primitives dédiées munies de méthodes de modélisation optimisées et gérées par des contraintes d'assemblage.
Ce principe a été validé au travers d'un atelier tuyauterie permettant de placer des portions droites de tuyaux sur les images, et de les relier automatiquement par des primitives de connexion réglables (coudes, brides, réducteurs). Des valeurs catalogues sont gérées par l'atelier pour contraindre les dimensions des primitives.
Plusieurs campagnes d'évaluation ont été menées au fil de l'évolution du projet. Elles ont porté sur l'ergonomie de l'interface de Pyramide pour vérifier sa facilité de prise en main par un technicien non spécialiste de l'informatique et sur les performances atteintes en termes de précision du modèle et de temps d'obtention.
Dans le cadre d'une collaboration avec la société ESIC
spécialisée en photogrammétrie, des
expérimentations sur des images de sites très
encombrés comportant des reflets importants ont mis en
évidence un gain de temps appréciable par rapport aux
solutions existantes et une très bonne réactivité
pour un contexte en-ligne.
L'aide au pilotage apportée par Pyramide a été
évaluée sur différentes architectures
mécaniques du CEA ou de ses partenaires:
l'engin d'intervention à chenilles Centaure,
le véhicule DATO (projet Eureka/AMR2),
le robot grimpeur Ecureuil,
le porteur à longue distance PML,
le véhicule modulaire TLV du CEA et
le prototype à 4 modules développé dans le cadre
du projet européen Teleman MESSINA (cf. photos).
Pour connaître la précision délivrée par
ce principe de modélisation, une replique d'un environnement
industriel de dimensions 2m x 2m x 4m a été
modélisée.
Une caméra CCD standard munie d'un objectif de 8.5mm
était fixée à l'extrémité d'un
bras industriel (Staübli RX90) placé devant la maquette.
La précision de modélisation relevée est de
l'ordre de 0,5% à 1% de la distance de l'objet à la
caméra.
Deux principes ont été validés expérimentalement pour exploiter Pyramide dans une application de robotique téléopérée: la commande à désignation d'objectifs et la modélisation orientée tâche.
La commande à désignation d'objectif consiste
en des cycles courts de modélisation, programmation, puis
exécution.
Les images de la caméra sont exploitées pour obtenir
un modèle suffisant afin de programmer une action, puis de
l'exécuter dans la foulée.
Ce principe a été validé sur un robot quadrumane
(l'Ecureuil du CEA) pour permettre son pilotage vers une
échelle à crinoline puis la montée sur cette
échelle.
Très souvent, la phase de modélisation est fortement
découplée du travail à réaliser.
On se fixe alors comme objectif un modèle le plus complet,
détaillé et précis possible, au détriment
du temps d'obtention.
Le principe de modélisation orientée tâche
vise à affecter un objectif de modélisation à
chaque objet de l'environnement en fonction de son rôle pour
la programmation et la supervision du système robotique.
Il a été validé dans le cadre d'une
expérimentation de mission de téléopération,
où il s'agissait d'aller inspecter l'intérieur d'une
vanne située dans un site encombré à l'aide du
bras hydraulique Maestro.
Trois niveaux de détail ont été retenus pour
modéliser les objets de l'environnement.
Les éléments servant à la navigation sont
représentés avec une précision faible mais
comportant des détails caractéristiques permettant de
les reconnaître rapidement.
Les obstacles, situés dans l'espace de travail du bras, sont
représentés par des volumes englobants avec une
précision compatible avec la distance de sécurité
du module d'anticollision (de 5 à 10 cm).
La vanne est représentée de façon beaucoup plus
détaillée et précise pour produire des assistances
à l'opérateur lors des phases de saisie des boulons,
avec une structure modulaire pour tenir compte des parties
démontables (boulons, capot).
Dans le cadre d'une opération d'assainissement pilotée
par l'UDIN (Unité de Démantèlement des
Installations Nucléaires), l'outil Pyramide a été
retenu pour réaliser un modèle 3D d'une salle radioactive.
L'unique accès est un carottage de 7cm de diamètre dans
le plafond, une dalle de 70cm de béton.
La zone d'intérêt porte sur le voisinage d'une cuve dont
le contenu doit être pompé.
Il s'agissait de s'assurer de la possibilité de l'accès
à cette cuve par un système robotique
déployé depuis le plafond.
Un porteur articulé a été réalisé pour introduire une caméra CCD dans la salle. Le travail de modélisation comportait de nombreuses difficultés :
- des données a priori imprécises (un modèle reconstitué à partir d'une séquence vidéo avec un outil standard mal adapté), ou peu fiables (des plans de construction obsolètes), | |
- un déplacement de la caméra le long d'une droite à l'aplomb du trou d'accès (pas de possibilité de tourner autour des objets pour les modéliser), | |
- un éclairage annulaire autour de la caméra mettant en relief des détails différents en fonction du point de vue (peu de points homologues à exploiter), | |
- des images de mauvaise qualité (pour des raisons de sécurité, seule une source d'éclairage froide, peu puissante, pouvait être employée), | |
- des campagnes d'acquisition d'images limitées dans le temps en raison de la durée de vie réduite du capteur dans ce milieu. |
La grande versatilité de Pyramide a permis de réaliser un modèle suffisamment précis de la salle pour s'assurer de l'accès possible à la cuve et localiser une zone d'intervention depuis la dalle.
Pyramide a été concu pour des applications robotiques dans des environnements fortement structurés à caractère industriel. Son intérêt potentiel pour des applications architecturales a été évalué à partir du jeu d'images de référence du CIPA (Comité International de Photogrammétrie Architecturale). Il comporte une vingtaine de vues de l'Hôtel de Ville de Zurich, prises par deux appareils numériques différents complétées des modèles internes des appareils et d'un ensemble de points de calage sur le bâtiment.
En dépit de primitives de modélisation mal adaptées à ce type d'application, un modèle très complet et hiérarchisé a été obtenu en 16 heures de travail à partir de seulement 4 images: une vue globale pour récupérer les proportions du bâtiment et 3 vues rapprochées pour détailler les façades. Ce travail expérimental nous a permis de confirmer les fortes capacités du principe de modélisation interative de Pyramide a répondre à des situations nouvelles avec de bonnes performances.
Initié dès 1986, le projet Pyramide a progressé sous diverses formes, simples actions au sein d'autres projets ou bien projet de R&D à part entière, jusqu'à son achèvement en 2001. Au cours de ces 15 années, plusieurs permanents du CEA, 2 contractuels, 5 thésards et une vingtaine de stagiaires ont apporté leurs contributions.
Valorisé par plusieurs réalisations logicielles, un transfert industriel, et de nombreuses publications, Pyramide a été mis à disposition d'un programme de recherche national (Eureka AMR), de deux projets européens (Teleman LACWAP et Teleman MESSINA) et de six collaborations industrielles (Cogema, EDF, Cybernetics, Technicatome, UDIN, ESIC).
Durant toutes ces années, il a joué un rôle de pionnier pour la recherche dans le domaine de la modélisation 3D et reste un élément de référence pour les années à venir.Plus de détails sur le projet Pyramide peuvent être trouvés dans mon mémoire de HDR.