メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

roadrunnerHDMap

MATLAB を使用して RoadRunner HD マップを作成する

R2022b 以降

    説明

    MATLAB®roadrunnerHDMap オブジェクトを使用して RoadRunner HD マップを作成できます。また、車線、車線境界、車線区分線、および junction をマップに配置することもできます。

    RoadRunner HD マップは、RoadRunner シーン内で高精細度 (HD) のマップ データを表すための道路データ モデルです。このモデルはシンプルなデータ構造を定義し、車線、車線境界、車線区分線、junction を使用して道路のレイアウトを表現します。RoadRunner HD マップを使用して、カスタム HD マップ データのバイナリ ファイルを作成し、そのバイナリ ファイルを RoadRunner にインポートして、シーンを作成できます。

    作成

    説明

    rrMap = roadrunnerHDMap() は空の RoadRunner HD マップを作成します。roadrunnerHDMap オブジェクトのプロパティを使用して、車線、車線境界、車線区分線、および junction をマップに配置できます。マップのデータは、プロトコル バッファーを使用してシリアル化され、write メソッドを使用して .rrhd の拡張子でバイナリ形式で保存されます。read メソッドを使用して .rrhd 拡張子のファイルを読み取り、空の roadrunnerHDMap オブジェクトにデータを取り込むことができます。

    rrMap = roadrunnerHDMap(Name=Value) は、名前と値のペアを使用してプロパティを設定します。

    プロパティ

    すべて展開する

    マップ作成者の名前。string スカラーとして指定します。

    例: rrMap= roadrunnerHDMap(Author="Map Author") は、"Map Author" が所有する RoadRunner HD マップを作成します。

    データ型: char | string

    道路ネットワーク起点の地理座標。2 つの要素をもつ [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" 車線区分線アセットを車線に追加します。

    マップ内の道路の junction。roadrunner.hdmap.Junction オブジェクトの配列として指定します。

    例: rrMap.Junctions= roadrunner.hdmap.Junction(ID="Junction1") は、ID が "Junction1" の junction をマップに追加します。

    フェンス押し出しのフェンス タイプおよびタイプ情報。roadrunner.hdmap.BarrierType オブジェクトの配列として指定します。

    例: rrMap.BarrierTypes= roadrunner.hdmap.BarrierType(ID="BarrierType1", ExtrusionPath=path) は、ID が "BarrierType1" のフェンス押し出し用のフェンス タイプを追加します。アセット パス path でこのフェンス タイプの押し出し情報を指定します。

    マップ内のフェンス。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" の信号をマップに追加します。

    オブジェクト関数

    writeWrite HD Map to binary file using MATLAB
    readMATLAB を使用してバイナリ ファイルから HD マップを読み取る
    plotPlot RoadRunner HD Map using MATLAB
    readCRSRead coordinate reference system (CRS) data from RoadRunner HD map using MATLAB

    すべて折りたたむ

    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 で導入

    すべて展開する