plan

Найдите путь без препятствий между двумя положениями

Описание

пример

path = plan(planner,start,goal) вычисляет свободный от препятствий путь между начальным и целевым положениями, заданный как [x y theta] векторы, с использованием входа plannerHybridAStar объект.

Примеры

свернуть все

Планируйте путь без столкновения для транспортного средства через парковку с помощью алгоритма Hybrid A *.

Создайте и назначьте карту для валидатора состояний

Загрузите значения стоимости камер в косметическую карту транспортного средства на парковке.

load parkingLotCostVal.mat % costVal

Создайте binaryOccupancyMap со значениями затрат.

map = binaryOccupancyMap(costVal);

Создайте объект средства проверки состояния для проверки столкновения.

validator = validatorOccupancyMap;

Присвойте карту объекту состояния.

validator.Map = map;

Планирование и визуализация пути

Инициализируйте plannerHybridAStar объект с объектом средства проверки состояния. Задайте MinTurningRadius и MotionPrimitiveLength свойства планировщика.

planner = plannerHybridAStar(validator,'MinTurningRadius',4,'MotionPrimitiveLength',6);

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

startPose = [6 10 pi/2]; % [meters, meters, radians]
goalPose = [90 54 -pi/2];

Планируйте путь от начального положения до положения цели.

refpath = plan(planner,startPose,goalPose);

Визуализируйте путь с помощью функции show.

show(planner)

Figure contains an axes. The axes with title Hybrid A* Path Planner contains 6 objects of type image, line, scatter. These objects represent Forward Motion Primitives, Reverse Motion Primitives, Final Path, Start, Goal.

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

свернуть все

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

Начните расположение пути, заданное как вектор 1 на 3 в форме [x y theta] . x и y задают положение в метрах, а theta задает угол ориентации в радианах.

Пример: [5 5 pi/2]

Типы данных: double

Окончательное расположение пути, заданное как вектор 1 на 3 в форме [x y theta] . x и y задают положение в метрах, а theta задает угол ориентации в радианах.

Пример: [45 45 pi/4]

Типы данных: double

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

свернуть все

Путь без препятствий, возвращенный как navPath объект.

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

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ MATLAB ®

.
Введенный в R2019b