Instalando WSL-ROS2 en Windows
Aplicable a: Computadoras personales (no administradas) con Windows 10 u 11
El Entorno de Simulación WSL-ROS2¶
Para apoyar este curso hemos creado un entorno personalizado de ROS 2 que se ejecuta en Windows 10 u 11 usando el Windows Subsystem for Linux (WSL). Lo llamamos "WSL-ROS2" y está disponible a través del equipo del laboratorio.
Note
Cuando recibas el enlace de descarga de WSL-ROS2, recibirás también instrucciones de instalación. Recomendamos que sigas las instrucciones proporcionadas en esta página, ya que esta página se mantendrá más actualizada a lo largo del semestre.
Requisitos Previos¶
- Tu computadora debe estar ejecutando Windows 10 Build 19044 o superior, o Windows 11.
- Actualiza los controladores de GPU de tu máquina.
- Instala o actualiza WSL:
- Si aún no tienes WSL instalado en tu máquina, sigue estas instrucciones para instalarlo.
- Si ya tienes WSL instalado en tu máquina, sigue estas instrucciones para actualizarlo.
- Instala el Windows Terminal.
- Instala Visual Studio Code y la extensión WSL para VS Code.
- Instala el VcXsrv Windows X Server.
Instalación¶
-
Solicita el enlace de descarga al coordinador del laboratorio.
-
El enlace te permitirá descargar WSL-ROS2 en tu máquina como un archivo
.zip(~2 GB). -
En tu computadora, crea una nueva carpeta en la raíz de tu unidad
C:\llamadaWSL-ROS2. -
Guarda el archivo
.zipen esta nueva carpeta (C:\WSL-ROS2\) -
Inicia PowerShell, luego ejecuta los siguientes comandos en orden:
-
Identifica el archivo zip:
-
Extráelo:
-
Identifica el archivo
.tarextraído: -
Impórtalo como una distribución WSL:
-
-
Esto puede tardar un par de minutos. Una vez completado, puedes verificar que fue exitoso con el siguiente comando:
Donde
WSL-ROS2debería estar listado. -
A continuación (opcional), abre la aplicación Windows Terminal, luego:
- Ve a Configuración (Ctrl+,)
- En
Perfilesen el menú de la izquierda, encuentraWSL-ROS2(o desplázate más abajo y haz clic en el botónAgregar un nuevo perfilpara crearlo). -
Configura los ajustes para el perfil
WSL-ROS2como se muestra a continuación: -
Luego, en
Inicio(de regreso en el menú de la izquierda), bajoPerfil predeterminado, selecciona WSL-ROS2 de la lista desplegable.Esto asegurará que cada vez que abras la aplicación Windows Terminal o presiones el botón Nueva Pestaña () se lance por defecto una Instancia de Terminal WSL-ROS2.
Configuración Inicial¶
Dentro de una instancia de terminal WSL-ROS2, necesitarás ejecutar algunos comandos iniciales para configurar las cosas.
-
Primero, ejecuta el siguiente comando para intentar usar el soporte nativo de Interfaz Gráfica de Usuario (GUI) (que debería funcionar si seguiste todos los requisitos previos anteriores):
-
Luego, vuelve a hacer source de tu archivo
.bashrcpara que este cambio surta efecto: -
Ejecuta el siguiente comando de ROS para ver si puedes lanzar la GUI de Gazebo:
Esto debería presentarte algo como esto:
Si esto no funciona, entonces podrías intentar usar un X Server de terceros (VcXsrv) en su lugar...
Usar un X Server de Terceros¶
Si no puedes ejecutar aplicaciones GUI de forma nativa (habiendo completado los pasos en la sección anterior), entonces podrías intentar usar un X Server de terceros ("VcXsrv") en su lugar. En los requisitos previos, ya deberías haber instalado VcXsrv.
Note
Solo haz esto si no pudiste lanzar la simulación del robot en la sección anterior.
- Habiendo instalado VcXsrv en la Sección de Requisitos Previos...
-
Descarga este archivo de configuración para VcXsrv y guárdalo en tu escritorio como
wsl_ros_config.xlaunch. -
Haz doble clic en esto para lanzar VcXsrv con la configuración apropiada. Debería aparecer un ícono en tu bandeja de notificaciones (abajo a la derecha) para indicar que el X Server está en ejecución:
-
Lanza el entorno WSL-ROS2 iniciando la aplicación Windows Terminal:
-
En una Instancia de Terminal WSL-ROS2, ejecuta lo siguiente:
-
Vuelve a hacer source de tu archivo
.bashrcpara que este cambio surta efecto: -
Intenta ejecutar la simulación Gazebo de mundo vacío de nuevo:
Importante
Debes asegurarte de tener el X Server en ejecución (haciendo clic en el acceso directo
wsl_ros_config.xlaunch) cada vez que trabajes con WSL-ROS2.
Reiniciar el Motor WSL¶
Si tienes problemas con WSL, a veces un reinicio ayuda.
Primero, cierra cualquier ventana de terminal WSL-ROS2 que tengas abierta (y cualquier conexión a WSL-ROS2 en VS Code). Luego, inicia PowerShell y apaga el motor WSL:
Reinicia el motor WSL lanzando una nueva instancia de terminal WSL-ROS2.