Le DARPA, pour ceux qui ne connaissent pas, c'est l'agence de recherche du Ministère de la Défense (d'où le D). Des gens qui sont à l'origine, notamment, d'un truc qui s'appelait le DARPANET, et qui est l'ancètre d'internet. Ou de l'Internet, si vous préfèrez. Toutes les photos de cette page sont fournies gracieusement par la DARPA, et leur appartiennent.

En 2003, sous l'impulsion de son président, le DARPA a lancé le DARPA Grand Challenge : construire des véhicules autonomes, des robots, qui seraient capables d'effectuer un parcours donné, en un temps limité. La première édition a lieu en mars 2004, et rassemble une trentaine de candidats. Le trajet est relativement simple : de Barstow (Californie) à Primm (Nevada), c'est à dire de la banlieue de Los Angeles à la banlieue de Las Vegas, mais en passant uniquement par des pistes en terre et du hors-piste, pour un trajet de 200 miles (320 km). Cette première édition est resté dans les mémoires : aucun des robots engagés n'a dépassé 7 miles (10 km).

Le rapport de la course est de toute beauté :

Vehicle 22 - Red Team - At mile 7.4, on switchbacks in a mountainous section, vehicle 
went off course, got caught on a berm and rubber on the front wheels caught fire, which 
was quickly extinguished.  Vehicle was command-disabled. 

Vehicle 21- SciAutonicsII - At mile 6.7, two-thirds of the way up Daggett Ridge, vehicle 
went into an embankment and became stuck.  Vehicle was command-disabled. 

Vehicle 5 - Team Caltech - At mile 1.3, vehicle veered off course, went through a fence, 
tried to come back on the road, but couldn’t get through the fence again.  Vehicle was 
command-disabled. 

Selon les gens du Team Cornell (qui n'avaient pas participé) cette première édition avait deux défauts : d'une part, c'est évident, les robots n'étaient pas près à se débrouiller tous seuls. D'autre part, le parcours n'avait pas été choisi de façon à départager les candidats : les organisateurs ne savaient pas ce qui poserait un problème aux robots, et énormément de difficultés étaient concentrés sur les premiers miles (barrières, routes encaissées, routes en dévers, épingles à cheveux...)

En octobre 2005, pour ne pas rester sur un échec, a lieu la deuxième édition, 132 miles d'un parcours dans le désert. Le parcours n'est communiqué aux candidats que le jour de la course. Les véhicules doivent suivre un parcours défini par des points de passage, et ne pas s'en écarter de plus d'une dizaine de mètres. Le tout dans un temps limité (10h). Cette fois-ci, six véhicules termineront, dont cinq dans les délais.


Le véhicule de Stanford passe la ligne d'arrivée, le premier. Remarquez les appareils photos brandis par l'assistance : l'instant est historique. Pour la première fois, un véhicule entièrement autonome a effectué un parcours de 200 km (remarquez aussi la voiture d'assistance, qui suivait en permanence et qui avait le pouvoir de désactiver le robot à tout moment s'il effectuait une manœuvre dangereuse pour la vie humaine — ou pour lui-même). Ce qui explique également l'enthousiasme de l'assistance, outre le sentiment de participer à un moment historique, c'est que l'équipe gagnante se partage un chèque de 2 millions de dollars... (Stanford University a dû en prélever au moins la moitié, et c'est une grosse équipe, mais ça laisse quand même au moins 10 000 $ par personne, je pense)

Cornell participait à cette édition 2005, mais leur véhicule fait partie de ceux qui n'ont pas terminé : leur GPS ne savait pas bien compenser les variations d'altitude et leur effet sur le positionnement horizontal (en gros, si le véhicule monte ou descend, le GPS se décale). Au passage d'un pont avec un fort dos d'âne, la voiture a percuté le parapet du pont, et n'a pas pu se dégager : ils n'avaient pas prévu de pouvoir enclencher la marche arrière...

En comparant les photos des concurrents de 2004 et de ceux de 2005, plusieurs choix technologiques ont été adoptés par toutes les équipes : la difficulté porte sur le guidage et l'intelligence du véhicule, pas sur le franchissement tout-terrain. Alors que plus de la moitié des véhicules de 2004 étaient construits pour la circonstance, presque tous les concurrents de 2005 sont partis d'une voiture normale, à laquelle ils ont ajouté des capteurs, un ordinateur et une commande du volant, de l'accélérateur et des freins. Autre différence : alors qu'en 2004 la moitié des candidats venaient d'entreprises privées, en 2005 tous ceux qui ont terminé étaient en lien avec une université (Stanford, Carnegie Mellon, MIT, Virginia Tech...) Clairement, le problème est à la pointe de la recherche.

Visiblement, le système de concours porte ses fruits, et la technologie évolue à grands pas. En 2006, DARPA relance le challenge, mais en plus difficile : cette fois-ci, les robots devront se déplacer dans un environnement urbain, en respectant le code de la route et en évitant les autres véhicules. Forts de l'expérience acquise, presque tous les candidats de 2005 recandidatent, dont Cornell. C'est la voiture construite pour ce concours que je suis allé visiter.

L'équipe avait obtenu la location d'une base militaire désaffectée à 50 km au nord d'Ithaca, où ils ont habité et construit, testé, débuggé... leur robot, pendant un an. Quand les gens voyaient une grosse voiture noire aux vitres teintées qui se déplaçait sur la base, ils pensaient que les militaires étaient revenus. Il faut dire que le robot de Cornell est plutot discret :

De l'extérieur, presque rien ne le distingue d'une (grosse) voiture normale, à part le scanner laser rotatif sur le toit. Si on le compare aux autres candidats :

la différence esthétique saute aux yeux. Il s'agit d'un choix esthétique, délibéré, de l'équipe. Ça ne leur a pas rapporté de points le jour du concours, mais les journalistes ont remarqué... et ça aussi, ça compte quand on sort de l'université et qu'on cherche du boulot.

Malgré son apparence innocente, la voiture est bardée de capteurs: le scanner laser rotatif sur le toit, trois scanner laser à l'avant, des radars dans les pare-chocs (un à l'avant, un à l'arrière), une caméra au dessus du pare-choc, une sur le toit, une autre à l'arrière, les capteurs GPS sur le toit :


Vu de devant. En cherchant bien, on voit les capteurs.

Vu de derrière. Pareil, en cherchant bien, on voit les scanner laser. Il y en a aussi sur les côtés, derrière les vitres teintées spéciales.

Chaque capteur est relié à un contrôleur (dévelopé et construit par l'équipe) qui filtre le signal, le met à l'échelle et lui ajoute l'instant auquel il a été pris, avant de le passer à son ordinateur. Le coffre arrière, derrière le gros 26, contient un super-serveur à 17 lames. 17 ordinateurs, fonctionnant en parallèle, et chargés de la perception et de l'intelligence. Pour ceux qui s'intéressent au parallélisme, ben justement, c'est pas du parallélisme. Chacun des 17 ordinateurs a "son" travail à faire (gestion d'un capteur, perception de l'environnement, conduite du véhicule) et aucun autre. Pas de dynamic load balancing, pas de réallocation des ressources. D'un point de vue technique, c'est pas la pointe du progrès. D'un point de vue facilité à programmer et à débugger, c'est probablement un bon choix. Ça assure aussi un transfert rapide des données, sans surprises.

L'autre grosse différence avec les autres équipes, c'est le contrôle du véhicule. Ils avaient effectué une modélisation non-linéaire du moteur et des roues, et quand ils cherchaient à atteindre une certaine vitesse, l'ordinateur chargé du contrôle effectuait un calcul d'optimisation non-linéaire pour trouver les meilleurs paramètres à envoyer au moteur, aux freins, à la direction. Conséquence, le robot se déplaçait de façon très lissée, en accélérant progressivement, et en freinant avec anticipation. Vu de l'extérieur, c'était le plus proche de la conduite humaine, et celui qui donnait le moins mal au cœur au passager.

Le milieu du véhicule, derrière les portes passager, contient une réserve de batteries et la centrale inertielle. Les batteries permettent aux ordinateurs, capteurs, etc de continuer à fonctionner même si le moteur est coupé, jusqu'à six heures. Quand à la centrale inertielle, elle complète les données du GPS et elle les corrige si besoin (pour éviter les problèmes de 2005...) La centrale inertielle est un modèle de série, normal. Elle est quand même suffisamment précise pour mesurer la rotation de la Terre...

Énormément de choses sont faites par le véhicule lui-même : la climatisation, bien sûr (et donc le refroidissement de l'ordinateur), les radars sont la version fournie par le constructeur (mais détournée par eux), les capteurs des roues qui disent à quelle vitesse elles tournent, les capteurs du moteur avec le couple fourni... tout ça fait partie des choses installées en standard (bon, c'est clairement un véhicule haut de gamme...)

L'ordinateur identifie, puis suit chaque objet mobile détecté par les capteurs, et réagit en conséquence (évitement, dépassement, priorité...), tout en cherchant à suivre le parcours imposé. Encore une fois, pas la pointe du progrès en matière d'intelligence artificielle (pas d'inférence bayesienne, par exemple), mais pas de surprises, pas de bugs cachés, et ça fait le job demandé.

La veille de la course : tous les véhicules ont été transportés sur le terrain de test, et ont dû effectuer un parcours de qualification : sortir d'un parking, tourner à gauche à un stop, revenir dans le parking, tout en évitant le trafic. Le "trafic" était assuré par des véhicules normaux, conduits par des militaires (comme quoi, militaire, c'est un travail dangereux...). 11 équipes ont été qualifiés, c'est à dire ont passé l'épreuve sans problèmes. Les 11 équipes ont reçu une carte de la zone de test, 24 h avant l'épreuve. Les tests avaient lieu sur une ancienne base militaire désaffectée (et donc absente des cartes habituelles des GPS...)

Le jour de la course : 5 mn avant le départ, les concurrents ont reçu une clef USB contenant le parcours à effectuer ; ils devaient la rentrer dans l'ordinateur, et laisser le robot se débrouiller seul à partir de là.


Les concurrents sur la ligne de départ

11 voitures robot se sont donc lancées sur un parcours défini, dans un environnement urbain, avec 30 autres voitures conduites par des militaires pour simuler le trafic normal (et les 11 voitures suiveuses derrière chaque robot, prêtes à stopper le robot en appuyant sur le gros bouton rouge au moindre problème). Plusieurs voitures ont été éliminées, à chaque fois pour faute ou infraction dangereuse au code de la route (griller un stop, par exemple). Au bout d'un moment, il n'en restait plus que six. Et les six ont continué à tourner dans la ville, en continuant leur parcours imposé. Assez vite, il est apparu qu'il ne se passerait plus rien, et qu'il n'y avait plus qu'à attendre la fin. Quand les voitures de Cornell et du MIT se sont frottées les pare-chocs, ça a réveillé tout le monde... mais finalement, pas de dégats (une petite bosse dans les pare-chocs), pas d'infractions et les deux robots sont repartis. Même le gars qui a pris un sens unique à contre-sens sous le nez du robot de Cornell n'a pas réussi à provoquer un accident : le robot s'est garé délicatement sur le côté, l'a laissé passer, et s'est ré-inséré dans le trafic.


Et c'est dans un (relatif) ennui que Stanford passe la ligne d'arrivée le premier. Il prendra plusieurs secondes de pénalité après vérification, pour des infractions mineures au code de la route de Californie, et finira deuxième.


Team Cornell passe à son tour la ligne d'arrivée, sixième et dernier, mais finissant !


Pendant tout le parcours, les robots avaient leur voiture suiveuse, prête à les désactiver en cas de danger.


À force de coller des capteurs sur le toit, il y en a qui ont été obligés de monter le scanner rotatif sur une tour, pour qu'il voit au dessus de la forêt de capteurs.