Skip to content

Solving the problem of Push Recovery of Humanoids through the techniques of RL and Domain Randomisation

Notifications You must be signed in to change notification settings

ALMaSWPI/Push-Recovery-RL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RL and Domain Randomization Techniques for Learning Push Recovery for Humanoids across different environments

Overview

The project focuses on developing control policies that allow humanoid robots to maintain balance when subjected to external forces (pushes) in varied environments. By using domain randomization during training, the policies become more robust and can generalize to unseen conditions.

Installation

Prerequisites

  • Python 3.8+
  • Git

Setup

  1. Clone the repository

    git clone https://github.com/yourusername/humanoid-push-recovery.git
    cd humanoid-push-recovery
  2. Create a virtual environment

    python -m venv pendulum_env
  3. Activate the environment

    • Windows:
      pendulum_env\Scripts\activate
    • Linux/macOS:
      source pendulum_env/bin/activate
  4. Install dependencies

    pip install gymnasium==0.29.1
    pip install mujoco==3.1.4
    pip install glfw imageio
    pip install stable-baselines3[extra]
    pip install PyOpenGL PyOpenGL_accelerate  # if rendering fails
  5. Verify installation

    python test_mujoco_install.py

    This should open a MuJoCo window, confirming successful installation.

Usage

Training

To train a policy with default parameters:

python train_ip.py

The parameters can be changed inside the code.

Evaluation

Visualize the trained policy:

python visualize_ip_video.py 

About

Solving the problem of Push Recovery of Humanoids through the techniques of RL and Domain Randomisation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages