IMA4 2019/2020 P1 : Différence entre versions
(→Choix techniques : matériel) |
(→Choix techniques : matériel) |
||
Ligne 81 : | Ligne 81 : | ||
Pour cela je choisis donc de travailler avec le gyroscope type A3G4250DTR : | Pour cela je choisis donc de travailler avec le gyroscope type A3G4250DTR : | ||
− | [[Fichier:gyroscope_axes.png|450px|orientation des angles du gyroscope]] | + | [[Fichier:gyroscope_axes.png|450px|center|orientation des angles du gyroscope]] |
* tension d'alimentation : 2.4V - 3.6V | * tension d'alimentation : 2.4V - 3.6V | ||
Ligne 91 : | Ligne 91 : | ||
Après lecture de la datasheet, il est plus simple de placer ce composant sur la carte, en effet il est ainsi inscrit toutes les informations nécessaires pour son bon fonctionnement. | Après lecture de la datasheet, il est plus simple de placer ce composant sur la carte, en effet il est ainsi inscrit toutes les informations nécessaires pour son bon fonctionnement. | ||
− | [[Fichier:ATMega328p_32MLF.png|450px|ATMega328p]] | + | [[Fichier:ATMega328p_32MLF.png|450px|center|ATMega328p]] |
==Liste des tâches à effectuer== | ==Liste des tâches à effectuer== |
Version du 5 novembre 2019 à 08:45
Sommaire
Présentation générale
- Projet : Robot Régulé
- Etudiant : Guillaume Declerck
- Encadrant de projet : Xavier Redon, Alexandre Boé, Thomas Vantroys
- Objectif : Afin de valider le module projet de 4ème année, il m'a été donné la possibilité de travailler sur un deuxième projet, j'ai donc choisi le robot régulé.
Description
Ce projet consiste à créer un robot complètement régulé de manière angulaire. En effet, à l'école aucun projet n'a réellement abouti à un système régulé de cette manière. Par conséquent, ce robot sera régulé de deux manières, tout d'abord de manière manuelle en angle d'abord puis la gestion des déplacements) mais également un système de sécurité pour ne pas entrer en collision avec les murs par exemple.
L'objectif de la commande manuelle sera que le système soit entièrement commander avec une nunchuk (télécommande de la console Wii de chez Nintendo). Ses avantages sont qu'elle comporte déjà différents composants intéressants pour la commande du robot. En effet cette télécommande comporte :
- deux boutons distincts
- un joystick
- un accéléromètre 3 axes
Objectifs
L'objectif de ce projet est dans un premier temps de visualiser les erreurs commises par mon prédécesseur et la plupart de ses causes d'échecs afin de ne pas retomber dans ses torts. Ainsi, le robot se doit d'être parfaitement régulé que ce soit dans sa posture ou dans son maintient de trajectoire.
Par la suite, je prévois donc de travailler différents aspects :
- Les différentes cartes du projet :
- le shield de gestion des 2 moteurs
- le shield qui sera le centre de récupération des différents capteurs du robot ( gyroscope, accéléromètre, laser)
- les différentes cartes permettant la communication à distance avec la Nunchuk (type de communication encore à définir)
- Automatisation du projet
Je compte réguler au mieux les moteurs, pour cela je vais gérer leur commande en utilisant des fonctions de transfert qui récupéreront les valeurs des différents capteurs placés sur le robot. (un capteur gyroscopique pour sur). J J'ai également l'idée de placer des lasers sous le robot afin d'évaluer la distance sous le robot (M. Delbroucq avait mis cette idée mais ne l'avait pas installé sur le robot).
Analyse du projet
Suite à mon entretien avec mes tuteurs M. Redon et M. Vantroys, j'ai donc changé d'objectif de projet, en effet il n'était pas spécifié de faire un système de robot de type balancing robot, mais de créer un robot régulé dans le sens de régulation parfaite angulaire.
Préparation du projet
Cahier des charges
Le projet sera abordé sous différents aspects :
- une étude du capteur gyroscopique
- la commande
- le contrôleur moteur et déplacement du robot
- l'alimentation
- les différents capteurs du robot
Le capteur gyroscopique
En général lorsque l'on souhaite commander un robot, par exemple avec un arduino, on tente de modifier la durée de rotation des roues du robot afin d'évaluer la distance parcourue par celle-ci. Ainsi lorsque l'on a un système avec un minimum de 2 roues, on arrive à se faire une idée approximative de la position angulaire du robot. Par contre suite à différents projets que j'ai pu apprécier lors de mes études, j'ai pu remarquer par exemple que lorsqu'on utilise un tel système, il arrive très souvent, lorsque la batterie diminue, de perdre en précision, ainsi la position dans laquelle on se trouve n'est pas celle qui était prévu à l'origine.
Voici donc la raison de l'utilisation d'un capteur gyroscopique qui sera utilisé uniquement autour de l'axe z pour gérer la position autour de l'axe normal du robot par rapport au sol.
Commande
Afin de commander l'ensemble de mon système, j'ai besoin d'un composant me permettant d'entrer un programme permettant de gérer l'ensemble. Je vais faire quelque chose qui se rapproche du système de commande arduino. Je vais donc utiliser le même microprocesseur que celui installé sur les Arduino Uno, le ATMega328. Il est suffisant pour commander le système que je compte fabriquer.
La partie algorithmique sera la dernière chose que je vais effectuer sur ce projet, en effet il est nécessaire que tout le reste soit installer et fonctionnel. Lorsque le système sera OK, je ferais un programme simple afin de voir si toutes les données transites de la bonne manière dans la carte. Enfin je vais terminer un implantant le bon algorithme de gestion du système.
Déplacement du robot
Afin de gérer efficacement le déplacement du robot, il va falloir gérer les différents moteur des roues du robot, c'est pourquoi j'ai besoin de créer une carte qui permet de gérer les différents moteurs que je souhaite utiliser.
Je dois donc encore choisir quel type de moteur je souhaite et combien de roue motorisée mon robot a besoin.
Capteurs installés sur le robot
Afin de réguler au mieux le robot, s'il est en mode automatique (ou même manuel) il faudrait créer un système anti-collision. Tout d'abord avec des capteurs de distance, par la suite peut-être avec d'autres capteurs, c'est encore à définir à ce stade du projet.
Alimentation
Je dois m'occuper également de la partie alimentation du robot sur la carte. Par contre je ne peux définir la quantité d'énergie stockée que je peux avoir besoin sans au préalable avoir l'étude complète du système, c'est pourquoi je vais m'occuper de cette partie à la fin.
Choix techniques : matériel
Etude et choix du capteur gyroscopique
Tout d'abord, je dois ici résumer ce que j'ai besoin de faire avec ce capteur. Un capteur gyroscopique est un composant qui permet de mesurer des vitesses angulaires par rapport aux trois axes de rotation mais également des accélérations sur ces mêmes axes. Je ne souhaite pas prendre en compte tous ces axes mais uniquement une vitesse angulaire, c'est pourquoi je choisis un gyroscope qui ne mesure que la position angulaire.
Pour cela je choisis donc de travailler avec le gyroscope type A3G4250DTR :
- tension d'alimentation : 2.4V - 3.6V
- il est nécessaire de filtrer le gyroscope sur plusieurs de ces pins(fortement sensible au bruit)
Système de commande de l'ensemble
Comme énoncé précédent, pour la partie commande je souhaite utiliser le microprocesseur ATMega328p qui est un microprocesseur standard pour la gestion de ce genre de système. Après lecture de la datasheet, il est plus simple de placer ce composant sur la carte, en effet il est ainsi inscrit toutes les informations nécessaires pour son bon fonctionnement.