This repository provides a template for setting up a custom Isaac Lab extension for mobile manipulation, focusing on door-opening tasks. It integrates reinforcement learning (RL) with environments designed for robotics, as well as tools for simulation and control.
Before using this template, ensure the following dependencies are installed:
- Isaac Lab
- Isaac Sim
- Python 3.10
- NVIDIA GPU (for simulation and RL training)
- USD files (Mobile Robot, Door with Lever): Download from Google Drive and place them in the appropriate directory.
- You should modify
usd_path
for mobile robot, floating-base robot and door.
- You should modify
-
Make sure Isaac Sim and Isaac Lab is installed and properly configured.
-
Prepare a python interpreter (choose one option):
As explained in the documentation, the executable
isaaclab.sh
fetches the bundled python. To execute Python scripts, use:path-to-isaac-lab/isaaclab.sh -p [.py]
path-to-isaac-lab/isaaclab.sh --conda [env_name] # to create conda env conda activate [env_name] isaaclab -i # to install isaac lab extensions in conda env
-
Clone this repository and install the extension library:
git clone https://github.com/soom1017/isaaclab_door_open.git cd exts/soomin python -m pip install -e . # if option1, path-to-isaac-lab/isaaclab.sh -p -m pip install -e .
To train the robot to grasp the door using the PPO algorithm from RSL-RL:
python scripts/rsl_rl/train.py --task Template-Isaac-Open-Door-Franka-v0 --num_envs 64
To evaluate a pre-trained model:
python scripts/rsl_rl/play.py --task Template-Isaac-Open-Door-Franka-Play-v0 --num_envs 1