Train de véhicules
Sommaire
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.
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.
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