barrier

Добавьте барьер для ведущего сценария

Описание

пример

barrier(scenario,rd) добавляет барьер вдоль целой длины road объект rd. По умолчанию барьер помещается вдоль правого края, и каждый сегмент находится на поверхности дороги.

пример

barrier(scenario,rd,'RoadEdge','left') добавляет барьер вдоль левого края road объект rd.

пример

barrier(scenario,barrierCenters) добавляет барьер вдоль кусочной, кривой клотоиды, которая гладко соединяет заданные центры барьера. Этот подход полезен при добавлении барьеров для ребер дорог, которые пересекаются или перекрываются.

barrier(scenario,barrierCenters,bankAngle) задает угол, которым барьер наклоняется при пересечении центров барьера.

пример

barrier(___,Name,Value) свойства барьера наборов с помощью одного или нескольких аргументов пары "имя-значение", в дополнение к amy комбинации входных параметров от предыдущих синтаксисов.

Барьеры состоят из названных сегментов барьера отдельных элементов. Используйте аргументы пары "имя-значение", такие как 'SegmentLength', 'SegmentGap'width и 'Height' настроить свойства отдельных сегментов барьера. Барьеры Джерси и поручни являются двумя типами барьеров, которые можно добавить в сценарий. Задайте соответствующий 'Mesh' и 'ClassID' аргументы, чтобы представлять барьер как поручень или барьер свитера.

Примеры

свернуть все

Создайте ведущий сценарий и добавьте кривую дорогу.

scenario = drivingScenario;
roadCenters = [-14.1 -4.3; 9 -10; 37 -8; 60 3.9; 81.2 29.4; 83.4 57.9];
road1 = road(scenario,roadCenters);

Добавьте барьер вдоль правого края дороги.

barrier(scenario,road1)

Добавьте другой барьер вдоль левого края дороги с боковым смещением 1 м от ребра. Задайте разрыв 1 м между отдельными сегментами барьера.

barrier(scenario,road1,'RoadEdge',"left",'SegmentGap',1,'RoadEdgeOffset',1)

Постройте сценарий.

plot(scenario)

Figure contains an axes. The axes contains 4 objects of type patch, line.

Создайте ведущий сценарий и добавьте прямую дорогу.

scenario2 = drivingScenario;
roadCenters = [0 0; 20 0];
rr = road(scenario2,roadCenters);

Задайте соответствующие центры барьера и добавьте барьер на дороге, покрыв целую ширину дороги.

barrierCenters = [20 3; 20 0; 20 -3];
barrier(scenario2,barrierCenters,'SegmentGap',0.2)

Добавьте два барьера на дороге, каждое покрытие половина ширины дороги.

barrierCenters1 = [12 3; 12 0];
barrierCenters2 = [6 -3; 6 0];
barrier(scenario2,barrierCenters1,'SegmentGap',0.2)
barrier(scenario2,barrierCenters2,'SegmentGap',0.2)

Постройте сценарий.

plot(scenario2)

Figure contains an axes. The axes contains 5 objects of type patch, line.

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

свернуть все

Ведущий сценарий в виде drivingScenario объект.

Дорога, чтобы добавить барьер вперед в виде a road объект.

Центр барьера координирует в виде N-by-3 или N-by-2 матрица.

  • Если barrierCenters N-by-3 матрица, затем каждая строка матрицы представляет (x, y, z) координаты центра барьера.

  • Если barrierCenters N-by-2 матрица, затем каждая строка матрицы представляет (x, y) координаты центра барьера. z - координата каждого центра барьера является нулем.

Функция соединяет координаты вдоль сглаженной, кусочной, кривой клотоиды и добавляет барьер с кривой как ее центральная линия. Модули исчисляются в метрах.

Банковский угол барьера в виде N с действительным знаком-by-1 вектор. N является количеством центров барьера. bankAngle является углом вращения барьера вдоль направления кривой, сформированной центрами барьера. Модули в градусах.

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

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

Пример: 'RoadEdge','left' добавляет барьер вдоль левого края дороги.

Ребро дороги, вдоль которой можно поместить барьер в виде разделенной запятой пары, состоящей из 'RoadEdge' и 'right' или 'left'. Используйте 'RoadEdge' только, когда вы задаете a road объект добавить барьер вперед.

