el segmento de tierra del satélite upmsat-2

7
EL SEGMENTO DE TIERRA DEL SAT ´ ELITE UPMSAT-2 * Alejandro Alonso, Ra´ ul Torres, Juan Zamorano, Jorge Garrido, Juan A. de la Puente Information Processing and Telecommunications Center (IPTC-UPM) Universidad Polit´ ecnica de Madrid [email protected] Resumen UPMSat-2 es una misi´on experimental consiste en el dise˜ no, lanzamiento y operaci´on de un mini- sat´ elite en ´ orbita. Su principal objetivo es servir de plataforma de demostraci´on tecnol´ogica para la ejecuci´on de diversos experimentos y para fi- nes did´acticos. El grupo STRAST se encarga de desarrollar el software del segmento de tierra y del segmento de vuelo. La comunicaci´on entre el sat´ elite y el segmento de tierra se lleva a cabo mediante un enlace que per- mite intercambiar mensajes de telecomandos y de telemetr´ ıa. El segmento de tierra debe gestionar la conexi´on con el sat´ elite, intercambiar mensa- je y operar con el sat´ elite. Un aspecto importante en este segmento es una interfaz de usuario que permite gestionar los mensajes generados durante toda la vida del sat´ elite. En este art´ ıculo se describen los aspectos m´as relevantes del desarrollo del segmento de tierra. Los objetivos del desarrollo han sido, obviamen- te, satisfacer los requisitos identificados y explorar ecnicas actuales relacionados con aspectos impor- tantes como disponibilidad o tolerancia de fallos. La arquitectura de sistema est´a basada en los re- quisitos mencionados. Est´a compuesta de un con- junto de componentes que se pueden ejecutar en un sistema distribuido y compatible su despliegue en la computaci´on en la nube. Un subsistema in- teracciona con la antena de comunicaci´on para ac- tualizar los datos. El almacenamiento se basa en una base de datos Cassandra, que permite la repli- caci´on de los datos para tolerar fallos. La interfaz web est´a basada en Django y Zeppelin, y su di- se˜ no permite disponer de instancias replicadas. El sistema se ha desarrollado en Ada y Python. Palabras clave: software espacial, segmento de tierra, sistemas de tiempo real * Este art´ ıculo ha sido financiado parcialmente por el Plan Nacional de I+D+i, proyecto PRECON-I4 (TIN2017-86520-C3-2-R). 1. Introducci´ on El proyecto UPMSat-2 tiene por objetivo la cons- trucci´ on de un microsat´ elite experimental que sir- va como demostrador tecnol´ ogico y para el des- pliegue de aplicaciones cient´ ıficas y educativas. El proyecto est´ a liderado por el Instituto Ignacio da Riva (IDR-UPM), que dirige y coordina la misi´ on y es responsable del dise˜ no y la construcci´ on de la mayor parte de los componentes del sat´ elite, con la colaboraci´ on de otros grupos universitarios y em- presas del sector espacial. El grupo STRAST (Sis- temas de Tiempo Real y Arquitectura de Servicios Inform´ aticos) del IPTC-UPM tiene a su cargo el desarrollo de todo el software de la misi´ on para los segmentos de vuelo y tierra. UPMSat-2 es un microsat´ elite con 50 kg de masa, cuya envolvente geom´ etrica es un paralelep´ ıpedo de 0,5 × 0,5 × 0,6 m. Su lanzamiento est´ a previsto en septiembre de 2019, sobre una ´ orbita polar de unos 600 km de altitud, con una vida ´ util estimada de 2 a˜ nos. El sistema de gesti´ on de datos (OBDH) est´ a ba- sado en un computador embarcado (OBC) desa- rrollado por TECNOBIT, con la colaboraci´ on del grupo STRAST y del IDR. El computador tiene un procesador LEON3 con arquitectura SPARCv8, 4 MB de memoria RAM, 2 MB de EEPROM, 64 canales de entrada anal´ ogica y 112 puntos de E/S digital. Este computador realiza to- das las funciones de gesti´ on de datos, control de potencia y control de actitud en el sat´ elite. La car- ga ´ util consiste en una serie de experimentos sobre algunos subsistemas, sobre los que se espera poder obtener informaci´ on sobre su comportamiento en vuelo que, en su caso, se pueda utilizar para su calificaci´ on. El software de la misi´ on UPMSat-2 tiene dos com- ponentes principales: Segmento de vuelo: incluye el software embar- cado en el sat´ elite, cuyas principales funciones son: Arranque, reinicio y apagado ordenado. Control de modos de funcionamiento e incidencias. XL Jornadas de Automática Computadores y Control https://doi.org/10.17979/spudc.9788497497169.119 119

