{"id":"685e9215-969b-45a9-b0f6-6cb7122bbfd3","arxiv_id":"2505.15044","paper_version":1,"verdict":"CONDITIONAL","confidence":"MODERATE","novelty_score":6.0,"correctness_risk":"medium","formal_verification":"none","parameter_count":4,"one_line_summary":"Reports a learning-based airflow-inertial odometry system that fuses thermal anemometer, IMU, ESC, and barometer data to estimate MAV speed and position, with 5.7 m drift over 203 s in a GPS and vision denied indoor flight.","lead":"A drone uses thermal airflow sensors, an inertial unit, and a barometer to estimate its flight speed and position without GPS or cameras. Neural networks separate the drone's own propeller downwash from its true motion, yielding a position drift of 5.7 m over a 203-second indoor flight.","discovery_kind":"extension","skeptic_critique":{"model":"deepseek-v4-flash","headline":"The vertical anemometer measures V_z plus propeller-induced downwash, but the velocity estimator receives no ESC/thrust, altitude, or attitude input, so separating the two is unproven; this decoupling is the method's enabling premise and the paper gives no identifiability argument or ablation.","rationale":"The central claim has two parts: (i) the GRU-based velocity estimator can separate propeller-induced downwash and ground effect from true airspeed using only anemometer and gyroscope measurements, and (ii) the observer fusion yields only 5.7 m of position drift over 203 s. Part (i) is the enabling premise. Equation (1) defines the ideal anemometer relation, but the raw sensor actually measures a mixture of true airspeed and induced flow; the target V^B cannot be recovered without knowing eta. Since eta depends on rotor thrust, and rotor thrust is not an input to the velocity estimator, the mapping from inputs to target is potentially non-identifiable. The paper gives no physical identifiability argument and no ablation. The validation-set plots show low prediction errors, but those plots are on data used for early stopping (Section VI.C) and no repeated or held-out statistics are reported, so they do not establish generalization. The open-source code and the observer derivation are real strengths, but they do not resolve this identifiability gap. If the proposed hover-thrust experiment shows that the estimated vertical velocity remains zero across thrust levels, the concern is resolved; if it does not, the claimed decoupling fails and the horizontal velocity bias that produces the 5.7 m drift is not a removable artifact. I therefore keep the reader's CONDITIONAL verdict, with the added requirement that the identifiability question be tested directly.","tokens_in":10734,"tokens_out":11663,"duration_ms":116203,"concrete_test":"Run a controlled hover experiment with MoCap ground truth: while the MAV hovers at a fixed position, command several distinct rotor-speed setpoints (for example, by adding payload masses or flying at different battery voltage levels) so that eta varies while V_z^B remains zero. Feed the trained velocity estimator's inputs (anemometer and gyroscope) and check whether the estimated V_z^B stays at zero. If the estimate shifts with throttle or payload, the network has not separated downwash from airspeed. As a complementary check, retrain the velocity estimator with ESC/PWM and attitude/acceleration added as inputs and compare held-out test RMSE on the existing 203-s data; a substantial improvement would indicate the current input set is insufficient.","verdict_should_be":"UNCHANGED","load_bearing_attack":"Section IV-A states that the velocity estimator takes as input only raw anemometer readings and angular rate, and is trained to output body-frame airspeed. In wind-free flight the vertical anemometer reading is approximately y_z = V_z^B + eta(Omega, attitude, ground effect), where eta is the propeller-induced downwash. The training target is V_a^B = V^B (Eq. (1) with V_w = 0), so the network must disentangle V_z^B from eta. But eta depends primarily on rotor speed (hence ESC command) and on distance to the ground; none of ESC/PWM, throttle, altitude, or attitude is an input to this network. Two different states can produce the same vertical anemometer reading, e.g., an increase in eta compensated by a decrease in V_z^B, and the gyroscope alone does not resolve this ambiguity in steady flight. The paper's assertion that 'the neural network is able to implicitly estimate and decouple the current induced wind speed based on a time-slice of data' (Section VI.D) is therefore an empirical claim that needs direct verification. The single 203-s manual flight, which may be from the validation set (Section VI.C/D), does not provide that verification: it is one trajectory, has no error bars, no variation of thrust or payload, and no ablation with ESC input. The open-source code is a strength, but it does not by itself establish identifiability.","agreement_with_reader":"agree"},"referee_report":{"model":"deepseek-v4-flash","summary":"This paper proposes an airflow-inertial odometry system for small MAVs operating in GPS- and vision-denied, wind-free indoor environments. The system combines four orthogonal thermal anemometers, a 9-axis IMU, a barometer, ESC commands, and battery telemetry. Three GRU-based neural networks estimate body-frame airspeed, inertial-frame acceleration, and on-ground/in-air status, and a bias-augmented observer fuses these signals with IMU and barometer measurements. The headline result is a total position drift of 5.7 m over a 203 s manual random flight, together with the claim that the networks decouple propeller-induced downwash and ground effect from flight speed. Source code is made publicly available.","tokens_in":11114,"tokens_out":4851,"duration_ms":43044,"significance":"If validated, the proposed approach would be a meaningful contribution to proprioceptive MAV odometry for GPS- and vision-denied scenarios, using low-cost onboard sensors. The paper has several strengths: it addresses the full flight envelope including takeoff and landing, models barometer bias with a time-varying estimate, uses a symmetric anemometer configuration, and releases open-source code. The use of a learned acceleration estimator from ESC, battery, attitude, and anemometer inputs is also a useful idea. However, the evidence for the central decoupling claim is indirect and rests on very limited experimental support; the significance is therefore conditional on stronger validation of the identifiability and generalizability of the learned estimators.","major_comments":[{"comment":"The velocity estimator receives only raw anemometer readings and angular rate as inputs, yet it is claimed to output body-frame airspeed with the propeller-induced downwash and ground effect removed. In wind-free flight, the vertical anemometer signal is approximately the sum of the vehicle's vertical velocity and the downwash, which depends primarily on rotor speed, attitude, and ground proximity. Since neither ESC command nor altitude nor attitude is provided, two different states (different thrust and different vertical velocity) can produce identical anemometer time series, and the gyroscope alone does not resolve this ambiguity in quasi-steady flight. The paper's assertion in Section VI.D that the network can 'implicitly estimate and decouple the current induced wind speed based on a time-slice of data' needs an identifiability argument or a direct experiment, for example a hover test with varying thrust commands, to show that the estimator separates the two components rather than merely fitting the MoCap-derived targets in the training distribution.","section":"Section IV-A and Fig. 3a"},{"comment":"The first line of Eq. (7), \\dot{\\hat P} = \\hat V - k_2(\\hat P - h + \\hat b_b), mixes a 3D position vector with a scalar barometric altitude and a scalar bias. The barometer observes only the vertical channel, so the equation as written is dimensionally inconsistent and cannot be the actual filter implementation. Please specify the projected vertical formulation, clarify how horizontal position is updated, and state explicitly whether the horizontal position is simply integrated from velocity without corrective terms. This matters because the headline 5.7 m drift figure depends on the exact integration algorithm.","section":"Section V.C, Eq. (7)"},{"comment":"With the reported gain \\alpha = 0 in Eq. (7), the fused acceleration is \\hat A = a_p, so the term g + R a_m - \\hat b_a is not used at all. Nevertheless, Section VI.E and Fig. 5c report estimates of the accelerometer bias \\hat b_a. This is internally inconsistent: if \\alpha = 0, \\hat b_a does not appear in the observer dynamics and its estimate cannot influence the state estimate. Please clarify whether the gain value is misreported, or whether Fig. 5c comes from a different setting, and provide the actual gains used for the 203 s flight.","section":"Section V.C and Table I"},{"comment":"The experimental evidence for the central claim is thin. Only one 203 s manual random flight underlies the reported 5.7 m drift, and no repeated trials, error bars, or cross-platform tests are provided. Fig. 4 is explicitly labeled as the validation set, but Fig. 5 and Fig. 6 are not labeled as test or validation, so it is unclear whether the data-fusion results are from the held-out test set. Because the neural networks are trained on MoCap ground truth collected in the same arena with the same manual piloting style, the authors should report per-axis RMSE and position drift statistics on the test set, over multiple flights, to support the generalization claims in the Abstract and Section VI.D.","section":"Section VI.C-E"},{"comment":"The abstract claims that the system 'accurately estimate[s] the flight speed', but the only quantitative accuracy metric reported is the position drift of 5.7 m. No test-set speed RMSE, per-axis error, or comparison against the velocity estimator alone is quantified. Please provide explicit numerical speed-estimation errors on the held-out test flight, as well as a breakdown of the reported position drift by horizontal and vertical components, since the observer only corrects the vertical channel with the barometer.","section":"Abstract and Section VI.D"}],"minor_comments":[{"comment":"The open-source URL is typeset as 'onhttps://github.com/...' without a space; please fix the formatting.","section":"Abstract"},{"comment":"The text says 'the trust perpendicular to the rotor plane' where 'thrust' is intended.","section":"Section IV.B"},{"comment":"The captions of Fig. 5 contain 'verse' instead of 'versus', and in Fig. 5d it is unclear which curve corresponds to the velocity bias and which to the altitude bias; please label the curves directly.","section":"Section VI.E"},{"comment":"The description of obtaining ground-truth velocity and acceleration by polynomial fitting and smoothing of the MoCap position should state the polynomial order and window length, since these choices directly affect the training targets of the neural networks.","section":"Section VI.B"}],"recommendation":"major_revision","confidential_remarks":"The central technical risk is the identifiability of the downwash/airspeed separation in the velocity estimator; the current single-flight validation and the lack of an ablation or a hover test with varied thrust make the main claim less convincing than the abstract suggests. I would like to see either a physical identifiability argument, an ablation that includes ESC inputs, or a controlled experiment demonstrating downwash decoupling, along with test-set quantitative metrics and repeated flights. The open-source release is a positive factor, but the manuscript needs strengthening before it can be accepted."},"author_rebuttal":null,"desk_editor":{"model":"deepseek-v4-flash","letter":"Read the airflow-inertial odometry paper. The integration is real: symmetric anemometer setup, learned acceleration and flight-status networks, barometer bias in the observer, and a full takeoff/landing flight. That combination is not in Tagliabue and How or in the authors' own prior work. The observer equations are coherent and the open-source code is a genuine asset. Credit where due: they are honest about horizontal drift and about alpha=0 meaning the accelerometer is effectively unused in the air observer, which aligns with the table even if the prose is sloppy.\n\nThe soft spots are exactly where the reader and stress-test point. The velocity estimator gets only raw anemometer readings plus gyro, no ESC, altitude, or attitude. The vertical anemometer sees V_z plus downwash; the network must separate them from a time slice of those inputs. That is an empirical identifiability claim, and the evidence is one 203-s manual flight. Fig.4 is explicitly validation; Figs.5-6 are not labeled test-set, so we don't know if the headline drift is on the held-out flight. No error bars, no repeated trials, no ablation with ESC input, no payload or thrust variation. The 5.7 m drift might be the best of a few runs for all we know. Also the text says barometer bias is 'time-invariant' in one place and first-order in another, and the observer has a second-order bias equation — minor but confusing.\n\nThe math of the observer itself is sound. The issue is the burden on the neural net, which is doing the load-bearing work. If they showed the decoupling directly — e.g., compare with and without ESC input, vary throttle in hover, show that the learned separation generalizes — the claim would stand. Right now it is plausible but under-supported.\n\nWho should read this: people working on proprioceptive MAV odometry, especially anyone wanting an alternative to vision/GPS in indoor settings. It deserves a serious referee: the system concept is meaningful and the code is out, but the experimental section needs major revision before acceptance. I'd recommend conditional acceptance only after repeated flights, clear test-set labeling, and an identifiability or ablation argument.","headline":"A useful integrated airflow-inertial odometry system, but the central decoupling claim needs more than one flight and an identifiability argument.","tokens_in":11587,"tokens_out":1691,"would_cite":false,"duration_ms":15396,"reading_group":"maybe","serious_thinker":"yes","would_accept_peer_review":true},"rs_alignment":null,"lean_confirmation":null,"pith_extraction":{"msc":[],"pacs":[],"model":"deepseek-v4-flash","headline":"A drone can estimate its own speed and position from airflow alone, with just 5.7 m drift over 203 s.","keywords":["thermal anemometer","airflow inertial odometry","quadrotor state estimation","GRU neural network","sensor fusion","GPS-denied navigation","barometer bias estimation","downwash decoupling"],"falsifier":"During a flight with abrupt throttle changes at roughly constant velocity, compare the velocity estimator's output to motion-capture ground truth; if the airspeed estimate spuriously tracks the throttle commands, the network is fitting downwash rather than decoupling it.","tokens_in":10542,"feed_emoji":"💨","tokens_out":7177,"duration_ms":56679,"temperature":0.7,"pith_summary":"The paper claims that a small quadrotor can navigate without GPS, vision, or any external reference by sensing the air it flies through. Thermal anemometers on the drone measure airflow, but the propellers' downwash and the ground's effect on that airflow corrupt the readings. The paper's central claim is that a recurrent neural network can learn to strip away the propeller-induced airflow and recover the drone's true airspeed, and that fusing this airspeed with an IMU, a barometer, and motor commands in a bias-estimating observer yields a full-flight odometry solution. On one 203-second manual random flight that includes takeoff and landing, the reported total position drift is 5.7 meters. If the result holds beyond that single flight, it offers a proprioceptive fallback for drones flying in places where satellite and visual navigation fail.","feed_headline":"Airflow-only drone odometry: 5.7 m drift in 203 s","feed_subtitle":"Neural net separates propeller downwash from true airspeed, so a drone can navigate without GPS or vision.","key_machinery":"The central machinery is a single CNN-GRU neural network architecture reused for three tasks: velocity estimation, acceleration estimation, and flight-status identification. For velocity, the network consumes a time window of raw anemometer measurements and gyroscope rates and outputs body-frame airspeed, supervised by motion-capture ground truth; the governing relation is $V_a^{\\{B\\}} = R_0 \\bar{V}_C^a - \\omega \\times \\delta$, meaning the body-frame airspeed equals the rotated anemometer measurement minus the rotational velocity at the sensor center, with the mounting rotation $R_0$ and lever arm $\\delta$ left for the network to learn implicitly. This is what lets the network separate the propeller-induced downwash from the actual flight speed without ever receiving throttle or thrust inputs. Around the network outputs, an observer with bias states for the accelerometer, the velocity estimate, and the barometer fuses IMU, barometric altitude, and the learned acceleration, using the flight-status classifier to switch between a ground model and an in-air model.","core_discovery":"The paper's central claim is that airflow-inertial odometry can work with low-cost sensors in a wind-free indoor environment, provided a recurrent network learns to separate the propeller-induced downwash from the true airspeed. The velocity estimator takes raw anemometer readings in the sensor frame together with gyroscope measurements and outputs body-frame airspeed, implicitly learning the sensor mounting geometry and the induced downwash velocity; the reported velocity error stays within roughly 0.5 m/s of motion-capture ground truth across the full flight, including takeoff and landing. The acceleration estimator learns the quadrotor's aerodynamic force model from ESC commands, attitude, battery state, and airspeed, and a flight-status classifier tells the observer whether the drone is on the ground or in the air. The observer fuses these estimates with IMU acceleration and barometric altitude, treating the neural outputs as biased measurements, and estimates the accelerometer bias, the vertical velocity-estimator bias, and the barometer bias. The result is a trajectory whose total position drift is 5.7 meters over 203 seconds of manual random flight.","pith_inferences":["A natural extension would be to expose the trained velocity estimator to a constant outdoor wind; because the network never sees throttle inputs, its ability to separate wind from flight speed is untested, and the claim is currently scoped to wind-free environments only.","The single 203-second test flight, with no error bars or repeated trials, is thin evidence for the 5.7 m drift figure; re-running the same protocol several times would reveal whether the reported accuracy is a typical outcome or a favorable one.","The acceleration estimator learns an aerodynamic model from ESC commands and battery state, which suggests the same architecture could be adapted to other multirotor platforms without hand-tuning a force model, but this cross-platform generalization is not demonstrated.","A stronger test of the downwash-decoupling claim would be an experiment with abrupt throttle changes at constant velocity; if the airspeed estimate tracks the throttle, the network would be fitting downwash rather than separating it."],"forward_implications":["A quadrotor can run a continuous odometry solution from takeoff to landing without GPS or vision, since the flight-status classifier switches the observer between ground and in-air models.","The observer's explicit bias estimation for the accelerometer, the vertical velocity estimate, and the barometer removes the main sources of integration drift, cutting vertical position drift substantially.","The reported velocity error stays within about 0.5 m/s of ground truth across the validation flight, suggesting the learned downwash decoupling is stable within the training distribution.","The approach leaves horizontal drift uncorrected, so the authors position it for teleoperation and low-globality scenarios rather than as a standalone full navigation solution."],"supporting_citations":[{"why":"Supplies the quadrotor force model (thrust and drag) that the acceleration estimator approximates via the neural network.","marker":"[4]"},{"why":"Establishes thermal anemometer sensing of airflow as a viable velocity measurement for small aerial vehicles.","marker":"[5]"},{"why":"Prior work by the authors introducing a neural network for airspeed prediction from anemometer measurements, which this paper extends.","marker":"[6]"},{"why":"Earlier airflow-based odometry framework from the authors that this work builds on with symmetric anemometer configuration and barometer fusion.","marker":"[7]"},{"why":"Introduces airflow-inertial odometry for resilient state estimation on multirotors, the closest baseline this approach extends.","marker":"[8]"},{"why":"Demonstrates integrated indoor quadrotor localization with IMU, magnetometer, barometer, and mass-flow sensor, providing context for the sensor fusion design.","marker":"[9]"},{"why":"Wavenet's convolutional structure inspires the use of CNN layers for denoising the time-series sensor data.","marker":"[23]"},{"why":"Provides the attitude estimation method used to fuse IMU measurements in the observer.","marker":"[28]"}],"fun_headline_variants":["Airflow-only drone odometry: 5.7m drift in 203s","Neural net clears propeller wash for drone navigation","Drone flight without GPS: wind sensor plus neural net","CNN-like net decouples downwash for 0.5m/s velocity","Thermal anemometer odometry: 5.7m error in 203s"],"cache_read_input_tokens":3200,"weakest_assumption_plain":"The GRU velocity estimator must have learned a genuinely physical separation of propeller-induced downwash from true airspeed that generalizes beyond its two training flights, since it is never given throttle or thrust inputs to condition on.","fun_headline_variants_meta":{"raw":{"variants":["Airflow-only drone odometry: 5.7m drift in 203s","Neural net clears propeller wash for drone navigation","Drone flight without GPS: wind sensor plus neural net","CNN-like net decouples downwash for 0.5m/s velocity","Thermal anemometer odometry: 5.7m error in 203s"]},"model":"deepseek-v4-flash","effort":"low","cost_usd":0.000134,"raw_usage":{"total_tokens":1153,"prompt_tokens":972,"completion_tokens":181,"prompt_tokens_details":{"cached_tokens":384},"prompt_cache_hit_tokens":384,"prompt_cache_miss_tokens":588,"completion_tokens_details":{"reasoning_tokens":85}},"tokens_in":588,"tokens_out":181,"duration_ms":3128,"temperature":1.0,"reasoning_tokens":85,"cache_read_input_tokens":384,"cache_creation_input_tokens":0},"cache_creation_input_tokens":0},"created_at":"2026-08-07T15:25:23.602308+00:00","model_set":{"reader":"deepseek-v4-flash"},"falsifier":"During a flight with abrupt throttle changes at roughly constant velocity, compare the velocity estimator's output to motion-capture ground truth; if the airspeed estimate spuriously tracks the throttle commands, the network is fitting downwash rather than decoupling it.","supporting_citations":[{"cited_title":"(2020, May)","cited_arxiv_id":null,"evidence_quote":"Supplies the quadrotor force model (thrust and drag) that the acceleration estimator approximates via the neural network."},{"cited_title":"”Probabilistic ve- locity estimation for autonomous miniature airships using thermal air flow sensors.” 2012 IEEE International Conference on Robotics and Automation","cited_arxiv_id":null,"evidence_quote":"Establishes thermal anemometer sensing of airflow as a viable velocity measurement for small aerial vehicles."},{"cited_title":"Deep learning flight speed estimation using thermal anemometers","cited_arxiv_id":null,"evidence_quote":"Prior work by the authors introducing a neural network for airspeed prediction from anemometer measurements, which this paper extends."},{"cited_title":"”Airflow-based Odometry for MA Vs using Thermal Anemometers.” International Journal of Micro Air Vehicles","cited_arxiv_id":null,"evidence_quote":"Earlier airflow-based odometry framework from the authors that this work builds on with symmetric anemometer configuration and barometer fusion."},{"cited_title":null,"cited_arxiv_id":null,"evidence_quote":"Introduces airflow-inertial odometry for resilient state estimation on multirotors, the closest baseline this approach extends."},{"cited_title":"& El- Sheimy, N","cited_arxiv_id":null,"evidence_quote":"Demonstrates integrated indoor quadrotor localization with IMU, magnetometer, barometer, and mass-flow sensor, providing context for the sensor fusion design."},{"cited_title":"”Multirotor aerial ve- hicles: Modeling, estimation, and control of quadrotor.” IEEE Robotics and Automation magazine 19.3 (2012): 20-32","cited_arxiv_id":null,"evidence_quote":"Provides the attitude estimation method used to fuse IMU measurements in the observer."}],"review_version":1}