Mohammed Kabir is an active community developer in PX4. He is an undergrad in MIT’s AeroAstro department, and simultaneously runs Corvus Robotics, where the team is working on the next generation of field-hardened robotic autonomy powered by PX4. He also leads the State Estimation team of MIT Driverless, building right now the world’s fastest autonomous Formula Student racecar, a large part of whose autonomous system is powered by PX4. You can find him on Github and Linkedin.
Can you tell us the story of how you got into PX4?
I got into UAVs/drones sometime around 2010, when we still used thermopiles for attitude estimation, and cheap MEMS sensors were just starting to become a thing thanks to mobile phones. My original goal had been to build large glider for autonomous soaring, but I lived in the middle of a city, and I didn’t have much money or space to pursue this. I did, however, continue building software for fixed-wing autopilots, especially on the original Ardupilot boards, and then on the APM 1 and 2. I eventually transitioned into building multicopters capable of indoor flight in 2013 (the joys of living in a metropolis!), which is when I met Lorenz online and began creating the core infrastructure needed for vision-based navigation (e.g camera triggering and time synchronization) in upstream PX4 as it is today.
What is your current project based on PX4?
I have too many work-in-progress projects, as usual. The biggest one right now is my work on field-hardened visual-inertial odometry (VIO) with active sensing. This combines semantic scene understanding with active motion planning and control to improve the quality of vision-based state estimation for robots deployed in the wild.
What is your professional and educational background?
I graduated from St. Xavier’s Collegiate School, Kolkata (back home in India) in 2017, and am currently on track to graduate from MIT AeroAstro’s undergraduate program next year.
What is your “area of expertise” within PX4?
Vision-based Navigation (visual-inertial odometry, realtime mapping and motion planning), Time/Sensor Synchronisation, State Estimation/ECL-EKF, Offboard control, Low-level drivers.
What is the most unique thing you have done in drones/robotics?
This is a tough one. It’s probably my “intelligent racer”, as Julian Oes named it a few years back. This is a 250-sized racing-class quadrotor equipped with a tactical-grade IMU, multiple cameras, and a quad-core i7 CPU. Every time I finish adding a new piece of hardware, I say, “This is the last one, we don’t have any more space.” This has become quite a joke, since it’s been continuously stripped and rebuilt, with new hardware being added, for about 3 years now. There’s always more space if you care to find it! :).
This is my primary testbed for work on GPS-denied navigation, running my own VIO system, motion planning algorithms and ML models onboard.
What is your current favourite setup for development kit?
Pixhawk 4, Companion computer (e.g UP Core, or DJI Manifold 2), and Intel Realsense D435 depth cameras. Typically on a racer frame, with DJI Snail motors, and some good BLHeli-powered DShot ESCs.
What languages do you speak?
English, Bengali, Hindi, and a smatter of Georgian.
Where are you from and where did you grow up?
I’m from Kolkata, India, and grew up there. I currently live in Cambridge, MA, USA.
What advice would you give to fellow drone developers who just joined the PX4 community?
Start by reading the documentation (yes, not everything is documented – it’s a constant battle), and then transition to reading code and running on hardware.