Upload: others

Post on 29-Jul-2022

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: El segmento de tierra del satélite UPMSAT-2

EL SEGMENTO DE TIERRADEL SATELITE UPMSAT-2∗

Alejandro Alonso, Raul Torres, Juan Zamorano, Jorge Garrido, Juan A. de la PuenteInformation Processing and Telecommunications Center (IPTC-UPM)

Universidad Politecnica de Madrid

[email protected]

Resumen

UPMSat-2 es una mision experimental consiste enel diseno, lanzamiento y operacion de un mini-satelite en orbita. Su principal objetivo es servirde plataforma de demostracion tecnologica parala ejecucion de diversos experimentos y para fi-nes didacticos. El grupo STRAST se encarga dedesarrollar el software del segmento de tierra y delsegmento de vuelo.

La comunicacion entre el satelite y el segmento detierra se lleva a cabo mediante un enlace que per-mite intercambiar mensajes de telecomandos y detelemetrıa. El segmento de tierra debe gestionarla conexion con el satelite, intercambiar mensa-je y operar con el satelite. Un aspecto importanteen este segmento es una interfaz de usuario quepermite gestionar los mensajes generados durantetoda la vida del satelite.

En este artıculo se describen los aspectos masrelevantes del desarrollo del segmento de tierra.Los objetivos del desarrollo han sido, obviamen-te, satisfacer los requisitos identificados y explorartecnicas actuales relacionados con aspectos impor-tantes como disponibilidad o tolerancia de fallos.

La arquitectura de sistema esta basada en los re-quisitos mencionados. Esta compuesta de un con-junto de componentes que se pueden ejecutar enun sistema distribuido y compatible su despliegueen la computacion en la nube. Un subsistema in-teracciona con la antena de comunicacion para ac-tualizar los datos. El almacenamiento se basa enuna base de datos Cassandra, que permite la repli-cacion de los datos para tolerar fallos. La interfazweb esta basada en Django y Zeppelin, y su di-seno permite disponer de instancias replicadas. Elsistema se ha desarrollado en Ada y Python.

Palabras clave: software espacial, segmento detierra, sistemas de tiempo real

∗Este artıculo ha sido financiado parcialmente porel Plan Nacional de I+D+i, proyecto PRECON-I4(TIN2017-86520-C3-2-R).

1. Introduccion

El proyecto UPMSat-2 tiene por objetivo la cons-truccion de un microsatelite experimental que sir-va como demostrador tecnologico y para el des-pliegue de aplicaciones cientıficas y educativas. Elproyecto esta liderado por el Instituto Ignacio daRiva (IDR-UPM), que dirige y coordina la misiony es responsable del diseno y la construccion de lamayor parte de los componentes del satelite, con lacolaboracion de otros grupos universitarios y em-presas del sector espacial. El grupo STRAST (Sis-temas de Tiempo Real y Arquitectura de ServiciosInformaticos) del IPTC-UPM tiene a su cargo eldesarrollo de todo el software de la mision para lossegmentos de vuelo y tierra.

UPMSat-2 es un microsatelite con 50 kg de masa,cuya envolvente geometrica es un paralelepıpedode 0,5 × 0,5 × 0,6 m. Su lanzamiento esta previstoen septiembre de 2019, sobre una orbita polar deunos 600 km de altitud, con una vida util estimadade 2 anos.

