My Career Exploration and Internship Reports
This career exploration report documents the exploration of two possible career fields and finding four possible internship sites related to those fields. In depth and detailed research was done on both career fields: Mechanical and Mechatronics engineering. Many government, informational, educational, and job description sites were used, including the US Department of Labor Statistics, HowToBecome.org and Indeed.com. This research led from information about our careers into locating four internship sites. Of these, the chosen internship was the Wright Scholar because it gives the opportunity to gain experience working in several different fields at Wright Patterson Air Force Base. Next steps would be to wait for an answer from the Wright Scholar Internship program and to conduct research on potential college programs.
During the summer of 2021, I completed an Internship at the Air Force Research Laboratory’s Gaming Research Integration for Learning Lab (GRILL) over the course of eight weeks through a program called Wright Scholar. The Wright Scholar program was created by the Air Force Research Laboratory to expose high school juniors and seniors to STEM fields. During my time there, we started off by spending one week working in Unreal Engine. Unreal Engine is a game engine which allowed us to learn the basics of creating interactive user applications. Our challenge the first week was to create a mini-game inside of unreal, so I chose to do a first-person version of the popular game, Snake. After this first week, we got split up into groups of 3 Wright Scholars and were assigned a project. My group was assigned a project from a local company, O’Neil and Associates to create an augmented reality application for maintenance personnel. We worked on this project for six weeks, and as the project progressed, I got to see its evolution from just a basic concept with a webcam on a computer screen, to a fully developed Microsoft HoloLens application.
The biggest and most important part of this project was getting object recognition working on a Microsoft HoloLens. The Microsoft HoloLens is an augmented reality headset developed by Microsoft that allows for a user to interact with the virtual world without any controllers and have a full field of view. To create applications for the HoloLens, we had to develop it in Unity Engine. Unity Engine is very similar to unreal, however features a key difference in terms of programming. While Unreal Engine can use visual programming along with C++, Unity only offers text-based programming with C#. For me, this was not an issue because I have had experience with Java, which is closely related to C#. By using Unity, it also expanded our options in terms of object recognition. Object recognition was a big part of this project because it allowed us not only to automatically scan an item that needs maintenance for the user, but also allows us to track it in 3D space and create an intuitive interface for the user. To do this, we looked at a variety of options. The first option I looked at was OpenCV, which is a very popular object recognition software, however it is very complicated and does not integrate with Unity very well. The second software I looked at was Vuforia, which not only was free, but had official support for both HoloLens and Unity. Finally, there was Wikitude, which was very similar to Vuforia in terms of features, however was very expensive. In the end, the choice was obvious and we chose Vuforia.
One of the biggest challenges I faced during my internship was getting our models to track accurately. Vuforia was very good at object detection, but there were some minor issues with object tracking. With the HoloLens, we experienced some issues of the model overlay not being able to overlay on top of the model. It would always be off to the side, or sometimes even across the room. This required a lot of tinkering and tweaking on my end. I tried all sorts of different localization techniques, and I had about 10 different overlay programs with different methods of overlaying the model. I spent multiple days scouring the internet trying to find potential solutions to this issue, and trying to implement them, but to no avail. Eventually, through my days of tinkering, I eventually got a suitable solution. Since the model was always off by the same amount, I just added an offset to it. This gave me control over where the overlay was relative to the model. This was very successful, and allowed the overlay to actually function and be on top of the actual model. Another issue we faced during our project was one that we were not expecting at all. In the final week of our project, it was time to prepare a presentation for our client. Everything was going well, except for one thing, getting a video of the prototype. Whenever we would run the program on the headset, it would work fine, but as soon as we tried and record it, it would never work. We theorized that this was because the recording software would take priority over the camera built into the HoloLens, hence causing object recognition to stop working. We fixed this by trying a very weird solution. We pulled up the preview window for the HoloLens in a web browser, and used a screen recording software to record it. This meant that our video quality was not the best, however it allowed for the object recognition to work and give our client a view of what was going on in the application itself.
In the end, I learned a lot during my internship at the GRILL. I learned about video game development, software development, object recognition software, and even presenting to a client. These are all valuable skills that I will be able to use in my future career, and will give me insight into different industries.
Here is an image of my evaluation form: