Contenu principal

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

copy

Créer une copie complète de l'objet planificateur de chemin A*

Depuis R2023a

    Description

    planner2 = copy(planner1) crée une copie complète de l'objet plannerAStar planner1.

    exemple

    Exemples

    réduire tout

    Chargez le réseau routier du Queensland.

    load("queenslandRoutes","places","routes")

    Spécifiez les états, les liens et les poids pour un objet 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

    Créez un objet navGraph .

    graphObj = navGraph(states,links,Weight=weights, ...
                        Name=names);

    Créez un planificateur de chemin A* basé sur un graphique.

    planner = plannerAStar(graphObj);

    Créez une copie complète de l'objet plannerAStar .

    planner2 = copy(planner)
    planner2 = 
      plannerAStar with properties:
    
        HeuristicCostFcn: @nav.algs.distanceManhattan
              TieBreaker: 0
                   Graph: [1x1 navGraph]
    
    

    Spécifier une fonction heuristique renvoie un temps estimé pour atteindre l'objectif.

    planner.HeuristicCostFcn = @(state1,state2) ...
        sum(abs(state1-state2),2)/100;

    Définir les villes de départ et d'arrivée.

    start = "Hughenden";
    goal = "Brisbane";

    Trouvez le chemin le plus court à l’aide de l’algorithme A* basé sur un graphique.

    [pathOutput,solutionInfo] = plan(planner,start,goal);

    Visualisez les résultats.

    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)

    Figure contains an axes object. The axes object contains an object of type graphplot.

    Arguments d'entrée

    réduire tout

    Un* planificateur de chemin, spécifié comme objet plannerAStar .

    Arguments de sortie

    réduire tout

    Copie du planificateur de chemin A*, renvoyée sous forme d'objet plannerAStar .

    Capacités étendues

    développer tout

    Génération de code C/C++
    Générez du code C et C++ avec MATLAB® Coder™.

    Historique des versions

    Introduit dans R2023a

    Voir aussi

    |