Skip to content

Repository for learning a policy to get a humanoid robot to stand up

License

Notifications You must be signed in to change notification settings

kscalelabs/minppo

Repository files navigation

K-Scale Open Source Robotics

License Discord Wiki
python black ruff
Python Checks

Humanoid Standup

Minimal training and inference code for making a humanoid robot stand up.

Getting started

  • export DISPLAY=:0 if in a headless environmnet
  • Run train.py!

TODO

Findings

  • Low standard deviation for "overfitting test" does not work very well for PPO because need to converge upon actual solution. Cannot get to actual solution if do not explore a little. With that in mind, I think the model is generally getting too comfortable tricking the reward system by just losing as fast as posisble so doesn't have to deal with penalty
  • Theory that model just trying to lose (to retain is_healthy while not losing as much height. It wants to fall as quick as possible so can reset) can be tested by adding "wait" and removing the mask. This effectively reduces the fact that reset will work. While the model is stuck in the failed state, it still is unhealthy and therefore loses out on reward.

Goals

  • The goal for this repository is to provide a super minimal implementation of a PPO policy for making a humanoid robot stand up, with only three files:
    • environment.py defines a class for interacting with the environment
    • train.py defines the core training loop
    • infer.py generates a video clip of a trained model controlling a robot

About

Repository for learning a policy to get a humanoid robot to stand up

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages