A project based on Isaac Lab, implementing Task and Motion Planning (TAMP) techniques as an Omniverse Extension in isaactamp.
- 🌐 Omniverse Integration: Built as an Omniverse Extension (
isaactamp). - 🛠 Task and Motion Planning: Combines task-level decision-making with motion-level execution.
- 🚀 Scalable and Modular: Designed to handle complex robot tasks with scalable architecture.
- 📦 Easy Deployment: Provided with Docker-based installation and execution for streamlined workflows.
Follow these steps to install the isaactamp extension and get started:
- 💻 NVIDIA Omniverse: Ensure Isaac Sim is set up. Get Isaac Sim
- 🐳 Docker: Install Docker and NVIDIA Container Toolkit. Guide
To install the project, follow these steps: First, clone the repository by running the following commands:
git clone --recursive https://github.com/makolon/IsaacTAMP.git
cd IsaacTAMP
Note
If you do not have access to IsaacLabExtendedTasks and repository, please contact makoto.sato@weblab.t.u-tokyo.ac.jp.
Next, build the Docker container. Copy the .env.sample file to .env, and then use the docker compose build command to build the necessary containers:
cp .env.sample .env
docker compose build
# Or build separately
docker compose build isaac-lab-base
docker compose build isaac-lab-ros2
docker compose build isaac-lab-tamp
Note
Update the DISPLAY environment variable in the .env file to match an available display (e.g., :20).
Ensure WEBPORT in .env corresponds to an available port (e.g., 6100).
Example:
DISPLAY:=20
WEBPORT=6100
After building the container, enter the TAMP container by running:
docker compose run isaac-lab-tamp
As the container's entry point, you will install isaaclab_exassets, isaaclab_extasks. This process will take approximately 1 minutes.
Note
The installation method for isaaclab_exassets and isaaclab_extasks will be updated in the future to allow installation via pip after the repositories are made public.
To include the dataset files, copy the data directory into the appropriate location:
cp -r <DATASET_DIR> ./third_party/IsaacLabExtendedTasks/exts/isaaclab_exassets/
Note
<DATASET_DIR> is located at /robot-qnap-2/omniverse/data. This will also be updated in the future to allow downloading from sources such as Google Drive.
To execute a TAMP task, use the following command:
cd ./scripts
python execute_tamp.py
If you want to run a different task, please update the problem and task fields in scripts/config/config.yaml to the appropriate names.
This project is licensed under the Apache v2.0 License. See the LICENSE file for more details.
Special thanks to the Isaac Lab and the NVIDIA Omniverse team for providing a robust simulation platform. Additional thanks to all contributors for their invaluable input.
If you use this work, please cite:
@misc{isaac_tamp_2024,
author = {MakotoSato},
title = {Task and Motion Planning with Isaac Lab},
year = {2024},
howpublished = {\url{https://github.com/makolon/IsaacTAMP}},
}