Goddard Space Flight Center
June 1, 2020 – August 7, 2020
Goals of your project/s:
The first of my two main goals for my projects were to create a Mission Master Assembly on SolidWorks that accurately represented our entire mission so that we could calculate important characteristics like the total mass, center of mass, and the moment of inertia tensor. The second main goal was for me to create a Kalman filter for the Attitude Determination and Controls System so that it could communicate with the different sensors on board and determine the real time orientation and angular velocity of the mission during flight. Besides these two goals, I also had smaller objectives I helped complete. These included things like to analyze the market to determine which sun sensor we should use on the mission or to update the Master Equipment List to include things like a column for the SolidWorks file name related to each component.
Describe what you did during the internship.
To create the Mission Master Assembly, I started by combining smaller assemblies that had already been created for some parts of the mission and expanded on it by adding missing components. Doing this included tracking down countless files and working with other people on the team to verify that the components I was adding were the most up to date versions. There were also some parts that I had to model myself, since they had still not been created. During this process, I took all this information I gained about the different assembly and part files to update the Master Equipment List to include this information. By adding in a column about what the file name was for each component, people could much more quickly find what they are looking for and be certain that it the version is up to date. As part of the Attitude Determination and Control System, I started by creating a univariate linear Kalman filter. This filter is quite basic because it can only track one variable (angular position for example) and it can only take in linear data from the sensors. After creating this filter, I started creating more complex versions of the Kalman filter like the multivariate version and a different data rates Kalman filter. The latter filter is important because it can handle taking in data from multiple sensors that each output measurements at a different rate. This was an important milestone because realistically we will not have all out sensors take in data at the same rate, one may be faster but less accurate while another takes longer but is more precise. Lastly, I started working on nonlinear Kalman filters like the Unscented Kalman filter and the Extended Kalman filter. Both of these are not only multivariate and work for different data rates but the data they take in can also be nonlinear. For a mission like ours where the mission will oscillate, we need the filter to be able to handle this sinusoidal pattern.
Did you achieve your goals? What were the results and conclusions?
By the end of my internship, I was able to create a Mission Master Assembly and verify the values for the total mass, center of mass, and moment of inertia tensor for the mission as a whole. I also created many types of Kalman filters and set up a base code for the Extended Kalman filter and Unscented Kalman filter. Ultimately, the team will decide on one of these two filters and that will be that one that is used during flight to determine the orientation and angular velocity. I am very pleased with the work I did this summer and I feel that I have been able to leave my mark on the EXCLAIM mission.
Describe positive lessons learned from this experience:
I have learned a lot this summer as part of the EXCLAIM team. Viewing the inner workings of a multiyear project was extremely interesting. I also gained a lot from the talks that NASA set up. Being able to hear from astronauts Loral O’Hara and Jonny Kim or Tory Bruno, the CEO of the United Launch Alliance, are opportunities that I would have never had if it wasn’t for this internship with NASA. I also gained a lot of experience from the work I specifically did this summer. Learning a little about the processes that make up the Attitude Determination and Control System was fascinating. I am now much more comfortable with Python 3 because of the work on the Kalman filter. Learning about what the Kalman filter is and how it works as well as understanding all the different versions of it that exist was something brand new for me. Knowing about this filter is great because of all the different uses it has in my field of work.
Describe negative lessons learned from this experience:
I quickly learned that working from home did come with its difficulties. Not being able to get up and walk across the room to have a conversation with a team member was disappointing. Instead I would have to contact them through Microsoft Teams and wait for a response that could either cone a few seconds later or as long as an entire day. Having a three-hour time difference with most of my team members did not help with this issue. Additionally, one team member I worked with had a 9-hour time difference which made it very hard for us to work together. Working from home where my two brothers and my dog make noise constantly showed me the difficulties that come with working from home. However, even though there were issues, I am very proud of the team’s ability to overcome these problems and still progress on the mission and give me a terrific experience.