El sistema de gestion de datos (OBDH) esta ba-sado en un computador embarcado (OBC) desa-rrollado por TECNOBIT, con la colaboraciondel grupo STRAST y del IDR. El computadortiene un procesador LEON3 con arquitecturaSPARCv8, 4 MB de memoria RAM, 2 MB deEEPROM, 64 canales de entrada analogica y 112puntos de E/S digital. Este computador realiza to-das las funciones de gestion de datos, control depotencia y control de actitud en el satelite. La car-ga util consiste en una serie de experimentos sobrealgunos subsistemas, sobre los que se espera poderobtener informacion sobre su comportamiento envuelo que, en su caso, se pueda utilizar para sucalificacion.

El software de la mision UPMSat-2 tiene dos com-ponentes principales:

Segmento de vuelo: incluye el software embar-cado en el satelite, cuyas principales funcionesson:

• Arranque, reinicio y apagado ordenado.

• Control de modos de funcionamiento eincidencias.

XL Jornadas de Automática Computadores y Control

https://doi.org/10.17979/spudc.9788497497169.119 119

Page 2: El segmento de tierra del satélite UPMSAT-2

• Control de actitud.

• Recogida de datos de estado interno ynavegacion.

• Vigilancia del comportamiento de lossubsistemas y del estado y configuracion.

• Control de comunicaciones con tierra (te-lemetrıa y telecomandos).

• Arranque y control de los experimentos.

Segmento de tierra: incluye el software de laestacion de seguimiento en tierra y de otrossistemas complementarios. Sus funciones masimportantes son:

• Determinacion de la posicion del satelite.

• Calculo de parametros de orbita y tiem-pos de observacion.

• Recepcion, descodificacion y procesa-miento de mensajes de telemetrıa.

• Composicion, codificacion y transmisionde telecomandos.

• Gestion de las interfaces del operador ylos investigadores

• Generacion de informes y explotacion delos datos disponibles.

En este documento se explican los elementos masimportantes del desarrollo del segmento de tierra:requisitos fundamentales, arquitectura del softwa-re, soluciones tecnicas empleadas y entorno depruebas.

2. El segmento de tierra de lamision UPMSat-2

2.1. Descripcion

La figura 1 ilustra la interaccion entre el sateli-te y la estacion de la tierra. El satelite tiene unaorbita polar heliosıncrona con un perıodo de apro-ximadamente 97 minutos. Cada 24 horas hay dosperıodos de visibilidad del satelite desde la esta-cion de tierra, cada uno de ellos de un maximo de10 minutos de duracion. Durante los perıodos devisibilidad, las comunicaciones con la nave espa-cial se llevan a cabo mediante un enlace de radiodual en la banda VHF de 400 MHz, con una ta-sa de transferencia de 9600 bit/s. Durante el restode la orbita se emiten periodicamente mensajes detelemetrıa basica en una frecuencia de aficionadosen la misma banda de VHF.

En un periodo de visibilidad se intercambian dostipos de mensajes:

Telecomandos (TC), enviados desde tierra alsatelite. Estos mensajes se usan para contro-lar el comportamiento del satelite, su modo de

Figura 1: Comunicacion entre el satelite y el seg-mento de tierra.

funcionamiento, la configuracion de los senso-res, la configuracion del algoritmo de controlde actitud, y el inicio y fin de los experimen-tos.

Telemetrıa (TM), mensajes enviados desdesatelite a la estacion de tierra. Los mas re-levantes son:

• Hello: Informacion sobre el estado actualdel sistema.

• Event : Informacion de sucesos o erroresrelevantes.

• Housekeeping : Datos completos de todoslos sensores del sistema.

• Experiment : Datos de los sensores acti-vos en el experimento.

2.2. Requisitos basicos

Los requisitos basicos funcionales se han descritoen la seccion 1. Ademas, es preciso cumplir lossiguientes requisitos no funcionales:

