I throw it. It catches itself.
Once released, the drone detects the throw, stabilizes itself, and settles into a hover entirely on its own.
The challenge was making sure it only triggered after a real release. I tuned the detection using actual throws so it would not mistake normal handling for flight.
Ping pong
Flies until the Multiranger detects an obstacle, reverses direction, and keeps going until it finds the next one.
The challenge was timing the reversal: too early and it barely commits; too late and it reaches the wall before turning.
Dodge
Hovers in place and moves away when something gets too close. The closer the obstacle gets, the harder it retreats.
Same idea as Ping pong, but a completely different behavior, this one tries to hold its ground.
Figure eight
Flies a smooth figure eight using the Flow Deck for position estimation, then returns to the center and lands.
The path is generated continuously rather than as a list of waypoints, which keeps the motion smooth through both loops and the center crossover.
Barrel roll
Commands a full roll around the drone's body axis, then tries to recover upright.
The roll worked. Recovery was harder with the limited ceiling height, so I stopped before turning a successful demo into a broken drone.
A motor mount printed in the lab
When a motor mount broke, I found a printable replacement, made it in the lab, and had the drone flying again the same day.
Above is the rendered STL model of the replacement motor mount.
