Gym2Real_isaacgym
https://github.com/kevinh42/gym2real_isaacgym
This repo provides a custom task to be used with Isaac Gym as well as scripts for training and exporting models.
Requirements
- Nvidia GPU with 470+ drivers (
nvidia-smito make sure these are set up) - Isaac Gym (tested with version
1.0.preview3) - IsaacGymEnvs (tested with commit
9656bac7e59b96382d2c5040b90d2ea5c227d56d)
Isaac Gym Setup
- Download Isaac Gym from Nvidia’s developer portal:
https://developer.nvidia.com/isaac-gym cd isaacgym/python && pip install -e .to install Python package- More detailed installation guide in:
isaacgym/docs/install.html
IsaacGymEnvs Setup
git clone https://github.com/NVIDIA-Omniverse/IsaacGymEnvs(tested with commit9656bac7e59b96382d2c5040b90d2ea5c227d56d)cd IsaacGymEnvs && pip install -e .to install Python package
Repo Structure
train.py: Main script used for training/testing modelsexport.py: Script for exporting models as ONNX filescfg/task/: YAML configs for each task defining environment parameters and domain randomizationcfg/train/: YAML configs for each task defining RL model and hyperparameterstasks/: Class definitions and assets for each taskruns/: Model checkpoints and summaries will be saved here
IsaacGymEnvs
This repo was designed to be used after installing IsaacGymEnvs (https://github.com/NVIDIA-Omniverse/IsaacGymEnvs) as a Python library.
IsaacGymEnvs comes close to being usable as a library, but requires adding your custom task to a map.
The following files are taken from IsaacGymEnvs and modified so that this isn’t necessary:
cfg/config.yaml(minimal changes)utils/rlgames_utils.py(minimal changes)base/vec_task.py(minimal changes)train.py
Instead of looking for tasks in a static map, this code uses pydoc.locate to dynamically load the task class.