Index / Past / №06 / Autonomous Systems
SLAM Drone
A 250 mm carbon-fiber quadcopter built as a testbed for vision-based SLAM — simultaneous localization and mapping with no external positioning. The stack pairs a Holybro Kakute H7 flight controller running ArduPilot with a Raspberry Pi 4 companion computer and an Arducam IMX708 monocular camera, talking over MAVLink. Developed as an Autonomous Systems Engineer with Anoop Singh Robotics at ASU, and documented end to end so the next person can reproduce the platform.
Localization fuses GPS, compass, and barometer with visual odometry through ArduPilot's EKF3, holding position accuracy under 0.3 m. ORB-SLAM2 feature tracking on the companion computer provides the visual layer, reaching an 85% tracking success rate in textured indoor environments with automatic failsafe recovery when tracking drops.
The estimation work was proven incrementally: EKF and particle-filter implementations written from scratch in Python and MATLAB, first on a desktop rig — an Arduino with an ultrasonic rangefinder feeding a 2D EKF for landmark-based localization — before porting to flight hardware.
The vehicle flies autonomous waypoint missions with real-time obstacle avoidance, combining the SLAM layer with ArduPilot's mission planner. Control work covered PID tuning for position hold — settling time under 2 seconds with roughly 10% overshoot — plus MSP/MAVLink protocol implementation and real-time sensor-fusion code in Python.
The same problem — knowing where you are from noisy on-board sensors — maps directly to guided recovery in rocketry, which is why this platform exists in the index at all.
Power distribution and sensor mounts were designed in Fusion 360 for the 250 mm carbon frame, optimizing center-of-gravity placement and vibration isolation for camera stability; structural integrity was validated empirically under 4 g flight loads. The electrical system was wired and soldered in-house, with brushless propulsion tuned for the added compute payload. Iteration was deliberately fast: design, fly, log, fix.