Giter Club home page Giter Club logo

mfnlc's Introduction

Neural Lyapunov Deep Reinforcement Learning

Code Repository of IROS 22' paper Model-free Neural Lyapunov Control for Safe Robot Navigation

ArXiv | Demos

demo.mp4

Project Structure

├── README.md
├── setup.py
└── shrl
    ├── config.py       # config file, including data path, default devices, ect. 
    ├── envs            # simulation environments
    ├── evaluation      # evaluation utils
    ├── exps            # experiment scripts
    ├── learn           # low-level controller and neural Lyapunov function learning algorithms
    ├── monitor         # high-level monitor
    ├── plan            # high-level planner, RRT & RRT*
    └── tests           # test cases

Install

  1. Install necessary dependencies.
pip install -e .
  1. Configure MuJoCo-py by following official README.
  2. (Optional) Download pretrained models (~35 MB)
bash download.sh

Quick Start

Two quick start examples:

  1. Co-learning low-level controller and neural Lyapunov function
    python exps/train/no_obstacle/lyapunov_td3/[robot-name].py

  2. Pre-compute monitor and evaluate
    python exps/hierachical/rrt_lyapunov/[robot-name].py

One can start tracing code from exps folder.

Bibtex

@inproceedings{Xiong2022ModelfreeNL,
  title={Model-free Neural Lyapunov Control for Safe Robot Navigation},
  author={Zikang Xiong and Joe Eappen and Ahmed H. Qureshi and Suresh Jagannathan},
  booktitle={2022 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)},
  year={2022},
}

mfnlc's People

Contributors

zikangxiong avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

toshj

mfnlc's Issues

Does the repo use its own safetygym files?

Hi, thanks for the big contribution in safeRL field. There was mentioned that this repo doesnt contain safety_gym repo(also readme doesnt mention anything about it). So i downloaded it manually, but i have noticed files in
https://github.com/ZikangXiong/MFNLC/tree/master/mfnlc/envs

This is a modification of files from safety_gym repo(such as engine.py). Should i use these files in SafetyGym instead original one? What type of modification was made in these files, is it related only to env render, or maybe somehow change the robot models?

some issues about render and training

Hi, first of all, thank you for the quality of your work, which has inspired me.

In my study of your code, I have encountered a few problems.

First, when I was testing my environment using test_envs.py, the test_render function in env.render() was working with the prompt "render() got an unexpected keyword argument ' follow'", when I delete follow, vertical, scale, it renders but the robot does not move. (gym=0.26, mujoco=2.10, mujoco_py=2.1.2.14). I don't know if you have encountered this or if you can provide me with the relevant package version so that I can solve this bug

Then, when I try to train using the code of the exps species, I get "/data/shrl/e2e/Nav/model.zip.zip'", which is probably because I didn't find the relevant file, I wonder if you could provide

Thanks a lot.

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.