Cours:SaeEvitementObstacles : Différence entre versions

De troyesGEII
Aller à : navigation, rechercher
(centraliser/traiter les informations)
(Ressources)
 
(42 révisions intermédiaires par 2 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
  
 
{{Cours:EvaluationSaeS4}}
 
{{Cours:EvaluationSaeS4}}
 +
 +
  
 
=Travail à réaliser=
 
=Travail à réaliser=
  
 
==1ère partie (2 semaines à l'iut)==
 
==1ère partie (2 semaines à l'iut)==
*travail individuel
+
*Travail individuel
*création d'une fonction :
+
*Création d'une fonction :
**qui comporte un µcontrôleur
+
** Réalisation d'un prototype ( plaque lab, plaque pastillée, fils volants avec carte µ type arduino ...)
**qui respecte un cahier des charges listant les e/s
+
***qui comporte un µcontrôleur
**finalisation des pcbs pour le {{Rouge|mercredi 17/04}}
+
***qui respecte un cahier des charges listant les e/s
**finalisation du programme pour le {{Rouge|vendredi 19/04}}
+
***finalisation du programme pour le {{Rouge|vendredi 19/04}}
*création d'un banc de test
+
**Réalisation d'une version "propre" sur KiCad
 +
***finalisation des pcbs pour le {{Rouge|mercredi 17/04}}
 +
*Création d'un banc de test
 
**à finaliser pour le {{Rouge|lundi 13/05}}
 
**à finaliser pour le {{Rouge|lundi 13/05}}
 
**qui permettra de valider :
 
**qui permettra de valider :
Ligne 20 : Ligne 24 :
 
==2ème partie (1 semaine à l'iut)==
 
==2ème partie (1 semaine à l'iut)==
  
*travail en binôme
+
*Travail en binôme
*réalisation d'un robot répondant au cahier des charges de la coupe de robotique GEII pour les BUT2
+
*Réalisation d'un robot répondant au cahier des charges de la coupe de robotique GEII pour les BUT2
 +
**Assemblage matériel : mécanique et électronique
 +
**Programmation carte traitement mission
 +
*Schéma synoptique de l'assemblage : [[Media:synoptique_sae_s4_p24.pdf| synoptique]]
  
=les différentes fonctions=
+
=Les différentes fonctions=
  
==conception d'une balise==
+
==Balise émettrice - signaler la position de la destination==
  
*entrées :
+
*Entrées :
**choisir parmi 4 fréquences
+
**Choisir parmi 4 fréquences ( 12kHz 20kHz, 28kHz et 36kHz)
**choisir parmi 4 couleurs
+
**Choisir parmi 4 couleurs
**réseau électrique
+
**Réseau électrique
*sorties :
+
*Sorties :
**générer une lumière infrarouge
+
**Générer une lumière infrarouge
***leds infrarouge : [https://fr.farnell.com/osram-opto-semiconductors/sfh-4045n/emetteur-infrarouge-950-nm-cms/dp/2981752 SFH 4045N]
+
***Leds infrarouge : [https://fr.farnell.com/osram-opto-semiconductors/sfh-4045n/emetteur-infrarouge-950-nm-cms/dp/2981752 SFH 4045N]
***visible sur tout le terrain
+
***Visible sur tout le terrain
***signal pulsé
+
***Signal pulsé
**générer une lumière visible
+
**Générer une lumière visible
 
***dont la couleur sera adaptée à la caméra Pixy
 
***dont la couleur sera adaptée à la caméra Pixy
 
***visible au minimum à 3m
 
***visible au minimum à 3m
*contraintes :
+
*Contraintes :
**dimensions de la balise maximales : cube de 20cm
+
**dimensions maximales de la balise : cube de 20cm
 
**utilisera un µcontrôleur {{Rouge|attiny2313}}
 
**utilisera un µcontrôleur {{Rouge|attiny2313}}
  
==se diriger vers la cible par IR et magnétomètre==
+
==Balise réceptrice - Repérer la destination par IR et magnétomètre==
*entrées :
+
*Entrées :
**lumière infrarouge
+
**Lumière infrarouge
***photodiode : [https://fr.farnell.com/osram-opto-semiconductors/sfh-2500-fa-z/photodiode-900nm-broches-radiales/dp/2981711?ost=2981711 SFH 2500 FA-Z]
+
***Photodiode : [https://fr.farnell.com/osram-opto-semiconductors/sfh-2500-fa-z/photodiode-900nm-broches-radiales/dp/2981711?ost=2981711 SFH 2500 FA-Z]
**entrée analogique réglable (potentiomètre)
+
**Entrée analogique réglable (potentiomètre)
 
**IMU 9 axes mpu9250
 
**IMU 9 axes mpu9250
*sorties :
+
*Sorties :
**liaison série
+
**Liaison série
 
***vitesse 250000 bauds
 
***vitesse 250000 bauds
 
***9 bits de données
 
***9 bits de données
 
***1 octet envoyé : nombre signé
 
***1 octet envoyé : nombre signé
 
***valeur envoyée : angle de rotation pour être dans l'axe de la balise
 
***valeur envoyée : angle de rotation pour être dans l'axe de la balise
*contraintes :
+
*Contraintes :
 
**connecteur molex 4 broches (+5v,gnd,tx,rx)
 
**connecteur molex 4 broches (+5v,gnd,tx,rx)
 
**un µcontrôleur {{Rouge|atmega328p}}
 
**un µcontrôleur {{Rouge|atmega328p}}
 +
**le récepteur IR ne devra être sensible qu'à la fréquence sélectionnée par la balise
 +
**il faudra pouvoir régler la fréquence sur 12kHz, 20kHz, 28kHz ou 36kHz
  
 
==Eviter les obstacles==
 
==Eviter les obstacles==
( à vérifier/compléter )
+
 
 
*Entrées : détection obstacle /mesure distance obstacle par plusieurs capteurs
 
*Entrées : détection obstacle /mesure distance obstacle par plusieurs capteurs
**Informations binaires : présence obstacle TOR
+
**Informations binaires : 4 présence obstacle TOR ( lidar [https://www.pololu.com/product/4050 pololu] )
**Bus I2c : mesures de distances ( VL53L1X ou équivalent )
+
**Bus I2c : 3 mesures de distances ( lidar VL53L1X )
 
*Sorties :
 
*Sorties :
 
**liaison série
 
**liaison série
 
***vitesse 250000 bauds
 
***vitesse 250000 bauds
***9 bits de données
+
***8 bits de données
***1 octet envoyé : nombre signé
+
***trames de 6 octets avec dans l'ordre
***informations transmises : présence obstacle , direction/orientation obstacle et distance mesurée
+
****1 octet pour début de trame : {{Rouge|$}}
 +
****1 octet capteurs tor (4 bits de poids faible)
 +
****3 octets lidar : distance en cm (valeur max 255 !)
 +
****1 octet pour fin de trame : {{Rouge|*}}
 
*Contraintes :
 
*Contraintes :
**choisir le nombre et le positionnement/orientation des capteurs
+
**Choisir le nombre et le positionnement/orientation des capteurs
 
**connecteur molex 4 broches (+5v,gnd,tx,rx)
 
**connecteur molex 4 broches (+5v,gnd,tx,rx)
 
**un µcontrôleur {{Rouge|atmega328p}}
 
**un µcontrôleur {{Rouge|atmega328p}}
 +
 +
==Commander les moteurs==
 +
*Entrées :
 +
**Alimentation 12V : puissance pour moteurs ( cartes cytron md13s)
 +
**Informations binaires :
 +
***Pulsation roues motrices ( 2x2 capteurs réflectifs - vcnt2020 ou autre )
 +
**Liaison série #1 : ordre vitesse de croisière en translation et rotation
 +
***vitesse 250000 bauds
 +
***8 bits de données
 +
***4 octets reçus
 +
****1 octet de début de trame : $
 +
****1 octet valeur de wr ( entre -100 et 100)
 +
****1 octet valeur de Vt ( entre -100 et 100)
 +
****1 octet de fin de trame : *
 +
*Sorties :
 +
**Commande moteur : rampe d'accélération jusque vitesse de croisière
 +
***PWM Moteurs gauche et droite
 +
***Directions Moteurs gauche et drotie
 +
**Liaison série #1 : mesure/calcul position par odométrie
 +
**liaison série
 +
 +
*Contraintes :
 +
**connecteur molex 4 broches (+5v,gnd,tx,rx)
 +
**un µcontrôleur {{Rouge|atTiny841}}
  
 
==Centraliser/traiter les informations==
 
==Centraliser/traiter les informations==
( à vérifier/compléter )
+
 
*Entrées : collecte d'informations brutes et pré-traitées
+
*Entrées : collecte d'informations/signaux brutes et pré-traitées
**Alimentation par batterie  
+
**Alimentation par batterie 12V LiPo
 
**Informations binaires :  
 
**Informations binaires :  
*** lancement robot
+
*** Lancement de la mission du robot ( fils à tirer )
*** détection ligne blanche au sol ( cpateur CNY70 ou module QR1113 )
+
*** Détection ligne blanche au sol ( capteur CNY70 ou module QR1113 )
**Liaison série #1 : carte balise réceptrice
+
**Liaison série #1 : carte balise réceptrice - repérage destination
***indication direction balise ( à gauche, à droite, en face - TOR ou proportion )   
+
***indication direction destination/balise émettrice ( à gauche, à droite, en face - TOR ou proportionnelle )   
 
**Liaison série #2 : carte détection obstacle
 
**Liaison série #2 : carte détection obstacle
**Liaison série #4 : Module XBEE ( téléversement programme sans fils )
+
*** Indication présence obstacle ( TOR et/ou distance )
*** indication présence obstacle ( TOR et/ou distance )
+
*** Indication de position/direction de l'obstacle  
*** indication de position/direction de l'obstacle  
+
**Liaison série #3 : Module XBEE ( téléversement programme sans fils )
**Bus I2c : informations balise Eméttrice en lumière visible via caméra Pixy  
+
**Liaison série #4 : carte commande moteurs  Retour position
 +
***Position robot par odométrie, le cas échéant
 +
**Bus I2c : informations balise Emettrice en lumière visible via caméra Pixy  
 
*Sorties :
 
*Sorties :
**Indicateur tension batterie faible
+
**Indicateurs tension batterie : normale, faible, très faible
**Affichage informations LCD 2x16( application et/ou développement ) ?
+
**Affichage informations : LCD 2x16( application et/ou développement )
 
**Liaison série #4 : commande moteurs
 
**Liaison série #4 : commande moteurs
 
*** vitesse translation
 
*** vitesse translation
 
*** vitesse rotation
 
*** vitesse rotation
 
**PWM et TOR : perçage ballon
 
**PWM et TOR : perçage ballon
**liaison série
 
***vitesse 250000 bauds
 
***9 bits de données
 
***1 octet envoyé : nombre signé
 
***informations transmises : présence obstacle , direction/orientation obstacle et distance mesurée
 
 
*Contraintes :
 
*Contraintes :
**choisir le nombre et le positionnement/orientation des capteurs
 
**connecteur molex 4 broches (+5v,gnd,tx,rx)
 
 
**un µcontrôleur {{Rouge|atmega2560}}
 
**un µcontrôleur {{Rouge|atmega2560}}
  
==commander les moteurs==
+
=Ressources=
 +
 
 +
*vérifier la "programmabilité" du µcontroleur :
 +
**dans un terminal
 +
**avrdude -c usbasp -p nomDuMicro
 +
**ex : avrdude -c usbasp -p t2313
 +
**ex : avrdude -c usbasp -p m328p
 +
 
 +
*modification des fusibles pour choisir fréquence d'horloge:
 +
**pour les atmega328p, dans le logiciel graver le bootloader
 +
**pour les attiny (utiliser '''arduino v1''' !! ) :
 +
***installer attinycore : https://github.com/SpenceKonde/ATTinyCore/blob/v2.0.0-devThis-is-the-head-submit-PRs-against-this/Installation.md
 +
***choisir le bon microcontroleur et la bonne source d'horloge
 +
***graver la séquence d'initialisation
 +
**pour les atmega2560, attention il faut modifier les fusibles par rapport au bootloader arduino :
 +
***dans un terminal
 +
***avrdude -v -patmega2560 -cusbasp -e -Ulock:w:0x3F:m -Uefuse:w:0xFD:m -Uhfuse:w:0xD9:m -Ulfuse:w:0xFF:m
 +
 
 +
 
 +
 
  
=Ressources=
 
 
*http://raphael.candelier.fr/?blog=XL_320
 
*http://raphael.candelier.fr/?blog=XL_320

Version actuelle datée du 14 mai 2024 à 14:21

Modalités d'évaluation

1 soutenance

  • Vendredi 17/05 matin
    • 20 minutes de présentation
    • 10 minutes de questions
  • Présentation(introduction) de chaque "partie" en anglais

1 dossier

  • Analyse fonctionnelle
  • Nomenclature
  • Chiffrage
  • Etude détaillée de chaque fonction
  • Schémas électriques/algorithmes/simulations/courbes caractéristiques/fonctions de transfert ...

Démonstration(s)

  • Démonstration du fonctionnement le 12/05 à 12h
  • Participation au festival de robotique à Cachan

Note de résultat - Evaluation travaux de SAE

  • Groupe : accomplissement du projet
  • Individuelle : en fonction de
    • Difficulté technique
    • Quantité de travail
    • Qualité de la réalisation
    • Investissement : évalué chaque jour

Réalisation d'une vidéo

Vidéo à réaliser pour le concours EEA :

https://clubeea.com/concours-mon-projet-en-5-minutes/


Travail à réaliser

1ère partie (2 semaines à l'iut)

  • Travail individuel
  • Création d'une fonction :
    • Réalisation d'un prototype ( plaque lab, plaque pastillée, fils volants avec carte µ type arduino ...)
      • qui comporte un µcontrôleur
      • qui respecte un cahier des charges listant les e/s
      • finalisation du programme pour le vendredi 19/04
    • Réalisation d'une version "propre" sur KiCad
      • finalisation des pcbs pour le mercredi 17/04
  • Création d'un banc de test
    • à finaliser pour le lundi 13/05
    • qui permettra de valider :
      • les cartes utilisées ( ex : lidar, capteur de ligne ...)
      • simulera les entrées et vérifiera les valeurs des sorties
    • qui donnera des pistes pour réparer

2ème partie (1 semaine à l'iut)

  • Travail en binôme
  • Réalisation d'un robot répondant au cahier des charges de la coupe de robotique GEII pour les BUT2
    • Assemblage matériel : mécanique et électronique
    • Programmation carte traitement mission
  • Schéma synoptique de l'assemblage : synoptique

Les différentes fonctions

Balise émettrice - signaler la position de la destination

  • Entrées :
    • Choisir parmi 4 fréquences ( 12kHz 20kHz, 28kHz et 36kHz)
    • Choisir parmi 4 couleurs
    • Réseau électrique
  • Sorties :
    • Générer une lumière infrarouge
      • Leds infrarouge : SFH 4045N
      • Visible sur tout le terrain
      • Signal pulsé
    • Générer une lumière visible
      • dont la couleur sera adaptée à la caméra Pixy
      • visible au minimum à 3m
  • Contraintes :
    • dimensions maximales de la balise : cube de 20cm
    • utilisera un µcontrôleur attiny2313

Balise réceptrice - Repérer la destination par IR et magnétomètre

  • Entrées :
    • Lumière infrarouge
    • Entrée analogique réglable (potentiomètre)
    • IMU 9 axes mpu9250
  • Sorties :
    • Liaison série
      • vitesse 250000 bauds
      • 9 bits de données
      • 1 octet envoyé : nombre signé
      • valeur envoyée : angle de rotation pour être dans l'axe de la balise
  • Contraintes :
    • connecteur molex 4 broches (+5v,gnd,tx,rx)
    • un µcontrôleur atmega328p
    • le récepteur IR ne devra être sensible qu'à la fréquence sélectionnée par la balise
    • il faudra pouvoir régler la fréquence sur 12kHz, 20kHz, 28kHz ou 36kHz

Eviter les obstacles

  • Entrées : détection obstacle /mesure distance obstacle par plusieurs capteurs
    • Informations binaires : 4 présence obstacle TOR ( lidar pololu )
    • Bus I2c : 3 mesures de distances ( lidar VL53L1X )
  • Sorties :
    • liaison série
      • vitesse 250000 bauds
      • 8 bits de données
      • trames de 6 octets avec dans l'ordre
        • 1 octet pour début de trame : $
        • 1 octet capteurs tor (4 bits de poids faible)
        • 3 octets lidar : distance en cm (valeur max 255 !)
        • 1 octet pour fin de trame : *
  • Contraintes :
    • Choisir le nombre et le positionnement/orientation des capteurs
    • connecteur molex 4 broches (+5v,gnd,tx,rx)
    • un µcontrôleur atmega328p

Commander les moteurs

  • Entrées :
    • Alimentation 12V : puissance pour moteurs ( cartes cytron md13s)
    • Informations binaires :
      • Pulsation roues motrices ( 2x2 capteurs réflectifs - vcnt2020 ou autre )
    • Liaison série #1 : ordre vitesse de croisière en translation et rotation
      • vitesse 250000 bauds
      • 8 bits de données
      • 4 octets reçus
        • 1 octet de début de trame : $
        • 1 octet valeur de wr ( entre -100 et 100)
        • 1 octet valeur de Vt ( entre -100 et 100)
        • 1 octet de fin de trame : *
  • Sorties :
    • Commande moteur : rampe d'accélération jusque vitesse de croisière
      • PWM Moteurs gauche et droite
      • Directions Moteurs gauche et drotie
    • Liaison série #1 : mesure/calcul position par odométrie
    • liaison série
  • Contraintes :
    • connecteur molex 4 broches (+5v,gnd,tx,rx)
    • un µcontrôleur atTiny841

Centraliser/traiter les informations

  • Entrées : collecte d'informations/signaux brutes et pré-traitées
    • Alimentation par batterie 12V LiPo
    • Informations binaires :
      • Lancement de la mission du robot ( fils à tirer )
      • Détection ligne blanche au sol ( capteur CNY70 ou module QR1113 )
    • Liaison série #1 : carte balise réceptrice - repérage destination
      • indication direction destination/balise émettrice ( à gauche, à droite, en face - TOR ou proportionnelle )
    • Liaison série #2 : carte détection obstacle
      • Indication présence obstacle ( TOR et/ou distance )
      • Indication de position/direction de l'obstacle
    • Liaison série #3 : Module XBEE ( téléversement programme sans fils )
    • Liaison série #4 : carte commande moteurs Retour position
      • Position robot par odométrie, le cas échéant
    • Bus I2c : informations balise Emettrice en lumière visible via caméra Pixy
  • Sorties :
    • Indicateurs tension batterie : normale, faible, très faible
    • Affichage informations : LCD 2x16( application et/ou développement )
    • Liaison série #4 : commande moteurs
      • vitesse translation
      • vitesse rotation
    • PWM et TOR : perçage ballon
  • Contraintes :
    • un µcontrôleur atmega2560

Ressources

  • vérifier la "programmabilité" du µcontroleur :
    • dans un terminal
    • avrdude -c usbasp -p nomDuMicro
    • ex : avrdude -c usbasp -p t2313
    • ex : avrdude -c usbasp -p m328p
  • modification des fusibles pour choisir fréquence d'horloge: