使用 MATLAB 导出多个场景
此示例演示如何将 RoadRunner 工程中的场景批量导出为 RoadRunner 支持的文件格式之一。在此示例中,您使用 MATLAB® 函数将场景导出为 ASAM OpenDRIVE® 文件格式。
要运行此示例,您必须:
拥有 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 安装文件夹的默认值。
将场景从 RoadRunner 导出到 ASAM OpenDRIVE
使用 MATLAB 将场景从 RoadRunner 工程导出为 ASAM OpenDRIVE 格式。
通过指定创建工程的位置,使用 roadrunner 函数在 RoadRunner 中打开工程。此示例假设 RoadRunner 安装在 Windows 中的默认位置。
指定现有工程的路径。例如,此代码显示位于 C:\RR\MyProject 的工程的路径。该函数返回 roadrunner 对象,rrApp, 提供执行基本工作流任务(例如打开、关闭和保存场景和工程)的函数。
projectFolder = "C:\RR\MyProject"; rrApp = roadrunner(projectFolder,InstallationFolder="C:\Program Files\RoadRunner R2022b\bin\win64");
使用 openScene 函数以及 roadrunner 对象和要打开的 RoadRunner 场景作为输入参数,在工程中打开一个场景。此示例使用 FourWaySignal.rrscene 场景,该场景是 RoadRunner 工程中默认包含的场景之一,位于工程的 Scenes 文件夹中。
sceneName = "FourWaySignal.rrscene";
openScene(rrApp,sceneName);通过创建 openDriveExportOptions 对象来设置导出选项,以启用从文件中导出信号和对象。
options = openDriveExportOptions(OpenDriveVersion=1.5,ExportSignals=true,ExportObjects=true);
使用 exportScene 函数将场景导出到 ASAM OpenDRIVE。指定 roadrunner 对象、要将场景导出到的文件的名称、导出格式和导出选项作为 exportScene 函数的输入参数。
filename = "FourWaySignal.xodr"; formatname = "OpenDRIVE"; exportScene(rrApp,filename,formatname,options);
将多个场景从 RoadRunner 导出为 ASAM OpenDRIVE 格式
使用 MATLAB 将 RoadRunner 工程中的多个场景导出为 ASAM OpenDRIVE® 格式。
通过指定创建工程的位置,使用 roadrunner 函数在 RoadRunner 中打开工程。此示例假设 RoadRunner 安装在 Windows 中的默认位置。
指定现有工程的路径。例如,此代码显示位于 C:\RR\MyProject 的工程的路径。该函数返回 roadrunner 对象,rrApp, 提供执行基本工作流任务(例如打开、关闭和保存场景和工程)的函数。
demoProj = fullfile('C:','DemoProject'); rrApp = roadrunner(demoProj,InstallationFolder="C:\Program Files\RoadRunner R2022b\bin\win64");
指定要导出的场景文件的路径。您必须指定 RoadRunner 工程中 Scenes 文件夹的路径,其中包含该工程中的所有场景。
sceneFiles = dir(fullfile(demoProj,'Scenes','*.rrscene')); scenes = {sceneFiles.name};
指定导出文件夹的路径。这是 RoadRunner 将所有场景文件导出到的文件夹。迭代所有场景文件,使用 openScene 函数打开每个场景,然后调用 exportScene 函数将打开的场景导出为 ASAM OpenDRIVE 格式。
exportFolder = fullfile('C:','OpenDRIVE'); for sndx = 1:numel(scenes) openScene(rrApp,scenes{sndx}); [~,fileName] = fileparts(scenes{sndx}); exportFilePath = [fullfile(exportFolder,fileName) '.xodr']; exportScene(rrApp,exportFilePath,'OpenDRIVE'); end
导出所有场景文件后,使用 close 函数关闭 RoadRunner 应用程序。
close(rrApp);
扩展 RoadRunner 导出选项
要进一步自定义脚本,您可以指定非默认导出设置或指定其他文件格式。有关支持格式的更多详细信息,请参阅 exportScene 函数。为了提高导出场景的灵活性,请考虑使用自定义导出选项导出场景。有关更多详细信息,请参阅 exportCustomFormat 函数。
另请参阅
roadrunner | openScene | exportScene | close