Skip to content

Repository files navigation

lanelet2_route_planning


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.

🚀 Quick Start

Teaser Image

  1. Launch the demo/docker-compose.yml setup. This will open RViz with a visualization of a Lanelet2 map.
    cd demo
    xhost +local: # allow GUI forwarding from containers
    docker compose up -d
  2. 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.
  3. Stop the demo and clean up.
    docker compose down
    xhost -local: # revoke GUI forwarding permissions

💻 Development

Set up Development Environment

  1. Clone the repository.
    git clone https://github.com/openads-project/lanelet2_route_planning.git
  2. Initialize the .openads-dev-environment submodule containing development environment configuration.
    cd lanelet2_route_planning
    git submodule update --init --recursive
  3. Open the repository in Visual Studio Code.
    code .
  4. Install the recommended VS Code extensions.

    Ctrl+Shift+P / Extensions: Show Recommended Extensions / Install Workspace Recommended Extensions (Cloud Download Icon)

  5. Reopen the repository in a Dev Container.

    Ctrl+Shift+P / Dev Containers: Rebuild and Reopen in Container

Build

Ctrl+Shift+B

colcon build

Run Tests

Ctrl+Shift+P / Tasks: Run Test Task

colcon build --cmake-args -DCMAKE_EXPORT_COMPILE_COMMANDS=1
colcon test
colcon test-result --verbose

📝 Documentation

Package 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

⚖️ Licensing

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.

🙏 Acknowledgements

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.

About

ROS 2 Route Planning for Automated Driving based on Lanelet2

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages