여러 개의 주행 차선과 단일 병합 차선이 포함된 수평 도로가 있는 RoadRunner 장면을 만듭니다. 차선 병합은 도로가 좁아지거나 차선이 폐쇄되는 경우와 같이 차량이 여러 차선에서 단일 차선으로 안전하게 합류할 수 있도록 해줍니다.
기존 프로젝트의 경로를 지정하여 roadrunner 객체를 만듭니다. 예를 들어, 이 코드는 "C:\RR\MyProject"에 있는 Windows® 컴퓨터의 프로젝트 경로를 보여줍니다. 이 코드는 RoadRunner가 기본 위치에 설치되어 있다고 가정하고 장면과 프로젝트를 열고, 닫고, 저장하는 등의 기본 작업을 수행하기 위한 함수를 제공하는 객체 rrApp을 반환합니다.
참고: 처음으로 MATLAB®에서 RoadRunner를 열거나 마지막으로 MATLAB에서 연 이후 RoadRunner 설치 위치를 변경한 경우 roadrunnerSetup 함수를 사용하여 RoadRunner를 열 때 사용할 새 기본 프로젝트 및 설치 폴더를 지정할 수 있습니다. 해당 드롭다운에서 Across MATLAB sessions 옵션을 선택하면 MATLAB 세션 사이에 이러한 폴더를 저장할 수 있습니다.
newScene 함수를 사용하여 현재 프로젝트에 새로운 RoadRunner 장면을 만들고, roadrunner 객체 rrApp을 지정합니다.
현재 RoadRunner 인스턴스 rrApp에 대한 객체를 참조하는 RoadRunner 저작 API rrApi에 대한 객체를 생성합니다. rrApi 객체를 사용하면 MATLAB을 사용하여 도로 및 차선 컴포넌트를 추가하고 수정하는 등의 방식으로 장면을 프로그래밍 방식으로 작성할 수 있습니다.
저작 API 객체 rrApi의 Scene 속성에서 장면의 객체를 추출합니다. 추출된 Scene 객체를 사용하면 도로 및 차선과 같은 장면 요소를 추가할 장면을 지정할 수 있습니다.
저작 API 객체 rrApi의 프로젝트 속성에서 RoadRunner 프로젝트의 Project 객체를 추출합니다. 추출된 Project 객체를 사용하면 에셋 객체를 검색할 현재 RoadRunner 세션의 프로젝트 폴더를 지정할 수 있습니다. 에셋 객체를 사용하여 장면의 차선에 표시를 할당할 수 있습니다.
addLineArcRoad 함수를 사용하여 장면에 길이 200m의 수평 도로를 추가합니다. RoadRunner 로컬 좌표계의 X축과 Y축을 따라 도로의 제어점 위치를 지정하여 도로의 위치를 지정합니다. 이러한 제어점은 도로의 시작과 끝 위치를 정의합니다. 제어점의 위치를 수정하여 장면 원점을 기준으로 도로의 길이와 방향을 조정할 수 있습니다. 직선-호 곡선의 시작점과 끝점 사이에 제어점을 추가하여 도로 곡선의 곡률과 반경을 조정할 수도 있습니다.
도로 객체 rrHorizontalRoad의 ReferenceLane 속성에서 도로의 참조 차선을 추출합니다. 참조 차선은 RoadRunner 장면에서 도로의 중앙 차선 또는 참조선을 정의합니다. 이 차선은 너비가 없으며 다른 모든 차선을 배치하는 기준이 되며, RoadRunner는 기준선에서 바깥쪽으로 배치합니다.
getAsset (RoadRunner Scenario) 함수를 사용하여 프로젝트 prj에서 DashedSingleWhite.rrlms 에셋을 나타내는 차선 표시 스타일 객체를 추출합니다. 기준 차선의 표시 프로필을 정의하려면 먼저 기준 차선 객체 refLane의 차선 표시 프로필 객체 refLaneMarkingProfile을 추출합니다. 그런 다음, 차선 표시 프로필 객체 refLaneMarkingProfile의 Spans 속성에서 차선 표시를 배치할 스팬을 나타내는 차선 표시 스팬 객체 refLaneSpan을 추출합니다. 마지막으로 추출된 스팬 객체의 LaneMarkingStyle 속성을 설정하여 흰색 점선 표시 스타일로 참조 차선을 표시합니다.
addLaneToLeft 함수를 사용하여 수평 도로의 왼쪽에 전진 방향으로 주행 차선을 추가합니다. 추가된 차선의 LaneType 및 TravelDirection 속성을 사용하여 차선의 유형과 이동 방향을 지정합니다.
insertNode 함수를 사용하여 90m와 110m 거리에 두 개의 노드를 삽입하여 차선 표시 프로필을 4개의 스팬으로 분할합니다.
horizontalLane1 객체의 LaneMarkingProfile 속성에서 차선의 차선 표시 프로필을 나타내는 객체를 추출합니다. 차선 표시 프로필은 차선의 바깥쪽 경계에 있는 표시를 나타냅니다.
이제 차선 표시 프로필 객체 horLane1MarkingProfile의 Spans 속성에서 원하는 차선 표시를 배치할 스팬을 나타내는 스팬 객체 horLane1Span을 추출합니다. 차선 표시 프로필의 첫 번째 스팬을 흰색 점선 표시 유형으로 표시합니다.
흰색 실선 표시 스타일을 나타내는 차선 표시 스타일 객체 solidWhiteMarkingStyle을 추출하고 이를 사용하여 차선 표시 프로필의 세 번째 스팬을 표시합니다.
수평 도로의 오른쪽에 주행 방향을 정하고 주행 차선을 추가하고, 단색 흰색 표시 스타일로 경계를 표시합니다.
첫 번째 수평 차선의 왼쪽에 병합 차선을 추가하고, 여기에 흰색 표시 스타일을 추가합니다.
차선의 WidthProfile 속성을 지정하여 병합 차선의 너비 프로필을 구성합니다. 도로 시작 지점에서 110m 떨어진 지점에서 합류 차선의 너비는 0으로 줄어듭니다. 병합 차선 경계에 폭 프로필을 생성하려면 도로 시작점에서 90m 떨어진 곳에 노드를 삽입하고, StartSlope 및 EndSlope 속성을 각각 사용하여 노드의 시작 및 끝 경사를 설정합니다. 폭 프로필의 최종 노드의 시작과 끝에서 경사를 지정하고 폭을 0으로 지정하면 폭 프로필은 점차 병합 차선의 폭을 0으로 줄입니다.