Mots-clefs : Véhicule Autonome / Détection d’obstacles / Pilotage autonome / Lidar
- Basée sur un chassis Tamiya Lancia Delta pour parcourir sur un circuit en évitant des obstacles
- Niveau 1 : avec des capteurs de distance / Exemple avec capteur de distance
- Niveau 2 : avec un Lidar RPLidar A8 / Exemple avec Lidar
Objectifs
Des voitures autonomes commencent à voir le jour chez les différents fabricants automobiles. Equipées de différents capteurs (Lidar, caméra, distances…) et de motorisations souvent électriques, elles permettent de se déplacer dans des environnements parfois complexes sans aucune intervention humaine.
L’objectif de ce projet est de piloter une version miniaturisée de voiture autonome, basée sur un châssis de voiture radiocommandée.
Les déplacements de base nécessitent la compréhension des éléments constituants le châssis. L’analyse du monde environnant et le pilotage du véhicule se fait à l’aide de capteurs de distance infrarouge ou ultrason et/ou d’un mini Lidar rotatif.
Matériels
- Chassis Tamiya Lancia Delta composé de :
- 1 moteur à courant continu et d’un système de contrôle spécifique au modélisme, permettant le déplacement du véhicule
- 1 servomoteur permettant la direction
- 1 batterie NiMH – 7.2V / 3000 ou 4000 mAh
- Carte électronique Voiture Autonome
- Capteurs de distance SHARP
- Lidar RPLidar A2M8
Contrôleur de vitesse
- Signal rectangulaire de période 20 ms et de temps haut compris entre 1ms et 2ms
- Point neutre : 1.5ms
- Marche avant de 1.5ms à 2ms (évolution quasi-linéaire)
- Marche arrière de 1.5ms à 1ms (évolution quasi-linéaire)
Servomoteur
- Signal rectangulaire de période 20 ms et de temps haut compris entre 1ms et 2ms
- Point neutre : 1.5ms
- Déplacement angulaire positif entre 0 et 90° de 1.5ms à 2ms (évolution quasi-linéaire)
- Déplacement angulaire positif entre 0 et -90° de 1.5ms à 1ms (évolution quasi-linéaire)
TF Mini Lidar
Bibliothèque de test sous MBED6 : TF Mini Lidar
RPLidar
Un programme de test (sous MBED 5 – MBED Online) est disponible à l’adresse suivante : https://os.mbed.com/users/villemejane/code/ProTIS_Lidar_mbed5/
Ce programme permet d’initialiser le Lidar RP Lidar A2M8 ainsi que la liaison série entre la carte Nucléo et le Lidar. Il permet de faire l’acquisition en continu des distances en fonction de l’angle. Au bout d’un certains nombres de tours, l’angle de la distance maximale trouvée est transmise au PC.
Une seconde version de ce programme est disponible pour MBED 6 et MBED Studio à l’adresse suivante : https://os.mbed.com/users/villemejane/code/ProTIS_Lidar_mbed6/
Carte électronique Voiture Autonome
Une carte spécifique pour les voitures autonomes a été développée.
Cette carte accueille une carte Nucléo L476RG qui permet :
- de piloter la direction de la voiture (par l’intermédiaire d’un servomoteur standard)
- de contrôler la vitesse d’avance (par l’intermédiaire d’un contrôleur de vitesse standard en radiomodélisme)
- de récupérer l’information de 6 capteurs de distance (type SHARP)
- d’utiliser un Lidar de type RPLidar A2M8
- de commander à distance le véhicule à l’aide d’un module Bluetooth HC-05 ou RN42XV
- d’alimenter l’ensemble à partir d’une batterie NiMH de 7.2V (3000 ou 4000 mAh – commun à la puissance du moteur principal)
Il existe deux variantes différentes. Le brochage est décrit dans les document suivants.
Version 1
Un programme de test de la carte est disponible ici : https://lense.institutoptique.fr/ressources/_projets/VoitureAutonome/TestCarte/
Plus d’informations sur la carte à cette adresse : https://lense.institutoptique.fr/mine/carte-pour-voiture-autonome
Version nRF24
Projet Kicad de la carte : https://lense.institutoptique.fr/ressources/_materiel/cartes/voitureAutonome/Kicad_Voiture_Autonome_v3.zip
Premières étapes
Partie matérielle
- Etude Préliminaire
- Etudier le fonctionnement d’un moteur à courant continu
- Etudier le pont en H L293D et l’associer au moteur à courant continu
- Voir aussi les tutoriels associés aux cartes Nucléo parlant des étages de puissance :
- Régler l’intensité lumineuse d’une LED – partie puissance
- Faire varier la vitesse d’un moteur à courant continu – partie pont en H
- Voir aussi les tutoriels associés aux cartes Nucléo parlant des étages de puissance :
- Etudier le fonctionnement d’un servomoteur (système asservi en angle pour le positionnement)
- Vidéo : https://www.youtube.com/watch?v=LXURLvga8bQ
- Voir aussi le tutoriel Contrôler un mouvement angulaire à l’aide d’un servomoteur
- Hors Châssis
- Comprendre le fonctionnement du contrôleur de vitesse (signaux de type servomoteur) – ESC + Moteur pour voiture
- Sur Châssis
- Tester les positions minimale et maximale du servomoteur pour la direction
- Faire un programme d’essai de mise en mouvement du véhicule (traction et direction)
Partie détection
- Capteurs de distance
- Tester un capteur de distance SHARP
- Tracer sa caractéristique en distance
- Faire un programme d’acquisition des données et d’affichage de la distance à l’aide d’une carte Nucléo
- Lidar A2
- Lire la documentation technique (Documentation technique ) et le protocole utilisé (Protocole de transfert)
- Voir aussi les tutoriels associés aux cartes Nucléo parlant des communications inter-systèmes
- Echanger des données entre deux systèmes communicants (et les tutoriels précédents sur la communication RS232)
- Voir aussi les tutoriels associés aux cartes Nucléo parlant des communications inter-systèmes
- Mettre en œuvre le programme de test fourni : https://os.mbed.com/users/villemejane/code/ProTIS_Lidar_mbed6/
- Modifier le programme précédent pour l’adapter aux objectifs de votre projet
- Lire la documentation technique (Documentation technique ) et le protocole utilisé (Protocole de transfert)
Intégration
- Faire varier la direction et la vitesse du véhicule en fonction des données de plusieurs capteurs de distance
- Faire varier la direction et la vitesse du véhicule en fonction des données du Lidar
Il est également possible d’ajouter une télécommande ou un module Bluetooth pour le pilotage et la récupération d’informations