Code, sur roues

Les logiciels joueront un rôle central dans la prochaine révolution automobile. À moins que les anciens constructeurs automobiles ne se réinventent rapidement, de nouveaux acteurs combleront le vide pour fournir un système d’exploitation et un écosystème d’applications. Retour d’expérience par Frédéric Filloux :

Tesla est totalemet imprégnée de la culture du logiciel de la Silicon Valley. Je ne parle pas seulement de la voiture elle-même, mais aussi de la façon dont tout le processus d’innovation est organisé.

Ma première conversation avec le responsable des logiciels, Craig Carlson, en a été un exemple éloquent. Craig était à l’époque vice-président pour les microprogrammes et l’intégration électrique chez Tesla Motors. Il était responsable de tous les systèmes logiciels et de l’électronique basse tension pour la voiture, des nombreux microprogrammes à la conception du matériel et des logiciels qui font fonctionner l’écran central, ou des applications mobiles et du système basé sur serveur qui se connectent à la voiture. J’ai d’abord été stupéfait par la taille des troupes de Craig par rapport au reste du personnel d’ingénierie de Tesla : il dirigeait près de la moitié des 700 ingénieurs de la compagnie. Pour mettre les choses en perspective, en 2011, Renault et Volkswagen n’avaient pas un seul ingénieur logiciel en interne. Le code était géré par les fournisseurs.

Les épisodes précédents :
01 : La voiture, réinventée. De zéro.
02 : Votre prochaine voiture sera électrique
03 : Comment Tesla a déchiffré le code de l’innovation automobile
04 : La course mondiale pour l’approvisionnement en batteries

Ce mois-là, en septembre 2011, en tant que vice-président de la qualité pour le modèle S, j’ai organisé une réunion avec Craig pour l’interroger sur la manière dont la qualité était gérée dans son département. Dans l’industrie automobile, du moins telle que je la connaissais, tout – y compris les logiciels – est géré avec un ensemble de spécifications définies à un stade précoce du développement de la voiture, qui seront éventuellement modifiées à chaque itération majeure du modèle.

Craig n’a pas la moindre idée de ce dont je parle. Venant d’Intuit, Craig voit son travail à travers la lentille d’un ingénieur logiciel, à la Silicon Valley. D’où sa perplexité face à ma question. « Vous me posez des questions sur les spécifications du micrologiciel », demande-t-il avec surprise. « Nous n’avons pas de telles choses. Ce n’est pas la façon dont nous faisons les choses ici… » J’ai réalisé que, contrairement à l’industrie automobile traditionnelle où chaque morceau de code est gravé dans la pierre des années à venir, Tesla fonctionne comme une pure entreprise de logiciels. Comme Craig me l’a expliqué plus tard, son équipe s’appuie sur un ensemble de fonctionnalités, de corrections de bugs, etc. Les développeurs puisent dans cette panoplie, en fonction des priorités :

– le numéro 1 concerne les fonctions critiques du véhicule, telles que la gestion de l’énergie, le freinage, la direction, les dispositifs de sécurité ;
– le numéro 2 concerne les fonctionnalités clés de la voiture ;
– le numéro 3 concerne les fonctionnalités secondaires telles que les vitres électriques ou les rétroviseurs – et le numéro 4 concerne le reste.

À intervalles réguliers, les versions sont diffusées en direct sur le matériel de la voiture, exactement comme les applications sont mises à jour sur un smartphone. Dans les premiers temps du programme Tesla, les sorties étaient effectuées toutes les deux semaines. J’en suis vite venu à la conclusion que, pour ce qui est de la qualité des logiciels, je n’avais pas d’autre choix que de faire confiance à Craig et à son équipe.

Plus tard, j’ai été témoin d’un autre exemple de l’agilité de Tesla en tant que société de logiciels. Un jour, à la cafétéria, j’ai entendu une conversation entre un ingénieur de test et ses collègues. Le type était assez âgé pour conduire quotidiennement une présérie de la voiture. Chaque jour, en arrivant à la maison, il devait régler manuellement la suspension pneumatique pour éviter que le becquet avant ne racle son allée. Ce n’est certainement pas une nuisance majeure, mais on pourrait faire mieux, pensait-il. Pourquoi ne pas faire en sorte que le GPS « parle » à la suspension de la voiture, et qu’à l’approche de mon allée cahoteuse, il soulève automatiquement la voiture pour éviter tout dommage », a-t-il demandé.  » – Eh bien, ce n’est pas compliqué, franchement « , a répondu un ingénieur en informatique,  » Il s’agit en fait de quelques lignes de code « . Le lendemain, ils ont soumis l’idée à Jérôme Guillen, à l’époque chef du projet Model S, et la modification a été ajoutée au godet, sans doute avec une faible priorité. Mais la fonctionnalité était également peu complexe et elle a été implémentée dans la version suivante. C’est fait.

