exponenta event banner

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);

Добавьте транспортное средство ego в сценарий вождения.

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;

Добавьте профили акторов и идентификатор актора эго-транспортного средства из сценария вождения в объект System.

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' и вектор символов или строковый скаляр. Значение по умолчанию: 'PlotterN', где N является целым числом, которое соответствует Nтый плоттер, связанный с вводом birdsEyePlot объект.

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

свернуть все

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

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

Представлен в R2020a