Skip to content

Learning-based locomotion control from OpenRobotLab, including Hybrid Internal Model & H-Infinity Locomotion Control

License

Notifications You must be signed in to change notification settings

hassan-mehmood1/HIMLoco

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Updated Repo for Customize Quadruped Learning

This is an updated repository for customize Quadruped Robot Training (JAMAL). We have tested the code in Ubuntu 22 and Python 3.8

Learning-based Locomotion Control from OpenRobotLab

This repository contains learning-based locomotion control research from OpenRobotLab, currently including Hybrid Internal Model & H-Infinity Locomotion Control.

🔥 News

  • [2024-04] Code of HIMLoco is released.
  • [2024-04] We release the paper of H-Infinity Locomotion Control. Please check the 👉 webpage 👈 and view our demos! 🎇
  • [2024-01] HIMLoco is accepted by ICLR 2024.
  • [2023-12] We release the paper of HIMLoco. Please check the 👉 webpage 👈 and view our demos! 🎇

📝 TODO List

  • Release the training code of HIMLoco, please see rsl_rl/rsl_rl/algorithms/him_ppo.py.
  • Release deployment guidance of HIMLoco.
  • Release the training code of H-Infinity Locomotion Control.
  • Release deployment guidance of H-Infinity Locomotion Control.

📚 Getting Started

Installation

We test our codes under the following environment:

  • Ubuntu 22
  • NVIDIA Driver: 570.195.03
  • CUDA 12.0
  • Python 3.8.20
  • PyTorch 2.3.1+cu121
  • Isaac Gym: Preview 4
  1. Create an environment and install PyTorch:
  • conda create -n himloco python=3.8.20
  • conda activate himloco
  • conda install pytorch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1 pytorch-cuda=12.1 -c pytorch -c nvidia
  1. Install Isaac Gym:
  1. Clone this repository.
  • cd
  • git clone https://github.com/hassan-mehmood1/HIMLoco.git
  • cd HIMLoco
  1. Install HIMLoco.
  • cd ~/HIMLoco/rsl_rl && pip install -e .
  • cd ~/HIMLoco/legged_gym && pip install -e .
  • pip install "numpy<1.24" pydelatin wandb tqdm opencv-python ipdb pyfqmr flask

Note: Please use legged_gym and rsl_rl provided in this repo, we have modefications on these repos.

Tutorial

  1. Train a policy:
  • cd ~/HIMLoco/legged_gym/legged_gym/scripts
  • python train.py
  1. Play and export the latest policy:
  • cd ~/HIMLoco/legged_gym/legged_gym/scripts
  • python play.py

🔗 Citation

If you find our work helpful, please cite:

@inproceedings{long2023him,
  title={Hybrid Internal Model: Learning Agile Legged Locomotion with Simulated Robot Response},
  author={Long, Junfeng and Wang, ZiRui and Li, Quanyi and Cao, Liu and Gao, Jiawei and Pang, Jiangmiao},
  booktitle={The Twelfth International Conference on Learning Representations},
  year={2024}
}

@misc{long2024hinf,
  title={Learning H-Infinity Locomotion Control}, 
  author={Junfeng Long and Wenye Yu and Quanyi Li and Zirui Wang and Dahua Lin and Jiangmiao Pang},
  year={2024},
  eprint={2404.14405},
  archivePrefix={arXiv},
}

📄 License

Creative Commons License
This work is under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

👏 Acknowledgements

  • legged_gym: Our codebase is built upon legged_gym.

About

Learning-based locomotion control from OpenRobotLab, including Hybrid Internal Model & H-Infinity Locomotion Control

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%