Skip to content

Commit e2683d6

Browse files
author
Tim Stahl
committed
initial release
1 parent f9bcbe3 commit e2683d6

File tree

80 files changed

+12228
-1
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

80 files changed

+12228
-1
lines changed

.gitignore

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
# Prerequisites
2+
*.d
3+
# Compiled Object files
4+
*.slo
5+
*.lo
6+
*.o
7+
*.obj
8+
# Precompiled Headers
9+
*.gch
10+
*.pch
11+
# Compiled Dynamic libraries
12+
*.dylib
13+
*.dll
14+
# Fortran module files
15+
*.mod
16+
*.smod
17+
# Compiled Static libraries
18+
*.lai
19+
*.la
20+
*.a
21+
*.lib
22+
# Executables
23+
*.exe
24+
*.out
25+
*.app
26+
# Simulink code generation folders
27+
slprj/
28+
sccprj/
29+
# Simulink autosave extension
30+
*.autosave
31+
# Windows default autosave extension
32+
*.asv
33+
# build folder for automated making and testing
34+
/build/*
35+
!/build/Readme.md
36+
37+
# PyCharm and CLion ide files
38+
*.idea/*
39+
*__pycache__/
40+
*.pyc
41+
42+
# ROS stuff
43+
*.bag
44+
# Pickled Data files
45+
*.pckl
46+
47+
# logs folder
48+
/logs/*
49+
50+
# Specific files
51+
python_igraph-0\.7\.1\.post6-cp37-cp37m-win32\.whl
52+
testing_tools/zone_id\.csv
53+
54+
vp_qp/logs/
55+
venv/
56+
57+
# Package build folder
58+
*build/
59+
dist/
60+
graph_ltpl.egg-info/
61+
62+
# Sphinx code apidoc
63+
docs/source/software_imp/*

README.md

Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,43 @@
1-
# GraphBasedLocalTrajectoryPlanner
1+
# Graph-Based Local Trajectory Planner
2+
3+
![Title Picture Local Planner](docs/source/figures/Title.png)
4+
5+
The graph-based local trajectory planner is python-based and comes with open interfaces as well as debug, visualization
6+
and development tools. The local planner is designed in a way to return an action set (e.g. keep straight, pass left,
7+
pass right), where each action is the globally cost optimal solution for that task. If any of the action primitives is
8+
not feasible, it is not returned in the set. That way, one can either select available actions based on a priority list
9+
(e.g. try to pass if possible) or use an own dedicated behaviour planner.
10+
11+
The planner was used on a real race vehicle during the Roborace Season Alpha and achieved speeds above 200kph.
12+
A video of the performance at the Monteblanco track can be found [here](https://www.youtube.com/watch?v=-vqQBuTQhQw).
13+
14+
### Disclaimer
15+
This software is provided *as-is* and has not been subject to a certified safety validation. Autonomous Driving is a
16+
highly complex and dangerous task. In case you plan to use this software on a vehicle, it is by all means required that
17+
you assess the overall safety of your project as a whole. By no means is this software a replacement for a valid
18+
safety-concept. See the license for more details.
19+
20+
21+
### Documentation
22+
The documentation of the project can be found [here](https://graphbasedlocaltrajectoryplanner.readthedocs.io/).
23+
24+
25+
### Contributions
26+
[1] T. Stahl, A. Wischnewski, J. Betz, and M. Lienkamp,
27+
“Multilayer Graph-Based Trajectory Planning for Race Vehicles in Dynamic Scenarios,”
28+
in 2019 IEEE Intelligent Transportation Systems Conference (ITSC), Oct. 2019, pp. 3149–3154.\
29+
[(view pre-print)](https://arxiv.org/pdf/2005.08664>`)
30+
31+
Contact: [Tim Stahl](mailto:[email protected]).
32+
33+
If you find our work useful in your research, please consider citing:
34+
35+
```
36+
@inproceedings{stahl2019,
37+
title = {Multilayer Graph-Based Trajectory Planning for Race Vehicles in Dynamic Scenarios},
38+
booktitle = {2019 IEEE Intelligent Transportation Systems Conference (ITSC)},
39+
author = {Stahl, Tim and Wischnewski, Alexander and Betz, Johannes and Lienkamp, Markus},
40+
year = {2019},
41+
pages = {3149--3154}
42+
}
43+
```

docs/requirements.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
sphinx
2+
sphinx_rtd_theme
3+
sphinx_automodapi
4+
sphinxcontrib-apidoc

docs/source/conf.py

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
# Configuration file for the Sphinx documentation builder.
2+
#
3+
# This file only contains a selection of the most common options. For a full
4+
# list see the documentation:
5+
# https://www.sphinx-doc.org/en/master/usage/configuration.html
6+
7+
# -- Path setup --------------------------------------------------------------
8+
9+
# If extensions (or modules to document with autodoc) are in another directory,
10+
# add these directories to sys.path here. If the directory is relative to the
11+
# documentation root, use os.path.abspath to make it absolute, like shown here.
12+
#
13+
import os
14+
import sys
15+
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '../..')))
16+
sys.path.append(os.path.abspath('./graph_ltpl'))
17+
18+
# -- Project information -----------------------------------------------------
19+
20+
project = 'Graph-Based Local Trajectory Planner'
21+
copyright = '2020, Tim Stahl'
22+
author = 'Tim Stahl'
23+
24+
# The full version, including alpha/beta/rc tags
25+
release = '0.0.1'
26+
27+
28+
# -- General configuration ---------------------------------------------------
29+
30+
# Add any Sphinx extension module names here, as strings. They can be
31+
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
32+
# ones.
33+
extensions = [
34+
'sphinx.ext.autodoc',
35+
'sphinx_automodapi.automodapi',
36+
'sphinxcontrib.apidoc'
37+
]
38+
39+
autoclass_content = 'both'
40+
41+
# Add any paths that contain templates here, relative to this directory.
42+
templates_path = ['_templates']
43+
44+
# List of patterns, relative to source directory, that match files and
45+
# directories to ignore when looking for source files.
46+
# This pattern also affects html_static_path and html_extra_path.
47+
exclude_patterns = []
48+
49+
# set master document
50+
master_doc = 'index'
51+
52+
# -- Options for HTML output -------------------------------------------------
53+
54+
# The theme to use for HTML and HTML Help pages. See the documentation for
55+
# a list of builtin themes.
56+
#
57+
html_theme = 'sphinx_rtd_theme'
58+
# html_theme = 'classic'
59+
60+
# Add any paths that contain custom static files (such as style sheets) here,
61+
# relative to this directory. They are copied after the builtin static files,
62+
# so a file named "default.css" will overwrite the builtin "default.css".
63+
html_static_path = []
64+
65+
66+
# -- Build code documentation ------------------------------------------------
67+
apidoc_module_dir = '../../'
68+
apidoc_output_dir = 'software_imp'
69+
apidoc_excluded_paths = ['*setup*', '*_example*']
70+
apidoc_extra_args = ['-H', 'Code Documentation']
71+
apidoc_separate_modules = True
72+
73+
# EOF

docs/source/figures/Offline_Graph.png

207 KB
Loading
233 KB
Loading

docs/source/figures/Title.png

194 KB
Loading
244 KB
Loading

docs/source/figures/log_elements.png

792 KB
Loading
1.55 MB
Loading
1.05 MB
Loading
8.08 MB
Loading

docs/source/figures/mod_structure.png

92.1 KB
Loading

docs/source/figures/sw_scheme.pptx

644 KB
Binary file not shown.

docs/source/index.rst

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
.. Agent Simulation documentation master file, created by
2+
sphinx-quickstart on Thu May 28 14:28:26 2020.
3+
You can adapt this file completely to your liking, but it should at least
4+
contain the root `toctree` directive.
5+
6+
Graph-Based Local Trajectory Planner Documentation
7+
==========================================================================
8+
9+
.. image:: /figures/Title.png
10+
:alt: Trajectory Planner Title Image
11+
12+
13+
The graph-based local trajectory planner is python-based and comes with open interfaces as well as debug, visualization
14+
and development tools. The local planner is designed in a way to return an action set (e.g. keep straight, pass left,
15+
pass right), where each action is the globally cost optimal solution for that task. If any of the action primitives is
16+
not feasible, it is not returned in the set. That way, one can either select available actions based on a priority list
17+
(e.g. try to pass if possible) or use an own dedicated behaviour planner.
18+
19+
The planner was used on a real race vehicle during the Roborace Season Alpha and achieved speeds above 200kph.
20+
A video of the performance at the Monteblanco track can be found `here <https://youtu.be/-vqQBuTQhQw>`_.
21+
22+
.. warning::
23+
This software is provided *as-is* and has not been subject to a certified safety validation. Autonomous Driving is a
24+
highly complex and dangerous task. In case you plan to use this software on a vehicle, it is by all means required
25+
that you assess the overall safety of your project as a whole. By no means is this software a replacement for a valid
26+
safety-concept. See the license for more details.
27+
28+
.. toctree::
29+
:maxdepth: 2
30+
:caption: Contents:
31+
32+
start/main.rst
33+
software/main.rst
34+
software_imp/modules.rst
35+
36+
37+
Contributions
38+
=============================================================
39+
[1] T. Stahl, A. Wischnewski, J. Betz, and M. Lienkamp,
40+
“Multilayer Graph-Based Trajectory Planning for Race Vehicles in Dynamic Scenarios,”
41+
in 2019 IEEE Intelligent Transportation Systems Conference (ITSC), Oct. 2019, pp. 3149–3154.
42+
`(view pre-print) <https://arxiv.org/pdf/2005.08664>`_
43+
44+
If you find our work useful in your research, please consider citing:
45+
46+
.. code-block:: latex
47+
48+
@inproceedings{stahl2019,
49+
title = {Multilayer Graph-Based Trajectory Planning for Race Vehicles in Dynamic Scenarios},
50+
booktitle = {2019 IEEE Intelligent Transportation Systems Conference (ITSC)},
51+
author = {Stahl, Tim and Wischnewski, Alexander and Betz, Johannes and Lienkamp, Markus},
52+
year = {2019},
53+
pages = {3149--3154}
54+
}
55+
56+
Contact Information
57+
===================
58+
59+

0 commit comments

Comments
 (0)