laneMarkingVertices

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

Синтаксис

[lmv,lmf] = laneMarkingVertices(sc)
[lmv,lmf] = laneMarkingVertices(ac)

Описание

пример

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

пример

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

Примеры

свернуть все

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

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

sc = drivingScenario;

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

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

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

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

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

plot(sc)

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(sc)
    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) координаты вершины.

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

Алгоритмы

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

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

Объекты

Функции

Введенный в R2018a