SOFA Week : simulation médicale et robotique, du 18 au 22 novembre 2019 à Paris

Posté par  . Édité par Ysabeau 🧶 🧦, Davy Defaud et Pierre Jarillon. Modéré par Davy Defaud. Licence CC By‑SA.
Étiquettes :
15
3
oct.
2019
Science

SOFA Week

Du 19 au 22 novembre 2019, le logiciel libre de simulation physique SOFA organise la seconde édition de la SOFA Week, un événement gratuit (sauf la journée formation) avec enregistrement obligatoire qui se déroulera à Paris dans les locaux de Station F et de l’EIT Digital CLC.

Cette semaine autour de la plate‑forme SOFA vise à rassembler toute la communauté avec des conférences et des démonstrations présentant les dernières réalisations techniques et scientifiques.

SOFA et son écosystème

Le logiciel

SOFA est un cadriciel libre (LGPL) pour la simulation multi‐physique en temps réel. Il est né en 2004 au sein de l’institut de recherche Inria et est aujourd’hui principalement supporté par ce même institut.

Techniquement, SOFA se compose d’un cœur C++ libre qui définit les fonctionnalités de base et d’une multitude de greffons (publics et privés) qui implémentent, entre autres :

  • des modèles mécaniques ;
  • des modèles de collision ;
  • des algorithmes de traitement d’image ;
  • des méthodes de parallélisation (processeurs centraux et graphiques) ;
  • des interfaces vers des périphériques (Geomagic Touch, LeapMotion) ;
  • des interfaces vers d’autres bibliothèques (Python, CGAL, Assimp).

Aujourdʼhui, SOFA est principalement utilisé pour la simulation médicale (par quinze équipes de recherche et sept industriels) et la robotique (par cinq équipes de recherche et deux industriels). On recense également des utilisations pour du prototypage industriel, en animation, en biologie cellulaire, réalités virtuelle et augmentée, etc.

SOFA + Unity

La communauté

La communauté autour de SOFA est majoritairement académique. Ce sont des chercheurs et des doctorants qui contribuent et collaborent le plus sur nos plates‐formes communautaires (GitHub, Gitter et forum).

Côté industriel, de plus en plus d’acteurs entourent SOFA : des startups directement issues de centres de recherche et historiquement basées sur le cadriciel, des startups en phase de montage à la recherche du bon socle technologique et des sociétés qui s’intéressent à SOFA comme alternative ou complément à leur technologie existante.

Cette configuration de la communauté à la fois académique et industrielle permet d’établir des collaborations profitant directement au logiciel. C’est en partie pour encourager et faciliter ces collaborations que l’Inria a lancé en 2015 le consortium SOFA.

Le consortium

Le consortium SOFA regroupe les acteurs les plus actifs autour du logiciel. Géré par deux personnes, sa mission principale est d’agir en tant que tierce partie pour la pérennisation du logiciel. Cette mission se traduit par les activités suivantes :

  • coordonner les développements et contribuer directement ;
  • étendre et animer la communauté (académique et industrielle) ;
  • promouvoir les collaborations au sein de la communauté ;
  • dispenser des formations.

Actif depuis bientôt quatre ans, le consortium a permis une nette amélioration de la stabilité de SOFA, autant au niveau du code que de l’environnement de développement.
Conjointement à ce travail technique, le consortium a également œuvré pour la promotion et la diffusion de SOFA en participant à des événements comme POSS 2018 ou FOSDEM 2019 et, pour la première fois l’année dernière, en organisant son propre événement communautaire : la SOFA Week.

SOFA à FOSDEM 2019

La SOFA Week

La SOFA Week est un événement communautaire gratuit (sauf la journée formation) avec enregistrement obligatoire visant à rassembler la communauté SOFA et toute personne intéressée par la simulation numérique open source.

Plusieurs membres de la communauté se sont déjà mobilisés, autant du côté des académiques que des industriels : Inria, CNRS, Université du Luxembourg, institut Fraunhofer, Dassault System, Philomec, InSimo, Anatoscope… Entre quatre‐vingts et cent personnes sont attendues pour cette édition 2019.

Programme

La semaine commencera par une journée de formation apportant le socle de connaissances nécessaires à une prise en main de SOFA dans les meilleures conditions.

Le deuxième jour sera le point dʼorgue de la semaine avec le Symposium SOFA. Cette journée proposera des présentations académiques et industrielles, des stands de démos ainsi qu’une remise de prix (voir SOFA Awards). L’objectif sera d’avoir une vision générale des derniers travaux académiques et industriels effectués avec SOFA.

Le troisième jour débutera par la mise en lumière plus technique de certains greffons SOFA (publics et privés). À la fois théoriques et pratiques, ces présentations par l’exemple permettront de se faire une idée plus précise des possibilités offertes par SOFA.

