Giter Club home page Giter Club logo

walk_in_the_park's Introduction

A Walk in the Park

Code to replicate A Walk in the Park: Learning to Walk in 20 Minutes With Model-Free Reinforcement Learning, which contains code for training a simulated or real A1 quadrupedal robot to walk. Project page: https://sites.google.com/berkeley.edu/walk-in-the-park

Installation

Install dependencies:

pip install -r requirements.txt

To install the robot SDK, first install the dependencies in the README.md

To build, run:

cd real/third_party/unitree_legged_sdk
mkdir build
cd build
cmake ..
make

Finally, copy the built robot_interface.XXX.so file to this directory.

Training

Example command to run simulated training:

MUJOCO_GL=egl XLA_PYTHON_CLIENT_PREALLOCATE=false python train_online.py --env_name=A1Run-v0 \
                --utd_ratio=20 \
                --start_training=1000 \
                --max_steps=100000 \
                --config=configs/droq_config.py

To run training on the real robot, add --real_robot=True

walk_in_the_park's People

Contributors

araffin avatar ikostrikov2 avatar lauramsmith avatar

Stargazers

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

Watchers

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

walk_in_the_park's Issues

Trying to reproduce the results but failing, unfortunately.

I have been working for a few weeks trying to adapt your technique to a RL algorithm I've been developing. Nothing fancy, I was already in the process of testing techniques on a simple algorithm trying to do exactly what your paper claims, to speed up training time. I've examined the paper inside and out, and the code and examined REDQ and its code, and the DROQ paper. So I believe that I understand what's going on, but I must be doing something wrong because I only see a marginal increase in performance w/ my algorithm.
Trouble is I see a huge increase in update time and it's leading me to wonder if I've implemented this correctly. In fact I had to push the model updates outside of step to make it feasible to train the model. The model attempts to learn to play the old Nintendo Entertainment System or NES game, bubble bobble. I find it takes about half an hour for it to get marginally better and based on my experiments I actually have no clue how long it takes to become adept @ the game.
Idk if I should've tried emailing this to you, but I have a github repository setup for this if you'd be able to look it over and give me some pointers, I'd really appreciate it. It also explains in far more detail what I've done to make this work @ the level it currently is, which is the best I've been able to make it. If not that's alright, thank you for taking the time to read this, the repo is called, Shikamaru5/LNDQ-bubble_bot and I have made sure to try and include the credit in the repo so that others understand your work is present in it, as well as others.

Question about the paper/implementation

Hello,
thanks for sharing and open sourcing the work.
After a quick read of the paper, I had several questions:

I have a working implementation of TQC + DropQ using Stable-Baselines3 that I can also share ;) (I can do a PR on request, and it will probably part of SB3 soon)
SB3 branch: https://github.com/DLR-RM/stable-baselines3/tree/feat/dropq
SB3 contrib branch: https://github.com/Stable-Baselines-Team/stable-baselines3-contrib/tree/feat/dropq
Training script: https://github.com/araffin/walk_in_the_park/blob/feat/sb3/train_sb3.py

EDIT: SBX = SB3 + Jax is available here: https://github.com/araffin/sbx (with TQC, DroQ and SAC-N)

W&B example run: https://wandb.ai/araffin/a1/runs/2ln32rqx?workspace=user-araffin

Unable to initialize backend

Hello:
There are no problems with the environment configuration process.
But when I run the program, there is a warning, as follows:

I0919 21:58:29.074738 139995721590592 xla_bridge.py:350] Unable to initialize backend 'tpu_driver': NOT_FOUND: Unable to find driver in registry given worker: I0919 21:58:29.120949 139995721590592 xla_bridge.py:350] Unable to initialize backend 'rocm': NOT_FOUND: Could not find registered platform with name: "rocm". Available platform names are: Interpreter CUDA Host I0919 21:58:29.121373 139995721590592 xla_bridge.py:350] Unable to initialize backend 'tpu': module 'jaxlib.xla_extension' has no attribute 'get_tpu_client'

I found that the program cannot call the GPU normally, although tensorflow can call the GPU.

Could you give me some advice?
Thank you!

Ubuntu: 22.04 LTS
NVIDIA Driver Version: 515.65.01
CUDA Version: 11.7
Python: 3.8.13

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.