roadGroup

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

Синтаксис

Описание

пример

roadGroup(scenario,rg) создает дорожную развязку или перекресток из сегментов дороги и добавляет его в сценарий вождения scenario. The 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