pointCloudPlotter

Плоттер облака точек для графика птичьего глаза

Описание

пример

pcPlotter = pointCloudPlotter(bep) создает объект плоттера облака точек, который конфигурирует отображение данных облака точек лидара на графике птичьего глаза. Объект плоттера облака точек хранится в Plotters свойство входного объекта графика птичьего глаза, bep. Чтобы построить график данных облака точек лидара, используйте plotPointCloud функция.

pcPlotter = pointCloudPlotter(bep,Name,Value) задает опции, используя один или несколько аргументы пары "имя-значение". Для примера, 'DisplayName','Point Cloud' устанавливает имя отображения, которое появляется в легенде графика птичьего глаза, на «Облако точек».

Примеры

свернуть все

Сгенерируйте данные облака точек лидара для сценария вождения с несколькими актерами при помощи 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.

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

свернуть все

График птичьего глаза, заданный как birdsEyePlot объект.

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: 'DisplayName','Point Cloud' устанавливает имя отображения, которое появляется в легенде графика птичьего глаза, на «Облако точек».

Имя плоттера, отображаемое в легенде, задается как разделенная разделенными запятой парами, состоящая из 'DisplayName' и вектор символов или строковый скаляр. Если вы не задаете имя, график птичьего глаза не отображает запись легенды для плоттера.

Типы данных: char | string

Размер маркера для точек в облаке точек, заданный как разделенная разделенными запятой парами, состоящая из 'PointSize' и положительное целое число в точках.

Цвет заливки точки, заданный как разделенная разделенными запятой парами, состоящая из 'Color' и триплет RGB, шестнадцатеричный цветовой код, название цвета или короткое название цвета.

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

  • Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должна быть в области значений [0,1]; для примера, [0.4 0.6 0.7].

  • Шестнадцатеричный код цвета - это вектор символов или строковый скаляр, который начинается с хэш-символа (#), за которым следуют три или шесть шестнадцатеричных цифр, которые могут варьироваться от 0 на F. Значения не зависят от регистра. Таким образом, цветовые коды '#FF8800', '#ff8800', '#F80', и '#f80' являются эквивалентными.

Кроме того, вы можете задать имена некоторых простых цветов. В этой таблице перечислены именованные опции цвета, эквивалентные триплеты RGB и шестнадцатеричные цветовые коды.

Название цветаКраткое имяТриплет RGBШестнадцатеричный цветовой кодВнешность
'red''r'[1 0 0]'#FF0000'

'green''g'[0 1 0]'#00FF00'

'blue''b'[0 0 1]'#0000FF'

'cyan' 'c'[0 1 1]'#00FFFF'

'magenta''m'[1 0 1]'#FF00FF'

'yellow''y'[1 1 0]'#FFFF00'

'black''k'[0 0 0]'#000000'

'white''w'[1 1 1]'#FFFFFF'

'none'Не применяетсяНе применяетсяНе применяетсяНет цвета

Вот триплеты RGB и шестнадцатеричные цветовые коды для цветов по умолчанию MATLAB® использует на многих типах графиков.

Триплет RGBШестнадцатеричный цветовой кодВнешность
[0 0.4470 0.7410]'#0072BD'

[0.8500 0.3250 0.0980]'#D95319'

[0.9290 0.6940 0.1250]'#EDB120'

[0.4940 0.1840 0.5560]'#7E2F8E'

[0.4660 0.6740 0.1880]'#77AC30'

[0.3010 0.7450 0.9330]'#4DBEEE'

[0.6350 0.0780 0.1840]'#A2142F'

Тег, сопоставленный с объектом плоттера, задается как разделенная разделенными запятой парами, состоящая из 'Tag' и вектор символов или строковый скаляр. Значение по умолчанию является 'Plotter N', где N является целым числом, которое соответствует Nth плоттер, сопоставленный с входом birdsEyePlot объект.

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

свернуть все

Плоттер облака точек, возвращенный как pointCloudPlotter объект. Можно изменить этот объект, изменив его значения свойств.

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

Введенный в R2020a