plan

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

Описание

пример

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

Примеры

свернуть все

Запланируйте путь без коллизий транспортное средство через парковку при помощи Гибрида* алгоритм.

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

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

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(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.

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

свернуть все

Гибрид* планировщик пути в виде 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++ с помощью MATLAB® Coder™.

Введенный в R2019b