Une puce ultrarapide de planification de mouvement pourrait rendre les voitures autonomes plus sûres
Une puce ultrarapide de planification de mouvement pourrait rendre les voitures autonomes plus sûres

Alors que la plupart des voitures autonomes s’appuient sur des systèmes de planification de mouvement fonctionnant à une fréquence comprise entre 3 Hz et 10 Hz, le système de Realtime Robotics fonctionne à 1000 Hz, en passant par un réseau de données massif de trajectoires possibles en parallèle. Son processeur de planification de mouvement aide les voitures autonomes à prendre de meilleures décisions.
Il y a environ deux ans, un projet de recherche de l’Université Duke accélérait de plusieurs ordres de grandeur la planification du mouvement d’un bras robotique de table. Le robot s’appuyait sur un processeur personnalisé pour faire en millisecondes ce qui prend normalement quelques secondes. Les chercheurs de Duke ont formé une société basée sur cette technologie baptisée Realtime Robotics, et récemment ils se sont concentrés sur son application pour les véhicules autonomes.
La raison pour laquelle vous devriez vous préoccuper de la planification des mouvements rapides pour les véhicules autonomes est que la planification des mouvements englobe le processus par lequel le véhicule décide ce qu’il va faire ensuite. Accélérer ce processus ne signifie pas seulement que le véhicule peut prendre des décisions plus rapidement, mais aussi qu’il peut prendre des décisions beaucoup plus judicieuses en vous maintenant, vous et tous ceux qui vous entourent, en sécurité autant que possible.
Voici le problème : naviguer dans un monde intrinsèquement imprévisible implique un nombre considérable d’ordinateurs qui essaient de deviner ce que les humains vont faire ensuite. Les ordinateurs sont assez bons à cela, surtout dans les environnements semi-structurés comme sur les routes. La plupart d’entre eux utilisent ce qu’on appelle des modèles probabilistes pour prédire ce que feront les objets non déterministes (des choses qui ont un organisme indépendant). Par exemple, la plupart des modèles conviendraient probablement qu’une voiture qui se trouve devant vous sur l’autoroute a une forte probabilité de continuer à rouler à peu près à la même vitesse tout en restant dans sa voie. La probabilité qu’elle change de voie sans signalisation est un peu plus faible, et la probabilité qu’elle freine brusquement est encore plus faible.

Scénario d’une puce de planification de mouvement de Realtime Robotics. Dans ce scénario simulé, un piéton sort de derrière une voiture stationnée. Avec une planification de mouvement conventionnelle à 10 Hz (à gauche), le véhicule autonome n’a pas le temps d’éviter de heurter le piéton. En revanche, avec la puce de planification de mouvement de Realtime Robotics fonctionnant à 1000 Hz (à droite), le véhicule autonome est capable de calculer une trajectoire qui s’éloigne du piéton.
La plupart des systèmes de conduite autonomes planifient les mouvements en fonction du scénario le plus probable de leur modèle pour ce que feront les objets qui les entourent. Ces modèles peuvent fournir un niveau de confiance et le système peut ralentir le véhicule s’il n’est pas sûr de ce qui va se passer, mais il ne planifie qu’un seul scénario à la fois, au lieu de considérer toutes les actions possibles qu’un véhicule pourrait prendre (même les plus improbables) et de faire un plan de mouvement qui maintient le véhicule dans la position optimale pour gérer même ce qui ne peut arriver. Contrairement à la plupart des systèmes de conduite autonomes qui ne peuvent gérer qu’un seul plan de mouvement à la fois à une fréquence comprise entre 3 Hz et 10 Hz, Realtime Robotics peut exécuter des dizaines, voire des centaines de plans de mouvement tout en dépensant moins d’une milliseconde en calcul – une fréquence de 1 000 Hz chacun. Cela permet au système d’examiner beaucoup plus de résultats potentiels en beaucoup moins de temps pour arriver à la meilleure décision possible.

Réseau de données de Realtime Robotics: Exemple d’un maillage, les cases bleues représentant le véhicule lorsqu’il traverse les bords du maillage.
Le système de planification de mouvement pour véhicules de Realtime Robotics commence par un maillage – un énorme graphique pré-calculé composé de toutes les différentes trajectoires que le véhicule pourrait suivre dans un environnement sans obstacle. Il le fait pour un horizon temporel de 5 à 10 secondes. Le maillage se compose de nœuds et de bords : Les nœuds sont des configurations spécifiques du véhicule (position, vitesse, cap), tandis que les bords relient les nœuds et représentent la trajectoire entre ces configurations sur une durée de déplacement d’environ 1 seconde pour le véhicule. Il y a des dizaines de millions de bords dans le maillage, reflétant toutes les différentes transitions possibles entre les états de configuration à travers tout l’horizon temporel que couvre le treillis. Chaque bord est assorti d’un coût qui représente des éléments comme la consommation de carburant ou le confort des passagers, et les bords les plus économiques impliquent un mouvement plus efficace et plus doux.
Le plan de mouvement que vous obtenez du système de Realtime Robotics est à peu près aussi bon que le plan de mouvement que vous obtiendriez de tout autre système. La différence, c’est qu’il a livré le plan entre un et deux ordres de grandeur plus rapidement, ce qui signifie qu’il peut revenir en arrière et exécuter à nouveau l’ensemble de la planification pour générer de meilleures décisions.
A chaque intervalle de planification (environ toutes les 10 millisecondes), voici la séquence des étapes que le système Realtime utilise pour planifier les mouvements :
- Les données de perception provenant des caméras, du radar, du lidar et d’autres capteurs sont introduites dans le système, qui identifie les obstacles statiques (comme les bâtiments et les arbres), les obstacles déterministes mobiles (comme les ballons de foot) et les obstacles non déterministes mobiles plus difficiles, comme les autres voitures, piétons et bicyclettes. Toutes les données de perception avec l’emplacement des obstacles statiques et déterministes (qui sont modélisés comme de plus grands objets statiques) sont déposées dans le maillage. Les arêtes qui croisent des obstacles ont des coûts très élevés, parce que vous ne voulez certainement pas que le véhicule les suive.
- Pour chacun des obstacles non déterministes, le système doit faire une estimation éclairée de la trajectoire qu’ils sont susceptibles de suivre dans l’intervalle de planification. Heureusement, beaucoup de gens ont passé beaucoup de temps à y réfléchir, et il existe de nombreux modèles qui font de leur mieux pour prédire ce que les voitures, les piétons et les bicyclettes sont susceptibles de faire. Le système fait ses suppositions, l’utilise pour modéliser un obstacle non déterministe en tant qu’objet statique et met à jour les bords du treillis avec ces nouveaux coûts.

