Robot Médical

De Wiki d'activités IMA
Révision datée du 15 avril 2014 à 22:58 par Itahry (discussion | contributions) (Avancement du projet:)

Présentation et définition du Cahier des charges:

Objectif du projet:

Le but principal de ce projet s'articule autour du développement d'un contrôle autonome d'un robot mobile-manipulateur dédié à la Curiethérapie.


Description du projet:

Le robot médical est un robot manipulateur opérateur appelé Kuka et porté par un robot omnidirectionnel holonome. On voudrait alors réaliser une commande autonome de ce dernier, en lui attribuant une trajectoire optimale au centre de l'outil de l'aiguille de radiothérapie afin que le robot puisse générer les mouvements nécessaires pour la réalisation de cette mission. On passerait donc d'un contrôle permanent du robot avec un pad ou d'une Wiimote, à une gestion parfaitement autonome de celui-ci. Rappelons que ce projet a une finalité outre qu'académique puisqu'il se fait en collaboration avec le centre de radiothérapie de Lille.


Matériel principal disponible:

  • Chassis du robot.
  • 4 roues motrices contrôlées par 4 contrôleurs + 4 moteurs
  • Un raspberry pi connecté aux 4 contrôleurs.
  • Un module CompactRIO.
  • Une centrale inertielle.

IMG 0347.JPG

Tâches à réaliser:

  • Effectuer le modèle cinématique inverse de la position de notre robot afin de commander les 4 roues motrices en vitesse. Ce modèle sera calculé en fonction des mesures effectuées grâce aux capteurs de position situés sur le centre de gravité de chacune des roues.
  • Créer une simulation du modèle obtenu et de la commande permettant d'automatiser le robot.
  • Ajouter des capteurs infrarouges au châssis du robot afin que celui-ci puisse éviter d'éventuel obstacle au cours de son déplacement.
  • Implémenter le résultat.

Avancement du projet:

Semaine 1 (03/02/2014):

Durant cette première semaine, nous allons surtout nous familiariser avec notre projet. Pour cela, nous commençons par lister tous les composants qui constituent notre projet que nous aurions à prendre en main par la suite. Nous avons pu nous documenter sur les moteurs du robot par exemple et tester le programme déjà implémenté qui permet un contrôle du chassis avec une Wii mote. Cela nous permet de mieux cerner le fonctionnement holonome de notre robot.

En résumé:

  • découverte du matériel.
  • documentation.
  • prise en main du projet + démo robot.
  • Installation des logiciels requis.


Semaine 2 (10/02/2014):

Au cours de cette semaine, nous avons eu un premier contact avec notre tuteur de projet afin de fixer le cahier des charges et les objectifs attendus de la réalisation de ce projet. Nous avons établi le schéma suivant qui résume bien le fonctionnement demandé du système:

Commande robot.png

En somme, nous devons pouvoir générer une trajectoire aléatoire qui doit être ensuite réalisée par notre robot de façon totalement autonome. De ce fait, une MCI (modèle cinématique inverse) sera réalisée afin de déterminer la matrice qui régie notre système.

D'un autre côté, une prise en main du logiciel Labview est faite, un logiciel qui nous permettra par la suite de pouvoir programmer le CompactRIO et la centrale inertielle.

En résumé:

  • prise de contact avec notre tuteur projet.
  • définition du cahier des charges.
  • prise en main de labview.


Semaine 3 (17/02/2014):

Afin de mieux cerner quelques points qui nous paraissaient encore flous concernant notre projet, nous avons décidé de faire appel à philippe Gombault, étudiant en IMA5 qui avait précédemment travaillé sur ce même projet l'an passé. Ce dernier nous a prodigué de précieux conseils, notamment celui de réaliser une sauvegarde de la carte SD du raspberry pi avant toute utilisation. Afin d'éviter tout risque de détérioration du précédent projet qui est en parfait état de marche, nous avons donc suivi ses conseils et nous avons réalisé une sauvegarde de la carte que nous gardons précieusement en cas de besoin.

Par ailleurs, nous nous sommes également attelé à la prise en main de la centrale inertielle que notre encadrant a mis à notre disposition. Ce petit composant technologique nous permettra par la suite d'enregistrer les déplacements du robot dans l'espace. Sa prise en main se fait principalement grâce au logiciel Labview, préalablement téléchargé et installé. On peut s'y connecter et y accéder par USB à l'aide des câbles fournis

