Main Content

Cette page a été traduite par traduction automatique. Cliquez ici pour voir la dernière version en anglais.

reedsSheppPathSegment

Segment de chemin Reeds-Shepp reliant deux poses

Depuis R2019b

Description

L'objet reedSheppPathSegment contient des informations sur un segment de chemin Reeds-Shepp pour se connecter entre les poses. Un segment de chemin Reeds-Shepp relie deux poses sous la forme d'une séquence de cinq types de mouvements. Les options de mouvement sont :

  • Droit

  • Virage à gauche avec direction maximale

  • Virage à droite avec direction maximale

  • Pas de mouvement

Création

Pour générer un objet reedSheppPathSegment , utilisez la fonction connect avec un objet reedsSheppConnection :

reedsPathSegObj = connect(connectionObj,start,goal) connecte les poses de départ et d'objectif à l'aide de l'objet de type de connexion spécifié.

Pour définir spécifiquement un segment de chemin :

reedsPathSegObj = reedsSheppPathSegment(connectionObj,start,goal,motionLengths,motionTypes) spécifie le type de connexion Reeds-Shepp, les poses de départ et d'objectif, ainsi que les longueurs et types de mouvement correspondants. Ces valeurs sont définies sur les propriétés correspondantes dans l'objet.

Propriétés

développer tout

Ce propriété est en lecture seule.

Rayon de braquage minimum du véhicule, spécifié sous forme d'un scalaire positif en mètres. Cette valeur correspond au rayon du rayon de braquage à l'angle de braquage maximum du véhicule.

Types de données : double

Ce propriété est en lecture seule.

Pose initiale du véhicule au début du segment de trajet, spécifiée comme un vecteur [x, y, Θ]. x et y sont en mètres. Θ est en radians.

Types de données : double

Ce propriété est en lecture seule.

Pose cible du véhicule à la fin du segment de chemin, spécifiée comme un vecteur [x, y, Θ]. x et y sont en mètres. Θ est en radians.

Types de données : double

Ce propriété est en lecture seule.

Longueur de chaque mouvement dans le segment de trajet, spécifiée sous la forme d'un vecteur numérique à cinq éléments en mètres. Chaque longueur de mouvement correspond à un type de mouvement spécifié dans MotionTypes.

Types de données : double

Ce propriété est en lecture seule.

Type de chaque mouvement dans le segment de chemin, spécifié sous la forme d'un cell array de chaîne à cinq éléments.

Type de mouvementDescription
"S"Simple (vers l'avant, p ou inverse, n)
"L"

Virage à gauche à l'angle de braquage maximum du véhicule (avant, p ou marche arrière, n)

"R"

Virage à droite à l'angle de braquage maximum du véhicule (avant, p ou marche arrière, n)

"N"Aucun mouvement

Si un segment de chemin comporte moins de cinq types de mouvement, les éléments restants sont "N" (pas de mouvement).

Exemple : {"L","S","R","L","R"}

Types de données : cell

Ce propriété est en lecture seule.

Direction de chaque mouvement dans le segment de trajectoire, spécifiée comme un vecteur à cinq éléments de 1s (mouvement vers l'avant) et –1s (mouvement inverse). Chaque direction de mouvement correspond à une longueur de mouvement spécifiée dans MotionLengths et à un type de mouvement spécifié dans MotionTypes.

Lorsqu'aucun mouvement ne se produit, c'est-à-dire lorsqu'une valeur MotionTypes est "N", alors l'élément MotionDirections correspondant est 1.

Exemple : [-1 1 -1 1 1]

Types de données : double

Ce propriété est en lecture seule.

Longueur du segment de chemin, spécifiée sous forme de scalaire positif en mètres. Cette longueur n'est qu'une somme des éléments de MotionLengths.

Types de données : double

Fonctions d'objet

interpolateInterpoler les poses le long du segment de chemin
showVisualize path segment

Exemples

réduire tout

Créez un objet reedsSheppConnection .

reedsConnObj = reedsSheppConnection;

Définissez les poses de début et d'objectif en tant que vecteurs [x y theta] .

startPose = [0 0 0];
goalPose = [1 1 pi];

Calculez un segment de chemin valide pour connecter les poses.

[pathSegObj,pathCosts] = connect(reedsConnObj,startPose,goalPose);

Afficher le chemin généré.

show(pathSegObj{1})

Figure contains an axes object. The axes object contains 13 objects of type line, scatter. These objects represent Forward Path, Reverse Path, Heading, Start Position, Goal Position.

Références

[1] Reeds, J. A., and L. A. Shepp. "Optimal Paths for a Car That Goes Both Forwards and Backwards." Pacific Journal of Mathematics. Vol. 145, Number 2, 1990, pp. 367–393.

Capacités étendues

Génération de code C/C++
Générez du code C et C++ avec MATLAB® Coder™.

Historique des versions

Introduit dans R2019b