Puce reconfigurable de Realtime Robotics: Le système de Realtime Robotics utilise une puce FPGA reconfigurable qui peut encoder les données du réseau dans le matériel, puis les exécuter en parallèle.
3) Avec toutes les données sur les obstacles dans le maillage, il est temps de faire la planification du mouvement réel qui indique au véhicule où il doit aller ensuite. C’est là que le matériel personnalisé de Realtime Robotics entre à nouveau en jeu avec une puce reconfigurable FPGA qui peut encoder les données de maillage dans le matériel, puis passer par les bords du maillage (principalement en parallèle) pour trouver le chemin au moindre coût. Ce parallélisme matériel rend l’étape de planification du mouvement extrêmement rapide, prenant moins d’une milliseconde pour livrer un plan, et il est facile d’ajouter plus de matériel si vous avez besoin de mettre à niveau.
4) A ce stade, le plan de mouvement que vous obtenez du système de Realtime est à peu près aussi bon que le plan de mouvement que vous obtiendriez de tout autre système. La différence est que le système de Realtime a livré le plan entre un et deux ordres de grandeur plus rapidement, ce qui signifie qu’il peut revenir à l’étape 3 et exécuter le tout à nouveau, en utilisant une estimation légèrement différente sur ce que les obstacles mobiles non déterministes pourraient faire. Puisque les modèles se contentent de faire des suppositions probabilistes sur ce que les autres voitures, les piétons ou ce que feront les autres voitures ou les piétons, la supposition la plus probable est exactement la même, la plus probable, mais ce n’est peut-être pas ce qui se passe dans les faits. Et plus la situation est complexe, plus il sera difficile de deviner correctement. En parcourant les étapes 3 et 4 à plusieurs reprises, de 10 à 100 fois, vous pouvez considérer le scénario le plus probable ainsi que de nombreux autres scénarios, puis choisir le meilleur plan de mouvement possible qui offre la meilleure garantie de sécurité pour tous les résultats possibles que vous avez modélisés.
5) L’étape finale consiste à exécuter le plan de mouvement. Ou, plus précisément, pour dire au véhicule quel bord du treillis prendre ensuite. Puisque chaque bord du treillis représente 1 seconde du temps du véhicule et qu’un nouveau plan de mouvement est calculé et exécuté toutes les 10 millisecondes, il peut être préférable de penser à cette dernière étape comme à la toute première action d’un plan de mouvement de plusieurs secondes qui se renouvelle 100 fois par seconde. Vous pourriez finir par suivre ce plan, ou quelque chose pourrait changer et un nouveau plan (et totalement différent) pourrait être mieux – c’est un monde imprévisible et la planification rapide signifie que votre véhicule peut prendre les meilleures décisions aussi rapidement qu’il en a besoin.
Et il ne s’agit pas seulement de pouvoir modéliser toute une série de plans de mouvement à la fois (même si c’est plutôt bien) – il s’agit aussi de la vitesse pure, car lorsque vous planifiez un mouvement pour un véhicule en mouvement rapide, le temps passé à planifier équivaut à la distance parcourue. À une vitesse de 60 km/h, la différence entre une planification de 10 ms et une planification de 100 ms est d’environ un mètre et demi, ce qui pourrait facilement faire la différence entre éviter avec succès un piéton égaré, et ne pas le faire. À des vitesses plus élevées et dans des environnements plus contraignants, comme sur l’autoroute, vous voudrez peut-être envisager moins de plans en échange d’une vitesse de planification plus rapide pour donner au véhicule plus d’espace pour réagir. Et à des vitesses plus lentes dans des environnements plus complexes, vous pouvez vous permettre de consacrer plus de temps à la planification, ce qui pourrait être bénéfique dans les centres-villes où les modèles probabilistes doivent tenir compte de toutes sortes de choses plus ou moins imprévisibles.
Bien que Realtime, qui est basé à Boston, ait effectué des tests approfondis en simulation, ils n’ont pas encore eu l’occasion d’essayer cela dans une vraie voiture, bien qu’ils développent des prototypes pour plusieurs sociétés dans le domaine des véhicules autonomes. Il est bon de voir ce niveau d’innovation et de concurrence sur autre chose que des capteurs, et nous verrons comment l’industrie réagira.
https://rtr.ai/updates/solving-the-autonomous-vehicle-safety-challenges/