# OpenHDMap
This is an open source HD map project for autonomous driving. The precision map production process is divided into four parts: **map collection, map production, map labeling, and map saving**. This project mainly uses lidar as a collection sensor to provide the map making process.
The goal is to provide a complete mapping process for autonomous driving systems and simulation.
If you have any advice, please feel free to contact us.
## Introduce
Let ’s start with how to make an HD map. The HD map making process can be divided into 4 steps.
1. Map collection
2. Map production
3. Map labeling
4. Map saving
Next we introduce these four processes respectively.
![HDmap_pipeline](docs/img/hdmap_pipeline.jpg)
#### 1. Map collection
First, we use a map collection car equipped with lidar, camera, GPS and IMU to collect maps. The data currently used is an open source dataset. We plan to provide recommended hardware and toy cars later.
You can use the collected data set or equip your own sensors to collect data.
* Collected dataset: KITTI
* Recommended equipment: todo (If you have good suggestions, welcome to recommend)
#### 2. Map production
Then, We need to generate street and building models based on the collected point cloud data. The production process is the stitching of point clouds. This process is often referred to as point cloud registration. After stitching the point clouds frame by frame, a three-dimensional model of the entire street is obtained. You scanned the whole earth with lidar. it looks really cool, right?
There are currently two methods to generate point cloud maps, one is through NDT Mapping, and the other is offline SLAM mapping. At present, we choose to use NDT Mapping. Here we refer to the implementation of autoware.
There are several SLAM mapping methods to refer to:
* LOAM
* Cartographer
* hdl_graph_slam
* blam
* A-LOAM
* LeGO-LOAM
* LIO-mapping
* interactive_slam
> We will use the above method to build the map later.
#### 3. Map labeling
After you have completed the 3D model of the map, this part of the map is called a point cloud map. To get lane line, traffic lights and traffic sign information, we also need to label the map. At present, labeling is mainly done manually. We will provide labeling tools. The labeled map is called HD map.
The two most important questions in map labels are as follows.
* **Sensor fusion** - Because the resolution of the point cloud is not high, the purpose of sensor fusion is to map the pictures of the camera to the point cloud to improve the resolution of lane lines and traffic signs.
* **Automatic labeling** - Automatic labeling capability for large-scale map production and maintenance.
At present, we adopt the method of manual annotation, and we will gradually solve the above two problems later.
#### 4. Map saving
The preservation of HD maps is divided into two parts, one is the format of the map, and the other is the layers of the map.
* Map format
The format of the map is currently opendrive. In short, the project hopes to have a unified labeling format.
- Map layers
Map is divided into 3 layers: base layer, positioning layer and dynamic layer.
- Base layer. The basic layer is the structured information of the map generated by the above annotations, including lane lines, traffic rule information, etc.
- Positioning layer. The positioning layer is some original point clouds that are helpful for autonomous driving positioning, such as telephone poles, traffic signs, buildings, etc.
- Dynamic layer. The dynamic layer publishes some dynamically changing information, such as traffic conditions, traffic accidents ahead, etc.
We currently use Apollo HD map format to work with simulator to verify HD maps.
## Quick start
#### Introduction
```
.
├── docs // documents
├── map_format_tool // Implement map format conversion function
├── map_label_tool // Map labeling tool
├── map_production // Create high-precision map which use to label
```
#### 1. Map production
We use "Autoware NDT Mapping" to build a small map from open dataset. The code is reference in "core_perception/lidar_localizer/nodes/ndt_mapping" [Link](https://gitlab.com/autowarefoundation/autoware.ai/core_perception). The code is now in dir "map_production".
#### 2. Map labeling
We will soon release a map annotation tool, which will in "map_label_tool" dir.
#### 3. Map format
After labelling semantic maps, we provide multiple map formats to different open source projects like Apollo and autoware.
#### 4. End-to-end pipeline
## Examples
## Benchmark
Benchmark of the process:
* accurate
* time
## Reference
[vector tiles](https://docs.mapbox.com/vector-tiles/reference/)
[awesome-vector-tiles](https://github.com/mapbox/awesome-vector-tiles)
[paperjs](http://paperjs.org/examples/hit-testing/)
[best-javascript-drawing-libraries](https://www.slant.co/topics/28/~best-javascript-drawing-libraries)
没有合适的资源?快使用搜索试试~ 我知道了~
用于自动驾驶汽车模拟的开放式高清地图制作流程___下载.zip
共59个文件
py:37个
md:8个
jpg:6个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 37 浏览量
2023-04-16
20:03:36
上传
评论
收藏 747KB ZIP 举报
温馨提示
用于自动驾驶汽车模拟的开放式高清地图制作流程___下载.zip
资源推荐
资源详情
资源评论
收起资源包目录
用于自动驾驶汽车模拟的开放式高清地图制作流程___下载.zip (59个子文件)
OpenHDMap-master
data
readme.md 0B
LICENSE 11KB
map_production
lego-loam
readme.md 0B
ndt_mapping
LICENSE 11KB
async_buffer.cc 1KB
readme.md 3KB
async_buffer.h 785B
img
parking_lot.jpg 231KB
ndt_mapping.cc 8KB
BUILD 598B
readme.md 337B
cartographer
readme.md 0B
docs
img
Architecture.jpg 136KB
map_edit.jpg 67KB
Layers.jpg 150KB
hdmap_pipeline.jpg 132KB
.gitignore 73B
README.md 5KB
map_label_tool
lib
__init__.py 0B
proto_utils.py 3KB
doc
img
map_show.jpg 30KB
main.py 997B
data
borregas_ave.txt 366KB
modules
__init__.py 0B
map
__init__.py 0B
proto
__init__.py 0B
map_yield_sign_pb2.py 3KB
map_parking_space_pb2.py 6KB
map_crosswalk_pb2.py 3KB
map_lane_pb2.py 23KB
map_speed_control_pb2.py 4KB
map_geometry_pb2.py 8KB
map_overlap_pb2.py 25KB
map_pb2.py 16KB
map_speed_bump_pb2.py 3KB
map_road_pb2.py 14KB
map_stop_sign_pb2.py 5KB
map_clear_area_pb2.py 3KB
map_pnc_junction_pb2.py 10KB
map_junction_pb2.py 3KB
map_id_pb2.py 2KB
map_signal_pb2.py 12KB
common
__init__.py 0B
proto
__init__.py 0B
pnc_point_pb2.py 25KB
error_code_pb2.py 11KB
header_pb2.py 5KB
drive_event_pb2.py 5KB
drive_state_pb2.py 4KB
geometry_pb2.py 11KB
vehicle_signal_pb2.py 4KB
readme.md 635B
map.py 3KB
editor.py 415B
background.py 72B
map_format_tool
Opendrive2Autoware.py 0B
Opendrive2Apollo.py 0B
Opendrive2Model.py 0B
readme.md 0B
共 59 条
- 1
资源评论
快撑死的鱼
- 粉丝: 1w+
- 资源: 9154
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- unity控制对象移动.rar
- TortoiseSVN-1.14.3.29387-x64-svn-1.14.2
- jdk-8u411-macosx-aarch64.dmg
- docker安装.rar
- 美赛数学建模算法-使用Matlab实现常微分方程OridinaryDifferentialEquation-国赛-题解.zip
- FileUploadTestController.java
- 基于MATLAB的数字水印系统源码+GUI操作界面+全部数据资料+使用文档(高分课程设计).zip
- 美赛数学建模算法-使用Matlab实现非线性规划NonLinearProgramming-国赛-题解.zip
- linux安装java8环境资源包
- pcb问题和3D猴制作外壳.7z
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功