Please excuse me if this is not the right place for such a request. If a ticket for this already exists, I would appreciate it if someone could point me in the right direction. I am requesting the addition of a parameter (e.g., AIR_DIST or distTraveled_air) to track Total Air Distance Traveled.
For an ArduCopter flying long range missions lasting 30–60 minutes, the weather is usually stable enough that a “tailwind out” usually means a “headwind back,” so ground distance and air distance stay relatively close. However, for a plane flying 50km or 100km missions lasting 3 or 4 hours or more, the wind conditions can change significantly over that timeframe.
In the real world, the “Ground Distance” figure can be misleading. You might get lucky and have a tailwind on both legs, or get stuck with a headwind both ways. This makes ground distance a meaningless metric when trying to compare the true efficiency of the aircraft between different flights.
The real measurement of an aircraft’s efficiency and “work done” is Air Distance. By using the airspeed sensor data to accumulate total distance traveled through the air mass, we could accurately benchmark efficiency and calculate a true “mAh per Air-Kilometer” that isn’t “polluted” by changing wind conditions.
I understand this would require a calibrated airspeed sensor to be enabled, but for those of us in the long-range community, this data would be invaluable. Thank you.
Have you considered averaging instantenous efficiency in logs? This would allow differentiating between different phases of flight. Your efficiency is also affected by your climb rate relative to the air.
Stats are not reset on reboot so it is harder to use them for efficiency measurement.
If you want to implement it, distance was implemented fairly recently and you could copy the logic from there or use Lua.
Thank you for the suggestions and for taking the time to respond. I appreciate it.
I understand that instantaneous efficiency and post-flight log analysis can be useful, especially for breaking down different phases of flight, and I agree that climb rate relative to the air is an important factor when analyzing efficiency offline.
That said, my primary use case here is real-time, in-flight decision making, not post-flight performance analysis. While it is true that air distance can be derived via Lua scripting or reconstructed from logs, that does not solve the operational requirement of having Distance Traveled (Air) displayed directly on the OSD in the same way Distance Traveled (Ground) is currently available.
In long-range fixed-wing flights, especially record-attempt or endurance flights, decisions such as when to turn back must be made in real time, often several hours into a mission. In these scenarios:
Ground distance becomes unreliable due to changing wind conditions
Wind estimates in ArduPilot can be very inaccurate
A cumulative air distance traveled value provides a much more intuitive and stable metric for pilots to judge true aircraft “work done” and remaining energy margin during flight. (by having more accurate estimation of the wind conditions by comparing air/ground distance)
To clarify, this request is not about replacing existing efficiency analysis tools, nor about post-flight benchmarking. It is specifically about exposing a pilot-relevant, real-time metric on the OSD, analogous to the existing ground distance traveled, but derived from airspeed.
I appreciate the note about recent distance-tracking implementation and Lua as an option. However, for operational usability, having this implemented natively and consistently available on the OSD would be significantly more valuable than a custom script. Thank you again for considering this.