← Back to projects

Variable Drag System

Active aerodynamic braking and embedded control for precision apogee targeting.

NASA Student Launch • 2016–2017

C++ Simulink Kalman Filter PID Aerospace
Variable Drag System cover image

The Variable Drag System (VDS) is an air-braking system designed to deliver a high-powered rocket to precisely one mile AGL. It actuates three aluminum drag blades into the airstream, actively changing the vehicle drag profile on ascent.

The system responds to sensor data in real time to maintain the proper balance of kinetic and potential energy through flight. In NASA Student Launch competition flight, the VDS delivered the vehicle to 5,303 ft, only 23 ft from target.

Design Overview

Rendered CAD view of the Variable Drag System assembly
VDS assembly rendering.

The VDS actively changes the drag profile of the launch vehicle on ascent by actuating three aluminum drag blades into the airstream surrounding the vehicle. With the flat faces of these blades perpendicular to the flow, the system increases projected area by a factor of 1.28 and the drag coefficient by an estimated factor of 1.35. That extra control authority let us trim ascent energy in flight instead of relying on a fixed pre-launch drag configuration.

Simulation

To predict the performance of the VDS and the launch vehicle, I developed a simulation in MathWorks Simulink. It was used to predict mission performance for each launch with customizable weather scenarios, 6DOF equations of motion, and launch animation. It also became a test bed for controller iteration before flying new actuation or targeting logic.

Watch the simulation on YouTube

Key Components

Top view rendering of the Variable Drag System
Top view of the drag blade layout and actuation geometry.

The three drag blades are driven by a single DC motor and can be actuated precisely through their range using rotary encoder feedback. That gave the system the power density of a DC drive with servo-like positioning. A Teensy 3.6 microcontroller handled blade control, read a 9DOF IMU and barometric pressure sensor, estimated ascent state, and commanded corrective braking in real time.

Embedded Software

The embedded software was written in C and C++, organized across five classes, and ran at roughly 90 Hz. It fused pressure, accelerometer, gyroscope, and magnetometer measurements with a Kalman filter to estimate vehicle state, then used that estimate to drive blade actuation logic.

Screenshot of the DragBlades class header file from the VDS software

Header file for the DragBlades class, responsible for motor actuation, limit switch feedback, and rotary encoder feedback.

More detail on the software is available in the public repository: BenStringer3/VDS-V2_1-Software.

Mission Success

The VDS was demonstrated to deliver one mile AGL within +/- 33 ft, and in competition flight it reached 5,303 ft, only 23 ft from target. The system’s documentation, the simulation work behind it, and its flight performance were all cited as contributing factors in River City Rocketry receiving the NASA Student Launch Vehicle Design Award.

The project combined mechanical design, embedded control, state estimation, and high-fidelity simulation into one flight system. That full-stack engineering scope is what made it one of the most satisfying undergraduate projects I worked on.