Определение спецификаций соединителя сегмента дороги
laneSpecConnector объект определяет спецификации для соединения двух сегментов дороги с различными спецификациями полосы движения. Посмотрите compositeLaneSpec для получения дополнительной информации о создании дороги с несколькими спецификациями полос движения.
создает объект соединителя сегмента дороги для соединения двух сегментов дороги с различными спецификациями полосы движения. Укажите объекты соединителя сегмента дороги в качестве входных данных для lc = laneSpecConnectorcompositeLaneSpec объект для создания дороги с несколькими спецификациями полос движения.
задает свойства, используя один или несколько аргументов «имя-значение». Например, lc = laneSpecConnector(Name,Value)'TaperLength',20 задает длину конусности 20 метров. Дополнительные сведения о геометрических свойствах сегментов конусности и дороги см. в разделе Спецификация составной полосы движения.
TaperShape - Форма конусности'Linear' (по умолчанию) | 'None' | символьный вектор | строковый скалярФорма конуса, соединяющего два сегмента дороги, заданная как вектор символа или скаляр строки, который частично или полностью соответствует ConnectorTaperShape имя элемента перечисления. При создании объекта укажите это свойство как вектор символов или скаляр строки, которые должны частично или полностью совпадать с одним из этих имен элементов перечисления.
| Имя элемента перечисления | Перечисляемое значение | Описание | Пример (Использование дороги слева направо) |
'Linear' | 0 | Текущий сегмент линейно сужается при добавлении или перетаскивании полос для следующего сегмента. |
|
'None' | 1 | Сегмент не сужается, резко изменяется при добавлении или опускании полос. |
|
Пример: 'TaperShape','None'
TaperLength - Длина конусностиДлина конуса, соединяющего два сегмента дороги, заданная как действительный положительный скаляр. Единицы в метрах. Длина конусности по умолчанию меньше 241 метров или 75 процент длины сегмента дороги, содержащего конус.
Примечание
Длина конусности должна быть меньше соответствующей длины сегмента дороги. В противном случае функция сбрасывает его на значение, равное 75 процент от длины соответствующего сегмента дороги.
Не указывайте длину конуса, если для формы конуса задано значение 'None'. Функция игнорирует указанные входные данные.
Пример: 'TaperLength',20
Типы данных: double
Position - Положение соединителя сегмента дороги'Right' (по умолчанию) | 'Left' | 'Both' | символьный вектор | строковый скалярПозиция соединителя сегмента дороги, заданная как вектор символа или скаляр строки, который частично или полностью соответствует ConnectorPosition имя элемента перечисления. Это свойство определяет край дороги, с которого следует добавлять или сбрасывать полосы движения. При создании объекта укажите это свойство как вектор символов или скаляр строки, которые должны частично или полностью совпадать с одним из этих имен элементов перечисления.
| Имя элемента перечисления | Перечисляемое значение | Описание | Пример (Использование дороги слева направо) |
'Right' | 0 | Добавьте или опустите полосы от правого края дороги. |
|
'Left' | 1 | Добавьте или опустите полосы движения от левого края дороги. |
|
'Both' | 2 | Добавление или удаление полос движения с обоих краев дороги. |
|
Это свойство используется только при соединении двух сегментов односторонней дороги с разным количеством полос. Чтобы добавить или сбросить полосы с обоих краев дороги с односторонним движением, количество полос на отрезках дороги должно отличаться на чётное число.
Не указывайте это свойство при соединении сегментов дороги, которые не являются односторонними, поскольку compositeLaneSpec объект игнорирует это свойство.
Для соединения сегментов двухсторонней дороги compositeLaneSpec объект определяет положение соединителя из числа полос движения, определенных соответствующими объектами спецификации полосы движения. Например, если количество полос двухсторонних сегментов дорог равно [1 1] и [2 1], compositeLaneSpec объект применяет 'Left' позиция.
Для соединения сегментов односторонней и двусторонней дороги compositeLaneSpec объект добавляет или опускает левую (заднюю) полосу от левого края дороги. Объект применяет 'Left' положение, когда количество правых (передних) полос совпадает между обоими сегментами дороги. В противном случае положение соединителя устанавливается в 'Both'. Например, если спецификациями полосы движения двух сегментов дороги являются [1 2] и 2, compositeLaneSpec объект применяет 'Left' позиция. Напротив, если характеристики полосы движения для двух сегментов дороги [1 2] и 1, compositeLaneSpec объект задает свойству position значение 'Both'.
Примечание
В сценарии вождения все полосы движения на дороге с односторонним движением рассматриваются как полосы движения вправо (вперед), что предполагает, что движение идет в том же направлении, что и направление движения дороги. Дополнительные сведения о направлении прорисовки дорог см. в разделе Направление прорисовки дороги и нумерация полос движения.
TaperShape и TaperLength свойства применяются при изменении количества полос движения или ширины сегмента между сегментами дороги. Тем не менее, Position применяется только при добавлении или опускании полос между сегментами дорог.
Пример:
'Position','Both'
Создайте дорогу с несколькими спецификациями полос движения и добавьте одну полосу движения слева от дороги с односторонним движением.
Создайте сценарий управления. Укажите центры дорог для прямой 100-метровой дороги с направлением рисования слева направо.
scenario = drivingScenario; roadCenters = [20 100; 20 0];
Определите массив спецификаций полосы движения для двух сегментов дороги с односторонним движением. Первый дорожный сегмент имеет две полосы, а второй дорожный сегмент имеет три полосы.
lsArray = [lanespec(2) lanespec(3)];
Определите объект соединителя сегмента дороги. Чтобы добавить третью полосу к левой стороне второго сегмента дороги, задайте свойство position. Длина конусности меньше длины первого сегмента дороги. Длина обоих сегментов дороги составляет 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 объект. Поскольку полосы движения не добавляются и не сбрасываются, не определяйте свойство position соединителя сегмента дороги.
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')

