plannerLineSpec.heading
Syntaxe
Description
spécifie les propriétés par défaut de la couleur, de la ligne et du marqueur pour tracer l'angle de cap.spec
= plannerLineSpec.heading
spécifie de nouvelles valeurs pour les propriétés de couleur, de ligne et de marqueur en utilisant un ou plusieurs arguments nom-valeur.spec
= plannerLineSpec.heading(Name=Value
)
[
renvoie les propriétés et leurs valeurs sous forme de structure utilisant n'importe quelle combinaison d'entrées des syntaxes précédentes.spec
,structData
] = plannerLineSpec.heading(___)
Exemples
Visualisez la sortie du planificateur de chemin PRM à l'aide de spécifications de tracé prédéfinies
Définissez la valeur de départ du nombre aléatoire pour garantir la répétabilité.
rng(100,"twister")
Charger la carte d'occupation
Chargez une grille d'occupation de probabilité dans l'espace de travail MATLAB® .
load("exampleMaps.mat","simpleMap")
Créez une carte d'occupation à partir de la grille d'occupation d'entrée.
map = occupancyMap(simpleMap);
Définissez les limites inférieure et supérieure des variables de l'espace d'état x
, y
et theta
à partir de la carte d'occupation.
x = map.XWorldLimits; y = map.YWorldLimits; theta = [-pi pi];
Afficher la carte d'occupation.
figure
show(map)
hold on
Spécifiez l'état de départ et l'état final pour la planification du chemin.
start = [2 5 0]; goal = [22 22 0];
Début du tracé et états d’objectif
Utilisez les fonctions plannerLineSpec.start
et plannerLineSpec.goal
pour tracer les états de début et d'objectif, respectivement.
plot(start(1),start(2),plannerLineSpec.start{:}) plot(goal(1),goal(2),plannerLineSpec.goal{:})
Configurer le planificateur de chemin PRM
Créez un objet SE(2) d'espace d'état à l'aide des variables d'espace d'état spécifiées.
stateSpace = stateSpaceSE2([x; y; theta]);
Vérifiez la validité des états dans l'espace d'état d'entrée à l'aide d'un validateur d'état. Définissez la distance de validation sur 0,01.
stateValidator = validatorOccupancyMap(stateSpace,Map=map); stateValidator.ValidationDistance = 0.01;
Configurez le planificateur de chemin PRM.
planner = plannerPRM(stateSpace,stateValidator);
Recherchez les états génériques (ou nœuds) à partir du graphique de réseau.
digraphObj = graphData(planner); nodes = table2array(digraphObj.Nodes);
Recherchez l'arbre de recherche à partir du graphique du réseau.
edges = table2array(digraphObj.Edges); edgeLine = []; for i = 1:size(edges,1) state1 = nodes(edges(i,1),:); state2 = nodes(edges(i,2),:); edgeLine = [edgeLine; state1(1:2); state2(1:2); NaN NaN]; end
Tracer l'arbre de recherche et les états génériques
Utilisez la fonction plannerLineSpec.tree
pour tracer l'arborescence de recherche.
plot(edgeLine(:,1),edgeLine(:,2),plannerLineSpec.tree{:})
Utilisez la fonction plannerLineSpec.state
pour tracer les états génériques. Définissez la taille du marqueur pour tracer les états génériques sur 3.
gstate = plannerLineSpec.state(MarkerSize=3); plot(nodes(:,1),nodes(:,2),gstate{:})
Trouver le chemin entre deux états et l'angle de cap
Calculez le chemin entre le point de départ et le point d'arrivée.
[path,info] = plan(planner,start,goal);
Calculez l'angle de cap entre les points XY et le chemin.
inpath=[path.States(:,1) path.States(:,2)]; heading = headingFromXY(inpath);
Tracer la trajectoire calculée et l'angle de cap
Utilisez les fonctions plannerLineSpec.path
et plannerLineSpec.heading
pour tracer respectivement la trajectoire calculée et l'angle de cap. Modifiez la couleur de la ligne pour tracer l'angle de cap en cyan
.
if info.IsPathFound plot(path.States(:,1),path.States(:,2),plannerLineSpec.path{:}) headingplot = plannerLineSpec.heading(Color="cyan"); quiver(path.States(:,1),path.States(:,2),cos(heading),sin(heading),0.2,headingplot{:}) else disp("Path not found") end legend(Position=[0.82 0.1 0.15 0.15])
Arguments d'entrée
Arguments nom-valeur
Spécifiez des paires d'arguments facultatives sous la forme Name1=Value1,...,NameN=ValueN
, où Name
est le nom de l'argument et Value
est la valeur correspondante. Les arguments nom-valeur doivent apparaître après les autres arguments, mais l'ordre des paires n'a pas d'importance.
Exemple : plannerLineSpec.heading(Color="Red")
Color
— Couleur de la ligne
"#823400"
(par défaut) | Triplet RVB | vecteur de caractère | chaîne scalaire
Couleur de ligne, spécifiée comme l'une de ces valeurs :
Triplet RVB — Spécifiez les intensités des composantes rouge, verte et bleue de la couleur sous la forme d'un vecteur à trois éléments dans l'ordre
[R G B]
. Chaque intensité doit être comprise entre [0, 1]. Par exemple, vous pouvez spécifier une nuance de rose sous la forme[1 0.5 0.8]
.Vecteur de caractères ou scalaire de chaîne — Spécifiez le code de couleur hexadécimal, le nom de la couleur ou le nom abrégé de la couleur.
Pour plus d'informations sur les types de valeurs de couleur et comment les spécifier, voir Specify Plot Colors.
LineStyle
— Style de ligne
"-"
(par défaut) | "--"
| ":"
| "-."
| "none"
Style de ligne, spécifié comme l'une de ces valeurs :
"-"
— Pour une ligne continue. C'est la valeur par défaut."--"
— Pour une ligne pointillée.":"
— Pour une ligne pointillée."-."
— Pour une ligne en pointillés."none"
— Pour aucune ligne.
LineWidth
— Largeur de ligne
2
(par défaut) | scalaire numérique positif
Largeur de ligne, spécifiée sous forme de scalaire numérique positif.
Marker
— Symbole de marqueur
"o"
(par défaut) | "+"
| "*"
| "."
| "x"
| ...
Symbole de marqueur, spécifié comme l'une des valeurs répertoriées dans ce tableau.
Marqueur | Description | Marqueur résultant |
---|---|---|
"o" | Cercle |
|
"+" | Signe plus |
|
"*" | Astérisque |
|
"." | Indiquer |
|
"x" | Croix |
|
"_" | Ligne horizontale |
|
"|" | Ligne verticale |
|
"square" | Carré |
|
"diamond" | diamant |
|
"^" | Triangle pointant vers le haut |
|
"v" | Triangle pointant vers le bas |
|
">" | Triangle pointant vers la droite |
|
"<" | Triangle pointant vers la gauche |
|
"pentagram" | Pentacle |
|
"hexagram" | Hexagramme |
|
"none" | Pas de marqueurs | N'est pas applicable |
MarkerSize
— Taille du marqueur
2
(par défaut) | scalaire numérique positif
Taille du marqueur, spécifiée sous forme de scalaire numérique positif.
MarkerEdgeColor
— Couleur du contour du marqueur
"#823400"
(par défaut) | Triplet RVB | vecteur de caractère | chaîne scalaire
Couleur du contour du marqueur, spécifiée comme l'une de ces valeurs :
Triplet RVB — Spécifiez les intensités des composantes rouge, verte et bleue de la couleur sous la forme d'un vecteur à trois éléments dans l'ordre
[R G B]
. Chaque intensité doit être comprise entre [0, 1]. Par exemple, vous pouvez spécifier une nuance de rose sous la forme[1 0.5 0.8]
.Vecteur de caractères ou scalaire de chaîne — Spécifiez le code de couleur hexadécimal, le nom de la couleur ou le nom abrégé de la couleur.
Pour plus d'informations sur les types de valeurs de couleur et comment les spécifier, voir Specify Plot Colors.
MarkerFaceColor
— Couleur de remplissage du marqueur
"#823400"
(par défaut) | Triplet RVB | vecteur de caractère | chaîne scalaire
Couleur de remplissage du marqueur, spécifiée comme l'une de ces valeurs :
Triplet RVB — Spécifiez les intensités des composantes rouge, verte et bleue de la couleur sous la forme d'un vecteur à trois éléments dans l'ordre
[R G B]
. Chaque intensité doit être comprise entre [0, 1]. Par exemple, vous pouvez spécifier une nuance de rose sous la forme[1 0.5 0.8]
.Vecteur de caractères ou scalaire de chaîne — Spécifiez le code de couleur hexadécimal, le nom de la couleur ou le nom abrégé de la couleur.
Pour plus d'informations sur les types de valeurs de couleur et comment les spécifier, voir Specify Plot Colors.
DisplayName
— Étiquette à inclure dans la légende
"Heading"
(par défaut) | vecteur de caractère | chaîne scalaire
Étiquette à inclure dans la légende, spécifiée sous forme de vecteur de caractères ou de chaîne scalaire.
Arguments de sortie
spec
— Spécifications de couleur, de ligne et de marqueur
cell array
Spécifications de couleur, de ligne et de marqueur pour tracer l’angle de cap, renvoyées sous forme de cell array de taille 1 sur 16.
Types de données : cell
structData
— Spécifications du terrain
structure
Spécifications du tracé, renvoyées sous forme de structure avec les champs Color
, LineStyle
, LineWidth
, Marker
, MarkerSize
, MarkerEdgecolor
, MarkerFaceColor
et DisplayName
. Chaque champ contient la valeur spécifiée pour l'argument nom-valeur correspondant.
Types de données : struct
Historique des versions
Introduit dans R2023b
Commande MATLAB
Vous avez cliqué sur un lien qui correspond à cette commande MATLAB :
Pour exécuter la commande, saisissez-la dans la fenêtre de commande de MATLAB. Les navigateurs web ne supportent pas les commandes MATLAB.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)