Résumé! Résumé des méthodes de gestion des obstacles dans la planification automatique des trajets routiers

Auteur | M. Xiya Editeur | Autobot

Lien d'origine : https://zhuanlan.zhihu.com/p/635971229

Cliquez sur la carte ci-dessous pour faire attention au compte public " Automatic Driving Heart "

Marchandises sèches ADAS Jumbo, vous pouvez l'obtenir

Cliquez pour entrer → Automatic Driving Heart [Planning Control] Groupe d'échange technique

Réponse de l'arrière-plan [Résumé du contrôle de la planification] Obtenez les derniers articles de synthèse sur la planification et le contrôle de la conduite autonome et des robots intelligents !

1. Introduction

Que la planification de trajectoire soit effectuée dans le système de coordonnées Frenet ou dans le système de coordonnées cartésiennes, la gestion des contraintes d'obstacles est la partie la plus difficile de l'ensemble du problème de planification de la conduite autonome. (PS se réfère ici aux méthodes basées sur l'optimisation, les méthodes basées sur l'échantillonnage + l'élagage et la recherche de grille sont hors de la portée de la discussion)

D'une manière générale, le traitement de bonnes contraintes d'obstacles doit répondre aux caractéristiques suivantes : précision, différentiabilité, faible complexité de calcul et un petit nombre de points extrêmes locaux .

Dans la littérature existante relative à la conduite autonome, les méthodes de traitement des contraintes d'obstacles peuvent être grossièrement réparties dans les catégories suivantes :

  1. Méthode de traitement basée sur la programmation linéaire mixte en nombres entiers

  2. Méthode OBCA

  3. Méthode de traitement basée sur un couloir de circulation à coque convexe

  4. Méthode de traitement basée sur le champ de distance signé (SDF)

Ci-dessous, je vais présenter les idées de base de chaque méthode une par une et comparer leurs avantages et leurs inconvénients.

2 Expression générale des contraintes d'obstacles

Tout d'abord, définissez le point de coordonnées sur le plan bidimensionnel comme p=[x,y], puis vous pouvez définir un ensemble représentant l'espace occupé par les obstacles et un ensemble représentant l'espace occupé par le véhicule principal, puis définir l'obstacle contraintes mathématiquement avec précision.

Dans cet article, on suppose que les obstacles peuvent être enveloppés par un polygone convexe ou plusieurs polygones convexes, ce qui simplifie la description des contraintes d'obstacles. Cette hypothèse est raisonnable et est adoptée dans la plupart des articles. Même les obstacles très complexes peuvent être assouplis avec un petit nombre de contraintes afin qu'ils puissent être représentés par plusieurs polygones convexes. Un obstacle polygonal convexe peut être représenté par les symboles suivants :

3c3d9a711408493713f59b9caeb5220a.png

Parmi eux, chaque ligne de la matrice A représente le vecteur normal d'un côté d'un polygone d'obstacle, et chaque ligne de vecteur b représente la distance de ce côté de l'obstacle à l'origine. Ainsi, n représente également le nombre de côtés de la coque convexe de l'obstacle. Notez que la signification ici suppose que la longueur du module de chaque ligne de la matrice A est de 1.

L'espace occupé du véhicule principal est généralement exprimé par plusieurs cercles enveloppants ou un seul rectangle. Lorsque le cercle d'enveloppe est utilisé pour exprimer, le cercle d'enveloppe peut être réduit à un point de masse et l'obstacle peut être agrandi d'un rayon de cercle, de sorte que le véhicule principal peut être réduit à un segment de ligne ou à plusieurs points discrets (en ignorant le centre du cercle enveloppe Relation fixe), puis le problème de contrainte d'obstacle devient un problème d'évitement d'un point apparaissant dans l'enveloppe convexe, ou d'évitement de l'intersection d'un segment de ligne et de l'enveloppe convexe. Lorsqu'un seul rectangle est utilisé, le problème de contrainte d'obstacle est d'éviter l'intersection (chevauchement) du rectangle et de la coque convexe de l'obstacle.

32f47139d4728a1f86a8cbe53989c43e.png

2 Méthode de traitement basée sur la programmation linéaire mixte en nombres entiers

En pensant à une question, qu'est-ce que cela signifie pour un point p qu'il ne soit pas dans une coque convexe d'obstacle ?

En fait, il suffit que le point p viole la contrainte de n'importe quel côté de l'obstacle, c'est-à-dire que l'inégalité Ap<=b ne soit vraie sur aucune droite.

Par conséquent, pour faire un point éloigné de l'obstacle, il vous suffit d'utiliser n'importe quel côté ou n'importe quel nombre de côtés de la coque convexe de l'obstacle.

À cette fin, une série de variables binaires peut être définie, notée par, où i=1,...,m représente le nombre d'obstacles, j=1,...,n représente Le nombre d'arêtes dans l'obstacle convexe coque. Par conséquent, le nombre total de est m*n. De plus, lorsque =0, cela signifie que le point p satisfait la contrainte de cette arête. Lorsque =1, cela signifie que le point p ne satisfait pas la contrainte du côté, c'est-à-dire qu'il s'agit de la contrainte réelle de l'obstacle.

Sur la base de la définition ci-dessus, considérons d'abord le cas d'un seul point p, les contraintes d'obstacles peuvent être exprimées comme suit :

0d33b2bcb3b4e0e5f17b5c4440b42e0e.png

Parmi eux, et représentent les paramètres pertinents du côté j du ième obstacle. De plus, la troisième inégalité signifie que pour le ième obstacle, au moins une contrainte latérale doit être valide, sinon une collision se produira.

En outre, considérons un cas plus général, tel que le problème de contrainte de collision d'un segment de ligne ou d'un rectangle.

Afin de garantir qu'un segment de ligne ou un rectangle n'entre pas en collision, nous avons besoin que toutes les extrémités du segment de ligne ou du rectangle satisfassent la contrainte en même temps, c'est-à-dire l'expression suivante :

16cbc5d73b74e1b7e7697fb5056b408b.png

Parmi eux, k représente le nombre d'extrémités du segment de ligne ou du rectangle.

Commentaires :
La méthode de modélisation des contraintes de collision basée sur la programmation linéaire mixte en nombres entiers introduit un grand nombre de variables binaires et génère un grand nombre de contraintes. La complexité de calcul est très élevée, mais la précision de la modélisation des contraintes de collision est meilleure. De plus, d'une manière générale, les problèmes de programmation linéaire mixte en nombres entiers à petite échelle peuvent trouver la solution optimale globale, mais cela nécessite également beaucoup de temps de calcul.

3 Méthode OBCA

Le cœur de la méthode OBCA est d'utiliser la dualité forte pour transformer les contraintes de distance signées du véhicule hôte et des obstacles en contraintes générales non linéaires lisses.

846905af5584755cfb7499eb4cbeaed1.png c6b7a52f2bd4ecdfc7d39d06832a4547.png

Ensuite, définissez la fonction de distance signée des deux ensembles comme suit :

1ef0a0efb7a76c5f50d7c210e39e35fb.png

dans:

f2d50e9188b3ddd67f07827bbe04433a.png

Bien évidemment, les fonctions ci-dessus sont des fonctions liées de l'état x du véhicule principal. La fonction dist exprime la distance minimale que le véhicule principal doit parcourir avant de heurter des obstacles. La fonction stylo décrit la distance minimale que le véhicule principal doit parcourir pour ne pas entrer en collision avec des obstacles. Par exemple, si la voiture principale a heurté un obstacle, dist=0, s'il n'y a pas de collision, alors pen=0. Ainsi, lorsque le véhicule principal et l'obstacle sont entrés en collision, la distance symbole sd représente la distance à laquelle l'obstacle envahit le véhicule principal. Lorsque le véhicule principal ne heurte pas l'obstacle, le symbole distance sd représente la distance du véhicule principal par rapport à l'obstacle.

Par conséquent, sur la base de la définition de la distance signée, les contraintes d'obstacles peuvent être décrites comme :

c240ff3f62bdb627b05d5a0c4717af49.png

Parmi eux, d représente le seuil de distance d'évitement de collision d'obstacles.

Puisque la fonction de distance signée décrite ci-dessus est elle-même un problème d'optimisation contraint, les conditions KKT pour sa solution optimale peuvent être trouvées. De plus, selon la théorie de l'optimisation, la contrainte de distance signée peut finalement être convertie en une contrainte non linéaire générale :

754c371742cffce1e7a83e1b4a351059.png

La formule ci-dessus convertit les contraintes d'obstacles d'origine en cinq contraintes, dont trois contraintes d'inégalité et deux contraintes d'égalité. Et introduit et comme variables auxiliaires. D'un point de vue formel, les contraintes ci-dessus sont des fonctions non linéaires de x , et , donc certains outils d'optimisation non linéaire sont nécessaires pour les résoudre.

Commentaires :
La méthode OBCA convertit avec précision les contraintes d'obstacles discrètes et discontinues en contraintes non linéaires continues lisses, de sorte qu'elles peuvent être résolues par des optimiseurs non linéaires généraux. Cependant, la méthode OBCA introduit également un grand nombre de variables auxiliaires (le nombre d'éléments est égal au nombre d'obstacles multiplié par le nombre de côtés d'obstacles), et la complexité de la solution est relativement grande. De plus, la méthode OBCA est toujours un problème de programmation non convexe, il y a donc inévitablement des points extrêmes locaux, donc les résultats de la solution dépendent de la qualité de la solution initiale.

4 Méthode de traitement basée sur le couloir de passage de coque convexe

Selon mon observation, la méthode de traitement des contraintes d'obstacles basée sur le couloir de passage de coque convexe est la méthode la plus couramment utilisée dans la pratique de l'ingénierie. Il présente certains avantages de principe simple, de résultats de solution stables et de vitesse de solution rapide.

La méthode de traitement des contraintes d'obstacles basée sur le couloir de passage de coque convexe peut généralement être divisée en trois étapes :

  • 1. Selon la position spatiale des obstacles, construire un couloir de passage composé de coques convexes

  • Remarque 1 : la forme de la coque convexe peut être variée, comme un cercle, un rectangle, un trapèze et d'autres polygones convexes.

  • Remarque 2 : Afin d'assurer la sécurité du chemin final, il doit généralement y avoir un chevauchement entre les coques convexes adjacentes, et l'union des coques convexes doit couvrir complètement la zone de passage du point de départ au point d'arrivée.

  • Deuxièmement, les points de chemin et les coques convexes sont appariés un par un, c'est-à-dire que la gamme d'activités autorisées pour chaque point de chemin est spécifiée

  • Troisièmement, la contrainte d'évitement d'obstacle est convertie en une contrainte linéaire du point de chemin à l'intérieur de la coque convexe

Le principe spécifique de la méthode ci-dessus est très simple à dire, mais en fonctionnement réel, chaque étape impliquera de nombreux problèmes.

Tout d'abord, en ce qui concerne la méthode de construction d'un couloir convexe, la plupart des schémas doivent déterminer à l'avance la solution initiale à l'aide de certaines méthodes et étendre l'enveloppe convexe autour du point Path sur la solution initiale. Par conséquent, cela nécessite que la solution initiale ne soit pas trop mauvaise, sinon il est absolument impossible d'obtenir un bon résultat de planification au final. Deuxièmement, même si la qualité de la solution initiale est bonne, il faut s'assurer que l'enveloppe convexe est la plus grande possible lors de la génération de l'enveloppe convexe, et couvre plus d'espace de passage, de manière à s'assurer que le Chemin final a une grande espace de réglage. De plus, lorsque l'espace de solution est très étroit et qu'il n'est peut-être pas possible de construire un couloir avec une coque convexe suffisamment grande et qui se chevauche, il faut également réfléchir à la façon d'assouplir les contraintes et d'assurer la résolvabilité du problème. .

Le deuxième point, concernant la correspondance des points Path et des coques convexes, la plupart des méthodes lient les points Path et les coques convexes un par un lors de la définition du problème d'optimisation, et dans le processus de résolution et d'optimisation de l'ensemble du problème. Tous sont fixes. L'avantage de ceci est que la contrainte d'évitement d'obstacle peut être complètement convertie en une contrainte convexe, ce qui améliore la vitesse de résolution et la stabilité de Path. Cependant, cette méthode dépend de la qualité de la solution initiale. Si les points Path de la solution initiale tombent dans l'enveloppe convexe au début, il est relativement facile d'effectuer une correspondance un à un entre les points Path et l'enveloppe convexe. . Mais si la solution initiale n'est pas dans la plage de contraintes au début, il sera plus difficile de déterminer dans quelle coque convexe le point Path se déplace. Par conséquent, il existe également des méthodes qui fournissent des idées d'optimisation itérative. Au début, un ensemble de correspondance entre les points de chemin et les coques convexes est donné, puis au fur et à mesure que le chemin itère, cette correspondance est progressivement commutée et finalement stabilisée.

00332b4f14ac55a1e51dcb4dc0901d12.png

Enfin, comment considérer l'enveloppe du véhicule principal sur la base de la méthode de traitement du couloir à coque convexe est également une question à laquelle il convient de réfléchir.

Si le véhicule principal est considéré comme une collection de plusieurs cercles d'enveloppe, alors l'obstacle peut être agrandi avec le rayon du cercle d'enveloppe en premier, ce qui équivaut à rétracter la limite du couloir convexe. Dans le même temps, la voiture principale peut également être considérée comme un segment de ligne. Le suivi consiste à s'assurer que chaque segment principal de la ligne de véhicules se situe dans la même plage de coque convexe grâce à l'optimisation. PS Cela nécessite que la portée de chaque coque convexe dans le couloir convexe soit plus grande, au moins pour accueillir ce segment de ligne. Bien sûr, s'il n'est pas garanti qu'une si grande coque convexe soit générée, il est également possible de laisser les points du segment de ligne tomber dans différentes coques convexes, mais de telles contraintes sont souvent plus strictes et une certaine quantité de capacité de trafic sera perdu.

Si la voiture principale est considérée comme un rectangle, alors pour faire face à cette situation, il est nécessaire d'introduire des informations de troisième dimension autres que les coordonnées XY, c'est-à-dire des informations de cap. Parce que le fait que la voiture principale entre en collision avec un obstacle n'est pas seulement lié à la position de la voiture principale, mais aussi étroitement lié à son cap. Après avoir introduit les informations de cap, le couloir de passage de coque convexe dans l'espace tridimensionnel de cap XY peut être établi. De plus, étant donné que le contour du véhicule principal est connu, cette information peut être prise en compte lors de l'établissement du passage de coque convexe XY-Heading, de sorte que le véhicule principal peut être considéré comme un point de masse sur la base de la génération du couloir.

Par exemple, dans l'exemple illustré dans la figure ci-dessous, le véhicule principal se trouve au point A et au point B, qui sont deux positions limites possibles à l'intérieur de la limite de la route, et la plage de cap possible à ces deux positions n'est que de 0 degré. Au point C, la plage de cap possible du véhicule principal est de plus ou moins Pi. Par conséquent, dans l'espace XY-Heading, un espace convexe tridimensionnel similaire au côté droit de la figure ci-dessous peut être construit pour décrire l'espace de passage, et le véhicule principal peut être considéré comme un point de masse.

6ff48596daa4232326e5e2b879c83464.png

Commentaires :
La méthode de contrainte d'obstacle basée sur le couloir de circulation à coque convexe adopte la pensée inverse, décrivant le fait que le véhicule principal ne peut pas envahir les obstacles, et décrit que le véhicule principal doit rester dans une zone sûre. Cette façon de penser rend l'obstacle contrainte Le nombre est considérablement simplifié (le nombre d'obstacles peut être très important, mais le nombre de coques convexes est gérable). De plus, étant donné que la zone de sécurité est un espace convexe, le problème d'évitement des collisions est converti en un problème convexe, ce qui améliore considérablement la vitesse et la stabilité de la solution. Cependant, le prix de cette simplification est que nous devons fournir à l'avance des corridors convexes de haute qualité et des solutions initiales. Si le couloir convexe lui-même est déraisonnable, le chemin résultant sera naturellement très étrange.

5 Méthode de traitement basée sur le champ de distance signé (SDF)

Le champ de distance du symbole euclidien est couramment utilisé dans le champ de planification. Ce champ de distance peut être construit dans un espace bidimensionnel ou tridimensionnel. La valeur du champ de distance en tout point de l'espace représente la distance entre le point et le point le plus proche. obstacle (géométrie) . La raison pour laquelle on l'appelle champ de distance symbolique est de définir l'espace intérieur de l'obstacle. Lorsque le point spatial est à l'intérieur de l'obstacle, la distance prend une valeur négative. Sinon, la distance est un nombre positif normal.

Dans la pratique de l'ingénierie, nous grillerons l'espace bidimensionnel ou tridimensionnel, puis calculerons la valeur de distance signée de chaque grille, de manière à établir un champ de distance signé complet et à le stocker dans l'espace mémoire. Sur la base du champ de distance signé préétabli, nous pouvons obtenir une détection de collision efficace et calculer rapidement les informations de gradient et les informations de dérivée seconde générées par les contraintes de collision. Plus important encore, lorsqu'une collision se produit, les informations de collision à l'intérieur de l'obstacle sont également bien définies, ce qui est plus propice au bon déroulement de l'algorithme d'optimisation.

Selon la description ci-dessus, pour un seul point, la définition du champ de distance signé est très facile, et il est également très pratique à utiliser. Par exemple, un drone utilise généralement un cercle pour décrire son contour, et le drone peut être encore simplifié jusqu'à un certain point en élargissant l'obstacle. Par conséquent, dans la planification de mouvement UAV, la figure du champ de distance symbolique peut souvent être vue.

Cependant, l'erreur opérationnelle dans la réduction du contour à un seul point est tout simplement trop grande pour être acceptable pour un véhicule. Si les quatre points d'angle du contour rectangulaire du véhicule sont directement utilisés violemment et que sa distance de signalisation est utilisée pour juger de la collision, sa sécurité ne peut être garantie. Il est facile de construire un scénario dans lequel aucun des quatre coins n'entre en collision, mais l'un des bords entre en collision. Par conséquent, pour utiliser cette méthode, il est nécessaire de définir un champ de distance signé de l'obstacle au contour rectangulaire du véhicule. Ce champ de distance n'est évidemment pas seulement lié à la position du véhicule, mais aussi directement lié à l'attitude du véhicule. C'est-à-dire que pour garantir la sécurité des résultats de la planification des véhicules, il est nécessaire de définir un champ de distance symbolique tridimensionnel lié à X, Y et au cap du véhicule principal. À l'heure actuelle, je n'ai pratiquement pas vu de travail dans ce domaine. Si quelqu'un le sait, merci de le signaler dans la zone de commentaire.

Commentaires :
La méthode de contrainte d'obstacle basée sur le champ de distance symbolique euclidienne nécessite beaucoup de ressources informatiques et d'espace mémoire pour construire le champ de distance symbolique avant l'opération d'optimisation. Au cours du processus d'optimisation, l'évaluation du coût et de la dérivée peut être effectuée très efficacement. calculer. De plus, la méthode de planification basée sur le champ de distance symbolique a généralement des restrictions relativement fortes sur le contour du sujet de planification et voit généralement une particule, de sorte que la précision n'est pas élevée. Enfin, le champ de distance signé établit une fonction de champ de potentiel global qui décrit l'environnement extérieur global. D'autres méthodes ne considèrent généralement que les obstacles locaux, ce qui est une approximation locale de l'environnement global. Par conséquent, la planification sous le champ de distance signé peut généralement atteindre de meilleures valeurs dans l'environnement global, mais cela dépend toujours fortement de la solution initiale.

6 Comparaison complète

Sur la base de l'introduction précédente, un résumé et une comparaison des quatre types de méthodes ci-dessus peuvent être faits.

0fbaa52b2742cee62f404b157171259b.png

7 Références

[1] Michael P. Vitus† et al. Tunnel-MILP : Planification de chemin avec des polytopes convexes séquentiels. 2008

[2] Xiaojing Zhang et al. Stationnement autonome utilisant l'évitement des collisions basé sur l'optimisation. 2018.

[3] Henrik Andreasson et al. Lissage rapide et continu du chemin d'état pour améliorer la précision de la navigation. 2015.

[4] Zhichao Han et al. Planification de trajectoire basée sur la planéité différentielle pour les véhicules autonomes. 2022.

[5] Heechan Shin et al. Planification de trajectoire de confort kinodynamique pour les robots de type automobile. 2018.

Examen passé

La revue la plus complète de l'histoire | Résumé des algorithmes de détection de cibles 3D ! (monoculaire/binoculaire/LiDAR/multimodal/timing/auto-supervision semi-faible)

(1) Le cours vidéo est là !

Le cœur de la conduite autonome rassemble la fusion de vision radar à ondes millimétriques, des cartes de haute précision, la perception BEV, l'étalonnage multi-capteurs, le déploiement de capteurs, la perception coopérative de conduite autonome, la segmentation sémantique, la simulation de conduite autonome, la perception L4, la planification de décision, la prédiction de trajectoire , etc. Vidéos d'apprentissage dans chaque direction, bienvenue à le prendre vous-même (scannez le code pour entrer dans l'apprentissage)

886f8ad4c70e4f7c3e2f7f2d24bf3ff9.png

(Scannez le code pour découvrir la dernière vidéo)

Site officiel de la vidéo : www.zdjszx.com

(2) La première communauté d'apprentissage de la conduite autonome en Chine

Une communauté de communication de près de 1 000 personnes et plus de 20 itinéraires d'apprentissage de la pile de technologies de conduite autonome souhaitent en savoir plus sur la perception de la conduite autonome (classification, détection, segmentation, points clés, lignes de voie, détection d'objets 3D, Occpuancy, fusion multi-capteurs, suivi d'objets, estimation de flux optique, prédiction de trajectoire), positionnement et cartographie de conduite automatique (SLAM, carte de haute précision), planification et contrôle de conduite automatique, solutions techniques sur le terrain, mise en œuvre du déploiement de modèles d'IA, tendances de l'industrie, offres d'emploi, bienvenue pour scanner le Code QR ci-dessous, rejoignez la planète de la connaissance du cœur de la conduite autonome, c'est un endroit avec de vraies marchandises sèches, échangez divers problèmes pour démarrer, étudier, travailler et changer d'emploi avec les grands du domaine, partagez papiers + codes + de vidéos tous les jours , hâte d'échanger !

87d588f08832b33d3905be595ae8cacf.jpeg

(3) [ Au cœur de la conduite automatisée ] Groupe d'échange de technologies à pile complète

The Heart of Autonomous Driving est la première communauté de développeurs pour la conduite autonome, se concentrant sur la détection d'objets, la segmentation sémantique, la segmentation panoramique, la segmentation d'instance, la détection de points clés, les lignes de voie, le suivi d'objets, la détection d'objets 3D, la perception BEV, la fusion multi-capteurs, SLAM, estimation du flux lumineux, estimation de la profondeur, prédiction de trajectoire, carte de haute précision, NeRF, contrôle de la planification, déploiement de modèles, test de simulation de conduite automatique, chef de produit, configuration matérielle, recherche d'emploi et communication IA, etc. ;

44d1dfd7d1f34364930801e459e122c5.jpeg

Ajouter l'invitation Wechat d'Autobot Assistant pour rejoindre le groupe

Remarques : école/entreprise + direction + pseudo

Je suppose que tu aimes

Origine blog.csdn.net/CV_Autobot/article/details/131346200
conseillé
Classement