Main Content

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

    exemple

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

    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

    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

    |