Backstory
Out of all my projects, this was probably the one that most vividly showed me how fun and rewarding engineering can be. It was technically not my first project (that was Sick), but whereas that was finding a problem for a solution, this was finding a solution for a problem - the essence of engineering.
Team Vestigo was an all-freshman team, formed through a relatively new organization called TAMU ThinkTank. We were competing in the Texas Space Grant Consortium (TSGC) Design Challenge - specifically, trying to design a crew tracking system for the HERA facility at NASA Johnson.
Essentially, HERA (Human Exploration Research Analog) is a habitat that allows researchers to simulate the confined conditions of long-duration space missions and study crew members under those conditions. Some of the researchers had wanted data on the position and orientation of the crew (to analyze behaviors, interactions, etc.), so it was our task to figure out how to get that data.
Spring 2023
To start, we researched a wide variety of options for indoor positioning systems. Based on factors such as the need for high accuracy and compact size, we ultimately went with a combination of UWB (Ultra-wideband) and IMU (Inertial Measurement Unit) sensors.
The UWB would work similar to GPS, with an on-body tag sending out radio signals to fixed anchors around the room. Position could then be calculate from TOF (time-of-flight), or as we hoped, from TDOA (time-difference-of-arrival) measurements - which are more power-efficient. Meanwhile, the IMU would utilize its accelerometer, gyroscope, and magnetometer to calculate absolute orientation and supplement the UWB with its relative positional data.
So we ordered our components, and got to work. Naturally, nothing really worked at first. Most team members, including myself, were new to Arduino, so it was a bit of a learning curve. But eventually, I got the hang of it, and took charge of coding the IMU (and its ESP32 microcontroller).
First, I was able to obtain the Euler angles (roll, pitch, yaw) with relatively little drift. I got the data transmitting wirelessly to my laptop using Wi-Fi. Then, I used the Euler angles to calculate and subtract out gravity components from the accelerometer data. All that was left was to integrate the acceleration twice and get some sweet positional data, allowing us to combine it with the UWB position using a Kalman filter.
Unfortunately, that never happened. It turned out the IMU data was just too noisy to give reliable position data, and since the UWB alone was already within the desired 0.25 m accuracy, the idea was scrapped.
Despite the minor setback, we still had a working prototype system, which we brought with us to the TSGC showcase in April. After hours of poster presentations, live demos, and an oral presentation, the results were announced.
To our surprise, we won! We were the Top Design Team in the Spring 2023 TSGC Design Challenge, taking home $1000 each in scholarship prizes. It really was quite something. Just a few weeks later, we even got to tour Johnson Space Center (including HERA!) with our NASA mentor.
Fall 2023
Throughout the summer and fall, we continued to work on Vestigo. Aiden especially made a lot of progress on the UWB side, adding a MIO (master input-output), incorporating multi-tag and multi-floor functionality, and more. I brought on Joey (from the Sick project!) to consolidate all of our hardware onto a single custom PCB, while Evan designed new, more compact cases.
There wasn't much more to do with the IMU, so I mainly worked with Landon to design a GUI (using Qt/C++) that could receive, process, and visualize our data in real-time - plus provide playback/analysis tools for researchers.
Alas, we suffered a number of difficulties. We got the custom PCB manufactured, but it was broken upon arrival. The TDOA algorithm that we had hoped to implement was never fully implemented. And the GUI - well it was only through a series of late nights leading up the showcase that we ultimately got it working.
Suffice to say, we did not repeat as competition winners. By that point, we also realized that actual implementation into HERA was looking like an increasingly unlikely prospect. And so, that was more or less the end of my involvement with the project.
Aftermath
Several of my fellow teammates continued on, trying to work towards commercializing our system, but unfortunately, that has largely fizzled out.
Now, that may seem like a somewhat bittersweet ending. Indeed, we had our ups and downs, and there were certainly things that we could've done better throughout the whole process.
But then again, we started with nothing but an idea and ended up with an intricate, working system. So what if it didn't work perfectly? Regardless, I came away with a newfound appreciation for engineering, some valuable experience, and several lasting friendships. All things considered, I would say it went quite well.
Image of our prototype (left) and actual (right) device