Spaceshot
Over this past semester, I’ve had the pleasure of working on Illinois Space Society’s Spaceshot team. I have
helped exclusively with the avionics team, specifically the software, active control, and avionics structures subteams. We recently had our first
of many to come) test launches, and I wanted to take some time to reflect on the skills and lessons I’ve learned thus far. This test launch rocket
is dubbed "Endurance."
Click here for a video of Endurance's launch
Project Details
Software wise, this entire process was a great crash course to de-rust my C++ knowledge. I wrote and organized some of the flight code related to the roll control flaps and active control algorithm. Basically, we have some flaps attached to rack and pinion systems to dynamically control the drag on the rocket, thus counteracting any rolling it experiences. We have to ensure that we only actuate during the rocket’s coast phase due to possible trajectory changes in the boost phase. I helped essentially translate the active control team’s algorithm into our code.
I think an important lesson I learned is one about integration between software and hardware. Our team developed a bunch of code, but we need the full physical avionics bay to truly test everything coming together. An example of where this was particularly visible was with servo motors. We send PWM signals to the servo as the active control algorithm sees fit, but do the servos move exactly how far we want them to? Due to various production factors, this is not the case. We ended up measuring a servo angle-to-length-offset to ensure accurate values were passed to the servos.
Outside of software, I helped physically put together the rack and pinion flap assemblies. It was satisfying to put the design of the flaps that
was previously developed into action. This process was not without errors, however. We had to 3D print some extra parts and test for clearance
issues to ensure the flaps had the ability to retract fully. Sometimes taking an extra step to account for washer and nut clearances in the design
phase can save someone a lot of time during assembly and integration.
Takeaways
- Basics of embedded systems
- How PID controllers can be applied to real life situations
- Introduction to LQR feedback controllers
- More non-class object oriented programming experience
- Importance of clear and consistent communication within a team