- Prioritized Motion Planning for Connected Vehicles
- Demonstration
- Setup
- Experiments
- References
- Acknowledgements
10-road.mov
The following setup instructions are intended for Ubuntu 18.04. You can find more detailed information on the setup in Ubuntu 18.04 and other OSs with the link at the end of this section.
Install MATLAB R2023a with the following toolboxes:
- Matlab Coder
- Parallel Computing Toolbox
- Statistics and Machine Learning Toolbox
- ROS Toolbox
Vehicles communicate using the MATLAB ROS toolbox. Their custom messages are compiled with the MATLAB built-in function ros2genmsg()
, for which you must have Python and a C++ compiler for your platform (ROS Toolbox Requirements).
For MATLAB R2023a
- Python
- Install Python 3.8
sudo apt install python3.8 python3.8-venv python3.8-dev
- Setup Python in the MATLAB command window:
pyenv(Version="3.8")
- If Matlab cannot find Python, try:
pyenv(Version=/usr/bin/python3.8)
- Install Python 3.8
- C++ compiler
- Install GCC and G++ Version 7.x+
sudo apt install gcc-7 g++-7
- Set them as the default compiler
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 70 --slave /usr/bin/g++ g++ /usr/bin/g++-7
- Setup the compiler in the MATLAB command window:
mex -setup
- Install GCC and G++ Version 7.x+
More detailed information including troubleshooting can be found here.
- Execute startup.m to open the project
- Compilation of priority_queue should succeed
- Execute main.m to run an experiment
- Select the environment "Simulation"
- Select the control strategy "prioritized"
- Push the "Start" button to start the experiment
- Options that do not work in this setup are:
- Environments: CPM Lab
More detailed information including lab experiments can be found here.
Please refer to the respective publication if you are using it for your work. Thank you very much!
P. Scheffe, "Prioritized Motion Planning for Connected Vehicles", to be published.
Checkout the the software version 8.0. The results of the publication can be reproduced by running
open graph_based_planning.prj
eval_phd()
The simulation results are produced in the CPM Lab on 20 Intel NUCs. The results can partly be reproduced on a single computer by changing computation_mode = ComputationMode.parallel_physically
to computation_mode = ComputationMode.parallel_threads
.
The results are saved in the folder "results".
P. Scheffe, J. Kahle and B. Alrifaee, "Simultaneous Computation of Multiple Prioritizations in Distributed MPC", arXiv preprint arXiv:2501.10781.
Checkout the the software version 7.0. The results of the publication can be reproduced by running
open graph_based_planning.prj
eval_exploration()
The simulation results are produced in the CPM Lab on 20 Intel NUCs. The results can partly be reproduced on a single computer by changing computation_mode = ComputationMode.parallel_physically
to computation_mode = ComputationMode.parallel_threads
.
The results are saved in the folder "results".
P. Scheffe, J. Kahle and B. Alrifaee, "Graph Coloring to Reduce Computation Time in Prioritized Planning", arXiv preprint arXiv:2501.10812.
Checkout the the software version 7.0. The results of the publication can be reproduced by running
open graph_based_planning.prj
eval_coloring_paper()
The results are saved in the folder "results".
P. Scheffe, J. Xu and B. Alrifaee, "Limiting Computation Levels in Prioritized Trajectory Planning with Safety Guarantees", 2024 European Control Conference (ECC), Stockholm, Sweden, 2024, doi: 10.23919/ECC64448.2024.10591179.
Checkout the the software version 5.0. The results of the publication can be reproduced by running
open graph_based_planning.prj
eval_parallel_computation_prediction_inconsistency()
eval_parallel_computation_CLs()
The results are saved in the folder "results".
Scheffe, P., Pedrosa, M.V.A., Flaßkamp, K., Alrifaee, B. (2024). Prioritized Trajectory Planning for Networked Vehicles Using Motion Primitives. In: Stiller, C., Althoff, M., Burger, C., Deml, B., Eckstein, L., Flemisch, F. (eds) Cooperatively Interacting Vehicles. Springer, Cham. https://doi.org/10.1007/978-3-031-60494-2_9
Checkout the the software version 3.0. The results of the publication can be reproduced by running
open graph_based_planning.prj
spp_book()
The results are saved in the folder "results".
P. Scheffe and B. Alrifaee, "A Scaled Experiment Platform to Study Interactions Between Humans and CAVs", 2023 IEEE Intelligent Vehicles Symposium (IV), Anchorage, AK, USA, 2023, doi: 10.1109/IV55152.2023.10186623.
This paper has won the Young Research Award of ITSS Germany 2023.
Checkout the the software version 2.0. The results of the publication can be reproduced by running
hdv_reachable_set_experiment()
The results are saved in the folder "results".
P. Scheffe, M. V. A. Pedrosa, K. Flaßkamp and B. Alrifaee, "Receding Horizon Control Using Graph Search for Multi-Agent Trajectory Planning", in IEEE Transactions on Control Systems Technology, 2022, doi: 10.1109/TCST.2022.3214718.
Checkout the the software version 1.0. The results of the publication can be reproduced by running
eval_rhgs()
The results are saved in the folder "results".
P. Scheffe, G. Dorndorf, and B. Alrifaee, “Increasing Feasibility with Dynamic Priority Assignment in Distributed Trajectory Planning for Road Vehicles”, in IEEE International Conference on Intelligent Transportation Systems (ITSC), 2022, pp. 3873–3879. doi: 10.1109/ITSC55140.2022.9922028.
The code is implemented in the CPM Lab software repository. The High Level Controller is implemented in C++ and is named "dynamic_priorities".
References in Bibtex format
@incollection{scheffe2024prioritized,
author = "Scheffe, Patrick and Pedrosa, Matheus V. A. and Fla{\ss}kamp, Kathrin and Alrifaee, Bassam",
editor = "Stiller, Christoph and Althoff, Matthias and Burger, Christoph and Deml, Barbara and Eckstein, Lutz and Flemisch, Frank",
title = "Prioritized Trajectory Planning for Networked Vehicles Using Motion Primitives",
bookTitle = "Cooperatively Interacting Vehicles: Methods and Effects of Automated Cooperation in Traffic",
year = "2024",
publisher = "Springer International Publishing",
address = "Cham",
pages = "253--275",
isbn = "978-3-031-60494-2",
doi = "10.1007/978-3-031-60494-2_9",
}
@inproceedings{scheffe2024limiting,
author = {Scheffe, Patrick and Xu, Jianye and Alrifaee, Bassam},
booktitle= {2024 European Control Conference (ECC)},
title = {Limiting Computation Levels in Prioritized Trajectory Planning with Safety Guarantees},
year = {2024},
volume = {},
number = {},
pages = {297-304},
keywords = {Couplings;Limiting;Trajectory planning;Computational modeling;Europe;Real-time systems;Planning},
doi = {10.23919/ECC64448.2024.10591179}
}
@inproceedings{scheffe2023scaled,
title = {A Scaled Experiment Platform to Study Interactions Between Humans and CAVs},
author = {Patrick Scheffe and Bassam Alrifaee},
booktitle = {IEEE Intelligent Vehicles Symposium (IV)},
year = {2023}
pages = {1--6},
doi = {10.1109/IV55152.2023.10186623}
}
@article{scheffe2022receding,
author = {Patrick Scheffe and Matheus Vitor de Andrade Pedrosa and Kathrin Flaßkamp and Bassam Alrifaee},
journal = {IEEE Transactions on Control Systems Technology},
title = {Receding Horizon Control Using Graph Search for Multi-Agent Trajectory Planning},
year = {2022},
volume = {},
number = {},
pages = {1-14},
doi = {10.1109/TCST.2022.3214718}
}
@inproceedings{scheffe2022increasing,
title = {Increasing {{Feasibility}} with {{Dynamic Priority Assignment}} in {{Distributed Trajectory Planning}} for {{Road Vehicles}}},
booktitle = {{{IEEE International Conference}} on {{Intelligent Transportation Systems}} ({{ITSC}})},
author = {Scheffe, Patrick and Dorndorf, Georg and Alrifaee, Bassam},
year = {2022},
pages = {3873--3879},
doi = {10.1109/ITSC55140.2022.9922028}
}
This research is supported by the Deutsche Forschungsgemeinschaft (German Research Foundation) within the Priority Program SPP 1835 "Cooperative Interacting Automobiles" (grant number: KO 1430/17-1).