Autres thèmes pertinents :
Dernière modification 18/07/2024

Fonctionnement de l'Autopilot / conduite autonome


Promis par certaines marques dans un avenir proche, le pilote automatique devrait en théorie envahir rapidement les automobiles à moyen terme (ça sert aussi le marketing en conférant plus d'attractivité à la voiture). Et même si j'émets de gros doutes sur le sujet, nous allons voir ici dans les grandes lignes comment fonctionne un Autopilot, ne serait-ce que pour assouvir notre (saine) curiosité. N'oublions pas non plus que l'intelligence artificielle liée au déplacement dans un environnement existe depuis plus de 30 ans avec les jeux vidéos. Car les PNJ (personnages non jouables) doivent être dotés d'une capacité à se mouvoir de manière cohérente et censée. Et si il n'est pas bien grave que les voitures dans GTA aient des accrochages et écrasent des piétons, dans la réalité il n'y a bien entendu aucun droit à l'erreur. La différence étant aussi du côté de l'appréciation de l'environnement, car si dans un jeu vidéo "l'entité autonome" connaît tout de l'environnement alentour en y étant directement connecté (toutes les variables environnementales sont accessibles à la fonction qui s'occupe de déplacer "l'entité"), dans le cas d'une voiture autonome il faut ajouter tout un processus qui vise à acquérir de manière fiable ces données (qui sont cette fois externes au calculateur, et en l'occurrence la mémoire vie), ce qui accroît encore plus la difficulté.


Plusieurs aspects sont à étudier ici, aspects qu'on découpera en différentes couches : matérielle, logicielle et conceptuelle. Car la conduite autonome implique tout un tas de "choses" qui vont travailler ensemble mais de manière bien isolées quand même ...

Voici par exemple le découpage chez Tesla avec les différentes équipes en charge de la conduite autonome :


Commençons donc par l'acquisition des données environnementales.


je vous partage ici un schéma que j'ai pu prendre en photo lors du salon de Francfort 2019

Acquisition des données



