Contenido principal

Esta página se ha traducido mediante traducción automática. Haga clic aquí para ver la última versión en inglés.

runPlanner

Ejecutar planificadores de rutas

Desde R2022a

    Descripción

    runPlanner(plannerBM) ejecuta todos los planificadores de rutas una vez.

    runPlanner(plannerBM,runCount) especifica el número de veces que se ejecutarán todos los planificadores de rutas. La función recopila resultados de la función de inicialización y la función de plan. La función también calcula la métrica, executionTime para la función de plan y la métrica, initializationTime para la función de inicialización.

    ejemplo

    runPlanner(___,Verbose=Value) especifica qué función de visualización se muestra en detalle. El valor de verbose se especifica como "on" o "off". El valor predeterminado de verbose es "on".

    Ejemplos

    contraer todo

    Cree un mapa de ocupación a partir de un mapa de ejemplo.

    load("exampleMaps.mat","simpleMap");
    map = occupancyMap(simpleMap);

    Cree un validador de estado con stateSpaceSE2 usando el mapa.

    sv = validatorOccupancyMap(stateSpaceSE2,Map=map);

    Especifique los estados de inicio y objetivo.

    start = [5 8 pi/2];
    goal = [7 18 pi/2];

    Cree un objeto plannerBenchmark.

    pbo = plannerBenchmark(sv,start,goal);

    Defina los identificadores de funciones para las funciones de inicialización de los planificadores.

    plannerHAFcn = @(sv)plannerHybridAStar(sv);
    plannerRRTSFcn = @(sv)plannerRRTStar(sv.StateSpace,sv);

    Defina el identificador de función para la función del plan, que es común para ambos planificadores.

    plnFcn = @(initOut,s,g)plan(initOut,s,g);

    Agregue los planificadores de ruta para realizar evaluaciones comparativas.

    addPlanner(pbo,plnFcn,plannerHAFcn);
    addPlanner(pbo,plnFcn,plannerRRTSFcn,PlannerName="ppRRTStar");

    Establezca rng para obtener resultados repetitivos.

    rng('default')

    Ejecute los planificadores de rutas la cantidad de veces especificada en runCount para recopilar métricas.

    runCount = 5;
    runPlanner(pbo,runCount)
    Initializing plannerHAFcn_plnFcn ...
    Done.
    Planning a path from the start pose (5 8 1.5708) to the goal pose (7 18 1.5708) using plannerHAFcn_plnFcn.
    Executing run 1.
    Executing run 2.
    Executing run 3.
    Executing run 4.
    Executing run 5.
    Initializing ppRRTStar ...
    Done.
    Planning a path from the start pose (5 8 1.5708) to the goal pose (7 18 1.5708) using ppRRTStar.
    Executing run 1.
    Executing run 2.
    Executing run 3.
    Executing run 4.
    Executing run 5.
    

    Acceda a la métrica de longitud de ruta para todas las ejecuciones en el entorno.

    [pLenSummary,pLenData] = metric(pbo,"pathLength")
    pLenSummary=2×4 table
                                Mean     Median    StdDev     sampleSize
                               ______    ______    _______    __________
    
        plannerHAFcn_plnFcn    10.349    10.349          0        5     
        ppRRTStar               12.84      12.9    0.67112        5     
    
    
    pLenData=2×5 table
                                Run1      Run2      Run3      Run4      Run5 
                               ______    ______    ______    ______    ______
    
        plannerHAFcn_plnFcn    10.349    10.349    10.349    10.349    10.349
        ppRRTStar                13.8      12.9      12.2        12      13.3
    
    

    Visualiza todas las métricas.

    show(pbo)

    Figure contains 6 axes objects. Axes object 1 with title clearance, xlabel Planner, ylabel clearance contains an object of type boxchart. Axes object 2 with title executionTime, xlabel Planner, ylabel executionTime contains an object of type boxchart. Axes object 3 with title initializationTime, xlabel Planner, ylabel initializationTime contains an object of type boxchart. Axes object 4 with title isPathValid, xlabel Planner, ylabel isPathValid (SuccessRate) contains an object of type bar. Axes object 5 with title pathLength, xlabel Planner, ylabel pathLength contains an object of type boxchart. Axes object 6 with title smoothness, xlabel Planner, ylabel smoothness contains an object of type boxchart.

    Inspeccione de cerca la métrica de espacio libre.

    figure
    show(pbo,"clearance")

    Figure contains an axes object. The axes object with title clearance, xlabel Planner, ylabel clearance contains an object of type boxchart.

    Argumentos de entrada

    contraer todo

    Punto de referencia del planificador de rutas, especificado como un objeto plannerBenchmark.

    Número de veces de ejecución de funciones del plan, especificadas como un escalar positivo.

    Tipos de datos: single | double

    Historial de versiones

    Introducido en R2022a

    Consulte también

    Objetos

    Funciones