SOFA Week 2018 : session greffons

La session orientée greffons sera suivie du Comité Technique qui prendra place jusqu’au lendemain. Il s’agit de l’instance publique où se discutent les chantiers de développement à venir dans SOFA.

Enfin, un coding sprint terminera la semaine en beauté et permettra à tous de mettre les mains dans le cambouis. Ce sera l’occasion idéale de s’intégrer à la communauté des développeurs de SOFA, soit en s’attaquant à une des tâches simples listées à l’avance, soit en profitant de la présence des contributeurs principaux pour avancer sur des problèmes plus spécifiques.

SOFA Awards

Pour la première fois cette année, une récompense sera attribuée aux deux meilleures contributions autour de SOFA. Il est possible de candidater avec tout type de contribution : un greffon, un correctif, un tutoriel, de la documentation, etc., tant qu’elle est libre !

Devs fuel

Aller plus loin

  • # Code Temps Réel

    Posté par  . Évalué à 8.

    Ne bossant plus sur Sofa depuis un moment, je ne suis pas sûr que je pourrais me déplacer, mais c'est super d'avoir un soft de SimNum (principalement FEM) pour faire de la simulation temps réel dans l'objectif d'aider les chirurgiens pendant l'opération !

    Je trouve que l'aspect Temps Réel manque un peu dans le rappel de l'objectif de Sofa.
    C'est ça plus grande force, mais aussi sa plus grande faiblesse !

    Les optimisations nécessaires à faire tourner un code FEM en RT sont telles que le nombre d'éléments d'une simulation ne pourra pas être très élevée. Le code n'est évidemment pas optimisé pour traiter des cas usuels chez nous en mécanique nécessitant de la décomposition de domaine sur plusieurs nœuds d'un HPC. On peut cotés mécanique difficilement utiliser un code de ce type, car il ne nous permettra pas de nous assurer de la convergence de la solution trouvée (déplacement, déformations, contraintes, énergie) !

    Ceci dit, si on replace un peu dans le contexte de fournir à un chirurgien une aide à la localisation des veines ou artère lors d'un opération, être capable d'avoir une estimation de la transformation cinématique lors de l'opération, est vraiment fondamental, et la convergence de la solution mécanique n'importe pas trop ! Sans compter la possibilité de faire des simulateurs permettant de diminuer le nombre de cadavre à mettre à disposition des étudiants en médecine …

    Bon après c'est codé par des informaticiens, c'est très bien mais la construction et la séparation des différentes couches du modèle le rend peu intéressant pour nous. Il n'est pas vraiment possible de changer la nature du comportement du matériau à l'aide d'une loi externe au code, et il est compliqué de faire une mise en donnée à partir de géométrie (STEP, IGES, BREP …) avec le formalisme actuel !

    Cela ne veut pas dire que nous, mécaniciens, ne devons pas nous y intéresser ! Il y a aussi des cas chez nous pour le pilotage intelligent, ou nous voulons avoir des retours rapides par rapport à notre commande, et nous sommes aujourd'hui sans réels outils pour répondre à cette question.

    Ce monde arrive à la croisée des chemins ou info, automatisme, méca se rencontrent mais adoptent des paradigmes légèrement différents rendant la communication complexe. Si cette barrière peut être levée, je pense que de très belles innovations à la frontière de ces domaines scientifiques peuvent voir le jour.

    J'ai recommencé récemment à discuter avec une équipe INRIA développant Sofa, et j'espère pouvoir contribuer à la levée de cette barrière entre nos deux mondes !

  • # Les nouveautés

    Posté par  . Évalué à 5.

    Merci beaucoup pour ce commentaire, freejeff. Il complète vraiment cette dépêche.
    Tu as tout à fait raison, l'article pourrait insister d'avantage sur la capacité de SOFA à réaliser des simulations interactives voire temps-réel.

    Cela passe également, comme tu le dis, par des optimisations dans le code qui mêlent le modèle physique (ex: loi de constitution mécanique) et leur intégration (spatiale). Cependant, des travaux avaient été réalisés pour bien distinguer le modèle et l'intégration dans différents types d'éléments (plugin Flexible). Un doctorant travaille aussi sur ce sujet dans un répertoire GitHub (Caribou).

    Je souhaite également réaliser prochainement un code type qui implémente de manière non-optimisée de l'élasticité linéaire dans des tétraèdres linéaires afin de rendre SOFA et son API lisible pour tous. La collaboration avec de vrais mécaniciens est vraiment intéressante pour SOFA car nos deux mondes sont très proches. Le nouveau plugin Python3 permettant l'implémentation de code directement en Python devrait également faciliter cela.

    Je suis heureux de lire que tu as recommencé à discuter avec une équipe Inria. Si le staff du Consortium SOFA peut aider, il ne faut pas hésiter à nous mettre dans la boucle.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.