Pour pouvoir conduire seule, la voiture a besoin de décrypter son environnement proche, il lui faut en effet connaître le terrain pour pouvoir engendrer des actions sur ce dernier.
Pour cela on utilise trois grands moyens, des caméras, des capteurs ultrasons (les mêmes que pour le radar de recul, qui n'est donc pas un radar ..) et des lidars.



Caméras stéréos




Les caméras n'amènent hélas que des images en 2 dimensions qui restent trop limitées pour s'en contenter, il nous faut en effet connaître le relief des choses afin d'estimer les distances qui nous séparent de ces dernières. Pour obtenir ces notions de profondeur, l'idée consiste à doubler le nombre de caméras et des les espacer un peu, exactement comme le fait votre corps avec les deux yeux que vous possédez. Notez d'ailleurs que cette distance est idéale et qu'on reprend à peu près les mêmes écarts pour les caméras (vous constaterez que l'Homme ne fait que s'inspirer de la nature, quelque soit le thème abordé et quelque soit l'époque ou le niveau technologique).






On peut par la suite calculer la distance par triangulation, grâce notamment au théorème de Pythagore (mais aussi que la somme des angles d'un triangle est égale à 180 degrés, les sinus, les cosinus etc.).
Pour être plus précis, on a deux images différentes capturées par des caméras dont on connaît l'espacement. Tout le reste pourra alors se déduire mathématiquement par le calcul. Voici d'ailleurs une petite vidéo qui vous expliquera ça rapidement.

Enfin, pour fiabiliser encore plus cette acquisition de données, il y aura généralement exploitation des données GPS.


Lidars





Voici deux images lidars interprétées par la machine (qui ne fait que positionner une multitude de points dans un repère orthonormal à 3 axes, pour les 3 dimensions)


Les constructeurs emploient donc en plus de caméras des lidars, à savoir des émetteurs/récepteurs qui utilisent cette fois des rayons laser et non pas des ondes électromagnétiques (en gros ça revient au même, un peu comme utiliser un bâton de bois ou de fer pour soutenir quelque chose, dans les deux cas c'est une barre ... Et surtout, radar et lidar sont en réalité la même chose !).
Cette fois pas besoin de doubler le dispositif pour connaître la distance des choses, il suffit juste de chronométrer le temps que met le rayon pour faire l'aller-retour entre la source et l'objet visé (en balayant la zone qui nous intéresse donc). Si par exemple le rayon va à 1 km/h (chiffre aberrant mais qui ne sert que pour la logique) et qu'il met 2 heures pour faire l'aller-retour, alors on pourra estimer que l'obstacle est à 1 km (1 heure pour y aller et 1 heure pour revenir). La différence ici est que le rayon va à la vitesse de la lumière (onde électromagnétique/radio)...


Il faut savoir que Tesla a abandonné la technologie lidar pour ne se concentrer que sur l'image vidéo stéréo (il fait donc comme le monde animal, sauf chauve-souris et autres exceptions qui se limitent au radar), ce qui implique une puissance de calcul bien plus importante, décrypter des images bitmap (composées de pixels très nombreux) est bien plus complexe que de traiter des points (lidar) placés dans un repère matriciel à trois dimensions. C'est pour cela que les Tesla d'après ont incorporé le Harware 3 afin de palier à cela. Les versions plus anciennes en Hardware 2.5 n'auront pas la capacité (puissance de calcul) de gérer le FSD (Full Self Driving = pilote automatique "complet"), et il faudra passer par un Service Center pour que le matériel soit changé par la suite (si vous avez pris l'option FSD évidemment, les autres pourront aller se brosser).


Ca y est, à ce stade l'auto a des yeux qui fonctionnent et qui envoient des données suffisamment complètes au calculateur. Reste maintenant à en faire quelque chose ...


Interprétation des données

C'est une autre couche qui se passe cette fois-ci du côté logiciel (software), à savoir que les données acquises par les capteurs doivent être traitées par le calculateur (qui fait donc tourner les fonctions logicielles) afin d'en tirer quelque chose, c'est à dire modéliser l'environnement alentour à partir de ces information brutes.


Tout calculateur est doublé afin de vérifier que les résultats obtenus sont fiables. Si les deux logiciels qui tournent en parallèle prennent des décisions semblables, alors elles sont considérées comme fiables.




Modélisation des alentours

Il y aura tout d'abord la triangulation qui permet de modéliser en trois dimensions ce qui nous entoure, et j'aurais du éviter d'en parler dans le premier paragraphe car l'acquisition ne consiste qu'à capturer des données et non les interpréter (les caméras et lidars ne pigent ni ne calculent rien, elles envoient simplement leurs données vers des calculateurs).
C'est en effet le calculateur qui va ici estimer (ou plutôt les fonctions qui tournent en son sein) la distance à laquelle les choses se trouvent. On est donc ici uniquement dans le positionnement et la spatialisation des choses.
A ce stade le calculateur se limite à nous positionner dans une environnement composé que de relief uniquement, et cela ne suffit hélas pas totalement si on veut obtenir une conduite autonome subtile.


Interprétation des alentours


Au delà de la spatialisation de notre position et des choses qui nous entourent, il faut aussi arriver à interpréter certains éléments du décor : route, piétons, panneaux, lignes, feux, voitures etc. Donc au delà de voir et se positionner il faut aussi "comprendre".
Pour cela la machine va reconnaître les choses grâce aux images 2D de l'une des caméras (il peut prendre les deux images pour maximiser ses chances mais dans le principe une image plate 2D suffit), il n'y a en effet ici aucun besoin d'avoir du relief.
Pour y parvenir on a fait appel au machine learning (apprentissage des machines) auxquelles on a fait ingurgiter un maximum d'images dans le passé.
Par exemple, pour faire reconnaître une auto au programme, on lui a injecté des milliers d'images de voitures prises depuis un maximum d'angles possibles. Le logiciel va alors prendre des repères sur les points clés de l'image (arrêtes, taches sombres, proportions et positions des différentes courbes etc.) et va les mémoriser. Plus il aura vu de voitures, plus il aura de chances de les reconnaître par la suite. Vous pouvez vous-même expérimenter la chose en téléchargeant des programmes faits en python, un ami m'en avait d'ailleurs fait passer un qui reconnaissait les visages sur les images (le souci est qu'il se mettait même à voir des visages un peu partout selon la sensibilité qu'on paramétrait, même dans les buissons par exemple. Il suffisait que les formes abstraites produisent par pur hasard un visage pour qu'il croit que c'en est un, un peu comme on peut interpréter des formes en regardant les nuages. Pourtant ce ne sont que des nuages et non pas ce que notre esprit semble vouloir voir. Mais la machine n'ayant pas un discernement avancé comme le notre, il est plus compliqué de lui faire "piger" les choses. Le problème justement est que la machine ne pige rien, ça reste un automate basique même s'agissant de machine learning).

Actions / décisions


Maintenant qu'on a tous les éléments en main, il va falloir décréter quelles actions sont à effectuer ... A savoir où aller, à quelle vitesse et comment.
C'est une couche encore très différente et les personnes qui travaillent dessus ne sont logiquement pas du tout les mêmes que celles qui s'occupent de la partie interprétation de l'environnement. Les compétences et qualités à avoir sont bien différentes.
Cette fois il faut faire prendre des décisions à la machine selon le contexte alentour mais aussi l'objectif (à savoir l'itinéraire visé). Il faudra donc adapter sa vitesse selon différents paramètres : circulation alentour, virage / ligne droite, chemin à prendre, imprévu sur la voie etc.


Pour avoir encore plus d'informations sur l'environnement, les voitures échangeront des données entre elles


Réalisation des actions


Une fois que j'ai programmé le logiciel qui gère et prend les décisions, il faut que je les mette en oeuvre. Pour cela l'auto est électrifiée au maximum : direction (assistance électrique et non plus hydraulique), frein (soit by wire soit doté d'un piston électrique au niveau du maître cylindre : AFU), accélérateur (électronique depuis un bail) et il me faut nécessairement une transmission automatique (qui elles sont depuis longtemps électrifiées). Le calculateur de conduite autonome va alors envoyer des infirmations à d'autres : calculateur moteur, direction, ABS/ESP etc.
Sans électrification des organes permettant de mener de l'auto, impossible d'y greffer un Autopilot.



Ecrire un commentaire

Ce site est le vôtre ! Interrogation, complément d'information, conseil, anecdote etc... Toutes vos remarques sont les bienvenues.

Pseudonyme :


Mail * (non obligatoire) :


Votre commentaire :


* Soyez au courant des réactions sur votre commentaire. Il n'est pas obligatoire et restera confidentiel si vous l'indiquez.



Sondage au hasard :

Vous changez d'auto tous les :

Mon point de vue / Information complémentaire :
(votre commentaire sera visible sur la page de résultats)


Sur le même sujet

Nouveautés auto

Choisir une voiture

Fiabilité / Entretien

 

© CopyRights Fiches-auto.fr 2024. Tous droits de reproductions réservés.
Nous contacter - Mentions légales