Astro PI MSL Challenge 2019-20

Introducción

Por segundo año consecutivo realizamos en Tecnología Industrial I el desafío Astro PI Mission Space Lab que finaliza en 2020. Es un proyecto de la sección de educación de la Agencia Espacial Europea (ESA) en colaboración con la Fundación Raspberry PI. (https://astro-pi.org/).

Consiste en realizar experimentos científicos abordo de la ISS utilizando dos miniordenadores Raspberry Pi con sensores y cámaras.

Unidades Astro PI Vis y Astro PI noIR abordo de la ISS.
Raspberry PI + Sense Hat utilizados en el taller de tecnología montado en una carcasa impresa en 3D.

En esta ocasión participamos con dos proyectos sobre la vida en el espacio (Life in Space) y la vida en la Tierra (Life on Earth). Ambos proyectos se realizan por fases:

  • Fase 1: Diseño. En octubre se presentan las ideas de experimentos que se quiere realizar en la Estación Espacial Internacional (ISS). Los dos proyectos presentados fueron aprobados.
  • Fase 2: Creación. En esta fase se realizan y se prueban en tierra los programas escritos en python que se van a ejecutar en la ISS. Esta fase concluyó el 14 de febrero con el envío de los programas al equipo de Astro PI y ESA.
  • Fase 3: Ejecución en la ISS. Los programas enviados son probados entes de su envío a la ISS. Los equipos que superan esta fase alcanzan lo que se conoce como «flight status» que significa que son programas aptos para su ejecución en la ISS. Los programas de nuestros equipos se ejecutaron el 1 de mayo de 2020.
  • Fase 4: Análisis de resultados. Una vez que los programas se ejecutan en la ISS, nuestros equipos reciben los datos obtenidos, se analizan y se realiza un breve informe de análisis.

Se puede obtener más información sobre el proyecto Astro Pi en entradas del curso anterior en http://iespmercedescuenca.ddns.net:81/Tecnologia/steampm/astropi-challenge-2018-19/

Proyectos

En esta ocasión se han programado los siguientes:

  • Life on Earth. En este experimento se hace un programa que captura fotografías de la Tierra en el infrarrojo cercano desde la ISS para su posterior análisis. Además, se recogen datos de temperatura, humedad, presión atmosférica, campos magnéticos, aceleración, etc para estudiar las condiciones ambientales del interior de la ISS.
  • Life in Space. Este proyecto realiza mediciones de magnitudes físicas del interior de la ISS. Utiliza Astro PI con la cámara en el rango visible. No toma fotografías, pero se suele usar como detector de radiación, etc.

Life on Earth

En esta ocasión el proyecto fue similar al del año pasado. Se realiza un programa en python para que la cámara que capta el infrarrojo cercano tome fotografías de la Tierra desde una de las escotillas de la ISS. Además, el programa captura datos de los sensores: ambientales como temperatura, humedad, orientación de la nave, campos magnéticos, etc.

Durante las tres horas que dura el experimento, la ISS realiza dos órbitas alrededor de la Tierra. En este tiempo, se capturaron un total de 467 fotografías, todas diurnas. Esto se programó así para evitar hacer fotografías nocturnas que, dadas las características de los equipos, no aportan nada.

Adicionalmente, se obtuvo un fichero con 850 registros con datos de magnitudes tomados cada 10 segundos aproximadamente. Aparte de los datos mencionados anteriormente, se registraron otros como la fecha y hora de toma de registro, si la ISS atravesaba un período nocturno o diurno, la latitud y la longitud. Estos datos, grabados en los metadatos EXIF de las fotografías nos permiten determinar exactamente a que punto geográfico corresponde cada una de ellas. Sin esta información, es difícil ubicar una fotografía, sobre todo si está hecha sobre el océano o hay nubosidad abundante.

Muestra del fichero de datos obtenidos

Gracias a haber capturado las fotografías con los datos de latitud y longitud, un programa como digikam nos permite mostrar un mapa con las posiciones geográficas en las que se han tomado cada fotografía:

Proyección cilíndrica de los lugares por los que pasaba la ISS cuando tomó cada foto.(Digikam)

En la imagen anterior, puede observarse la trayectoria de la ISS en sus tramos diurnos, correspondientes a dos órbitas. Así pues, las zonas fotografiadas corresponden a América del Norte, América del Sur y gran parte del océno Atlántico.

Algunas de las 467 fotografías obtenidas son las siguientes:

Las 467 fotografías pueden verse en forma de timelapse:

Desde la ISS.
Música: Reaching The Sky by Alexander Nakarada
Link: https://filmmusic.io/song/6222-reaching-the-sky–long-version
License: http://creativecommons.org/licenses/by/4.0/

Life in Space

Este experimento estaba pensado en principio para realizar mediciones de radiación y captarlas con la cámara en el espectro visible (Astro PI Vis). Lamentablemente, fue un proyecto de gran dificultad y no fue posible su programación con éxito.

No obstante, se reorganizó el experimento y se realizó un programa que captara la mayor parte de magnitudes físicas por parte de los sensores disponibles.

Con un sencillo programa en python se pueden realizar gráficas de diversas magnitudes, tal y como se indica aquí.

from matplotlib import pyplot, dates
from csv import reader
from dateutil import parser
with open('data01V1.csv', 'r') as f:
	data = list(reader(f))

temp = [i[4] for i in data[1::]]
time = [parser.parse(i[1]) for i in data[1::]]

pyplot.title('Temperature changes over Time-LIFE IN SPACE (ED) pmalaju 2020')
pyplot.xlabel('Time/hours')
pyplot.ylabel('Temperature/$^\circ$C')

pyplot.plot(time, temp)
pyplot.show()

Temperatura observada en el interior de la ISS durante el experimento

Algunos ejemplos de gráficas: campo magnético, temperatura, etc.

Humedad con respecto al tiempo
Presión con respecto al tiempo

También es posible integrar en un mismo gráfico varias series de datos. En el siguiente ejemplo vemos las tres componentes del campo magnético registradas:

Componentes del campo magnético con respecto al tiempo.

Para hacer este tipo de gráficos podemos utilizar el siguiente código en python:

from matplotlib import pyplot, dates
from csv import reader
from dateutil import parser
with open('data01V2.csv', 'r') as f:
	data = list(reader(f))

mag_x = [i[13] for i in data[1::]]
mag_y = [i[14] for i in data[1::]]
mag_z = [i[15] for i in data[1::]]
time = [parser.parse(i[1]) for i in data[1::]]

pyplot.title('MagX (Blue)-Y(Green) -Z (red) changes over Time-LIFE IN SPACE (ED) pmalaju')
pyplot.xlabel('Time/hours')
pyplot.ylabel('Mag_X-Y-Z microT')

pyplot.plot(time,mag_x)
pyplot.plot(time,mag_y)
pyplot.plot(time,mag_z)
pyplot.show()

En las línes 7,8 y 9 se indican las series de datos que vamos a representar. El fichero de datos es el denominado data01V2.csv. Para que el programa funcione, debe estar en formato csv.

Los diferentes campos (columnas) se empiezan a contar por el 0. Así, la primera columna se identifica con el cero, la segunda columna con el 1 y así sucesivamente. Por tanto, la componente x del campo magnético se encuentra en la columna número 14 (0,1,2,…..13). Por eso se identifica esa columna con i[13] en el código python.

Análogamente, la columna tiempo se encuentra en la segunda (0,1). Por eso, se indica i[1]

También es posible realizar las gráficas con un programa de hoja de cálculo como Libreoffice Calc o Microsoft Excel. Para ello, debemos transformar el fichero .csv a formato hoja de cálculo con extensión .ods, .xls, etc.

Certificados de participación

Al finalizar el proyecto y una vez entregado el informe de los resultados, se otorgan los certificados de participación al profesor y a los alumnos participantes.

Anverso certificado participación para el profesor equipo pmtorcas
Reverso certificado participación profesor equipo pmtorcas