Robot holonome : Différence entre versions
(→Rapport de projet) |
|||
(5 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 13 : | Ligne 9 : | ||
Pour ce projet nous disposons: | Pour ce projet nous disposons: | ||
− | -d'un | + | -d'un bâti réalisé par les CM5 |
-de 4 moteurs Escon | -de 4 moteurs Escon | ||
-de 4 controleurs Escon (50/5) | -de 4 controleurs Escon (50/5) | ||
− | |||
Ligne 27 : | Ligne 22 : | ||
[[Fichier:Philippe gombault IMA4.pdf|rapport|]] | [[Fichier:Philippe gombault IMA4.pdf|rapport|]] | ||
+ | |||
== Stratégie de commande== | == Stratégie de commande== | ||
Ligne 32 : | 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 | + | 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 39 : | Ligne 35 : | ||
− | Pour la programmation, le language | + | 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 | + | 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. | 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. | ||
Ligne 85 : | Ligne 81 : | ||
-cablage électrique des moteurs | -cablage électrique des moteurs | ||
− | -Prise de | + | -Prise de contact avec les CM5 ayant réalisé le châssis |
Ligne 94 : | Ligne 90 : | ||
− | -prise de | + | -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 | ||
Ligne 107 : | Ligne 103 : | ||
− | - | + | -installation de 'rasbian' sur le rasberry pi |
-recherche sur internet de la façon pour commander le GPIO du raspberry pi | -recherche sur internet de la façon pour commander le GPIO du raspberry pi | ||
Ligne 180 : | Ligne 176 : | ||
− | -mise en place de la stratégie de commande des roues. (déterminer le | + | -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 227 : | Ligne 223 : | ||
− | -commande | + | -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 | -test de la librairie ncruse: échec car elle ne détecte pas le fait de relâcher une touche |
Version actuelle datée du 27 novembre 2013 à 22:50
Sommaire
Objectif
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