Боковое смещение от дорожного ребра в виде разделенной запятой пары, состоящей из 'RoadEdgeOffset' и скалярный или N с действительным знаком-by-1 вектор. N является количеством центров барьера. Положительное значение смещения отодвигает барьер от дороги, и отрицательное значение смещения перемещает барьер в дорогу. Модули исчисляются в метрах. 'RoadEdgeOffset' допустимо только, когда вы задаете a road объект и 'RoadEdge' аргумент.

Длина каждого сегмента барьера в виде разделенной запятой пары, состоящей из 'SegmentLength' и положительный действительный скаляр. Модули исчисляются в метрах.

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

Ширина каждого сегмента барьера в виде разделенной запятой пары, состоящей из 'Width' и положительный действительный скаляр. Модули исчисляются в метрах.

Высота каждого сегмента барьера в виде разделенной запятой пары, состоящей из 'Height' и положительный действительный скаляр. Модули исчисляются в метрах.

Поймайте в сети представление барьера в виде разделенной запятой пары, состоящей из 'Mesh' и допустимый extendedObjectMesh объект. Доступные сетки для барьера driving.scenario.jerseyBarrierMesh, представление барьера Джерси и driving.scenario.guardrailMesh, представление поручня. lidarPointCloudGenerator системный объект использует эту mesh, чтобы сгенерировать обнаружения.

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

Барьер появляется в заданном, раскрашивают всю программируемую визуализацию сценария, включая plot функция, chasePlot функция и функции построения графика birdsEyePlot объекты. Если вы импортируете сценарий в приложение Driving Scenario Designer, то барьер появляется в этом, раскрашивают всю визуализацию приложения. Если вы импортируете сценарий в Simulink®, то барьер появляется в этом, раскрашивают Bird's-Eye Scope.

Для пользовательского цвета задайте триплет 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'

Вот являются триплеты 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'

Шаблон радарного поперечного сечения (RCS) барьера в виде разделенной запятой пары, состоящей из 'RCSPattern' и Q-by-P матрица с действительным знаком. RCS является функцией азимута и углов возвышения, где:

  • Q является количеством углов возвышения, заданных 'RCSElevationAngles' аргумент пары "имя-значение".

  • P является количеством углов азимута, заданных 'RCSAzimuthAngles' аргумент пары "имя-значение".

Модули находятся в децибелах на квадратный метр (dBsm).

Пример: 5.8

Углы азимута шаблона RCS барьера в виде разделенной запятой пары, состоящей из 'RCSAzimuthAngles' и P - элемент вектор с действительным знаком. P является количеством углов азимута. Значения находятся в области значений [-180 °, 180 °].

Каждый элемент 'RCSAzimuthAngles' задает угол азимута соответствующего столбца 'RCSPattern' аргумент пары "имя-значение". Модули в градусах.

Пример: [-90:90]

Углы возвышения шаблона RCS барьера в виде разделенной запятой пары, состоящей из 'RCSElevationAngles' и Q - элемент вектор с действительным знаком. Q является количеством углов возвышения. Значения находятся в области значений [-90 °, 90 °].

Каждый элемент 'RCSElevationAngles' задает угол возвышения соответствующей строки 'RCSPattern' аргумент пары "имя-значение". Модули в градусах.

Пример: [0:90]

Идентификатор классификации барьера в виде разделенной запятой пары, состоящей из 'ClassID' и неотрицательное целочисленное значение 5 или 6. Значения 5 и 6 соответствуйте барьерам Джерси и поручням, соответственно. Задайте соответствующий ID Класса для каждого барьера прежде, чем импортировать сценарий в приложение Driving Scenario Designer. Для получения дополнительной информации о Значениях идентификаторов Класса для различных агентов, обратитесь к описанию 'ClassID' аргумент пары "имя-значение".

Ограничения

  • Дорожные сети добавили использование roadNetwork функция не поддерживает барьеры.

Советы

  • Для более быстрых симуляций задайте входной параметр range для targetPoses функция в сценарии совершенствует цикл.

Введенный в R2021a