roadGroup

Добавьте пересечение дорог или пересечение к ведущему сценарию

Синтаксис

Описание

пример

roadGroup(scenario,rg) создает пересечение дорог или пересечение от дорожных сегментов и добавляет его в ведущий сценарий scenario. RoadGroup объект rg задает дорожные сегменты, которые соединяют дороги, встречающиеся на пересечении.

Примеры

свернуть все

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

Добавьте три дороги к управлению сценарием

Создайте пустой ведущий сценарий.

scenario = drivingScenario;

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

ls = lanespec(2,'Width',5);

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

% Add the first road
roadCenters = [-20 0; 6 0];
road(scenario,roadCenters,'Name','Road 1','Lanes',ls);

% Add the second road
roadCenters = [23 7; 50 33];
road(scenario,roadCenters,'Name','Road 2','Lanes',ls);

% Add the third road
roadCenters = [23 -7; 50 -33];
road(scenario,roadCenters,'Name','Road 3','Lanes',ls);

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

figure
plot(scenario)

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

Создайте Y-соединение, чтобы соединить дороги

Создайте RoadGroup объект. Задайте ширину для каждого дорожного сегмента, который формирует Y-соединение.

rg = driving.scenario.RoadGroup('Name','Y-Junction');
roadWidth = 10;

Задайте дорожные центры трех дорожных сегментов и добавьте эти дорожные сегменты в RoadGroup объект при помощи road функция. Эти дорожные сегменты пересекаются друг с другом.

% Add the first road segment
roadCenters = [23 7; 14 1; 6 0];
road(rg,roadCenters,roadWidth,'Name','Segment 1');

% Add the second road segment
roadCenters = [23 -7; 14 -1; 6 0];
road(rg,roadCenters,roadWidth,'Name','Segment 2');

% Add the third road segment
roadCenters = [23 7; 21 4; 21 -4; 23 -7];
road(rg,roadCenters,roadWidth,'Name','Segment 3');

Добавьте Y-соединение в управление сценарием

Добавьте дорожные сегменты, сохраненные в RoadGroup возразите против ведущего сценария при помощи roadGroup функция. Дорожные сегменты формируют Y-соединение, которое соединяет эти три дороги в ведущем сценарии.

roadGroup(scenario,rg);

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

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

свернуть все

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

Технические требования для дорожных сегментов, которые формируют пересечение в виде RoadGroup объект. Добавьте отдельные дорожные сегменты, чтобы соединить каждую пару входящих дорог, встречающихся на пересечении. Используйте road функция, чтобы добавить дорожный сегмент в RoadGroup объект.

Примечание

  • Вы не можете изменить свойства дорожных сегментов после добавления их к RoadGroup объект.

Ограничения

  • Функция не поддерживает маркировки маршрута в пересечениях.

  • График сценария не отображает дорожные центры в пересечении.

Советы

  • Добавьте по крайней мере один дорожный сегмент в RoadGroup объект создать пересечение с помощью roadGroup функция.

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

  • Функция рассматривает только первую спецификацию маршрута для каждого дорожного сегмента при создании пересечения, поэтому задайте только однополосную спецификацию для каждого дорожного сегмента RoadGroup объект.

Введенный в R2021a