주요 콘텐츠

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

LaneMarkingNode

RoadRunner 장면의 차선 표시 프로필의 노드

R2025a 이후

    설명

    LaneMarkingNode 객체는 차선 표시 프로필의 노드를 나타냅니다. 차선 표시 프로필은 일련의 파라미터 스팬으로 구성되며, 인접한 노드 쌍 사이의 스팬으로 연결된 노드의 순서 있는 컬렉션으로 표현됩니다. 스팬 시퀀스의 각 노드는 도로 기준선의 첫 번째 노드에서 시작하여 도로를 기준으로 측정한 특정 거리에 있는 도로를 따라 특정 위치를 표시합니다.

    생성

    RoadRunner 장면의 차선 표시 프로필에서 LaneMarkingNode 객체를 검색하려면 해당 LaneMarkingProfile 객체의 Nodes 속성을 추출합니다. 예를 들어, markingNodes = LaneMarkingProfile1.Nodes는 차선 표시 프로필 LaneMarkingProfile1의 모든 노드를 추출합니다.

    속성

    모두 확장

    표시 프로필을 나타내는 스팬 시퀀스를 따라갈 때의 차선 표시 노드의 거리(미터)로, 숫자형 스칼라로 지정됩니다. 거리는 도로의 시작점을 기준으로 합니다. 기본적으로 차선 표시 프로필은 두 개의 노드가 있는 하나의 스팬으로 구성되며, 하나는 도로의 시작점에, 다른 하나는 도로의 끝에 있습니다. 시작 노드의 경우 기본 거리는 0이고, 끝 노드의 경우 기본 거리는 도로의 길이와 같습니다. 시작 및 끝 노드의 거리 값은 변경할 수 없습니다. insertNode 함수를 사용하면 시작 노드와 끝 노드 사이의 표시 프로필을 따라 노드를 추가할 수 있습니다. 이러한 중간 노드의 경우 (0, N) 범위 내의 거리 값을 지정할 수 있습니다. 여기서 N은 도로의 총 길이입니다.

    읽기 전용 속성입니다.

    차선 표시 프로필의 노드 시작 부분에 연결된 스팬으로, LaneMarkingSpan 객체로 표현됩니다.

    읽기 전용 속성입니다.

    차선 표시 프로필의 노드 끝에 연결된 스팬으로, LaneMarkingSpan 객체로 표현됩니다.

    예제

    모두 축소

    4차선 수평 도로가 있는 RoadRunner 장면을 만들고 차선 경계에 표시를 추가합니다.

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

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

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

    newScene 함수를 사용하여 현재 프로젝트에 새로운 RoadRunner 장면을 만들고, roadrunner 객체 rrApp을 지정합니다.

    newScene(rrApp);

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

    rrApi = roadrunnerAPI(rrApp);

    저작 API 객체 rrApiScene 속성에서 장면의 객체를 추출합니다. 추출된 Scene 객체를 사용하면 도로 및 차선과 같은 장면 요소를 추가할 장면을 지정할 수 있습니다.

    scn = rrApi.Scene;

    저작 API 객체 rrApiProject 속성에서 RoadRunner 프로젝트의 Project 객체를 추출합니다. 추출된 Project 객체를 사용하면 에셋 객체를 검색할 현재 RoadRunner 세션의 프로젝트 폴더를 지정할 수 있습니다. 에셋 객체를 사용하여 장면의 차선에 표시를 할당할 수 있습니다.

    prj = rrApi.Project;

    addLineArcRoad 함수를 사용하여 길이가 100m인 수평 직선-호 곡선 도로를 장면에 추가합니다. RoadRunner 로컬 좌표계의 X축과 Y축을 따라 도로의 제어점 위치를 지정하여 도로의 위치를 지정합니다. 이러한 제어점은 도로의 시작과 끝 위치를 정의합니다. 제어점의 위치를 수정하여 장면 원점을 기준으로 도로의 길이와 방향을 조정할 수 있습니다. 직선-호 곡선의 시작점과 끝점 사이에 제어점을 추가하여 도로 곡선의 곡률과 반경을 조정할 수도 있습니다.

    controlPoints = [-50 0; 50 0];
    rrHorizontalRoad = addLineArcRoad(scn,controlPoints);

    도로 객체 rrHorizontalRoadReferenceLane 속성에서 도로의 참조 차선을 추출합니다. 참조 차선은 RoadRunner 장면에서 도로의 중앙 차선 또는 참조선을 정의합니다. 이 차선은 너비가 없으며 다른 모든 차선을 배치하는 기준이 되며, RoadRunner는 기준선에서 바깥쪽으로 배치합니다.

    refLane = rrHorizontalRoad.ReferenceLane;

    getAsset (RoadRunner Scenario) 함수를 사용하여 프로젝트 prj에서 SolidSingleYellow.rrlms 에셋을 나타내는 차선 표시 스타일 객체를 추출합니다. 기준 차선의 표시 프로필을 정의하려면 먼저 기준 차선 객체 refLane의 차선 표시 프로필 객체 refLaneMarkingProfile을 추출합니다. 그런 다음, 차선 표시 프로필 객체 refLaneMarkingProfileSpans 속성에서 차선 표시를 배치할 스팬을 나타내는 차선 표시 스팬 객체 refLaneSpan을 추출합니다. 마지막으로 추출된 스팬 객체의 LaneMarkingStyle 속성을 설정하여 노란색 실선 표시 스타일로 참조 차선을 표시합니다.

    solidYellowMarkingStyle = getAsset(prj,"<PROJECT>/Assets/Markings/SolidSingleYellow.rrlms","LaneMarkingStyle");
    refLaneMarkingProfile = refLane.LaneMarkingProfile;
    refLaneSpan = refLaneMarkingProfile.Spans;
    refLaneSpan.LaneMarkingStyle = solidYellowMarkingStyle;

    추출된 참조 차선 객체 refLane을 사용하여, addLaneToLeftaddLaneToRight 함수를 사용한 도로의 참조 차선 양쪽에 주행 차선을 추가합니다. 그런 다음 추가된 차선의 LaneTypeTravelDirection 속성을 사용하여 각 차선의 유형과 이동 방향을 지정합니다.

    horizontalLane1 = addLaneToLeft(refLane);
    horizontalLane1.LaneType = "Driving";
    horizontalLane1.TravelDirection = "Forward";
    horizontalLane2 = addLaneToRight(refLane);
    horizontalLane2.LaneType = "Driving";
    horizontalLane2.TravelDirection = "Backward";

    점선으로 된 단일 흰색 표시 스타일 객체 dashedWhiteMarkingStyle을 추출하고 주행 차선의 경계를 표시합니다.

    dashedWhiteMarkingStyle = getAsset(prj,"<PROJECT>/Assets/Markings/DashedSingleWhite.rrlms","LaneMarkingStyle");
    horLane1MarkingProfile = horizontalLane1.LaneMarkingProfile;
    horLane1Span = horLane1MarkingProfile.Spans;
    horLane1Span.LaneMarkingStyle = dashedWhiteMarkingStyle;
    horLane2MarkingProfile = horizontalLane2.LaneMarkingProfile;
    horLane2Span = horLane2MarkingProfile.Spans;
    horLane2Span.LaneMarkingStyle = dashedWhiteMarkingStyle;

    첫 번째 수평 차선의 왼쪽에 경계 차선 하나를 추가하고, 두 번째 수평 차선의 오른쪽에 경계 차선 하나를 추가합니다. 단색 단일 흰색 표시 스타일 객체 solidWhiteMarkingStyle을 추출하고 경계 차선의 경계를 표시합니다.

    endLane1 = addLaneToLeft(horizontalLane1);
    endLane1.LaneType = "Border";
    endLane1.TravelDirection = "Forward";
    endLane2 = addLaneToRight(horizontalLane2);
    endLane2.LaneType = "Border";
    endLane2.TravelDirection = "Backward";
    solidWhiteMarkingStyle = getAsset(prj,"<PROJECT>/Assets/Markings/SolidSingleWhite.rrlms","LaneMarkingStyle");
    endLane1MarkingProfile = endLane1.LaneMarkingProfile;
    endLane1Span = endLane1MarkingProfile .Spans;
    endLane1Span.LaneMarkingStyle = solidWhiteMarkingStyle;
    endLane2MarkingProfile = endLane2.LaneMarkingProfile;
    endLane2Span = endLane2MarkingProfile.Spans;
    endLane2Span.LaneMarkingStyle = solidWhiteMarkingStyle;

    RoadRunner scene of a road with four driving lanes. The reference lane of the road is marked with the solid yellow marking style. The outer boundaries of the inner driving lanes are marked with dashed white and the outer boundaries of the outer driving lanes are marked with solid white

    스팬 기반 차선 표시를 사용하여 추월 구역이 있는 2차선 수평 도로가 있는 RoadRunner 장면을 만듭니다. 추월 구역은 차량이 느리게 움직이는 차량을 추월하면서 안전하게 차선을 변경할 수 있도록 해줍니다.

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

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

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

    newScene 함수를 사용하여 현재 프로젝트에 새로운 RoadRunner 장면을 만들고, roadrunner 객체 rrApp을 지정합니다.

    newScene(rrApp);

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

    rrApi = roadrunnerAPI(rrApp);

    저작 API 객체 rrApiScene 속성에서 장면의 객체를 추출합니다. 추출된 Scene 객체를 사용하면 도로 및 차선과 같은 장면 요소를 추가할 장면을 지정할 수 있습니다.

    scn = rrApi.Scene;

    저작 API 객체 rrApiProject 속성에서 RoadRunner 프로젝트의 Project 객체를 추출합니다. 추출된 Project 객체를 사용하면 에셋 객체를 검색할 현재 RoadRunner 세션의 프로젝트 폴더를 지정할 수 있습니다. 에셋 객체를 사용하여 장면의 차선에 표시를 할당할 수 있습니다.

    prj = rrApi.Project;

    addLineArcRoad 함수를 사용하여 길이가 100m인 수평 직선-호 곡선 도로를 장면에 추가합니다. RoadRunner 로컬 좌표계의 X축과 Y축을 따라 도로의 제어점 위치를 지정하여 도로의 위치를 지정합니다. 이러한 제어점은 도로의 시작과 끝 위치를 정의합니다. 제어점의 위치를 수정하여 장면 원점을 기준으로 도로의 길이와 방향을 조정할 수 있습니다. 직선-호 곡선의 시작점과 끝점 사이에 제어점을 추가하여 도로 곡선의 곡률과 반경을 조정할 수도 있습니다.

    controlPoints = [-50 0; 50 0];
    rrHorizontalRoad = addLineArcRoad(scn,controlPoints);

    도로 객체 rrHorizontalRoadReferenceLane 속성에서 도로의 참조 차선을 추출합니다. 참조 차선은 RoadRunner 장면에서 도로의 중앙 차선 또는 참조선을 정의합니다. 이 차선은 너비가 없으며 다른 모든 차선을 배치하는 기준이 되며, RoadRunner는 기준선에서 바깥쪽으로 배치합니다.

    refLane = rrHorizontalRoad.ReferenceLane;

    getAsset (RoadRunner Scenario) 함수를 사용하여 프로젝트에서 DashedSolidYellow.rrlmsSolidDoubleYellow.rrlms 에셋을 나타내는 차선 표시 스타일 객체를 추출합니다. 도로에 추월 구역을 만들 때 이러한 객체를 사용하여 참조 차선의 차선 표시 프로필의 스팬에 마킹할 수 있습니다.

    dashedSolidYelloMarkingStyle = getAsset(prj,"<PROJECT>/Assets/Markings/DashedSolidYellow.rrlms","LaneMarkingStyle");
    SolidDoubleYelloMarkingStyle = getAsset(prj,"<PROJECT>/Assets/Markings/SolidDoubleYellow.rrlms","LaneMarkingStyle");

    참조 차선의 표시 프로필을 정의하려면 참조 차선 객체 refLane from의 차선 표시 프로필 객체인 LaneMarkingProfile 속성을 추출합니다.

    refLaneMarkingProfile = refLane.LaneMarkingProfile;

    차선 표시 프로필을 25m 길이의 4개 스팬으로 분할하려면 차선 표시 프로필에 25m, 50m, 75m 거리에 있는 세 개의 노드를 삽입합니다.

    insertNode(refLaneMarkingProfile,25);
    insertNode(refLaneMarkingProfile,50);
    insertNode(refLaneMarkingProfile,75);

    이제 차선 표시 프로필 객체 refLaneMarkingProfileSpans 속성에서 원하는 차선 표시를 배치할 스팬을 나타내는 각 스팬 객체를 개별적으로 추출합니다. 첫 번째와 세 번째 스팬은 노란색 점선 표시 유형으로 표시하고, 두 번째와 네 번째 스팬은 노란색 이중 실선 표시 유형으로 표시하세요. 이러한 표시는 차량이 차선을 변경할 수 있는 도로의 추월 구역을 나타냅니다.

    refLaneSpan = refLaneMarkingProfile.Spans(1);
    refLaneSpan.LaneMarkingStyle = dashedSolidYelloMarkingStyle;
    refLaneSpan = refLaneMarkingProfile.Spans(2);
    refLaneSpan.LaneMarkingStyle = SolidDoubleYelloMarkingStyle;
    refLaneSpan = refLaneMarkingProfile.Spans(3);
    refLaneSpan.LaneMarkingStyle = dashedSolidYelloMarkingStyle;
    refLaneSpan = refLaneMarkingProfile.Spans(4);
    refLaneSpan.LaneMarkingStyle = SolidDoubleYelloMarkingStyle;

    추출된 참조 차선 객체 refLane을 사용하여, addLaneToLeftaddLaneToRight 함수를 사용한 도로의 참조 차선 양쪽에 주행 차선을 추가합니다. 그런 다음 추가된 차선의 LaneTypeTravelDirection 속성을 사용하여 각 차선의 유형과 이동 방향을 지정합니다.

    horizontalLane1 = addLaneToLeft(refLane);
    horizontalLane1.LaneType = "Driving";
    horizontalLane1.TravelDirection = "Forward";
    horizontalLane2 = addLaneToRight(refLane);
    horizontalLane2.LaneType = "Driving";
    horizontalLane2.TravelDirection = "Backward";

    단색의 흰색 표시 스타일 객체를 추출하고 주행 차선의 경계를 표시합니다.

    solidWhiteMarkingStyle = getAsset(prj,"<PROJECT>/Assets/Markings/SolidSingleWhite.rrlms","LaneMarkingStyle");
    horLane1MarkingProfile = horizontalLane1.LaneMarkingProfile;
    horLane1Span = horLane1MarkingProfile.Spans;
    horLane1Span.LaneMarkingStyle = solidWhiteMarkingStyle;
    horLane2MarkingProfile = horizontalLane2.LaneMarkingProfile;
    horLane2Span = horLane2MarkingProfile.Spans;
    horLane2Span.LaneMarkingStyle = solidWhiteMarkingStyle;

    RoadRunner scene of a road with a passing zone

    버전 내역

    R2025a에 개발됨