Main Content

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

plan

Trouver le chemin le plus court et sans obstacle entre deux points

Depuis R2020b

    Description

    path = plan(planner,start,goal) trouve le chemin sans obstacle le plus court, path, entre un point de départ spécifié, start et un point d'arrivée, goal, spécifié comme [row column] dans un cadre de grille avec l'origine dans le coin supérieur gauche, en utilisant le planificateur de chemin A* spécifié planner.

    exemple

    path = plan(planner,start,goal,'world') trouve le chemin sans obstacle le plus court, path, entre un point de départ spécifié, start et un point d'arrivée, goal, spécifié comme [x y] dans le cadre de coordonnées mondial avec l'origine dans le coin inférieur gauche, en utilisant le planificateur de chemin A* spécifié planner.

    [path,debugInfo] = plan(___) renvoie également debugInfo qui contient le coût du chemin, le nombre de nœuds explorés et le GCoût pour chaque nœud exploré.

    Exemples

    réduire tout

    Planifiez le chemin sans collision le plus court à travers une carte quadrillée d'obstacles à l'aide de l'algorithme de planification de chemin A*.

    Générez un objet binaryOccupancyMap avec des obstacles dispersés aléatoirement à l'aide de la fonction mapClutter .

    rng('default');
    map = mapClutter;

    Utilisez la carte pour créer un objet plannerAStarGrid .

    planner = plannerAStarGrid(map);

    Définissez les points de départ et d’objectif.

    start = [2 3];
    goal = [248 248];

    Planifiez un chemin depuis le point de départ jusqu'au point d'arrivée.

    plan(planner,start,goal);

    Visualisez le chemin et les nœuds explorés à l'aide de la fonction objet show .

    show(planner)

    Figure contains an axes object. The axes object with title AStar, xlabel Columns, ylabel Rows contains 8 objects of type image, line. One or more of the lines displays its values using only markers These objects represent Path, Start, Goal, GridsExplored.

    Arguments d'entrée

    réduire tout

    Un* planificateur de chemin pour une carte quadrillée, spécifié comme objet plannerAStarGrid .

    Position de départ dans la grille ou le monde, spécifiée comme un vecteur à deux éléments de la forme [row column], ou [x y]. L'emplacement est en positions de grille ou en coordonnées mondiales basées sur la syntaxe.

    Exemple : [2 3]

    Types de données : double

    Position de l'objectif dans la grille ou le monde, spécifiée comme un vecteur à deux éléments de la forme [row column], ou [x y]. L'emplacement est en positions de grille ou en coordonnées mondiales basées sur la syntaxe.

    Exemple : [28 46]

    Types de données : double

    Arguments de sortie

    réduire tout

    Chemin le plus court sans obstacle, renvoyé sous la forme d'une matrice n-par-2. n est le nombre de waypoints sur le chemin. Chaque ligne représente l'emplacement [row column], ou [x y] d'un waypoint. le long du chemin résolu depuis le point de départ jusqu'au but. L'emplacement est en positions de grille ou en coordonnées mondiales basées sur la syntaxe.

    Types de données : double

    Informations de débogage pour le résultat du chemin, renvoyées sous forme de structure avec ces champs :

    • PathCost — Coût du chemin

    • NumNodesExplored — Nombre de nœuds explorés

    • GCostMatrix — GCoût pour chaque nœud exploré

    Types de données : struct

    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 R2020b