Experimental Validation of a Stepwise Automatic Determination Method for TECS Parameters in ArduPilot Based on Steady-State Assessment
Abstract
1. Introduction
2. TECS Parameters and Lua Script Design
2.1. Target TECS Parameters for Automatic Determination
2.2. Design Requirements for Lua Script-Based Automatic Parameter Determination
- Minor source-code modifications to support coordination with the mission plan and the TAKEOFF command;
- Flight-phase partitioning and a stepwise determination flow based on the TECS-TG;
- Real-time acquisition of UAV state estimates and their steady-state evaluation;
- An explicit execution trigger using an auxiliary RC-transmitter switch, together with functions that allow interruption and resumption.
2.3. State Variables and Evaluation Metrics for Steady-State Evaluation
- Steady level-flight condition: ;
- Steady gliding-flight condition: .
2.4. TECS Parameter Automatic Determination Method in Each Phase
2.4.1. Phase 1: Determination of the Minimum Airspeed
2.4.2. Phase 2: Determination of the Maximum Airspeed
2.4.3. Pre-Climb Transition and Determination of the Maximum Rate of Climb, Pitch-Angle Limits, and the Maximum Sink Rate
- Maximum rate of climb: ;
- Maximum pitch angle: ;
- Minimum pitch angle: ;
- Maximum sink rate: .
- : the maximum rate of climb that an aircraft can achieve while flying at the target airspeed with the throttle at its maximum setting;
- : the pitch angle at which an aircraft can climb while maintaining the target airspeed with the throttle at its maximum setting.
2.4.4. Phase 5: Determination of the Minimum Sink Rate
2.4.5. Phase 6: Determination of the Cruise (Trim) Throttle
2.4.6. Correspondence Between the TECS-TG Procedure and the Phase-Based Procedure
2.5. Safety Design and Abnormal-Condition Recovery Logic
3. Verification of the Proposed Method Using Software-in-the-Loop (SITL) Simulation
3.1. Target Aircraft
3.2. Simulation Conditions
3.2.1. SITL Implementation of the Lua Script and Flight Plan
3.2.2. Steady-State Evaluation Criteria and Phase-Specific Settings
3.3. Simulation Results
3.3.1. Phases 1 and 2: Automatic Determination Results for and (Simulation Results)
3.3.2. Phase 3 and Phase 4: Automatic Determination Results for , , and (Simulation Results)
3.3.3. Phase 5: Automatic Determination Results for (Simulation Results)
3.3.4. Phase 6: Automatic Determination Results for (Simulation Results)
3.4. Robustness Evaluation of the Proposed Method against Wind Disturbances
3.4.1. Assessment of Error Distributions Based on Box-and-Whisker Plots
3.4.2. Sensitivity Analysis Using Factor Effect Plots
3.4.3. Error-Factor Analysis Based on Q–Q Plots and Theil’s Inequality Coefficient Decomposition
3.5. Sensitivity Analysis on the Tolerable MAE Threshold
4. Validation Through Flight Experiments
4.1. Overview of the Experimental Aircraft and Onboard System
4.2. Experimental Results
4.2.1. Phases 1 and 2: Automatic Determination Results for and (Flight Experiments Results)
4.2.2. Phases 3 and 4: Automatic Determination Results for , , and (Flight Experiments Results)
4.2.3. Phase 5: Automatic Determination Results for (Flight Experiments Results)
4.2.4. Phase 6: Automatic Determination Results for (Flight Experiments Results)
4.3. Compensation for Underestimation in Phase 2
4.4. Consistency of in Phase 4 Under the Compensated
4.5. First-Order Effect of Angle-of-Attack Variations on Maximum Sink Rate Estimation
4.6. Comparison Between SITL Simulation and Flight-Experiment Results
5. Conclusions
Supplementary Materials
Author Contributions
Funding
Data Availability Statement
Conflicts of Interest
Nomenclature
| V | Airspeed, m/s | Cruise (trim) throttle setting, % | |
| Airspeed time history, m/s | Reference throttle used in evaluation, % | ||
), m/s2 | Switching rule for TECS_SPDWEIGHT, — | ||
| Minimum airspeed, m/s | Switching time to the gliding segment in Phase 5, s | ||
| Maximum airspeed, m/s | State vector used for steady-state evaluation, component-dependent | ||
| Cruise airspeed, m/s | , component-dependent | ||
| Reference airspeed used for steady-state evaluation, m/s | , component-dependent | ||
| Reference/threshold airspeed used in Phases 3–4, m/s | , component-dependent | ||
| Altitude, mss | -th component over the observation window, component-dependent | ||
| Altitude time history, m | MAE associated with airspeed, m/s | ||
| Rate of climb, m/s | MAE associated with longitudinal acceleration, m/s2 | ||
| Maximum rate of climb, m/s | MAE associated with climb rate, m/s | ||
| Sink rate time history, m/s | MAE associated with altitude, m | ||
| Maximum sink rate, m/s | Allowable MAE threshold vector, component-dependent | ||
| Minimum sink rate, m/s | Allowable MAE threshold for airspeed, m/s | ||
| Altitude demand (command), m | Allowable MAE threshold for longitudinal acceleration, m/s2 | ||
| Pitch angle, deg. | Allowable MAE threshold for climb rate, m/s | ||
| Pitch angle time history, deg. | Allowable MAE threshold for altitude, m | ||
| Maximum pitch angle, deg. | i-th component, component-dependent | ||
| Minimum pitch angle, deg. | Observation time for MAE computation, s | ||
| Commanded pitch angle, deg. | Δt | Sampling interval, s | |
| Initial climb pitch angle used for scheduling, deg. | t | Time, s | |
during climb, deg. | Start/end times of the evaluation window, s | ||
| Safety margin, deg. | k | Discrete-time sample index, — | |
| Angle of attack, deg. | i | State-component index, — | |
| Estimated AoA at maximum-sink condition, deg. | , m/s | ||
| γ | Flight-path angle, deg. | , m/s | |
| T | Throttle command, % | Step indices for deceleration/acceleration tables, — | |
| Minimum throttle setting, % | l, m | Total numbers of steps in deceleration/acceleration tables, — |
References
- Unmanned Aircraft. “LEVEL 4” Flight Web Portal. Available online: https://www.mlit.go.jp/koku/level4/en/ (accessed on 20 January 2026).
- Colomina, I.; Molina, P. Unmanned Aerial Systems for Photogrammetry and Remote Sensing: A Review. ISPRS J. Photogramm. Remote Sens. 2014, 92, 79–97. [Google Scholar] [CrossRef]
- Cai, G.; Dias, J.; Seneviratne, L. A Survey of Small-Scale Unmanned Aerial Vehicles: Recent Advances and Future Development Trends. Unmanned Syst. 2014, 2, 175–199. [Google Scholar] [CrossRef]
- Watts, A.C.; Ambrosia, V.G.; Hinkley, E.A. Unmanned Aircraft Systems in Remote Sensing and Scientific Research: Classification and Considerations of Use. Remote Sens. 2012, 4, 1671–1692. [Google Scholar] [CrossRef]
- Liu, Y.; Wang, Y.; Li, H.; Ai, J. Runway-Free Recovery Methods for Fixed-Wing UAVs: A Comprehensive Review. Drones 2024, 8, 463. [Google Scholar] [CrossRef]
- Delavarpour, N.; Koparan, C.; Nowatzki, J.; Bajwa, S.; Sun, X. A Technical Study on UAV Characteristics for Precision Agriculture Applications and Associated Practical Challenges. Remote Sens. 2021, 13, 1204. [Google Scholar] [CrossRef]
- ArduPilot. Available online: https://ardupilot.org (accessed on 30 January 2026).
- Aliane, N. A Survey of Open-Source UAV Autopilots. Electronics 2024, 13, 4785. [Google Scholar] [CrossRef]
- Kaizu, Y.; Kimura, M. Development of Unmanned Surface Vehicle Using ArduPilot [Translated Japanese]. J. Jpn. Soc. Agric. Mach. Food Eng. 2021, 83, 145–149. [Google Scholar]
- Li, P.; Liu, D.; Baldi, S. Plug-and-Play Adaptation in Autopilot Architectures for Unmanned Aerial Vehicles. In Proceedings of the IECON 2021—47th Annual Conference of the IEEE Industrial Electronics Society; IEEE: Toronto, ON, Canada, 2021; pp. 1–6. [Google Scholar]
- Automatic Tuning with AUTOTUNE—Plane Documentation. Available online: https://ardupilot.org/plane/docs/automatic-tuning-with-autotune.html (accessed on 30 January 2026).
- Matt, J.J.; Flanagan, H.; Chao, H. Evaluation and Analysis of ArduPilot Automatic Tuning Algorithm for the Roll Tracking Controller of a Small UAS. In Proceedings of the AIAA Scitech 2021 Forum, Virtual Event, 11–15, 19–21 January 2021; pp. 11–15. [Google Scholar]
- Faleiro, L.F.; Lambregts, A.A. Analysis and Tuning of a “Total Energy Control System” Control Law Using Eigenstructure Assignment. Aerosp. Sci. Technol. 1999, 3, 127–140. [Google Scholar] [CrossRef]
- Jimenez, P.; Lichota, P.; Agudelo, D.; Rogowski, K. Experimental Validation of Total Energy Control System for UAVs. Energies 2019, 13, 14. [Google Scholar] [CrossRef]
- TECS (Total Energy Control System) for Speed and Height Tuning Guide—Plane Documentation. Available online: https://ardupilot.org/plane/docs/tecs-total-energy-control-system-for-speed-height-tuning-guide.html (accessed on 30 January 2026).
- Plane: Autotune for TECS · Issue #4821 · ArduPilot/Ardupilot. Available online: https://github.com/ArduPilot/ardupilot/issues/4821 (accessed on 30 January 2026).
- Lua Scripts—Copter Documentation. Available online: https://ardupilot.org/copter/docs/common-lua-scripts.html (accessed on 30 January 2026).
- SITL Simulator (Software in the Loop)—Dev Documentation. Available online: https://ardupilot.org/dev/docs/sitl-simulator-software-in-the-loop.html (accessed on 30 January 2026).
- ArduPilot at ArduPilot-4.6 GitHub Repository. Available online: https://github.com/ArduPilot/ardupilot/tree/ArduPilot-4.6 (accessed on 30 January 2026).
- Kephart, R.; Plamowski, S.; Domański, P.D. Effects of Leading Signals on Metrics of Control Quality Indicators. Appl. Sci. 2023, 13, 5720. [Google Scholar] [CrossRef]
- Watanabe, K.; Shibata, T.; Ueba, M. Derivation and Flight Test Validation of Maximum Rate of Climb during Takeoff for Fixed-Wing UAV Driven by Propeller Engine. Aerospace 2024, 11, 233. [Google Scholar] [CrossRef]
- Lammen, W.; Dewitte, P.-J.; Scheers, E. Retrofitted Hydrogen-Electric Propulsion Aircraft: Performance Simulation of Critical Operating Conditions. Aerospace 2025, 12, 95. [Google Scholar] [CrossRef]
- Panagiotopoulos, I.; Sakellariou, L.; Hatziefremidis, A. Design, Construction, and Flight Performance of an Electrically Operated Fixed-Wing UAV. Drones 2024, 8, 217. [Google Scholar] [CrossRef]
- Flight Simulator|X-Plane 12: Flight Simulation Done Right. Available online: https://www.x-plane.com/ (accessed on 30 January 2026).
- ArduPilot/MissionPlanner. Available online: https://github.com/ArduPilot/MissionPlanner (accessed on 30 January 2026).
- RC Calmato Alpha 40 Sport UAV. Available online: https://forums.x-plane.org/files/file/21159-rc-calmato-alpha-40-sport-uav/ (accessed on 30 January 2026).
- 14 CFR 23.337 (29 August 2017)—Limit Maneuvering Load Factors. Available online: https://www.ecfr.gov/on/2017-08-29/title-14/part-23/section-23.337 (accessed on 30 January 2026).
- vJoySerialFeeder. Available online: https://github.com/Cleric-K/vJoySerialFeeder/releases (accessed on 30 January 2026).
- Shen, T.-J.; Chen, C.-L. Model-in-the-Loop Design and Flight Test Validation of Flight Control Laws for a Small Fixed-Wing UAV. Drones 2025, 9, 624. [Google Scholar] [CrossRef]
- Golder, E.R.; Settle, J.G. The Box-Müller Method for Generating Pseudo-Random Normal Deviates. J. R. Stat. Soc. Ser. C. Appl. Stat. 1976, 25, 12–20. [Google Scholar] [CrossRef]
- Umeda, T. Generation of Normal Distributions Revisited. Comput. Stat. 2024, 39, 3907–3921. [Google Scholar] [CrossRef]
- ArduPilot/UAVLogViewer. Available online: https://github.com/ArduPilot/UAVLogViewer (accessed on 30 January 2026).
- Japan Meteorological Agency. Available online: https://www.jma.go.jp/jma/indexe.html (accessed on 1 February 2026).
- Unreliable Airspeed Indication and Stall Warning|ATSB. Available online: https://www.atsb.gov.au/media/news-items/2019/unreliable-airspeed-indication (accessed on 30 January 2026).
- Ratvasky, T.P.; Strapp, J.W.; Lilie, L.; Bansemer, A.; Chen, R.-C. Air Data Probe Anomalies in Flight Through Measured High Ice Water Content Conditions. In Proceedings of the AIAA AVIATION FORUM AND ASCEND 2024; American Institute of Aeronautics and Astronautics: Las Vegas, NV, USA, 2024. [Google Scholar]
- Calibrating an Airspeed Sensor—Plane Documentation. Available online: https://ardupilot.org/plane/docs/calibrating-an-airspeed-sensor.html (accessed on 5 February 2026).
- NIST TN 1297: Appendix A. Law of Propagation of Uncertainty. NIST 2015. Available online: https://www.nist.gov/pml/nist-technical-note-1297/nist-tn-1297-appendix-law-propagation-uncertainty (accessed on 1 February 2026).
- MAX-46AX II. Available online: https://www.os-engines.co.jp/line_up/engine/air/aircraft/air_catalog/15490.html (accessed on 1 February 2026).
- Norris, J.; Bauer, A.B. Zero-Thrust Glide Testing for Drag and Propulsive Efficiency of Propeller Aircraft. J. Aircr. 1993, 30, 505–511. [Google Scholar] [CrossRef]
































