IMA4 2016/2017 P34 : Différence entre versions

De Wiki de Projets IMA
m (Semaine 2)
m (Semaine 2)
Ligne 222 : Ligne 222 :
  
 
===Semaine 2===
 
===Semaine 2===
 +
<br\>
 
Séance du lundi (3h):
 
Séance du lundi (3h):
 
*Découverte et premiers aperçus des programmes/code Simulink avec Michel AMBERG et Frédéric GIRAUD
 
*Découverte et premiers aperçus des programmes/code Simulink avec Michel AMBERG et Frédéric GIRAUD
Ligne 230 : Ligne 231 :
 
*Michel AMBERG nous a montré comment compiler les différents programmes avec Matlab. Cependant, la compilation Matlab entraînait directement le lancement du programme sur le Raspberry PI 3B, donc nous devions effectuer la commande "kill" depuis le terminal dans le Raspberry.
 
*Michel AMBERG nous a montré comment compiler les différents programmes avec Matlab. Cependant, la compilation Matlab entraînait directement le lancement du programme sur le Raspberry PI 3B, donc nous devions effectuer la commande "kill" depuis le terminal dans le Raspberry.
 
*Nous avons ensuite effectué une copie du fichier "reset.sh" permettant d'initialiser les codeurs sur les positions fixées par l'utilisateur sur le robot Hexapod. Pour cela, nous plaçons des cales en plexiglas afin de permettre d'avoir un angle à peu près identique au niveau de chaque codeur. Ces positions étant nécessaires à l'utilisation des programmes réalisés par notre prédécesseur.
 
*Nous avons ensuite effectué une copie du fichier "reset.sh" permettant d'initialiser les codeurs sur les positions fixées par l'utilisateur sur le robot Hexapod. Pour cela, nous plaçons des cales en plexiglas afin de permettre d'avoir un angle à peu près identique au niveau de chaque codeur. Ces positions étant nécessaires à l'utilisation des programmes réalisés par notre prédécesseur.
 +
*Dans un second temps, nous avons débuté la répartition des anciens programmes dans des sous-dossiers afin de s'organiser au mieux. En même temps, nous avons compilé les programmes pour voir ceux qui peuvent encore fonctionner (certaines parties de programme sont communes sur plusieurs programmes, si elles ont été modifiées pour un programme plus récent, les anciennes versions ne fonctionnerons plus).
 +
<br\>
 +
Séance du jeudi (2h):
 +
*Suite de la répartition du mercredi
 +
*Création d'un tableau de suivi permettant de savoir à quoi correspondent chaque fichier et les GPIO du raspberry.
  
 
===Semaine 3===
 
===Semaine 3===

Version du 9 février 2017 à 10:37


Cahier des charges

Contexte Général

Qu'est-ce que l'haptique ?

  • L'haptique est la science du toucher. Elle permet de simuler des sensations comme la forme, la texture d'objets qui existent mais qui ne sont pas présents.


Quelques exemples d'application actuels

  • Ecran tactile (smartphone, tablette), créer du relief pour sentir les touches d'un clavier.
  • Chirurgie à distance, retour de force...

Présentation générale du projet

Actuellement

  • Nous disposons d'une plate-forme à 6 axes de liberté et contrôlée par 6 moteurs pilotés deux à deux.
  • Le programme permettant de contrôler ces moteurs se fait via un Raspberry déjà présent dans la maquette.
  • Un étudiant ayant déjà travaillé sur ce projet a déjà chargé un programme permettant de contrôler les translations Tx, Ty et Tz selon les axes x, y et respectivement z.

Objectif du projet

  • Le but de notre projet est de déplacer une plate-forme pour qu'une personne ayant placé un doigt sur cette surface plane puisse sentir la forme d'un objet. C'est à dire que la plate-forme devra suivre le doigt qu'une personne aura placé dessus tout en restant tangente à celui-ci.

