plan
Descripción
Ejemplos
Planifique la ruta más corta entre dos estados en el gráfico utilizando A-Star Path Planner
Cargue la red de carreteras de Queensland.
load("queenslandRoutes","places","routes")
Especifique estados, enlaces y pesos para un objeto navGraph
.
states = places.utm; % UTM coordinates of cities names = places.name; % Names of cities links = [routes.start routes.end]; % Adjacent cities weights = routes.time; % Travel time between adjacent cities
Cree un objeto navGraph
.
graphObj = navGraph(states,links,Weight=weights, ...
Name=names);
Cree un planificador de rutas A* basado en gráficos.
planner = plannerAStar(graphObj);
Cree una copia profunda del objeto plannerAStar
.
planner2 = copy(planner)
planner2 = plannerAStar with properties: HeuristicCostFcn: @nav.algs.distanceManhattan TieBreaker: 0 Graph: [1x1 navGraph]
Especificar una función heurística devuelve un tiempo estimado para alcanzar el objetivo.
planner.HeuristicCostFcn = @(state1,state2) ...
sum(abs(state1-state2),2)/100;
Definir las ciudades de inicio y destino.
start = "Hughenden"; goal = "Brisbane";
Encuentre la ruta más corta utilizando el algoritmo A* basado en gráficos.
[pathOutput,solutionInfo] = plan(planner,start,goal);
Visualiza los resultados.
h = show(graphObj); set(h,XData=graphObj.States.StateVector(:,1), ... YData=graphObj.States.StateVector(:,2)) pathStateIDs = solutionInfo.PathStateIDs; highlight(h,pathStateIDs,EdgeColor="#EDB120",LineWidth=4) highlight(h,pathStateIDs(1),NodeColor="#77AC30",MarkerSize=5) highlight(h,pathStateIDs(end),NodeColor="#D95319",MarkerSize=5)
Argumentos de entrada
planner
— A* planificador de rutas
plannerAStar
objeto
Un* planificador de ruta, especificado como un objeto plannerAStar
.
start
— Estado inicial de la ruta
número entero positivo | escalar de cadena | vector de caracteres | vector numérico
Estado inicial de la ruta, especificado como un entero positivo, escalar de cadena, vector de caracteres o vector numérico.
Ejemplo: 1
Ejemplo: "Brisbane"
Ejemplo: [1095.91458671447 6947.04365801860]
Tipos de datos: single
| double
| char
| string
goal
— Estado objetivo de la ruta
número entero positivo | escalar de cadena | vector de caracteres | vector numérico
Estado objetivo de la ruta, especificado como un entero positivo, escalar de cadena, vector de caracteres o vector numérico.
Ejemplo: 5
Ejemplo: "Hughenden"
Ejemplo: [208.622393818849 7691.91766093269]
Tipos de datos: single
| double
| char
| string
Argumentos de salida
path
— La ruta más corta entre estados.
matriz numérica
Ruta más corta entre estados, devuelta como una matriz numérica.
Tipos de datos: double
solutionInfo
— Información de la solución
estructura
La información de la solución, devuelta como una estructura. Los campos de la estructura son:
Campo | Descripción |
---|---|
IsPathFound | Indica si se ha encontrado una ruta. Devuelve |
PathStateIDs | Lista de ID de los estados a lo largo de la ruta encontrado por A*. De forma predeterminada, los ID son los índices numéricos de los estados en el objeto gráfico. Si especifica nombres para los estados mientras construye el objeto gráfico, este campo contiene los nombres. |
PathCost | Coste total de la ruta. Si no se encuentra ninguna ruta, entonces el coste es |
ExploredStateIDs | Lista de ID de los estados explorados por A* durante la búsqueda. De forma predeterminada, los ID son los índices numéricos de los estados en el objeto gráfico. Si especifica nombres para los estados mientras construye el objeto gráfico, este campo contiene los nombres. |
NumExploredStates | Número de estados explorados durante la búsqueda. Igual a la longitud de la lista |
Tipos de datos: struct
Capacidades ampliadas
Generación de código C/C++
Genere código C y C++ mediante MATLAB® Coder™.
Historial de versiones
Introducido en R2023a
Consulte también
Comando de MATLAB
Ha hecho clic en un enlace que corresponde a este comando de MATLAB:
Ejecute el comando introduciéndolo en la ventana de comandos de MATLAB. Los navegadores web no admiten comandos de 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)