Abstract
A traditional fixed quadrotor cannot traverse a gap narrower than its own lateral footprint. Getting through a narrower gap requires the quadrotor to reconfigure its airframe on the fly, until its width is limited only by its propeller diameter. We introduce TinyMorph, a 250 g quadrotor that folds in flight into a longitudinal coaxial bicopter, reducing its lateral footprint by 2.2× to match its propeller diameter.
Conventional roll control uses the lateral thrust moment arm, which vanishes in the bicopter configuration. A fixed inward motor tilt, or dihedral, instead projects the propeller reaction moment onto the roll axis, preserving some roll control. Folding also places each lower rotor in the airflow of an upper rotor, reducing its thrust and torque effectiveness and changing the motor commands needed for a desired control wrench. We develop an online propeller interaction model that estimates these effects, and a closed-form allocation correction that makes the new motor commands deliver the desired forces and moments. In Figure-8 flights, the interaction-aware controller has a 40.9% lower root mean square (RMS) tracking error.
Fold to fit
Insects treat their cross section as a variable. A bogong moth spans about 50 mm in flight and folds its wings flat to about 10 mm to slip into the rock crevices where it spends the summer.
TinyMorph does the same in flight. Its four arms are mechanically coupled and driven by a single servo. As the morphing angle goes from 45° (X configuration) to 0°, the front and rear arm pairs fold toward the centerline until the rotors form two coaxial pairs, one upper and one lower. The lateral footprint drops from 165 mm to 75 mm.
Recovering roll authority with a motor dihedral
A quadrotor normally rolls by spinning its left rotors faster than its right ones. Folding moves the rotors onto the centerline, so that lever arm shrinks and disappears once the drone is fully folded.

TinyMorph's motors are tilted inward by a fixed 30° dihedral. Every spinning propeller pushes back on the frame with a reaction moment; tilting the motor points part of that moment along the arm. Once folded, that part acts on the roll axis, so the drone can still roll. The catch is that roll now depends entirely on rotor torque, which is exactly what the coaxial wake weakens.
Propeller interaction-aware control
Folded, each lower rotor flies in the wake of the upper rotor above it and produces less thrust and torque than the controller expects. TinyMorph estimates that loss online from the motor speeds its speed controllers already report: the harder the upper rotor spins relative to the lower one, the more the lower rotor is derated. The loss coefficients come from bench tests.
The controller then asks the derated rotors for exactly what the baseline mixer would have asked of ideal ones, correcting the motor commands in closed form:
Here is the baseline motor command, the ideal mixer and the derated one. That is one small 4×4 solve per control loop, running at 400 Hz. It needs no RPM feedback loop and no aerodynamic simulation.
Results
We flew TinyMorph fully folded along Figure-8 and Straight-Line trajectories, with the interaction model disabled and then enabled. The vehicle, gains, folded state and trajectory controller were the same in every run; only the model changed. Both clips below show one synchronized lap, recorded top-down and rectified to the same axes, with the commanded path dashed.

| Trajectory | Method | RMSz | RMS2D | RMS3D | Reduction |
|---|---|---|---|---|---|
| Figure-8 | Baseline | 0.0106 | 0.3151 | 0.3153 | |
| Figure-8 | Interaction | 0.0083 | 0.1863 | 0.1864 | 40.9% |
| Straight-Line | Baseline | 0.0060 | 0.1338 | 0.1339 | |
| Straight-Line | Interaction | 0.0055 | 0.1092 | 0.1093 | 18.4% |
Tracking error in meters, measured by Vicon. RMSz: vertical; RMS2D: horizontal; RMS3D: total.
The vertical error stays at about 1 cm or less in every run, so the gain is in horizontal tracking, that is, in attitude rather than lift. The pitch-dominated Straight-Line, a roughly 2.9 m diagonal flown in 5 s legs, improves by 18.4%. The roll-heavy Figure-8, which needs repeated left and right roll, improves by 40.9%. The more a trajectory demands roll, the more the interaction model helps, consistent with roll in the folded state depending entirely on rotor torque.
Hardware
- Flight controller: MicoAir H743 V2 AIO 45A, running a custom controller in the ArduPilot framework (ArduCopter 4.7.0)
- Motors and propellers: T-Motor F1404 4600KV with Gemfan 3020 three-blade propellers
- Morphing: one NSDRC RS-100 servo drives all four arms through a coupled linkage
- Control: geometric attitude controller and interaction-aware allocation at 400 Hz; ArduPilot position control
- Sensing: Vicon motion capture, sent over MAVLink at 30 Hz and fused with onboard inertial measurements
Related work
The dihedral approach to roll in the bicopter configuration follows MorphoCopter (Modi et al., IEEE/ASME Transactions on Mechatronics, 2026). Other morphing drones squeeze through gaps with folding arms (Falanga et al., RA-L 2019), sprung passive hinges (Bucki and Mueller, ICRA 2019) and elastic frames. The attitude controller is the geometric SO(3) controller of Lee, Leok and McClamroch (CDC 2010).
Contact: pravesh.vadapalli@colorado.edu