ROS 2 Route Planning for Automated Driving based on Lanelet2
The lanelet2_route_planning node plans a (shortest path) route to a destination based on Lanelet2 map. It runs a ROS action server that accepts a destination, plans a route, and continuously publishes feedback on the route progress to the action client. The plan_route_action_client node can be used alongside as a standard action client, e.g., by listening to goal poses published from RViz. The suggested way of interactively planning routes is to use the PlanRouteTool RViz tool plugin.
🚀 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.cd demo xhost +local: # allow GUI forwarding from containers docker compose up -d
- Select the Plan Route tool in RViz and click on a destination on the map to plan a route, which will be visualized as a green line.
- 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_route_planning.git
- Initialize the
.openads-dev-environmentsubmodule containing development environment configuration.cd lanelet2_route_planning 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_route_planning | Plans a route on a Lanelet2 map |
| plan_route_action_client | Action client to plan a route_planning_msgs/action/Route based on clicked RViz poses or other inputs |
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.
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 |
|---|---|---|
| 6GEM+ | 🇩🇪 Federal Ministry for Research, Technology and Space (BMFTR) | 16KIS2409K |
| 6GEM | 🇩🇪 Federal Ministry for Research, Technology and Space (BMFTR) | 16KISK036K |
| 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.

