Benchmark suite for local planner in dynamic environments. Multiple planners can be compared on different kinematic chains in different environment. The suite is highly extendable for new planners, robots and environments.
Project description
Local Motion Planning Benchmark Suite
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.
Screenshots
Trajectory planar arm | Trajectory point robot | Simulation panda arm |
Evaluation of series |
Getting started
This is the guide to quickly get going with the local motion planning benchmark suite.
Pre-requisites
- 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
Installation
You first have to download the repository
git clone git@github.com:maxspahn/localPlannerBench.git
Then, you can install the package using pip as:
pip3 install .
Optional: Installation with poetry
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
Tutorial
Simple
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
Advanced
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file plannerbenchmark-1.1.1.tar.gz
.
File metadata
- Download URL: plannerbenchmark-1.1.1.tar.gz
- Upload date:
- Size: 7.9 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.3.1 CPython/3.8.10 Linux/5.15.0-67-generic
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4d9f8e5da466481eb1be8f1601eb711eecd1ba80c2d2915cde2446dde46d5d60 |
|
MD5 | a04fd377719aede52d15e3bf1a3c8baa |
|
BLAKE2b-256 | 4e2ab458b9dbaea613ffb3b7ac12ec374498206bb1e01e9746d69b082851df82 |
File details
Details for the file plannerbenchmark-1.1.1-py3-none-any.whl
.
File metadata
- Download URL: plannerbenchmark-1.1.1-py3-none-any.whl
- Upload date:
- Size: 8.0 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.3.1 CPython/3.8.10 Linux/5.15.0-67-generic
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5670f2506360c2cc5df573cbf4f2b7d1bf74e9b525433c3855562fd90ce15bec |
|
MD5 | 67df5c6aa098182b2dde281813ab5f5e |
|
BLAKE2b-256 | abd54b21e7df8890760fd4febdc4095e92400f0109a55a5276259580c01a678c |