exponenta event banner

барьер

Добавление барьера к сценарию вождения

Описание

пример

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 объект.

Дорога для добавления барьера вдоль, заданная как 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' только при указании road объект для добавления барьера вдоль.

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

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

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

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

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

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

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

Барьер отображается указанным цветом во всех программных визуализациях сценария, включая plot функция, chasePlot функции и функции печати birdsEyePlot объекты. При импорте сценария в приложение «Конструктор сценариев управления» барьер отображается в этом цвете во всех визуализациях приложения. При импорте сценария в Simulink ® барьер отображается в этом цвете в области «Птичий глаз».

Для пользовательского цвета укажите триплет 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. РСК является функцией углов азимута и места, где:

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

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

Единицы измерения в децибелах на квадратный метр (дБсм).

Пример: 5.8

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

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

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

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

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

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

Классификационный идентификатор барьера, указанный как разделенная запятыми пара, состоящая из 'ClassID' и неотрицательное целое значение 5 или 6. Ценности 5 и 6 соответствуют заграждениям Джерси и ограждения соответственно. Укажите соответствующий идентификатор класса для каждого барьера перед импортом сценария в приложение «Конструктор сценариев управления». Для получения дополнительной информации о значениях идентификатора класса для различных субъектов см. описание 'ClassID' аргумент пары имя-значение.

Ограничения

  • Автодорожные сети, добавленные с помощью roadNetwork функция не поддерживает барьеры.

Совет

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

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