plannerControlRRT
Description
L'objet plannerControlRRT
est un planificateur d'arbre aléatoire à exploration rapide (RRT) pour résoudre des problèmes de planification cinématique et dynamique (kinodynamique) à l'aide de contrôles. L'algorithme RRT est une routine de planification de mouvement basée sur un arbre qui développe progressivement un arbre de recherche. Dans les planificateurs cinématiques, l'arbre se développe en échantillonnant aléatoirement les états dans l'espace de configuration du système, puis tente de propager le nœud le plus proche vers cet état. Le propagateur d'état échantillonne les commandes permettant d'atteindre l'état sur la base du modèle cinématique et des politiques de commande. Au fur et à mesure que l'arborescence ajoute des nœuds, les états échantillonnés s'étendent sur l'espace de recherche et connectent finalement les états de départ et d'objectif.
Voici les étapes de l'algorithme RRT basé sur le contrôle :
Le planificateur,
plannerControlRRT
, demande un état à l'espace d'état.Le planificateur trouve l'état le plus proche dans l'arborescence de recherche en fonction du coût.
Le propagateur d'état,
mobileRobotPropagator
, échantillonne les commandes de contrôle et les durées à propager vers l'état cible.Le propagateur d'état se propage vers l'état cible.
Si le propagateur renvoie une trajectoire valide vers l'état, ajoutez l'état à l'arborescence.
"Facultatif": Tentative d'orienter la trajectoire vers l'objectif final en fonction des propriétés NumGoalExtension et GoalBias .
Continuez la recherche jusqu'à ce que l'arborescence de recherche atteigne l'objectif ou satisfasse à d'autres critères de sortie.
L'avantage d'un planificateur kinodynamique comme plannerControlRRT
est qu'il est garanti de renvoyer une séquence d'états, de commandes et de références qui comprennent un chemin cinématiquement ou dynamiquement réalisable. L'inconvénient d'un planificateur kinodynamique est que les propagations cinématiques ne peuvent garantir que les nouveaux états sont exactement égaux aux états cibles à moins qu'il n'existe une représentation analytique d'une séquence de commandes qui pilotent le système entre deux configurations avec une erreur résiduelle nulle. Cela signifie que les planificateurs kinodynamiques sont généralement asymptotiquement complets et garantissent la faisabilité cinématique, mais ne peuvent souvent pas garantir l'optimalité asymptotique.
Création
Syntaxe
Description
crée un planificateur RRT kinodynamique à partir d'un objet propagateur d'état et définit la propriété controlPlanner
= plannerControlRRT(propagator)StatePropagator
.
spécifie des propriétés supplémentaires à l'aide d'arguments nom-valeur. Par exemple, controlPlanner
= plannerControlRRT(propagator,Name=Value)plannerControlRRT(propagator,ContinueAfterGoalReached=1)
continue de rechercher des chemins alternatifs une fois que l'arbre a atteint l'objectif.
Propriétés
Fonctions d'objet
Exemples
Références
[1] S.M. Lavalle, J.J. Kuffner, "Randomized kinodynamic planning", International Journal of Robotics Research, vol. 20, no. 5, pp. 378-400, May 2001
[2] Kavraki, L. and S. LaValle. "Chapter 5 Motion Planning", 1st ed., B. Siciliano et O. Khatib, Ed. New York: Springer-Verlag Berlin Heidelberg, 2008, pp. 109-131.
Capacités étendues
Historique des versions
Introduit dans R2021b