Cette page présente le statut du projet "UGV Platform" en date du 07/04/20 et le premier prototype.
Vous trouverez des informations plus générales concernant ce projet sur la page principal du projet.
Capacités
Sur cette version, le véhicule n'embarque aucune intelligence, il est piloté par l'intermédiaire d'une station de contrôle connectée en WiFi au véhicule. (Ce dernier se comporte comme un point d'accès WiFi)
Le système embarqué du véhicule expose les services suivants :
- une WebAPI permettant le contrôle des déplacements :
- Aller en avant / en arrière
- Tourner à gauche / à droite
- Tourner sur lui-même sens horaire / antihoraire
- de sockets réseau permettant de diffuser, en temps réel, les données des capteurs :
- Points issus des scans du LIDAR
- Données de la centrale inertielle (IMU en anglais pour Inertial Measurement Unit) composée de Magnétomètre, Gyroscope, Accéléromètre
- Données des encodeurs vélocimétriques situés sur les axes des moteurs
La station de contrôle permet de :
- contrôler manuellement les déplacements du véhicule en utilisant le clavier, la souris ou une manette/joystick USB
- voir les informations issues des différents capteurs sous forme graphique :
- Boussole
- Plan 2D issu des scans du LIDAR
- Représentation 3D du véhicule dans l'espace (inclinaison, orientation, ...)
- Distance parcourue / vitesse instantanée
- contrôler les déplacements du véhicule à partir d'algorithmes s'appuyant sur les données des différents capteurs
Demo
Dans la vidéo suivante, vous pourrez voir :
- le contrôle manuel des déplacements à l'aide d'un joystick USB
- La visualisation en temps réel de ce que "voit" le LIDAR
Limitations
- Le véhicule est capable de mesurer la vitesse de rotation des roues mais il est actuellement impossible, à partir des encodeurs utilisés, de connaître le sens de rotation des roues et donc le sens du déplacement.
- L'application de contrôle peut afficher sous forme graphique les données issues du LIDAR mais n'est pas capable de les utiliser pour des problématiques SLAM (simultaneous localization and mapping) du fait des limitations dans le système de mesure du déplacement (Cf. point ci-dessus) et de l'exploitation partielle des données issues de l'IMU.
Pour pouvoir réaliser une carte à partir des scans effectuées lors des déplacements, il faut pouvoir les positionner les uns par rapport aux autres.
Evolutions envisagées
(Liste non-exhaustive et non ordonnée)
- Ajouter un module RTC (Real Time Clock)
- Trouver une solution pour déterminer le sens de déplacement (utilisation des données de l'IMU ou remplacement des encodeurs)
- Ajouter des capacités SLAM (simultaneous localization and mapping)
- Ajouter l'évitement d'obstacles (Capteurs ultrason de proximité + Amélioration du logiciel)
- Ajouter un récepteur GPS (pour les usages en extérieur)
- Embarquer l'intelligence pour permettre des déplacements autonomes
- Travailler sur une version "XL" de cette plateforme capable de supporter plusieurs kilos de charge utile (Fabrication d'un châssis en acier, Utilisation de moteurs plus puissants, ...)
- ...
Ces évolutions seront détaillées dans de prochains articles. Affaire à suivre... ;-)
Informations techniques
Hardware
Structure / Propulsion
- Smart Car Robot Frame 4 WD (+ 4 moteurs DC équipés de motoréducteurs)
Contrôle
- Raspberry Pi 3 Model B
- PCA9685 16-channel 12-bit PWM Servo driver
- L298N Dual H-Bridge motor drive
Capteurs
- Lidar (RPLidar A1)
- Inertial measurement unit (Adafruit 9-DOF Absolute Orientation IMU Fusion Breakout - BNO055)
- Encodeurs vélocimétriques
Divers
- 3.3V / 5V TTL Logic Level Converter
- LM2596 DC-DC Buck Converter Step-Down Power Module
- Batterie LiPo 2s 2700mAh 7.4V 10C EC2 (pour l'alimentation électrique des moteurs)
- UPS Battery Pack (Pour l'alimentation électrique du RPi)
- T-Cobbler GPIO Breakout + Breadboard
Schéma de principe
Software
Système embarqué | Station de contrôle |
---|---|
|
|
Pour suivre le projet
En attendant de prochains articles, vous pouvez suivre l'évolution du projet au jour le jour à travers la page Facebook "UGV Platform".