By Arthur Daussy on Wednesday, 30 September 2020
Category: Blog

Déplacer des blocs de 15 tonnes avec Eclipse

Mesuris est une société française spécialiste en bathymétrie multifaisceaux, la science de la mesure des profondeurs et du relief de l'océan qui permet de cartographier le sol sous-marin. Egalement édtiteur de logiciels et expert en intégration de systèmes électroniques, Mesuris développe et distribue le système POSIBLOC™, un outil d’aide à la pose de blocs artificiels pour construire des digues de mer.

Construction d'une digue assistée par le système POSIBLOC™ (photo Artelia)

Obeo a réalisé pour eux leur nouveau logiciel BLOCKSfit™ qui permet de visualiser en temps réel et en 3D les blocs utilisés lors de la construction de digues.

Le premier besoin exprimé était de pouvoir, à partir d’un nuage de points et connaissant le type de blocs ayant été utilisés pour construire la digue, retrouver la position et l’orientation de chaque bloc afin d'effectuer des revues d'ouvrages. Ces informations sont importantes pour vérifier :

Une première étude (proof-of-concept) réalisée avec succès par Obeo a permis de valider une première version de l’algorithme et de confirmer nos choix technologiques. C'est tout naturellement que Mesuris nous a ensuite confié le soin d’industrialiser la solution. Pour cela, nous avons mis en place une équipe agile et avons réalisé une première version du logiciel en 12 sprints.

Comme une vidéo vaut mieux qu’un long discours, voici un apperçu du résultat :

BLOCKSfit™ Installation Review

Fort de cette première réussite, Mesuris a demandé à Obeo de réaliser une nouvelle fonctionalité de BLOCKSfit™ pour intégrer les informations en temps réel de leur système POSIBLOC™. Ce système permet de guider les grutiers qui réalisent la pose. En interprétant des données envoyées de plusieurs blocs (GPS, orientation, poids), le logiciel crée une représentation en temps réel du bloc dans l’espace. Cela facilite grandement la pose des blocs (le bloc étant sous l’eau et donc invisible la plupart du temps). De plus, ces informations peuvent ensuite directement être utilisées avec la première fonctionnalité de revue afin de valider l’ouvrage.

Après les 8 sprints nécessaires à la construction de cette nouvelle solution (ainsi qu’à l’ajout de nouvelles fonctionnalités dans la première version), la version 2 a été mise en production à l'automne 2020.

BLOCKSfit™ Placement

 

Un peu de technique

Si vous connaissez Obeo, vous savez que nous adorons Eclipse et EMF. Toutes les raisons étaient réunies pour les utiliser dans ce produit. BlocksFit™ est basé sur un produit Eclipse E4 (sans couche de compatibilité). Pour le moteur 3D, après quelques recherches et quelques tests, nous nous sommes tournés vers un très bon moteur 3D Open source (notre ADN chez Obeo depuis le commencement) et écrit en Java : JMonkey.

Voici globalement l’architecture technologique mise en place :

Architecture de BLOCKSfit™

Et voici quelques petites remarques sur les outils utilisés pour ce projet.

Moteur 3D JMonkey

JMonkey s’est révélé être un outil répondant parfaitement à nos besoins. Il nous a permis (avec quelques optimisations) d’afficher des nuages de point de plusieurs dizaines de millions de points ainsi que des scènes contenant des milliers d’objets 3D.

Scène contenant 55 millions de points

 

De plus, son architecture est très facilement testable ce qui nous offert la possibilité de mettre en place facilement des tests unitaires sur notre serveur d’intégration.

L’approche Modeling

L’approche Modeling, approche privilégiée chez Obeo, nous a permis :

Passerelle réseau : Vert.x

Pour la création de passerelles réseau, nous avons utilisé Vert.x. A la fois léger et très puissant Vert.x nous a permis de gérer tous les messages des capteurs de manière asynchrone et très performante. De plus, le framework donne accès à une API de test qui, encore une fois, nous a permis d’écrire des tests très rapidement, et donc de pouvoir revenir sur certains points du projet.

Conclusion

Nous remercions Mesuris de nous avoir fait confiance sur ce projet, qui nous a permis d’étendre nos compétences et savoirs à un domaine jusque là non abordé, en y associant des technologies innovantes comme la 3D, et des logiciels Open Source. Le fonctionnement de l’équipe en agile, nous a permis d’avancer pas à pas en testant au fur et à mesure la solution.

Le 21 otcobre, 2020 j'aurai le plaisir d'intervenir à EclipseCon 2020 pour présenter ce projet et expliquer plus en détail les technologies utilisées. L'inscription est gratuite.

Related Posts