esmini安装与调试——简易openscenario播放器
esmini可以方便的查看openscenario的xosc文件,目前已经支持到openscenario1.1,源码github仓库见https://github.com/esmini/esmini
作者安装环境Ubuntu20.04,Cmake3.16.3,esmini要求Cmake3.7以上
下载源码
cd ~
git clone https://github.com/esmini/esmini.git
源码编译
编译根据官方教程进行https://github.com/esmini/esmini/blob/master/docs/BuildInstructions.md
mkdir build
cd build
cmake ..
cmake --build . --config Release --target install
OSC-ALKS-scenarios错误及解决方法
执行cmake .. 时如果遇到错误
fatal: 无法访问 'https://github.com/arauschert/OSC-ALKS-scenarios.git/':Error in the HTTP2 framing layer
fatal: 无法克隆 'https://github.com/arauschert/OSC-ALKS-scenarios.git' 到子模组路径 '/home/smvic/esmini/test/OSC-ALKS-scenarios'
克隆 'test/OSC-ALKS-scenarios' 失败。按计划重试
说明之前的OSC-ALKS-scenarios的github网址失效了,找到新的OSC-ALKS-scenarios的github网址https://github.com/asam-oss/OSC-ALKS-scenarios
采用如下命令将其clone到本地
cd ~/esmini/test
git clone https://github.com/asam-oss/OSC-ALKS-scenarios.git
如果提示存在OSC-ALKS-scenarios文件夹并且不是空的,进入~/esmini/test 路径将该文件夹删除再次执行上述命令
再次执行cmake .. 成功 但是上图中的osg.7z/osi.7z/sumo.7z 并未成功下载,查看CMakeLists.txt,下面代码中的dropboxusercontent网址均无法访问,需要自行将对应的文件放在对应位置。
elseif (UNIX)
set ( TIME_LIB "" )
set ( OSG_PACKAGE_URL https://dl.dropboxusercontent.com/s/3dlev34kj94lir5/OpenSceneGraph_linux.7z?dl=0 )
set ( OSG_DIR "${OSG_BASE_DIR}/linux" )
set ( OSI_PACKAGE_URL https://dl.dropboxusercontent.com/s/kwtdg0c1c8pawa1/osi_linux.7z?dl=0 )
set ( OSI_DIR "${OSI_BASE_DIR}/linux" )
set ( SUMO_PACKAGE_URL https://dl.dropboxusercontent.com/s/gfwtqd3gf76f86a/sumo_linux.7z?dl=0 )
set ( SUMO_DIR "${SUMO_BASE_DIR}/linux" )
set ( GTEST_PACKAGE_URL https://dl.dropboxusercontent.com/s/si7jsjjsy5bpoym/googletest_linux.7z?dl=0 )
set ( GTEST_DIR "${GTEST_BASE_DIR}/linux" )
之后执行cmake --build . --config Release --target install 出现错误,原因即上述几个第三方软件未成功下载,需要自行排查解决
SUMO错误及问题解决
fatal error: utils/geom/PositionVector.h: 没有那个文件或目录
19 | #include <utils/geom/PositionVector.h>
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [EnvironmentSimulator/Modules/Controllers/CMakeFiles/Controllers.dir/build.make:157:EnvironmentSimulator/Modules/Controllers/CMakeFiles/Controllers.dir/ControllerSumo.cpp.o] 错误 1
make[1]: *** [CMakeFiles/Makefile2:529:EnvironmentSimulator/Modules/Controllers/CMakeFiles/Controllers.dir/all] 错误 2
make: *** [Makefile:130:all] 错误 2
在Sumo的github仓库中找到对应文件https://github.com/eclipse/sumo 将sumo仓库克隆下来,并将~/sumo/src/ 文件夹中的所有文件复制到~/esmini/externals/SUMO/linux/include 路径下, 克隆sumo的github仓库
cd ~
git clone --recursive https://github.com/DLR-TS/SUMOLibraries
如果下载速度较慢或不下载,使用下方码云Gitee命令
cd ~
git clone https://gitee.com/tsbc/sumo.git
拷贝完成后再次执行cmake --build . --config Release --target install 该错误解决,并出现新错误
atal error: config.h: 没有那个文件或目录
23 | #include <config.h>
| ^~~~~~~~~~
compilation terminated.
make[2]: *** [EnvironmentSimulator/Modules/Controllers/CMakeFiles/Controllers.dir/build.make:157:EnvironmentSimulator/Modules/Controllers/CMakeFiles/Controllers.dir/ControllerSumo.cpp.o] 错误 1
make[1]: *** [CMakeFiles/Makefile2:529:EnvironmentSimulator/Modules/Controllers/CMakeFiles/Controllers.dir/all] 错误 2
提示找不到config.h,该文件是sumo编译文件,需要将sumo编译后复制,编译方法如下方链接所示,编译完成后将~/sumo/build/cmake-build/src/config.h 复制到~/esmini/externals/SUMO/linux/include/ 文件夹下 SUMO仓库克隆及源码编译方法见本人另一博客https://blog.csdn.net/qq_34972053/article/details/120506007?spm=1001.2014.3001.5501
fatal error: libsumo/Simulation.h: 没有那个文件或目录
20 | #include <libsumo/Simulation.h>
| ^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [EnvironmentSimulator/Modules/Controllers/CMakeFiles/Controllers.dir/build.make:157:EnvironmentSimulator/Modules/Controllers/CMakeFiles/Controllers.dir/ControllerSumo.cpp.o] 错误 1
make[1]: *** [CMakeFiles/Makefile2:529:EnvironmentSimulator/Modules/Controllers/CMakeFiles/Controllers.dir/all] 错误 2
OSI错误及问题解决
fatal error: osi_sensordata.pb.h: 没有那个文件或目录
17 | #include "osi_sensordata.pb.h"
| ^~~~~~~~~~~~~~~~~~~~~
compilation terminated.
提示找不到osi_sensordata.pb.h 文件,该文件对应的源码在https://github.com/OpenSimulationInterface/open-simulation-interface找到,为源码编译产生的文件 open-simulation-interface具体仓库克隆及源码编译方法见作者另一博客https://blog.csdn.net/qq_34972053/article/details/120503887?spm=1001.2014.3001.5501
编译完成后生成的lib文件及.pb.h文可以在如下路径中找到 lib文件在/usr/local/lib/osi3/ .pb.h文件在/usr/local/include/osi3/
将所有lib文件复制到~/esmini/externals/OSI/linux/lib 路径下 将所有lib文件复制到~/esmini/externals/OSI/linux/include 路径下
该问题解决
|