Véhicule autonome : que propose la plateforme ouverte Apollo de Baidu ?

Les véhicules autonomes sont des sytèmes complexes. Pour les comprendre, les initiatives "open source" sont préciseuses. Elles offrent des informations vérifiables et des logiciels réutilisables. J'ai tenté dans cet article d'explorer celle de Baidu nomée Apollo. Au passage j'en mentionne quelques autres, mais je suis loin d'avoir épuisé le sujet. Le domaine reste très dynamique. N'hésitez pas à compléter en utilisant les commentaires et bonne lecture !


Apollo est une initiative du géant chinois Baidu visant à accélérer le développement des véhicules autonomes. Open Source, elle semble assez dynamique et progresse de semaine en semaine. Elle offre principalement des logiciels open source, mais aussi d'autres composants intéressants que j'évoque ci-dessous.

Un système complet de logiciels ouverts pour le véhicule

Un ensemble de logiciels est disponible sur GitHub. On y trouve notamment :
  • Un Système d'exploitation temps réel (RTOS), 
  • Un framework pour les applications utilisées par le véhicules,
  • Et les principales applications embarquées nécessaires à l'autonomie : gestion des capteurs, cartographie et localisation, planification de la trajectoire et controle du véhicule via le bus CAN, interface homme machine...
D'autres initiatives open source ont la même ambition, notamment AGL Automotive Grade Linux de la Linux Foundation. Notons au passage que ce sont les lorientais de iot.bzh qui sont les premiers contributeurs d'AGL. L'équipe a pouttant l'air de ne pas se prendre au sérieux  et ils embauchent (à Lorient en plus !).

Une version intégrée des différents logiciels, dite "end to end", permet de disposer d'une version de référence "clés en main" associée à un certain niveau de performance. Ainsi actuellement la version 2.5.0 possède les fonctions suivantes : This release allows the vehicle to autonomously run on geo-fenced highways. Vehicles are able to do lane keeping cruise and avoid collisions with the leading vehicles.  

Coma.ai crée  par George Hotz propose aussi un "agent de conduite" ouvert : Openpilot qui utilise une simple caméra. Openpilot offre des fonctions d'adaptative cruise control et de lane keeping assist system.

L'architecture générale retenue par Apollo permet de simuler l'ensemble des logiciels sur une configuration matérielle donnée, mais aussi d'intégrer dans la simulation des "composants matériels réels" qui permettent d'interagir avec la simulation. 

Cette simulation avec "hardware in the loop" est aussi l'objet de AirSim de Microsoft, open source aussi qui permet de simuler des drones, mais aussi des véhicules autonomes.

Une plateforme "harware" de référence

Cette plateforme comporte un véhicule Lincoln MKZ (marque de luxe propriété de Ford) intégrant un kit ADAS (Advanced Driver Assistance System), une centrale inertielle Novatel, un calculateur embarqué Astuff, un recepteur GNSS ProPak et son antenne, une carte de communication CAN ESD et un Lidar Velodyne.

Des services hébergés : cloud services

Il s'agit de services en ligne du catalogue de Baidu sur lesquels s'appuient les briques logicielles embarquées. Cette offre se compare à celles des géants américains comme Google ou Amazon par exemple et bien entendu elle n'est ni ouverte ni gratuite... Il s'agit notamment :
  • d'une carte haute définition, 
  • des services géolocalisés et On line travel agency (OTA), 
  • des services d'IA (DuerOS) utilisés notamment pour de la reconnaissance d'image ou du langage naturel,
  • mais aussi de fonctions de sécurité.

Des données

La plateforme propose plusieurs ensembles de données annotées manuellement et utiles pour l'apprentissage des différentes briques logicielles. On y trouve par exemple :

Pour l'apprentissage
  • des nuages de points Lidar et des images de caméras annotées pour la détection et la classification des obstacles : piétons, véhicules motorisés ou pas et "autres types"...
  • des photos de feux tricolores permettant d'entraîner les logiciels de reconnaissance des feux,
  • des données d'environnement permettant d'entraîner ou de tester les briques de calcul de trajectoire ou de compréhension de l'environnement... 
Pour les tests un outil permet de sélectionner le scénario : tourner à droite à un carrefour, à gauche, changer de voie... Avec différents type d'obstacles et sans. L'objectif est, pour chaque scénario, de récupérer les éléments perçus en entrée et de ceux attendus en sortie du module à tester.

Enfin, des données de démonstration permettent de constater et d'analyser le comportement des différents modules existants. Par exemple le module de fusion des données des différents capteurs permet de comprendre comment fonctionne le logiciel correspondant et d'en débugger les nouvelles versions.

La plateforme propose, naturellement, aux utilisateurs d'enrichir la base avec des données qu'ils ont eux mêmes collectées, en précisant le capteur utilisé, le pays et si ces données ont été capturées en mode autonome ou non. Cette approche rappelle celle astucieusement proposée par Coma.ai. Si vous disposez d'un boîtier ODB sur votre véhicule et d'un simple téléphone mobile équipé de l'application Chffr (ou mieux du DashCam EON ) , vous pouvez enregistrer toutes vos données de conduite et la vidéo capturée par votre "DashCam". Coma.ai propose alors de les télécharger pour enrichir sa base de conduite ! Quel bénéfice pour vous ? l'avenir des voitures autonomes dépend de vous !

Un écosystème de partenaires

Une centaine de partenaires sont actuellement identifiés parmi lesquels : Bosch, Delphi et Continental, ou Intel, Miscrosoft et NVIDIA... Cet écosystème permet de proposer des réalisations très variées. On trouve notamment des vidéos de promotion pour des intégrationsdu système dans des camions (CIDI), des bus Golden Dragon...

Un fond d'investissement

Enfin, Baidu propose aux start-ups actives dans les domaines des capteurs, des données ou du software des offres de capital...