Técnico

Cómo implementar NVIDIA Omniverse con Isaac Sim en AWS: guía paso a paso

Share

Este blog presenta los pasos necesarios para configurar una instancia de NVIDIA Omniverse en un AWS EC2.

Hay dos instalaciones posibles: estación de trabajo y contenedor. Configuraremos un servidor inalámbrico remoto mediante un contenedor Docker y utilizaremos la GUI a través de Streaming Client/WebRTC.

Pasos para la creación de una AMI

En esta sección describimos los pasos seguidos para crear la AMI personalizada, incluida la creación de la instancia de AWS y la instalación del contenedor.

Lanzamiento de la instancia de AWS

  1. Desde la consola AWS EC2, vaya a la sección Launch Instance
  2. Navega hacia Mis AMI
  3. Seleccione»AMI optimizada para GPU NVIDIA Omniverse»
  4. Seleccione el tipo de instancia G5.2 x grande.
  5. En la sección Par de claves (inicio de sesión), haga clic en Crear nuevo par de claves para crear un nuevo archivo PEM o seleccione un par de claves existente.
  6. En la sección Configuración de red, haz clic en Editar. Establezca las reglas de los grupos de seguridad entrantes y salientes de la siguiente manera. Este paso es el que permite conectarse a través de Visor VNC. Para configurar la entrada, solo necesita habilitar el TCP protocolo para los puertos 22 y 5901 (conexión VNC)
  7. En la sección Configurar almacenamiento, defina Tamaño del volumen raíz de hasta 300 GB o más (utilizamos 300 GB).
  8. Instancia de lanzamiento.
  9. Conéctese a la instancia usar ubuntu@ en lugar de root@.

Configuración principal de la instancia

  1. Conéctese a la instancia mediante SSH usar ubuntu@ en lugar de root@.
  2. Ejecute el siguiente comando: actualización de sudo apt
  3. Instale XFCE (una GUI ligera) con el siguiente comando: sudo apt install xfce4 xfce4-goodies -y. Aparecerá una ventana rosa, presiona Ok y gdm3.
  1. Instalar Tiger VNC para la transmisión de GUI y netstat para comprobar la conectividad:
    1. sudo apt install tigervnc-standalone-server -y
    2. sudo apt install -y net-tools
  2. Configurar TigerVNC:
    1. Cree una contraseña para VNC ejecutando servidor vnc. Esto solicitará dos contraseñas, configure ambas.
  1. Instala Google Chrome
    1. Descárgalo ejecutando obtener https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
    2. Corre sudo dpkg -i google-chrome-stable_current_amd64.deb . Mostrará el siguiente mensaje de error:
    1. Instale las dependencias que faltan con sudo apt-get install -f
    2. Corre de nuevo sudo dpkg -i google-chrome-stable_current_amd64.deb

Instalación de Isaac Sim Container

Extraerlo de NVIDIA GPU Cloud (NGC) o usar una versión propia almacenada en Docker Image. Dado que el contenedor extraído de NGC puede variar con el tiempo, se recomienda encarecidamente utilizar el contenedor que tenemos almacenado.

Instalación: extracción del contenedor desde NGC

  1. Verificar Controladores de GPU instalación con nvidia-smi
  2. Instalar Kit de herramientas de contenedores de NVIDIA para habilitar el uso de la GPU en contenedores Docker

sudo apt-get install -y nvidia-container-toolkit

sudo systemctl reiniciar docker

sudo nvidia-ctk runtime configure --runtime=docker

sudo systemctl reiniciar docker

docker run --rm --runtime=nvidia --gpus en ubuntu nvidia-smi

  1. Inicia sesión en NGC y saca el contenedor Isaac Sim

inicio de sesión en Docker nvcr.io

# usuario $oauthtoken

# contraseña

# CONTRASEÑA

docker pull nvcr.io/nvidia/isaac-sim:4.2.0

  1. Ejecute el contenedor Docker usando

docker run --name isaac-sim --entrypoint bash -it --gpus all -e «ACCEPT_EULA=Y» --rm --network=host\

-e «PRIVACY_CONSENT=Y»\

-v ~/docker/isaac-sim/cache/kit: /isaac-sim/kit/cache:rw\

-v ~/docker/isaac-sim/cache/ov: /root/.cache/ov:rw\

-v ~/docker/isaac-sim/cache/pip: /root/.cache/pip:rw\

-v ~/docker/isaac-sim/cache/glcache: /root/.cache/nvidia/glcache:rw\

-v ~/docker/isaac-sim/cache/computecache: /root/.nv/computecache:rw\

-v ~/docker/isaac-sim/logs: /root/.nvidia-omniverse/logs:rw\

-v ~/docker/isaac-sim/data: /root/.local/share/ov/data:rw

-v ~/docker/isaac-sim/documentos: /root/documents:rw\

nvcr.io/nvidia/isaac-sim:4.2.0

. /runheadless.webrtc.sh -v

Descargar, instalar y conectar RealVNC Viewer

  1. Descargar Visor RealVNC de la página oficial: https://www.realvnc.com/es/connect/download/viewer/
  2. Instálala.
  3. Conéctese a la instancia mediante <PUBLIC EC2 IP>:5901. La contraseña es la establecida en el paso 5 de la configuración principal de la instancia. Por ejemplo:

Guardar la AMI

Para guardar una AMI de una instancia EC2, comience por detener la instancia. A continuación, seleccione la instancia y vaya al menú «Acciones». Desde allí, elige «Imágenes y plantillas» y, a continuación, selecciona «Crear imagen». En la pantalla «Crear imagen», introduzca un nombre y una descripción para la AMI y, por último, haga clic en «Crear imagen» para completar el proceso.

