P28 Modélisation d'un robot chirurgical déformable pour la simulation et le contrôle

De Wiki de Projets IMA
Révision datée du 26 novembre 2014 à 14:17 par Nmartin1 (discussion | contributions) (Journal de Bord)

Charlotte BRICOUT & Nathan MARTIN

Élèves Ingénieurs à Polytech Lille

Projet de Fin d'Etudes (PFE)

Contexte du projet de fin d'études

Dans le cadre d'un projet commun avec le King's College de Londres, l'équipe Shacra de l'INRIA de Lille va travailler pendant 2 ans sur un projet de robot déformable. L'objectif est de contrôler des robots non-rigides qui pourraient faire progresser la chirurgie non invasive. A terme, le laboratoire envisage de créer un endoscope pneumatique. Actuellement, les robots sont de types pneumatiques et le contrôle est effectué en emplissant ou vidant des volumes d'air. Le projet pourrait évoluer avec un contrôle hydraulique qui serait plus précis grâce à une mesure de l'eau injectée dans les cavités.

Description des missions à réaliser

Les objectifs du projet sont :

- Développer un modèle FEM (Finite Element Method) du robot sur la plateforme logicielle SOFA

- Faire un prototype pneumatique simplifié de l'endoscope afin de valider le contrôle du robot par le biais d'une simulation informatique. Pour mener à bien le projet, une partie de contrôle bas-niveau des régulateurs de pression sera nécessaire

- Valider le modèle sur le robot développé au King's College de Londres

- Faire une étude de faisabilité pour passer de la technologie pneumatique à hydraulique

Matériel à disposition

Le logiciel SOFA

SOFA est une plate-forme de recherche et développement dédiée aux simulations physiques interactives et en particulier à la simulation médicale. La plate-forme regroupe de nombreux algorithmes issus de domaines de recherche variés. Des modèles de nature différente peuvent être combinés de façon à produire des simulations complexes qui restent compatibles avec des temps de calcul optimaux.

Le logiciel Blender

Blender est un logiciel libre de modélisation, d’animation et de rendu en 3D. Il dispose de fonctions avancées de modélisation, de sculpture 3D, de texturage, d’animation 3D et de rendu. Le logiciel prend en charge diverses simulations physiques telles que les particules, les corps rigides, les corps souples et les fluides.

Le logiciel GID

GID est un logiciel adaptatif universel pré et post-processeur pour les simulations numériques. Il a été conçu pour couvrir tous les besoins en simulation numérique de pré à post-traitement: modélisation géométrique, définition efficace des données d'analyse, maillage, transfert de données à un logiciel d'analyse et visualisation des résultats numériques.

Journal de Bord

Semaine 1

Pour démarrer notre projet, nous avons commencé par élaborer un environnement de travail complet:

- Pour travailler depuis Polytech : Installation sur nos machines personnelles des logiciels Blender et SOFA

- Pour travailler depuis l'INRIA : Etablissement d'une convention et obtention des accès au bâtiment du laboratoire


Lors de la première séance complète, nous avons pris en main Blender. Ce logiciel va nous permettre de modéliser un prototype simplifié de l'endoscope.


Semaine 2

Une fois le robot entièrement modélisé sur Blender, on génère un modèle sous le format ".obj" afin d'effectuer le maillage. Le prototype modélisé sous Blender contient des cavités très fines rendant le processus de maillage impossible sur le logiciel SOFA. Le nombre de nœuds du prototype est trop important et nos machines ne supportent pas les calculs. Un nombre de tétraèdres moins important ne fait pas apparaître les cavités sur le prototype maillé. Après plusieurs tentatives de maillage vaines avec SOFA, nous avons décidé de travailler avec le logiciel GID.


Semaine 3

Sur GID, il est nécessaire de modéliser à nouveau le prototype du robot. Une fois le modèle terminé, nous réalisons un maillage avec un nombre de nœuds moins importants qu'auparavant mais le prototype n'est pas maillé correctement. Si l'on augmente le nombre de nœuds et par conséquent, le nombre de tétraèdres, le logiciel ne supporte pas les calculs.

