График разметки полосы движения для участка с птичьим глазом
создает 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,'ClassID',1);
egopath = [1.5 0 0; 60 0 0; 111 25 0];
egospeed = 30;
smoothTrajectory(egovehicle,egopath,egospeed);
Укажите, что целевое транспортное средство движется впереди эго-транспортного средства со скоростью 40 м/с и изменяет полосы движения вблизи эго-транспортного средства.
targetcar = vehicle(scenario,'ClassID',1);
targetpath = [8 2; 60 -3.2; 120 33];
targetspeed = 40;
smoothTrajectory(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' - Цвет лица накладок разметки полосы движения[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] |
|
'Tag' - Марка, связанная с объектом плоттера'PlotterN' (по умолчанию) | символьный вектор | строковый скалярМарка, связанная с объектом плоттера, заданная как разделенная запятыми пара, состоящая из 'Tag' и вектор символов или строковый скаляр. Значение по умолчанию: 'Plotter, где N'N является целым числом, которое соответствует Nтый плоттер, связанный с вводом birdsEyePlot объект.
lmPlotter - Плоттер разметки полосы движенияLaneMarkingPlotter объектПлоттер разметки полосы, возвращенный как LaneMarkingPlotter объект. Этот объект можно изменить, изменив его значения свойств. Имена свойств соответствуют аргументам пары имя-значение laneMarkingPlotter функция.
lmPlotter хранится в Plotters свойство входа birdsEyePlot объект, bep. Для печати разметки полосы используйте plotLaneMarking функция.
birdsEyePlot | clearData | clearPlotterData | findPlotter | plotLaneMarking
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.