All Projects → Flycars → OpenHDMap

Flycars / OpenHDMap

Licence: Apache-2.0 license
An open HD map production process for autonomous car simulation

Programming Languages

C++
36643 projects - #6 most used programming language
python
139335 projects - #7 most used programming language
Starlark
911 projects

Projects that are alternatives of or similar to OpenHDMap

copilot
Lane and obstacle detection for active assistance during driving. Uses windowed sweep for lane detection. Combination of object tracking and YOLO for obstacles. Determines lane change, relative velocity and time to collision
Stars: ✭ 95 (-37.5%)
Mutual labels:  autonomous-driving, autonomous-vehicles
SelfDrivingCarsControlDesign
Self Driving Cars Longitudinal and Lateral Control Design
Stars: ✭ 96 (-36.84%)
Mutual labels:  autonomous-driving, autonomous-vehicles
dreyeve
[TPAMI 2018] Predicting the Driver’s Focus of Attention: the DR(eye)VE Project. A deep neural network learnt to reproduce the human driver focus of attention (FoA) in a variety of real-world driving scenarios.
Stars: ✭ 88 (-42.11%)
Mutual labels:  autonomous-driving, autonomous-vehicles
Rtm3d
Unofficial PyTorch implementation of "RTM3D: Real-time Monocular 3D Detection from Object Keypoints for Autonomous Driving" (ECCV 2020)
Stars: ✭ 211 (+38.82%)
Mutual labels:  autonomous-driving, autonomous-vehicles
pyMHT
Track oriented, multi target, multi hypothesis tracker
Stars: ✭ 66 (-56.58%)
Mutual labels:  autonomous-driving, autonomous-vehicles
Carma Platform
CARMA Platform is built on robot operating system (ROS) and utilizes open source software (OSS) that enables Cooperative Driving Automation (CDA) features to allow Automated Driving Systems to interact and cooperate with infrastructure and other vehicles through communication.
Stars: ✭ 243 (+59.87%)
Mutual labels:  autonomous-driving, autonomous-vehicles
JuliaAutonomy
Julia sample codes for Autonomy, Robotics and Self-Driving Algorithms.
Stars: ✭ 21 (-86.18%)
Mutual labels:  autonomous-driving, autonomous-vehicles
Pythonrobotics
Python sample codes for robotics algorithms.
Stars: ✭ 13,934 (+9067.11%)
Mutual labels:  autonomous-driving, autonomous-vehicles
Visualizing-lidar-data
Visualizing lidar data using Uber Autonomous Visualization System (AVS) and Jupyter Notebook Application
Stars: ✭ 75 (-50.66%)
Mutual labels:  autonomous-driving, autonomous-vehicles
dig-into-apollo
Apollo notes (Apollo学习笔记) - Apollo learning notes for beginners.
Stars: ✭ 1,786 (+1075%)
Mutual labels:  autonomous-driving, autonomous-vehicles
Awesome Self Driving Car
An awesome list of self-driving cars
Stars: ✭ 185 (+21.71%)
Mutual labels:  autonomous-driving, autonomous-vehicles
SelfDrivingRCCar
Autonomous RC Car using Neural Networks, Python and Open CV
Stars: ✭ 102 (-32.89%)
Mutual labels:  autonomous-driving, autonomous-vehicles
Apollo perception ros
Object detection / tracking / fusion based on Apollo r3.0.0 perception module in ROS
Stars: ✭ 179 (+17.76%)
Mutual labels:  autonomous-driving, autonomous-vehicles
autonomous-delivery-robot
Repository for Autonomous Delivery Robot project of IvLabs, VNIT
Stars: ✭ 65 (-57.24%)
Mutual labels:  autonomous-driving, autonomous-vehicles
Jetson Car
Autonomous Racing Car using NVIDIA Jetson TX2 using end-to-end driving approach. Paper: https://arxiv.org/abs/1604.07316
Stars: ✭ 172 (+13.16%)
Mutual labels:  autonomous-driving, autonomous-vehicles
loco car
Software for LOCO, our autonomous drifting RC car.
Stars: ✭ 44 (-71.05%)
Mutual labels:  autonomous-driving, autonomous-vehicles
Self Driving Golf Cart
Be Driven 🚘
Stars: ✭ 147 (-3.29%)
Mutual labels:  autonomous-driving, autonomous-vehicles
Autonomousdrivingcookbook
Scenarios, tutorials and demos for Autonomous Driving
Stars: ✭ 1,939 (+1175.66%)
Mutual labels:  autonomous-driving, autonomous-vehicles
glcapsnet
Global-Local Capsule Network (GLCapsNet) is a capsule-based architecture able to provide context-based eye fixation prediction for several autonomous driving scenarios, while offering interpretability both globally and locally.
Stars: ✭ 33 (-78.29%)
Mutual labels:  autonomous-driving, autonomous-vehicles
highway-path-planning
My path-planning pipeline to navigate a car safely around a virtual highway with other traffic.
Stars: ✭ 39 (-74.34%)
Mutual labels:  autonomous-driving, autonomous-vehicles

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

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. 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
awesome-vector-tiles
paperjs
best-javascript-drawing-libraries

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].