Train de véhicules

De Wiki d'activités IMA


Cahier des charges

Présentation générale du projet

L'objectif de ce projet est de développer une douzaine de robots mobiles capables de se suivre afin de former un train de véhicules. Le véhicule de tête sera téléguidé par WiFi, alors que les autres suivront le véhicule de devant de façon autonome.

Les robots seront des robots roulants à deux roues. Le corps du robot sera monté à partir de châssis à bas coût: les 2WD Robot Car chassis.

Texte alternatif
2WD Robot Car Chassis

Ce châssis comprend déjà deux moteurs 6V, deux roues et un support de 4 piles 1.5V. Il faudra ajouter deux odomètres, un driver de puissance pour les moteurs, ainsi qu'un microcontrôleur. Le véhicule de tête sera commandé par un micro-contrôleur avec WiFi intégré de type ESP8266. Les autres par un Arduino Uno. Le véhicule de tête se comportera comme un point d'accès WiFi et implantera un mini-serveur Web pour permettre le contrôle via un smartphone ou un ordinateur.

Chaque véhicule possède un numéro d'identification N, et doit suivre celui de numéro N-1. Pour cela, il doit détecter et identifier un véhicule dans une zone définie. Le véhicule à suivre émet des ondes infrarouges modulées par son numéro d'identification, donc chaque robot émettra à une fréquence différente. Un capteur infrarouge doit être installé à l'avant du robot suiveur afin de récupérer ces informations tandis que l’émetteur IR sera situé à l'arrière du robot. Le suivi se fera à une distance prédéfinie. Le robot suiveur sera équipé d'un capteur ultrason pour asservir sa distance avec le véhicule suivi. Il faudra que l'arrière des véhicules soit bien plan pour que le télémètre ultra-son puisse prendre une mesure fiable.

Un véhicule suiveur doit tourner sur lui-même pour détecter les balises IR. Si une balise est détectée, on tente de l'identifier. S'il s'agit de la bonne balise, on commence la poursuite, sinon on continue à chercher les balises. Tant que la bonne balise est dans le champ de vision, il faut la garder le plus au centre. Plusieurs capteurs IR seront utilisés pour assurer la bonne direction du robot. La vitesse est régulée par rapport à la distance retournée par le télémètre. Nous utiliserons un régulateur PID pour limiter les oscillations en vitesse des robots.

Train de robots

Établissement d'une liste de matériel

Quantité requise Quantité disponible A commander Commentaire
Chassis 2WD 4 4 X Corps + motoreducteurs 6V + roues + odomètres
Piles / batteries 4x4x1.5V ou 4x9V ou 4x6V  ? Voir disponibilités Etudier le plus rentable
Régulateur 6V 4  ? Voir disponibilités Définir nécessité, Input min: 8V
Arduino Uno 3 3 X +1 pour robot de tête ?
ESP8266 1 1 X Vérifier le nombre de GPIOs
LED IR 4 0 4 X
Recepteur IR 5x4 0 5x4 Phototransistor
Ultrasons SRF04 3 3 X X
Drivers moteurs (L298N) 4 4 X Tester sous 6V, sinon utiliser Polulus
Drivers moteurs (Pololu md08a) 4 0 4 Si L298N non fonctionnel
Boutons poussoirs 4 4 X X
Afficheur 7 seg 4 0 4 Ref ?

Calendrier prévisionnel

  • Etudier la partie puissance
    • Source d'énergie: 4 piles 1.5 V + 1 pile 9 V ?
    • Régulateur 6 V pour alim driver moteur
    • Choix du driver moteur
  • Communication infrarouge
    • Circuit d'émission: LED IR + resistance
    • Circuit réception: Phototransistor IR + resistance
    • Portée du signal ?
    • Influence lumière ambiante ?
    • Directionalité du signal émis ? De la détection ? Nombre de récepteurs ? D'emetteurs ?
    • Codes arduino: Utilisation de timers
  • Etude de l'ESP
    • Nombre de GPIOs disponibles
    • Comment coder ?
  • Développement d'un code PID numérique
    • Sur IDE, possibilité de faire une classe PID
    • En code c, une librairie

Avancement du Projet

1: Étude de la communication infrarouge

  • Émission
    • Directivité de l'émission
    • Puissance
  • Réception
    • Directivité de la réception
    • Définition des éléments du montage
    • Schéma de disposition des récepteurs
  • Limites (distance,angle)

2: Étude de l'alimentation et de l'électronique de puissance

  • Besoins moteurs
    • Tension max
  • Choix de la source de tension (piles 4x1.5V ou 9V)
  • Nécessité du linéariseur 6V
  • Choix des hacheurs moteur

3: Montage général

  • Robot de tête
  • Robots de queue

4: Programmation

  • ESP8266
    • Programmation c ou IDE ?
    • Prise en main
  • Application de contrôle
    • Définir un support (Android, iOS, page web, c)
    • Coder!
  • Arduino
    • Affichage ID
    • Communication IR
    • Fréquencemètre numérique
    • Ultrasons SRF04
    • PID moteurs
    • Algo de fonctionnement

Fichiers Rendus