Tutorial on High-Definition Map Generation for Automated Driving in Urban Environments
Abstract
:1. Introduction
2. Pointcloud Map
2.1. Laser Scanning
2.2. Mapping
2.3. Registration (Remapping)
button in the upper main toolbar or Rotate/Translate under the Edit menu. After the entry, the selected entities in the DB tree are locked and the new toolstrip appears on the upper right corner of the 3D view. Four buttons are lined up in the first row of the toolstrip: (from left to right) Pause, Undo, Save and exit, and Quit without saving. The pause button is used to temporarily move out and into the transformation mode to modify the camera pose. The Undo button is used to reverse the transformation performed previously. The latter two buttons are commonly used to quit the transformation mode, and they differ only in terms of whether the previous transformations are saved. A dropdown menu in the second row is used to select the axis of rotation. Three tickboxes in the third row are used to select the direction of translation. Initiate the alignment by selecting Rotation z and check Tx and Ty in the toolstrip to translate the pointclouds in the selected submaps along the x- and y-axes and rotate them about the z-axis. Next, the rotations about the x- and y-axes and associated translations are performed according to a road gradient. The mouse actions used for the remapping process are presented in Table 10. Repeatedly change the pose of the pointclouds while modifying the camera pose to enhance the alignment. Perform fine alignment in the same manner as the rough registration process, albeit by selecting one single local pointcloud map and aligning it with the global vector map. Repeat this process until the last submap is aligned, previously depicted as piece-by-piece stitching.
button in the upper main toolbar or Fine Registration (ICP) under the Tool menu. In the generated pop-up window, ensure that the following configuration is selected: aligned, submap_x and reference, B2_Surfacelinemark. This selection helps ensure that the local pointcloud map is aligned with reference to the global vector map. If not, click the swap button to reverse the maps. The default values of the parameters do not need to be altered, although the Final overlap must be decreased to 10%. As its name implies, the Final overlap specifies the actual percentage of overlap between the two pointclouds, and it functions as one of the convergence criteria. Click the OK button to execute the ICP. Although no minimum requirement for alignment accuracy exists, a root mean square error less than 0.5 can be considered acceptable. In the DB tree, .registered is appended to the name of a PCD file that has been aligned, e.g., submap_x.registered. The ICP is particularly helpful in performing alignment along the z-axis, which is considerably more challenging than alignment along the other axes. However, automatic alignment cannot always achieve superior results. The ICP may not function properly for the same reason as manual alignment. Fundamentally, the ICP is designed to iteratively minimize point-to-point distances between two pointclouds [13]. In the remapping process, the ICP selects the closest points as a correspondence and calculates the transformation matrix between the aligned (submap_x) and reference (B2_Surfacelinemark). However, owing to the large number of points in the pointcloud map, the corresponding points from the vector map are challenging to identify.
button in the upper main toolbar or Save under the File menu. Through these processes, the problems associated with the generated pointcloud map can be solved, and we obtained a pointcloud map that is sufficiently accurate and relative to a map frame.2.4. Validation
3. Vector Map
3.1. Preprocessing
3.2. Mapping
3.2.1. Load Lanes
3.2.2. Link Lanes (One-to-One)
3.2.3. Insert Lanes
3.2.4. Smooth Lanes
3.2.5. Link Lanes (One-to-Many)
3.2.6. Link Waypoints (Longitudinal)
3.2.7. Inspect Linkage
3.2.8. Link Waypoints (Lateral)
3.2.9. Split/Merge Lanes
3.2.10. Increase Action Cost
3.2.11. Decrease Maximum Speed
3.2.12. Set Road Boundary
3.2.13. Insert Stop Lines
3.2.14. Insert Traffic Signs
3.2.15. Insert Traffic Lights
3.3. Validation
4. Conclusions
Author Contributions
Funding
Conflicts of Interest
References
- Liu, R.; Wang, J.; Zhang, B. High definition map for automated driving: Overview and analysis. J. Navig. 2020, 73, 324–341. [Google Scholar] [CrossRef]
- Explanation and Guidance Materials of High-Definition Road Maps. Available online: https://www.ngii.go.kr/kor/contents/view.do?sq=1251&board_code=contents_data (accessed on 25 June 2022).
- Tsushima, F.; Kishimoto, N.; Okada, Y.; Che, W. Creation of high definition map for autonomous driving. Int. Arch. Photogramm. Remote Sens. Spat. Inf. Sci.—ISPRS Arch. 2020, 43, 415–420. [Google Scholar] [CrossRef]
- Operational Behavior of a High Definition Map Application White Paper. Available online: https://aecc.org/wp-content/uploads/2020/07/Operational_Behavior_of_a_High_Definition_Map_Application.pdf (accessed on 25 June 2022).
- Won, S.Y.; Jeon, Y.J.; Jeong, H.W.; Kwon, C.O. A comparison of Korea standard HD map for actual driving support of autonomous vehicles and analysis of application layers. KAGIS 2020, 23, 132–145. [Google Scholar]
- Choi, H.S.; Kim, J.D. A Comparative Study on the Regulation-Free Special Zone and the Regional Special Development Zone. J. Digit. Converg. 2019, 17, 31–36. [Google Scholar]
- Lee, M.H.; Jang, I.S.; Kim, M.S. A study on data model conversion method for the application of autonomous driving of various kinds of HD Map. J. Cadastre Land Inf. 2021, 51, 39–51. [Google Scholar]
- Darweesh, H.; Takeuchi, E.; Takeda, K. OpenPlanner 2.0: The Portable Open Source Planner for Autonomous Driving Applications. In Proceedings of the 2021 IEEE Intelligent Vehicles Symposium Workshops (IV Workshops), Nagoya, Japan, 11–17 July 2021. [Google Scholar]
- Behavior Signal Processing Laboratory at Nagoya University. Available online: https://sites.google.com/a/g.sp.m.is.nagoya-u.ac.jp/takedalab-en/home (accessed on 25 June 2022).
- Autoware—Mapping Using Rosbag. Available online: https://youtu.be/ss6Blrz23h8 (accessed on 25 June 2022).
- 3D High-Definition Map (Shape) Download. Available online: http://map.ngii.go.kr/ms/pblictn/preciseRoadMap.do (accessed on 25 June 2022).
- Usage of CloudCompare for Pointcloud Mapping. Available online: https://youtu.be/xFhbmgWyUEA (accessed on 25 June 2022).
- Magnusson, M.; Nuchter, A.; Lorken, C.; Lilienthal, A.J.; Hertzberg, J. Evaluation of 3D registration reliability and speed—A comparison of ICP and NDT. In Proceedings of the 2009 IEEE International Conference on Robotics and Automation (ICRA2009), Kobe, Japan, 12–17 May 2009. [Google Scholar]
- ASSURE Map Editor. Available online: https://github.com/hatem-darweesh/assuremappingtools/blob/master/docs/ASSURE%20Map%20Editor%20Documentation%200.6.pdf (accessed on 25 June 2022).
- Usage of ASSURE Map Editor for Vector Mapping. Available online: https://youtu.be/qBssNCAshTY (accessed on 25 June 2022).
- Darweesh, H.; Takeuchi, E.; Takeda, K.; Ninomiya, Y.; Sujiwo, A.; Morales, L.Y.; Akai, N.; Tomizawa, T.; Kato, S. Open source integrated planner for autonomous navigation in highly dynamic environments. JRM 2017, 29, 668–684. [Google Scholar] [CrossRef]
- OpenPlanner V1.5 How to Start. Available online: https://youtu.be/BS5nLtBsXPE (accessed on 25 June 2022).
- Dosovitskiy, A.; Ros, G.; Codevilla, F.; Lopez, A.; Koltun, V. CARLA: An open urban driving simulator. In Proceedings of the Conference on robot learning, Mountain View, CA, USA, 13–15 November 2017. [Google Scholar]
- Rong, G.; Shin, B.H.; Tabatabaee, H.; Lu, Q.; Lemke, S.; Možeiko, M.; Boise, E.; Uhm, G.; Gerow, M.; Mehta, S.; et al. Lgsvl simulator: A high fidelity simulator for autonomous driving. In Proceedings of the 2020 IEEE 23rd International conference on intelligent transportation systems (ITSC), Rhodes, Greece, 20–23 September 2020. [Google Scholar]
- Aparow, V.R.; Choudary, A.; Kulandaivelu, G.; Webster, T.; Dauwels, J.; de Boer, N. A comprehensive simulation platform for testing autonomous vehicles in 3D virtual environment. In Proceedings of the 2019 IEEE 5th International Conference on Mechatronics System and Robots (ICMSR), Singapore, 3–5 May 2019. [Google Scholar]
- Hong, C.J.; Aparow, V.R. System configuration of Human-in-the-loop Simulation for Level 3 Autonomous Vehicle using IPG CarMaker. In Proceedings of the 2021 IEEE International Conference on Internet of Things and Intelligence Systems (IoTaIS), Bandung, Indonesia, 23–24 November 2021. [Google Scholar]
- Dixit, S.; Montanaro, U.; Dianati, M.; Oxtoby, D.; Mizutani, T.; Mouzakitis, A.; Fallah, S. IEEE Trans. Intell. Transp. Syst. 2019, 21, 2310–2323. [Google Scholar] [CrossRef]
- Nalic, D.; Eichberger, A.; Hanzl, G.; Fellendorf, M.; Rogic, B. Development of a co-simulation framework for systematic generation of scenarios for testing and validation of automated driving systems. In Proceedings of the 2019 IEEE Intelligent Transportation Systems Conference (ITSC), Auckland, New Zealand, 27–30 October 2019. [Google Scholar]











| Year | Type | Dimension | Level | Accuracy |
|---|---|---|---|---|
| 1930 | Paper maps | 2D | Road | |
| 1990 | Digital maps | 2D | Road | 5–10 m |
| 2000 | Enhanced digital maps | 2D/3D | Road/Lane | 50 cm |
| 2010 | High-definition maps | 3D | Lane | 10–20 cm |
| Digital Maps | HD Maps | Notes | ||
|---|---|---|---|---|
| Survey method | Aerial imagery | Mobile mapping system | ||
| Dimensions | 2D | 3D | ||
| Accuracy | Horizontal | 3.5 m (0.7 m) | 0.25 m | 1:5k (1:1k) scale |
| Vertical | 1.67 m (0.33 m) | 0.25 m | ||
| Entities | Lane line | X | O | |
| Lane centerline | X | O | ||
| Lane boundary | O | O | ||
| Surface mark | X | O | ||
| Traffic sign | △ | O | Urban area, location only | |
| Traffic lights | X | O | ||
| Layer | Time Interval | Contents |
|---|---|---|
| Highly dynamic | Less than several seconds | Positions and states of pedestrians, vehicles, motorbikes, etc. |
| Transient dynamic | Less than several minutes | Positions and states of obstacles (illegally parked vehicles), local weather (unexpected heavy rain), etc. |
| Transient static | Less than several hours | Positions and states of road works, lane closures, broken-down vehicles, accident sites, etc. |
| Permanent static | A day or longer | Positions of lanes, traffic signs and lights, etc. |
| PSF | Advantages | Limitations |
|---|---|---|
| Aisan Vector Map | Successfully adopted by Autoware ROS package to read map data | Proprietary map format Not widely adopted |
| OpenDRIVE | Standardized by the ASAM system | Few tools to write map data |
| Lanelet2 with OSM XML | Easy to create using nodes as geometric primitives | Many OSM tools but few tools for Lanelet2 |
| NDS Open Lane Model | Standardized under the NDS association Directly used in production | Prohibitively expensive license |
| Analysis Target | Model | Manufacturer | Method | |
|---|---|---|---|---|
| Air | SO2 | T100 | Teledyne API | UV fluorescence |
| NO/NO2/NOX | T200 | Chemiluminescence | ||
| CO | T300 | Gas filter correlation | ||
| O3 | T360M | Mid-range gas filter correlation | ||
| CO2 | T400 | UV absorption | ||
| Dust | 11-D | GRIMM | Aerosol spectroscopy | |
| Road surface | In-house developed | UOK | Deep learning-enabled computer vision | |
| Entity Code_Name | Type | Description |
|---|---|---|
| A1_Node | Point | Points connecting lane centerline |
| A2_Link | Line | Lane centerline |
| A3_Drivewaysection | Polygon | Road facilities (tunnel, bridge, overpass, underpass, etc.) |
| A4_Subsidlarysection | Polygon | Roadside facilities (rest area) |
| A5_Parkinglot | Polygon | Parking lot as roadside facilities |
| B1_Safetysign | Point | Traffic signs (stop and give way, no entry, no parking, road work, roundabout, speed limit, wild animals, etc.) |
| B2_Surfacelinemark | Line | Line-shaped road surface marks (lane line, stop line, etc.) |
| B3_Surfacemark | Polygon | Polygon-shaped road surface marks (crosswalk, etc.) |
| C1_Trafficlight | Point | Traffic lights |
| C2_Kilopost | Point | Traffic sign indicating the distance from the starting point of the road |
| C3_Vehicleprotectionsafety | Line | Road facilities preventing vehicles from driving off the road |
| C4_Speedbump | Polygon | Speed bump |
| C5_Heightbarrier | Line | Road facilities deterring high vehicles from entering the underpass. |
| C6_Postpoint | Point | Poles of traffic signs and lights |
| Stage | Toolset | Input File Format | Output |
|---|---|---|---|
| Laser scanning | Autoware (LiDAR driver node) | Recorded pointcloud | |
| Mapping | Autoware (approximate_ ndt_mapping node) | ROSBAG | Aligned pointcloud on a local frame |
| Registration | Global Mapper CloudCompare | SHP, TXT PCD | Aligned pointcloud on a global frame |
| Validation | Autoware (ndt_matching node) | ROSBAG PCD | Pointcloud map applicable to localization |
| Loop | Road | Length | Lanes | Stop Lines | Traffic Lights | Crosswalks |
|---|---|---|---|---|---|---|
| Long | L1 | 399.8 m | 8 | 4 | 3 | 3 |
| L2 | 274.6 m | 4 | 4 | 1 | 3 | |
| L3 | 195.5 m | 4 | 4 | 4 | 2 | |
| Long/Short | LS | 442.7 m | 2 | 2 | 2 | 2 |
| Short | S1 | 86.8 m | 1 | 1 | 0 | 1 |
| S2 | 355.9 m | 3 | 0 | 0 | 0 | |
| S3 | 86.8 m | 1 | 1 | 0 | 1 |
| ndt_mapping | approximate_ndt_mapping | |
|---|---|---|
| Input | Scanned pointcloud | |
| Algorithm | Normal distributions transform | |
| Output | Larger single pointcloud | Smaller multiple pointclouds |
| Advantages | Can be more accurate | Can map a larger area Requires less computation and less memory |
| Limitations | Requires more computation to align the latest pointcloud with all previous pointclouds and more memory to store all the pointclouds | Might be less accurate |
| In the Transformation Mode | Out of the Transformation Mode | |
|---|---|---|
| Purpose | To modify the pose of pointclouds | To modify the camera pose |
| Left-click and hold | Rotation | Position |
| Right-click and hold | Translation | Orientation |
| Scroll up and down | Zoom in and out | |
| Stage | Toolset | Input File Format | Output |
|---|---|---|---|
| Preprocessing | Global Mapper MATLAB | SHP TXT | Processed lane centerlines (see Table 12 for more details) |
| Mapping | ASSURE | CSV PCD | Linked lanes and waypoints Adjusted action cost and max speed Fixed boundary Linked stop line, traffic signs and lights |
| Validation | Autoware (multiple ROS nodes in OpenPlanner) | KML KML.PROJ.DAT | Vector map applicable to path-planning |
| A2_Link | Requirements |
|---|---|
| Consists of only two points at both ends | Several equally spaced points that can serve as waypoints in a global path |
| Points are represented only by their position | Plus the orientation between adjacent points, target speed assigned onto each point |
| Points are only ordered within a segment and unordered among different segments. With multiple segments per file (one single SHP file), points are unordered within a file. | With one file per segment (multiple CSV files), points are ordered within a file. |
| Only available on the road | At the intersection |
| Covers the entire area | Can select only the area in need |
| Relative to the world frame (UTM52N) | The map frame |
| Function | Input | Output File Format |
|---|---|---|
| Create | From scratch | KML (OpenPlanner) KML (Google Earth) OSM (Lanelet2) |
| CSV | ||
| Guided by PCD | ||
| Import and edit | KML (OpenPlanner) | |
| OSM (Lanelet2) | ||
| XORD (OpenDRIVE) | ||
| CSV (Aisan Vector Map) | ||
| Merge | Multiple KMLs | One single KML |
| Module | ROS Node | Main Input | Main Output (ROS Topic) |
|---|---|---|---|
| Path planning (Global planner) | op_global_planner | Start pose Goal poses Vector map | Global path (/lane_waypoints_array) |
| Path planning (Local planner) | op_common_params | Common parameters for the local planner | |
| op_trajectory_generator | Global path | Local trajectories (/local_trajectories) | |
| Detection | lidar_kf_contour_tracker | Detected objects | Tracked objects (/tracked_objects) |
| Path planning (Local planner) | op_motion_predictor | Tracked objects | Predicted objects (/predicted_objects) |
| op_trajectory_evaluator | Local trajectories Predicted objects | Best local trajectory (/local_weighted_trajectories) Local trajectory cost (/local_trajectory_cost) | |
| Path planning (Behavior planner) | op_behavior_selector | Best local trajectory Local trajectory cost | Behavior states (/op_current_behavior) Final waypoints (/final_waypoints) |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Jeong, J.; Yoon, J.Y.; Lee, H.; Darweesh, H.; Sung, W. Tutorial on High-Definition Map Generation for Automated Driving in Urban Environments. Sensors 2022, 22, 7056. https://doi.org/10.3390/s22187056
Jeong J, Yoon JY, Lee H, Darweesh H, Sung W. Tutorial on High-Definition Map Generation for Automated Driving in Urban Environments. Sensors. 2022; 22(18):7056. https://doi.org/10.3390/s22187056
Chicago/Turabian StyleJeong, Jinseop, Jun Yong Yoon, Hwanhong Lee, Hatem Darweesh, and Woosuk Sung. 2022. "Tutorial on High-Definition Map Generation for Automated Driving in Urban Environments" Sensors 22, no. 18: 7056. https://doi.org/10.3390/s22187056
APA StyleJeong, J., Yoon, J. Y., Lee, H., Darweesh, H., & Sung, W. (2022). Tutorial on High-Definition Map Generation for Automated Driving in Urban Environments. Sensors, 22(18), 7056. https://doi.org/10.3390/s22187056
