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 координаты одной вершины. Плоттер использует только x и y координаты. Чтобы получить вершины и грани разметки маршрута из сценария вождения, используйте laneMarkingVertices функция.

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

Введенный в R2018a