Main Content

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

connect

Connect pose pour un type de connexion donné

Depuis R2019b

Description

exemple

[pathSegments,pathCosts] = connect(connectionObj,start,goal) connecte les poses de départ et d'objectif à l'aide de l'objet dubinsConnection spécifié. L'objet segment de chemin ayant le coût le plus bas est renvoyé.

[pathSegments,pathCosts] = connect(connectionObj,start,goal,'PathSegments','all') renvoie tous les segments de chemin possibles sous forme de cell array avec leurs coûts associés.

Exemples

réduire tout

Créez un objet dubinsConnection .

dubConnObj = dubinsConnection;

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(dubConnObj,startPose,goalPose);

Afficher le chemin généré.

show(pathSegObj{1})

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

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.

Arguments d'entrée

réduire tout

Type de connexion de chemin, spécifié comme objet dubinsConnection ou reedsSheppConnection . Cet objet définit les paramètres de la connexion, y compris le rayon de braquage minimum du robot et les types de mouvements valides.

Ce propriété est en lecture seule.

Pose initiale du robot au début du segment de trajectoire, spécifiée comme un vecteur ou une matrice [x, y, Θ] . Chaque ligne de la matrice correspond à une pose de départ différente.

x et y sont en mètres. Θ est en radians.

La fonction connect prend en charge :

  • Pose de départ singulière avec pose de but singulière.

  • Pose de départ multiple avec pose d'objectif singulière.

  • Pose de départ singulière avec pose à objectifs multiples.

  • Pose de départ multiple avec pose d'objectif multiple.

La taille du cell array pathSegments de sortie reflète les options de pose singulières ou multiples.

Ce propriété est en lecture seule.

Pose cible du robot à la fin du segment de chemin, spécifiée comme un vecteur ou une matrice [x, y, Θ] . Chaque ligne de la matrice correspond à une pose d'objectif différente.

x et y sont en mètres. Θ est en radians.

La fonction connect prend en charge :

  • Pose de départ singulière avec pose de but singulière.

  • Pose de départ multiple avec pose d'objectif singulière.

  • Pose de départ singulière avec pose à objectifs multiples.

  • Pose de départ multiple avec pose d'objectif multiple.

La taille du cell array pathSegments de sortie reflète les options de pose singulières ou multiples.

Arguments de sortie

réduire tout

Segments de chemin, spécifiés sous forme de cell array d'objets. Le type d'objet dépend de l'entrée connectionObj. La taille du cell array dépend de si vous utilisez des poses start et goal uniques ou multiples. Par défaut, la fonction renvoie le chemin ayant le coût le plus bas pour chaque pose start et goal . Lorsque vous appelez connect à l'aide de la paire nom-valeur 'PathSegments','all' , le cell array contient tous les segments de chemin valides entre les start et spécifiés. $goal pose.

Coût des segments de chemin, spécifié sous forme de scalaire numérique positif, de vecteur ou de matrice. Chaque élément du vecteur de coût ou de la matrice correspond à un segment de chemin dans pathSegment. Par défaut, la fonction renvoie le chemin ayant le coût le plus bas pour chaque pose de départ et d'objectif.

Exemple : [7.6484,7.5122]

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