Thibaut Platet
Thibaut, casque de réalité virtuelle sur la tête et manettes en main, dans la salle de réalité virtuelle du laboratoire ; au mur, le logo du CEA.

En bref

Dates
–
Contexte
CEA-List, Laboratoire Simulation Interactive (LSI), Palaiseau · projet de fin d’études, 6 mois
Technologies
  • C++
  • Unreal Engine 5
  • VR
  • Simulation physique (XDE)
  • Blueprints
  • Agile

Présentation

  • Développement en C++ (Unreal Engine 5), dans le framework propriétaire du LSI, des aides visuelles en VR d’une application de formation à l’assemblage industriel sur le moteur physique XDE : des « fantômes » de pièces rejouent les degrés de liberté de chaque liaison mécanique pour guider l’opérateur.
  • Interaction VR : téléportation, saisie d’objets physiques via les manipulateurs XDE, interactions et abstractions en Blueprints.
  • Conception, développement et débogage en méthode Agile.
  • Rédaction de la documentation technique du module, diffusée dans le laboratoire.

Problème

Le module d’assemblage simulait correctement les liaisons mécaniques, mais rien n’indiquait à l’apprenant quelle pièce saisir, où la placer ni quel mouvement effectuer.

Rôle

Ingénieur R&D stagiaire pendant six mois. Seul développeur sur ce module, en autonomie, avec des points réguliers avec son concepteur.

Décisions

Dériver chaque aide des paramètres physiques déjà déclarés, pour que le guidage ne puisse jamais contredire la simulation ; s’en tenir à six familles d’aides, pour ne pas surcharger l’opérateur ; tout rendre réglable sans écrire de code.

Résultat

Six familles d’aides visuelles en C++, validées dans l’éditeur comme dans la version livrée, en réalité virtuelle et au clavier-souris. Elles ont été portées sur un vrai projet du laboratoire et documentées.

Contexte

Former un opérateur à une séquence d’assemblage suppose de disposer des pièces, de l’outillage et d’une ligne immobilisée, avec un risque de dégradation à chaque erreur. La réalité virtuelle lève ces contraintes, à condition que le geste simulé reste fidèle au geste réel.

Le Laboratoire de Simulation Interactive du CEA-List développe pour cela le moteur physique XDE et son module d’assemblage, sous Unreal Engine 5. Les pièces ne s’y téléportent pas à leur place : elles restent soumises à une liaison mécanique pendant tout le mouvement. Une vis tourne et avance en même temps, un axe glisse dans son logement.

Cahier des charges

ExigenceStatut en fin de stage
Guider sur les sept types de liaison du moduleOpérationnel : chaque type de liaison reçoit son guidage.
Des aides visuelles à chaque étape, de la saisie à la fixationOpérationnel : six familles d’aides, générées à l’exécution.
Un guidage distinct selon la phase d’assemblageOpérationnel : les aides changent dès que la pièce est accrochée, puis disparaissent une fois fixée.
Pièces interchangeables et erreurs de l’opérateurOpérationnel : réattribution automatique vers un emplacement compatible.
Changer un comportement en cours de scénarioOpérationnel : visser à une étape, dévisser à la suivante.
Réalité virtuelle et mode bureauOpérationnel : une touche fait basculer, et le scénario se joue en entier dans les deux modes.
Intégration sans casser les scénarios existantsOpérationnel : module exporté dans un autre projet.
Documentation exploitable par un tiersValidée et diffusée dans le laboratoire.

Six aides visuelles, une question chacune

Chaque aide répond à une question de l’apprenant, et à une seule. Toutes sont créées à l’exécution, à partir de la pièce elle-même : rien n’est placé à la main.

  • Une flèche turquoise pointe vers le bas, au-dessus d’un tube bleu posé près de deux tuyaux.Flèche d’indicationQuelle pièce ?Suspendue au-dessus de la pièce à saisir, toujours tournée vers l’opérateur.
  • Le contour doré translucide d’un collier, en place autour d’un tuyau.Fantôme de cibleOù ?Copie translucide dorée de la pièce, à sa position finale.
  • La copie translucide d’un tube traverse la scène en diagonale, au-dessus d’un établi couvert de pièces.Fantôme animéPar quel chemin ?Copie translucide blanche qui rejoue le trajet, de la pièce réelle à sa cible.
  • Des flèches rouges alignées relient un tuyau à un tube bleu posé en contrebas.Trajectoire fléchéeQuelle pièce va où ?Courbe fléchée qui relie chaque pièce à sa destination.
  • Un écrou translucide, souligné de doré, sur une tige filetée.Fantôme de liaisonEt maintenant, quel geste ?Une fois la pièce accrochée, il montre la fin de course du mouvement qui reste à faire.
  • Deux flèches turquoise courbes entourent un écrou vissé sur une tige.Flèches de liaisonDans quel sens ?Propres à chaque liaison, d’un bleu turquoise, elles indiquent le mouvement autorisé.

Captures de la scène de démonstration.

  • Six familles, pas plus : trop d’indices à l’écran dégradent l’apprentissage.
  • Une couleur par famille, pour les reconnaître d’un coup d’œil. Tout est translucide : suggérer le mouvement sans cacher les pièces.
  • Aucune taille fixe : les fantômes ont la taille de la pièce, les flèches de liaison se dimensionnent d’après son encombrement. Une pièce dix fois plus grande ne demande aucun réglage.
  • Une pièce faite de plusieurs éléments est reconstituée en entier, sans ses volumes de collision.

Le guidage suit l’assemblage

Chaque emplacement à pourvoir passe par cinq états, et le guidage change avec eux.

  1. Inactif
  2. Recherche d’une pièce
  3. Accrochage
  4. Mouvement contraint
  5. Pièce en place
Quatre captures reliées par des flèches, de « Inactivité » à « Placement » : une vis seule ; la vis sous une flèche turquoise, avec des flèches rouges vers sa cible dorée ; la vis accrochée, entourée de flèches ; la vis en place.
Les cinq états, dans la scène de démonstration. Agrandir l’image
  • Recherche : l’emplacement repère une pièce compatible et disponible. Flèche d’indication, fantôme de cible, fantôme animé et trajectoire apparaissent.
  • Accrochage : la pièce entre dans la zone de déclenchement, la liaison physique est créée.
  • Mouvement contraint : seul le degré de liberté restant est simulé. Le fantôme et les flèches de liaison prennent le relais.
  • Pièce en place : la butée est atteinte, l’étape est validée, toutes les aides disparaissent.

Sept liaisons mécaniques

Sept liaisons sont prises en charge : encastrement, glissière, pivot, hélicoïdale, pivot glissant, rotule et liaison libre. Une fois la pièce accrochée, le guidage montre le mouvement que la liaison autorise encore : une translation, une rotation, ou les deux liées, comme pour une vis.

Les flèches ne sont jamais placées à la main : position, taille et orientation sont calculées à l’exécution à partir de deux données seulement, l’encombrement de la pièce et l’axe déclaré de la liaison.

En vidéo : les liaisons de la scène de démonstration, avec leurs aides visuelles.
Scène 3D : quatre postes alignés le long d’un mur qui porte les inscriptions Prismatic Joint, Helical Joint, Hinge Joint et Cylindrical Joint.
La scène de démonstration : un poste par liaison.

Quand l’opérateur se trompe

Un scénario n’est pas une suite d’étapes strictes : l’apprenant peut se tromper, et ne doit pas tout reprendre pour autant.

  • Cinq vis identiques pour cinq trous : chaque emplacement réserve sa pièce, pour que les aides ne convergent pas toutes au même endroit.
  • Un emplacement pris par une autre pièce : la pièce délaissée est réattribuée aussitôt. L’opérateur voit simplement son guidage pointer ailleurs.
  • Une pièce déjà montée au départ, à déplacer : un emplacement de transit ne scelle jamais, un emplacement de destination scelle toujours.
  • Une pièce reposée sur le mauvais support reste attendue à sa vraie destination.
  • Une pièce peut être démontée puis réattribuée, si le scénario l’autorise.
En vidéo : emplacements d’origine et réattribution des pièces.
Une vis bleue plantée dans une plaque percée, repérée « Desserte (emplacement d’origine) » ; à droite, son contour doré sur un cylindre rose, repéré « Final (emplacement final après placement) ».
Une pièce déjà montée sur sa desserte, et l’emplacement final qui l’attend.

Deux modes, un panneau de réglage

La réalité virtuelle est l’usage prévu ; un mode bureau, au clavier et à la souris, déroule le même scénario sans casque. Une touche fait passer de l’un à l’autre, sur la même base de code.

En scène, un panneau interactif laisse l’opérateur ou le formateur régler le guidage :

  • afficher ou masquer chaque famille d’aides, ou toutes à la fois ;
  • régler la durée, la vitesse et la vitesse angulaire du fantôme animé : la contrainte la plus lente l’emporte.
Panneau de réglage : six cases à cocher, une par famille d’aides, un bouton « Tout retirer » et trois réglages, durée, vitesse et vitesse angulaire.
Le panneau de réglage : une case par famille d’aides, et les trois vitesses du fantôme animé.

Essais au casque (PICO 4 Ultra Enterprise, HTC Vive Focus 3) dans la salle du laboratoire dédiée à la réalité virtuelle.

Démarche

  • Reprendre un code existant de plusieurs milliers de lignes, propre au laboratoire : reproduire les scénarios de référence, repérer les points d’entrée, modifier pour comprendre.
  • Avancer par élimination : une hypothèse, un essai, une note dans le carnet de bord.
  • Tester au-delà du scénario : poser une pièce au mauvais endroit et regarder ce qui casse. C’est ainsi qu’est née la réattribution.
  • Prévoir le cas général : les flèches de la glissière ont été conçues d’emblée pour tous les axes et toutes les liaisons.
  • Travailler en méthode Agile, par petites étapes : chaque ajout est vérifié, montré, puis intégré au dépôt du laboratoire.

Résultats

familles d’aides visuelles, générées à l’exécution
6
types de liaison mécanique pris en charge
7
configurations validées : éditeur et version livrée, en VR et en mode bureau
4
de documentation technique, validée et diffusée dans le laboratoire
35 pages

Le laboratoire dispose désormais d’un module de guidage réglable sans écrire de code, de scènes de démonstration à jour et d’une documentation complète, réutilisables pour ses prochains projets.

Un portage sur un vrai projet du laboratoire a été réalisé.

Scène 3D : un établi blanc portant un tube bleu, des colliers verts et des vis roses, devant un tuyau à raccorder à une machine bleue.
La scène de démonstration livrée au laboratoire : l’établi d’assemblage.