주요 콘텐츠

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

roadrunnerHDMap

MATLAB를 사용하여 RoadRunner HD 지도 만들기

R2022b 이후

    설명

    roadrunnerHDMap 객체를 사용하면 MATLAB®를 사용하여 RoadRunner HD 지도를 만들 수 있습니다. 차선, 차선 경계, 차선 표시 및 분기점을 사용하여 지도를 채울 수도 있습니다.

    RoadRunner HD Map은 RoadRunner 장면에서 고화질(HD) 지도 데이터를 표현하기 위한 도로 데이터 모델입니다. 이 모델은 차선, 차선 경계, 차선 표시 및 분기점을 사용하여 도로 레이아웃을 나타내는 간단한 데이터 구조를 정의합니다. RoadRunner HD 맵을 사용하여 사용자 정의 HD 맵 데이터에 대한 바이너리 파일을 생성하고 바이너리 파일을 RoadRunner로 가져온 다음 장면을 구축할 수 있습니다.

    생성

    설명

    rrMap = roadrunnerHDMap()는 빈 RoadRunner HD 지도를 생성합니다. roadrunnerHDMap 객체 속성을 사용하여 차선, 차선 경계, 차선 표시 및 분기점으로 지도를 채울 수 있습니다. 맵의 데이터는 프로토콜 버퍼를 사용하여 직렬화되고 write 메소드를 사용하여 .rrhd 확장자를 갖는 바이너리 형식으로 저장됩니다. read 메소드를 사용하여 확장자가 .rrhd인 파일을 읽고 빈 roadrunnerHDMap 객체를 채울 수 있습니다.

    rrMap = roadrunnerHDMap(Name=Value)는 이름-값 쌍을 사용하여 속성을 설정합니다.

    예제

    속성

    모두 확장

    지도 작성자의 이름으로, string형 스칼라로 지정됩니다.

    예: rrMap= roadrunnerHDMap(Author="Map Author")는 "Map Author" 소유의 RoadRunner HD 지도를 생성합니다.

    데이터형: char | string

    도로망 원점의 지리적 좌표로, 두 개의 요소를 포함하는 [lat, lon] 형식의 행 벡터로 지정됩니다. lat는 좌표의 위도(도)를 나타내고 lon는 좌표의 경도(도)를 나타냅니다. 이 값은 GPS 데이터에 사용되는 표준 타원체인 WGS84 참조 타원체에 관한 것입니다. 자세한 내용은 좌표 공간 및 지리 참조를 참조하세요.

    데이터형: double

    RoadRunner HD 지도 투영의 3D 좌표 공간에 표현된 형상 데이터의 공간 경계로, 배정밀도의 2×3 행렬로 지정됩니다. 행렬의 요소는 3D 축 정렬 상자의 최소 및 최대 위치를 나타냅니다.

    예: rrMap= roadrunnerHDMap(Author="Map Author", GeographicBoundary=[-0.782 -3.13 0;101.565 50 0])는 "Map Author" 소유의 RoadRunner HD 지도를 생성합니다. 지도 투영의 3D 좌표 공간에서 형상 데이터의 공간적 경계는 GeographicBoundary 파라미터의 배정밀도 값으로 지정됩니다.

    데이터형: double

    도로의 차선 속성으로, roadrunner.hdmap.Lane 객체의 배열로 지정됩니다.

    예: rrMap.Lanes(1)= roadrunner.hdmap.Lane(ID="Lane1", Geometry=[-0.782 -1.56;50.78 23.43], LaneType="Driving", TravelDirection="Forward")은 지도의 차선에 대한 다음 정보를 추가합니다: 차선 ID, 차선 형상을 정의하는 좌표, 차선 유형, 그리고 운전방향.

    R2024b 이후

    roadrunner.hdmap.SpeedLimit (Automated Driving Toolbox) 객체의 배열로 지정된 지도의 차선 속도 제한입니다.

    예: rrMap.SpeedLimits = roadrunner.hdmap.SpeedLimit(ID="SpeedLimit1")는 ID가 "SpeedLimit1"인 속도 제한을 지도에 추가합니다.

    차선의 경계로, roadrunner.hdmap.LaneBoundary 객체의 배열로 지정됩니다.

    예: rrMap.LaneBoundaries(1)= roadrunner.hdmap.LaneBoundary(ID="LaneBoundary1", Geometry=[0 0;50 25])는 차선에 차선 경계를 추가하고 각 차선 경계에 대한 형상을 정의합니다.

    유사한 형상을 가진 차선 그룹으로, roadrunner.hdmap.LaneGroup 객체의 배열로 지정됩니다.

    예: rrMap.LaneGroups= roadrunner.hdmap.LaneGroup(ID="LaneGroup1")는 ID가 "LaneGroup1"인 차선 그룹을 지도에 추가합니다.

    차선 표시 정의로, roadrunner.hdmap.LaneMarking 객체의 배열로 지정됩니다.

    예: rrMap.LaneMarkings= roadrunner.hdmap.LaneMarking(ID="Dashed1", AssetPath="Assets/Markings/DashedSingleWhite.rrlms")는 "Dashed1" 차선 표시 자산을 상대 위치에서 차선에 추가합니다.

    지도의 도로 분기점으로, roadrunner.hdmap.Junction 객체의 배열로 지정됩니다.

    예: rrMap.Junctions= roadrunner.hdmap.Junction(ID="Junction1")는 ID가 "Junction1"인 분기점을 지도에 추가합니다.

    장벽 돌출을 위한 장벽 유형 및 유형 정보로, roadrunner.hdmap.BarrierType 객체의 배열로 지정됩니다.

    예: rrMap.BarrierTypes= roadrunner.hdmap.BarrierType(ID="BarrierType1", ExtrusionPath=path)는 이 장벽 유형의 돌출 정보를 가리키는 자산 경로 path가 있는 장벽 돌출에 대해 ID가 "BarrierType1"인 장벽 유형을 추가합니다.

    지도의 장벽으로, roadrunner.hdmap.Barrier 객체의 배열로 지정됩니다.

    예: rrMap.Barrier= roadrunner.hdmap.Barrier(ID="Barrier1")는 ID가 "Barrier1"인 장벽을 지도에 추가합니다.

    표지판 기능의 표지판 유형과 유형 정보로, roadrunner.hdmap.SignType 객체의 배열로 지정됩니다.

    예: rrMap.SignTypes= roadrunner.hdmap.SignType(ID="SignType1", ExtrusionPath=AssetPath="Assets/Signs/UK/Sign_Parking.svg")는 상대 경로 "Assets/Signs/UK/Sign_Parking.svg"에 있는 주차 표지판에 대해 ID가 "SignType1"인 표지판 유형을 추가합니다.

    지도의 표지판으로, roadrunner.hdmap.Sign 객체의 배열로 지정됩니다.

    예: rrMap.Sign= roadrunner.hdmap.Sign(ID="Sign1")는 ID가 "Sign1"인 표지판을 지도에 추가합니다.

    roadrunner.hdmap.StaticObjectType 객체의 배열로 지정되는 실제 객체(도로 가구 및 소품 포함)의 속성입니다.

    예: rrMap.StaticObjectType= roadrunner.hdmap.StaticObjectType(ID="StaticObjectType1")는 ID가 "StaticObjectType1"인 정적 개체 유형을 지도에 추가합니다.

    roadrunner.hdmap.StaticObject 객체의 배열로 지정되는 실제 객체(도로 가구 및 소품 포함)의 속성입니다.

    예: rrMap.StaticObject= roadrunner.hdmap.StaticObject(ID="StaticObject1")는 ID가 "StaticObject1"인 정적 개체를 지도에 추가합니다.

    R2024b 이후

    roadrunner.hdmap.StencilMarkingType 객체의 배열로 지정된 스텐실 마킹 기능의 유형 및 유형 정보입니다.

    예: rrMap.StencilMarkingTypes = roadrunner.hdmap.StencilMarkingType(ID="StencilMarkingType1", AssetPath="path")는 상대 경로 "path"에 위치한 스텐실 마킹에 대해 ID "StencilMarkingType1"의 스텐실 마킹 유형을 추가합니다.

    R2024b 이후

    roadrunner.hdmap.StencilMarking 객체의 배열로 지정된 지도의 스텐실 표시입니다.

    예: rrMap.StencilMarkings = roadrunner.hdmap.StencilMarking(ID="StencilMarking1")는 ID가 "StencilMarking1"인 스텐실 표시를 맵에 추가합니다.

    R2024b 이후

    곡선 표시 기능의 유형 및 유형 정보는 roadrunner.hdmap.CurveMarkingType 객체의 배열로 지정됩니다.

    예: rrMap.CurveMarkingTypes = roadrunner.hdmap.CurveMarkingType(ID="CurveMarkingType1", AssetPath="path")는 상대 경로 "path"에 위치한 곡선 표시에 대해 id가 "CurveMarkingType1"인 곡선 표시 유형을 추가합니다.

    R2024b 이후

    roadrunner.hdmap.CurveMarking 객체의 배열로 지정된 지도의 곡선 표시입니다.

    예: rrMap.CurveMarkings = roadrunner.hdmap.CurveMarking(ID="CurveMarking1")는 ID가 "CurveMarking1"인 곡선 표시를 지도에 추가합니다.

    R2025a 이후

    roadrunner.hdmap.SignalType 객체의 배열로 지정된 신호 기능의 유형 및 유형 정보입니다.

    예: rrMap.SignalTypes = roadrunner.hdmap.SignalType(ID="SignalType1", AssetPath="path")는 상대 경로 "path"에 위치한 신호에 대해 ID가 "SignalType1"인 신호 유형을 추가합니다.

    R2025a 이후

    roadrunner.hdmap.Signal 객체의 배열로 지정된 맵의 신호입니다.

    예: rrMap.Signals = roadrunner.hdmap.Signal(ID="Signal1")는 ID가 "Signal1"인 신호를 맵에 추가합니다.

    객체 함수

    writeMATLAB를 사용하여 HD 지도를 바이너리 파일에 작성
    readMATLAB를 사용하여 바이너리 파일에서 HD 지도 읽기
    plotMATLAB를 사용하여 RoadRunner HD 지도 플롯
    readCRSMATLAB를 사용하여 RoadRunner HD 지도에서 좌표 참조 시스템(CRS) 데이터를 읽습니다.

    예제

    모두 축소

    roadrunnerHDMap 개체를 호출하여 RoadRunner HD 지도를 만듭니다. 객체는 작성자와 형상 데이터 속성의 공간 경계가 포함된 지도를 반환합니다.

    rrMap = roadrunnerHDMap(Author="Map Author",GeographicBoundary=[-0.782 -3.13 0;101.565 50 0]);

    roadrunner.hdmap.Lane 객체를 사용하여 도로 차선을 만듭니다. 차선 ID에 대한 차선 정보, 차선 형상을 정의하는 좌표, 주행 방향 및 차선 유형을 지정합니다.

    rrMap.Lanes(2) = roadrunner.hdmap.Lane(ID="Lane2",Geometry=[50.78 23.43;100.78 48.43],LaneType="Driving", TravelDirection="Forward");
    rrMap.Lanes(1) = roadrunner.hdmap.Lane(ID="Lane1",Geometry=[0.782 -1.56;50.78 23.43],LaneType="Driving", TravelDirection="Forward");

    Lane1Lane2에 대한 연결 정보를 추가합니다. 선행 구간과 후속 구간 관계에 대한 정보를 정의하여 차선 간의 정렬을 지정합니다.

    addPredecessor(rrMap.Lanes(2),"Lane1",Alignment="Forward");
    addSuccessor(rrMap.Lanes(1),"Lane2",Alignment="Forward");

    roadrunner.hdmap.LaneBoundary 객체를 사용하여 도로의 차선 경계를 만듭니다. 차선 ID에 대한 차선 경계 정보와 차선 형상을 정의하는 좌표를 지정합니다.

    rrMap.LaneBoundaries(4) = roadrunner.hdmap.LaneBoundary(ID="LaneBoundary4",Geometry=[50 25; 100 50]);
    rrMap.LaneBoundaries(3) = roadrunner.hdmap.LaneBoundary(ID="LaneBoundary3",Geometry=[51.565 21.864; 101.565 46.869]);
    rrMap.LaneBoundaries(2) = roadrunner.hdmap.LaneBoundary(ID="LaneBoundary2",Geometry=[1.565 -3.13; 51.565 21.864]);
    rrMap.LaneBoundaries(1) = roadrunner.hdmap.LaneBoundary(ID="LaneBoundary1",Geometry=[0 0; 50 25]);

    차선 경계를 차선에 연결합니다. 각 차선의 왼쪽 및 오른쪽 차선 경계를 정의하고 차선과 차선 경계 사이의 정렬을 지정합니다.

    leftBoundary(rrMap.Lanes(1),"LaneBoundary1",Alignment="Forward");
    rightBoundary(rrMap.Lanes(1),"LaneBoundary2",Alignment="Forward");
    leftBoundary(rrMap.Lanes(2),"LaneBoundary4",Alignment="Forward");
    rightBoundary(rrMap.Lanes(2),"LaneBoundary3",Alignment="Forward");

    버전 내역

    R2022b에 개발됨

    모두 확장