Developing a Control Algorithm and Simulation for Thrust-Vector-Controlled Rockets

Team: 47

School: Los Alamos High

Area of Science: Engineering


Interim: Problem Definition:
Almost every single suborbital and orbital-class rocket uses thrust-vector-control (TVC) as a technique to control orientation and position by gimballing the angle of the thrust. Although this method is a robust and effective way to control rockets, the dynamics of this system prove difficult to integrate into rockets due to different characteristics such as changing mass, aerodynamics, and changes in physical properties. The variables presented complexify the control system and hardware required to create this system.

Problem Solution:
Our solution is to implement a very widely used control system called the Proportional-Integral-Derivative (PID) loop. This is the feedback controller that regulated steam engines during the industrial revolution, improved the yield from windmills and industrial processes worldwide, and lies at the heart of autopilots used in commercial airplanes. Even though the PID controller looks deceptively simple, its impact on the world cannot be overstated. This control algorithm allows for a simple integration and tuning process for all rockets of various sizes and purposes. Our first goal is to develop a simulation that could model all aspects of thrust-vector-control on any rocket. By entering certain physical parameters into the simulation, we are able to see how the rocket will fly under various launch conditions and tune for optimal performance.
Progress To Date:
So far, we have been able to develop a 3D-printed rocket, along with a custom flight computer. The 3D printed thrust vector control mount is powered using servo motors and can successfully move the engine 5 degrees in any direction. The flight software uses a Quaternion-based orientation system to calculate angular position from the inertial measurement unit. Using the angular position, we are able to perform PID calculations, then use that result and set it to the position of the thrust vectoring mount. Unfortunately, we are yet to have a successful flight, so we are continuing to look for ways to improve the code. As for the simulation, we have used Simulink to create a simulation of the flight of the rocket. The simulation accounts for most real-life factors, such as wind, servo motor latency, and the mass and rotational inertia of the rocket. This is very important because it allows us to tune PID values for the best flight, then use the same values in the actual rocket. However, we are still working on getting fully functioning, accurate aerodynamics into the simulation.
Expected Results:
Although we are yet to have a successful flight, we have already developed the basis of what we need for a successful flight. As we improve the simulation with better aerodynamics, we are expecting to have different PID values, so those new values should improve our likelihood of a successful flight. In addition, we are also looking for new ways to improve both our code and our simulation, and we are currently investigating new ways to improve the performance of the PID loop. Overall, we are hoping that new improvements to our code and simulation will lead us to a successful flight in the very near future.
Team Members: Andres Iturregui, Daniel Kim
Mentor: Chris Karr


Team Members:

  Daniel Kim
  Andres Iturregui

Sponsoring Teacher: Nathaniel Morgan

Mail the entire Team