Плоттер маркировки маршрута для видимого с большого расстояния графика
создает lmPlotter
= laneMarkingPlotter(bep
)LaneMarkingPlotter
объект, который конфигурирует отображение маркировок маршрута на видимом с большого расстояния графике. LaneMarkingPlotter
объект хранится в Plotters
свойство входа birdsEyePlot
объект, bep
. Чтобы отобразить маркировки маршрута, используйте plotLaneMarking
функция.
свойства наборов с помощью одного или нескольких lmPlotter
= laneMarkingPlotter(bep
,Name,Value
)Name,Value
парные аргументы. Например, laneMarkingPlotter(bep,'DisplayName','Lane markings')
определяет имя отображения, которое появляется в легенде графика птичьего глаза.
Создайте ведущий сценарий, содержащий автомобиль, оборудованный датчиком и целевое транспортное средство, перемещающееся вдоль трехполосной дороги. Обнаружьте контуры маршрута при помощи генератора обнаружения видения.
scenario = drivingScenario;
Создайте трехполосную дорогу при помощи спецификаций маршрута.
roadCenters = [0 0 0; 60 0 0; 120 30 0];
lspc = lanespec(3);
road(scenario,roadCenters,'Lanes',lspc);
Укажите, что автомобиль, оборудованный датчиком следует за центральным маршрутом на уровне 30 м/с.
egovehicle = vehicle(scenario); egopath = [1.5 0 0; 60 0 0; 111 25 0]; egospeed = 30; trajectory(egovehicle,egopath,egospeed);
Укажите, что целевые перемещения транспортного средства перед автомобилем, оборудованным датчиком на уровне 40 м/с и перестраиваются на другую полосу близко к автомобилю, оборудованному датчиком.
targetcar = vehicle(scenario,'ClassID',2);
targetpath = [8 2; 60 -3.2; 120 33];
targetspeed = 40;
trajectory(targetcar,targetpath,targetspeed);
Отобразите график преследования для 3-D представления сценария из-за автомобиля, оборудованного датчиком.
chasePlot(egovehicle)
Создайте генератор обнаружения видения, который обнаруживает маршруты и объекты. Подача датчика указывает одну степень вниз.
visionSensor = visionDetectionGenerator('Pitch',1.0); visionSensor.DetectorOutput = 'Lanes and objects'; visionSensor.ActorProfiles = actorProfiles(scenario);
Запустите симуляцию.
Создайте видимый с большого расстояния график и связанные плоттеры.
Отобразите зону охвата датчика.
Отобразите маркировки маршрута.
Получите положения основной истины целей на дороге.
Получите идеальные граничные точки маршрута до 60 м вперед.
Сгенерируйте обнаружения от идеальных целевых положений и контуров маршрута.
Отобразите схему цели.
Обнаружения экранного объекта, когда обнаружение объектов допустимо.
Отобразите контур маршрута, когда обнаружение маршрута будет допустимо.
bep = birdsEyePlot('XLim',[0 60],'YLim',[-35 35]); caPlotter = coverageAreaPlotter(bep,'DisplayName','Coverage area', ... 'FaceColor','blue'); detPlotter = detectionPlotter(bep,'DisplayName','Object detections'); lmPlotter = laneMarkingPlotter(bep,'DisplayName','Lane markings'); lbPlotter = laneBoundaryPlotter(bep,'DisplayName', ... 'Lane boundary detections','Color','red'); olPlotter = outlinePlotter(bep); plotCoverageArea(caPlotter,visionSensor.SensorLocation,... visionSensor.MaxRange,visionSensor.Yaw, ... visionSensor.FieldOfView(1)); while advance(scenario) [lmv,lmf] = laneMarkingVertices(egovehicle); plotLaneMarking(lmPlotter,lmv,lmf) tgtpose = targetPoses(egovehicle); lookaheadDistance = 0:0.5:60; lb = laneBoundaries(egovehicle,'XDistance',lookaheadDistance,'LocationType','inner'); [obdets,nobdets,obValid,lb_dets,nlb_dets,lbValid] = ... visionSensor(tgtpose,lb,scenario.SimulationTime); [objposition,objyaw,objlength,objwidth,objoriginOffset,color] = targetOutlines(egovehicle); plotOutline(olPlotter,objposition,objyaw,objlength,objwidth, ... 'OriginOffset',objoriginOffset,'Color',color) if obValid detPos = cellfun(@(d)d.Measurement(1:2),obdets,'UniformOutput',false); detPos = vertcat(zeros(0,2),cell2mat(detPos')'); plotDetection(detPlotter,detPos) end if lbValid plotLaneBoundary(lbPlotter,vertcat(lb_dets.LaneBoundaries)) end end
bep
— Видимый с большого расстояния графикbirdsEyePlot
объектВидимый с большого расстояния график, заданный как birdsEyePlot
объект.
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
laneBoundaryPlotter('Color','red')
выбирает цвет маркировок маршрута к красному.'DisplayName'
— Имя плоттера, чтобы отобразиться в легенде''
(значение по умолчанию) | вектор символов | представляет скаляр в виде строкиИмя плоттера, чтобы отобразиться в легенде, заданной как разделенная запятой пара, состоящая из 'DisplayName'
и вектор символов или скаляр строки. Если вы не задаете имя, видимый с большого расстояния график не отображает запись легенды для плоттера.
'FaceColor'
— Столкнитесь с цветом закрашенных фигур маркировки маршрута
(серое) (значение по умолчанию) | триплет RGB | название цветаСтолкнитесь с цветом закрашенных фигур маркировки маршрута, заданных как разделенная запятой пара, состоящая из 'FaceColor'
и триплет RGB или одно из перечисленных в таблице названий цвета.
Для пользовательского цвета укажите триплет RGB. Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должны быть в диапазоне [0,1]; например, [0,4 0,6 0,7]. Кроме того, вы можете задать имена некоторых простых цветов. Эта таблица приводит опции именованного цвета и эквивалентные значения триплета RGB.
Название цвета | Триплет RGB | Внешний вид |
---|---|---|
'red' | [1 0 0]
|
|
'green' | [0 1 0]
|
|
'blue' | [0 0 1]
|
|
'cyan'
| [0 1 1]
|
|
'magenta' | [1 0 1]
|
|
'yellow' | [1 1 0]
|
|
'black' | [0 0 0]
|
|
'white' | [1 1 1]
|
|
'Tag'
— Тег сопоставлен с объектом плоттера'PlotterN
'
(значение по умолчанию) | вектор символов | представляет скаляр в виде строкиТег сопоставлен с объектом плоттера, заданным как разделенная запятой пара, состоящая из 'Tag'
и вектор символов или скаляр строки. Значением по умолчанию является 'Plotter
, где N
'N
целое число, которое соответствует N
плоттер th сопоставлен с входом birdsEyePlot
объект.
lmPlotter
— Плоттер маркировки маршрутаLaneMarkingPlotter
объектПлоттер маркировки маршрута, возвращенный как LaneMarkingPlotter
объект. Можно изменить этот объект путем изменения его значений свойств. Имена свойства соответствуют аргументам пары "имя-значение" laneMarkingPlotter
функция.
lmPlotter
хранится в Plotters
свойство входа birdsEyePlot
объект, bep
. Чтобы построить маркировки маршрута, используйте plotLaneMarking
функция.
birdsEyePlot
| clearData
| clearPlotterData
| findPlotter
| plotLaneMarking
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.