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

Liste de matériel

Matériel Quantité requise Quantité disponible A commander Commentaires
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
Arduino Uno 3 3 X
ESP8266 1 1 X
LED IR 4 0 4 X
Phototransistors IR 5x4 0 5x4
Ultrasons SRF04 3 3 X X
Drivers moteurs Pololu TB6612FNG 4 0 4
Boutons poussoirs 4 4 X X
LEDS couleur 20 0 20 Ref ?
Résistances 220 Ohms 10 0 10 Ref ?
Résistances 1 MOhms 10 0 10 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

Travaux Avancement Commentaires
Etude préalable de la communication infrarouge Fait Montages d'émission et de réception déterminés
 émission: Bonne directivité (LEDS IR 130°) et puissance délivrée par Arduino suffisante
 réception: Bonne sensibilité,
 influence relativement importante du bruit IR ambiant, prévoir un "chapeau"
Etude de l'alimentation Fait Deux solutions confrontées:
 Alim 9V (6x1.5V) et linéariseur 6V
 Alim 6V (4x1.5V) directe --> Solution retenue pour sa simplicité. Etude fonctionnelle à prévoir 
Electronique de puissance En cours Utilisation de drivers moteur Pololu TB6612FNG
Montage général A faire
Prise en main de ESP8266 A faire
Programmation Arduino A faire
Programmation ESP8266 A faire

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