주요 콘텐츠

이 페이지는 기계 번역을 사용하여 번역되었습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

Road

RoadRunner 장면에서 도로를 지정

R2025a 이후

    설명

    Road 객체는 현재 RoadRunner 장면의 도로 인스턴스를 나타냅니다. Road 객체를 사용하면 도로 레이아웃의 기반이 되는 참조 곡선을 수정할 수 있습니다. 예를 들어, 이동 방향을 수정하거나, 차선을 추가하거나, 차선 표시를 추가하는 등의 작업을 수행할 수 있습니다.

    생성

    다음과 같은 방법으로 Road 객체를 생성할 수 있습니다.

    • addLineArcRoad 함수는 지정된 장면의 지정된 위치에 새로운 직선-호 곡선을 만듭니다.

    • addSegmentedRoad 함수는 지정된 장면의 지정된 위치에 새로운 분할 곡선을 만듭니다.

    • addClothoidFitRoad 함수는 수평 도로 곡선에 클로소이드 곡선 피팅을 사용하고 수직 도로 곡선에 3차 피팅을 사용하여 지정된 장면에 분할된 곡선 유형의 도로를 만듭니다.

    속성

    모두 확장

    도로의 수직 곡선으로, 다음 객체 중 하나로 지정됩니다.

    • QuadraticVerticalRoadCurve 객체 — 2차 수직 도로 곡선을 나타냅니다. RoadRunner는 노드 위치 사이의 높이를 보간하고 혼합 범위를 통해 도로를 매끄럽게 곡선으로 만듭니다.

    • CubicVerticalRoadCurve 객체 — 3차원 수직 도로 곡선을 나타냅니다. 시작 노드와 끝 노드 사이의 도로 곡선 높이를 보간하기 위해 RoadRunner는 해당 노드 사이의 고도와 경사를 모두 보간합니다.

    도로의 수평 곡선으로, 다음 객체 중 하나로 지정됩니다.

    • LineArcRoadCurve 객체 — 곡선을 정의하기 위해 제어점을 사용하는 직선-호 도로 곡선을 나타냅니다.

    • SegmentedRoadCurve 객체 — 직선, 호, 나선형 및 파라미터 3차 도로 세그먼트를 사용하여 곡선을 정의하는 분할된 도로 곡선을 나타냅니다.

    도로의 참조 차선으로, ReferenceLane 객체로 지정됩니다. 기준 차선을 사용하면 도로에서 Lanes의 상대적 위치, 순서 및 차선 표시 프로필을 지정할 수 있습니다.

    도로의 차선으로, Lane 객체 또는 Lane 객체의 배열로 지정됩니다.

    예제

    모두 축소

    addLineArcRoad 함수를 사용하여 교차하는 두 도로를 scn 장면에 추가합니다. 그런 다음 addLaneToLeftaddLaneToRight 함수를 사용하여 두 도로의 각 측면에 차선을 추가합니다.

    기존 프로젝트의 경로를 지정하여 roadrunner 객체를 만듭니다. 예를 들어, 이 코드는 "C:\RR\MyProject"에 있는 Windows® 컴퓨터의 프로젝트 경로를 보여줍니다. 이 코드는 RoadRunner가 기본 위치에 설치되어 있다고 가정하고 장면과 프로젝트를 열고, 닫고, 저장하는 등의 기본 작업을 수행하기 위한 함수를 제공하는 객체 rrApp을 반환합니다.

    rrApp = roadrunner(ProjectFolder="C:\RR\MyProject");

    참고

    처음으로 MATLAB®에서 RoadRunner를 열거나 마지막으로 MATLAB에서 열었던 RoadRunner 설치 위치를 변경한 경우 roadrunnerSetup 함수를 사용하여 RoadRunner를 열 때 사용할 새로운 기본 프로젝트 및 설치 폴더를 지정할 수 있습니다. 해당 드롭다운에서 Across MATLAB sessions 옵션을 선택하면 MATLAB 세션 사이에 이러한 폴더를 저장할 수 있습니다.

    현재 RoadRunner 인스턴스 rrApp에 대한 객체를 참조하는 RoadRunner 저작 API rrApi에 대한 객체를 생성합니다. rrApi 객체를 사용하면 MATLAB을 사용하여 도로, 액터, 논리 컴포넌트를 추가하고 수정하는 등의 방식으로 장면과 시나리오를 프로그래밍 방식으로 작성할 수 있습니다.

    rrApi = roadrunnerAPI(rrApp);
    
    저작 API 객체 rrApiSceneScenario 속성에서 장면 및 시나리오 객체를 각각 추출합니다. 추출된 Scene 객체를 사용하면 도로 및 차선과 같은 장면 컴포넌트를 추가할 장면을 지정할 수 있습니다. 추출된 Scenario (RoadRunner Scenario) 객체를 사용하면 액터 및 로직과 같은 시나리오 컴포넌트를 추가할 시나리오를 지정할 수 있습니다.
    scn = rrApi.Scene;
    scnro = rrApi.Scenario;
    저작 API 객체 rrApiProject 속성에서 RoadRunner 프로젝트의 객체를 추출합니다. 추출된 Project 객체를 사용하면 에셋 객체를 검색할 현재 RoadRunner 세션의 프로젝트 폴더를 지정할 수 있습니다. 에셋 객체를 사용하여 장면의 도로나 시나리오의 액터에 에셋을 할당할 수 있습니다.
    prj = rrApi.Project;

    addLineArcRoad를 사용하여 도로 추가

    addLineArcRoad를 사용하여 두 개의 도로 road1road2를 장면에 추가합니다. RoadRunner 로컬 좌표계의 X축과 Y축을 따라 제어점의 위치를 지정하여 도로의 위치를 지정합니다. road1의 제어점을 X축의 -100100으로 설정합니다. 그런 다음 교차점을 생성하기 위해 road2의 제어점 위치를 Y축의 50-50으로 지정합니다.

    road1 = addLineArcRoad(scn,[-100 0; 100 0]);
    road2 = addLineArcRoad(scn,[0 50; 0 -50]);

    기본적으로 도로에는 차선이 없으며 RoadRunner는 장면 편집기에서 참조 차선만 표시합니다. 도로에 차선을 추가하려면 road1road2ReferenceLane 속성에서 참조 차선 객체를 추출합니다.

    road1Ref = road1.ReferenceLane;
    road2Ref = road2.ReferenceLane;

    addLaneToLeftaddLaneToRight 함수를 사용하여 ReferenceLane 객체를 지정하여 두 도로의 왼쪽과 오른쪽에 차선을 추가합니다.

    leftLane1 = addLaneToLeft(road1Ref);
    rightLane1 = addLaneToRight(road1Ref); 
    leftLane2 = addLaneToLeft(road2Ref);
    rightLane2 = addLaneToRight(road2Ref);

    Road 객체를 사용하면 RoadRunner Scenario에서 시나리오 시뮬레이션에 사용할 도로망을 장면에 만들 수 있습니다. RoadRunner에서 도로를 만드는 방법에 대한 자세한 내용은 Road Plan Tool을 참조하세요.

    버전 내역

    R2025a에 개발됨