Entry 6 – First Real Mission Flown & The GPS Accuracy Problem
This week had a genuine highlight: for the first time in the project, the LionBee flew a real autonomous mission from start to finish. It was not perfect, but it flew, it navigated, and it landed at the target. That is a milestone worth marking.
Software Team – Simulation Looking Good, Drift Still There
The software side looks similar to last week, with one notable improvement. The MAVLink connection and all associated telemetry are stable, and mission planning has progressed to the point where a planned mission is now correctly displayed in iNav after being uploaded via Python, including the waypoints, the expected flight path, and estimated movement speed. Seeing the mission reflected accurately in iNav's interface is a good sign that the communication layer is working as intended.
The drift problem, however, is still present. The underlying issue, a mismatch in attitude reference between the simulation and iNav's estimator, has not been resolved yet. The drone still wanders off course during longer simulation runs, and the team continues to work through tuning configurations methodically. It is slow progress, but the team has a clearer picture now of which parameters are most likely responsible.
Hardware Team – PID Tuning Done, First Mission Completed Outdoors
The hardware team had a busy and ultimately rewarding week. The focus was on two things: finishing PID tuning for stable flight, and testing the first real autonomous mission on the actual drone.
PID Tuning Complete:
After careful iterative tuning, the drone is now flying smoothly and stably under iNav. This is a prerequisite for any meaningful autonomous flight. A poorly tuned drone will fight its own corrections and make mission execution unpredictable. With the PIDs dialled in, the LionBee holds its attitude well and responds cleanly to control inputs.
First Indoor Test:
The team's first attempt at an autonomous mission was done indoors. The drone was given a waypoint 2 metres above its starting position, instructed to fly to a new GPS coordinate, and then land. Indoors, GPS accuracy is significantly degraded. The signal is weak, multipath reflections introduce noise, and the position fix can jump erratically. The results reflected this: the drone recognised the correct direction of the target waypoint, but instead of climbing first and then flying horizontally, it attempted to move toward the coordinate while still on the ground, essentially dragging itself along the floor before getting properly airborne. The sequencing between altitude hold and horizontal navigation was not working as expected under the poor GPS conditions.
First Successful Outdoor Mission:
Taking the drone outside made an immediate difference. With a clear sky and a proper GPS fix, the M10Q module performed much better, with more stable position readings, less noise, and a position estimate that actually tracked the drone's real location. The mission was attempted again: climb to 2 metres, fly to the target coordinate, land.
This time, it worked. The drone took off, reached altitude, navigated to the waypoint, and landed at the target location. It is the first time in the project that a full autonomous mission has been completed end-to-end on real hardware, a significant milestone after weeks of firmware work, port mapping, ELRS porting, and PID tuning.
That said, "it worked" comes with an asterisk. The flight was not smooth. The transitions between phases felt abrupt, the approach to the waypoint was not fluid, and the GPS inaccuracy was visible in how the drone wandered slightly around the target rather than hitting it precisely. GPS-based navigation using only absolute coordinates has an inherent limitation: consumer-grade GPS modules like the M10Q are accurate to a few metres under good conditions, and that margin becomes very noticeable when your entire mission is only a few metres wide.
The GPS Accuracy Problem
It is worth addressing this directly, because it will be a recurring theme. iNav's autonomous navigation works by comparing the drone's current GPS position to the target waypoint coordinates and generating correction commands accordingly. The accuracy of that process is only as good as the GPS fix.
Outdoors with a clear sky lock, the M10Q performs reasonably well, but "reasonably well" for a consumer GPS module still means positional uncertainty of 1 to 3 metres in good conditions. For a drone executing a short-range mission, that margin is large. The drone does not drift arbitrarily; it genuinely tries to reach the target. But the position it thinks it is at and the position it actually is at are not always the same thing.
This is a known limitation of GPS-only navigation at small scales. Addressing it properly would require either differential GPS, a vision-based positioning system, or sensor fusion with additional localisation sources. For now, the team is working within these constraints while focusing on getting the mission logic itself solid.
The first real mission is in the books. It was not elegant, but it was real, and that matters.