IMA3/IMA4 2018/2020 P9 : Différence entre versions

De Wiki de Projets IMA
(Equipe 1)
(Equipe 2)
Ligne 132 : Ligne 132 :
  
 
===Equipe 2===
 
===Equipe 2===
 +
 +
* Récupérer le code des équipes précédentes et l'implémenter sur une autre raspberry
 +
 
===Equipe 3===
 
===Equipe 3===
  

Version du 12 mars 2019 à 10:35


Présentation générale

Description

Le projet consiste à réaliser une voiture autonome dans le but de participer au concours Ironcar dès 2019.

Ce dernier est une course de voitures (modèle réduit) intelligentes.

Afin d'y prendre part il nous faudra concevoir un véhicule pouvant suivre un circuit sans être télécommandé et pouvant s'adapter au tracé ainsi qu'à ses obstacles grâce à la Deep Learning Technologie.

Pour arriver à cette fin nous nous appuierons sur les fiches de conceptions des anciens concurrents disponibles ici.

Objectifs

Pour participer à ce concours, on devra notamment :

  • mettre en place un réseau de capteurs et concevoir un algorithme qui les exploite pour pouvoir suivre la ligne discontinue du tracé;
  • mettre en oeuvre un Linux temps réel pour contrôler la voiture avec une phase de comparaison par rapport à un Linux classique ;
  • mettre en oeuvre d'autres algorithmes pour l'apprentissage automatique, déjà disponibles pour contrôler la voiture ;
  • gérer les servo-moteurs contrôlant la direction et la vitesse de la voiture (on utilisera un shield et un Arduino), et implémenter des algorithme de contrôle de l'accélération et du freinage.

Analyse du projet

Positionnement par rapport à l'existant

Analyse des concurrents

Patate42

IMG 20181124 202851.jpg

Le grand gagnant de la compétition édition 2018, réalisé par des élèves de l’école 42 paris, leur prototype a réussi à boucler les 3 tours en un temps record dont le meilleur tour a duré 1'17mn, ces résultats ont leurs permis de gagner le premier titre dans ce championnat national.

Ils ont choisi la Raspberry au lieu d'autres cartes électroniques parce qu’elle présente les avantages d’être facilement programmé, sa puissance et son prix très bon marché [1][2][3]

AxioNaut

AxioNaut sont des étudiants qui viennent du groupe Axionable,qui est une principale entreprise de conseil de la Science de données basée à Paris, France, ils ont remportés la seconde manche de l’Iron Car France. Il ont utilisés le modèle de Raspberrry pi 3 B+ équipé d'une camera qui assure l'autonomie dans le positionnement de la voiture et contrôle la vitesse durant le parcourt. [4][5]


Ironcar 3-225x300.jpg

Navette autonome

C'est un véhicule autonome qui est équipé de capteurs numériques (caméras, radars, sonars, lidars,etc) et concernant le stockage des informations, ça s'enregistre sous des microprocesseur et via des logiciels spécifique. Pour les avantages , les statistiques relèvent que 90% des accidents de la route sont liés à une erreur humaine. La génération des voitures autonomes comme la navette qui permettre de réduire les accidents a travers le meilleur temps de réaction det d'une plus grande fiabilité des systèmes informatisés. [6][7]

midium

Scénario d'usage du produit ou du concept envisagé

Phase d’entraînement :

On disposera d'une piste pour pouvoir effectuer la phase d'apprentissage de l'IA. Lors de la journée compétition que l'on organisera, les participants commanderont la voiture avec la manette type xbox et tenteront de faire des tours de piste le plus rapidement possible.

Pendant ce temps, la caméra de la voiture sera active et enregistrera les images du circuit, et les commandes entrées correspondantes par les utilisateurs seront elles aussi stockées. On pourra par la suite pondérer les résultats, par exemple une sortie de piste implique une mauvaise commande, et un tour rapide implique un bonne commande.

Pour plus de diversité, on entraînera la voiture à partir d'images générées aléatoirement qui correspondent à une portion de circuit Ironcar.


Phase de course autonome

On déposera la voiture sur la ligne de départ, et on attend le lancement de la course. Après celui-ci, la voiture démarre et essaie de suivre le tracé le plus rapidement possible. Dans le cas où elle sortirait de la piste, c'est à nous de la repositionner correctement.

