Sesión de Campo de CS
Antecedentes
Durante el verano de 2020, tomé CSCI370 o “Ingeniería de Software Avanzada” como parte de mi programa de pregrado en CS en la Escuela de Minas de Colorado. CSCI370 es un curso que hace que los estudiantes diseñen, implementen y documenten soluciones relacionadas con el software para una empresa. Permite a los estudiantes aplicar su conocimiento de los cursos a problemas del mundo real en ciencias de la computación. Puedes aprender más sobre el curso aquí.
En el curso, puedes decidir en qué proyecto/empresa trabajarás. El curso proporcionó PDFs detallando cada proyecto y empresa. Finalmente, decidí trabajar en un proyecto publicado por una empresa llamada Lunar Outpost titulado Detección de Deslizamiento de Ruedas en Tiempo Real y Correcciones de Errores para una Navegación Lunar Mejorada. Dado que el nombre es largo, llamemos al proyecto “Detección de Deslizamiento de Ruedas”.
Problema
Lunar Outpost es una startup que intenta crear rovers lunares autónomos. En la luna, hay mucho polvo lunar que es conocido por causar mucho deslizamiento de ruedas. Esto no es ideal porque el deslizamiento de ruedas puede hacer que los sistemas autónomos pierdan el rastro de su ubicación en el mundo real. En la Tierra, esto se resuelve utilizando datos de GPS para corregir cualquier desplazamiento causado por el deslizamiento de ruedas. Pero el problema con el GPS es que solo funciona teniendo 30+ satélites de navegación que orbitan constantemente la Tierra y transmiten señales únicas que permiten a las computadoras calcular su posición. Pero en la luna, actualmente no existe tal cosa como un GPS. Sabiendo esto, se debe utilizar otro método que no sea el GPS para detectar el deslizamiento de ruedas. Un informe más detallado sobre el problema del proyecto se puede ver aquí.
Compañeros de Equipo
Este proyecto no fue un proyecto simple, por lo que tuvo que hacerse en equipo. El equipo estaba compuesto por cinco compañeros estudiantes de la Escuela de Minas de Colorado:
- Mehmet Yilmaz
- Kane Bruce
- Braedon O’Callaghan
- Liam Dempsey
- Kevin Grant
El proyecto requería que supiéramos algo de ROS, C++, Python, Linux, Raspberry Pi y Arduino. La mayoría de nosotros teníamos experiencia en una o más de estas tecnologías, pero yo era el único con experiencia en ROS ya que usé ROS en mi clase de Robótica Centrada en el Humano (CSC470) durante el semestre de primavera de 2020. Debido a esto, al principio, ayudé a poner a todos al día sobre ROS y cómo desarrollar para ello.
Desafíos
En este proyecto hubo muchos desafíos. Pero el mayor desafío que enfrentamos fue no tener acceso a un robot del mundo real para las pruebas. Esto se debió a que COVID hizo que todo fuera remoto y nos impidió trabajar en el laboratorio/edificios de Lunar Outpost. Debido a esto, tuvimos que usar simulaciones.
Además, revisamos algunas investigaciones académicas del Laboratorio de Navegación de WVU para tener una idea de cómo se podría resolver el problema del Deslizamiento de Ruedas para el caso de uso de Lunar Outpost. Lo cual, para nosotros, como estudiantes de segundo y tercer año de pregrado, fue más difícil de lo que esperábamos.
Otro desafío que enfrentamos fue la cantidad de tiempo que teníamos para trabajar en este proyecto. CSCI370 es una clase de un mes. Pero el problema en sí es un problema masivo que muchas empresas y académicos han estado tratando de resolver/perfeccionar durante décadas. Así que un mes está lejos de ser suficiente tiempo para resolver este problema. Pero, a pesar de todos estos desafíos, seguimos adelante y nos aseguramos de entregar.
Conclusión
En esta publicación, me hubiera encantado dar una explicación más detallada de nuestras soluciones. Así como proporcionar una conclusión adecuada explicando lo que descubrimos y los resultados finales. Pero, lamentablemente, mis compañeros y yo firmamos un Acuerdo de No Divulgación (NDA) que nos impide compartir cualquier cosa confidencial sobre este proyecto. Toda la información que proporcioné arriba es pública y se puede acceder desde internet.
Durante este proyecto, realmente aprendimos a usar ROS y crear simulaciones utilizando ROS y Gazebo. También obtuvimos una mejor comprensión en el campo de investigación de la detección de deslizamiento de ruedas. También tuvimos el honor de reunirnos con algunos académicos/investigadores del Laboratorio de Navegación de WVU.
Sabiendo todo esto, debo decir que este proyecto me permitió asumir una posición de liderazgo en el equipo, servir como educador para ayudar a mis compañeros a comprender mejor ROS, y me proporcionó más experiencia en ROS, Gazebo y Python. También me expuso al problema del deslizamiento de ruedas, un problema del que no estaba consciente hasta trabajar en este proyecto. En general, estoy agradecido de que Lunar Outpost se tomara el tiempo de su apretada agenda, especialmente durante COVID, para permitirnos trabajar en este proyecto. También estoy agradecido de haber tenido compañeros de equipo increíbles que trabajaron muy duro en este proyecto.