Создание дороги с помощью road укажите центры дорог в качестве ввода матрицы. Функция создает направленную линию, пересекающую центры дорог, начиная от координат в первой строке матрицы и заканчивая координатами в последней строке матрицы. Координаты в первых двух строках матрицы определяют направление прорисовки дороги. Эти координаты соответствуют первым двум последовательным дорожным центрам. Направление рисования - это направление, в котором дороги визуализируются на графике сценария.
Чтобы создать дорогу с помощью приложения «Конструктор сценариев вождения», можно либо указать параметр «Центры дорог», либо в интерактивном режиме нарисовать на холсте сценария. Подробный пример см. в разделе Создание сценария управления. В этом случае направление прорисовки - это направление, в котором тонируются дороги в холсте «Сценарий».
Для дороги с направлением прорисовки сверху вниз разница между координатами X первых двух последовательных центров дороги является положительной.
Для дороги с направлением прорисовки снизу вверх разница между координатами X первых двух последовательных центров дороги отрицательна.
|
|
|
Для дороги с направлением прорисовки слева направо разница между координатами y первых двух последовательных центров дороги является положительной.
Для дороги с направлением прорисовки справа налево разница между координатами y первых двух последовательных центров дороги отрицательна.
|
|
|
Полосы движения должны нумероваться слева направо, при этом левый край дороги определяется относительно направления прорисовки дороги. Для дороги с односторонним движением по умолчанию левый край дороги представляет собой сплошную желтую разметку, которая указывает конец дороги в поперечном направлении (направлении, перпендикулярном направлению рисования). Для дороги с двусторонним движением по умолчанию обе кромки отмечены сплошными белыми линиями.
Например, на этих диаграммах показано, как полосы пронумерованы на дороге с односторонним и двусторонним движением с направлением вытягивания сверху вниз.
| Нумерация полос в дороге с односторонним движением | Нумерация полос движения в двухсторонней дороге |
Укажите количество полос движения как положительное целое число для дороги с односторонним движением. Если целочисленное значение задано как 1, 2, 3 обозначают первую, вторую и третью полосы дороги соответственно.
| Укажите количество полос движения в виде двухэлементного вектора положительного целого числа для дороги с двусторонним движением. Если установить вектор как [ 1L обозначают единственную левую полосу дороги. 1R и 2R обозначают первую и вторую правую полосы дороги соответственно.
|
Спецификации полос применяются в порядке нумерации полос.
Составная спецификация полосы движения состоит из массива из двух или более спецификаций полосы движения для одной дороги. Каждая спецификация полосы движения определяет сегмент дороги, который представляет собой участок дороги с независимыми геометрическими свойствами, нормированным диапазоном и конусностью.
Каждый сегмент дороги представляет собой направленный сегмент, который перемещается к конечному центру дороги, причем первый сегмент начинается с первого центра дороги, второй сегмент начинается с первого конца и т.д. Диапазон каждого сегмента дороги - это нормированное расстояние, которое определяет долю от общей длины дороги. Когда дорожный сегмент добавляет или опускает полосы движения от предыдущего сегмента, предыдущий сегмент сужается на заданное расстояние, чтобы учесть изменение количества полос движения.
При тонировании дороги с составными спецификациями полос сегменты дороги тонируются в направлении прорисовки дороги. Например, рассмотрим одностороннюю дорогу с двумя сегментами дороги и нормированным диапазоном по умолчанию, равным 0,5 для каждого сегмента дороги. Первый дорожный сегмент содержит четыре полосы, а второй сегмент содержит только две полосы. Первый сегмент сужается с четырёх полос на две полосы, сбрасывая по одной полосе с каждой стороны, по мере приближения к полпути дороги, которая является начальной точкой второго сегмента. На этих диаграммах показано направление, в котором визуализируются сегменты дороги, и способ применения конусности к дороге как для направления рисования слева направо, так и для направления рисования справа налево.
|
|
|
Сведения о геометрических свойствах полос движения см. в разделе Спецификации полос движения.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.