Main Content

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

runPlanner

Planificateurs de parcours

Depuis R2022a

    Description

    runPlanner(plannerBM) exécute tous les planificateurs de chemin une fois.

    exemple

    runPlanner(plannerBM,runCount) spécifie le nombre de fois où exécuter tous les planificateurs de chemin. La fonction collecte les sorties de la fonction d'initialisation et de la fonction de plan. La fonction calcule également la métrique executionTime pour la fonction de plan et la métrique initializationTime pour la fonction d'initialisation.

    runPlanner(___,Verbose=Value) spécifie verbeux qui affiche la progression de la fonction. La valeur de verbose est spécifiée comme "on" ou "off". La valeur par défaut de verbose est "on".

    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 .

    Nombre de fois d'exécution des fonctions du plan, spécifié sous forme de scalaire positif.

    Types de données : single | double

    Historique des versions

    Introduit dans R2022a

    Voir aussi

    Objets

    Fonctions