Contenu principal

Cette page a été traduite par traduction automatique. Cliquez ici pour voir la dernière version en anglais.

metric

Retourner les métriques du planificateur de chemin

Depuis R2022a

    Description

    metricSummary = metric(plannerBM) renvoie le résumé de toutes les métriques du planificateur de chemin sous forme de tableau.

    metricSummary = metric(plannerBM,metricName) renvoie le résumé d’une métrique spécifique.

    [metricSummary,metricData] = metric(plannerBM) renvoie le tableau metricData avec les valeurs de métrique pour chaque exécution pour toutes les métriques et le tableau metricSummary avec le résumé de toutes les métriques.

    [metricSummary,metricData] = metric(plannerBM,metricName) renvoie le résumé et les valeurs d'une métrique spécifique.

    exemple

    Exemples

    réduire tout

    Créez une carte d'occupation à partir d'un exemple de carte.

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

    Créez un validateur d'état avec stateSpaceSE2 en utilisant la carte.

    sv = validatorOccupancyMap(stateSpaceSE2,Map=map);

    Spécifiez les états de départ et d’objectif.

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

    Créez un objet plannerBenchmark .

    pbo = plannerBenchmark(sv,start,goal);

    Définissez les handles de fonction pour les fonctions d'initialisation des planificateurs.

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

    Définissez le handle de fonction pour la fonction de plan, qui est commun aux deux planificateurs.

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

    Ajoutez les planificateurs de chemin pour l’analyse comparative.

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

    Définissez le rng pour des résultats répétitifs.

    rng('default')

    Exécutez les planificateurs de chemin le nombre de fois spécifié dans runCount pour collecter des métriques.

    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.
    

    Métrique de longueur de chemin d’accès pour toutes les exécutions sur l’environnement.

    [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
    
    

    Visualisez toutes les mesures.

    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.

    Inspectez attentivement la métrique de dégagement.

    figure
    show(pbo,"clearance")

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

    Arguments d'entrée

    réduire tout

    Benchmark du planificateur de chemin, spécifié comme objet plannerBenchmark .

    Nom de la métrique, spécifié comme "clearance", "executionTime", "initializationTime", "isPathValid", "pathLength", ou "smoothness".

    Types de données : char | string

    Arguments de sortie

    réduire tout

    Résumé des métriques, renvoyé sous forme de tableau. Le résumé comprend la moyenne, la médiane, l'écart type et la taille de l'échantillon pour les mesures de type numérique. Pour les métriques de type logique, le résumé inclut les TrueCount, FalseCount et SuccessRate. TrueCount est le nombre de fois où la valeur de la métrique est vraie. FalseCount est le nombre de fois où la valeur de la métrique est fausse. SuccessRate est le rapport entre TrueCount et le nombre total d'exécutions du planificateur exprimé en pourcentage.

    Types de données : table

    Valeur métrique, renvoyée sous forme de tableau. Le tableau contient les valeurs des métriques pour chaque exécution pour toutes les métriques.

    Types de données : table

    Conseils

    • Si la valeur de la métrique ne peut pas être calculée en raison d'états vides dans la sortie du chemin ou d'une erreur lors de l'exécution de la fonction de plan, NaN sera affiché pour les valeurs correspondantes dans les tableaux de données métriques. La fonction show n'affichera aucune valeur pour les métriques avec la valeur NaN .

    • Si la sortie du chemin est navPath, les métriques sont calculées à l'aide de l'espace d'état dans navPath.

    • Si la sortie du chemin est une matrice m-by-2, l'espace d'état est supposé comme stateSpaceSE2 avec thêta comme 0 pour toutes les poses. .

    • Si la sortie du chemin est une matrice m-by-3, la troisième colonne de la sortie du chemin est supposée comme thêta et par la suite stateSpaceSE2 est supposée comme l'espace d'état.

    • Si l'environnement est validatorOccupancyMap, la métrique isPathValid est calculée à l'aide de l'environnement spécifié.

    • Si l'environnement est occupancyMap ou binaryOccupancyMap, le validatorOccupancyMap par défaut est créé en utilisant l'environnement spécifié car la carte et l'espace d'état sont dérivés comme ci-dessus.

    • La valeur de la propriété ValidationDistance est supposée être 0.1*(1/resolution of map).

    Historique des versions

    Introduit dans R2022a

    Voir aussi

    Objets

    Fonctions