Disponibilidad: Todos los mensajes de tele-metrıa recibidos deben almacenarse y estardisponibles para los usuarios (operadores e in-vestigadores) en todo momento. El objetivoes que se pueda consultar siempre la informa-cion intercambiada entre el satelite y la esta-cion de tierra, puesto que futuras emisionesde telecomandos pueden depender de algunatelemetrıa recibida. Para que los datos estendisponibles en todo momento se deben habi-litar los mecanismos de replicacion necesariospara garantizar su integridad.

Tolerancia a fallos y fiabilidad: el sistema de-be ser capaz de responder ante fallos, tantoen emision como en recepcion. De esta mane-ra, es imprescindible controlar la replicacionde los datos del sistema, realizar copias de se-guridad periodicamente y mantener la infor-macion en varios equipos separados geografi-camente

Flexibilidad: el desarrollo de la estacion detierra del satelite y la interfaz de usuario con-

XL Jornadas de Automática Computadores y Control

https://doi.org/10.17979/spudc.9788497497169.119 120

Page 3: El segmento de tierra del satélite UPMSAT-2

lleva mucho esfuerzo de programacion. Es pri-mordial que se garantice las flexibilidad delsoftware, de modo que sea sencillo de modifi-car para adaptarlo a los cambios que requierael comportamiento del satelite.

Seguridad: Solo los usuarios con permiso de-ben poder acceder y modificar los datos alma-cenados. Un acceso no autorizado a los datosde telemetrıa o un envıo malicioso de teleco-mandos podrıa resultar en un ataque que inu-tilizara una mision de enorme envergadura yvalor.

3. Arquitectura de software

Figura 2: Arquitectura de software del segmentode tierra.

En la figura 2 se muestran los componentes del sis-tema y sus conexiones. A continuacion, se propor-ciona una breve descripcion de estos componentes:

Interfaz web: es el componente desde el que elusuario puede crear telecomandos para enviaral satelite y consultar la telemetrıa recibida.Todos los datos que utiliza los extrae directa-mente a partir de consultas a la base de datossobre la que se apoya.

Base de datos: modulo encargado de almace-nar toda la informacion que maneja el pro-yecto UPMSat-2. Se usan varias tablas paraalmacenar los telecomandos pendientes de en-viar, los telecomandos enviados, la telemetrıay los parametros de configuracion.

Subsistema de comunicacion: formado por elmodulo de comunicacion y el modulo de in-termediacion, es el encargado de transmitir yprocesar la informacion intercambiada entrela interfaz de usuario y el sistema de antena.La informacion transmitida por el satelite seobtiene de la antena almacenada en fichero,y el subsistema de intermediacion realiza elprocesamiento necesario para almacenar estainformacion en la base datos. Por otra par-te, el subsistema toma de la base de datos

los telecomandos generados desde la interfazde usuario, y los procesa para producir los fi-cheros adecuados para su transmision por laantena.

Subsistema de antena: es el encargado de in-tercambiar de forma directa los mensajes deTM y TC con el satelite.

Subsistema de visualizacion: modulo adicio-nal que extiende la interfaz de usuario pa-ra mostrar los datos intercambiados con elsatelite de una forma grafica, consiguiendo asıuna lectura mas sencilla e intuitiva del estadodel satelite.

El diagrama de secuencia en la figura 3 ilustra elcomportamiento dinamico de la gestion de teleco-mandos en la arquitectura. El usuario interaccio-na con el sistema usando la interfaz web (parte iz-quierda de la figura). En este proceso, puede crear,examinar, modificar o borrar los TC pendientes deenviar. Estas operaciones se actualizan en la basede datos. El componente de comunicacion solicitarecibir los TC pendientes en la base de datos alde intermediacion, cuando se aproxima la comuni-cacion con el satelite1. A continuacion, el compo-nente de intermediacion transfiere los contenidosde la tabla de TC pendientes a la tabla de TC en-viados. A partir de este momento, los contenidosde esta tabla no se pueden modificar. El modulode comunicacion espera a recibir un mensaje delsatelite para indicar que hay visibilidad. Cuandoesto ocurre se envıan todos los TC al satelite. Elmodulo de comunicacion puede recibir un mensa-je de reconocimiento del subsistema de la antena,indicando que el TC se ha enviado. El satelite, porsu parte, no confirma inmediatamente la recepciondel TC, que se comprueba unicamente al recibir elmensaje de telemetrıa de respuesta.

