Installation Using Docker

Prerequisites

  • .Xauthority for graphical access: Run the following command to verify or create .Xauthority.

    [ ! -f ~/.Xauthority ] && touch ~/.Xauthority && echo ".Xauthority created" || echo ".Xauthority already exists"
    
  • Nvidia Container Toolkit: see nvidia-container-toolkit

    After installing the toolkit remember to configure the container runtime for docker using

    sudo nvidia-ctk runtime configure --runtime=docker
    sudo systemctl restart docker
    

    You may need to allow docker to access X server if you want to use the GUI:

    xhost +local:docker
    
  • Login to NGC

    1. Generate NGC API Key
    2. Login with the NGC API as password
  • Docker Compose:

    1. Install Docker Compose
    2. Verify using
    docker compose version
    

Building the Docker Image

  1. Clone the repository and navigate to the docker directory:
    git clone https://github.com/abmoRobotics/RLRoverLab
    cd RLRoverLab/docker
    
  2. Download terrains from Google Drive:
    1. Download from Google Drive: https://drive.google.com/file/d/1VXFTD2OgHcsQL_ifO81AzD2HDkA98h93/view?usp=sharing
    2. Unzip files in root folder of the git repository
  3. Build and start the Docker container:
    ./run.sh
    docker exec -it rover-lab-base bash
    
  4. Training an Agent Inside the Docker Container To train an agent, use the following command inside the Docker container:
    cd examples/02_train
    /workspace/isaac_lab/isaaclab.sh -p train.py --task="AAURoverEnv-v0" --num_envs=256