Robot holonome : Différence entre versions

De Wiki d'activités IMA
(Déroulement des séances)
 
(25 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.
+
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 ==
 
== Materiel ==
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.
 +
 
 +
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 ==
 
== Déroulement des séances ==
Ligne 62 : 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 71 : 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.
+
-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
 +
 
 +
----
 +
----

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