Je partage cette anecdote pour illustrer le fossé qui existe, à l’échelle du Grand Canyon, entre Tesla et les constructeurs automobiles traditionnels comme Audi ou Renault. Si quelqu’un de l’une de ces anciennes sociétés avait eu l’idée de développer une fonctionnalité impliquant que le système de navigation envoie des instructions à une fonction vitale de la voiture comme la suspension, cela ne serait allé nulle part.

Encore une fois, cela est basé sur l’expérience. Chez un ancien constructeur automobile, toute nouvelle fonctionnalité doit subir un processus fastidieux avant même d’avoir la chance de voir la lumière du jour. Une fois documenté en détail, le projet aurait fait l’objet d’une série de réunions au cours desquelles il aurait été demandé aux services des ventes et du marketing si la fonction serait un argument de vente pour la voiture ; tous les responsables des sous-systèmes auraient alors été invités à donner leur avis, les fournisseurs auraient été convoqués et une foule de spécifications auraient suivi. En supposant que l’élément ait survécu à ce long voyage, il aurait été mis dans le pipeline et programmé pour la prochaine mise à niveau majeure de l’ensemble du modèle, peut-être dans deux ans.

En termes pratiques, cela explique le sentiment de nombreux conducteurs qui ne comprennent pas pourquoi le système de navigation ou l’interface de l’écran de leur voiture semble si dépassé par rapport à ce qu’ils obtiennent sur leur smartphone, leur tablette ou leur PC. En fait, il est probable que le design ait été gravé dans la pierre cinq ans plus tôt.

Les logiciels automobiles n’ont pas grand-chose à voir avec les ordinateurs. Tout d’abord, pour une voiture, il n’y a pas de système d’exploitation centralisé comme dans un PC ou un smartphone. Le terme que nous utilisons est « firmware« , c’est-à-dire un ensemble d’instructions qui contrôlent un élément matériel particulier, comme les injecteurs, le groupe motopropulseur, le système anti-collision, les vitres, les essuie-glaces, mais aussi des éléments de sécurité essentiels comme les dispositifs de sécurité en cas de collision. En cas de choc sur une voiture électrique, par exemple, un ensemble de microprogrammes activera les tendeurs de ceinture, déclenchera les airbags, enverra un message de détresse, coupera le courant pour éviter un choc électrique (la Porsche Tycan est équipée d’une batterie de 800 volts – deux fois plus qu’une Tesla – qu’il vaut mieux déconnecter en cas d’accident majeur pour éviter de faire frire les passagers).

En raison de leur complexité, les voitures à moteur à combustion interne (ICE) comportent en fait plus de microprogrammes que les VE : alors qu’une Tesla possède 50 à 60 unités de contrôle électronique (UCE) différentes contrôlées par un microprogramme, une Audi en aura une centaine. L’électronique automobile est gérée par un bus spécifique appelé CAN (pour Controller Area Network) qui permet aux microcontrôleurs et aux appareils d’interagir par le biais de messages envoyés de manière séquentielle. Ce système ingénieux a été inventé en 1983 par Robert Bosch GmBH et a été utilisé pour la première fois dans une Mercedes en 1991. Plus tard, il a été étendu à l’aviation et à divers systèmes d’automatisation, dont … les bras prothétiques.

La course à l’OS pour une voiture

Bizarrement, l’industrie automobile n’a pas encore inventé son propre système d’exploitation. Compte tenu de sa position avancée et de son agilité, il est probable que Tesla l’obtienne en premier. Certains constructeurs automobiles commencent à se rendre compte que le train a quitté la gare. Personne ne le comprend mieux que le PDG du groupe Volkswagen, Herbert Diess. En juin dernier, M. Diess a fait part de ses préoccupations lors d’une réunion de la direction :

« Il faudra des années avant que nous ayons atteint le niveau d’expertise nécessaire en matière de logiciels pour pouvoir être compétitifs au premier plan. (…) Même aujourd’hui, il n’y a pas une ligne de code de logiciel qui vienne de nous ».

A propos de la concurrence de VW, il a ajouté :

« Une des vérités désagréables est qu’en Chine, notre leadership sur le marché n’est pas une loi de la nature. (…) En Chine, le leader des voitures électriques s’appelle désormais Tesla ».

Un an auparavant, lors d’une présentation devant la communauté financière, M. Diess avait exposé la stratégie du constructeur automobile en matière de logiciels, baptisée Car.software, qui implique explicitement que VW développe une pile de type OS, comme le résument ces deux diapositives :

Si le nombre de lignes n’est pas le meilleur moyen de mesurer les performances réelles d’un logiciel, il fournit une mesure révélatrice de son évolution, comme l’a également indiqué McKinsey dans cet article :

« L’importance de l’électronique et des logiciels s’est accrue, tout comme la complexité. Prenez par exemple l’explosion du nombre de lignes de code logiciel (SLOC) contenues dans les voitures modernes. En 2010, certains véhicules comptaient environ dix millions de SLOC ; en 2016, ce nombre a été multiplié par 15, pour atteindre environ 150 millions de lignes. La complexité croissante des logiciels entraîne d’importants problèmes de qualité, comme en témoignent les millions de rappels de véhicules récemment effectués ».

L’avènement d’un véritable système d’exploitation robuste pour les automobiles est en fait un énorme défi non seulement pour les constructeurs automobiles mais aussi pour l’ensemble du secteur technologique, car ils seront tentés de se joindre à la mêlée : l’évolution la plus probable pour l’industrie automobile est de voir une concurrence entre les constructeurs automobiles traditionnels et les géants de la technologie – avec Tesla comme franc-tireur – pour arriver à un système d’exploitation automobile qui établira la norme pour l’ensemble du secteur.

Un système d’exploitation automobile ouvrira également la voie à deux évolutions de l’activité : un changement radical de la valeur d’une automobile et la création d’un écosystème d’applications abondantes.

Sur le premier point, considérons ce qui suit. Les voitures électriques bénéficieront d’une longue durée de vie et d’une maintenance réduite, grâce à des moteurs fiables, à un nombre réduit de pièces mécaniques et à des systèmes de prédiction des pannes. Même les batteries visent désormais une durée de vie d’un million de kilomètres. En conséquence, la dépréciation des VE sera beaucoup plus faible que celle des voitures à moteur à combustion interne. On peut déjà le constater : selon le cabinet de recherche CarEdge, une Tesla Model S acquise en 2017 conservera 63 % de sa valeur, contre 53 % pour une Mercedes Benz Classe S et 48 % pour une Audi A7. Cela est dû en grande partie à la technologie des VE. Mais le potentiel de mise à jour des logiciels joue également un rôle essentiel dans la préservation de la valeur d’une nouvelle génération de voitures.

Elon Musk a dit un jour que tous les capteurs nécessaires à la Tesla autonome de niveau 5 sont déjà intégrés dans la voiture (avec une autonomie de niveau 5, vous appelez le véhicule et il vous emmène où vous voulez, sans rien toucher). Le temps nous dira si c’était tout à fait vrai, mais le principe existe déjà avec le smartphone : chaque version importante d’iOS ou d’Android réveille des éléments matériels qui n’étaient pas utilisés auparavant, comme les puces liées à l’IA. Il en va de même pour la voiture, d’autant plus que le coût de chargement des derniers chipsets est presque négligeable compte tenu du prix d’une voiture. Certaines mises à jour ne feront qu’améliorer les fonctionnalités existantes ou l’interface utilisateur, tandis que d’autres seront des fonctionnalités majeures payantes comme la conduite assistée ou l’amélioration de l’autonomie (lors des ouragans de 2017 et 2019, Tesla a débloqué une augmentation de l’autonomie de 8 à 24 % simplement en envoyant des commandes en direct à ses clients de Floride désireux de fuir la tempête). On peut s’attendre à ce que des fonctions coûteuses comme les futures versions du pilote automatique suivent le même chemin.

L’App Store pour la voiture

Mais le saut de valeur ultime sera la création d’un écosystème d’applications. La limite ne sera que l’imagination des créateurs d’applications. Par exemple, les exploitants d’aéroports sont susceptibles de développer des applications pour gérer le trafic automobile et les flux de passagers. Voici un cas d’utilisation : Votre vol au départ de l’aéroport de San Jose part dans une heure. Votre double système d’application – l’un dans votre téléphone, l’autre dans la voiture – vérifie le statut du vol, la porte d’embarquement et le trafic. Il vous avertit quand il est temps de partir. Une fois à proximité de l’aéroport, l’application vous guide vers la place de parking la plus proche de la porte d’embarquement. Un autre scénario, un peu plus futuriste, consiste à déposer votre voiture devant le terminal, puis à laisser le pilote automatique envoyer la voiture sur le parking de longue durée situé à quelques kilomètres de là (cela deviendra bientôt possible car les environnements géoclôtés tels que les aéroports sont bien adaptés à la conduite autonome de niveau 4).

Là encore, cela implique des changements majeurs dans la manière dont les logiciels pour voitures sont actuellement traités. Ces scénarios exigent que la voiture et les applications téléphoniques fonctionnent de manière transparente, en échangeant des données en temps réel avec les compagnies aériennes, l’aéroport, le système de navigation de la voiture, l’infrastructure du parking et, finalement, le pilote automatique. Nous n’en sommes pas encore là, mais d’ici là, la poussière sera retombée : soit les constructeurs automobiles auront développé leur propre système d’exploitation – en même temps que les SDK pour favoriser le développement d’applications tierces – soit des géants de la technologie auront pris le relais, en tirant parti de leur position actuelle sur le marché de la téléphonie pour imposer leurs propres normes. J’ai toujours pensé qu’Apple avait cela à l’esprit lorsqu’elle a engagé des légions d’ingénieurs pour son projet Titan et qu’elle a déposé des demandes d’autorisation pour des voitures à conduite autonome auprès du département californien des véhicules à moteur. Je doute qu’ils aient complètement renoncé à l’idée de reproduire ce qu’ils ont réalisé pour le marché des smartphones, qui représente 500 milliards de dollars, avec le secteur automobile, qui représente 3 billions de dollars.

Philippe Chain & Frederic Filloux

 

 

Via Mondaynote

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.