Desarrolla la Computadora de Vuelo de tu CubeSat

La Columna Vertebral de tu Misión Espacial

Carlos Duarte

Fecha: 2023-06-26


Desde su aparición, hace ya más de 20 años, los CubeSats se han convertido en una herramienta invaluable para la exploración espacial, la educación y la investigación científica. Estos pequeños satélites ofrecen una plataforma flexible y de bajo costo para realizar una amplia gama de misiones en el espacio. Una parte esencial de cualquier CubeSat es su computadora de vuelo, que actúa como el cerebro del satélite y es responsable de controlar y coordinar todas las operaciones a bordo.

 

¿Qué es una computadora de vuelo y cuáles son sus funciones?

 

Desarrolla tu misión CubeSat

 

Una computadora de vuelo, también conocida como unidad de procesamiento de datos (DPU, por sus siglas en inglés), es el subsistema central de un CubeSat. Se encarga de ejecutar el software de control de la misión y proporcionar un entorno confiable para el funcionamiento de los demás subsistemas a bordo. Las funciones principales de la computadora de vuelo son:

 

  • Procesamiento de datos: La DPU realiza el procesamiento de datos y ejecuta los algoritmos necesarios para analizar y tomar decisiones basadas en los datos recibidos de los diferentes sensores a bordo.

 

  • Comunicaciones: La computadora de vuelo se encarga de gestionar las comunicaciones del CubeSat, tanto para recibir comandos desde la estación terrestre como para transmitir datos científicos y telemetría a la Tierra.

 

  • Gestión de energía: La DPU supervisa y controla el consumo de energía del CubeSat, asegurando un uso eficiente de los recursos disponibles y evitando problemas de sobrecarga o agotamiento de las baterías.

 

  • Control de la orientación y la órbita: La computadora de vuelo utiliza sensores y actuadores para controlar la orientación y la posición del CubeSat en el espacio, asegurando así que se mantenga en la trayectoria correcta y en orientación deseada.

 

¿Cómo se comunica la computadora de vuelo con los demás subsistemas del CubeSat?

 

La computadora de vuelo se comunica con los demás subsistemas del CubeSat a través de buses de datos, como el bus I2C, el SPI o el UART, entre otros. Estos buses permiten la transferencia de información entre la DPU y los sensores, actuadores y otros dispositivos a bordo. La comunicación puede ser bidireccional, lo que significa que la computadora de vuelo puede enviar comandos a los subsistemas y recibir datos de ellos, o puede ser unidireccional, donde la DPU solo recibe datos de los sensores o envía comandos a los actuadores.

 

Componentes de la computadora de vuelo y su interacción

 

La computadora de vuelo generalmente consta de varios componentes, incluyendo:

 

  • Microcontrolador o microprocesador: Es el corazón de la DPU y realiza todas las operaciones de procesamiento de datos y control.

 

  • Memoria: Almacena el software de control de la misión, así como los datos temporales y permanentes necesarios para las operaciones.

 

  • Interfaces de comunicación: Establecen la conexión con otros subsistemas del CubeSat a través de buses de datos, como mencionamos anteriormente.

 

  • Watch Dog Timer: Es un temporizador que sirve para reiniciar el software en caso de una eventual pérdida de control del flujo de instrucciones..

 

¿Cómo seleccionar la computadora de vuelo?

 

Seleccionar la computadora de vuelo adecuada para una misión CubeSat requiere considerar diversos aspectos. En primer lugar, se deben dimensionar los parámetros de la computadora como el tamaño de su memoria y su capacidad de procesamiento, entre otros. Para hacer  esto, se deben considerar varios factores, como la complejidad de la misión, los requisitos de comunicación, los algoritmos de control, y la cantidad de datos que se deben adquirir y procesar a bordo. Es importante encontrar un equilibrio entre la potencia de procesamiento requerida y las limitaciones de energía y peso del CubeSat. Un enfoque eficaz implica un análisis detallado de los requisitos de la misión y la selección de una computadora de vuelo que pueda cumplir con esos requisitos de manera eficiente y confiable.

 

Otros factores a considerar incluyen la robustez del hardware, la disponibilidad de interfaces de comunicación compatibles con los demás subsistemas del CubeSat y la capacidad de operar de manera confiable en el entorno espacial. Una investigación exhaustiva y consultar a proveedores confiables de tecnología espacial puede ayudar a identificar la mejor opción de computadora de vuelo para una misión CubeSat específica.

 