| Parameter | Unit | Symbol | Meaning |
|---|---|---|---|
| AIRSPEED_MIN | m/s | Minimum airspeed | |
| AIRSPEED_MAX | m/s | Maximum airspeed | |
| TECS_PITCH_MAX | deg. | Maximum pitch angle | |
| TECS_CLMB_MAX | m/s | Maximum rate of climb | |
| TECS_PITCH_MIN | deg. | Minimum pitch angle | |
| TECS_SINK_MAX | m/s | Maximum sink rate | |
| TECS_SINK_MIN | m/s | Minimum sink rate | |
| TRIM_THROTTLE | % | Cruise throttle setting |
| Parameter | Unit | Key Point in TECS-TG Manual Procedure | Corresponding Phase |
|---|---|---|---|
| m/s | Set as the minimum safe airspeed to avoid stall in level flight. | 1 | |
| m/s | Set slightly below the maximum level-flight speed at maximum throttle. | 2 | |
| deg. | Adjust as the maximum pitch in climb while maintaining adequate airspeed. | 4 | |
| m/s | Measure and set as the best steady climb rate at maximum throttle. | 4 | |
| deg. | Adjust as the minimum pitch in descent without overspeeding. | 4 | |
| m/s | Set as a sink rate that remains feasible without overspeed. | 4 | |
| m/s | Measure and set as the steady sink rate in a minimum-throttle glide. | 5 | |
| % | Adjust and set as the throttle for level flight near the cruise speed. | 6 |
| Category | Parameter | Unit | Value |
|---|---|---|---|
| Specifications | Name | - | Kyosyo Calmato α40 Sports |
| Dry weight | kg | 2.45 | |
| Full weight | kg | 3.19 | |
| Overall length | m | 1.40 | |
| Wingspan | m | 1.60 | |
| Chord length | m | 0.270 | |
| Dihedral angle | deg. | 2.5 | |
| Wing loading | kg/m2 | 5.57~5.79 | |
| Aspect Ratio (AR) | - | 5.81 | |
| Maximum deflection of aileron/elevator/rudder | deg. | 24 | |
| Characteristic values | CG | % MAC | 29.6~33.3 |
| 0.144 | |||
| 0.426 | |||
| 0.560 | |||
| G | 3.8 [27] | ||
| G | −1.52 [27] |
| WP/TP | Latitude | Longitude | Altitude |
|---|---|---|---|
| TP1 | 42° 53′ 75.1” N | 141° 25′ 04.3” E | 80 m |
| TP2 | 42° 53′ 49.9” N | 141° 25′ 85.9” E | 80 m |
| WP1 | 42° 53′ 76.0” N | 141° 25′ 23.6” E | 50 m |
| TP3 | 42° 53′ 75.1” N | 141° 25′ 04.3” E | 50 m |
| WP2 | 42° 53′ 62.4” N | 141° 25′ 23.3” E | 50 m |
| TP4 | 42° 53′ 49.9” N | 141° 25′ 85.9” E | 140 m |
| WP3 | 42° 53′ 57.8” N | 141° 25′ 83.0” E | 140 m |
| Item | Unit | Value |
|---|---|---|
| s | 0.02 | |
| - | 470 | |
| m/s | 0.52 | |
| m/s2 | 0.55 | |
| m/s | 0.76 | |
| m | 0.71 | |
| m/s | 0.367 | |
| m/s2 | 0.388 | |
| m/s | 0.538 | |
| m | 0.500 |
| Item | Unit | Value | Note |
| s | 0.02 | - | |
| s | 4.0 | Phase 1, Phase 2, Phase 6 | |
| s | 3.5 | Phase 4 | |
| s | 3.0 | Phase 5 | |
| (Time out) | s | 20 | Only use Phase 1, Phase 2 |
| Phase | Item | Unit | Value |
|---|---|---|---|
| Common | m/s | 25 | |
| 1 | [m/s m/s2 m/s]T | ||
| [m/s m/s2 m/s]T | |||
| {m/s, m/s2, m/s} | } | ||
| m/s | } | ||
| 2 | [m/s m/s2 m/s]T | ||
| [m/s m/s2 m/s]T | |||
| {m/s, m/s2, m/s} | } | ||
| m/s | } | ||
| 3&4 | [m/s m/s2]T | ||
| [m/s m/s2]T | |||
| {m/s, m/s2} | |||
| m/s | 28 | ||
| deg. | 23 | ||
| deg. | 5 | ||
| m | 140 | ||
| deg. | 5 | ||
| 5 | [m/s] | ||
| [m/s] | |||
| {m/s} | } | ||
| % | 10 | ||
| m | 30 | ||
| 6 | [m/s m/s2 m/s m]T | ||
| [m/s m/s2 m/s m]T | |||
| {m/s, m/s2, m/s, m} |
| CaseID | WindSpd [m/s] | WindDir [deg.] | Gust [m/s] |
|---|---|---|---|
| 1 (Baseline) | 0 | 0 | 0 |
| 2 | 4 | 0 | 0 |
| 3 | 4 | 45 | 0 |
| 4 | 4 | 90 | 0 |
| 5 | 4 | 0 | 2 |
| 6 | 4 | 45 | 2 |
| 7 | 4 | 90 | 2 |
| 8 | 8 | 0 | 0 |
| 9 | 8 | 45 | 0 |
| 10 | 8 | 90 | 0 |
| 11 | 8 | 0 | 2 |
| 12 | 8 | 45 | 2 |
| 13 | 8 | 90 | 2 |
| 14 | 10 | 0 | 0 |
| 15 | 10 | 45 | 0 |
| 16 | 10 | 90 | 0 |
| 17 | 10 | 0 | 2 |
| 18 | 10 | 45 | 2 |
| 19 | 10 | 90 | 2 |
| λ | Count | Rate | Determined Param. |
|---|---|---|---|
| 0.70 | 1 | 0.125 | |
| 0.75 | 1 | 0.125 | |
| 0.80 | 1 | 0.125 | |
| 0.85 | 5 | 0.625 | |
| 0.90 | 8 | 1 | All |
| 1.0 | 8 | 1 | All |
| 1.05 | 8 | 1 | All |
| 1.10 | 8 | 1 | All |
| 1.15 | 8 | 1 | All |
| 1.20 | 8 | 1 | All |
| 1.25 | 8 | 1 | All |
| 1.30 | 8 | 1 | All |
| Item | Unit | Value | Note |
|---|---|---|---|
| Air temperature | °C | −5.1 | - |
| Humidity | % | 71 | - |
| Vapor pressure | hPa | 2.8 | - |
| Mean wind speed | m/s | 5.2 | - |
| Mean wind direction | deg. | WNW (292.5) | Wind direction is given as the direction from which the wind blows. |
| Maximum instantaneous wind speed (gust) | m/s | 9.0 | - |
| Gust direction | deg. | NW (315) | Direction from which the gust blows. |
| Snow depth | cm | 1 | - |
| Subsystem/Function | Manufacture (City, State, Country) | Model/Product Name |
|---|---|---|
| Flight Controller (FC) | Matek Systems (Hong Kong, China) | H743-WLITE |
| GNSS & Compass | M10Q-5883 | |
| 920 MHz radio module | Nomura Engineering (Yamato, Kanagawa, Japan) | TS92 EZmdm |
| 920 MHz ANT | - | Whip antenna |
| Airspeed sensor | TE Connectivity (Berwyn, PA, USA) | MS4525DO series |
| Propulsion (Engine) | O.S. Engines (Osaka, Japan) | MAX-46AX II |
| Conditions | WindSpd [m/s] | WindDir [deg.] | Gust [m/s] | Total WindSpd [m/s] |
|---|---|---|---|---|
| SITL Simulation (CaseID = 1) | 0 | 0 | 0 | 0 |
| SITL Simulation (CaseID = 17) | 10 | 0 | 2 | 12 |
| Experiment | 5.2 | 0 | s9 | 14.2 |
| Phase | Parameter | Unit | SITL Simulation (CaseID = 1) | SITL Simulation (CaseID = 17) | Experiment |
|---|---|---|---|---|---|
| 1 | m/s | 13 | 22 | 20 | |
| 2 | m/s | 36 | 31 | 32 | |
| 3&4 | m/s | 9.10 | 8.16 | 7.87 | |
| deg. | 21.5 | 18.5 | 22.5 | ||
| deg. | −16.5 | −13.5 | −17.5 | ||
| m/s | −10.1 | −13.0 | −12.1 | ||
| 5 | m/s | −3.10 | −2.85 | −10.5 | |
| 6 | % | 37.1 | 44.1 | 41.8 |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2026 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license.
Share and Cite
Fukada, R.; Hatanaka, K.; Hirota, M. Experimental Validation of a Stepwise Automatic Determination Method for TECS Parameters in ArduPilot Based on Steady-State Assessment. Aerospace 2026, 13, 193. https://doi.org/10.3390/aerospace13020193
Fukada R, Hatanaka K, Hirota M. Experimental Validation of a Stepwise Automatic Determination Method for TECS Parameters in ArduPilot Based on Steady-State Assessment. Aerospace. 2026; 13(2):193. https://doi.org/10.3390/aerospace13020193
Chicago/Turabian StyleFukada, Ryoya, Kazuaki Hatanaka, and Mitsutomo Hirota. 2026. "Experimental Validation of a Stepwise Automatic Determination Method for TECS Parameters in ArduPilot Based on Steady-State Assessment" Aerospace 13, no. 2: 193. https://doi.org/10.3390/aerospace13020193
APA StyleFukada, R., Hatanaka, K., & Hirota, M. (2026). Experimental Validation of a Stepwise Automatic Determination Method for TECS Parameters in ArduPilot Based on Steady-State Assessment. Aerospace, 13(2), 193. https://doi.org/10.3390/aerospace13020193