Le prochain objectif est de prendre contact avec l'équipe du King's College pour connaître les possibilités de modification du prototype qui permettraient un maillage correct du modèle.


Semaine 4

Après discussion avec le King's college, notre modèle est validé. Par ailleurs, nous avons décidé de multiplier par deux les dimensions du robot afin de faciliter la conception du prototype physique. En effet, le diamètre du robot cylindrique est de 16 mm et sa longueur est de 10 cm. A présent, notre travail se scinde en deux parties.

La première partie consiste à modéliser deux prototypes sur GID avec des nombres d'éléments différents:

- un modèle précis pour évaluer les besoins en pression (entre 5000 et 6000 noeuds)

- un modèle allégé (environ 2000 nœuds) pour que la simulation avec SOFA soit fluide et temps réel

La seconde partie consiste à mettre en simulation le prototype exporté de GID au format ".msh". Ce fichier mesh contient les coordonnées des points et les éléments de l'objet maillé. A partir de ce mesh, on cherche à générer un fichier au format ".xml" afin que les données contenues dans le mesh soient exploitables dans une scène Sofa. Pour ce faire, on utilise un script existant qui génère le fichier souhaité. Enfin, on rédige un fichier ".scn" qui va permettre de mettre en mouvement le prototype modélisé auparavant.


Semaine 5

On souhaite valider notre modèle avec la technologie pneumatique. Pour ce faire, il est nécessaire de contrôler le prototype dans Sofa en pneumatique. Pour cela, on utilise le plug-in de Sofa SoftRobots. Sur notre modèle, on dessine des "BoxROI" qui sont des boîtes permettant de sélectionner les tétraèdres d'un volume. Ici, on créé quatre "BoxROI": une boîte permettant de fixer la base du robot déformable et trois boîtes pour sélectionner une cavité sur deux de notre modèle. En effet, il n'y aura que trois cavités sur les six de contrôlées. Une fois les tétraèdres des cavités sélectionnées par le biais des BoxROI, on récupère tous les triangles qui composent les cavités. Cette opération permet de sélectionner la surface au lieu du volume et nous permettra le contrôle par pression leur remplissage. Maintenant, il est nécessaire de fixer un point que l'on nommera "Goal" et un second point nommé "Effector". "Goal" est le point que va suivre le modèle."Effector" est un point du modèle qui cherchera à converger vers le "Goal". Une fois ces deux points définis, il nous reste à tester différentes pressions pour connaître la tolérance de notre système ainsi que plusieurs valeurs du module de Young pour avoir la rigidité souhaitée. Après plusieurs tests, on retiendra une pression maximale de 2MPa et un module de Young de 18MPa.


Semaine 6

Durant cette séance, nous avons rendu notre code fonctionnel en essayant de mettre en mouvement le robot de notre scène. Celui-ci a un mouvement correct s'il parvient à converger vers le point demandé.


Semaine 7 & 8

Pas de séance de projet allouée.


Semaine 9

Cette semaine, nous reprenons en main la scène SOFA afin de mettre en mouvement le robot.


Semaine 10

Nous parvenons maintenant à simuler notre robot cylindrique en temps réel. Lorsque le "Goal" se déplace, notre robot va, par injection d'air dans ses cavités, essayer d'atteindre le point "Goal" avec son centre outil ("Effector").

D'un autre côté, nous entamons les réflexions quant à la réalisation matérielle du robot. Nous concevons également la maquette de coulage du robot. Il faut en effet pouvoir couler le silicone, le faire sécher et le démouler pour obtenir notre robot.

Semaine 11

Le matériel est maintenant acheté et la maquette pour réaliser le robot conçue. Nous prévoyons d'utiliser un tuyau en PVC de diamètre intérieur 34 cm, 6 tiges filetées pour créer les cavités, un tube en cuivre pour creuser le cylindre. Le tout fixé entre deux planches de bois. Les différents tubes seront ainsi immobiles lors de la phase de coulage et de séchage. Un "chapeau" en silicone sera ensuite coulé et soudé à une extrémité du robot pour assurer l'étanchéité des cavités.