план

Запланируйте путь к автомобилю с помощью RRT* планировщик пути

Синтаксис

refPath = plan(planner,startPose,goalPose)
[refPath,tree] = plan(planner,startPose,goalPose)

Описание

пример

refPath = plan(planner,startPose,goalPose) планирует путь к автомобилю от startPose до goalPose с помощью объекта входа pathPlannerRRT. Этот объект конфигурирует оптимальное быстро исследующее случайное дерево (RRT*) планировщик пути.

[refPath,tree] = plan(planner,startPose,goalPose) также возвращает дерево исследования, tree.

Примеры

свернуть все

Запланируйте путь к автомобилю к месту для парковки при помощи RRT* алгоритм.

Загрузите costmap парковки. Постройте costmap, чтобы видеть парковку и раздутые области для автомобиля, чтобы избежать.

data = load('parkingLotCostmapReducedInflation.mat');
costmap = data.parkingLotCostmapReducedInflation;
plot(costmap)

Задайте запускаются и целевые положения для планировщика пути как [x, y, Θ] векторы. Мировые модули для (x, y) местоположения исчисляются в метрах. Мировые модули для Θ значений ориентации в градусах.

startPose = [11, 10, 0]; % [meters, meters, degrees]
goalPose  = [31.5, 17, 90];

Создайте RRT* планировщик пути, чтобы запланировать путь от положения запуска до целевого положения.

planner = pathPlannerRRT(costmap);
refPath = plan(planner,startPose,goalPose);

Постройте запланированный путь.

plot(planner)

Входные параметры

свернуть все

RRT* планировщик пути, заданный как объект pathPlannerRRT.

Начальное положение автомобиля, заданного как [x, y, Θ] вектор. x и y находятся в мировых модулях, таких как метры. Θ в градусах.

Целевое положение автомобиля, заданного как [x, y, Θ] вектор. x и y находятся в мировых модулях, таких как метры. Θ в градусах.

Автомобиль достигает своего целевого положения, когда последнее положение в пути в свойстве GoalTolerance planner.

Выходные аргументы

свернуть все

Запланированный путь к автомобилю, возвращенный как объект driving.Path, содержащий ссылку, позирует вдоль запланированного пути. Если планирование было неудачно, путь не имеет никаких положений. Чтобы проверять, допустим ли путь все еще из-за обновлений costmap, используйте функцию checkPathValidity.

Дерево исследования, возвращенное как объект digraph. Узлы в tree представляют исследуемые положения автомобиля. Ребра в tree представляют расстояние между связанными узлами.

Расширенные возможности

Введенный в R2018a