4. Decisiones tecnicas

4.1. Base de datos

La base de datos es un componente fundamentalde software de tierra, ya que debe mantener todala historia de TC y TM para permitir en todo mo-mento el analisis del comportamiento del satelitey de los experimentos realizados. En el analisis, sedefinieron dos tipos de requisitos. En primer lu-gar, es necesario un rendimiento adecuado de labase de datos. Aunque en en este caso no se es-peran grandes problemas en cuanto al rendimien-to del sistema, el diseno se ha efectuado teniendoen cuenta la posible extension del sistema a otras

1La dinamica del satelite permitira conocer, conbastante precision, cuando habra cobertura

XL Jornadas de Automática Computadores y Control

https://doi.org/10.17979/spudc.9788497497169.119 121

Page 4: El segmento de tierra del satélite UPMSAT-2

Figura 3: Diagrama de secuencia de envıo de Telecomandos.

aplicaciones en las que se realicen tratamientos dedatos masivos en entornos similares. El segundotipo de requisito es la tolerancia de fallos. El sis-tema debe mantener la informacion aunque falleun dispositivo basico, ya que los datos obtenidosdel satelite no se pueden reemplazar en ningun ca-so.

La exploracion de las herramientas disponiblesaconsejo el uso del software de base de datos Apa-che Cassandra [7]. Este software esta orientado agestionar sistemas temporales, y es capaz de ges-tionar datos masivos, con un tiempo de accesomuy eficiente, con bibliotecas para integrar con va-rios lenguajes de programacion, y redundancia dela base datos muy facil de configurar. Cassandraes un sistema no SQL, por lo que no es una so-lucion adecuada para todos los tipos de sistemas,pero en este caso resulta muy interesante por sucapacidad para tratar series temporales asociadasa los mensajes.

4.2. Lenguajes de programacion

El lenguaje Ada [10] ha sido una herramienta fun-damental en el desarrollo del sistema de softwarevuelo, y en la conexion con la antena y gestion delos mensajes en la estacion de tierra. Sin embar-go, al realizar un prototipo de la interaccion entreestos componentes con la base de datos los resul-tados no fueron totalmente satisfactorios. Aunquela integracion con la base de datos es posible, la bi-blioteca de acceso a la misma es mejorable, y faltaflexibilidad en los cambios de la configuracion dela base de datos. En consecuencia, Ada se utilizounicamente en el componente de comunicacion.

Como alternativa se utilizo Python [8], un lenguajeinterpretado que soporta varios paradigmas: pro-

gramacion orientada a objetos, programacion im-perativa y programacion funcional. Es un lenguajemuy maduro, muy utilizado y con un gran nume-ro de bibliotecas disponibles. Sus caracterısticaspermiten desarrollar codigo eficiente y flexible demantener. Para el proyecto se ha utilizado una bi-blioteca que se integra perfectamente con Cassan-dra. Por estas razones, se decidio usar este len-guaje en el componente de intermediacion paramantener y gestionar los mensajes en la base dedatos.

La biblioteca de integracion con la base de datos sebasa en el modelo ORM (Object-Relational Map-ping). Este paradigma relaciona las tablas de labase de datos con clases del lenguaje de progra-macion. Por ejemplo, la forma de generar una filade una tabla requiere crear un objeto equivalente,rellenar los datos del mismo y guardarlo directa-mente en la base de datos, sin que sea necesarioconocer los clasicos lenguajes de gestion de las ba-ses de datos, como SQL.

