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.

metric

Métricas del planificador de ruta de retorno

Desde R2022a

    Descripción

    metricSummary = metric(plannerBM) devuelve el resumen de todas las métricas del planificador de rutas como una tabla.

    metricSummary = metric(plannerBM,metricName) devuelve el resumen de una métrica específica.

    [metricSummary,metricData] = metric(plannerBM) devuelve la tabla metricData con los valores de las métricas en cada ejecución para todas las métricas y la tabla metricSummary con el resumen de todas las métricas.

    [metricSummary,metricData] = metric(plannerBM,metricName) devuelve el resumen y los valores de una métrica específica.

    ejemplo

    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.

    Nombre de la métrica, especificado como "clearance", "executionTime", "initializationTime", "isPathValid", "pathLength" o "smoothness".

    Tipos de datos: char | string

    Argumentos de salida

    contraer todo

    Resumen de métricas, devuelto como tabla. El resumen incluye media, mediana, desviación estándar y tamaño de muestra para métricas de tipo numérico. Para las métricas de tipo lógico, el resumen incluye TrueCount, FalseCount y SuccessRate. TrueCount es la cantidad de veces que el valor de la métrica es verdadero. FalseCount es la cantidad de veces que el valor de la métrica es falso. SuccessRate es la relación entre TrueCount y el total de ejecuciones del planificador expresada en porcentaje.

    Tipos de datos: table

    Valor de métrica, devuelto como tabla. La tabla contiene los valores de métricas en cada ejecución para todas las métricas.

    Tipos de datos: table

    Sugerencias

    • Si no se puede calcular el valor de la métrica debido a estados vacíos en la salida de la ruta o a un error durante la ejecución de la función del plan, se mostrará NaN para los valores correspondientes en las tablas de datos de métricas . La función mostrar no mostrará ningún valor para las métricas con valor NaN.

    • Si la salida de la ruta es navPath, las métricas se calculan utilizando el espacio de estado en navPath.

    • Si la salida de la ruta es una matriz m por 2, se supone que el espacio de estados es stateSpaceSE2 con theta como 0 para todas las poses.

    • Si la salida de la ruta es una matriz m por 3, la tercera columna de la salida de la ruta se asume como theta y, posteriormente, stateSpaceSE2 se asume como el espacio de estados.

    • Si el entorno es validatorOccupancyMap, la métrica isPathValid se calcula utilizando el entorno especificado.

    • Si el entorno es occupancyMap o binaryOccupancyMap, se crea el valor predeterminado validatorOccupancyMap utilizando el entorno especificado como Mapa y el espacio de estado se deriva como se indicó anteriormente.

    • Se asume que el valor de la propiedad ValidationDistance es 0.1*(1/resolution of map).

    Historial de versiones

    Introducido en R2022a

    Consulte también

    Objetos

    Funciones