esmini安装与调试——简易openscenario播放器
esmini可以方便的查看openscenario的xosc文件,目前已经支持到openscenario1.1,源码github仓库见https://github.com/esmini/esmini
它包含以下主要库:
RoadManager (esminiRMLib)。提供以 OpenDRIVE 格式描述的道路网络接口的库。
ScenarioEngine (esminiLib)。主要库为 OpenSCENARIO 格式中描述的交通场景提供查看器和 API 接口。该库包括 RoadManager。
以及一些可以使用或为定制解决方案提供想法的应用程序:
esmini:静态链接 esmini 模块的场景播放器应用程序。
esmini-dyn:使用 esminiLib 播放 OpenSCENARIO 文件的简约示例。
odrplot:从 OpenDRIVE 生成数据文件,用于在 Python 中绘制道路网络。
odrviewer:可视化具有填充虚拟交通的 OpenDRIVE 道路网络。
replayer:重新播放以前执行的场景。
osireceiver:一个通过 UDP 从 esmini 接收 OSI 消息的简单应用程序。
esmini版本对应关系:
esmini 支持 OpenSCENARIO v1.1(来自 esmini v2.7)和 v1.0(来自 esmini v1.5)。为了运行旧版本(即 v0.9.1),ASAM 提供了一个转换方案(migration0_9_1to1_0.xslt,OpenSCENARIO 发行包的一部分),可与用于自动迁移 XML 文件的工具一起使用。
作者安装环境 CMake version: 3.21.3, Windows SDK version 10.0.19041.0,Windows SDK v10 x64,Visual Studio 2019,esmini要求Cmake3.7以上
1. 下载源码
cd C:\Users\你的用户名文件夹\
git clone https://github.com/esmini/esmini.git
2. 源码编译及错误
编译根据官方教程进行https://github.com/esmini/esmini/blob/master/docs/BuildInstructions.md
mkdir build
cd build
cmake -G "Visual Studio 16 2019" ..
cmake --build . --config Release --target install
使用命令cmake --build . --config Release --target install
时发现有以下错误,以下问题是一些依赖包没有下载,可以打开esmini-master\externals文件夹,发现其中的\googletest\v10、\OpenSceneGraph\v10、\OSI\v10、\SUMO\v10均为空文件夹,以上依赖包需要编译放到对应位置。
以下问题为\OpenSceneGraph问题
C:\Users\uid8107\esmini-master\EnvironmentSimulator\Modules\ViewerBase\viewer.hpp(16,10):
fatal error C1083: 无法打开包 括文件:“osg/PositionAttitudeTransform”: No such file or directory
[C:\Users\uid8107\esminimaster\build\EnvironmentSimulator\Modules\ViewerBase\ViewerBase.vcxproj]
roadgeom.cpp C:\Users\uid8107\esmini-master\EnvironmentSimulator\Modules\ViewerBase\roadgeom.hpp(16,10):
fatal error C1083: 无法打开 包括文件: “osg/PositionAttitudeTransform”: No such file or directory
[C:\Users\uid8107\esmini-master\build\EnvironmentSimulator\Modules\ViewerBase\ViewerBase.vcxproj]
RubberbandManipulator.cpp C:\Users\uid8107\esmini-master\EnvironmentSimulator\Modules\ViewerBase\RubberbandManipulator.hpp(16,10):
fatal error C1 083: 无法打开包括文件: “osgGA/CameraManipulator”: No such file or directory
[C:\Users\uid8107\esmini-master\build\EnvironmentSimulator\Modules\ViewerBase\ViewerBase.vcxproj]
以下问题为\googletest问题
C:\Users\uid8107\esmini-master\EnvironmentSimulator\Unittest\CommonMini_test.cpp(1,10):
fatal error C1083: 无法打开包括 文件: “gtest/gtest.h”: No such file or directory
[C:\Users\uid8107\esmini-master\build\EnvironmentSimulator\Unittest\CommonMini_test.vcxproj]
C:\Users\uid8107\esmini-master\EnvironmentSimulator\Unittest\RoadManager_test.cpp(2,10):
fatal error C1083: 无法打开包括文件: “gtest/gtest.h”: No such file or directory
[C:\Users\uid8107\esmini-master\build\EnvironmentSimulator\Unittest\RoadManager_test.vcxproj]
以下问题为\OSI问题
C:\Users\uid8107\esmini-master\EnvironmentSimulator\Modules\ScenarioEngine\SourceFiles\OSIReporter.hpp(17,10):
fatal error C1083: 无法打开包括文件: “osi_sensordata.pb.h”: No such file or directory
[C:\Users\uid8107\esmini-master\build\EnvironmentSimulator\Modules\PlayerBase\PlayerBase.vcxproj]
C:\Users\uid8107\esmini-master\EnvironmentSimulator\Modules\ScenarioEngine\SourceFiles\OSIReporter.hpp(17,10):
fatal error C1083: 无法打开包括文件: “osi_sensordata.pb.h”: No such file or directory
[C:\Users\uid8107\esmini-master\build\EnvironmentSimulator\Modules\ScenarioEngine\ScenarioEngine.vcxproj]
C:\Users\uid8107\esmini-master\EnvironmentSimulator\Applications\replayer\osi_receiver.cpp(17,10):
fatal error C1083: 无法打开包括文件: “osi_common.pb.h”: No such file or directory
[C:\Users\uid8107\esmini-master\build\EnvironmentSimulator\Applications\replayer\osireceiver.vcxproj]
以下问题为\SUMO问题
C:\Users\uid8107\esmini-master\EnvironmentSimulator\Modules\Controllers\ControllerSumo.cpp(19,10):
fatal error C1083: 无法打开包括文件: “utils/geom/PositionVector.h”: No such file or directory
[C:\Users\uid8107\esmini-master\build\EnvironmentSimulator\Modules\Controllers\Controllers.vcxproj]
针对以上问题,寻找解决方案
3. 错误解决
在esmini-master\EnvironmentSimulator\CMakeLists.txt的61-72行中找到以上文件的下载地址:
OSG_PACKAGE_URLhttps://dl.dropboxusercontent.com/s/e95hnoo782p40uc/OpenSceneGraph_v10.7z?dl=0
OSI_PACKAGE_URL https://dl.dropboxusercontent.com/s/an58ckp2qfx5069/osi_v10.7z?dl=0
SUMO_PACKAGE_URL https://dl.dropboxusercontent.com/s/5jtpnnd61wonxuh/sumo_v10.7z?dl=0 )
GTEST_PACKAGE_URL https://dl.dropboxusercontent.com/s/aaiehwzc6woqbc6/googletest_v10.7z?dl=0
elseif ("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "x64")
message ("Configuring for Windows SDK v10 x64")
set ( SOCK_LIB Ws2_32.lib )
set ( TIME_LIB "" )
set ( OSG_PACKAGE_URL https://dl.dropboxusercontent.com/s/e95hnoo782p40uc/OpenSceneGraph_v10.7z?dl=0 )
set ( OSI_PACKAGE_URL https://dl.dropboxusercontent.com/s/an58ckp2qfx5069/osi_v10.7z?dl=0 )
set ( SUMO_PACKAGE_URL https://dl.dropboxusercontent.com/s/5jtpnnd61wonxuh/sumo_v10.7z?dl=0 )
set ( GTEST_PACKAGE_URL https://dl.dropboxusercontent.com/s/aaiehwzc6woqbc6/googletest_v10.7z?dl=0 )
set ( OSG_DIR "${OSG_BASE_DIR}/v10" )
set ( OSI_DIR "${OSI_BASE_DIR}/v10" )
set ( SUMO_DIR "${SUMO_BASE_DIR}/v10" )
set ( GTEST_DIR "${GTEST_BASE_DIR}/v10" )
但是使用迅雷、谷歌浏览器等均无法下载,最后在某宝找了个卖家下载下来了,四个文件总价九毛钱,某宝YYDS!!!!!
网盘链接:https://pan.baidu.com/s/1-XcOQGtmC2agXnpBUSh1-A
提取码:yyds
下载后将四个压缩包分别解压到esmini-master\externals\googletest\v10、\OpenSceneGraph\v10、\OSI\v10、\SUMO\v10之后,再次编译
cd build
cmake -G "Visual Studio 16 2019" ..
cmake --build . --config Release --target install
编译成功,生成了一系列可执行文件,本教程完成。