In 2016, I joined Parrot as an intern to work on the Mambo, a small consumer minidrone designed for accessible indoor piloting. Prop-guarded, robust, and built for a wide audience, the Mambo was also the platform Parrot used at the time to prototype new flight control ideas before deploying them to more capable aircraft.
The internship focused on R&D: prototyping a next-generation state estimation pipeline for small multirotor drones.
What I worked on
The Mambo carried a constrained but rich sensor suite: IMU, barometer, ultrasonic altimeter, and a downward-facing optical flow sensor. Getting reliable position and velocity estimates from this combination, on a platform with very limited compute, in real time, in environments where GPS is unavailable, is the core state estimation problem for indoor micro-drones.
The work involved:
- Sensor fusion architecture — designing the estimator structure that combined inertial data, optical flow, and range measurements into a coherent position/velocity estimate.
- Embedded implementation — implementing the estimator in C on the drone’s main processor, within the timing budget of the real-time control loop.
- Characterisation and validation — testing the estimator against ground truth, profiling error behaviour across flight conditions, and iterating on the filtering approach.
Context
This was my first extended exposure to production drone software at Parrot, a company shipping embedded systems to millions of users. The state estimation problem on a small drone is deceptively hard: sensors are noisy, the dynamics are fast, and the compute budget leaves little room. It was the introduction to the kind of engineering rigour that would define everything that followed.