Xsens.jpg

Nous avons également décidé de commencer un modèle géométrique inverse du système afin de réaliser sa modélisation.

En résumé:

  • prise de contact avec Philippe Gombault.
  • sauvegarde de la carte SD.
  • prise en main de la centrale inertielle Xsens.
  • Réalisation MGI en cours.


Semaine 4 (3/03/2014):

Après tenté de réaliser une MGI durant la semaine précédente, nous nous sommes rendus compte que ce modèle la n'était pas le plus efficace pour modéliser notre système. En fait, nous avons rencontré quelques difficultés au niveau des calculs, principalement liées au fait que notre robot n'est pas adapté à ce genre de modélisation. Nous avons donc basculé sur un MCI (modèle cinématique inverse), un choix qui nous parait plus judicieux et plus réalisable.

Au cours de cette semaine, nous avons également eu un contact avec notre encadrant qui nous a donné quelques directives en plus. Il nous a notamment conseillé de nous documenter sur le net afin de trouver des capteurs optiques que l'on pourrait ajouter à notre robot pour que ce dernier puisse également gérer la détection d'obstacles pour pouvoir les éviter. Nous nous sommes donc attelé à cette tâche également, en parallèle avec les précédentes démarches déjà entamées.

En résumé:

  • MGI inexploitable, réalisation du MCI en cours
  • Prise de contact avec notre tuteur de projet + recherche capteurs


Semaine 5 (10/03/2014):

A ce stade du projet, nous avons réussi à faire plusieurs avancées. L'une des premières que l'on peut citer est la réalisation d'un modèle cinématique direct (nous avions prévu de réaliser un modèle cinématique inverse, mais il se trouve qu'il est préférable et plus simple de passer par un modèle direct. Le modèle inverse peut ensuite être obtenu aisément). Ce dernier nous semble correct, mais nous avons décidé d'attendre une validation par notre professeur encadrant avant d'en réaliser une simulation pour en vérifier le fonctionnement.

Autre point important, le contrôle de la centrale inertielle: ce dernier semble fonctionnel, nous arrivons à récupérer correctement, à partir d'un programme Labview, les valeurs que le Xsens nous renvoit en fonction du déplacement de ce dernier dans l'espace.

Résultats.png

En plus de recevoir l’accélération en X, Y et Z et la vitesse de rotation en X, Y et Z, l’utilisateur reçoit les angles d’Euler. Les angles d’Euler sont les angles indiquant la position du repère de la centrale inertielle par rapport au repère terrestre.

Etant donnée que cette partie du projet semble bien fonctionner, nous décidons donc de nous attaquer aux autres composants que l'on doit tous aussi bien pouvoir contrôler, à savoir le raspberry Pi et le module CompactRIO

En résumé:

  • Réalisation du MCD
  • Controle de la centrale inertielle sur labview actif
  • capteurs commandés par l'encadrant.
  • Prise en main CompactRIO
  • Prise en main Raspberry Pi


Semaine 6 (17/03/2014): Après voir eu une entrevue avec notre encadrant, nous avons pu valider notre modèle cinématique direct, non sans quelques corrections. Au final, nous obtenons la matrice suivante pour notre système, qui prend en entrée les vitesses angulaires de chaque roue pour obtenir en sorti la position du chassis en fonction de X et Y ainsi que de l'angle de lacet Phi:

Matrice (1).PNG

A partir de ce modèle ci, nous pouvons facilement établir le modèle inverse en calculant la matrice inverse de notre système. Pour cela, nous utiliserons un logiciel de calcul formel tel que Maple, qui nous donnera un résultat très rapidement. Nous pouvons ensuite réaliser une simulation de ce modèle sur Matlab Simulink afin de vérifier sa fonctionnalité:

Simu mcd.PNG

Il s'avère qu'après avoir réalisé cette simulation, nous obtenons des résultats très satisfaisants qui corroborent la matrice précédemment établie:

Simu2.PNG

  • Correction et Validation du MCD par notre professeur.
  • Réalisation du MCI à l'aide de Mapple.
  • Difficultés logiciels rencontrés au niveau de Labview + CompactRIO
  • Difficultés de prise en main au niveau du Raspberry Pi

Semaine 7 (24/03/2014):

  • Contrôle du raspberry actif (Aide de M. Redon)
  • Implémentation et simulation du MC sur Matlab.


Semaine 8 (31/03/2014):

EN COURS