IMA3/IMA4 2018/2020 P5 : Différence entre versions

De Wiki de Projets IMA
(Tâches à effectuer cette année)
(Objectif et règlement de la coupe de France de robotique 2020)
Ligne 357 : Ligne 357 :
 
==Objectif et règlement de la coupe de France de robotique 2020 ==
 
==Objectif et règlement de la coupe de France de robotique 2020 ==
  
Le règlement complet de la coupe de France de robotique 2020 :
+
Le règlement complet de la coupe de France de robotique 2020 se trouve ci-dessous.
  
 
[[fichier:cdf2020.pdf]]
 
[[fichier:cdf2020.pdf]]

Version du 3 janvier 2020 à 19:14

Sommaire


Présentation générale

Git du projet : https://archives.plil.fr/pgautrea/CDFR_2020.git

Vidéo de présentation: https://drive.google.com/file/d/1VKVaFjUyWxPFNAm0rAdbfV4Y_LRRJ-xu/view?usp=sharing

Description

Dans le cadre de l'association Robotech, qui souhaite participer à la coupe de France de robotique, nous allons construire le robot secondaire qui devra accomplir plusieurs tâche partagées avec le robot primaire.

Afin de mener à bien ce projet, différentes parties complémentaires devront être réalisées :

  • La partie électrique : Gestion de l’alimentation du robot à partir de batteries (24V), conversion de tension (DC/DC) afin d’alimenter les différentes cartes présentes sur le robot (Raspberry, Arduino, FPGA, ...) et de fournir la puissance nécessaire aux différents actionneurs (moteurs, servos, vérins, ...). La gestion du câblage (placement des chemins, dimensionnement des câbles) ainsi que la conception des différents PCB devront faire l’objet d’une attention particulière.
  • La partie informatique : Afin de se repérer dans son environnement (piste imposée par le cahier des charges) le robot devra être capable d'interagir avec différents capteurs (gyroscope, roues codeuses, ...). Cependant afin de réaliser certaines contraintes du cahier des charges, un système de reconnaissance de couleurs devra être mis en place. Afin d’assembler le tracking de la position du robot et la détection de couleurs, la piste du traitement d’image réalisée via une caméra Pixie est envisagée.
  • Partie commune : Afin de faire communiquer les parties informatiques et électriques entre elles (ainsi que les différentes sous-parties ; modules Arduinos qui traiteront des tâches précises du CdC), la mise en place d’une communication série sera nécessaire. Il sera nécessaire de réfléchir à la mise en place d’un protocole permettant de limiter le nombres de câbles présents sur le robots (protocole SPI par exemple).

Dimensions1.png

Dimensions2.png

Objectifs

Chaque année le club Robotech Lille participe à la Coupe de France de Robotique(qualification des équipes françaises à l’Eurobot). L’objectif est de concevoir, fabriquer et programmer un ou deux robots qui doivent réaliser une suite de tâches décrites dans le cahier des charges, dans un temps donné d'environ 1min30.

Pour la fin de l'année, notre robot devra avancer de manière linéaire tout en évitant toute collision avec l'environnement. Nous devrons laisser de la place dans le châssis pour permettre l'ajout de modules qui permettrons de répondre aux attentes du règlement de la coupe de France de robotique 2020 disponible en octobre 2020. Plus précisément, il nous faudra réaliser l'asservissement PID du robot, et son repérage dans l'espace grâce à des balises infrarouges.

