
00B ⥄ acrobatic uav control
⟿ flight control, software, feedback ↭ 2017 - 2019
At the Aerospace Mechatronics Lab at McGill University in Montreal, I developed a quadrotor (four rotor "drone") capable of bidirectional thrust by enabling the motors and propellers to reverse direction in flight.
Unlike conventional platforms, which produce upward thrust only, this configuration allows force along both directions of the vehicle’s body axis. The goal was to increase agility and unlock flight behaviors that standard quadrotors can’t access—such as inverted hover and rapid orientation reversals.

fig 1. experimental UAV research platform "spiri"
I adapted the standard quadrotor dynamics model to incorporate the specific characteristics of bidirectional actuation. Through physical testing, I measured the transient thrust behavior of symmetric propellers, identifying the thrust dead zone and rate limits introduced by reversal dynamics
Using a universal UAV controller, I implemented two control strategies to handle these physical constraints: optimal control allocation and model predictive control (MPC). I evaluated both approaches in simulation across aggressive maneuvers, comparing their performance against a baseline control scheme. Finally, I validated the system experimentally with an outdoor platform capable of performing a half-flip and maintaining stable inverted flight
This project sits at the intersection of control systems, mechanical reconfiguration, and real-time feedback—a study in how hardware changes demand new approaches to system modeling, response, and control logic.
fig 2. performance was evaluated in simulation, then confirmed with flight field tests

fig 3. control flow diagram of UAV software architecture
⇝ Feedback Control Systems
The vehicle operates through a layered feedback control architecture (fig. 3). At the input level, it receives guidance commands in the form of desired positions, orientations, and velocities, while simultaneously monitoring its state through onboard sensors. These two streams converge in the controller. Guidance defines where the system intends to go; the state describes where it currently is. The controller evaluates the difference between the two and determines how the vehicle should respond, calculating the necessary thrust and orientation to move toward the target state. These commands are then passed to a control allocation layer, which translates them into motor signals. In a bidirectional thrust setup, this final stage becomes especially important. It ensures the commands remain physically feasible and takes into account motor reversals, saturation limits, and dynamic constraints.
⇝ Perspectives on Experimental Installations
This early experience with feedback systems, observing how outputs feed back into inputs, later became foundational to my artistic practice. This project gradually evolved into a broader interest in interaction, perception, and automation. Over time, this led me toward video-based media and experimental interactive systems. The complexity and subtlety required to achieve smooth, stable motion in a feedback control system closely mirrors how I approach, for example, audiovisual simulations. In both cases, tuning the system is an iterative process of finding balance, and coherence.
Conference Papers ⇊