show

Визуализация траекторий

Описание

show(planner) визуализирует ссылочный путь и траекторию от кандидатов, сгенерированных plan функция. Траектория показывается линейным графиком. График также включает режим всплывающих подсказок, который может использоваться, чтобы визуализировать вектор выполнимости и индекс траектории из свойства TrajectoryList.

пример

show(planner,Name,Value) задает дополнительные опции с помощью одного или нескольких Name,Value парные аргументы.

axHandle = show(planner) возвращается указатель осей фигуры раньше строил траекторию.

Примеры

свернуть все

В этом примере показано, как запланировать оптимальную траекторию с помощью trajectoryOptimalFrenet объект.

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

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

stateValidator = validatorOccupancyMap;

Создайте карту сетки препятствия.

grid = zeros(50,100);
grid(24:26,48:53) = 1;

Создайте binaryOccupancyMap с картой сетки.

map = binaryOccupancyMap(grid);

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

stateValidator.Map = map;

Запланируйте и визуализируйте траекторию

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

refPath = [0,25;100,25];

Объявите, что указатель функции стоимости приоритизирует оставленный изменения маршрута.

leftLaneChangeCost = @(states)((states(end,2) < refPath(end,2))*10);

Инициализируйте объект планировщика ссылочным путем, блоком проверки допустимости состояния и пользовательской функцией стоимости.

planner = trajectoryOptimalFrenet(refPath,stateValidator,'CostFunction',leftLaneChangeCost);

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

planner.TerminalStates.Longitudinal = 100;
planner.TerminalStates.Lateral = -10:10:10;
planner.FeasibilityParameters.MaxAcceleration = 10;

Планирование траектории

Начальное состояние Frenet транспортного средства.

initFrenetState = zeros(1,6);

Запланируйте траекторию от начального состояния Frenet.

plan(planner,initFrenetState);

Визуализация траектории

Визуализируйте карту и траектории.

show(map)
hold on
show(planner,'Trajectory','all')

В этом примере показано, как разделить продольные конечные состояния в оптимальном планировании траектории с помощью trajectoryOptimalFrenet объект.

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

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

statevalidator = validatorOccupancyMap; 

Создайте карту сетки препятствия.

grid = zeros(50,100);
grid(22:24,28:33) = 1;
grid(18:20,37:42) = 1;
grid(29:31,72:77) = 1;

Создайте binaryOccupancyMap с картой сетки.

map = binaryOccupancyMap(grid);

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

statevalidator.Map = map; 

Запланируйте и визуализируйте траекторию

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

refPath = [0,25;30,30;75,20;100,25];

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

planner = trajectoryOptimalFrenet(refPath,statevalidator);

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

planner.TerminalStates.Longitudinal = 100;
planner.FeasibilityParameters.MaxAcceleration = 10;

Планирование траектории

Начальное состояние Frenet транспортного средства.

initFrenetState = zeros(1,6);

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

planner.NumSegments = 3; 

Запланируйте траекторию от начального состояния Frenet.

plan(planner,initFrenetState);

Визуализация траектории

Визуализируйте карту и траектории.

show(map)
hold on
show(planner,'Trajectory','all')

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

свернуть все

Оптимальный планировщик траектории на пробеле Frenet в виде trajectoryOptimalFrenet объект.

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'Trajectory','all'

Оси, чтобы построить траекторию в виде разделенной запятой пары, состоящей из 'Parent' и любой Axes или UIAxes объект. Смотрите axes или uiaxes.

Параметр отображения траектории в виде разделенной запятой пары, состоящей из 'Trajectory' и любой 'optimal' или 'all'.

Ссылочный параметр отображения пути в виде разделенной запятой пары, состоящей из 'ReferencePath' и любой 'on' или 'off'.

Параметр цветного дисплея траектории в виде разделенной запятой пары, состоящей из 'TrajectoryColor' и одно из следующего:

  • 'acceleration'

  • 'cost'

  • 'velocity'

  • 'none'

Установите это свойство отобразить заданную траекторию как цветовой градиент вдоль заданного пути.

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

свернуть все

Указатель осей, используемый, чтобы построить траекторию, возвратился как любой axes, или uiaxes объект.

Смотрите также

|

Введенный в R2019b