ARES — Amateur Rocket Embedded System
ARES es una plataforma de gestión de vuelo integrada para cohetes amateur. El sistema centraliza el registro de datos, el control de misión y la telemetría en una placa base electrónica diseñada con una arquitectura flexible. Esto permite que el sistema evolucione y se adapte a distintos tipos de hardware según los objetivos de cada lanzamiento.
El sistema opera como una pila tecnológica completa (full-stack) con responsabilidades bien definidas:
🏗️ Arquitectura del sistema ARES
| Componente | Función Principal | Descripción Técnica |
| 🧭 GNC (Navegación) | Fusión de sensores | Lectura de IMU, barómetro y GPS mediante protocolos I2C y UART. |
| 📜 Motor AMS | Control de misión | Ejecución de scripts en texto plano para gestionar estados (apogeo, paracaídas). |
| 📡 Data Link (Radio) | Telemetría | Uso del protocolo binario APUS (estándar ESA adaptado) para bajo ancho de banda. |
| 💻 GSE (Tierra) | Interfaz de operaciones | Punto de acceso WiFi con API REST para configuración y descarga de datos. |
🧠 AMS: el cerebro programable de ARES
La característica que define a ARES es su motor de misión, AMS (Ares Mission Script). En la mayoría de ordenadores de vuelo amateur, la lógica de la misión está escrita directamente en el firmware. Si quieres cambiar una condición de despliegue, modificar la telemetría o ajustar un umbral de seguridad, debes recompilar y volver a cargar el software completo. ARES adopta una filosofía diferente: la misión se describe mediante un lenguaje declarativo propio que se interpreta en tiempo real durante el vuelo. Esto permite:
- Modificar perfiles de vuelo sin recompilar firmware.
- Utilizar el mismo hardware para misiones completamente distintas.
- Validar la lógica de misión antes del lanzamiento.
- Mantener separada la electrónica de la lógica operacional.
Un ejemplo simplificado de AMS sería:
state WAIT:
transition to FLIGHT when TC.command == LAUNCH
state FLIGHT:
transition to DESCENT when BARO.alt < 50
state DESCENT:
transition to LANDED when GPS.speed < 1
Con este enfoque, el firmware actúa como una plataforma de ejecución mientras que la misión se convierte en un archivo configurable que puede cargarse mediante WiFi antes del lanzamiento.
📡 Telemetría y comunicaciones
ARES incorpora un sistema de telemetría diseñado para entornos con ancho de banda limitado. La comunicación utiliza un protocolo binario propio inspirado en el estándar PUS de la Agencia Espacial Europea (ESA), adaptado para sistemas embebidos mediante una implementación ligera denominada APUS.
Actualmente el enlace de radio se realiza mediante módulos LoRa de 868 MHz, permitiendo transmitir:
- Telemetría de estado.
- Eventos de misión.
- Alertas de seguridad.
- Confirmaciones de comandos.
Mientras la información esencial se transmite por radio, los datos de alta frecuencia se almacenan localmente en memoria flash para su posterior análisis tras la recuperación del vehículo.
🌐 Ground Segment (GSE)
La interacción con el vehículo se realiza mediante una estación de tierra integrada. El ordenador de vuelo crea un punto de acceso WiFi que permite:
- Cargar nuevas misiones AMS.
- Configurar parámetros del sistema.
- Consultar el estado de sensores y subsistemas.
- Descargar registros de vuelo.
- Armar el sistema antes del lanzamiento.
Todo ello se expone mediante una API REST, facilitando el desarrollo de herramientas de monitorización y control.
🚀 Próximos pasos
ARES continúa evolucionando hacia una plataforma de vuelo más completa. Las siguientes versiones incorporarán soporte para actuadores capaces de ejecutar acciones físicas durante la misión:
- Despliegue de paracaídas principal y drogue.
- Activación de sistemas pirotécnicos.
- Separación de etapas.
- Control aerodinámico activo.
- Sistemas de recuperación avanzados.
La visión final es convertir ARES en una plataforma abierta, modular y reutilizable para proyectos de cohetería experimental.
En la aviónica amateur, un error de software no es un «bug» molesto; es la pérdida total del cohete o un riesgo de seguridad en la rampa. Por eso, ARES no se programa como un proyecto de fin de semana, sino siguiendo estándares de misión crítica:
🛡️ Los 8 pilares de control de ARES
| Estándar | Enfoque Principal | Objetivo en el Vuelo |
| 🛰️ PO10 (NASA JPL) | Determinismo estricto | Código verificable con reglas de oro (ej. nada de recursión infinita). |
| 🚗 MISRA C / C++ | Seguridad de tipos | Eliminar comportamientos impredecibles del lenguaje C/C++. |
| 🔒 CERT C | Defensa de datos | Validación de entradas para evitar bloqueos por datos corruptos. |
| 📡 APUS (ESA PUS) | Disciplina de RF | Protocolo de paquetes profesional para que la telemetría sea íntegra. |
| ✈️ DO-178C | Proceso de seguridad | Metodología de desarrollo inspirada en la certificación aviónica civil. |
| ⏱️ RTOS Discipline | Concurrencia segura | Gestión de tareas y recursos sin condiciones de carrera. |
| 📝 Doxygen (DOX) | Documentación técnica | Código auto-explicativo y trazable para auditorías de seguridad. |
| 🌐 REST API | Interfaz de tierra | Comunicación estandarizada y segura vía WiFi antes del despegue. |
🔓 Filosofía Open Source en ARES
| Elemento | Tipo de Licencia | ¿Qué significa para el usuario? |
| 🔌 Hardware (PCB) | Hardware Libre | (En desarrollo) Puedes descargar los archivos de diseño, fabricar tu propia placa, modificar el circuito o incluso vender versiones mejoradas. |
| 💻 Software (Firmware) | GPLv3 | El código es abierto. Si alguien lo mejora o lo usa en otro proyecto, está obligado a compartir esas mejoras bajo la misma licencia libre. |
El proyecto ARES está alojado en GitHub. Es software libre, así que si quieres colaborar con el proyecto o usarlo por tu cuenta, es todo tuyo.
