laneSpecConnector

Задайте дорожные технические требования коннектора сегмента

Описание

laneSpecConnector объект задает технические требования для соединения двух дорожных сегментов с различными техническими требованиями маршрута. Смотрите compositeLaneSpec для получения дополнительной информации о создании дороги с несколькими техническими требованиями маршрута.

Создание

Описание

пример

lc = laneSpecConnector создает дорожный объект коннектора сегмента соединить два дорожных сегмента с различными техническими требованиями маршрута. Задайте дорожные объекты коннектора сегмента как входные параметры к compositeLaneSpec объект создать дорогу с несколькими техническими требованиями маршрута.

пример

lc = laneSpecConnector(Name,Value) свойства наборов с помощью одних или нескольких аргументов name-value. Например, 'TaperLength',20 задает длину заострения 20 метров. Для получения дополнительной информации о геометрических свойствах заострения и дорожных сегментов, см. Составную Спецификацию Маршрута.

Свойства

развернуть все

Форма заострения, соединяющего два дорожных сегмента в виде вектора символов или строкового скаляра, что частично или полностью совпадает с ConnectorTaperShape имя элемента перечисления. При создании объекта задайте это свойство как вектор символов или строковый скаляр, который должен частично или полностью совпадать с одним из этих имен элемента перечисления.

Имя элемента перечисленияEnumeratedValueОписаниеПример (Используя Лефт-Ту-Райт-Роуд)
'Linear'0Текущий сегмент заостряется линейно при добавлении или отбрасывании маршрутов для следующего сегмента.

Taper for Linear value

'None'1Сегмент не заостряется, изменяясь резко при добавлении или отбрасывании маршрутов.

Taper for None value

Пример: 'TaperShape''none'

Длина заострения, соединяющего два дорожных сегмента в виде действительной положительной скалярной величины. Величины в метрах. Длина заострения по умолчанию является меньшим из 241 метры или 75 процент длины дорожного сегмента, содержащего заострение.

Примечание

  • Длина заострения должна быть меньше соответствующей дорожной длины сегмента. В противном случае функция сбрасывает его к значению, которое является 75 процент длины соответствующего дорожного сегмента.

  • Не задавайте длину заострения, когда форма заострения будет установлена в 'None'. Функция проигнорирует заданный вход.

Пример: 'TaperLength',20

Типы данных: double

Дорожное положение коннектора сегмента в виде вектора символов или строкового скаляра, что частично или полностью совпадает с ConnectorPosition имя элемента перечисления. Это свойство задает ребро дороги, из которой можно добавить или исключить маршруты. При создании объекта задайте это свойство как вектор символов или строковый скаляр, который должен частично или полностью совпадать с одним из этих имен элемента перечисления.

Имя элемента перечисленияEnumeratedValueОписаниеПример (Используя Лефт-Ту-Райт-Роуд)
'Right'0Добавьте или исключите маршруты из правого края дороги.

Segment adding lane to right edge of road.

'Left'1Добавьте или исключите маршруты из левого края дороги.

Segment adding lane to left edge of road.

'Both'2Добавьте или исключите маршруты из обоих ребер дороги.

Segment adding lanes to both edges of road.

Используйте это свойство только при соединении двух односторонних дорожных сегментов с различным количеством маршрутов. Чтобы добавить или пропустить маршруты от обоих ребра односторонней дороги, количество маршрутов дорожных сегментов должно отличаться четным числом.

Не задавайте это свойство при соединении дорожных сегментов, которые не являются односторонними потому что compositeLaneSpec объект игнорирует это свойство.

  • Соединять двухсторонние дорожные сегменты, compositeLaneSpec объект определяет положение коннектора из количества маршрутов, заданных соответствующими объектами спецификации маршрута. Например, если количеством маршрутов двухсторонних дорожных сегментов является [1 1] и [2 1], compositeLaneSpec объект применяет 'Left' положение.

  • Соединять односторонние и двухсторонние дорожные сегменты, compositeLaneSpec объект добавляет или исключает левые (обратные) маршруты из левого края дороги. Объект применяет 'Left' положение, когда количество правильных (прямых) маршрутов соответствует между обоими дорожными сегментами. В противном случае положение коннектора установлено в 'Both'. Например, если техническими требованиями маршрута двух дорожных сегментов является [1 2] и 2, compositeLaneSpec объект применяет 'Left' положение. В отличие от этого, если техническими требованиями маршрута двух дорожных сегментов является [1 2] и 1, compositeLaneSpec возразите устанавливает свойство положения на 'Both'.

