Skip to content

OpenAI gym environments for goal-conditioned and language-conditioned reinforcement learning

License

Notifications You must be signed in to change notification settings

frankroeder/lanro-gym

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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://[email protected]/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},
}