メインコンテンツ

MATLAB 関数を使用した形式間でのシーンの変換

この例では、RoadRunner のシーンを 1 つのファイル形式からインポートし、それらのシーンを別の形式にエクスポートする方法を説明します。この例では、MATLAB® 関数を使用して、ASAM OpenDRIVE® ファイルをシーンにインポートし、プロジェクトに保存して、シーンをエクスポートして Filmbox® FBX® ファイルにエクスポートする方法を説明します。

この例を実行するには、次のことが必要です。

  • Automated Driving Toolbox® のライセンスがある。

  • RoadRunner® のライセンスがあり、製品がインストールされている。

  • RoadRunner プロジェクト フォルダーが作成されている。

プログラムによる RoadRunner の起動

MATLAB 関数を使用して RoadRunner をプログラムで制御するには、roadrunner オブジェクトを使用します。既定では、roadrunner は使用しているプラットフォーム (Windows® または Linux®) での既定のインストール フォルダーから RoadRunner を開きます。以下は、プラットフォーム別の既定のインストール場所です。

  • Windows – C:\Program Files\RoadRunner R20NNx\bin\win64

  • Linux、Ubuntu® – /usr/local/RoadRunner_R20NNx/bin/glnxa64

R20NNx は使用している MATLAB リリースです。

RoadRunner のインストール場所が既定の場所とは異なる場合は、MATLAB settings API を使用して RoadRunner のインストール フォルダーの既定値をカスタマイズします。

複数のシーンのインポートとエクスポート

複数のシーンを ASAM OpenDRIVE 形式からインポートし、FBX 形式にエクスポートします。

プロジェクトの作成場所を指定して関数 roadrunner を使用し、RoadRunner でプロジェクトを開きます。次の例では、RoadRunner は Windows の既定の場所にインストールされていると仮定しています。

既存のプロジェクトのパスを指定します。たとえば、次のコードは、C:\RR\MyProject にあるプロジェクトのパスを示しています。この関数は roadrunner オブジェクト rrApp, を返します。このオブジェクトは、シーンやプロジェクトの開閉や保存などの基本的なワークフロー タスクを実行する関数を提供します。

demoProj = fullfile('C:','DemoProject');
rrApp = roadrunner(demoProj,InstallationFolder="C:\Program Files\RoadRunner R2022b\bin\win64 ");

インポートする ASAM OpenDRIVE ファイルへのパスと、Filmbox ファイルのエクスポート先のフォルダーへのパスを指定します。

odrFolder = fullfile('C:','OpenDRIVE');
odrFiles = dir(fullfile(odrFolder,'*.xodr'));
exportFolder = fullfile('C:','Filmbox');

ASAM OpenDRIVE ファイルをインポートし、FBX 形式にエクスポートします。関数 newScene を使用して各 ASAM OpenDRIVE ファイルを新しいシーンにインポートし、プロジェクト内に新しいシーンを作成してから、インポートする各シーンのファイル パスを関数 importScene に指定します。次に、関数 exportScene を使用して、インポートされたシーンをファイルにエクスポートします。

for fndx = 1:length(odrFiles)
    newScene(rrApp);
    importFilePath = fullfile(odrFolder,odrFiles(fndx).name);
    importScene(rrApp,importFilePath,"OpenDRIVE");
    [~,fileName] = fileparts(odrFiles(fndx).name);
    exportFilePath = [fullfile(exportFolder,fileName) '.fbx'];
    exportScene(rrApp,exportFilePath,"Filmbox");
end

すべてのシーンがエクスポートされたら、関数 close を使用して RoadRunner アプリケーションを閉じます。

close(rrApp);

RoadRunner エクスポート オプションの拡張

スクリプトをさらにカスタマイズするために、既定でないインポート設定およびエクスポート設定を指定するか、その他のファイル形式を指定できます。サポートされる形式の詳細については、関数 importScene および関数 exportScene を参照してください。シーンのエクスポート時の柔軟性を高めるには、カスタムのエクスポート オプションを使用してシーンをエクスポートすることを検討します。詳細については、関数 exportCustomFormat を参照してください。

参考

| | | | |

トピック