Plateforme logicielle open source de conduite autonome Apollo 2.0

Apollo est une plateforme de conduite autonome open source publiée par Baidu Research en 2017. L'objectif de Baidu est de développer des voitures totalement autonomes d'ici 2020. Cela semble cours, mais Baidu estime que la publication ouverte permettra d'accéllerer les tests et le déploiement Le nom de la plateforme est une référence aux missions Apollo de la NASA entre les années 1960 et 1970.

Versions
Depuis son lancement, Apollo a beaucoup évolué. Chaque version a apporté de nouvelle caractéristique au projet. A chaque version, des composants hardware sont ajoutés. Les contributeurs doivent alors ajoutés au projet des modules de code pour exploiter ces nouveaux composants.

Apollo 1.0

Apollo 1.0 fonctionne dans un lieu clos, comme une piste d'essai ou un parking.

Apollo 1.5

Avec Apollo 1.5, les véhicules ont une meilleure perception de leur environnement et peuvent mieux cartographier leur position actuelle. Cela leur permet de planifier leur trajectoire sur leur voie.

Apollo 2.0

Apollo 2.0 permet aux véhicules de rouler de manière autonome sur des routes urbaines simples. Les véhicules sont capables de rouler sur les routes en toute sécurité, d'éviter les collisions avec les obstacles fixes, de s'arrêter aux feux de circulation et de changer de voie.

Apollo 2.5

Apollo 2.5 permet au véhicule de rouler de manière autonome sur des autoroutes. Les véhicules sont en mesure de maintenir le contrôle de leur voie, de se mettre en vitesse de croisière et d'éviter les collisions avec les véhicules environnants.

Apollo 3.0

Le but d’Apollo 3.0 est de préparer un environnement pour permettre aux développeurs de travailler sur les espaces à faible vitesse.

Apollo 3.5

Apollo 3.5 est capable de naviguer dans des scénarios de conduite complexes tels que les zones résidentielles et les centres-villes.

Apollo 5.0

Avec Apollo 5.0, la voiture peut gérer les conditions changeantes de scénarios routiers complexes. Elle prend en charge des scénarios supplémentaires tels que les arrêts et le franchissement d'intersections dénudées.

Open Source
Baidu a publié Apollo en open-source en 2017 sous license Apache 2.0. En trois ans, comme l'espérait Baidu, il y a eu beaucoup de participations à la plateforme : 8500 pull requests 15000 commits 400000 lignes de code 235 contributeurs 8 versions

Le projet est en C++ et en python pour le module d’Intelligence Artificielle.

Modules Apollo
Comme dit précédemment, des modules sont ajoutés à chaque version. Ces modules, destinés à permettre l’autonomie de la voiture, ont été partagés en 5 catégories.

Perception de précision

Le module de perception intègre la capacité de détecter et de reconnaître les obstacles et les feux de circulation.

Obstacle

Le sous-module de détection d'obstacles détecte, segmente, classe et suit les obstacles. Il prédit également le mouvement des obstacles et l'information sur leur position (la direction et la vitesse).

Feux de circulation

Le sous-module de feux de circulation détecte les feux de circulation et reconnaît leur état à partir d’images.

Simulation

La simulation permet de parcourir virtuellement des millions de kilomètres par jour en utilisant un ensemble de données sur le trafic du monde réel. Grâce au service de simulation, les contributeurs ont accès à un grand nombre de scènes de conduite autonome pour tester, valider et optimiser rapidement des modèles d'intelligence artificielle.

Carte Haute Définition et Localisation

Baidu est capables de produire des données cartographiques HD à grande échelle. Ces cartes sont utilisés par le système de localisation. Et ce dernier est une solution de positionnement complète avec une précision au centimètre près.

Planification

Les véhicules Apollo sont équipés d'un système de planification comprenant la prédiction, le comportement et la logique de mouvement. Le système de planification s'adapte aux conditions de circulation en temps réel, ce qui permet d'obtenir des trajectoires précises, à la fois sûres et confortables. Actuellement, le système de planification fonctionne sur une route fixe dans des conditions de jour et de nuit.

Contrôle Intelligent

Les modules Apollo de commande intelligente de véhicule sont précis, largement applicables et adaptables à différents environnements. Les modules gèrent différentes conditions de route, vitesses, et types de véhicules.

Vue Véhicule
Les caméras, radar et lidar (radar laser) sont utilisés pour la perception de précision. La localisation s'effectue avec les GPS. Pour tout ce qui est des calculs de simulation, de contrôle, de planification ou d’interprétation des données extérieurs, il y a un IMU et un ordinateur industriel dans le coffre.