Noticias

Astrobotic Technology saca ventaja en la carrera Lunar Xprize de Google con las GPUs NVIDIA
Astrobotic
Explorador lunar de Astrobotic diseñado con las GPUs NVIDIA

Astrobotic Technology, compañía fundada en 2008 a partir del Instituto de Robótica de la Universidad Carnegie Mellon, está a la vanguardia de la floreciente industria aeroespacial comercial. Es una empresa pionera en el desarrollo de tecnología robótica espacial asequible para misiones planetarias de exploración y recogida de datos al servicio de organizaciones comerciales, científicas y gubernamentales. Astrobotic es uno de los 23 equipos que compiten por ganar el premio de la competición Lunar XPRIZE de Google, unos codiciados 30 millones de dólares que conseguirá el primer equipo que, contando únicamente con fuentes de financiación privadas, haga alunizar un robot capaz de recorrer 500 metros sobre la superficie de la Luna mientras envía vídeo, imágenes y datos de vuelta a la tierra. Los participantes tienen hasta el final de 2015 para cumplir este objetivo. Astrobotic, antiguo cliente de NVIDIA, utiliza la aceleración en la GPU para cubrir sus complejas necesidades de diseño y análisis.

EL RETO

Como participantes de la competición Lunar XPRIZE, las principales actividades de Astrobotic giran en torno al desarrollo de algoritmos de visión para el aterrizaje autónomo, el diseño de vehículos y la creación de simulaciones para operaciones de aterrizaje y exploración. La principal tarea de los diez ingenieros que componen el equipo de Astrobotic es diseñar una nave capaz de sobrevivir al lanzamiento y el alunizaje, y seguir siendo operativa una vez que llegue a la superficie lunar, pero su principal obstáculo es quedarse atascados en tierra.

“En realidad no podemos reproducir el entorno de la luna para ninguna prueba de alunizaje física”, explica Kevin Peterson, Director de los sistemas de guía, navegación y control, que continúa diciendo: “En la Tierra tenemos atmósfera y nubes, y no tenemos la misma topografía, así que lo mejor que podemos hacer es usar un simulador 3D. Disponemos de una serie de cámaras que sobrevuelan la luna, cartografían la superficie y utilizan técnicas de flujo óptico para realizar tareas de seguimiento del movimiento. Nuestro plan es utilizar esos datos como referencia para el aterrizaje, de forma que el vehículo pueda tomar imágenes a medida que se aproxima a la superficie lunar y utilizar toda esa información para posicionarse adecuadamente. Existe un retardo de 10 segundos en las comunicaciones con la sonda, así que es fundamental que pueda guiarse y aterrizar sin intervención humana. Nuestro problema es que, con semejante cantidad de datos, las simulaciones tienen mucha carga computacional, pero tienen que ser tan reales como una fotografía”.

Un segundo problema es simular las pruebas de lanzamiento con la suficiente precisión como para asegurar que la nave pueda despegar. Un modelo de aeronave típico incluye cientos de piezas diferentes con más de 4000 elementos de fijación y las pruebas deben tener en cuenta cómo se comportaría cada uno de esos elementos cuando se vea sometido a la vibración que experimentaría la nave durante el lanzamiento. Jason Calaiaro, CIO y director de propulsión de Astrobotic, necesitaba una forma de evitar la falta de capacidad computacional, que saturaba el sistema y les obligaba a ejecutar las simulaciones utilizando modelos CAD de mallas de vaciado simplificadas.

Calaiaro aclara que muchas veces producen modelos CAD simplificados de los diseños originales para las simulaciones porque, según él, “requieren menos cálculos, así que las pruebas duran menos tiempo”. Pero esta simplificación creaba problemas. “Los modelos simplificados que utilizábamos -explica- no siempre se correspondían con los resultados de las pruebas reales, lo que significaba que teníamos que volver atrás, aumentar la complejidad y hacer más pruebas. Teníamos que recurrir continuamente al método de error y ensayo para encontrar el equilibrio adecuado entre el nivel de complejidad y la calidad de los resultados y esto, unido al tiempo que tardábamos en crear los modelos de malla, estaba afectando a la marcha del proyecto”.

LA SOLUCIÓN

