Matura thesis · Informatik/Physik
Engineering, Construction, and Programming of a Fully Autonomous Drone
Submitted 6 Dec 2022 · Kantonsschule Rychenberg · Class 6bG
This paper details the engineering, construction, and programming of a fully autonomous drone designed with privacy in mind. Instead of cameras, a single 360° LiDAR detects obstacles in unknown environments. Components were selected using flight-time calculations; autonomy covers take-off, navigation, landing, and obstacle avoidance in C++, developed and tested in simulation before hardware flights. The system fulfils its objectives within the stated limitations, though additional sensors would be needed for an industrial-grade solution.
Objective
Build a fully autonomous drone that navigates from A to B without manual input—including take-off and landing—while avoiding obstacles without cameras. Success criteria included reliable flight in any direction, competitive flight time versus commercial platforms, path planning at constant altitude with fly-over fallback, and re-flying saved avoidance paths via recorded waypoints.
Hardware
Dual-computer architecture: Pixhawk 4 (PX4) for low-level attitude and safety, Raspberry Pi 3B+ for high-level autonomy. A top-mounted LD06 360° LiDAR scans a tilted plane so obstacles intersect the sensor footprint while the drone banks. Frame: ZD550 carbon kit; SunnySky v3508 motors with 11″ propellers; Swaytronic 10 000 mAh 4S battery; PM07 power distribution; manual override via FrSky Taranis + X8R.
- Component selection driven by hover-time optimization (motor efficiency vs. battery mass)
- Measured ~30 min hover indoors vs. ~19 min in cold/windy conditions (vs. ~34 min theoretical)
- Custom frame mods: enlarged battery bay, polystyrene sensor tower, vibration-isolated Pixhawk mount
Software
All high-level logic runs in C++ on the Raspberry Pi, communicating with PX4 over MAVLink 2. LiDAR packets are parsed, CRC-checked, and assembled into full revolutions; IMU/GPS/attitude data is decoded from MAVLink streams. Movement uses smoothed velocity commands in NED frame rather than raw position targets, to avoid aggressive tilts that blind the LiDAR.
- Exploration Mode (EM): fly toward goal; on blockage, sidestep or climb; record position waypoints along detours
- Waypoint Mode (WM): replay saved paths; re-run EM locally when new obstacles appear
- Collision checking on a 3 m-wide path; flight-direction correction vector keeps ≥5 m clearance during evasion
- Offboard mode with automatic fallback if companion-computer commands stop
Simulation & flight tests
Microsoft AirSim on Unreal Engine enabled rapid iteration without weather risk or crash cost—though perfect simulated GPS/LiDAR and no wind diverged from outdoor behaviour (wind pushed the drone closer to obstacles than in sim). Hardware test flights validated the stack; open-source code is on GitHub.
Conclusion
The drone met all defined objectives on hardware and demonstrated full feature behaviour in simulation. The thesis argues that rich 3D perception is possible from a single 2D LiDAR plus attitude data, but industrial delivery drones would likely still rely on cameras for economics and coverage—while this project shows a viable privacy-preserving alternative at proof-of-concept scale.
Awards & recognition
- NGW Award — Naturwissenschaftliche Gesellschaft Winterthur, for constructing and engineering the autonomous drone.
- Canton of Zurich Award — Matura thesis published in the official cantonal archive. Award page
- Best Matura Paper — Kantonsschule Rychenberg school award for the thesis. Published paper (PDF)