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 を参照してください。
参考
roadrunner | newScene | exportScene | exportCustomFormat | importScene | close