Como clientes de NVIDIA, los ingenieros de Astrobotic ya conocían las ventajas que proporcionaba la posibilidad de acelerar en la GPU el diseño mecánico de SolidWorks y el análisis por elementos finitos de ANSYS. Peterson y Calaiaro decidieron sustituir sus GPUs NVIDIA de la generación Fermi por una tarjeta Quadro K2000 y dos tarjetas Tesla K20 de la actual generación Kepler para obtener un mayor incremento de la velocidad. Y, ahora que ANSYS 14.5 admite múltiples GPUs, la segunda GPU Tesla proporcionaría aceleración extra. También cambiaron a NVIDIA iray a fin de acelerar el renderizado en la GPU con resultados de calidad fotográfica.

Peterson y Calaiaro detectaron una mejora inmediata del rendimiento gracias a las GPUs Quadro y Tesla basadas en la arquitectura Kepler. Calaiaro observó un aumento considerable de la velocidad en SolidWorks y ANSYS: “Ahora puedo pasar directamente del diseño al análisis sin necesidad de generar mallas de vaciado. En su lugar, utilizo una malla sólida calculada directamente a partir del modelo CAD original, lo que agiliza el flujo de trabajo y me ahorra entre 1 y 2 semanas solo en tiempo de diseño. De media, he observado un 40% de aumento de la velocidad de análisis con la GPU adicional y, aunque cada prueba solo tardaba de 5 a 10 minutos en una sola GPU, cuando tienes que probar 100 variables diferentes, al final es mucho tiempo. Además, gracias a la GPU extra, puedo ejecutar SolidWorks y ANSYS a la vez; esa interacción es increíblemente potente y cambia la forma en que abordamos el diseño y el análisis”.

Astrobotic
Muestra de un componente de las ruedas del vehículo

El uso de iray también ha aumentado los renderizados de la superficie lunar de Peterson de 1 cuadro por minuto en una CPU a 20 cuadros por segundo en una GPU. Peterson explica: “Para que os hagáis una idea, antes teníamos que configurar el renderizado y dejarlo ejecutándose toda la noche. Ahora me siento y ejecuto ese mismo proceso en diez minutos. Es impresionante. El coste de las pruebas de vuelo es prohibitivo, así que tenemos que recurrir a las simulaciones. Necesitamos ejecutar un millón de simulaciones diferentes de la superficie lunar antes del lanzamiento para tener la seguridad de que haber comprobado cada posible escenario de alunizaje. Estas simulaciones tienen que ser enormemente fieles a la realidad y muy exactas, pero, al mismo tiempo, necesitamos poder iterar rápidamente, y las GPUs Kepler de NVIDIA nos proporcionan la capacidad y la velocidad que necesitamos para hacerlo”.

EL RESULTADO

En la carrera a la Luna, la velocidad y la precisión son claves. Las GPUs Quadro y Tesla con arquitectura Kepler de NVIDIA permiten a los ingenieros de Astrobotic manejar diseños complejos y análisis de enorme tamaño sin renunciar a la velocidad o la calidad, lo que se traduce en resultados más fiables.

Para Calaiaro, “El análisis es fundamental porque te permite producir diseños bien fundamentados. Ahora -afirma- con la capacidad de las dos GPUs, puedo probar modelos muchos más precisos y obtener los resultados a más velocidad”.

Peterson añade: “En nuestro caso, todo tiene que estar para ya. Tienes que hacerlo rápido y bien. No tenemos tiempo para volver atrás y pararnos. Siempre estamos tomando decisiones sobre la marcha y necesitamos avanzar con la mayor eficiencia posible. Las GPUs NVIDIA nos permiten conseguir ciclos de diseño entre 4 y 6 veces más cortos que los de nuestros competidores. Por ejemplo, tardaremos 6 meses en construir nuestra sonda, mientras que otros miembros de la industria o agencias gubernamentales tardarían probablemente más de dos años en una tarea similar”.

Peterson concluye afirmando: “En resumen, somos una compañía pequeña que trata de hacer cosas con plazos muy ajustados y recursos limitados. Las GPUs de NVIDIA y el renderizador iray nos permiten sacar ventaja competitiva sin renunciar a la calidad”.

Hardware y software utilizados:

Astrobotic