🤖 Simulate and control two Universal Robots (UR) arms concurrently using NVIDIA Isaac Sim. This project provides a digital twin environment for realistic robotic simulation and testing control algorithms.
UR_demo_1.mp4
- Dual UR Arm Simulation: Simulate UR3e arms simultaneously.
- Real-Time Digital Twin Control: Implement real-time control using UR RTDE interface.
- Collision Avoidance: Integrate collision detection for safe operations.
- Path Planning: Develop optimized trajectories using Isaac Sim extensions.
To run the Docker-based simulation tutorial, ensure your system meets the following requirements:
- Operating System: Ubuntu 20.04 LTS or later (preferred); Docker is also available for Windows and macOS.
- Docker: Docker Engine and Docker Compose installed (version 1.27+ recommended).
- CPU: Multi-core processor (e.g., Intel Core i7 or equivalent).
- GPU: NVIDIA GPU with CUDA support (e.g., RTX 2060 or higher) and driver version 525.60.11 or later.
- RAM: Minimum 8 GB (16 GB recommended).
- Storage: At least 50 GB of free disk space for Docker images and data.
- Network: Stable internet connection for downloading Docker images and dependencies.
Important: Ensure Docker is properly configured to utilize the GPU if required and that your system has adequate resources for smooth operation. Verify GPU availability with the following command:
docker run --rm --gpus all nvidia/cuda:11.2.2-base-ubuntu20.04 nvidia-smi
- Isaac Sim
- Python 3.7 or later
- UR RTDE
- Curobo v0.6.2 (The project is developed and tested on Curobo version 0.6.2)
-
Setup NVIDIA GPU Cloud (NGC) Environment:
Ensure you have an NGC API key. Follow the instructions here to generate one.
Log in to NGC using Docker:
docker login nvcr.io Username: $oauthtoken Password: [Your NGC API Key]
-
Install and configure your omniverse Nucleus user:
Ensure that you have Omniverse Launcher installed
After installing Omniverse Launcher, configure your local Nucleus Server
git clone https://github.com/MetaToolEU/MT_Isaac_sim.git
cd MT_Isaac_sim/Docker
Run the provided script to set up the environment and build the Docker image:
bash build_docker.sh isaac_sim_2023.1.0
Enable GUI visualization on your host machine:
xhost + # this will enable gui visualization
Start the Isaac Sim container:
bash start_docker.sh isaac_sim_2023.1.0
cd examples/Isaac_launch
echo "alias omni_python='~/.local/share/ov/pkg/isaac_sim-2022.2.1/python.sh'" >> ~/.bashrc
source ~/.bashrc
Replace "yyy.yyy.yyy.yyy" with the actual IP addresses of your first and second robots.
omni_python isaac_rtde_dual_arm.py --robot-ip "yyy.yyy.yyy.yyy" --robot-ip2 "yyy.yyy.yyy.yyy"
omni_python multi_arm_reacher_MT.py
omni_python simple_stacking_ur.py