Siden sidst er vi kommet videre med implementationen af de ting, vi nævnte i DISCO-2: Preliminary Design Review – Payload. Bl.a. de 3 kameraer som skal fotografere gletsjere, vejr og skydække. Softwareudviklingen til M7-chippen, pipeline og kamerakontrol bliver nu tilpasset satellitten. M7-chippen om bord på payloaden har nu fået den såkaldte ‘scheduler’, som er et planlægningsprogram, der skal kunne styre en anden computer, A53. M7-chippens planlægningsprogram kan sige til A53, og dermed image processing pipeline, at den skal onboardes og slukkes på bestemte tidspunkter, således at strømforbruget begrænses til et minimum. Scheduleren er blevet implementeret igennem DSL (Domain Specific Language) som er blevet udviklet til netop satellitten. DSL giver os mulighed for at kunne opsætte vilkårlige procedurer, og sende dem til at køre på satellittens arkitektur.
Et eksempel på DSL til Flight planning er vist nedenfor. ‘proc’ referer til en ‘procedure’ og efterfølgende, såsom ‘run, en kommando. Eksemplet viser en mulig måde at opsætte en observationssekvens baseret på tid.
proc new # [START] Observation procedure proc set p_uint32[0] 1744407764 $M7 # This is the GNSS time we want to start the observation proc block gnss_time >= p_uint32[0] $M7 proc set wake_a53 1 $M7 proc set p_uint8[0] 1 $M7 # Use GPR for following comparison proc block a53_status == p_uint8[0] $M7 proc set mng_camera_control $CAM $A53 # Start camera control node proc set mng_dipp $DIPP $A53 # Start image processing node proc unop gnss_time idt p_uint32[1] $M7 # Log the time of the observation proc set capture_param “CAMERA_TYPE=VMB;CAMERA_ID=1800 U- 2040c;NUM_IMAGES=1; EXPOSURE=55000;ISO=0;” $CAM # Take a single image proc set pipeline_run 1 $DIPP # Run image processing pipeline proc set p_uint8[1] 0 $M7 # Use GPR for following comparison proc block pipeline_run == 0 $DIPP # Wait for image processing to finish # Optionally kill camera control and dipp processes proc set mng_camera_control 0 $A53 # Stop camera control node proc set mng_dipp 0 $A53 # Stop image processing node proc set suspend_a53 1 $A53 # Suspend A53 node # [END] Observation procedure proc push 42 $M7 proc run 42 $M7: |
I pipelinen kører forskellige moduler, som skal kunne forarbejde billederne inden de sendes med radioen. Dette gør at vi kan frasortere billede der er ubrugelige, såsom sorte billeder, og dermed minimere den mængde af data der skal sendes ned. En af de største flaskehalse for satellitten er nemlig at modtage den data, som den har, da vi især er begrænsede i den downloads hastighed og tid vi har til at snakke med den. Denne nye software, som er gjort mulig takket være nogle dygtige ITU-studerende som har lavet deres speciale hos DISCO. hvor de havde fokus på payloadens software – muliggør spændende nye muligheder.
Et andet og ekstremt interessant fremtidsaspekt af pipeline-softwaren er, at det på sigt kan være muligt at skelne om der er tale om skyer eller is, og dermed frasortere unødvendige billeder, før de bliver sendt til jorden.
På jorden bliver der også udviklet et system hvor nye operatører, uden nødvendigvis nogen programmeringserfaring, kan opsætte planer til at styre satellittens opførelse. Disse planer dækker blandt andet over hvilke områder billeder skal tages af, noget som i første udkast bliver bestemt manuelt. Dette er ret vigtigt at dette system har en stor grad af brugervenlighed, da vi forventer at satellitten vil forblive operationel i 5 år, og dermed vil operations skifte hænder mange gange i sin levetid. Her har et hold bachelorstuderende fra IT & Produktudvikling udviklet frontend web kontrolpanel til opsætning og automatisering af satellittens procedurer i forbindelse med deres bachelorprojekt.
I et bindeled med denne frontend, bliver der udviklet software som kan oversætte procedurer fra front end i DSL og sende det til jordstationen der viderefører det til satellitten. Dette er et vigtigt element hvor studerende fra Operations gruppen skal have et R&D projekt, der bygger på at gøre backendplatformen mere stabilt.
Noah som er bachelorstuderende på Institut for Fysik og Astronomi på Aarhus Universitet, sidder i operationsgruppen og har dette semester skrevet bachelorprojekt om ADCS (attitude determination and control subsystem) for DISCO-2 satelliten. Projektet er i virkeligheden et test af det forventede ADS-system, som skal op med DISCO-2. Indtil videre er der simuleringer oppe og køre af missionen og resultaterne er lovende.
Noah Fortæller: “Det har været enormt lærerigt at kunne skrive et bachelorprojekt, hvor man kan mærke at man får direkte indflydelse på virkeligheden. Man lærer hurtigt at ting som virker uhåndgribeligt kompliceret, ofte bare kræver at man giver det et forsøg, og så falder brikkerne langsomt på plads.”
Simuleringerne er lavet i et program leveret af vores samarbejdspartner Space Inventor og bygget på baggrund af de værdier, der fremgår i DISCO-2 preliminary design review.
Dette er bare overfladen af de mange opgaver vi går og arbejder med for tiden, og vi kunne godt bruge din hjælp! Er du studerende med en baggrund i computer science der gerne vil bidrage til et af Danmarks mest spændende rumprojekter, så vil vi gerne høre fra dig! For mere information kontakt venligst Cecilie ved cecilie@phys.au.dk eller Andreas ved akd@bio.au.dk