Project Overview
This project focused on validating a custom flight controller for a novel thrust-vectoring quad-copter using a Software-in-the-Loop (SIL) simulation framework. Unlike traditional quad-copters, this system required independent control of both thrust magnitude and 2-DOF thrust vectoring at each propulsion unit, introducing significantly more complex system dynamics.
No existing flight control framework could directly support this architecture, requiring the development of a custom control pipeline capable of mapping high-level flight commands into coordinated actuation across multiple propulsion and vectoring systems. The primary challenge was ensuring stable and predictable system behavior prior to hardware testing, where failure modes could be costly or unsafe.
Control Architecture & System Integration
I worked closely with the electrical engineering team to develop a custom flight controller based on the ArduPilot bi-copter framework, which was used as a baseline due to its built-in thrust vectoring logic. The bi-copter configuration supports vectoring of two propulsion units in a single degree of freedom, which we extended by first introducing a second vectoring degree of freedom per unit, and then scaling the architecture to support four independently controlled propulsion systems.
This required significant modification of the control pipeline. In particular, the mixer logic was extended to map desired roll, pitch, yaw, and thrust commands into coordinated outputs consisting of both motor throttle and 2-DOF vectoring angles for each arm. The system was further evolved into a multi-controller architecture, enabling synchronized control across propulsion and actuation subsystems while maintaining stability and responsiveness.
Key contributions included:
-
Extending the control mixer to map high-level commands into coupled throttle and vectoring outputs
-
Supporting development of a multi-controller architecture coordinating propulsion and actuation subsystems
-
Integrating control logic with a dynamic system model to capture the coupled effects of thrust magnitude and direction
This required careful consideration of how actuator inputs translated into resulting forces and moments, particularly given the nonlinear behavior introduced by thrust vectoring.
To validate the control system, I developed and implemented a Software-in-the-Loop (SIL) simulation environment in mission planner, enabling closed-loop testing of control algorithms against a simulated dynamic model of the drone.
The SIL framework allowed for:
-
Evaluation of system response under varying flight conditions
-
Identification of instability, control coupling issues, and actuator limitations
-
Iterative debugging and refinement of control logic prior to hardware deployment
Through this process, issues related to coordination between propulsion units and sensitivity to control inputs were identified early and addressed through adjustments to the control allocation and system tuning.


Results & Impact
The SIL validation framework enabled reliable testing of a non-standard flight control architecture, reducing risk prior to physical testing and accelerating development cycles. The system demonstrated stable coordination between propulsion units and provided a foundation for further refinement of control strategies.
This work established a scalable approach for validating novel aerial system architectures, where traditional control assumptions no longer apply.
Key Takeaways
-
Non-traditional systems require custom control architectures and validation frameworks
-
Simulation is critical for identifying instability and integration issues early in development
-
Control performance is highly dependent on accurate system modeling and actuator coordination
-
Cross-disciplinary collaboration is essential when integrating mechanical design and control systems