Tâches à réaliser

  • Concernant les déplacements de la plate-forme :
    • Les déplacements en translation suivant x, y et z ont déjà été programmés.
    • Objectif : comprendre comment les déplacements en translation ont été réalisés afin de pouvoir, par la suite, programmer les déplacements en rotation.
  • Réalisation du programme :
    • Pour réaliser le programme permettant la rotation de la plate-forme, nous allons utiliser le logiciel Matlab / Simulink.
    • Utilisation d'un modèle mathématique pour pouvoir tester notre travail sur ordinateur.
    • Programmer dans le Raspberry avec un code C réalisé avec Matlab qui traduit notre simulation mathématique.

Exemple d'application de notre projet

  • Créer l'illusion de la présence d'une orange en sentant sa forme arrondie et sa texture en utilisant uniquement un plan sans relief.

Environnement général et tuteurs

Lieu de travail principal

  • IRCICA, 50 Avenue du Halley à Villeneuve-d'Ascq

Tuteurs du projet

  • Betty SEMAIL
  • Frédéric GIRAUD
  • Laurent GRISONI

Choix techniques : matériel et logiciel

  • Logiciel principalement utilisé :
    • Matlab / Simulink
  • Matériel fourni :
    • Maquette : interface plate-forme à 6 axes de liberté
    • Raspberry
  • Matériel à acheter :
    • Aucun matériel nécessaire

Calendrier prévisionnel

Calendrier

  • Présentation du contexte et du projet. Définition du cahier des charges.
    • Prise de contact par mail le 29-11-2016 ;
    • Rencontre le 13-12-2016 pour présentation du projet à l'IRCICA.
  • Première séance à l'IRCICA : Mercredi 25 Janvier

Feuille d'heures

Tâche Prélude Heures S1 Heures S2 Heures S3 Heures S4 Heures S5 Heures S6 Heures S7 Heures S8 Heures S9 Heures S10 Total

Rendez-vous présentation

1h

Définition cahier des charges

1h

Lecture rapport de stage et thèse 4h
Dont problèmes logiciels 3h (lundi) 1h (mercredi<br\>+jeudi)

Avancement du Projet

Semaine 1

<br\> Séance du mercredi :

  • Découverte du lieu de travail
  • Lecture du rapport de stage de la personne ayant effectué les déplacements en translations sur le robot Hexapod

<br\>

Semaine 2

<br\> Séance du lundi (3h):

  • Découverte et premiers aperçus des programmes/code Simulink avec Michel AMBERG et Frédéric GIRAUD
  • Impossibilité d'ouvrir les fichiers Simulink, problèmes de compilation avec Matlab :
    • On a donc dû réinstaller Matlab, ce qui a pris beaucoup de temps.

<br\> Séance du mercredi (4h):

  • Michel AMBERG nous a montré comment compiler les différents programmes avec Matlab. Cependant, la compilation Matlab entraînait directement le lancement du programme sur le Raspberry PI 3B, donc nous devions effectuer la commande "kill" depuis le terminal dans le Raspberry.
  • Nous avons ensuite effectué une copie du fichier "reset.sh" permettant d'initialiser les codeurs sur les positions fixées par l'utilisateur sur le robot Hexapod. Pour cela, nous plaçons des cales en plexiglas afin de permettre d'avoir un angle à peu près identique au niveau de chaque codeur. Ces positions étant nécessaires à l'utilisation des programmes réalisés par notre prédécesseur.
  • Dans un second temps, nous avons débuté la répartition des anciens programmes dans des sous-dossiers afin de s'organiser au mieux. En même temps, nous avons compilé les programmes pour voir ceux qui peuvent encore fonctionner (certaines parties de programme sont communes sur plusieurs programmes, si elles ont été modifiées pour un programme plus récent, les anciennes versions ne fonctionnerons plus).

<br\> Séance du jeudi (2h):

  • Suite de la répartition du mercredi
  • Création d'un tableau de suivi permettant de savoir à quoi correspondent chaque fichier et les GPIO du raspberry.

Semaine 3

Semaine 4

Semaine 5

Semaine 6

Semaine 7

Semaine 8

Semaine 9

Semaine 10

Fichiers Rendus