IMA3/IMA4 2021/2023 P8 : Différence entre versions
(→Séance du 8 Décembre) |
(→Séance du 8 Décembre) |
||
Ligne 74 : | Ligne 74 : | ||
===Séance du 8 Décembre=== | ===Séance du 8 Décembre=== | ||
− | Ayant encadré le projet que nous avons récupéré, M. Conrard nous a proposé de nous encadrer pour notre projet. Il nous a montré le logiciel RoboPlus, qui permet de tester en commandant manuellement les moteurs et de changer les variables comme par exemple son identifiant. Etant donné du retard que nous avons pris, nous nous sommes fixés un objectif intermédiaire, inspiré de la [https://www.linkedin.com/posts/wevolver_the-ping-pong-bouncer-uses-computer-vision-activity-7004513848212824064-49JB/?utm_source=share&utm_medium=member_desktop] que M. Lakhal nous a envoyé qui est de garder la balle stable sur un seul axe. | + | Ayant encadré le projet que nous avons récupéré, M. Conrard nous a proposé de nous encadrer pour notre projet. Il nous a montré le logiciel RoboPlus, qui permet de tester en commandant manuellement les moteurs et de changer les variables comme par exemple son identifiant. Etant donné du retard que nous avons pris, nous nous sommes fixés un objectif intermédiaire, inspiré de la [https://www.linkedin.com/posts/wevolver_the-ping-pong-bouncer-uses-computer-vision-activity-7004513848212824064-49JB/?utm_source=share&utm_medium=member_desktop vidéo] que M. Lakhal nous a envoyé qui est de garder la balle stable sur un seul axe. |
===Séance du 15 Décembre=== | ===Séance du 15 Décembre=== | ||
='''Bilan'''= | ='''Bilan'''= |
Version du 1 janvier 2023 à 19:09
Résumé
Cette page est dédiée au groupe travaillant sur le labyrinthe automatique dans le cadre des projets IMA3/IMA4.
Présentation générale
Groupe
Nous sommes quatre étudiants en Systèmes Embarqués :
- Romain Pouillard
- Hugo Legendre
- Antoine Vion
- Dann Rodenburg (a rejoint le projet au début du Semestre 7)
Contexte
Initialement, nous travaillions sur une autre thématique de projet, qui était la Vanne Piézoélectrique. C'est après avoir rencontré plusieurs problèmes pendant l'avancement de notre projet, que nous nous sommes résolus à changer de sujet pour le labyrinthe automatique. Pour réaliser notre projet, nous avons récupéré la base d'un ancien projet IMA traitant un sujet similaire à celui-ci.
Il est intéressant de chercher à résoudre un labyrinthe. En effet, il est courant de rencontrer des situations qui se rapprochent d'un labyrinthe, telles que ne pas se retrouver sur le plan d'une ville ou d'un bâtiment. Or, la résolution d'un labyrinthe est un cas complexe qui peut vite devenir un casse-tête.
Objectif
Notre objectif est d'améliorer le fonctionnement de la maquette que nous avons récupéré. Il s'avère que le projet que nous avons récupéré n'est pas complètement opérationnel et qu'il ait besoin que nous retravaillons la partie mécanique et la partie informatique du projet. La finalité est d'avoir un labyrinthe plus complexe, capable d'amener la balle au point d'arrivé quelque soit le point de départ.
Description
Fonctionnement
Une balle est placée dans le labyrinthe : peut importe sa position de départ, le système doit être capable d'amener la balle jusqu'à la sortie. Une fois la balle arrivée à la sortie, le système stabilise la balle à ce point. Pour faire rouler la balle, le plateau pivote sur deux axes différents.
Le labyrinthe
Le labyrinthe est représenté par une planche en bois, sur laquelle sont collés des murs en bois. C'est sur ce plateau que se déplace la balle.
Les servomoteurs
Le montage est composé de deux servomoteurs AX-12. Chaque moteur est relié au labyrinthe via une tige en métal, ce qui permet de faire basculer le labyrinthe sur deux axes différents. C'est donc avec ces moteurs que nous faisons bouger la balle.
La caméra
Au dessus du plateau du labyrinthe, on retrouve une caméra Pixycam qui filme le labyrinthe. Elle est capable de détecter la balle et les murs, grâce à une sélection de couleur. Par exemple, la balle étant bleue, la caméra associe chaque pixel bleu à la balle.
La carte
Les servomoteurs et la caméra sont reliés à la carte Arduino UNO, sur laquelle se trouve le programme qui contrôle notre système.
Réalisations et résultats
Gestion de projet
Contenu des séances
Les séances dédiées au projet ont repris le 10 Octobre 2022. Lors des deux premières séances, nous avons travaillés sur la Vanne Piézoélectrique.
Séance du 10 Octobre
Nous avons dressé la liste des composants que nous aurions besoin pour notre projet : Un capteur de pression, deux capteurs de débit et deux capteurs de tension. De plus, nous avons commencé à faire des recherches sur les muscles pneumatiques et à regarder quelle carte électronique nous pourrions utiliser.
Séance du 21 Octobre
Nous avons tenté de faire fonctionner un système de 8 vannes avec un module Dspace que M. Lakhal nous a fourni en vue du projet. Cependant, nous avons manqué de données sur les vannes et la simulation sur Matlab était corrompue. De ce fait, nous n'avons pas été en mesure de contrôler les vannes.
Séance du 28 Octobre
Après avoir passé la majorité de la séance à essayer de faire fonctionner le module Dspace, nous avons cherché une autre alternative pour notre projet : Par manque de temps et de moyens, notre encadrant nous a proposé de changer de projet pour travailler sur le labyrinthe autonome. Nous avons utilisé le reste du temps de la séance à prendre en main notre nouveau projet. Pour répartir au mieux les tâches pour le projet, on a formé deux binômes : l'un formé de Romain et Antoine qui vont s'occuper de la partie mécanique, de l'amélioration du labyrinthe et l'autre formé de Dann et Hugo qui vont écrire le programme du labyrinthe.
Séance du 18 Novembre
Nous nous sommes intéressés au fonctionnement de la caméra Pixycam. Pour avoir accès à la vidéo et aux paramètres de la caméra, nous avons utilisé le logiciel Piximon. Grâce à ce logiciel, nous avons défini plusieurs groupes de couleurs : tous les pixels bleus sont associés à la caméra, et en tant que simple test, du rose pour détecter un mur. On a pris conscience qu'il faudra prendre des couleurs bien distinctes pour bien différencier les différentes parties du labyrinthe. Ensuite, on a lancé le programme présent sur la carte du projet. Pendant l'exécution du programme, la caméra détecte la position de la balle et l'envoie à la carte via une liaison série. En parallèle, nous avons commencé à réfléchir à d'autres moyens pour remplacer la colle qui fixe tous les éléments du montage, dans le but de le rendre plus esthétique et plus robuste.
Séance du 21 Novembre
Pendant cette séance, nous avons étudié le code déjà existant dans la carte. On a remarqué que l'un des servomoteurs ne répondait pas, il s'agissait en fait d'une erreur de port. Puis, on a défini la direction et le sens des axes sur lesquels la balle se déplace. Après cela, on a souligné la nécessité d'initialiser le système de coordonnées du labyrinthe. En effet, si le plateau n'est pas initialement droit ou si la caméra a bougé (ce cas est assez fréquent car la fixation de la caméra n'est pas solide).
Séance du 25 Novembre
L'objectif de cette séance est de comprendre comment commander les servomoteurs avec la librairie DynamixelSerial. Avec la commande moveSpeed(), on peut commander les moteurs en renseignant la position angulaire cible et la vitesse à laquelle le moteur va tourner. Cette commande est intéressante car elle permet de commander un moteur en sélectionnant son identifiant. Cependant, nous n'avons pas réussi à faire fonctionner les deux moteurs en même temps. Lorsque l'on disait aux deux moteurs, d'identifiant 1 et 2, de tourner, seul le moteur 2 répondait. D'un autre côté, on a pensé à remplacer le plateau en bois du labyrinthe par du plexiglas.
Séance du 28 Novembre
Nous avons élaboré les plans d'un nouveau labyrinthe, pour pouvoir ensuite le couper à la découpeuse laser. Cette version du labyrinthe sera plus compliquée que celle que l'on a récupérée. Puis on a résolu le problème avec les servomoteurs de la séance précédente : il s'agissait d'un câble liant l'un des moteurs à la carte qui était défectueux. Contrairement à ce que nous pensions, cela n'était pas dû à un problème provenant du servomoteur, car nous avons emprunté un autre servomoteur et nous étions confronté au même problème. Nous avons donc récupéré un autre câble pour régler le problème.
Séance du 8 Décembre
Ayant encadré le projet que nous avons récupéré, M. Conrard nous a proposé de nous encadrer pour notre projet. Il nous a montré le logiciel RoboPlus, qui permet de tester en commandant manuellement les moteurs et de changer les variables comme par exemple son identifiant. Etant donné du retard que nous avons pris, nous nous sommes fixés un objectif intermédiaire, inspiré de la vidéo que M. Lakhal nous a envoyé qui est de garder la balle stable sur un seul axe.