Para conectar los componentes de comunicacione intermediacion, al estar implementados en doslenguajes de programacion diferentes, se conside-raron dos alternativas diferentes. La primera con-siste en usar una biblioteca de Ada para conec-tar con Python. La segunda opcion es utilizar unaconexion con sockets entre ambos componentes,utilizando un lenguaje intermedio para enviar yrecibir los mensajes. Esta es la solucion adoptada,ya que permite desacoplar la gestion de la ante-na y el mantenimiento de los datos y la interfazde la web. Los usuarios pueden interaccionar conlos mensajes de TC y TM almacenados en la ba-se de datos sin tener que usar en el computadorconectado a la antena.

El lenguaje intermedio utilizado para la interac-

XL Jornadas de Automática Computadores y Control

https://doi.org/10.17979/spudc.9788497497169.119 122

Page 5: El segmento de tierra del satélite UPMSAT-2

cion entre los dos componentes se basa en el len-guaje XML. Se han definido dos esquemas de TMy TC. El componente de comunicacion realiza latransformacion entre los ficheros de XML y losmensajes enviados o recibidos. El componente deintermediacion realiza las operaciones equivalentesentre los ficheros recibidos y el codigo de acceso ala base de datos.

4.3. Interfaz web

Hay una gran variedad de herramientas (frame-works) para generar interfaces web e integrarlascon otras herramientas, como bases de datos osoftware de visualizacion. En este caso se consi-dero como primera opcion el uso de una herra-mienta programada en Python, con objeto de noutilizar lenguajes de programacion adicionales. Laherramienta seleccionada es DJango [2], un frame-work maduro, basado en paradigmas actuales, co-mo MVC (Model View Controller), y con bibliote-cas que facilitan la integracion con Cassandra. Laexperiencia con DJango ha sido muy satisfactoria.

4.4. Herramientas de visualizacion

El tiempo de vida previsto para la misionUPMSat-2 es de dos anos. El software embarcadoen el satelite toma medidas de todos los sensorescada minuto, y enviar los valores correspondientesa tierra. Tambien hay que enviar a tierra los va-lores de los sensores de los experimentos cuandoesten activos. Todo ello resulta en una enorme can-tidad de datos recibidos en la estacion de tierra,que se deben analizar para estudiar el comporta-miento del satelite y los resultados de los experi-mentos. Para facilitar esta tarea se se han explora-do distintas opciones de software de visualizacionde datos, entre las que se ha seleccionado parafacilitar este esfuerzo. Finalmente, se selecciono laherramienta de visualizacion de datos Zeppelin [1],que esta bien integrada con Cassandra y disponede numerosos interpretes de backend para la pro-gramacion y generacion de informes y graficas.

Actualmente se esta empezando a usar esta he-rramienta. Se han desarrollado dos tipos de in-formes que se generan automaticamente cuandose conecta con el satelite y cuando se ejecuta unexperimento, respectivamente. Con su ayuda, losoperadores e investigadores pueden acceder a lainformacion recibida de forma completa e inme-diata.

5. Pruebas del segmento de tierra

En el desarrollo del software de tierra se ha segui-do un ciclo de vida de pruebas en V tradicional.

En primer lugar se han efectuado pruebas unita-rias para comprobar el correcto funcionamiento decada componente del sistema. Mas adelanta se hanllevado a cabo pruebas de integracion al ir conec-tando los componentes de la arquitectura. En es-te proceso se han utilizado suplentes (stubs) paraemular el comportamiento del satelite.

En la fase final se han realizado pruebas del sis-tema completo. Para ello, se ha usado la maquetaque se muestra parcialmente en la figura 4. Se tra-ta de disponer de un sistema equivalente al mos-trado en la figura 1. En la fotografıa se puede ob-servar el satelite completo, ya dispuesto para ellanzamiento. El satelite esta conectado medianteuna lınea serie a un computador que interaccionacon un monitor de software instalado en el compu-tador embarcado. De esta manera se pueden eje-cutar ordenes para cargar el software embarcadoen el satelite, arrancarlo y recibir trazas de la eje-cucion. El satelite esta conectado con una antena,que se conecta a otra antena equivalente situadaen una sala, y que esta conectada al computadorque ejecuta el software de comunicacion en tierra.El satelite y el computador de comunicaciones, portanto, intercambian mensajes de TM y TC realesmediante las antenas. La interfaz web permite ge-nerar telecomandos y acceder a los mensajes detelemetrıa recibidos. De esta forma es posible va-lidar el comportamiento completo del software dela mision en condiciones cercanas a las reales.

