ROS 2 HD Map Server for Automated Driving based on Lanelet2
The lanelet2_map_server node provides a common Lanelet2 map to other modules relying on a map, e.g., the lanelet2_route_planning. The map is loaded from a file and made available as a ROS parameter. For convenience, the lanelet2_map_interface library can be used to receive the map from the server and access it in other nodes. The lanelet2_rviz_display and lanelet2_lichtblick_display packages provide visualization of the map in RViz and Lichtblick, respectively.
🚀 Quick Start • 💻 Development • 📝 Documentation
Important
This repository is part of OpenADS, the Open Automated Driving Systems project. OpenADS and its modules have been initiated and are currently being maintained by the Institute for Automotive Engineering (ika) at RWTH Aachen University.
- Launch the
demo/docker-compose.ymlsetup. This will open RViz with a visualization of a Lanelet2 map. Thelanelet2_rviz_displayvisualizes the map, fetching it from thelanelet2_map_servervia thelanelet2_map_interface.cd demo xhost +local: # allow GUI forwarding from containers docker compose up -d
- Stop the demo and clean up.
docker compose down xhost -local: # revoke GUI forwarding permissions
- Clone the repository.
git clone https://github.com/openads-project/lanelet2_map_server.git
- Initialize the
.openads-dev-environmentsubmodule containing development environment configuration.cd lanelet2_map_server git submodule update --init --recursive - Open the repository in Visual Studio Code.
code . - Install the recommended VS Code extensions.
Ctrl+Shift+P / Extensions: Show Recommended Extensions / Install Workspace Recommended Extensions (Cloud Download Icon)
- Reopen the repository in a Dev Container.
Ctrl+Shift+P / Dev Containers: Rebuild and Reopen in Container
Ctrl+Shift+B
colcon buildCtrl+Shift+P / Tasks: Run Test Task
colcon build --cmake-args -DCMAKE_EXPORT_COMPILE_COMMANDS=1
colcon test
colcon test-result --verbosePackage and node interfaces are documented in the respective package READMEs listed below. Implementation details are found in the Source Code Documentation.
| Package | Description |
|---|---|
| lanelet2_lichtblick_display | Converts Lanelet2 maps to MarkerArrays for visualization in Lichtblick |
| lanelet2_map_interface | Library to receive Lanelet2 maps from lanelet2_map_server |
| lanelet2_map_server | Provides Lanelet2 maps to other modules |
| lanelet2_rviz_display | RViz plugin to visualize Lanelet2 maps |
The source code in this repository is licensed under Apache-2.0, see LICENSE. Container images provided by this repository may contain third-party software shipped with their own license terms.
An exception applies to the following files, which are licensed under BSD-3-Clause, see LICENSE.BSD-3-Clause: lanelet2_map_helpers.hpp, lanelet2_map_helpers.cpp.
Development and maintenance of this repository are supported by the following projects. We acknowledge the funding of the respective institutions.
| Project | Funding Institution | Grant Number |
|---|---|---|
| autotech.agil | 🇩🇪 Federal Ministry for Research, Technology and Space (BMFTR) | 01IS22088A |
| AIthena | 🇪🇺 European Union | 101076754 |
Funded by the European Union. Views and opinions expressed are however those of the author(s) only and do not necessarily reflect those of the European Union or the European Climate, Infrastructure and Environment Executive Agency (CINEA). Neither the European Union nor CINEA can be held responsible for them.

