« Hello, I am the AxioNaut », 1er prototype de véhicule autonome d’Axionable
“The AxioNaut”, le premier prototype de véhicule autonome d’Axionable a participé le 10 février 2018 à la 1ère compétition de ‘mini-voiture autonome ‘IronCar France’.
Si les américains peuvent le faire, pourquoi pas nous
Pourquoi développer un prototype de voiture autonome ? L’idée a germé suite à hackaton organisé par AWS (Amazon Web Services) fin novembre 2017 à Las Vegas à l’occasion de l’événement re:invent. L’équipe Data Science d’Axionable s’est alors lancé un défi : si les américains peuvent le faire, pourquoi pas nous ? L’objectif scientifique de cette initiative pour Axionable est de tester les technologies et solutions à l’état de l’art dans le domaine de l’intelligence artificielle, le deep learning, embarquées sur un dispositif “low tech” (contrainte des batteries, CPU et mémoire limitée, etc.).
L’implémentation du prototype
L’AxioNaut est un prototype de mini-voiture basé sur un raspberry pi. Elle utilise une raspberry pi camera avec un objectif fisheye ainsi que le châssis et les servomoteurs d’une voiture radio commandée. Ce qui fait de l’AxioNaut un prototype à prix abordable sur lequel nous avons déployé un algorithme d’apprentissage machine qui rend la mini-voiture autonome.
L’AxioNaut utilise l’Intelligence Artificielle, plus précisément il utilise la technologie du deep learning (apprentissage profond en Français). Cette technologie fait partie de l’apprentissage automatique mais à différence des approches classiques elle a l’avantage d’analyser des données brutes. En effet, l’extraction de caractéristiques pour décrire les données n’est pas nécessaire.
L’apprentissage profond est basé sur les réseaux de neurones artificiels, où le mot ‘profond’ fait référence aux plusieurs niveaux de connexions entre neurones. Il est possible de construire différentes architectures de réseaux de neurones, dont quelques exemples sont les réseaux de neurones convolutifs et les réseaux de neurones récurrents. L’architecture utilisée dans l’AxioNaut est une architecture de réseau neuronal convolutif où le mode de connexion entre les neurones est inspiré par le cortex visuel des animaux. Ce type de réseau est très utilisé dans l’analyse d’images et de sons. Nous l’avons utilisée pour contrôler la direction de roues de l’AxioNaut.
L’utilisation d’un réseau convolutif a été implémenté dans un cadre d’apprentissage automatique supervisé dans lequel à partir d’une base de données contenants des exemples de conduite on cherche à rendre l’AxioNaut autonome. Un exemple de la base de données inclut une image, un angle pour contrôler les roues, et la vitesse de la voiture. Pour la première version de l’AxioNaut, nous avons limité le champ d’action du réseau convolutif à la prédiction de l’angle pour contrôler les roues en laissant la vitesse constante.
L’implémentation du réseau de neurones a été fait sur Keras, une librairie sur Python qui permet de prendre en main très facilement l’implémentation des architectures de deep learning. L’acquisition de données pour l’entrainement de notre réseau neuronal a été fait dans un circuit déployé dans nos locaux.
What’s next ?
Le résultat accompli par notre modèle lors de la compétition IronCar France valide notre engagement avec les nouvelles technologies en intelligence artificielle, en particulier l’utilisation de la technologie d’apprentissage profond dans le cadre de traitement d’images.
Nous avons plusieurs améliorations en tête pas seulement pour améliorer la conduite mais aussi pour rajouter des nouvelles fonctionnalités. Quelques idées sont le contrôle par la voix, la détection d’obstacles, ainsi que la reconnaissance d’objets.