Las pruebas realizadas hasta ahora han sido satis-factorias. Actualmente, se estan realizando prue-bas adicionales, previas al sellado del satelite parasu transporte a la base de lanzamiento.

Figura 4: Ilustracion del sistema de prueba delsatelite.

XL Jornadas de Automática Computadores y Control

https://doi.org/10.17979/spudc.9788497497169.119 123

Page 6: El segmento de tierra del satélite UPMSAT-2

6. Conclusiones

Este artıculo describe aspectos relevantes del desa-rrollo del segmento de tierra de la mision UPMSat-2. En este desarrollo, se han perseguido dospropositos principales: satisfacer los requisitos delproyecto y emplear tecnicas actuales. Los requisi-tos funcionales basicos han sido: gestionar la co-municacion con el satelite, mantener los mensajesenviados en la comunicacion y proporcionar unainterfaz para que los operadores e investigadorespuedan controlar el comportamiento del satelitey analizar toda la informacion relacionada con elvuelo del satelite.

Las funciones generales de este segmento consis-ten en realizar las comunicaciones con el satelitey gestionar los mensajes intercambiados. La ar-quitectura de software del sistema ha servido paradirigir la implementacion del sistema. En la arqui-tectura, destacan los siguientes aspectos:

Integracion satisfactoria entre el componentede comunicacion con la antena y el resto delsistema.

Desacoplamiento de este componente con loscomponentes encargados de gestionar la basede datos.

Redundancia de la base de datos y la interfazweb

Un aspecto importante del desarrollo ha sido ex-plorar tecnicas actuales para satisfacer los requi-sitos funcionales y, en especial, los no funcionales.Se ha usado la base de datos Cassandra por sueficiencia de acceso y su facilidad de configuraciony despliegue de la redundancia de los datos. Ellenguaje Ada es ideal para integrarse con la ante-na y asegurar un comportamiento predecible en elenvıo y recepcion de mensajes.

En relacion al lenguaje Python, es destacable laeficiencia en el proceso de desarrollo, la disponi-bilidad de bibliotecas para integrar el codigo conotras herramientas usadas, y la flexibilidad en suevolucion y mantenimiento. El uso de la herra-mienta de aplicaciones web Django ha sido muysatisfactorio. Es una herramienta muy madura eintegrada con otros aspectos tecnicos en este desa-rrollo.

El prototipo del segmento de tierra se ha probadoen una maqueta, integrada con el satelite comple-to, en la que se implementa la comunicacion entreambos sistemas mediante el sistema de radio realde la mision. Las pruebas han sido satisfactoriasy permiten confiar en que el comportamiento delsatelite en vuelo sera correcto. En esta fase, se han

experimentado todos los mensajes de telemetrıa ytelecomando, y se ha evaluado la interfaz web y labase de datos. Actualmente se estan refinando al-gunos elementos del segmento de tierra, y se estadesarrollando el software de informes y acceso adatos de visualizacion.

English summary

THE GROUND SEGMENT OFTHE UPMSAT-2 SATELLITE

Abstract

UPMSat-2 is an experimental mission ai-med at designing, launching and operatinga mini-satellite on orbit. Its main objetiveis to develop a technological demonstrationplatform that can be used to carry out seve-ral experiments and as a teaching aid. TheSTRAST group is in charge of developingde software system for both the flight andground segments,