Desarrollo de software para un CubeSat

 

El desarrollo de software para un CubeSat sigue una estructura jerárquica, donde cada capa desempeña un papel específico en el funcionamiento del satélite. Estas capas incluyen:

 

  • Manejadores o Drivers: Son los componentes de bajo nivel que permiten la comunicación directa con los sensores y actuadores a través de los buses de datos.

 

  • Sistema operativo: Proporciona una capa de abstracción para gestionar los recursos de hardware y proporcionar una interfaz común para las aplicaciones de nivel superior. En un CubeSat generalmente se emplea un sistema operativo de tiempo real como el FreeRTOS.

 

  • Middleware: Actúa como un puente de comunicación entre el sistema operativo y las aplicaciones, proporcionando servicios de comunicación, almacenamiento y gestión de datos. Un ejemplo de middleware para un CubeSat desarrollado por la NASA podría ser el CubeSat Space Protocol (CSP) que es un protocolo de red diseñado para facilitar la comunicación entre los componentes del CubeSaty con la estación terrestre.

 

  • Aplicaciones: Son los programas de software específicos de la misión que realizan tareas como el control de actitud, la adquisición de datos científicos y el procesamiento de datos.

 

Estándares de software para CubeSats

 

Para facilitar la interoperabilidad y el intercambio de componentes y software entre diferentes CubeSats, se han desarrollado estándares de software, como el CubeSat Space Protocol (CSP) y el CubeSat Space Protocol Space Packet Protocol (CSP SPP). Estos estándares definen el formato de los paquetes de datos, las reglas de comunicación y otros aspectos técnicos necesarios para la compatibilidad y el intercambio de información entre los satélites.

 

Ciclo de desarrollo de software para una misión CubeSat

 

El desarrollo de software para una misión CubeSat sigue un ciclo de desarrollo típico, que incluye las siguientes etapas:

 

  • Definición de requisitos: Se definen los objetivos y las funcionalidades del software, teniendo en cuenta las necesidades científicas y de la misión.

 

  • Diseño: Se crea una arquitectura de software que define las interacciones entre los diferentes componentes y subsistemas.

 

  • Implementación: Se escribe el código de programación siguiendo los estándares y las mejores prácticas de desarrollo de software.

 

  • Pruebas: Se realizan pruebas exhaustivas para verificar el funcionamiento y la confiabilidad del software en diferentes escenarios y condiciones.

 

  • Validación y verificación: Se verifica que el software cumple con los requisitos establecidos y se valida su rendimiento mediante pruebas en entornos simulados o en tierra.

 

  • Despliegue: El software se carga en la computadora de vuelo y se realiza una última revisión antes del lanzamiento.

 

Recomendaciones para desarrollar software confiable para una misión CubeSat

 

  • Establecer requisitos claros: Es fundamental definir los requisitos del software desde el principio y asegurarse de que sean alcanzables y medibles.

 

  • Seguir estándares y mejores prácticas: Utilizar estándares de desarrollo de software y seguir las mejores prácticas de la industria puede mejorar la calidad y la confiabilidad del software.

 

  • Realizar pruebas exhaustivas: Las pruebas rigurosas son esenciales para identificar posibles errores y garantizar que el software funcione correctamente en diferentes escenarios y condiciones.

 

  • Implementar mecanismos de seguridad: Dado que los CubeSats están expuestos a entornos hostiles, es importante implementar mecanismos de seguridad para proteger el software y los datos a bordo.

 

  • Documentar adecuadamente: Mantener una documentación completa y precisa del software desarrollado facilita la comprensión, el mantenimiento y la mejora del sistema en el futuro.

 

Así, el desarrollo de una computadora de vuelo para un CubeSat es una tarea desafiante pero crucial en cualquier misión espacial. Desde la comunicación con los subsistemas hasta la implementación de software confiable, cada paso es fundamental para garantizar el éxito de la misión. Siguiendo las mejores prácticas y estándares de la industria, es posible desarrollar un software robusto y confiable que permita a los CubeSats llevar a cabo investigaciones científicas y exploraciones espaciales de manera efectiva.



Etiquetas: CubeSats,exploración espacial,educación,investigación científica,plataforma flexible,bajo costo,misiones espaciales,computadora de vuelo,cerebro del satélite,control de operaciones,coordinación,CubeSat.

Revista Hacia El Espacio de divulgación de la ciencia y tecnología espacial de la Agencia Espacial Mexicana.