plannerLineSpec.state
Sintaxis
Descripción
especifica las propiedades de color, línea y marcador predeterminadas para trazar los estados genéricos en el espacio de estados de entrada.spec
= plannerLineSpec.state
especifica nuevos valores para las propiedades de color, línea y marcador utilizando uno o más argumentos de nombre-valor.spec
= plannerLineSpec.state(Name=Value
)
[
devuelve las propiedades y sus valores como una estructura utilizando cualquier combinación de entradas de las sintaxis anteriores.spec
,structData
] = plannerLineSpec.state(___)
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
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{:})
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{:})
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])
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.state(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."--"
— Para una línea discontinua.":"
— Para una línea de puntos."-."
— Para una línea de puntos y guiones."none"
— Para ninguna línea. Este es el valor predeterminado.
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 los estados genéricos, 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)