plotParkingLaneMarking

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

Описание

пример

plotParkingLaneMarking(lmPlotter,plmv,plmf) отображения паркуя маршрут, отмечающий вершины plmv и парковка маршрута, отмечающего поверхности plmf на видимом с большого расстояния графике. Маршрут, отмечающий плоттер lmPlotter сопоставлен с birdsEyePlot возразите и конфигурирует отображение заданных маркировок маршрута.

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

Примеры

свернуть все

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

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

scenario = drivingScenario;
roadcenters = [10 40; 10 -40];
road(scenario,roadcenters);
vertices = [0 20; 20 20; 20 -20; 0 -20];
parkingLot(scenario,vertices,ParkingSpace=parkingSpace);

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

ego = vehicle(scenario);
waypoints = [10 35 0; 10 10 0];
speed = 5; % m/s
smoothTrajectory(ego,waypoints,speed)

Создайте припаркованные автомобили на нескольких парковочных местах. Постройте сценарий.

parkedCar1 = vehicle(scenario,Position=[15.8 12.4 0]);
parkedCar2 = vehicle(scenario,Position=[15.8 -12.4 0]);
parkedCar3 = vehicle(scenario,Position=[2 -9.7 0]);
parkedCar4 = vehicle(scenario,Position=[2 9.7 0]);
plot(scenario)

Создайте датчик видения для генерации обнаружений. По умолчанию датчик смонтирован к переднему бамперу автомобиля, оборудованного датчиком.

sensor = visionDetectionGenerator;

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

bep = birdsEyePlot(XLim=[-40 40],YLim=[-30 30]);
olPlotter = outlinePlotter(bep);
lbPlotter = laneBoundaryPlotter(bep);
lmPlotter = laneMarkingPlotter(bep,DisplayName="Parking lanes");
caPlotter = coverageAreaPlotter(bep,DisplayName="Coverage area");
detPlotter = detectionPlotter(bep,DisplayName="Detections");

while advance(scenario)

    % Plot target outlines.
    [position,yaw,length,width,originOffset,color] = targetOutlines(ego);
    plotOutline(olPlotter,position,yaw,length,width)

    % Plot lane boundaries of ego vehicle.
    rbEgo = roadBoundaries(ego);
    plotLaneBoundary(lbPlotter,rbEgo)

    % Plot parking lane markings.
    [plmv,plmf] = parkingLaneMarkingVertices(ego);
    plotParkingLaneMarking(lmPlotter,plmv,plmf)

    % Plot sensor coverage area.
    mountPosition = sensor.SensorLocation;
    range = sensor.MaxRange;
    orientation = sensor.Yaw;
    fieldOfView = sensor.FieldOfView(1);
    plotCoverageArea(caPlotter,mountPosition,range,orientation,fieldOfView)

    % Generate and plot detections.
    actors = targetPoses(ego);
    time = scenario.SimulationTime;
    [dets,isValidTime] = sensor(actors,time);
    if isValidTime
        positions = cell2mat(cellfun(@(x)([x.Measurement(1) x.Measurement(2)]), ...
            dets,UniformOutput=false));
        plotDetection(detPlotter,positions)
    end

end

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

свернуть все

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

Парковка вершин маркировки маршрута в виде V-by-3 матрица с действительным знаком. Каждая строка plmv представляет x, y и координаты z одной вершины в маркировке маршрута. Плоттер использует только координаты y и x. V является количеством вершин в маркировке.

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

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

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

Введенный в R2021b
Для просмотра документации необходимо авторизоваться на сайте