Ignorer la navigation

véhicule autonome

Objectifs

Gestion du déplacement autonome d'un véhicule

 

 

Les élèves devront être capables de :

  • de répondre au cahier des charges.
  • de produire un rapport : avec en tête du rapport (explications générales, planning, …),  ensuite les parties techniques (6 à 10 pages par élève) et enfin les annexes
  • de présenter à l'oral (individuellement) leur travail

 

Pièces jointes

TOUTES les ressources (documentations techniques, …) sont disponibles ici ou auprès du professeur

Toutes les documentations ou les informations nécessaires sont fournies. Il n'y a donc pas de recherche à faire sur internet.

Il est donc important de commencer par prendre connaissance de tous les documents fournis.

Le seul site autorisé (et utile) est le site Arduino.

    Thème proposé :
    Il va s'agir de faire parcourir à notre véhicule à chenilles un circuit (une sorte de labyrinthe), inconnu aux élèves, avec interdiction de toucher les bords. Il y aura un seul véhicule à la fois. Le circuit sera constitué de murs (hauteur approximative de 20 cm).

     

    Situation par rapport au projet de terminale :

    Le mini-projet de cette année correspond globalement à la partie « conception détaillée » du projet de terminale. Comme vous pouvez le voir sur l'image ci-dessous, le projet de terminale comporte 6 parties. La partie "avant-projet" a permis de choisir les solutions techniques (matériels, logiciels, …). Vous allez mettre en œuvre ces solutions techniques.


     
    Notation / évaluation:

    Le rapport final donnera lieu à une note ainsi que l’oral de présentation (10' en français et 2' en anglais). Cette note comptera dans votre moyenne d'ETS.



    Durée / organisation / planning:

    Le projet portera sur 8 à 10 séances soit à peu près 30 heures (sans compter le travail à la maison)

    Séance N°1 :

    • TP : La conduite de projet sous gantt  (2H) – découverte du logiciel
    • Découverte de votre projet et élaboration de votre planning sous gantt (2h)

    Autres séances (+ travail à la maison) :

    • Élaboration du projet : étude, calculs, mise en œuvre, simulation, essais et rédaction d’un dossier par groupe.

    Dernière séance :

    • oral de présentation individuel en français (10 min) puis un résumé en anglais (2 à 3 min).

     

    Cahier des charges de la gestion du véhicule (capteurs, programme, essais, …):


    Principe (cahier des charges succinct): votre véhicule sera autonome et devra parcourir automatiquement le circuit proposé, sans toucher les bords du circuit. Le robot sera mis en route et arrêté à l'aide d'un bouton poussoir présent sur le dessus du robot.

     

    Votre étude portera sur :

    • les essais des capteurs proposés : fonctionnement et caractéristiques : mesures, précision, ...
    • la mise en œuvre de votre véhicule autonome (algorigramme, programmation, essais, ...).

     

    Le matériel à votre disposition :

    un arduino Uno ou Mega
    3 capteurs HC-SR04
    un véhicule RP5 + ardumoto :
    un afficheur lcd (commande i2c ou parallèle suivant le modèle)
    du matériel électronique : leds, résistances, BP ….

     

     

    Pour vous aider, voici quelques informations complémentaires et une proposition d'organisation du travail en différentes étapes:

    Quelques remarques préliminaires:

    • la rédaction du rapport se fait au fur et à mesure de l'avancement du mini-projet ( il se fait en parallèle donc et essentiellement à la maison). Une fois qu'une question a été résolue, qu'un élément technique a été essayé et approuvé, il faut l'intégrer au rapport.
    • les professeurs vérifieront l'avancée du projet et la rédaction du rapport au fur et à mesure.
    • la présentation d'un programme informatique (par exemple sur Arduino) sera présenté sous forme d'algorigramme dans le rapport et à l'oral. Seuls de courts extraits "pertinents" peuvent apparaître dans le rapport. Le programme réel sera mis dans les annexes du rapport.
    • les ressources (documentations techniques, …) sont disponibles en haut de la page ou auprès du professeur
    • pour tout problème concernant la programmation Arduino ou le contenu d'une bibliothèque Arduino le seul site de référence fiable est le site Arduino : https://www.arduino.cc/ (par exemple : menu "Learning" puis "Reference" pour les instructions Arduino)


     
    Étape N°1: Essai et test des capteurs

    Elève N°1 : capteurs ultrasons

    Le matériel disponible :

    • 3 capteurs HC-SR04


    Le travail à faire :

    Pour gérer le véhicule correctement, on a besoin de connaître la précision et la fiabilité des capteurs. Pour cela nous allons mettre en œuvre une petite procédure d'essai :

    • Étudiez la documentation du capteur
    • Analysez le programme de test du capteur fourni puis essayez-le avec un capteur.
    • faites une série d'essais (au moins 10 mesures) du capteur en relevant la valeur du capteur et celle fournie par un mètre
    • A partir des notions d'erreur absolue et d'erreur relative (document explicatif fourni) :
      • calculez l'erreur absolue pour chaque mesure.
      • calculez l'erreur relative (en pourcentage) pour chaque mesure.
      • Vous mettrez les résultats (capteur, mesure réelle, erreurs) dans un tableau.
      • Concluez sur la qualité de ce capteur
    • expliquez le principe de fonctionnement du capteur
    • expliquez le programme Arduino



    Elève N°2 : LEDs adressables et écran LCD

    Pour suivre le véhicule et comprendre certaines réactions du programme on va allumer 3 leds et gérer un afficheur LCD.

    Le matériel disponible :

    • 1 écran LCD - DEM 16216 ou 1 écran LCD I2C
    • 3 leds adressables RGB 8mm NeoPixel ADA1734 ou leds adressables RGB 5mm NeoPixel ADA1938



    Le travail à faire :

    Sur l'écran LCD :

    • test et essai de l'écran LCD
    • affichage sur l'écran LCD des distances issues des 3 capteurs ultrasons (variables communes à définir avec l'élève n°1)

    Avec les 3 leds :

    • test et essai des 3 leds (elles sont placées en série car elles sont adressables et donc commandées par une seule sortie Arduino).
    • Explication du fonctionnement des leds adressables
    • Mise en œuvre sur la voiture : chaque led représente la mesure d'un capteur. Quand la mesure est > à 20cm, la led est verte, quand la mesure est comprise entre 10 et 20 cm la led est orange et quand la mesure est inférieure à 10cm la led est rouge

     




    Étape N°2: montage du véhicule

    • prenez un véhicule à chenille, mettez-y une carte Arduino (de préférence une Mega car elle possède plus d'entrées/sorties).
    • câblez les 3 capteurs
             Attention à ne pas utiliser des entrées/sorties utilisées par la carte de commande des moteurs.
    • modifiez le programme précédant pour qu'il gère les 3 capteurs. Vérifiez que les 3 capteurs fonctionnent.
    • Câblez les leds et l'afficheur lcd
    • essayez le programme (lectures des 3 capteurs et affichage du résultats sur l'écran et les leds)



     


    Étape N°3 : Gestion du BP (bouton poussoir)

    Le fonctionnement du bouton poussoir pourrait être simplement :

            
    Quand on appuie sur le BP
    • si on est en marche, on s'arrête
    • si on est à l'arrêt, on met en marche

    On vous rappelle que la fonction LOOP d'arduino, fonction dans laquelle se trouve le programme, se répète sans cesse à une vitesse très grande (quelques microsecondes?).
    Les fonctions delay et delayMicroseconds sont à éviter afin de ne pas bloquer le programme à un endroit.



    Variable à utiliser pour le programme :
    marche_arret :   valeurs  possibles :   0 = arrêt , 1 = marche


    On pourrait imaginer faire le programme suivant (ce n'est qu'une suggestion) :

    Transcrivez cet algorigramme en programme Arduino. Essayez-le (vous devez constater que le programme ne fonctionne pas correctement). Expliquez quel est le problème.

     
    Recherche d'une solution :

    Variable supplémentaire à utiliser pour le programme :
    bp_pris_en_compte :      valeurs  possibles :   0=BP relâché ou nom pris en compte       1 : BP pris en compte


    Cherchez une solution en utilisant la variable bp_pris_en_compte et mettez-la en œuvre (algorigramme + programme arduino).



    Étape N°4 : gestion du déplacement du véhicule


    Variable supplémentaire à utiliser pour le programme :
    ordre_de_marche :    valeurs  possibles: 0=arrêt, 1=marche avant, 2=marche AR, 3 : tourner à droite, 4 : tourner à gauche, …..


    Structure proposée du programme (non obligatoire) :

    Remarque : on a volontairement séparé la fonction de gestion des choix (avec l'affectation de la variable ordre_de_marche) et les actions associées à cette variable ordre_de_marche (du genre : si ordre_de_marche =0 alors arret, si  ordre_de_marche = 1 alors marche_AV, si  ordre_de_marche=3 alors tourne_AV_droite, …). Cela facilitera le débogage.



    Essai N°1 : avance et arrêt du véhicule

    • récupérez le programme de gestion du véhicule fait en TP (série N°2).
    • Intégrez ce programme de gestion du véhicule (programme modifié dans le TP) à votre programme de gestion des capteurs et du bouton poussoir. Normalement, vous avez du créer des fonctions qui vous permettent de gérer le déplacement du véhicule :
      • marche_AV(vitesse)
      • marche_AR(vitesse)
      • arret()
      • tourne_AV_droite ( ……)
      • tourne_AV_gauche (… ..  )
    • Faire un essai simple : un appui sur le BP fait avancer le véhicule. Un autre appui l'arrête.


    Essai N°2 : le programme va gérer un virage à angle droit (on tourne à droite)


    Essai N°3 : le programme va gérer un virage à angle droit (on tourne à gauche)


    Essai N°4 : essais et modifications du programmes pour d'autres situations


    Essai final : essais dans le labyrinthe proposé