esmini安装与调试——简易openscenario播放器

  • 1. 下载源码
  • 2. 源码编译及错误
  • 3. 错误解决

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


编译成功,生成了一系列可执行文件,本教程完成。

Windows10超详细esmini的源码安装与测试运行——OpenScenario播放器相关推荐

  1. Linux安装Mysql5.7详细过程(源码安装)

    Linux安装Mysql详细过程(源码安装) 第一步:下载 进入到mysql官网下载自己对应版本的mysql, 下载地址:https://dev.mysql.com/downloads/mysql/5 ...

  2. 超详细!ArrayList源码图文解析

    不诗意的女程序媛不是好厨师~ 转载请注明出处,From李诗雨-[https://blog.csdn.net/cjm2484836553/article/details/104329665] <超 ...

  3. 源码编译系列之mpv播放器编译教程

    源码编译系列之mpv播放器编译教程 编译mpv播放器有两种方法: 手工下载mpv源码编译,然后编译安装,. 通过mpv-build工具编译安装,编译简单,依赖库版本脚本自动下载,但跟X相关库问题还是需 ...

  4. vue - element <upload> 组件批量上传文档,可携带其他表单数据项一同与文件 “手动提交“ 服务器(类似百度文库系统批量上传前端界面与逻辑)超详细教程示例源码,提供界面与逻辑完整源码

    效果图 本示例使用的是 element 组件库,其实什么组件库都行(逻辑是一样),只要你是 vue.js 项目就能使用本教程. 本文实现了 vue + element 使用 upload 组件批量上传 ...

  5. 用Android Studio做一个超好玩的拼图游戏,附送超详细注释的源码

    文章目录 一.项目概述 二.开发环境 三.需求分析 四.实现过程 1.拼图游戏布局绘制 2.拼图游戏时间计时 3.拼图游戏打乱显示 4.拼图游戏碎片位置切换 5.拼图游戏成功的条件 6.拼图游戏重新开 ...

  6. 微信小程序UI自动化实践:python+minium+PO模式(超详细教程附源码供下载)

    文章目录 前言 一.minium介绍 二.安装环境 1. 安装minium doc 2. 安装minium 3. 启动小程序 三.准备知识 1. 启动 2. 配置 3. 命令行运行 4. 元素定位 5 ...

  7. 用Python做一个超好玩的拼图游戏,0基础也能包你学会,附送超详细注释的源码~

    导语 你所认为的python........                                                              python & bor ...

  8. 超详细!附源码!SpringBoot+shiro+mybatis+Thymeleaf实现权限登录系统

    最近在做一个期末作品,就是使用ssm+thymeleaf+vue+shiro完成一个具有权限登录,且能实现用户信息增删查改的这么一个项目,下面仅仅是实现权限认证和登录.为什么我选shiro,而不选sp ...

  9. C语言实现扫雷游戏(超详细讲解+全部源码)

    电子信息 工科男 一点一点努力! 文章目录 前言 一.游戏介绍 二.游戏设计思路 二.具体步骤 1.创建test.c和game.c源文件以及 game.h头文件 2.创建菜单 3.创建雷盘 4.初始化 ...

最新文章

  1. mysql中的EXPLAIN
  2. [No000053]我25岁了,是应该继续挣钱,还是选择自己的爱好?--正好庆祝自己25岁生日...
  3. 如何查看思科交换机的出厂时间?
  4. 开源项目贡献者_如何认识您的开源项目贡献者并发展您的社区
  5. java jnotify_Jnotify文件监控的用法以及Jar文件导入的方法
  6. 2016030207 - sql50题练习(脚本)
  7. mysql一样的查询在我本地很快但是线上很慢_MySQL大数据量分页查询方法及其优化...
  8. 图像超分工具,在线工具
  9. 数据库图书管理系统设计报告(基于软件工程)
  10. Octotree:一款超实用的GitHub可视化代码树插件
  11. zxr10交换机配置手册vlan_中兴ZXR10交换机配置
  12. “女主播翻车”骂声不断,店湾妹感慨:主播界怎么了?三观已毁!
  13. el-descriptions的入门学习
  14. KVM多电脑切换器的KVM发展史
  15. 基于Azure Kinect SDK获取物体rgb图、深度图、红外IR图和点云数据并保存到本地
  16. python怎么算二元一次方程_用python解决高数所有计算题--sympy求解极限、积分、微分、二元一次方程等...
  17. Java设计模式之Builder模式
  18. 你不能不知道的荣耀V40隐藏功能
  19. 【Oracle】ora-02391解决方法,生产环境测试通过
  20. MEM/MBA数学基础(05)应用题 关键点

热门文章

  1. 分布式任务调度中心xxl-job
  2. Centos7 配置静态 IP 地址
  3. 春节“年味地图”出炉:烤鸭一飞冲天,成全国人气榜首
  4. P8-从列表中移除多个元素
  5. Dogs vs. Cats
  6. 使用O2OA二次开发搭建企业办公平台(十五)流程开发篇:创建报销审批流程
  7. tar gz bz bz2 等各种解压文件使用方法
  8. 关于Arthas如何远程监视Java程序
  9. 北京航空航天大学研究生院计算机科学与技术哪个方向偏嵌入式,北京航空航天大学研究生2018年考研专业介绍:计算机科学与技术...
  10. 如何禁用新浪直播插件