Robot holonome : Différence entre versions

De Wiki de Projets IMA
(Déroulement des séances)
 
(21 révisions intermédiaires par 2 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
 +
  
 
== Objectif ==
 
== Objectif ==
 
+
[[Fichier:IMG 0347.JPG|400px|thumb|right]]
 
Ce projet à pour objectif de réaliser la commande locale et à distance d'une plate-forme mobile, permettant le déplacement plus aisé d'un robot industriel .
 
Ce projet à pour objectif de réaliser la commande locale et à distance d'une plate-forme mobile, permettant le déplacement plus aisé d'un robot industriel .
  
Ligne 8 : Ligne 9 :
 
Pour ce projet nous disposons:
 
Pour ce projet nous disposons:
  
-d'un bâtie réalisé par les CM5
+
-d'un bâti réalisé par les CM5
  
 
-de 4 moteurs Escon
 
-de 4 moteurs Escon
Ligne 14 : Ligne 15 :
 
-de 4 controleurs Escon (50/5)
 
-de 4 controleurs Escon (50/5)
  
 +
 +
==Vidéo==
 +
 +
==Rapport de projet==
 +
 +
 +
[[Fichier:Philippe gombault IMA4.pdf|rapport|]]
  
  
Ligne 20 : Ligne 28 :
 
Pour ce projet, la stratégie de commande n'était pas définie. J'avais donc à la déterminer ou/et à la choisir.
 
Pour ce projet, la stratégie de commande n'était pas définie. J'avais donc à la déterminer ou/et à la choisir.
  
Possédant un Raspberry pi, j'ai choisis de l'utiliser pour réaliser la commande de ce robot.
+
Possédant un Raspberry pi, j'ai choisi de l'utiliser pour réaliser la commande de ce robot.
  
 
Pour le rappeler le raspberry pi est un petit ordinateur développé par une fondation, voulant promouvoir l'informatique. Il dispose d'interface entrées/sorties (GPIO) facilement programmable.
 
Pour le rappeler le raspberry pi est un petit ordinateur développé par une fondation, voulant promouvoir l'informatique. Il dispose d'interface entrées/sorties (GPIO) facilement programmable.
Ligne 27 : Ligne 35 :
  
  
Pour la programmation, le language choisit fut le python. Un code simple n'ayant pas besoins de compilation et étant parfaitement optimisé pour gérer le GPIO du raspberry.
+
Pour la programmation, le language choisi fut le python. Un code simple n'ayant pas besoin de compilation et étant parfaitement optimisé pour gérer le GPIO du raspberry.
  
 
Pour la commande à distance, après quelque recherche j'ai trouvé une librairie python, permettant la communication avec une wiimote (manette de la console wii).
 
Pour la commande à distance, après quelque recherche j'ai trouvé une librairie python, permettant la communication avec une wiimote (manette de la console wii).
  
Pour la commande locale, mon choix se portait sur la récupération des évènements clavier. Mais après plusieurs heures de recherche sur internet et de codage avec la librairie ncruses, je me suis rendue compte que ce n'était pas faisable, car le noyau Unix n'est pas capable de récupérer de façon logic le fait de lacher une touche. La commande choisit fut donc un boitier commande interagissant avec les entrées du GPIO.
+
Pour la commande locale, mon choix se portait sur la récupération des évènements clavier. Mais après plusieurs heures de recherche sur internet et de codage avec la librairie ncruses, je me suis rendu compte que ce n'était pas faisable, car le noyau Unix n'est pas capable de récupérer de façon logique le fait de "relâcher" une touche. La commande choisit fut donc un boitier avec des boutons poussoirs et un arduino. La liaison entre le raspberry pi et l'arduino est de type série.
 
+
Le système devant être le plus simple possible, une boite dialoge a été mise en place pour facilité l'interface homme machine
+
Le système devant être le plus simple possible, une boite dialoge a été mise en place pour facilité l'interface homme machine. celle-ci s'affiche dès le démarrage de la machine.
  
 
== Déroulement des séances ==
 
== Déroulement des séances ==
Ligne 73 : Ligne 81 :
 
-cablage électrique des moteurs
 
-cablage électrique des moteurs
  
-Prise de contacte avec les CM5 ayant réalisé le châssis
+
-Prise de contact avec les CM5 ayant réalisé le châssis
  
  
Ligne 82 : Ligne 90 :
  
  
-prise de contacte avec la société MDP pour des problèmes de dimensionnement.
+
-prise de contact avec la société MDP pour des problèmes de dimensionnement.
  
 
-régulation du moteur à vitesse constante
 
-régulation du moteur à vitesse constante
  
 
-prise en main des entrées/sorties des controleurs escon.
 
-prise en main des entrées/sorties des controleurs escon.
 
  
  
Ligne 95 : Ligne 102 :
 
séance 5: 25/02/2013
 
séance 5: 25/02/2013
  
 +
 +
-installation de 'rasbian' sur le rasberry pi
 +
 +
-recherche sur internet de la façon pour commander le GPIO du raspberry pi
  
  
Ligne 102 : Ligne 113 :
 
séance 6: 27/02/2013
 
séance 6: 27/02/2013
  
 +
 +
-prise en main de python
 +
 +
-test sur une  DEL
  
  
Ligne 109 : Ligne 124 :
 
séance 7: 28/02/2013
 
séance 7: 28/02/2013
  
 +
 +
-découverte de la librairie 'cwiid' permettant l'interface avec une wiimote.
 +
 +
-analyse de programme sur internet
  
  
Ligne 116 : Ligne 135 :
 
séance 8: 04/03/2013
 
séance 8: 04/03/2013
  
 +
 +
-codage du programme Wii.py
  
  
Ligne 123 : Ligne 144 :
 
séance 9: 05/03/2013
 
séance 9: 05/03/2013
  
 +
 +
-codage du programme Wii.py
 +
 +
-installation des librairies nécessaire
  
  
Ligne 130 : Ligne 155 :
 
séance 10: 06/03/2013
 
séance 10: 06/03/2013
  
 +
 +
-câblage entre le raspberry et les moteurs
  
  
Ligne 137 : Ligne 164 :
 
séance 11: 07/03/2013
 
séance 11: 07/03/2013
  
 +
 +
-test du programme
 +
 +
-résolution de certain bug lié au relâchement des touches (les moteurs continuaient à tourner)
  
  
Ligne 144 : Ligne 175 :
 
séance 12: 08/03/2013
 
séance 12: 08/03/2013
  
 +
 +
-mise en place de la stratégie de commande des roues. (déterminer le sens de rotation de chaque en fonction du movement du robot)
  
  
Ligne 151 : Ligne 184 :
 
séance 13: 11/03/2013
 
séance 13: 11/03/2013
  
 +
 +
-résolution d'un bug qui faisait planter le raspberry (problème de dongle bluetooth et de  carte mémoire )
  
  
Ligne 158 : Ligne 193 :
 
séance 14: 18/03/2013
 
séance 14: 18/03/2013
  
 +
 +
-résolution d'un problème sur la partie mécanique du système
  
  
Ligne 165 : Ligne 202 :
 
séance 15: 20/03/2013
 
séance 15: 20/03/2013
  
 +
 +
-création de la boite dialogue pour une bonne interaction homme machine
  
  
Ligne 172 : Ligne 211 :
 
séance 16: 20/03/2013
 
séance 16: 20/03/2013
  
 +
 +
-recherche sur internet pour la commande 'filaire'
 +
 +
-test de la librairie pygame: échec car elle nécessite le bureau graphique
  
  
Ligne 179 : Ligne 222 :
 
séance 17: 21/03/2013
 
séance 17: 21/03/2013
  
 +
 +
-commande du materiel: raspberry, écran, gertboard,...
 +
 +
-test de la librairie ncruse: échec car elle ne détecte pas le fait de relâcher une touche
  
  
Ligne 186 : Ligne 233 :
 
séance 18: 25/03/2013
 
séance 18: 25/03/2013
  
 +
 +
-mise en place d'une autre stratégie de commande filaire
 +
 +
-mise en place d'une liaison série entre arduino et raspberry pi.
 +
 +
-installation des librairies nécessaires
  
  
Ligne 193 : Ligne 246 :
 
séance 19: 27/03/2013
 
séance 19: 27/03/2013
  
 +
 +
-gestion des vitesses des moteurs
 +
 +
-test liaison serie entre un arduino et un programme python
  
  
Ligne 200 : Ligne 257 :
 
séance 20: 28/03/2013
 
séance 20: 28/03/2013
  
 +
 +
-mise à jour de la page
 +
 +
-codage programe usb.py utilisant la liaison serie et un arduino
  
  
Ligne 207 : Ligne 268 :
 
séance 21: 03/04/2013
 
séance 21: 03/04/2013
  
ABS:
+
 
 +
-codage programe usb.py utilisant la liaison serie et un arduino
 +
 
  
 
----
 
----
 
----
 
----
  
séance 22: 08/04/2013
+
séance 22: 03/04/2013
 +
 
  
 +
ABS: rendez-vous avec Festo.
  
  
Ligne 219 : Ligne 284 :
 
----
 
----
  
séance 23: 10/04/2013
+
séance 23: 08/04/2013
 +
 
 +
 
 +
-câblage électrique de la commande filaire
 +
 
 +
----
 +
----
 +
 
 +
séance 24: 10/04/2013
 +
 
  
 +
-câblage électrique de la commande filaire
  
 +
-codage du code Usb.py
  
 
----
 
----
 
----
 
----
  
séance 24: 11/04/2013
+
séance 25: 11/04/2013
  
  
 +
-codage du code usb.py
  
 
----
 
----
 
----
 
----
  
séance 25: 29/04/2013
+
séance 26: 29/04/2013
  
  
 +
-gestion de la boite dialogue au démarrage
  
 
----
 
----
 
----
 
----

Version actuelle datée du 27 novembre 2013 à 22:50


Objectif

IMG 0347.JPG

Ce projet à pour objectif de réaliser la commande locale et à distance d'une plate-forme mobile, permettant le déplacement plus aisé d'un robot industriel .

Materiel

Pour ce projet nous disposons:

-d'un bâti réalisé par les CM5

-de 4 moteurs Escon

-de 4 controleurs Escon (50/5)


Vidéo

Rapport de projet

Fichier:Philippe gombault IMA4.pdf


Stratégie de commande

Pour ce projet, la stratégie de commande n'était pas définie. J'avais donc à la déterminer ou/et à la choisir.

Possédant un Raspberry pi, j'ai choisi de l'utiliser pour réaliser la commande de ce robot.

Pour le rappeler le raspberry pi est un petit ordinateur développé par une fondation, voulant promouvoir l'informatique. Il dispose d'interface entrées/sorties (GPIO) facilement programmable.

La commande des controleurs se faisant par entrées numériques, le choix du raspberry pi fut naturel.


Pour la programmation, le language choisi fut le python. Un code simple n'ayant pas besoin de compilation et étant parfaitement optimisé pour gérer le GPIO du raspberry.

Pour la commande à distance, après quelque recherche j'ai trouvé une librairie python, permettant la communication avec une wiimote (manette de la console wii).

Pour la commande locale, mon choix se portait sur la récupération des évènements clavier. Mais après plusieurs heures de recherche sur internet et de codage avec la librairie ncruses, je me suis rendu compte que ce n'était pas faisable, car le noyau Unix n'est pas capable de récupérer de façon logique le fait de "relâcher" une touche. La commande choisit fut donc un boitier avec des boutons poussoirs et un arduino. La liaison entre le raspberry pi et l'arduino est de type série.

Le système devant être le plus simple possible, une boite dialoge a été mise en place pour facilité l'interface homme machine. celle-ci s'affiche dès le démarrage de la machine.

Déroulement des séances

Dans cette partie, vous pourrez suivre l'avancement du projet.




séance 1: 04/02/2013


-découverte du materiel

-recherche de documentation

-installation des outils nécessaires: "parallele desktop"




séance 2: 07/02/2013


-prise en main du logiciel "escon studio"




séance 3: 11/02/2013


-prise en main du materiel

-cablage électrique des moteurs

-Prise de contact avec les CM5 ayant réalisé le châssis




séance 4: 14/02/2013


-prise de contact avec la société MDP pour des problèmes de dimensionnement.

-régulation du moteur à vitesse constante

-prise en main des entrées/sorties des controleurs escon.




séance 5: 25/02/2013


-installation de 'rasbian' sur le rasberry pi

-recherche sur internet de la façon pour commander le GPIO du raspberry pi




séance 6: 27/02/2013


-prise en main de python

-test sur une DEL




séance 7: 28/02/2013


-découverte de la librairie 'cwiid' permettant l'interface avec une wiimote.

-analyse de programme sur internet




séance 8: 04/03/2013


-codage du programme Wii.py




séance 9: 05/03/2013


-codage du programme Wii.py

-installation des librairies nécessaire




séance 10: 06/03/2013


-câblage entre le raspberry et les moteurs




séance 11: 07/03/2013


-test du programme

-résolution de certain bug lié au relâchement des touches (les moteurs continuaient à tourner)




séance 12: 08/03/2013


-mise en place de la stratégie de commande des roues. (déterminer le sens de rotation de chaque en fonction du movement du robot)




séance 13: 11/03/2013


-résolution d'un bug qui faisait planter le raspberry (problème de dongle bluetooth et de carte mémoire )




séance 14: 18/03/2013


-résolution d'un problème sur la partie mécanique du système




séance 15: 20/03/2013


-création de la boite dialogue pour une bonne interaction homme machine




séance 16: 20/03/2013


-recherche sur internet pour la commande 'filaire'

-test de la librairie pygame: échec car elle nécessite le bureau graphique




séance 17: 21/03/2013


-commande du materiel: raspberry, écran, gertboard,...

-test de la librairie ncruse: échec car elle ne détecte pas le fait de relâcher une touche




séance 18: 25/03/2013


-mise en place d'une autre stratégie de commande filaire

-mise en place d'une liaison série entre arduino et raspberry pi.

-installation des librairies nécessaires




séance 19: 27/03/2013


-gestion des vitesses des moteurs

-test liaison serie entre un arduino et un programme python




séance 20: 28/03/2013


-mise à jour de la page

-codage programe usb.py utilisant la liaison serie et un arduino




séance 21: 03/04/2013


-codage programe usb.py utilisant la liaison serie et un arduino




séance 22: 03/04/2013


ABS: rendez-vous avec Festo.




séance 23: 08/04/2013


-câblage électrique de la commande filaire



séance 24: 10/04/2013


-câblage électrique de la commande filaire

-codage du code Usb.py



séance 25: 11/04/2013


-codage du code usb.py



séance 26: 29/04/2013


-gestion de la boite dialogue au démarrage