Robot holonome : Différence entre versions
(→Déroulement des séances) |
|||
(28 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 | + | -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 | + | 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 29 : | Ligne 48 : | ||
Dans cette partie, vous pourrez suivre l'avancement du projet. | Dans cette partie, vous pourrez suivre l'avancement du projet. | ||
+ | |||
+ | ---- | ||
---- | ---- | ||
+ | |||
séance 1: 04/02/2013 | séance 1: 04/02/2013 | ||
− | + | ||
-découverte du materiel | -découverte du materiel | ||
Ligne 38 : | Ligne 60 : | ||
-installation des outils nécessaires: "parallele desktop" | -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 | ||
+ | |||
+ | ---- | ||
---- | ---- |
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