plotPointCloud

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

Описание

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

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

пример

plotPointCloud(pcPlotterpointCloudMatrix) задает данные об облаке точек как 2D или 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];
trajectory(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];
trajectory(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];
trajectory(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];
trajectory(bicycle,waypoints,5);
plot(scenario,'Meshes','on')

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

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

lidar = lidarPointCloudGenerator;

Добавьте профили агента и ID агента автомобиля, оборудованного датчиком от ведущего сценария до Системного объекта.

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

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

свернуть все

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

Облако точек, возвращенное как pointCloud объект.

Хранит данные об облаке точек в виде N-by-2 или N-by-3 матрица. Значения в первом столбце матрицы соответствуют координатам X облака точек. Точно так же вторые и третьи столбцы соответствуют координаты Z и Y.

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

Введенный в R2020a