Have you ever dreamed of working with space tech for a living? Capitol summer intern, Ahmed Woodson does. Woodson, a rising junior and aerospace engineering major from University of Maryland College Park, interned with Capitol this summer through the Maryland Space Grant Consortium.
Working in our Space Flight Operations Center (SFOTC), Woodson developed the code for Project S.O.L.O., a station observation and locating optimizer, under the guidance of Professor Marcel Mabson. Undertaking this project was a lot of hard work for Woodson, who enjoyed the challenge of it.
Capitol’s Space Flight Operations Center (SFOTC) is a mock MOC. A mission control center like environment equipped with a spacecraft ground system donated by the Hammers Company. This Galaxy Telemetry and Commanding System is the same type of system used on various NASA and commercial missions, and includes spacecraft simulators and a spacecraft station contact clock and orbit determination with analysis software so that students can experience what it’s really like to run a mission.
Unique to Capitol’s astronautical engineering program, working and learning in the SFOTC is a part of the required coursework for all AE majors. No student misses the opportunity to experience applying their education to the center’s real-life inspired scenarios.
Woodson had the run of the center this summer as he worked to bring project S.O.L.O to life. His work on this amazing coding program will serve to help future SFOTC students as they work to command and control their simulated satellites.
Project S.O.L.O., I love that name. Can you tell me more about it?
AW: Thank you! I was proud of the name. It’s called the schedule observation and locating operative so I call it SOLO for short.
Can you explain what the code does?
AW: The code takes in a ten day ground station predication file from the General Mission Analysis Tool (GMAT), a software package that predicts orbital trajectories, spacecraft eclipses, available solar array power and spacecraft station contacts, and begins to manipulate the file. Once the file is accepted by the code. The code then sifts through all of the contacts in the file and deletes anything that is not of value to a mission planner (i.e. anything that is not a date). The code then prompts for user input. It asks the user what minimum duration it should display. After the input is given, the program then sifts through the file once again and finds all of the durations that are greater than or equal to the users input. After all of the durations are found, a new file is created with all of the contacts of the appropriate durations. The file also outputs how many contacts there are in that file. The file is then sent to mission planner; an 11 minute wait begins to simulate the actual contact between the mission planner and station. After that the user on the mission planning side is prompted with a Y/N question of whether or not this file is adequate or not and an events file is created and the program ends.
So it sorts out the data to give you the most important information?
AW: Yes. It helps you to weed through to get the most critical information.
Can you tell me how this helps the MOC team?
AW: For mission planning this is great because certain passes of spacecrafts only last for a few seconds, and you can’t really do something in a few seconds of time if you need to do something for future missions. So what you can ask the program is what duration do you want to see? The duration could last from 100 seconds to 900 to 1,000 seconds.
You can say, for example, 700 seconds is all I want to see. Anything less than 700 seconds is stripped out and anything 700 seconds and greater is kept there for mission planning. So that’s at the base of what the code does.
Can you give me an example?
AW: You could say how long do you want to see the spacecraft? It’s all based on the duration of the pass. So if your pass is of 400 seconds or more it’s going to keep that information for each day. It helps you to better track the trajectory that the craft is going on. Secondly, when you are planning out missions, the spacecrafts have different objectives and different needs. So say one satellite is losing a solar panel, but its closest pass is only 100 seconds. That’s not enough time to transmit all of the data needed to fully analyze the problem, troubleshoot it and offer a solution to that solar panel. So you want to pick something that is at least of 800 seconds or more to fix that.
It also helps with deconfliction. So say you have that solar panel issue with one spacecraft and then another spacecraft is coming at that same time, but it doesn’t have nearly as bad of an injury. It just needs basic maintenance or something. The priority goes to that first spacecraft rather than the second spacecraft. And so with this if it of the same duration and during the same time you can say alright I don’t want this guy who doesn’t really need me. Take him out, this other guy is more important so we’ll give priority to him.
Was all of this pretty familiar to you or was a lot of this project new?
AW: Oh no, I learned a lot. The base of the program is done in C++ and I took a class in the fall of sophomore year for Mat-lab and C++. I had a basic understanding, but with this I really had to go back and teach myself all the little techniques. I’m not a coding expert. I didn’t realize that there was going to be a lot of coding happening this summer. But I had to reteach myself a lot of the C++ language and that was cool.
What has been your favorite thing about this experience?
AW: I think the best part about the internship in total is that I didn’t know what I was getting myself into. And I mean that in the best way possible. If you talk to professor Marcel, I really struggled. I liked the challenge though and that’s what I liked most about it. The challenging part of this was knowing that I’m not by a coder by nature, so for me to step out of my comfort zone and try to expand and get that skill together I think that was my favorite part of it. Now I look back when I was struggling through it and now it’s finished, it works perfectly it, I’m like HA! I did that.
I think to say that I was able to conquer my weakness was the best part of it.
I like the fact too that when he was speaking to me, professor Marcel said he was probably going to use this in future training. So that is awesome. I like that I’m going to be able to help out other people when they’re trying to get their degree too.