laneMarkingVertices

Вершины маркировки маршрута и поверхности в ведущем сценарии

Описание

пример

[lmv,lmf] = laneMarkingVertices(scenario) возвращает вершины маркировки маршрута, lmv, и поверхности маркировки маршрута, lmf, содержавшийся в ведущем сценарии scenario. lmf и lmv выходные параметры находятся в мировых координатах scenario. Используйте вершины маркировки маршрута и поверхности, чтобы отобразить маркировки маршрута с помощью laneMarkingPlotter функция с видимым с большого расстояния графиком.

пример

[lmv,lmf] = laneMarkingVertices(ac) возвращает вершины маркировки маршрута и поверхности в координатах ведущего агента сценария ac.

Примеры

свернуть все

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

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

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

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

свернуть все

Ведущий сценарий в виде drivingScenario объект.

Агент, принадлежащий drivingScenario объект в виде Actor или Vehicle объект. Чтобы создать эти объекты, используйте actor и vehicle функции, соответственно.

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

свернуть все

Вершины маркировки маршрута, возвращенные как матрица с действительным знаком. Каждая строка матрицы представляет (x, y, z) координаты вершины.

Поверхности маркировки маршрута, возвращенные как матрица с целочисленным знаком. Каждая строка матрицы содержит связи вершины, которые задают поверхность для однополосной маркировки. Для получения дополнительной информации смотрите Поверхности.

Алгоритмы

Эта функция использует patch функция, чтобы задать вершины маркировки маршрута и поверхности.

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

Объекты

Функции

Введенный в R2018a