当前位置:网站首页>路网编辑器技术预研
路网编辑器技术预研
2022-08-04 04:28:00 【giao00000】
路网编辑器技术预研
文章目录
1. 前言
本文基于【自动驾驶仿真平台概述】进行延申,记录路网编辑器预研工作。大致分为两个方向:
- 借鉴商业平台,如Apollo、51Sim-One等;
- GitHub开源平台
2. 商业平台
2.1 Apollo[1]
Apollo Studio提供场景编辑功能,未发现有路网编辑功能。
Apollo路网可视化通过网络请求路网切片实现。
2.2 51Sim-One[2]
51Sim-One提供场景编辑功能,文档中指明有独立自研场景构建软件World Editor(用于构建路网,在目前开放的平台中未找到该功能)。
51Sim-One路网可视化采用Leaflet(Element中可以发现Leaflet相关标签),基于自研封装的JavaScript代码解析OpenDrive路网数据(可以在源代码中发现部分痕迹)。
3. GitHub开源平台
3.1 libOpenDRIVE[3]
基于C++编写的轻量库,可以解析OpenDRIVE文件并生成三维模型。
可以将C++代码编译成.wasm(WebAssembly)文件(可在浏览器端运行的二进制机器码),嵌入到前端应用。
首先通过CMake
生成MakeFile,然后通过VS打开解决方案,进行编译。
$ ./build/Debug/test-xodr Viewer/data.xodr
road: 500, length: 16.52
road: 501, length: 4.00
road: 502, length: 4.00
road: 503, length: 16.52
road: 504, length: 20.00
road: 505, length: 20.00
road: 506, length: 20.00
road: 507, length: 20.00
road: 508, length: 541.50
road: 509, length: 541.50
road: 510, length: 16.12
road: 511, length: 16.12
road: 512, length: 16.12
road: 513, length: 16.12
road: 514, length: 4.00
road: 515, length: 16.52
road: 516, length: 4.00
road: 517, length: 16.52
Finished, got 22108 lane points, 20572 roadmark points
C++代码编译WebAssembly主要步骤:
- 安装CMake(编译构建工具):直接下载免安装压缩包,配置环境变量即可,下载链接;
- 安装MinGW(编译器):可参考链接Windows 中使用的 GCC 编译器,注意配置环境变量;
- 安装EMSDK(将C++代码编译成WebAssembly字节码的工具链):可参考链接Emscripten简介及初体验;
- 双击emsdk目录下的
emcmdprompt.bat
,切到需要构建编译的目录下./build
,执行命令emcmake cmake .. -G "MinGW Makefiles"
; - 执行命令
emmake make
; - 执行命令
cp ModuleOpenDrive.* ../Viewer
- 通过LiveServer运行Viewer目录下的index.html
3.2 OpenRoadEd[4]
由C++编写的可运行在Ubuntu和Windows上的桌面端软件,支持路网编辑和OpenSceneGraph descriptions。
3.3 PCG-OpenDRIVE[5]
JavaScript编写,能够解析OpenDrive文件,并通过Three.js可视化。
源码下载后可直接运行。
3.4 OpenDriveOnlineEditor[6]
基于Elm语言开发,支持解析、查看OpenDrive文件。
3.5 CommonRoad Scenario Designer[7]
An Open-Source Toolbox for Map Conversion and Scenario Creation for Autonomous Vehicles
用于路网地图转换和场景构建的开源工具箱,基于Python开发,代码库地址commonroad-scenario-designer。
Scenario Designer can convert maps from the Lanelet/Lanelet2, OpenDRIVE, OpenStreetMap (OSM), and SUMO formats to the CommonRoad format.
可以将 Lanelet/Lanelet2, OpenDRIVE, OpenStreetMap (OSM)以及SUMO格式的静态路网地图转换为CommonRoad格式。
Additionally, we provide conversions from the CommonRoad map format to the SUMO and Lanelet format.
另外,支持将用户界面编辑后的CommonRoad格式地图转换到SUMO、Lanelet格式。
3.6 opendrivejs[8]
opendrivejs
is a javascript based parser to visualize.xodr
file into browser.
JavaScript编写,可以解析并在Three.js环境下可视化OpenDrive文件。基于React构建。
参考链接
[1] Apollo场景编辑
[2] 51Sim-One概述
[3] Small, lightweight C++ library for handling OpenDRIVE files
[4] OpenRoadEd
[5] PCG-OpenDRIVE
[7] CommonRoad Scenario Designer
[8] opendrivejs
边栏推荐
- The video of machine learning to learn [update]
- 【id类型和NSObject指针 ObjectIve-C中】
- 3000字,一文带你搞懂机器学习!
- 4-way two-way HDMI integrated business high-definition video optical transceiver 8-way HDMI high-definition video optical transceiver
- 八年软件测试工程师带你了解-测试岗进阶之路
- FFmpeg —— 通过修改yuv,将视频转为黑白并输出(附源码)
- The Shell function
- pnpm 是凭什么对 npm 和 yarn 降维打击的
- How to automatically export or capture abnormal login ip and logs in elastic to the database?
- 8. Haproxy builds a web cluster
猜你喜欢
7-1 LVS+NAT 负载均衡群集,NAT模式部署
Based on the statistical QDirStat Qt directory
PL/SQL Some Advanced Fundamental
sql语句查询String类型字段小于10的怎么查
【Ryerson情感说话/歌唱视听数据集(RAVDESS) 】
系统设计.秒杀系统
张量篇-应用案例
JVM Notes
Deep learning -- CNN clothing image classification, for example, discussed how to evaluate neural network model
7.LVS负载均衡群集之原理叙述
随机推荐
[Ryerson emotional speaking/singing audiovisual dataset (RAVDESS)]
将xml标签转换为txt(voc格式转换为yolo方便进行训练)
FFmpeg —— 通过修改yuv,将视频转为黑白并输出(附源码)
八年软件测试工程师带你了解-测试岗进阶之路
转:管理是对可能性的热爱,管理者要有闯进未知的勇气
帮助企业实现数字化转型成功的八项指导原则
大型连锁百货运维审计用什么软件好?有哪些功能?
MRS: Introduction to the use of Alluxio
Metaverse "Drummer" Unity: Crazy expansion, suspense still exists
Basic characteristics of TL431 and oscillator circuit
JVM的内存模型简介
企业直播风起:目睹聚焦产品,微赞拥抱生态
自定义通用分页标签01
Significant differences between Oracle and Postgresql in PLSQL transaction rollback
Embedded database development programming MySQL (full)
汇编语言之栈
类如何只能静态分配和只能动态分配
2.15 keil使用电脑端时间日期
使用serve搭建本地服务器
拿捏JVM性能优化(自己笔记版本)