flag-checkeredConclusiones y próximos pasos

Conclusiones

No sin dificultad, he conseguido abordar todos los puntos que me planteé al principio del proyecto:

  • Aprender a crear un robot de cero en el ecosistema de Isaac.

  • Entrenar la política del robot y hacerlo por fases, incrementando la dificultad de una a otra.

  • Lograr ejecutar la política entrenada fuera del ecosistema de Isaac, en ROS2.

En las primeras fases del proyecto encontraba fácilmente documentación que me permitía avanzar y fue bastante motivador ver los primeros resultados.

La primera piedra en el camino fue conseguir hacer un entrenamiento por fases real. Para esto, apenas encontré documentación disponible y fueron muchas horas de probar cosas que no terminaban de funcionar. Finalmente encontré la manera de hacerlo, desconozco aún si es la más óptima, pero a mí me funcionó.

Y el gran dolor de cabeza apareció al tratar de desplegar la política fuera de Isaac Lab. Hay muchos videos, mucha documentación sobre cómo entrenar políticas. Pero hay MUY poco sobre cómo desplegarlas después en robots reales. Lo que me hace preguntarme para qué está utilizando la gente esta herramienta. ¿Únicamente para aprender a entrenar políticas? ¿Por el gusto de ver un robot con una configuración curiosa caminar? Sin querer quitarle importancia a esto, yo necesitaba poner la guinda al pastel y terminar de cerrar el círculo del entrenamiento con el despliegue, aunque sea en un robot simulado... No sé, cosas mías.

Próximos pasos

Durante la realización del proyecto, ha habido cosas que he tenido que ir dejando en el tintero con el fin de tener un proyecto terminado (aunque he de admitir no ha sido fácil). Estos son algunos de los puntos que me gustaría abordar en los siguientes proyectos:

Isaac Lab

  • Aprender a utilizar el Curriculum Manager para guiar un entrenamiento por fases de manera automática.

  • Entender las diferencias entre los entornos Direct y Managed.

  • Entender un poco más a fondo los tipos de redes neuronales que se utilizan, cuándo utilizar cuales y cómo configurarlas.

Isaac Sim

  • Crear un robot directamente dentro de Isaac Sim, sin recurrir a un URDF.

  • Agregar y gestionar otros tipos de actuadores.

  • Agregar y gestionar sensores.

  • Sustituir los Action Graphs por scripts de python.

Despliegue de políticas

  • Desplegar la política en un robot real y no simulado.

Notas finales

Si has llegado hasta aquí y este proyecto o esta documentación te han servido de ayuda, ¡me alegra sinceramente!

Mi intención al escribir todo esto ha sido compartir el proceso y dejar por escrito lo que he ido aprendiendo por el camino, con la esperanza de que pueda facilitarle las cosas a alguien más… y también, siendo sincero, para poder volver yo mismo a consultarlo cuando dentro de unos meses se me haya olvidado cómo funcionaba todo.

Si te ha resultado útil, aunque sea para entender un poco mejor cómo funciona todo este ecosistema, entonces el esfuerzo ya ha merecido la pena. ¡Nos vemos en próximos proyectos!

Última actualización