Примечание

  • Ведущий сценарий полагает, что все маршруты на односторонней дороге правильные (прямые) маршруты, который принимает, что трафик течет в том же направлении как направление ничьей дороги. Для получения дополнительной информации о направлении ничьей дорог, смотрите, Чертят Направление Дороги и Нумерацию Маршрутов.

  • TaperShape и TaperLength свойства применяются, когда или количество маршрутов или сегмент width изменяются между дорожными сегментами. Однако Position свойство применяется, только при добавлении или отбрасывании маршрутов между дорожными сегментами.

Пример: 'Position', 'Both'

Примеры

свернуть все

Создайте дорогу с несколькими техническими требованиями маршрута и добавьте одну полосу слева от односторонней дороги.

Создайте ведущий сценарий. Задайте дорожные центры прямой, 100-метровой дороги с направлением ничьей слева направо.

scenario = drivingScenario;
roadCenters = [20 100; 20 0];

Задайте массив технических требований маршрута для двух односторонних дорожных сегментов. Первый дорожный сегмент имеет два маршрута, и второй дорожный сегмент имеет три маршрута.

lsArray = [lanespec(2) lanespec(3)];

Задайте дорожный объект коннектора сегмента. Чтобы добавить третий маршрут в левую сторону второго дорожного сегмента, задайте свойство положения. Задайте длину заострения меньше, чем длина первого дорожного сегмента. Оба дорожные сегменты составляют 50 метров давно, по умолчанию, общая дорожная длина 100 метров, разделены одинаково между заданными дорожными сегментами.

lc = laneSpecConnector('Position','Left','TaperLength',30);

Создайте составной объект спецификации маршрута.

clspec = compositeLaneSpec(lsArray,'Connector',lc);

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

road(scenario,roadCenters,'Lanes',clspec);
plot(scenario)
title('Road with Multiple Lane Specifications')

Создайте пустой ведущий сценарий. Задайте дорожные центры кривой дороги.

scenario = drivingScenario;
roadCenters = [-20 22; 0 22; 18.8 15.8; 22 0; 22 -20];

Задайте технические требования маршрута для трех двухсторонних дорожных сегментов. Заметьте, что все дорожные сегменты имеют то же количество маршрутов. Однако второй дорожный сегмент имеет большую ширину маршрута (4,6 метра), чтобы расширить дорогу вдоль кривой. Другие два дорожных сегмента имеют ширину маршрута по умолчанию 3,6 метров.

lsArray = [lanespec([1 1]) lanespec([1 1],'Width',4.6) lanespec([1 1])];

Задайте нормированные длины для каждого дорожного сегмента. Заметьте, что суммой нормированных длин является 1, и длина вектора совпадает с количеством объектов спецификации маршрута.

range = [0.25 0.65 0.1];

Создайте дорожный объект коннектора сегмента. Поскольку те же технические требования применяются к обоим коннекторам сегмента за три дорожных сегмента, создают только один laneSpecConnector объект. Поскольку вы ни не добавляете, ни пропускаете маршруты, не задавайте свойство положения дорожного коннектора сегмента.

lc = laneSpecConnector('TaperLength',14);

Создайте составную спецификацию маршрута, возражают и добавляют дорогу к ведущему сценарию.

clspec = compositeLaneSpec(lsArray,'Connector',lc,'SegmentRange',range);
road(scenario,roadCenters,'Lanes',clspec);

Постройте ведущий сценарий.

plot(scenario,'RoadCenters','on')
title('Lane Widening Along a Curve')

Больше о

развернуть все

Введенный в R2021a