Skip to content

makolon/IsaacTAMP

Repository files navigation

🤖 Isaac Lab Task and Motion Planning (TAMP)

A project based on Isaac Lab, implementing Task and Motion Planning (TAMP) techniques as an Omniverse Extension in isaactamp.

✨ Key Features

  • 🌐 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.

⚡ Installation

Follow these steps to install the isaactamp extension and get started:

Prerequisites

  • 💻 NVIDIA Omniverse: Ensure Isaac Sim is set up. Get Isaac Sim
  • 🐳 Docker: Install Docker and NVIDIA Container Toolkit. Guide

Installation Steps

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.

🐍 Usage

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.

📜 License

This project is licensed under the Apache v2.0 License. See the LICENSE file for more details.

🙏 Acknowledgements

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.

✍ Citation

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}},
}

About

Task And Motion Planning (TAMP) plugin on IsaacLab.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors