plannerLineSpec.heading
Sintaxis
Descripción
especifica las propiedades predeterminadas de color, línea y marcador para trazar el ángulo de rumbo.spec = plannerLineSpec.heading
especifica nuevos valores para las propiedades de color, línea y marcador utilizando uno o más argumentos de nombre-valor.spec = plannerLineSpec.heading(Name=Value)
[ devuelve las propiedades y sus valores como una estructura utilizando cualquier combinación de entradas de las sintaxis anteriores.spec,structData] = plannerLineSpec.heading(___)
Ejemplos
Establezca la semilla de número aleatorio para garantizar la repetibilidad.
rng(100,"twister")Mapa de ocupación de carga
Cargue una cuadrícula de probabilidad de ocupación en el espacio de trabajo de MATLAB® .
load("exampleMaps.mat","simpleMap")
Cree un mapa de ocupación a partir de la cuadrícula de ocupación de entrada.
map = occupancyMap(simpleMap);
Define los límites inferior y superior de las variables de espacio de estados x, y y theta del mapa de ocupación.
x = map.XWorldLimits; y = map.YWorldLimits; theta = [-pi pi];
Mostrar el mapa de ocupación.
figure
show(map)
hold on![Figure contains an axes object. The axes object with title Occupancy Grid, xlabel X [meters], ylabel Y [meters] contains an object of type image.](../../examples/nav/win64/VisualizePRMPlannerOutputUsingPredefinedPlotSpecExample_01.png)
Especifique el estado inicial y el estado objetivo para la planificación de rutas.
start = [2 5 0]; goal = [22 22 0];
Estados de inicio y objetivo de la trama
Utilice las funciones plannerLineSpec.start y plannerLineSpec.goal para trazar los estados inicial y objetivo, respectivamente.
plot(start(1),start(2),plannerLineSpec.start{:})
plot(goal(1),goal(2),plannerLineSpec.goal{:})![Figure contains an axes object. The axes object with title Occupancy Grid, xlabel X [meters], ylabel Y [meters] contains 3 objects of type image, line. One or more of the lines displays its values using only markers These objects represent Start, Goal.](../../examples/nav/win64/VisualizePRMPlannerOutputUsingPredefinedPlotSpecExample_02.png)
Configurar el planificador de rutas PRM
Cree un objeto SE(2) de espacio de estados utilizando las variables de espacio de estados especificadas.
stateSpace = stateSpaceSE2([x; y; theta]);
Verifique la validez de los estados en el espacio de estados de entrada utilizando un validador de estados. Establezca la distancia de validación en 0,01.
stateValidator = validatorOccupancyMap(stateSpace,Map=map); stateValidator.ValidationDistance = 0.01;
Configure el planificador de rutas del PRM.
planner = plannerPRM(stateSpace,stateValidator);
Encuentre los estados genéricos (o nodos) en el gráfico de la red.
digraphObj = graphData(planner); nodes = table2array(digraphObj.Nodes);
Encuentre el árbol de búsqueda en el gráfico de red.
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
Trazar árbol de búsqueda y estados genéricos
Utilice la función plannerLineSpec.tree para trazar el árbol de búsqueda.
plot(edgeLine(:,1),edgeLine(:,2),plannerLineSpec.tree{:})Utilice la función plannerLineSpec.state para trazar los estados genéricos. Establezca el tamaño del marcador para trazar los estados genéricos en 3.
gstate = plannerLineSpec.state(MarkerSize=3);
plot(nodes(:,1),nodes(:,2),gstate{:})![Figure contains an axes object. The axes object with title Occupancy Grid, xlabel X [meters], ylabel Y [meters] contains 5 objects of type image, line. One or more of the lines displays its values using only markers These objects represent Start, Goal, Tree, State.](../../examples/nav/win64/VisualizePRMPlannerOutputUsingPredefinedPlotSpecExample_03.png)
Encontrar ruta entre dos estados y ángulo de rumbo
Calcule la ruta entre el punto inicial y el punto objetivo.
[path,info] = plan(planner,start,goal);
Calcule el ángulo de rumbo desde los puntos XY hasta la ruta.
inpath=[path.States(:,1) path.States(:,2)]; heading = headingFromXY(inpath);
Trazar la ruta calculada y el ángulo de rumbo
Utilice las funciones plannerLineSpec.path y plannerLineSpec.heading para trazar la ruta calculada y el ángulo de rumbo, respectivamente. Modifique el color de la línea para trazar el ángulo de rumbo a 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])
![Figure contains an axes object. The axes object with title Occupancy Grid, xlabel X [meters], ylabel Y [meters] contains 7 objects of type image, line, quiver. One or more of the lines displays its values using only markers These objects represent Start, Goal, Tree, State, Path, Heading.](../../examples/nav/win64/VisualizePRMPlannerOutputUsingPredefinedPlotSpecExample_04.png)
Argumentos de par nombre-valor
Especifique pares de argumentos opcionales como Name1=Value1,...,NameN=ValueN, donde Name es el nombre del argumento y Value es el valor correspondiente. Los argumentos nombre-valor deben aparecer después de los otros argumentos, pero el orden de los pares no importa.
Ejemplo: plannerLineSpec.heading(Color="Red")
Color de línea, especificado como uno de estos valores:
Triplete RGB: especifica las intensidades de los componentes rojo, verde y azul del color como un vector de tres elementos en el orden
[R G B]. Cada intensidad debe estar en el rango [0, 1]. Por ejemplo, puede especificar un tono de rosa como[1 0.5 0.8].Vector de caracteres o escalar de cadena: especifique el código de color hexadecimal, el nombre del color o el nombre corto del color.
Para obtener más información sobre los tipos de valores de color y cómo especificarlos, consulte Especificar colores de gráfica.
Estilo de línea, especificado como uno de estos valores:
"-"— Para una línea sólida. Este es el valor predeterminado."--"— Para una línea discontinua.":"— Para una línea de puntos."-."— Para una línea de puntos y guiones."none"— Para ninguna línea.
Ancho de línea, especificado como un escalar numérico positivo.
Símbolo de marcador, especificado como uno de los valores enumerados en esta tabla.
| Marcador | Descripción | Marcador resultante |
|---|---|---|
"o" | Círculo |
|
"+" | Signo de más |
|
"*" | Asterisco |
|
"." | Punto |
|
"x" | Cruz |
|
"_" | Linea horizontal |
|
"|" | Linea vertical |
|
"square" | Cuadrado |
|
"diamond" | Diamante |
|
"^" | Triángulo que apunta hacia arriba |
|
"v" | Triángulo que apunta hacia abajo |
|
">" | Triángulo que apunta hacia la derecha |
|
"<" | Triángulo que apunta hacia la izquierda |
|
"pentagram" | Pentagrama |
|
"hexagram" | hexagrama |
|
"none" | Sin marcadores | No aplica |
Tamaño del marcador, especificado como un escalar numérico positivo.
Color del contorno del marcador, especificado como uno de estos valores:
Triplete RGB: especifica las intensidades de los componentes rojo, verde y azul del color como un vector de tres elementos en el orden
[R G B]. Cada intensidad debe estar en el rango [0, 1]. Por ejemplo, puede especificar un tono de rosa como[1 0.5 0.8].Vector de caracteres o escalar de cadena: especifique el código de color hexadecimal, el nombre del color o el nombre corto del color.
Para obtener más información sobre los tipos de valores de color y cómo especificarlos, consulte Especificar colores de gráfica.
Color de relleno del marcador, especificado como uno de estos valores:
Triplete RGB: especifica las intensidades de los componentes rojo, verde y azul del color como un vector de tres elementos en el orden
[R G B]. Cada intensidad debe estar en el rango [0, 1]. Por ejemplo, puede especificar un tono de rosa como[1 0.5 0.8].Vector de caracteres o escalar de cadena: especifique el código de color hexadecimal, el nombre del color o el nombre corto del color.
Para obtener más información sobre los tipos de valores de color y cómo especificarlos, consulte Especificar colores de gráfica.
Etiqueta que se incluirá en la leyenda, especificada como un vector de caracteres o un escalar de cadena.
Argumentos de salida
Especificaciones de color, línea y marcador para trazar el ángulo de rumbo, devueltas como un arreglo de celdas de tamaño 1 por 16.
Tipos de datos: cell
Especificaciones para la trama, devueltas como una estructura con los campos Color, LineStyle, LineWidth, Marker, MarkerSize, MarkerEdgecolor, MarkerFaceColor y DisplayName. Cada campo contiene el valor especificado para el argumento nombre-valor correspondiente.
Tipos de datos: struct
Historial de versiones
Introducido en R2023b
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Seleccione un país/idioma
Seleccione un país/idioma para obtener contenido traducido, si está disponible, y ver eventos y ofertas de productos y servicios locales. Según su ubicación geográfica, recomendamos que seleccione: .
También puede seleccionar uno de estos países/idiomas:
Cómo obtener el mejor rendimiento
Seleccione China (en idioma chino o inglés) para obtener el mejor rendimiento. Los sitios web de otros países no están optimizados para ser accedidos desde su ubicación geográfica.
América
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- 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)














