P25 Architecture ROS pour des véhicules autonomes intelligents

De Wiki d'activités IMA

Cahier des charges

Présentation générale du projet

Mise en place d'une architecture à base de Robot Operating System (ROS)pour la gestion de la mobilité de véhicules intelligents autonomes

Contexte

Il y a au sein de l'école trois RobuCars, véhicules électriques pouvant transporter jusqu'à 400 kg et étant limité à la vitesse de 18 km/h. Chacun des véhicules possède une technologie de commande embarquée différente de l'autre. Le véhicule sur lequel l'essentiel du travail va être exécuté dispose d'une DSpace 1103. Dans le cadre du projet InTraDE, le RobuTainer se doit de se déplacer de façon autonome dans un environnement restreint. Il est proposé de travailler à l'aide d'un RobuCar car c'est bien moins encombrant et par conséquent plus adapté pour les tests.

Objectif du projet

Les différents objectifs du projet sont les suivants :

  • Prendre connaissance de l'architecture matérielle et logicielle du RobuCar et réaliser les modifications nécessaires
  • Réaliser une architecture ROS générique permettant de rendre possible le déplacement autonome dans le campus
  • Créer une interface homme-machine pour le contrôle du robot

Description du projet

Le projet consiste à automatiser le déplacement d'un véhicule électrique dans un environnement confiné. L'architecture ROS qui permettra aux robots d'être autonome sera aussi générique possible pour permettre sa réutilisation sur d'autres plate-formes mobiles. La synthèse de différents codes existants du projet InTraDE et son adaptation permettront au binôme de rassembler ces différentes briques dans le but de relier le tout ensemble.

Choix techniques : matériel et logiciel

Le matériel mis à la disposition pour la réalisation du projet est : Un RobuCar contenant :

  • Une DSpace 1103
  • Un PC de contrôle
  • Un module GPS
  • Une centrale inertielle
  • Un laser
  • Un PC portable

Le code à faire évoluer sera :

  • Sous Windows
    • Matlab R2006a (Simulink)
    • Control Desk
    • Python
    • PURE

Le code à créer sera :

  • Sous Ubuntu
    • ROS (C++)


Étapes du projet

Partie 1 : Adaptation des codes existants

  • Réalisation de la modélisation du véhicule
  • Calculer les différentiels nécessaires
  • Régler le problème de blocage après le dépassement de la plage de bon fonctionnement
  • Faire une revue complète des codes existants (modifications et optimisations)
  • Modifier mode de contrôle (humain doit pouvoir reprendre à tout moment la main)


Partie 2 : Automatisation du déplacement du véhicule dans Lille 1

  • Obtenir une carte précise de la zone de travail
  • Modéliser la carte à l'aide de RoadXML
  • Réaliser une balise RTK pour améliorer précision GPS
  • Relever les données gyroscopiques, odométriques et GPS
  • Localiser le véhicule(x, y, theta)
  • Réaliser un évitement d'obstacle minimal
  • Rechercher un chemin optimal (plus courte distance)
  • Suivre le chemin le mieux possible


Partie 3 : Interaction homme-machine

  • Simplifier les procédures de démarrage
  • Créer une interface suffisamment intuitive permettant à l'utilisateur de se déplacer dans le campus de Lille 1


Suivi de l'avancement du Projet

Semaine 1 (21/09/2015)

Semaine 2 (28/09/2015)

Semaine 3 (05/10/2015)

Semaine 4 (12/10/2015)

Semaine 5 (19/10/2015)

Semaine 6 (26/10/2015)

Semaine 7 (02/11/2015)

Semaine 8 (09/11/2015)

Semaine 9 (16/11/2015)

Semaine 10 (23/11/2015)

Semaine 11 (30/11/2015)

Semaine 12 (07/12/2015)

Semaine 13 (14/12/2015)

Semaine 14 (04/01/2016)

Semaine 15 (11/01/2016)

Semaine 16 (18/01/2016)

Semaine 17 (25/01/2016)

Semaine 18 (01/02/2016)

Semaine 19 (08/02/2016)

Semaine 20 (15/02/2016)

Semaine 21 (22/02/2016)

Fichiers Rendus