UGV Platform (Prototype 200407)

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.

Prototype 200407
Vue de la gauche

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
  • 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

Schematic Diagram (200407)
Schéma de principe

Software

Système embarqué Station de contrôle
  • ASP .Net Core
  • ZeroMQ
  • C/C++
  • .Net Core
  • ZeroMQ
  • WPF
  • DirectX