Giter Site home page Giter Site logo

xuwangxw / hierarchies-of-planning-and-reinforcement-learning-for-robot-navigation Goto Github PK

View Code? Open in Web Editor NEW

This project forked from boschresearch/hierarchies-of-planning-and-reinforcement-learning-for-robot-navigation

0.0 0.0 0.0 100 KB

License: GNU Affero General Public License v3.0

Python 100.00%

hierarchies-of-planning-and-reinforcement-learning-for-robot-navigation's Introduction

Hierarchies-of-Planning-and-Reinforcement-Learning-for-Robot-Navigation

This is the official code, implemented by Jan Wöhlke, accompanying the ICRA 2021 paper Hierarchies of Planning and Reinforcement Learning for Robot Navigation by Jan Wöhlke, Felix Schmitt, and Herke van Hoof. The paper can be found here. The code allows the users to reproduce and extend the results reported in the paper. Please cite the above paper when reporting, reproducing or extending the results:

@inproceedings{woehlke2021hierarchies,
title = {Hierarchies of Planning and Reinforcement Learning for Robot Navigation},
author = {Jan W{\"o}hlke and Felix Schmitt and van Hoof, Herke},
year = {2021},
booktitle = {IEEE International Conference on Robotics and Automation}
}

Purpose of the project

This software is a research prototype, solely developed for and published as part of the publication cited above. It will neither be maintained nor monitored in any way.

Requirements, how to build, test, install, use, etc.

Place the folder code where you want to execute the code.

Add the path of the folder code to your $PYTHONPATH environment variable.

Simple Point-Mass Navigation

You need a Python set-up with the following packages:

  • python>=3.7.6
  • numpy>=1.18.1
  • scipy>=1.4.1
  • torch==1.3.1

For the "Four Rooms" simple point-mass navigation experiments in Section V.C. / Figure 4 a) and b) in the paper you find the start scripts here:

Without "terrain":

With "terrain":

Run the scripts with: python [scriptname] --seed=[seed option]

There are different seed options to run the number random seeds used for the respective experiment:

  • "s1" to "s10" : run an individual random seed
  • not specified / other: run all ten seeds in sequence

Robotic Maze Navigation

You need to have Mujoco (version 2.0 - mujoco/200) installed and have a valid license key for it.

You need to install the following additional Python packages:

The start scripts for the experiments in Section V.D. / Figure 4 c) can be found here:

Before running the scripts, you need to fill the folder path of the assets folder, where the ant.xml file is located, of your gym installation as the mj_ant_path (where it says 'TO_BE_ENTERED' in the respective script).

Note that during execution the ant.xml will be modified constantly. In case the program does not terminate properly, it might remain in a modified state and needs to be restored from the generated ant_copy.xml file, in order to obtain correct results in subsequent simulations.

Run the scripts with: python [scriptname] --seed=[seed option]

There are different seed options to run the number random seeds used for the respective experiment:

  • "s1" to "s10" : run an individual random seed
  • not specified: run all ten seeds in sequence

Non-Holonomic Vehicle Parking

You need to install the following additional Python packages:

The start scripts for the experiments in Section V.E. / Figure 5 can be found here:

Run the scripts with: python [scriptname] --seed=[seed option]

There are different seed options to run the number random seeds used for the respective experiment:

  • "s1" to "s10" : run an individual random seed
  • not specified: run all ten seeds in sequence

RESULTS

Plot the test goal reaching probabilities in the "results_ ..." files of all the random seeds of the respective experiment of interest as mean +- standard error to arrive at the curves shown in the paper.

License

Hierarchies-of-Planning-and-Reinforcement-Learning-for-Robot-Navigation is open-sourced under the AGPL-3.0 license. See the LICENSE file for details.

For a list of other open source components included in Hierarchies-of-Planning-and-Reinforcement-Learning-for-Robot-Navigation, see the file 3rd-party-licenses.txt.

hierarchies-of-planning-and-reinforcement-learning-for-robot-navigation's People

Contributors

jwoehlke avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.