StanfordASL / mantrap

Leveraging Neural Network Gradients within Trajectory Optimization for Proactive Human-Robot Interactions

Home Page:https://simon-schaefer.github.io/mantrap/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

https://travis-ci.com/simon-schaefer/mantrap.svg?branch=master

mantrap

Minimal interferring Interactive Risk-aware Planning for multimodal and time-evolving obstacle behaviour

Description

Planning safe human-robot interaction is a necessary towards the widespread integration of autonomous systems in the society. However, while instinctive to humans, socially compliant navigation is still difficult to quantify due to the stochasticity in people’s behaviors. Previous approaches have either strongly simplified the multimodal and time-varying behaviour of humans, applied hardly tractable methods lacking safety guarantees or were simply not computationally feasible. Therefore the goal of this work to develop a risk-aware planning methodology with special regards on minimizing the interaction between human and robot and taking account the actual multi-modality and time-evolving nature of the humans behaviour, based on the Trajectron model (Ivanovic 19).

Documentation: https://simon-schaefer.github.io/mantrap/

Installation

For installation clone the repository including it's submodules:

git clone --recurse-submodules --remote-submodules https://github.com/simon-schaefer/mantrap.git

Next create a virtual environment for Python 3 and install all package requirements by running

conda create --name mantrap python=3.6 -y
source activate mantrap
source ops/setup.bash

Afterwards install the NLP-solver IPOPT and it's python wrapper which is called cyipopt:

bash third_party/Ipopt/install.bash

In order to ensure a working Trajectron model the branch online_with_torch has to be checkout.

Evaluation

The evaluation of mantrap is grounded on real-world pedestrian behaviour datasets. While the ETH Pedestrian datasets and some custom scenarios already have been integrated, other datasets can be easily added using the mantrap_evaluation dataset API; for more information regarding this please read mantrap_evaluation/datasets/README.

Documentation

For code documentation the Sphinx engine has been used. For building the documentation locally setup the project and run make github in the documentation folder. Then open the documentation by opening the index.html file in the resulting documentation build directory.

Running in optimized mode

Running python in optimized mode let's skip all assert statements and sets the logging level to warning in order to save runtime.

python3 -O evaluation.py

About

Leveraging Neural Network Gradients within Trajectory Optimization for Proactive Human-Robot Interactions

https://simon-schaefer.github.io/mantrap/

License:MIT License


Languages

Language:Python 62.2%Language:TeX 37.6%Language:Shell 0.1%Language:Makefile 0.1%