En bref
- Dates
- –
- Contexte
- CEA-List, Laboratoire Simulation Interactive (LSI), Palaiseau
- Technologies
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
| Exigence | Statut en fin de stage |
|---|---|
| Guider sur les sept types de liaison du module | Opérationnel : chaque type de liaison reçoit son guidage. |
| Des aides visuelles à chaque étape, de la saisie à la fixation | Opérationnel : six familles d’aides, générées à l’exécution. |
| Un guidage distinct selon la phase d’assemblage | Opé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érateur | Opérationnel : réattribution automatique vers un emplacement compatible. |
| Changer un comportement en cours de scénario | Opérationnel : visser à une étape, dévisser à la suivante. |
| Réalité virtuelle et mode bureau | Opérationnel : une touche fait basculer, et le scénario se joue en entier dans les deux modes. |
| Intégration sans casser les scénarios existants | Opérationnel : module exporté dans un autre projet. |
| Documentation exploitable par un tiers | Validé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.
Flèche d’indicationQuelle pièce ?Suspendue au-dessus de la pièce à saisir, toujours tournée vers l’opérateur.
Fantôme de cibleOù ?Copie translucide dorée de la pièce, à sa position finale.
Fantôme animéPar quel chemin ?Copie translucide blanche qui rejoue le trajet, de la pièce réelle à sa cible.
Trajectoire fléchéeQuelle pièce va où ?Courbe fléchée qui relie chaque pièce à sa destination.
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.
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.
- Inactif
- Recherche d’une pièce
- Accrochage
- Mouvement contraint
- Pièce en place
- 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.
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.
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.
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é.