La question difficile

Comment entrainer notre IA ?

Réponse à la question difficile

  • Nous pouvons organiser des courses participatives à Polytech pour récupérer des données de trajectoire qui permettront à notre voiture de connaitre davantage de situations pour lui permettre de réagir dans des conditions plus variées. Il faudrait tracer un circuit sur le parking par exemple, puis organiser une compétitions entre étudiants et personnels pour récupérer le plus de données possibles. On peut pondérer les résultats en "récompensant" les temps plus courts dans le programmation de l'IA.
  • Nous pouvons aussi mettre en place un environnement virtuel pour simuler un tracé et laisser le réseau de neurones s'entrainer d'elle même au sein de cette simulation.

Bibliographie et webographie

[1]: https://www.42.fr/iron-car-2018-etudiants-champions/

[2]: http://www.leparisien.fr/high-tech/qui-deviendra-le-champion-de-france-de-mini-voitures-autonomes-19-11-2018-7946379.php

[3]: https://github.com/EParisot/Patate

[4]: https://github.com/Axionable/Axionaut

[5]: https://www.axionable.com/axionaut-termine-1er-de-la-deuxieme-course-iron-car/

[6]: https://www.ilevia.fr/cms/actualite/actus-des-reseaux/voyagez-navette-autonome-a-lille-mois-de-decembre.html

[7]: https://www.univ-lille.fr/nc/actualites/detail-actualite/?tx_news_pi1%5Bnews%5D=1423

[*]: https://github.com/vinzeebreak/road_simulator

[*]: https://github.com/vinzeebreak/ironcar

Préparation du projet

Cahier des charges du groupe

Cahier des charges pour la première année :

Reprendre le code source d'un ancien concurrent et l'implémenter dans notre châssis.

Avoir un modèle fonctionnel pour participer au concours de Septembre avec cette voiture.


Cahier des charges pour le seconde année :

Optimisation de la voiture (code, commandes, ...) afin qu'elle soit plus performante.

La voiture fera 3 tours de pistes sans sortie lors de la compétition.

La voiture sera autonome sur au moins un circuit

Ramenez la coupe à la maison


Détecter une sortie de piste sans avoir recours à des capteurs autres que la caméra.

La voiture finit la course le plus rapidement possible

Reconnaître des virages et des lignes droites plus ou moins grandes et adapter sa trajectoire et sa vitesse en conséquence.

Pouvoir faire exécuter le code de réseau de neurones par l'ordinateur suffisamment rapidement pour pouvoir réagir le plus rapidement possible (proche du temps réel).

Cahier des charges des équipes

Equipe 1

  • Mettre en place un Linux RT dans une raspberry PI

Equipe 2

  • Récupérer le code des équipes précédentes et l'implémenter sur une autre raspberry

Equipe 3

Choix techniques : matériel et logiciel

Equipe 1

Equipe 2

Equipe 3

Liste des tâches à effectuer

Agencement de la voiture

     Commande de la voiture (moteur, vitesse, virages)
     Commande manuelle
     Commande automatique


Réseau neuronal

     Mise en place
     Entraînement
     Implémentation de l'IA sur le Linux temps réel de la voiture.


Mise en place matérielle

     Implémenter les algo de commande des moteurs sur l’Arduino.
     Concevoir l'algorithme de traitement d'image dans le réseau neuronal.
     Stocker dans une base de données les images capturées et leur assigner un label (un titre faisant référence à une action à effectuer).
     

Liaisons entre les différents organes de la voiture






Equipe 1

Equipe 2

Equipe 3

Calendrier prévisionnel

Le calendrier prévisionnel peut se concrétiser sous la forme d'un diagramme de GANTT.

Equipe 1

Equipe 2

Equipe 3

Réalisation du Projet

Projet S6

Eventuellement créer des sous-pages par équipe avec le compte-rendu des réunions de groupe sur cette page principale.

Semaine 4

  • Réponse à la question difficile
  • Prise d'informations sur le projet en général,
  • Analyse des projets des IMA4 et IMA5

Semaine 5

Semaine 6

Semaine 7

Semaine 8

Semaine 9

Semaine 10

Semaine 11

Semaine 12

Documents Rendus

Projet S7

Documents Rendus

Projet S8

Documents Rendus