Install & Download¶
1. Dependencies¶
Python versions:
- Python 3.10
Operating systems:
- Linux: Ubuntu 18.04+, Centos 7+
Hardware:
-
Rendering: NVIDIA or AMD GPU
-
Ray tracing: NVIDIA RTX GPU or AMD equivalent
-
Ray-tracing Denoising: NVIDIA GPU
-
GPU Simulation: NVIDIA GPU
Software:
- Ray tracing: NVIDIA Driver >= 470
- Denoising (OIDN): NVIDIA Driver >= 520
2. Install Vulkan (if not installed)¶
Check vulkaninfo
sudo apt install libvulkan1 mesa-vulkan-drivers vulkan-tools
3. Basic Env¶
First, prepare a conda environment.
conda create -n RoboTwin python=3.10 -y
conda activate RoboTwin
RoboTwin 2.0 Code Repo: https://github.com/RoboTwin-Platform/RoboTwin
git clone https://github.com/RoboTwin-Platform/RoboTwin.git
Then, run script/_install.sh
to install basic envs and CuRobo:
bash script/_install.sh
If you encounter any problems, please refer to the manual installation section. If you are not using 3D data, a failed installation of pytorch3d will not affect the functionality of the project.
4. Download Assert (RoboTwin-OD, Texture Library and Embodiments)¶
You can download the assets by running the following command:
bash script/_download_assets.sh
The structure of the assets
folder should be like this:
assets
├── background_texture
├── embodiments
│ ├── embodiment_1
│ │ ├── config.yml
│ │ └── ...
│ └── ...
├── objects
└── ...
5. Manual Installation (Only when step 2 failed)¶
-
Install requirements
pip install -r requirements.txt
-
Install pytorch3d
pip install "git+https://github.com/facebookresearch/pytorch3d.git@stable"
-
Install CuRobo
cd envs git clone https://github.com/NVlabs/curobo.git cd curobo pip install -e . --no-build-isolation cd ../..
-
Adjust code in
mplib
(Important) -
You can use
pip show mplib
to find where themplib
installed. -
Remove
or collide
# mplib.planner (mplib/planner.py) line 807
# remove `or collide`
if np.linalg.norm(delta_twist) < 1e-4 or collide or not within_joint_limit:
return {"status": "screw plan failed"}
=>
if np.linalg.norm(delta_twist) < 1e-4 or not within_joint_limit:
return {"status": "screw plan failed"}