Voitures autonomes sur open source

(Article Forbes 2019)

image
Brad Templeton avec une première version du Stanford Robocar.

À propos de l'auteur: Brad Templeton est un ingénieur logiciel, un évangéliste des voitures robotiques depuis 2007, a travaillé sur Google dans ses premières années. Fondateur de ClariNet , président honoraire de l' Electronic Frontier Foundation et directeur du Foresight Institute , fondateur de la faculté de la Singularity University .

Il est difficile de suivre les règles du développement ouvert ou des inventions amateurs lorsque vous créez un robot pesant 1,3 tonne et l'envoyez dans les rues parmi les piétons. Néanmoins, les innovateurs amateurs sont très importants pour toute technologie en développement. Comment résoudre la contradiction?

Récemment, il y a eu plusieurs annonces intéressantes dans le domaine du développement open source.

  • Cruise a ouvert le code source de Worldview, un visualiseur de robot . Il s'agit d'un ensemble d'outils qui facilite la création de représentations graphiques de capteurs, de zones sensorielles et d'autres données pour comprendre ce que votre machine voit et fait.
  • Uber a également publié sa boîte à outils AVS pour une visualisation similaire.
  • Baidu a publié il y a quelque temps le projet Apollo , qui comprend un ensemble complet d'outils et un simulateur.

Des packages open source d'UDacity, EB Robinos, Autoware, Nvidia et comma.ai ont également été publiés. Et bien que nous ne soyons pas au niveau où vous pouvez télécharger un ensemble d'outils et créer une voiture amateur, ce moment viendra.

J'ai une longue histoire de travail avec des outils open source, et j'ai publié plusieurs packages logiciels open source sous licences gratuites. En tant que président de l'Electronic Frontier Foundation, j'ai souvent défendu les droits d'un tel logiciel.

Ces outils aideront les développeurs à travailler plus rapidement et à s'associer pour créer les meilleures voitures autonomes. Cela est particulièrement vrai des outils utilisés pour créer des logiciels pour les machines robotiques, car il existe une forte incitation à la collaboration dans ce domaine. Les équipes intégreront des composants open source utiles dans leurs machines, si les licences le permettent. Certaines équipes pourront même créer entièrement des véhicules en utilisant l'open source. Il existe des exemples de projets open source qui dépassent de loin les initiatives commerciales beaucoup plus coûteuses. En plus de cela, il y a de bonnes raisons de faire valoir que les outils open source peuvent être plus sûrs, car chaque partie est sous le contrôle du monde entier. Bien sûr, les attaquants voient la source et cela peut les aider à trouver des vulnérabilités, mais il y a beaucoup plus de bons gars qui voient également ce code et travaillent pour le protéger.

Tout cela est attendu, mais il y a aussi un problème pour une personne qui est une star des méthodes de développement open source - les maîtres uniques. Les gens qui améliorent les systèmes le font simplement parce qu'ils les utilisent eux-mêmes et veulent les améliorer encore et partager leurs succès. Ces personnes sont les principales responsables de la plupart des outils ouverts que nous utilisons, bien que certains projets importants et importants, bien sûr, aient été créés par de grandes équipes avec un financement professionnel.

Pouvez-vous prendre un ensemble de logiciels open source, le télécharger sur votre machine et le faire conduire seul pendant que vous regardez la télévision? Pouvez-vous la faire travailler sans chauffeur pour qu'elle vienne vous chercher? Pouvez-vous apporter des modifications à votre goût ou télécharger d'autres modifications et partir avec eux? C'est une question beaucoup plus compliquée.

Les gens font ces choses tout le temps dans d'autres domaines de la programmation. Cependant, le téléphone est très différent de la voiture. Une faille de sécurité dans votre téléphone peut donner aux attaquants un accès à vos données personnelles, même aux informations de facturation, ce qui est grave. Mais la vulnérabilité d'une voiture peut vous coûter cher, à vous ou à d'autres, sur la route.

Auto-certification


De nos jours, les régulateurs ont une politique de non-intervention. Et bien qu'ils soient en avance sur le temps et créent des règles pour des technologies qui n'existent pas encore, ils se concentrent principalement sur les conditions d'autocertification des machines produites par les principaux acteurs du marché.

L'auto-certification signifie que l'entreprise teste la machine et déclare qu'elle répond vraiment aux objectifs et aux exigences de sécurité énoncés dans les règles, et les tiers ou l'État ne vérifient rien de tout cela. Au lieu de cela, s'il s'avère que l'entreprise a fait une erreur ou, pire encore, a menti sur le respect des exigences, elle sera alors soumise à la torture en justice. Idéalement, cela devrait être un tel tourment qui incitera les entreprises à effectuer des tests encore mieux que n'importe quel tiers ou État.

Ce n'est pas si difficile. La vérité est que personne ne sait comment créer un centre de test indépendant, car on ne sait pas exactement ce qu'il vérifiera ni comment cela fonctionnera. Même le gouvernement lui-même n'en a aucune idée. Pour les voitures ordinaires, il existe des tests bien compris, par exemple les crash tests. De plus, le nombre d'aspects contrôlés par des organisations externes est très différent d'un pays à l'autre. Mais dans la plupart des cas, les personnes qui créent des voitures ou des composants pour eux en savent beaucoup plus sur les contrôles de sécurité et la confirmation que quiconque, et motiver les fabricants pour être honnêtes est une technique efficace.

Dans le cas des machines robotiques, ces tests ne peuvent être effectués que par une étude approfondie du logiciel et de son fonctionnement. Vous devez bien comprendre cela pour ce faire. Il existe plusieurs tests universels qui peuvent être effectués par des laboratoires indépendants et qui seront vraiment utiles. Au fil du temps, plus de tests et plus de laboratoires apparaîtront pour eux, mais les développeurs créeront de nouvelles approches qui ne rentreront pas dans les anciens tests. Les normes et les règles peuvent définir des techniques pertinentes généralement acceptées et à court terme. Elles ne sont pas très utiles dans un domaine en évolution rapide dans lequel de nouvelles approches sont régulièrement inventées.

Valeur


Bien que l'autocertification semble être le seul système qui fonctionne pour un seul maître, malheureusement, les principes au cœur de ce système exigent que le certificateur ait suffisamment de poids pour confirmer ses affirmations. Une personne, en règle générale, n'a pas les moyens d'éviter le tourment du manque de certification appropriée. Des groupes de personnes peuvent éviter de telles situations, mais c'est difficile même pour eux. Les tests seront également coûteux s'ils sont certifiés par un tiers. Tout cela signifie qu'il s'agit d'une pratique peu fréquente qui ne peut être effectuée rationnellement que pour un logiciel qui gère des milliers de voitures.

Même s'il existe un progiciel certifié comme sûr, que se passe-t-il si vous y apportez des modifications pertinentes pour les parties importantes du code qui affectent la sécurité? Pouvez-vous conduire une telle voiture sur la route avec de nombreux obstacles autour? C'est toujours une question délicate.

Des solutions


Une solution possible serait de souscrire une assurance. Malheureusement, cela a aussi ses difficultés. Très probablement, le risque sera plus élevé que celui qui est couvert par une assurance moderne typique. De plus, les compagnies d'assurance n'ont pas de méthode pour déterminer à quel point vous êtes bon programmeur et à quel point vos modifications sont sûres.

Vous devriez pouvoir effectuer vos modifications et conduire sur la route en mode de conduite sécuritaire avec au moins une personne, et probablement deux testeurs, qui surveillent le nouveau logiciel et sont prêts à prendre le contrôle en cas de problème. C'est ainsi que les voitures sont testées aujourd'hui; il en était de même avec le pilote automatique Tesla. Cela fonctionne, mais uniquement pour les développeurs sérieux qui sont prêts à investir beaucoup de temps et de ressources, et ne fonctionne pas pour les amateurs qui souhaitent simplement apporter des modifications au logiciel de leurs voitures.

Il peut y avoir une situation dans laquelle le programmeur, après une petite vérification de conduite sécuritaire, peut envoyer ses modifications à une organisation plus grande qui peut intégrer ces modifications dans ses tests. Ils peuvent tester des centaines de modifications (disjointes) de différents développeurs en même temps. Ces programmeurs pourront partager le coût de cela et pas seulement tester ensemble pour amener leur code au niveau auquel la certification est possible. Cependant, cela reste cher.

"Mentor"


Il est également possible de créer une sorte de «mentor» logiciel. Il peut s'agir d'un simple programme certifié, qui est un pilote automatisé sûr. En fait, ce programme peut être extrait du cœur d'un système reconnu et hautement fiable qui possède tous les certificats de sécurité. Votre machine fonctionnera sur son propre système modifié, mais en même temps, le «mentor» surveillera constamment son travail. Si votre système fait quelque chose que le mentor n'aime pas, il prendra le contrôle de lui-même et conduira la voiture dans un endroit sûr ou à la maison.

Le mentor conduira prudemment. Cela signifie qu'en utilisant cette technique, vous ne pouvez rien créer de plus agressif. Si le mentor dit que vous devez arrêter et que votre programme dit que vous devez y aller, votre programme est désactivé. La gestion humaine peut avoir une priorité plus élevée qu'un mentor. Les fonctions qui nécessitent plus d'autorisations que le mentor ne peut en donner ne sont pas réalisables pour le développement et les tests sur les routes par des maîtres uniques, bien qu'elles puissent toujours les utiliser dans des simulateurs.

En fait, les simulateurs sont le salut des ingénieurs amateurs, d'autant plus que les simulateurs sont de mieux en mieux. Ils existent pour trouver rapidement des problèmes et des solutions infructueuses dans de nouveaux correctifs, ainsi que pour s'assurer qu'avant de conduire sur la route, la voiture s'est entraînée sur un kilométrage virtuel de plusieurs kilomètres.

Très probablement, le mentor devrait être basé sur une version certifiée du même ensemble de logiciels open source qui est modifiée par un ingénieur amateur. Et en fait, si le programmeur découvre que l'action que le mentor a refusé d'effectuer est en fait sans danger, alors il pourra envoyer un message d'erreur (et même une correction), et finalement (bien que pas immédiatement), le mentor peut être amélioré. plus de comportements dans les programmes testés.

La sécurité est une préoccupation particulière. Les logiciels modifiés peuvent comporter des failles de sécurité qui permettent à un attaquant de prendre le contrôle d'un mentor. Nous avons besoin du mentor pour travailler efficacement, mais un autre niveau de qualité est la capacité du mentor à reconnaître un programme malveillant qui essaie de le tromper. Toute vulnérabilité d'un mentor qui pourrait l'amener à autoriser une action peu sûre pourrait être un problème.

Le besoin d'artisans


Nous avons besoin de ceux qui sont appelés artisans dans le monde de l'automobile ou, comme nous les appelons dans le monde informatique, des pirates (l'utilisation du mot «pirate» dans le sens d'un criminel informatique est utilisée principalement en dehors de la communauté des développeurs de logiciels. Au sein de la communauté, ce mot a ceci la même signification que «maître artisan», et l'expert en délits informatiques ou piratage est un autre type de pirate). Toutes les grandes entreprises automobiles ont commencé leur voyage comme artisanat. De nombreux États ont même des lois qui font des exceptions spéciales aux règles habituelles de sécurité des véhicules pour les véhicules uniques créés par des artisans, à condition qu'ils respectent les règles de base en matière de sécurité des transports. Et cela fonctionne, surtout parce que ces véhicules ont toujours un conducteur, et en règle générale, c'est leur créateur. Dans le monde du logiciel, les pirates (dans un sens non criminel) ont apporté une énorme part de l'innovation.

Nous voulons même soutenir l'idée d'une petite entreprise automobile qui peut distribuer ou vendre des systèmes modifiés pour les machines robotiques avec un mentor intégré aux clients intéressés. Contrairement aux clients dans d'autres domaines, cela mettra d'autres personnes en danger, et pas seulement elles-mêmes, mais l'innovation nécessite également de petites entreprises.

Un mentor comme celui qui vient d'être décrit n'existe pas encore. Mais cela devrait être dans nos plans, car le monde des véhicules sans pilote sans innovations d'artisans et de pirates sera moins développé et sûr qu'un monde dans lequel seules les grandes entreprises peuvent contribuer.



image

À propos d'ITELMA
Nous sommes une grande entreprise de composants automobiles . L'entreprise emploie environ 2 500 personnes, dont 650 ingénieurs.

Nous sommes peut-être le centre de compétences le plus puissant de Russie pour le développement de l'électronique automobile en Russie. Maintenant, nous sommes en pleine croissance et nous avons ouvert de nombreux postes vacants (environ 30, y compris dans les régions), tels qu'un ingénieur logiciel, un ingénieur de conception, un ingénieur de développement principal (programmeur DSP), etc.

Nous avons de nombreux défis intéressants de la part des constructeurs automobiles et des préoccupations qui animent l'industrie. Si vous souhaitez évoluer en tant que spécialiste et apprendre des meilleurs, nous serons heureux de vous voir dans notre équipe. Nous sommes également prêts à partager l'expertise, la chose la plus importante qui se passe dans l'automobile. Posez-nous des questions, nous répondrons, nous discuterons.

Lisez d'autres articles utiles:

Source: https://habr.com/ru/post/fr478640/


All Articles