This repository is meant to allow quick comparison between different local motion planning algorithms. Running and postprocessing is available and we aim to offer a nice interface to implement a wrapper to your own motion planner.
Trajectory planar arm | Trajectory point robot | Simulation panda arm |
Evaluation of series |
This is the guide to quickly get going with the local motion planning benchmark suite.
- Linux Ubuntu LTS >= 18.04
- Python >3.6, < 3.10
- pip3
- gnuplot (
sudo apt install gnuplot
) - [Optional] poetry
- [Optional] embotech forces pro for mpc
- [Optional] acados_template for mpc
You first have to download the repository
git clone [email protected]:maxspahn/localPlannerBench.git
Then, you can install the package using pip as:
pip3 install .
If you want to use poetry, you have
to install it first. See their webpage for instructions
docs. Once poetry is installed, you
can install the virtual environment with the following commands. Note
that during the first installation poetry update
takes up to 300 secs.
poetry update
poetry install
The virtual environment is entered by
poetry shell
The following is a very simple example case containing a point mass robot and a PD planner.
Run an experiments:
Experiments should be added in separate folder in examples
. One
very simple example can be found in this folder. Note that you need to
active your poetry shell if you have installed the package using poetry
by
poetry shell
Or alternatively active your virtual python environment
Then you navigate there by
cd examples/point_robot
Then the experiment is run with the command line interface
runner -c setup/exp.yaml -p setup/pdplanner.yaml --render
Postprocessing:
The experiments can be postprocessed using the provide executable. Again make sure you are in the virtual environment, when
using poetry run:
(poetry shell
)
cd examples/point_robot
The you can run the post processor with arguments as
post_process --exp path/to/experiment -k time2Goal pathLength --plot
To showcase the power of localPlannerBench we would also like to show you a more complex example, containing the 7-DoF frankaemika panda robot arm and a custom opensource acados based MPC planner.
Again make sure you are in your virtual python environment.
poetry shell
Install acados_template inside of the virtual environment if you haven't already.
Then you navigate to
cd examples/panda_arm
Then the experiment is run with the command line interface
runner -c setup/exp.yaml -p setup/acados_mpc.yaml --render
The you can run the post processor with arguments as
post_process --exp results --latest -k time2Goal pathLength --plot