Плоттер маркировки маршрута для видимого с большого расстояния графика
lmPlotter = laneMarkingPlotter(bep)
lmPlotter = laneMarkingPlotter(bep,Name,Value)
создает объект lmPlotter
= laneMarkingPlotter(bep
)LaneMarkingPlotter
, который конфигурирует отображение маркировок маршрута на видимом с большого расстояния графике. Объект LaneMarkingPlotter
хранится в свойстве Plotters
объекта входа birdsEyePlot
, bep
. Чтобы отобразить маркировки маршрута, используйте функцию plotLaneMarking
.
свойства наборов с помощью одного или нескольких аргументов пары lmPlotter
= laneMarkingPlotter(bep
,Name,Value
)Name,Value
. Например, laneMarkingPlotter(bep,'DisplayName','Lane markings')
определяет имя отображения, которое появляется в легенде графика птичьего глаза.
Создайте ведущий сценарий, содержащий автомобиль, оборудованный датчиком и целевой автомобиль, перемещающийся вдоль трехполосной дороги. Обнаружьте контуры маршрута при помощи генератора обнаружения видения.
sc = drivingScenario;
Создайте трехполосную дорогу при помощи спецификаций маршрута.
roadCenters = [0 0 0; 60 0 0; 120 30 0];
lspc = lanespec(3);
road(sc,roadCenters,'Lanes',lspc);
Укажите, что автомобиль, оборудованный датчиком следует за центральным маршрутом на уровне 30 м/с.
egovehicle = vehicle(sc); egopath = [1.5 0 0; 60 0 0; 111 25 0]; egospeed = 30; trajectory(egovehicle,egopath,egospeed);
Укажите, что целевые перемещения автомобиля перед автомобилем, оборудованным датчиком на уровне 40 м/с и перестраиваются на другую полосу близко к автомобилю, оборудованному датчиком.
targetcar = vehicle(sc,'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(sc);
Запустите симуляцию.
Создайте видимый с большого расстояния график и связанные плоттеры.
Отобразите зону охвата датчика.
Отобразите маркировки маршрута.
Получите наземные положения истины целей на дороге.
Получите идеальные граничные точки маршрута до 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(sc) [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,sc.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
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
laneBoundaryPlotter('Color','red')
выбирает цвет маркировок маршрута к красному.DisplayName
Имя плоттера, чтобы отобразиться в легенде''
(значение по умолчанию) | вектор символов | представляет скаляр в виде строкиИмя плоттера, чтобы отобразиться в легенде, заданной как пара, разделенная запятой, состоящая из 'DisplayName'
и вектора символов или представить скаляр в виде строки. Если вы не задаете имя, видимый с большого расстояния график не отображает запись легенды для плоттера.
'FaceColor'
Столкнитесь с цветом закрашенных фигур маркировки маршрута[0.6 0.6 0.6]
(серое) (значение по умолчанию) | триплет 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] |
|
Тег
Тег сопоставлен с объектом плоттера'PlotterN'
(значение по умолчанию) | вектор символов | представляет скаляр в виде строкиТег сопоставлен с объектом плоттера, заданным как пара, разделенная запятой, состоящая из 'Tag'
и скаляра строки или вектора символов. Значением по умолчанию является
, где 'PlotterN'
N
является целым числом, которое соответствует N
th плоттер, сопоставленный с объектом входа birdsEyePlot
.
lmPlotter
— Плоттер маркировки маршрутаLaneMarkingPlotter
Плоттер маркировки маршрута, возвращенный как объект LaneMarkingPlotter
. Можно изменить этот объект путем изменения его значений свойств. Имена свойства соответствуют аргументам пары "имя-значение" функции laneMarkingPlotter
.
lmPlotter
хранится в свойстве Plotters
объекта входа birdsEyePlot
, bep
. Чтобы построить маркировки маршрута, используйте функцию plotLaneMarking
.
birdsEyePlot
| clearData
| clearPlotterData
| findPlotter
| plotLaneMarking
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.