Guardar las imágenes de Docker

Para guardar las imágenes del docker tenemos que seguir los siguientes pasos:

Guarda la imagen de Ubuntu

Para guardar la imagen de ubuntu como un archivo.tar, ejecuta el siguiente comando: docker save -o ubuntu_latest.tar ubuntu: último

Esto creará un ubuntu_latest.tar archivo que contiene la imagen.

Guarda la imagen de Isaac-Sim

Para salvar el nvcr.io/nvidia/isaac-sim imagen, utilice: docker save -o isaac_sim_4.2.0.tar nvcr.io/nvidia/isaac-sim:4.2.0

Esto creará un archivo isaac_sim_4.2.0.tar con la imagen de Isaac Sim.

Finalmente tenemos que transferir los archivos.tar a nuestra máquina local. Una vez que los archivos estén en tu máquina local, puedes cargarlos en Docker.

Instalación con contenedor

Primero tienes que descargar la imagen de Docker previamente guardada (imagen de Docker) y seguir los siguientes pasos:

Cargue las imágenes de Docker

Ejecute los siguientes comandos:

docker load -i /path/ubuntu_latest.tar

docker load -i /path/isaac_sim_4.2.0.tar

Verifica que las imágenes se hayan cargado

Para confirmar que ambas imágenes están ahora disponibles en su máquina local, utilice el siguiente comando: imágenes de DockerDeberías ver ambos ubuntu: último y nvcr.io/nvidia/isaac-sim:4.2.0 listados en la salida.

Conéctese a la instancia + Inicie Isaac Sim + Livestream

Hay varias formas de ejecutar Isaac Sim, según el modo de transmisión que se utilice.

Las opciones de transmisión en vivo son:

  1. Cliente de streaming Omniverse: esta opción solo funciona en Windows o Linux.
  2. WebRTC: esta opción funciona en todos los navegadores web de la red local de la instancia. Para transmitir a través de redes, se debe configurar un servidor TURN (difícil).

Ejecución y transmisión en directo mediante el cliente de streaming NVIDIA Omniverse

En tu máquina Windows o Linux (¡no en Mac!) , descarga, instala y abre Omniverse Launcher e inicia sesión. En la pestaña Exchange, descarga Omniverse Streaming Client. Cuando termine, vaya a la pestaña Biblioteca y ejecútela. En el servidor, pegue la IP pública de la instancia EC2 y conéctese.

Nota: si ha abierto Omniverse Streaming Client, se ha conectado a una instancia y desea conectarse a una instancia diferente, primero debe reiniciar Omniverse Streaming Client.

Ejecución y transmisión en vivo a través de WebRTC (red local)

  1. SSH en la instancia a través de SSH: ssh -i «omniverse-headless-key.pem» ubuntu@ip
  2. Ejecuta el contenedor Isaac Sim con

docker run --name isaac-sim --entrypoint bash -it --gpus all -e «ACCEPT_EULA=Y»

--rm --network=host -e «PRIVACY_CONSENT=Y» -v

~/docker/isaac-sim/cache/kit: /isaac-sim/kit/cache:rw -v

~/docker/isaac-sim/cache/ov: /root/.cache/ov:rw -v

~/docker/isaac-sim/cache/pip: /root/.cache/pip:rw -v

~/docker/isaac-sim/cache/glcache: /root/.cache/nvidia/glcache:rw -v

~/docker/isaac-sim/cache/computecache: /root/.nv/computecache:rw -v

~/docker/isaac-sim/logs: /root/.nvidia-omniverse/logs:rw -v

~/docker/isaac-sim/data: /root/.local/share/ov/data:rw -v

~/docker/isaac-sim/documents: /root/documents:rw

nvcr.io/nvidia/isaac-sim:4.2.0

  1. Ejecuta Isaac Sim en modo headless con el comando . /runheadless.native.sh -v y espera a que veas Empezó a ver: 'mdl: :Z73file_3A: :Z1Fisaac_2Dsim: :kit: :mdl: :core: :Volume: :OmniVolumeNoise'
  2. Deja de presionar Isaac Sim Ctrl+C
  3. Ejecute Isaac Sim en modo WebRTC con el comando . /runheadless.webrtc.sh -v y espera a que veas Empezó a ver: 'mdl: :Z73file_3A: :Z1Fisaac_2Dsim: :kit: :mdl: :core: :Base: :OmniPBR'
  4. Abra VNC Viewer. La contraseña es la que se configuró en el paso 5 de la sección «Configuración principal de la instancia».
  5. Abra Google Chrome a través de la GUI con VNC Viewer y vaya a http://127.0.0.1:8211/streaming/webrtc-demo/? servidor=127.0.0.1 y haz clic en el botón rojo para ver la transmisión en vivo. Nota: la primera vez que abras Google Chrome, es posible que se te pida una contraseña. Pon uno (es decir, «omniverso»)

Conclusión

¡Enhorabuena por configurar correctamente una instancia de NVIDIA Omniverse en AWS EC2 y por conectarse a ella! Esta potente configuración desbloquea el potencial de la simulación en el mundo real utilizando los recursos de la nube. Completar la configuración de NVIDIA Omniverse permite realizar simulaciones avanzadas basadas en recursos de la nube. Como siguiente paso, considera explorar la plataforma Isaac Sim, una excelente herramienta para simular robots y desarrollar aplicaciones de inteligencia artificial en Omniverse. Para blogs similares, visite Blogs de Marvik.

Cada viaje de IA comienza con una conversación

Hablemos
Hablemos