Skip to main content

Gymnasium multi-goal environments for goal-conditioned and language-conditioned deep reinforcement learning build with PyBullet

Project description

LANRO (Language Robotics)

LANRO is a platform to study language-conditioned reinforcement learning. It is part of the following publications that introduced the following features:

  1. a synthetic caretaker providing instructions in hindsight Grounding Hindsight Instructions in Multi-Goal Reinforcement Learning for Robotics (ICDL 2022, see icdl2022 branch for old version)
  2. a setup for conversational repair via action corrections Language-Conditioned Reinforcement Learning to Solve Misunderstandings with Action Corrections (NeurIPS 2022 Workshop LaReL)

Installation

Pip module

pip install lanro-gym

From source

git clone https://github.com/frankroeder/lanro-gym.git
cd lanro-gym/  && pip install -e .

or

# via https
pip install git+https://github.com/frankroeder/lanro-gym.git
# or ssh
pip install git+ssh://git@github.com/frankroeder/lanro-gym.git

Example

import gymnasium as gym
import lanro_gym

env = gym.make('PandaStack2-v0', render=True)

obs, info = env.reset()
terminated = False
while not terminated:
    obs, reward, terminated, truncated, info = env.step(env.action_space.sample())

env.close()

Environments

Click here for the environments README

Keyboard and mouse control

It is also possible to manipulate the robot with sliders

python main.py -i --env PandaNLReach2-v0

or your keyboard

python main.py -i --keyboard --env PandaNLReach2-v0

Developers

Running tests

We use pytest.

PYTHONPATH=$PWD pytest test/

Measure the FPS of your system:

PYTHONPATH=$PWD python examples/fps.py

Acknowledgements

This work uses code and got inspired by following open-source projects:

pybullet

Homepage https://pybullet.org/
Source: https://github.com/bulletphysics/bullet3/tree/master/examples/pybullet
License: Zlib

panda-gym

Source: https://github.com/qgallouedec/panda-gym
License: MIT
Changes: The code structure of lanro-gym contains copies and extensively modified parts of panda-gym.

Citations

Grounding Hindsight Instructions in Multi-Goal Reinforcement Learning for Robotics

@inproceedings{Roder_GroundingHindsight_2022,
  title = {Grounding {{Hindsight Instructions}} in {{Multi-Goal Reinforcement Learning}} for {{Robotics}}},
  booktitle = {International {{Conference}} on {{Development}} and {{Learning}}},
  author = {R{\"o}der, Frank and Eppe, Manfred and Wermter, Stefan},
  year = {2022},
  pages = {170--177},
  publisher = {{IEEE}},
  isbn = {978-1-66541-310-7},
}

pybullet

@MISC{coumans2021,
  author = {Erwin Coumans and Yunfei Bai},
  title = {PyBullet, a Python module for physics simulation for games, robotics and machine learning},
  howpublished = {\url{http://pybullet.org}},
  year = {2016--2021}
}

panda-gym

@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},
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lanro_gym-0.2.1.tar.gz (33.0 kB view hashes)

Uploaded Source

Built Distribution

lanro_gym-0.2.1-py3-none-any.whl (43.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page