Étude des travaux de Geohot sur les véhicules autonomes

Il y a quelques temps je vous avais présen­té le véhicule autonome de Geo­hot, cet hack­er améri­cain qui s’est fait con­naître pour ses travaux sur le déver­rouil­lage de l’i­Phone ain­si que pour avoir été le pre­mier à pirater la PlaySta­tion 3. Quand j’ai écrit cet arti­cle (et tourné cette vidéo), je ne con­nais­sais pas les détails de l’im­plé­men­ta­tion de l’IA du véhicule de COMMA.AI (c’est le nom de sa boite). Depuis, plusieurs codes source ont été releasés sur Github. Je n’avais pas aban­don­né l’idée de fouin­er un peu plus en détail… et je n’ai pas été déçu…

39651_george-geohot-hotz-le-pied-piper-de-la-voiture-autonome

OpenPilot

Open­Pilot est le nom pour Open Source Dri­ving Agent. Il implé­mente prin­ci­pale­ment 2 fonc­tion­nal­ités: l’Adap­ta­tive Cruise Con­trol (AAC) et le Lane Keep­ing Assist Sys­tem (LKAS). Il ne fonc­tionne pour l’in­stant que sur une Acu­ra ILX 2016 avec Acu­raWatch Plus, et sur une Hon­da Civic 2016 avec Hon­da Sensing.

L’ACC est un régu­la­teur de vitesse adap­tatif. Il main­tient automa­tique­ment une dis­tance de sécu­rité présélec­tion­née par rap­port au véhicule qui précède. Par le biais d’un radar, le dis­posi­tif détecte la voiture qui précède et main­tient automa­tique­ment la dis­tance de sécu­rité choisie au préal­able par le con­duc­teur. La dif­férence de fréquence entre les ondes émis­es et réfléchies per­met de cal­culer la dis­tance exacte et la dif­férence de vitesse entre les deux véhicules. Lorsque la dis­tance dimin­ue sous une valeur prédéter­minée, le sys­tème décélère instan­ta­né­ment le véhicule en com­man­dant l’ac­céléra­teur et, si néces­saire, les freins.

Le LKAS ou sys­tème d’assistance au main­tien dans la voie de cir­cu­la­tion recon­naît les mar­quages au sol au cen­tre desquels votre véhicule se déplace et per­met à la voiture de demeur­er dans sa tra­jec­toire en cor­rigeant fine­ment le cou­ple appliqué dans le volant. De même, le sys­tème vous informe au tra­vers de sig­naux visuels et sonores lorsque les roues se rap­prochent de trop près ou fran­chissent les mar­quages au sol. Enfin, c’est le fonc­tion­nement habituel.

Ces sys­tèmes exis­tent plus ou moins déjà chez les fab­ri­cants. D’après Geo­hot, le sien est aus­si bon que l’Autopi­lot de Tes­la à son lance­ment, et meilleur que celui des autres fab­ri­quants.

Plateforme NEONEOS

Pour fonc­tion­ner, le sys­tème se base sur la plate­forme neo dévelop­pée par Geo­hot également.

neo

A l’o­rig­ine, cette plate­forme open source est dédiée à la recherche en robo­t­ique. Elle est con­stru­ite autour d’un smart­phone One­Plus 3 (CPU Snap­drag­on 820, 6 Go RAM, GPU Adreno 530)  et d’un CAN (Con­ver­tis­seur Analogique Numérique) util­isant un STM32F205. Le tout, enrobé d’un boiti­er imprimé en 3D, doté d’un ven­ti­la­teur. Tou­jours d’après Geo­hot, il n’y a pas de meilleur processeur pour l’embarqué que ceux qui équipent les smart­phones actuels.  Et ils sont aus­si très peu cher.

Le sys­tème d’ex­ploita­tion util­isé n’est autre qu’un fork de l’Android designed for easy robot­ics devel­op­ment, que Geo­hot a appelé NEOS v2.

La plate­forme au total coûte env­i­ron 700$. Des instruc­tions détail­lées per­me­t­tent de la construire.

Learning a Driving Simulator

Pour l’in­stant, nous savons com­ment la véhicule col­lecte des don­nées, par quel type de matériel, et quelle fonc­tion­nal­ités sont implé­men­tées au tra­vers d’Open Pilot. Mais cela ne fait tou­jours pas un véhicule autonome. Pou­vons nous en savoir plus ?

Eder San­tana et George Hotz (Geo­Hot) ont écrit un papi­er sur la ques­tion. Pour vous éviter de le lire, je vais vous le résumer. L’idée à la base, c’est que pour appren­dre à con­duire, l’IA doit appren­dre à repro­duire les com­porte­ments humains et les manœu­vres en les étu­di­ants et en sim­u­lant dif­férents évène­ments sur la route.  Et pour cela, on va utilis­er divers algo­rithmes et réseaux de neu­rones (dont des récurrents).

Pour entraîn­er le sys­tème, on va utilis­er un jeu de don­nées d’en­trée (dataset) d’en­v­i­ron 7H15 de con­duite sur autoroute (45 GB, télécharge­able ici).

Il repose sur Ten­sor­Flow (avec Keras) et OpenCV (tou­jours les mêmes, hein) et la dis­tri­b­u­tion python Ana­con­da.

Le code source du sys­tème d’entraînement est disponible à cette adresse.

Tout cela est indépen­dant des mod­ules vus précédem­ment, mais fait par­tie du sys­tème glob­al util­isé par Geohot.

Je ne peux pas vous en dire plus dans cet arti­cle, ce n’est pas le but d’un arti­cle sur le web. Toute­fois, je vous pré­pare quelque chose de plus gros dans lequel je reviendrai en détail sur ce pro­jet. Donc, si cela vous intéresse, con­tin­uez à suiv­re ce blog et soyez vigilent !

Si le sujet vous intéresse, retrou­vez d’autres infos sur les véhicules élec­triques et les véhicules autonomes. Et bien enten­du, sur le Deep Learn­ing.

 

Laisser un commentaire

Fièrement propulsé par WordPress | Thème : Baskerville 2 par Anders Noren.

Retour en haut ↑

%d blogueurs aiment cette page :