RADIx v2 funcional con ejecutable O3DE, arreglo movimiento camara VR en O3DE e investigación funcionamiento brazo robótico
RADIx v2 funcional con ejecutable O3DE
Durante esta semana, me he centrado ya en terminar el RADIx, arreglando los problemas ocasionados principalmente a manejar un RAM más actualizado que las ramas de o3de de RA y RI.
También tuve que modificar el dev_humble_nvidia.yaml, pasando como volumen la ruta de los icd de vulkan, para poder usar vulkan con la tarjeta nvidia y que no se cuelgue el proceso de arrancar el GameLauncher de un Level.
Una vez hecho los cambios en todas las ramas para que funcionen bien con la rama RAM, este es el resultado del RADIx v2:
Una vez funcionando RADIx, lo tuve que modificar para eliminar Gazebo 11 y dependencias, que solamente costó solo descubrir todas las dependencias que solo necesitaba Gazebo 11.
Con esto conseguimos ya no solo que puedan cargar assets externos, sino también que la imagen sea mucho más pequeña, pasando de 116 GB a 36,3 GB.
Arreglo movimiento camara VR en O3DE
Una vez terminado el RADIx, he seguido con las gafas VR para solucionarlo de una vez.
Como el problema parecía de Atom, decidí ir a ver de nuevo el github de o3de.
En mi caso, trabajo con la versión 23.10.3 de O3DE ya que es la que ya estaba en el primer RADIx y es la que menos problemas daba con ROS, a comparación de las más actuales. El problema de esta versión es que esta incompleto el tema de las gafas VR, por esa razón la primera vez que trabaje para incorporar el entorno VR de O3DE, tuve que añadir archivos que en la 23.10.3 no existían, ya que se hacía referencia en las gems a este archivo inexistente y solo existía a partir de la 24.09. Este archivo era XRSpaceNotificationBus.h.
A partir de esta conjetura, decidí observar de nuevo esta versión en Atom para ver si me faltaba algo que no añadí y efectivamente, fijandome en el commit que añadio este archivo, se hacen cambios también en la gem Camera, en CameraComponentController.cpp y CameraComponentController.h.
Una vez añadido eso en mi O3DE y volver a compilar el proyecto, aún no renderizan los modelos, pero el movimiento de cámara se arreglo, como se muestra en el video:
En cuanto al problema de renderizado, he seguido investigando, probando a descargar las gems de OpenXR (OpenXRVk y XR) de la versión 24.09 pero no dan resultado.
El problema principal del renderizado después de estar viendo debe ser debido a que no se compilan los modelos renderizados que usa el pipeline MultiView, ya que solo esta utilizando lo cargado ya en cache, así que para esta semana borraré la caché y volveré a compilar los assets con el AssetProcessor.
Investigación funcionamiento brazo robótico
Como última tarea he estado avanzando en el funcionamiento del brazo robótico en general y O3DE.
He estado viendo videos y documentación sobre Rviz, que es el programa que se usa para controlar nuestro brazo robótico:
- Documentación oficial ROS2 sobre Rviz
- Introducción a Rviz2 (ROS - Robot Operating System), por Ossaba Tech
[3-DOF Robot Arm in ROS 2 (URDF + RViz2) Interactive Joint Visualization, por Dhanalakshmi Samiappan](https://www.youtube.com/watch?v=PsBezWIGL8I)
Despues estuve investigando la documentación de O3DE sobre manipulación de articulaciones y sobre Grippers.
Por último, también he visto un video de un tutorial de simulador Issac que usa un brazo robótico similar y usa MoveIt como O3DE:
Para la próxima semana, empezaré a realizar a parte un brazo demo funcional similar al del video anterior pero en O3DE, basándome también en la plantilla del brazo robótico de O3DE.