exponenta event banner

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