A terme, nous devrons donc construire les modules (que l'on rajoutera sur le robot) permettant de participer à la coupe de France. Les objectifs et la stratégie spécifique à cette partie serons définis à la sortie du règlement.

Analyse du projet

Positionnement par rapport à l'existant

Il existe des robots autonomes très complexes de toute sortes, mais ici, nous devons répondre à un besoin très précis. Les règles sont fixées par le règlement de la coupe de France de robotique. Nous ne pouvons donc pas vraiment nous positionner par rapport a d'autres robots existant puisque les règles de la coupe changent chaque année.

Analyse du premier concurrent

Robot gagnant de la précédente édition :

Robotech Legends (Polytech Montpellier)

Concurent1.png

Analyse du second concurrent

Deuxième concurrent de l'année dernière :

ESEO Angers

Concurent2.png

Scénario d'usage du produit ou du concept envisagé

On place notre robot sur le plateau de jeu. Au top départ, il s'élance le plus vite possible pour marquer des points, il dispose d'1min30.

5' : il longe les bords du plateau, en se localisant grâce aux trois balises laser disposés sur les bords.

20': il détecte un obstacle et l'évite.

Réponse à la question difficile

Comment réaliser un robot secondaire pouvant participer à la coupe de France de robotique avec les moyens et le temps limités à notre disposition?

Pour cela, tout d'abord nous avons décider de nous regrouper pour faire un seul robot pour tout le groupe de projet plutôt que deux à cause de la limite de temps. Ensuite, pour le matériel, normalement nous devrions récupérer des composants des anciens robots de Robotech. De plus, à Robotech, il y a un projet d'arduino 12V, de ce fait nous pourrons être en mesure de l'utiliser.

Bibliographie et webographie

Préparation du projet

Cahier des charges du groupe

Fichier:Cdc cdfr2020.pdf

Cahier des charges des équipes

Equipe 1

Equipe 1: Chaine d'energie ( Jerem & Pierre )

  • Batteries
  • Moteurs
  • Déplacement
  • Actionnement // Octobre

Equipe 2

Equipe 2: Chaine d'information ( Maxime & Raphael )

  • Capteurs & Balises
  • Communication(Avec Environnement, avec adversaire, avec 2nd Robot)
  • Carte Controleur
  • Stratégie // Octobre

Choix techniques : matériel et logiciel

Equipe 1

  • Moteur: faulhaber schönaich 3557k024cs-118

https://www.glockenankermotor.com/DE_3557_CS_DFF(8).pdf?XTCsid=bbe4ac3ca5a2cab7d9e7bfd2e131bc29

   Tension nominale de 24V 
   Puissance de 25.4 W
  • Encodeur: HEDS-5500

Fichier:Datasheet encodeur.pdf

   1485 tics/tour de roue
  • Arduino Uno
   Nombre de ports suffisants pour l'instant

Equipe 2

  • Capteur de distance ultrason Arduino
  • Capteur de distance infrarouge: Sharp GP2D120
  • Arduino Uno
  • Contrôleur moteur: L298N

Fichier:Jhassenf data ctrl mot.pdf

Liste des tâches à effectuer

Equipe 1

Trouver une batterie adaptée (Fait)

Choisir le contrôleur moteur (Fait)

Faire fonctionner le contrôleur moteur (Fait)

Trouver comment fonctionne les encodeurs (Fait)

Trouver la distance parcourue par le robot (Fait)

Asservissement numérique en position (presque fini)

Equipe 2

Faire en sorte de s'arrêter à la vue d'un obstacle (Fait)

Stratégie (A faire l'an prochain en fonction du règlement)

Utiliser le contrôleur moteur pour faire tourner les moteurs (Fait)

Robot secondaire (En cours)

Calendrier prévisionnel

Le calendrier prévisionnel peut se concrétiser sous la forme d'un diagramme de GANTT.

Equipe 1

Equipe 2

Réalisation du Projet

Projet S6

Eventuellement créer des sous-pages par équipe avec le compte-rendu des réunions de groupe sur cette page principale.

Semaine 1

Mise en place du sujet.

Prise de connaissances du sujet trouvé sur le site de l'événement.

On a commencé à réfléchir à une stratégie pour pouvoir concevoir notre robot en fonction de celle-ci.

Forme de la prise probable : Plateau, Ventouse??

En tant que robot secondaire notre priorité est d'aller charger le golden palet ( Celui qui pèse le plus lourd donc celui qui rapporte le plus de points).

Voir avec le groupe d'IMA 4 pour leur arduino 24 V.

Vu la limite de temps et les besoins en matériel, nos deux équipes vont fusionner pour parvenir à achever notre projet dans les temps.

Semaine 4

Mise à jour des objectif: Robotech ne participera pas à la coupe de France de Robotique 2019, mais à celle de 2020. Nous adaptons donc nos objectifs en conséquence

Répartition des tâches.

Recherche des technologies utilisables (balises infrarouges, asservissement PID avec Arduino)

Semaine 5

Début du dimensionnement des moteurs et des batterie.

https://www.technologuepro.com/outils/dimensionnement-moteur.html


Recherche sur le type de capteur pour la localisation

Semaine 6

  • Démontage du châssis du robot pour ne garder que l'essentiel.
  • Recherche des datasheet des moteurs et des encodeurs


Moteurs: faulhaber schönaich 3557k024cs-118

https://www.glockenankermotor.com/DE_3557_CS_DFF(8).pdf?XTCsid=bbe4ac3ca5a2cab7d9e7bfd2e131bc29

Tension nominale : 24V

Puissance de sortie: 25.4W

Rendement max 78%

Vitesse de rotation à vide: 5 500 tr/min

Fichier:Jhassenf data mot.pdf


Encodeur: 1485 ticks par tour.

Fichier:Datasheet encodeur.pdf

Semaine 7

Recherche d'un contrôleur moteur


Fichier:Jhassenf data ctrl mot.pdf

Nouvelle division du travail

On a fait tourner les moteurs:)

Semaine 8

Video explicative du cablâge du contrôleur moteur sur un arduino

Grâce à cette video, nous avons réussi à faire fonctionner le robot en avant et en arrière en faisant varier la vitesse grâce à une MLI (PWM).

Semaine 9

Semaine 10

Nous avons fait des recherches pour le système de balises. Pour celui ci, nous avons quelques pistes comme l'infrarouge ou les ultrasons mais nous devons encore faire des recherches plus approfondies pour choisir un des deux.

Recherches pour faire fonctionner les encodeurs: essai du circuit de la doc : on branche l'encodeur sur une entrée analogique et on regarde la valeur de retour

Semaine 11

INT4 : roue droite en arrière INT3 : roue droite en avant INT1 : roue gauche avant INT2 : roue gauche en arrière

Nous sommes parvenus à obtenir les données de l'encodeur mais aussi a faire avancer, reculer, tourner notre robot pendant un certain temps.

Après avoir compris comment l'encodeur fonctionnait, nous avons décidé de changer d'objectif concernant le repérage dans l'espace de notre robot. En effet, nous allons essayer d'utiliser les encodeur afin que le robot se repère sur la piste grâce aux nombre de pic qu'ils relèvent. Ainsi le système de balise serait utilisé pour l'initialisation de la position initiale le jour J.

Semaine 12

mercredi



Semaine 13

  • Vendredi

Structure du robot: réalisation d'une plaque pour fixer les composants puis perçage et maintient en position par liens Colson. On a réfléchis sur le moyen d'alimenter l'arduino: cela ce fera par 4 piles 1.5 V, le robot sera alimenté par une batterie lithium 14.6 V

Semaine 14

  • Lundi

Câblage de l'arduino Uno:

Pin 1  :

Pin 2  : Channel A roue gauche

Pin 3  : Channel A roue droite

Pin 4  : Channel B roue droite

Pin 5  : ENB = PWM moteur gauche (0->5V)

Pin 6  : INT4 = Roue droite en avant

Pin 7  : INT3 = Roue droite en arrière

Pin 8  : INT2 = Roue gauche en avant

Pin 9  : INT1 = Roue gauche en arrière

Pin 10 : ENA = PWM moteur droit (0->5V)

Pin 11 : ECHO = capteur de distance

Pin 12 : TRIGGER = trigger du capteur de distance

Pin 13 : channel B roue gauche


  • Mardi

Programmation du robot pour qu'il avance de 50cm exactement: on a regarder combien de tics correspondent à un tour de roue. On a trouver 1485 tics par tour de roue.

Connaissant le rayon de la roue, on peut donc trouver la distance parcourue par un tic soit pi*82/1485 (=2*pi*R/nombre de tic pour un tour).

Media:robot_50cm.mp4


  • Mercredi

Début de la tentative d'asservissement PID. Réalisation d'un Dock pour la batterie que l'on fixe sous le robot.

  • Vendredi

Le robot avance presque droit mais parfois dévie vers la gauche Début de la programmation de la rotation. On a peut aussi rentrer un point de coordonnée X,y et le robot le suit jusque là.

  • Samedi

La ligne droite fonctionne: le robot s’arrête bien à la distance rentrée et il roule droit.

Semaine 15

Préparation du rapport et de la présentation. Quelques ajustements du wiki

Courbe rob traj1.png

On a donner une consigne de position au robot et on remarque sur la vidéo que le robot atteint bien la position souhaitée. Vérifie en traçant la courbe de la trajectoire sous excel.

Documents Rendus

Fichier:Rapport projet IMA.pdf

Fichier:Rapport projet P5 Ima3 2018-2019.pdf

Miniature p5 2019-2020.png

Vidéo de présentation (mp4):

https://drive.google.com/file/d/10lw-U7lDu5jlMp4HOucZ4Jg7w4Dk1aII/view?usp=sharing

Vidéo de présentation (ogv):

https://drive.google.com/file/d/1yzcPN3J-es8540Tccmg0FTDwAiSAZvJh/view?usp=sharing

Vidéo de présentation (Mpeg2):

https://drive.google.com/file/d/1VKVaFjUyWxPFNAm0rAdbfV4Y_LRRJ-xu/view?usp=sharing

Vidéo de présentation (Mpeg4):

https://drive.google.com/file/d/1GbeIBVSzEiX2yzwPE4XnQ5GMLDR4uQw3/view?usp=sharing

Projet S7

Lors de cette première partie de l'année, nous avons dû revoir les objectif. En effet, le but de ce projet est toujours de participer à la coupe de France de Robotique, mais de l'édition 2020. Ainsi, puisque les règles de la compétition sont différentes, nous avons dû adapter notre travail à la nouvelle stratégie. Comme l'année dernière, notre projet est en partenariat avec Robotech, le club de Robotique de l'école, club avec lequel nous nous répartissons les Tâches. Nous devons travailler de concert avec eux, nous répartir les tâches pour être le plus efficace possible. Deux de nos membre sont du bureau de Robotech: Maxime (Président) et Jérémie (Respo com), ce qui facilite la communication. Ce projet à donc aussi un côté de management d'équipe, car en effet la plupart des gens de Robotech qui travaillent sur la coupe de France sont de IMA3 ou des PEIP1.

Objectif et règlement de la coupe de France de robotique 2020

Le règlement complet de la coupe de France de robotique 2020 se trouve ci-dessous.

Fichier:Cdf2020.pdf

Aire de jeu cdf 2020.png

Cette année les Robots représenterons de bateaux navigant en haute mer leur but premier sera de ramener des bouées perdus au larg, les objectifs sont listés ci-dessous:

   - Créer des chenaux pour rétablir la circulation maritime.
   - Relever les manches à air qui ont été balayées par la tempête.
   - Allumer le phare pour que les bateaux égarés puissent rentrer au port en toute sécurité.
   - Arriver à bon port, afin de mettre les robots au mouillage, à l’abri du vent, à la fin de leur voyage.
   - Hisser les pavillons pour transmettre des messages aux autres navires.
   - Estimer la performance.
Créer des chenaux
Relever les manches à air
Allumer le phare
Arriver à bon port
Hisser les pavillons
Estimer la performance

Tâches à effectuer cette année

Maintenant que nous avons la base du robot, nous allons devoir faire en sorte que celui-ci réalise les objectifs: nous devons donc réaliser deux parties distinctes: la commande précise du robot et ses actionneurs, pour marquer des points.

Commande du robot

Nous nous sommes rendus compte que la commande du robot ne pourra pas se faire exclusivement par un Arduino. On nous a alors suggérer d'utiliser un Raspberry Pie pour effectuer la partie calcul du robot. C'est à dire le calcul de la trajectoire, de la position, etc. Ce Raspberry sera connecté en série à l'Arduino, ainsi ce dernier pourra de façon précise contrôler les différents moteurs et actionneurs du système.

De plus, par conseil des professeur, nous avons décider que le robot se repérera par traitement d'images, obtenues par une caméra de type Pixie. Cette caméra sera connectée au Raspberry qui fera le traitement d'image pour savoir où le robot doit aller.

Actionneurs

Pour que le robot puisse marquer des points, avancer droit ne suffit pas, celui-ci doit attraper les bouée pour les amener dans leurs zones.

Répartition des Tâches

Diagramme Prévisionnel

Réalisation de chaque Objectif

Dans cette partie, nous expliquerons sommairement comment sera réalisée chaque tâche de la compétition. Les détails des choix techniques seront donnés par la suite.

Actionneurs du robot (Raphaël Bonvalet & Maxime Fontaine)

Dans cette partie, nous verrons comment le robot va pouvoir se saisir des bouées pour marquer des points.

Bras mécanique

Nous avons opter pour un bras mécanique équipé d'une pince au bout de celui-ci pour pouvoir attraper le gobelet.

Le bras sera composé de deux barres réalisées avec une imprimante 3D et Servomoteurs :

Futaba (3.2kg/cm) : https://www.es.co.th/schemetic/pdf/et-servo-s3003.pdf

SG90 (2,5kg/cm) : http://www.ee.ic.ac.uk/pcheung/teaching/DE1_EE/stores/sg90_datasheet.pdf

Hitec HS422(4.1kg/cm) :https://media.digikey.com/pdf/Data%20Sheets/DFRobot%20PDFs/SER0002_Web.pdf

Moteur pas à pas :

Liste de moteurs : https://www.igus.fr/info/drive-technology-motors-overview?gclid=Cj0KCQiAk7TuBRDQARIsAMRrfUavFQZqj6OAls8oMsPrvt0u-6380olboe8HbStIY3V23nZDMWxYzGwaAl07EALw_wcB

La première version du bras a était réalisé en impression 3D afin de vérifier les dimensions du robot mais aussi afin de valider ou non le modèle pensé.

Commande du Robot (Pierre Gautreau & Jérémie Hassenforder)

Le but de cette partie est d'obtenir un robot qui se déplace de manière autonome et qui sache définir son prochain objectif. Dans cette partie, nous verrons:

   - La configuration de la Raspberry Pie
   - La communication de la Raspberry avec l'Arduino
   - Le traitement d'image par Open CV
   - L'asservissement du Robot

Configuration de la Raspberry Pie

Séance 02 Décembre 2019:

Finalisation de la configuration de la Raspberry Pi 3 et de la connexion Ethernet. Nous avons configurer la connexion Ethernet entre la carte et un ordinateur afin de faciliter le téléversement du code du robot lors des tests.

L'archive git va être recrée puisque nous n’arrivons plus à nous connecter à la précédente.

Documents Rendus

Fichier:Commande p5 2019.pdf

Fichier:Devis Actionneur.pdf

Projet S8

Documents Rendus