plotLaneMarking

Отобразите маркировки маршрута на видимом с большого расстояния графике

Описание

пример

plotLaneMarking(lmPlotter,lmv,lmf) вершины маркировки маршрута отображений, lmv, и поверхности маркировки маршрута, lmf, на видимом с большого расстояния графике. Плоттер маркировки маршрута, lmPlotter, сопоставлен с birdsEyePlot возразите и конфигурирует отображение заданных маркировок маршрута.

Удалить все маркировки маршрута, сопоставленные с маршрутом, отмечающим плоттер lmPlotter, вызовите clearData функционируйте и задайте lmPlotter как входной параметр.

Примеры

свернуть все

Создайте ведущий сценарий, содержащий автомобиль и пешехода на прямой дороге. Затем создайте и отобразите маркировки маршрута дороги на видимом с большого расстояния графике.

Создайте пустой ведущий сценарий.

scenario = drivingScenario;

Создайте прямой, 25-метровый дорожный сегмент с двумя маршрутами перемещения в одном направлении.

lm = [laneMarking('Solid')
      laneMarking('Dashed','Length',2,'Space',4)
      laneMarking('Solid')];
l = lanespec(2,'Marking',lm);
road(scenario,[0 0 0; 25 0 0],'Lanes',l);

Добавьте в ведущий сценарий пешеходный переход дорога на уровне 1 метра в секунду и автомобиль после дороги на уровне 10 метров в секунду.

ped = actor(scenario,'ClassID',4,'Length',0.2,'Width',0.4,'Height',1.7);
car = vehicle(scenario,'ClassID',1);
smoothTrajectory(ped,[15 -3 0; 15 3 0],1);
smoothTrajectory(car,[car.RearOverhang 0 0; 25-car.Length+car.RearOverhang 0 0],10);

Отобразите сценарий и соответствующий график преследования.

plot(scenario)

chasePlot(car)

Запустите симуляцию.

  1. Создайте видимый с большого расстояния график.

  2. Создайте плоттер схемы, плоттер контура маршрута и плоттер маркировки маршрута для видимого с большого расстояния графика.

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

  4. Получите вершины маркировки маршрута и поверхности.

  5. Отобразите контуры маршрута и маркеры маршрута.

  6. Запустите цикл симуляции.

bep = birdsEyePlot('XLim',[-25 25],'YLim',[-10 10]);
olPlotter = outlinePlotter(bep);
lbPlotter = laneBoundaryPlotter(bep);
lmPlotter = laneMarkingPlotter(bep,'DisplayName','Lanes');
legend('off');
while advance(scenario)
    rb = roadBoundaries(car);
    [position,yaw,length,width,originOffset,color] = targetOutlines(car);
    [lmv,lmf] = laneMarkingVertices(car);
    plotLaneBoundary(lbPlotter,rb);
    plotLaneMarking(lmPlotter,lmv,lmf);
    plotOutline(olPlotter,position,yaw,length,width, ...
        'OriginOffset',originOffset,'Color',color);
end

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

свернуть все

Плоттер маркировки маршрута в виде LaneMarkingPlotter объект. Этот объект хранится в Plotters свойство birdsEyePlot возразите и конфигурирует отображение заданных маркировок маршрута в видимом с большого расстояния графике. Чтобы создать этот объект, используйте laneMarkingPlotter функция.

Вершины маркировки маршрута в виде L-by-3 матрица с действительным знаком. Каждая строка lmv представляет x, y и координаты z одной вершины. Плоттер использует только координаты y и x. Чтобы получить вершины маркировки маршрута и поверхности из ведущего сценария, используйте laneMarkingVertices функция.

Маркировка маршрута стоит в виде матрицы с действительным знаком. Каждая строка lmf поверхность, которая задает связь между вершинами для однополосной маркировки. Чтобы получить вершины маркировки маршрута и поверхности из ведущего сценария, используйте laneMarkingVertices функция.

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

| |

Введенный в R2018a