Communication between the flight andground segments is performed by means ofa radio link that enables telecommand andtelemetry messages to be exchanged. Theground segment must manage the commu-nications with the satellite, exchange therequired messages, and operate the satelli-te based on them. An important feature ofthe ground segment is to develop a user in-terface that allows operators to manage allthe messages exchanged during the lifetimeof the satellite.

This article is aimed at describing the mostimportant aspects of the development of theground segment software. The main objeti-ves of this development are complying withthe identified requirements and exploringthe use of state-of-the-art techniques re-lated to important characteristics, such asavailability and fault tolerance.

The system architecture is based on theserequirements. It consists of a set of com-ponents that can run on a distributed plat-form, and are compatible with deploymenton a cloud environment. There is a devo-ted subsystem for interacting with commu-nication antenna for data exchange. Datastorage is based on a Cassandra database,

XL Jornadas de Automática Computadores y Control

https://doi.org/10.17979/spudc.9788497497169.119 124

Page 7: El segmento de tierra del satélite UPMSAT-2

which provides for data replication for faulttolerance. There is a web-oriented user in-terface based on Django and Zeppelin, de-signe din a way allowing replicated instan-ces. The system has been developed usingAda and Python as programming langua-ges.

Keywords: Space software, ground seg-ment, real-time systems.

Referencias

[1] Apache Zeppelin. Web-based notebook.https://zeppelin.apache.org/, 2018.

[2] Django web framework.https://www.djangoproject.com, 2018.

[3] Alejandro Alonso, Emilio Salazar, andJuan A. de la Puente. Design of on-boardsoftware for an experimental satellite. In Jor-nadas de Tiempo Real — JTR-2013, 2103.

[4] Juan A. de la Puente, Jorge Garrido, Emi-lio Salazar, Juan Zamorano, and Alejan-dro Alonso. Using internet-based technolo-gies in a university satellite project. IFAC-PapersOnLine, 48(29):82 – 86, 2015.

[5] Juan A. de la Puente, Juan Zamorano, Ale-jandro Alonso, Jorge Garrido, Emilio Salazar,and Miguel A. de Miguel. Experience in spa-cecraft on-board software development. AdaUser Journal, 35(1):55–60, March 2014.

[6] Jorge Garrido, Juan Zamorano, Juan A. de laPuente, Alejandro Alonso, and Emilio Sala-zar. Ada, the programming language of choi-ce for the UPMSat-2 satellite. In Data Sys-tems in Aerospace — DASIA 2015. Eurospa-ce, 2015.

[7] Eben Hewitt and Jeff Carpenter. Cassandra:The Definitive Guide, 2nd Edition. O’ReillyMedia, 2016.

[8] Mark Lutz. Learning Python, 5th Edition.O’Reilly Media, 2013.

[9] Santiago Pindado, Elena Roibas-Millan, Ja-vier Cubas, Andres Garcıa, Angel Sanz,Sebastian Franchini, Marıa Isabel Perez-Grande, Gustavo Alonso, Javier Perez-Alva-rez, Felix Sorribes, Antonio Fernandez-Lopez,Mikel Ogueta-Gutierrez, Ignacio Torralbo,Juan Zamorano, Juan Antonio de la Puente,Alejandro Alonso, and Jorge Garrido. The

UPMSat-2 satellite: an academic project wit-hin aerospace engineering education. In 2ndAnnual International Conference on Enginee-ring Education & Teaching, 2017.

[10] S. T. Taft, R. A. Duff, R. L. Bru-kardt, E. Ploedereder, and P. Leroy, editors.Ada 2005 Reference Manual. Language andStandard Libraries. International StandardISO/IEC 8652:1995/Amd 1:2007. Number4348 in Lecture Notes in Computer Science.Springer-Verlag, 2006.

c© 2019 by the authors.Submitted for possibleopen access publication

under the terms and conditions of the Crea-tive Commons Attribution CC BY-NC-SA 4.0license (https://creativecommons.org/licenses/by-nc-sa/4.0/deed.es).

XL Jornadas de Automática Computadores y Control

https://doi.org/10.17979/spudc.9788497497169.119 125