qgallouedec / panda-gym

Set of robotic environments based on PyBullet physics engine and gymnasium.
MIT License
492 stars 106 forks source link
artificial-intelligence deep-learning franka-emika machine-learning python reinforcement-learning robotics

panda-gym

Set of robotic environments based on PyBullet physics engine and gymnasium.

PyPI version Downloads GitHub build codecov Code style: black arXiv

Documentation

Check out the documentation.

Installation

Using PyPI

pip install panda-gym

From source

git clone https://github.com/qgallouedec/panda-gym.git
pip install -e panda-gym

Usage

import gymnasium as gym
import panda_gym

env = gym.make('PandaReach-v3', render_mode="human")

observation, info = env.reset()

for _ in range(1000):
    action = env.action_space.sample() # random action
    observation, reward, terminated, truncated, info = env.step(action)

    if terminated or truncated:
        observation, info = env.reset()

env.close()

You can also Open in Colab

Environments

PandaReach-v3 PandaPush-v3
PandaReach-v3 PandaPush-v3
PandaSlide-v3 PandaPickAndPlace-v3
PandaSlide-v3 PandaPickAndPlace-v3
PandaStack-v3 PandaFlip-v3
PandaStack-v3 PandaFlip-v3

Baselines results

Baselines results are available in rl-baselines3-zoo and the pre-trained agents in the Hugging Face Hub.

Citation

Cite as

@article{gallouedec2021pandagym,
  title        = {{panda-gym: Open-Source Goal-Conditioned Environments for Robotic Learning}},
  author       = {Gallou{\'e}dec, Quentin and Cazin, Nicolas and Dellandr{\'e}a, Emmanuel and Chen, Liming},
  year         = 2021,
  journal      = {4th Robot Learning Workshop: Self-Supervised and Lifelong Learning at NeurIPS},
}

Environments are widely inspired from OpenAI Fetch environments.