plotPointCloud

Отобразите сгенерированное облако точек на графике птичьего глаза

Описание

пример

plotPointCloud(pcPlotter,pcObject) отображает облако точек, сгенерированное из объекта данных облака точек, pcObject. Плоттер облака точек, pcPlotter, связано с birdsEyePlot и конфигурирует отображение заданного облака точек.

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

plotPointCloud(pcPlotter,pointCloudMatrix) задает данные облака точек как матрицу 2-D или 3-D точек, pointCloudMatrix.

Примеры

свернуть все

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

Создайте и постройте сценарий вождения с несколькими транспортными средствами

Создайте сценарий вождения.

scenario = drivingScenario;

Добавьте прямую дорогу к сценарию вождения. Дорога имеет по одной полосе в каждом направлении.

roadCenters = [0 0 0; 70 0 0];
laneSpecification = lanespec([1 1]);
road(scenario,roadCenters,'Lanes',laneSpecification);

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

egoVehicle = vehicle(scenario,'ClassID',1,'Mesh',driving.scenario.carMesh);
waypoints = [1 -2 0; 35 -2 0];
smoothTrajectory(egoVehicle,waypoints,10);

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

truck = vehicle(scenario,'ClassID',2,'Length', 8.2,'Width',2.5,'Height',3.5, ...
  'Mesh',driving.scenario.truckMesh);
waypoints = [70 1.7 0; 20 1.9 0];
smoothTrajectory(truck,waypoints,15);

pedestrian = actor(scenario,'ClassID',4,'Length',0.24,'Width',0.45,'Height',1.7, ...
  'Mesh',driving.scenario.pedestrianMesh);
waypoints = [23 -4 0; 10.4 -4 0];
smoothTrajectory(pedestrian,waypoints,1.5);

bicycle = actor(scenario,'ClassID',3,'Length',1.7,'Width',0.45,'Height',1.7, ...
  'Mesh',driving.scenario.bicycleMesh);
waypoints = [12.7 -3.3 0; 49.3 -3.3 0];
smoothTrajectory(bicycle,waypoints,5);

plot(scenario,'Meshes','on')

Figure contains an axes. The axes contains 7 objects of type patch, line.

Сгенерируйте и постройте график данных облака точек лидара

Создайте lidarPointCloudGenerator Системный объект.

lidar = lidarPointCloudGenerator;

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

lidar.ActorProfiles = actorProfiles(scenario);
lidar.EgoVehicleActorID = egoVehicle.ActorID;

Постройте график данных облака точек.

bep = birdsEyePlot('Xlimits',[0 70],'YLimits',[-30 30]);
plotter = pointCloudPlotter(bep);
legend('off');
while advance(scenario)
    tgts = targetPoses(egoVehicle);
    rdmesh = roadMesh(egoVehicle);
    [ptCloud,isValidTime] = lidar(tgts,rdmesh,scenario.SimulationTime);
    if isValidTime
        plotPointCloud(plotter,ptCloud);
    end
end

Figure contains an axes. The axes contains 7 objects of type patch, line.

Figure contains an axes. The axes is empty.

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

свернуть все

Плоттер облака точек, заданный как pointCloudPlotter объект. Этот объект хранится в Plotters свойство birdsEyePlot и конфигурирует отображение заданного облака точек на графике птичьего глаза. Эти имена свойства соответствуют аргументам пары "имя-значение" pointCloudPlotter функция.

Объект данных облака точек, заданный как pointCloud объект.

Матрица данных облака точек, заданная как матрица N -by-2 или N -by-3 real-valued. Каждый элемент в первом столбце матрицы соответствует x- координатам точки в облаке точек. Элементы второго и третьего столбцов соответствуют y- и z- координатам.

Типы данных: single | double

Введенный в R2020a