maxspahn / gym_envs_urdf

URDF environments for gym
https://maxspahn.github.io/gym_envs_urdf/
GNU General Public License v3.0
46 stars 14 forks source link

Generic URDF robots

In this package, generic urdf robots and a panda gym environment are available. The goal is to make this environment as easy as possible to deploy. Although, we used the OpenAI-Gym framing, these environments are not necessarly restricted to Reinforcement-Learning but rather to local motion planning in general.

Pybullet

Point Robot Point Robot with Keyboard Input Non-Holonomic Robot
Tiago Robot Tiago Robot with Keyboard Input
Panda Robot Albert Robot

Mujoco

Point Robot Panda Robot

Getting started

This is the guide to quickle get going with urdf gym environments.

Pre-requisites

Installation from pypi

The package is uploaded to pypi so you can install it using

pip3 install urdfenvs

Installation from source

You first have to download the repository

git clone git@github.com:maxspahn/gym_envs_urdf.git

Then, you can install the package using pip as:

pip3 install .

The code can be installed in editible mode using

pip3 install -e .

Note that we recommend using poetry in this case.

Optional: Installation with poetry

If you want to use poetry, you have to install it first. See their webpage for instructions docs. Once poetry is installed, you can install the virtual environment with the following commands. Note that during the first installation poetry update takes up to 300 secs.

poetry install

The virtual environment is entered by

poetry shell

Inside the virtual environment you can access all the examples.

Installing dependencies

Dependencies should be installed through pip or poetry, see below.

Using pip, you can use

pip3 install '.[options]'

Using poetry

poetry install --with <options>

Options are keyboard.

Examples

You find several python scripts in examples/. You can test those examples using the following (if you use poetry, make sure to enter the virtual environment first with poetry shell)

python3 pointRobot.py

Replace pointRobot.py with the name of the script you want to run.