Skip to content

TUM-AVS/OcclusionAwareMotionPlanning

Repository files navigation

Linux Python 3.11 Python 3.10 GPLv3 license

Frenetix Occlusion Aware Motion Planner

Welcome to the Frenetix - Occlusion Aware Motion Planner!

Scenario at the initial timestep Scenario at later timestep

This repository builds upon the Frenet trajectory planning algorithm provided by Frenetix and extends it with pedestrian-aware motion planning capabilities. It introduces enhancements to integrate pedestrian interactions directly into the planning process, aiming to improve trajectory safety and efficiency in scenarios with vulnerable road users.


🖥️ Framework

Click to expand

The Frenetix - Occlusion Aware Motion Planner is a modular framework that combines the Frenetix trajectory planning algorithm with occlusion-aware motion planning. The framework is designed to provide a comprehensive solution for motion planning in complex, occluded urban environments. It integrates the following key components:

Scenario at the initial timestep

🔧 Requirements & Pre-installation Steps

Click to expand

Requirements

The software is developed and tested on recent versions of Linux. We strongly recommend using Ubuntu 22.04 or higher. For the Python installation, we suggest the usage of Virtual Environment with Python 3.12, Python 3.11, or Python 3.10. For the development IDE, we suggest PyCharm.

1. Pre-installation Steps

Make sure that the following dependencies are installed on your system for the C++ implementation:

  • Eigen3:
    sudo apt-get install libeigen3-dev
  • Boost:
    sudo apt-get install libboost-all-dev
  • OpenMP:
    sudo apt-get install libomp-dev
  • Python Development Tools:
    sudo apt-get install python3.11-full python3.11-dev

2. Clone this repository and create a new virtual environment:

git clone <repository-url>
cd <repository-folder>
python3.11 -m venv venv
source venv/bin/activate

3. Install all required packages

Installation with pip

Alternatively, you can install the project's requirements using pip:

pip install .

Frenetix should be installed automatically. If not, please contact Korbinian Moller.

4. Optional: Download additional scenarios here.


🚀 Frenetix-Motion-Planner Step-by-Step Manual

Click to expand
  1. Do the Requirements & Pre-installation Steps.

  2. Change Settings in main.py if needed. Note that not all configuration combinations may work.

  3. Adapt configurations if needed: You can find them in configurations/frenetix_motion_planner and configurations/simulation.

  4. Run Frenetix - Occlusion Aware Motion Planner:

    python3 main.py
  5. Change occlusion aware motion planning settings in configurations/simulation/occlusion if needed


🎮 Demonstration

Click to expand

You probably have to reopen the Readme to see the gifs.

Simulated Scenario using the OAM Planner

📈 Test Data

Click to expand

Additional scenarios can be found here.


🔧 Modules

Click to expand

Detailed documentation of the functionality behind the single modules can be found below:

  1. General Planning Algorithm
  2. Frenetix C++ Trajectory Handler
  3. Pedestrian Simulator
  4. Commonroad Scenario Handler
  5. Wale-Net
  6. Risk-Assessment

📇 Contact Info

Click to expand

Korbinian Moller, Professorship Autonomous Vehicle Systems, School of Engineering and Design, Technical University of Munich, 85748 Garching, Germany

Johannes Betz, Professorship Autonomous Vehicle Systems, School of Engineering and Design, Technical University of Munich, 85748 Garching, Germany


📃 Citation

Click to expand

If you use this repository in your research, please cite our related papers:

Occlusion Aware Motion Planning

t.b.d

Frenetix Motion Planner

@ARTICLE{Frenetix2024,
  author={Trauth, Rainer and Moller, Korbinian and Würsching, Gerald and Betz, Johannes},
  journal={IEEE Access}, 
  title={FRENETIX: A High-Performance and Modular Motion Planning Framework for Autonomous Driving}, 
  year={2024},
  volume={12},
  number={},
  pages={127426-127439},
  keywords={Trajectory;Planning;Trajectory planning;Heuristic algorithms;Vehicle dynamics;Autonomous vehicles;Machine learning algorithms;Collision avoidance;Autonomous vehicles;collision avoidance;trajectory planning},
  doi={10.1109/ACCESS.2024.3436835}}

👥 Code Contributors

Click to expand

Pedestrian Aware Motion Planning

Korbinian Moller
Luis Schwarzmeier

Framework & Frenetix

Rainer Trauth
Korbinian Moller
Marc kaufeld

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages