{"id":"a72ca221-6861-4ee9-bee6-8aa74dbd8ec7","arxiv_id":"2412.06388","paper_version":1,"verdict":"CONDITIONAL","confidence":"MODERATE","novelty_score":4.0,"correctness_risk":"medium","formal_verification":"none","parameter_count":6,"one_line_summary":"SINDy learns a multirotor's dynamics from flight data, and the learned model improves model predictive control for trajectory tracking and obstacle avoidance in simulation under payload uncertainty.","lead":"The paper tests whether a data-driven modeling tool called SINDy can learn a drone's flight dynamics, including payload weight and air drag, and then use that learned model inside a predictive controller to track a path and dodge an obstacle. The simulation shows the learned model improves tracking over a baseline controller when the drone's payload and drag are unknown.","discovery_kind":"extension","skeptic_critique":{"model":"deepseek-v4-flash","headline":"Table 3's true rotational coefficients do not match Eq. (4) with Table 1 parameters; the SINDy identification-accuracy validation is internally inconsistent and the headline claim is not verifiable as written.","rationale":"The reader's weakest_assumption concerns persistent excitation, especially poor yaw excitation, and the same-plant training/validation setup. That is a legitimate generalization concern, and it is explicitly acknowledged in the paper. However, it mainly limits the scope of the claim rather than attacking the reported internal validation. The concern I identify is more load-bearing: the rotational identification validation in Table 3 contradicts the plant equations and parameters given in Sections 2 and 5.1. If the true coefficients are wrong, the claimed identification accuracy is unsupported; if the parameter table is wrong, the simulation is not reproducible. Either way, the central claim cannot be confirmed from the manuscript. I am not alleging fabrication; a parameter-set mismatch or typo is plausible. But because no code or data is provided and the inconsistency cannot be resolved from the text, the appropriate disposition is UNVERDICTED pending the specific check. If the check resolves favorably, a CONDITIONAL accept would still be justified, contingent on releasing code/parameters and addressing the excitation gap.","tokens_in":9761,"tokens_out":15267,"duration_ms":165989,"concrete_test":"Reproduce the 'true' columns of Table 3 by evaluating Eq. (4) with the Table 1 parameters (Ixx=0.0281, Iyy=0.0286, Izz=0.0551, KM=0.001) and compare the L, qr, pr, pq, p, q, and r entries. If the recomputed values differ from Table 3, the identification-accuracy claim is not validated by the reported data; the authors should then supply the exact simulation parameter file and re-run the Section 5.3 closed-loop comparison with the corrected plant model.","verdict_should_be":"UNVERDICTED","load_bearing_attack":"The central claim that SINDy accurately discovers the multirotor's governing equation rests on Tables 2-3, which compare identified coefficients to 'true' values. For the rotational rows this comparison is internally inconsistent. From Eq. (4) and Table 1 (Ixx=0.0281, Iyy=0.0286, Izz=0.0551, KM=0.001), the p-dot row should have L coefficient 1/Ixx=35.59, qr term (Iyy-Izz)/Ixx=-0.943, and damping -KM/Ixx=-0.0356. Table 3 reports instead 32.258, +0.8065, and -0.0323. These values correspond to a different inertia set, roughly I=[0.0310, 0.0380, 0.0630] kg*m^2, not the declared one. The same pattern appears in the q and r rows. Either the simulated plant is not the model described in Section 2, or the 'true' coefficients were not generated from the stated parameters. Since the claimed 3% identification accuracy and the subsequent closed-loop success both depend on this identification being correct, the paper as written cannot support its central claim. This is an internal consistency issue, not a disagreement with consensus.","agreement_with_reader":"partial"},"referee_report":{"model":"deepseek-v4-flash","summary":"The paper proposes a data-driven model predictive control framework for multirotor trajectory tracking and static-obstacle avoidance. The authors collect flight data from a PID-controlled rectangular trajectory, use sparse identification of nonlinear dynamics (SINDy) with a physics-informed candidate library to identify a full-order translational and rotational model, and then embed the identified model in an MPC formulated with ACADO, adding an obstacle-avoidance inequality constraint. Simulation results are presented for a scenario with 20% mass uncertainty and an unknown aerodynamic model, where SINDy-MPC is reported to track a reference trajectory with lower RMSE than a nominal MPC baseline.","tokens_in":10093,"tokens_out":6920,"duration_ms":69260,"significance":"If the results are valid, the paper offers a useful integration of SINDy and MPC for multirotor collision avoidance under model uncertainty, and it provides a clear demonstration that a sparse, interpretable model can be used inside a constrained optimal-control loop. The use of a physics-informed library and the full-order rotational/translational formulation are reasonable choices, and the reported computation time being below the loop time is a positive indicator for real-time applicability. However, the significance is limited by the fact that the candidate library already contains the true functional forms, so the 'discovery' is largely a coefficient-estimation exercise, and by the lack of independent validation data. Most importantly, the internal consistency problem in the rotational identification table undermines the accuracy claim as written.","major_comments":[{"comment":"The true rotational coefficients in Table 3 are not consistent with the plant model defined in Eq. (4) and the parameter values in Table 1. Using Ixx=0.0281, Iyy=0.0286, Izz=0.0551 and KM=0.001, Eq. (4) gives for the p-dot row: L coefficient 1/Ixx=35.59, qr coefficient (Iyy-Izz)/Ixx=-0.943, and damping -KM/Ixx=-0.0356. Table 3 instead reports 32.258, +0.8065, and -0.0323, which correspond to a different inertia set of roughly I=[0.0310, 0.0380, 0.0630] kg*m^2. The q and r rows show the same discrepancy. Consequently, the claimed 'within about 3%' identification accuracy is not verifiable as written, and the closed-loop success in Section 5.3 cannot be traced to a validated identified model. This is a load-bearing internal inconsistency, not a matter of presentation.","section":null},{"comment":"Table 3 reports identified and true coefficients for the terms p*Omega and q*Omega, but the rotational candidate library in Eq. (21) contains only L, M, N, pq, qr, pr, a constant, and polynomials in p, q, r; there is no Omega term anywhere in the library. As written, the SINDy regression in Eq. (23) cannot produce nonzero p*Omega or q*Omega coefficients. The authors should either add these terms to the library definition or explain why the table includes them. This mismatch makes the method unreproducible.","section":null},{"comment":"The data-driven model is validated on the same simulator that generated the training data, and the closed-loop test does not appear to strongly excite the yaw axis, which is the axis for which the authors report a 33% identification error in the damping coefficient. To support the general claim that SINDy discovers the governing equation including aerodynamic effects, the paper should test the identified model on trajectories that differ from the rectangular training trajectory and that include meaningful yaw maneuvers, or should explicitly restrict the claim to the axes and motion regime that were actually excited during data collection.","section":null},{"comment":"The MPC formulation and the simulation comparison are incompletely specified. The horizon N, the prediction sampling time, the weight matrices Q and R, the obstacle position and Dmin, and the control-input limits are not reported, so Table 4 cannot be reproduced. In addition, the collision-avoidance claim is supported only by a qualitative trajectory plot; the paper should report the minimum distance to the obstacle or another quantitative metric showing that the inequality constraint is satisfied.","section":null}],"minor_comments":[{"comment":"There is a typo in the Introduction: 'SIDNy' should be 'SINDy'.","section":null},{"comment":"The word 'multitorotor' appears in the text describing the rotational model; it should be 'multirotor'.","section":null},{"comment":"The z-translation row reports a constant term of +9.807, but Eq. (3) with the NED gravity vector g=[0,0,g]^T gives a -g term; the sign convention for the z-axis and thrust direction should be clarified.","section":null},{"comment":"The allocation matrix in Eq. (7) uses signs and the coefficient c_T without defining the sign convention for the thrust forces T_i or the direction of positive moments; this should be stated to make the model unambiguous.","section":null},{"comment":"Reference [20] lists the authors as 'S. L. Brunton E. Kaiser, J. N. Kutz'; the author order and punctuation appear incorrect and should be fixed.","section":null}],"recommendation":"major_revision","confidential_remarks":"The internal inconsistency in Table 3 is the main blocking issue: the 'true' rotational coefficients do not correspond to the model and parameters stated in Section 2 and Table 1. Before further consideration, the editor should ask the authors to provide the simulation parameters or the generated data so that this inconsistency can be resolved. The paper's contribution over existing SINDy-MPC work is incremental, but it is a reasonable application study if the identification validation is corrected and the experimental setup is fully specified."},"author_rebuttal":null,"desk_editor":{"model":"deepseek-v4-flash","letter":"The paper is a straightforward simulation study combining SINDy with MPC for multirotor collision avoidance under payload uncertainty. That combination is a legitimate extension of the SINDy-MPC line, and the paper does some things well: the translational identification matches the stated mass and drag parameters almost exactly, the closed-loop setup is clearly described, and the comparison against nominal MPC is appropriate. The authors also honestly flag the 33% yaw-damping error. If the method works beyond simulation, it would be a useful subfield contribution.\n\nBut the stress-test note is correct, and it matters. Table 3's rotational coefficients do not match Eq. (4) with Table 1's parameters. With Ixx=0.0281, the p-dot row should show an L coefficient of about 35.6 and a qr coefficient of about 0.94; Table 3 reports 32.258 and 0.8065. The q and r rows are similarly off, corresponding to a different inertia set (roughly I=[0.031, 0.038, 0.063]). The aerodynamic damping coefficients are also too low by about 10–30%. Either the simulated plant is not the model described in Section 2, or the \"true\" coefficients were generated from a different parameter set. Since the paper's central claim is that SINDy accurately discovers the governing equations, and the closed-loop success depends on that identification, this inconsistency is load-bearing. It is not a minor typo in one cell; it is the validation evidence for the main method. The authors acknowledge the yaw issue but not this broader mismatch.\n\nThe other soft spots are less severe but real: no code or data, MPC parameters (horizon, weights) are not given, and the SINDy model is trained and validated on the same simulator, so the closed-loop result is partly a consistency check. The novelty is modest—this is an incremental application of known building blocks—but that alone would not be a problem if the numbers held up.\n\nWho is this for? Readers working on data-driven control for aerial vehicles will find a clear example, but they should not trust the identification tables. The paper deserves peer review because the issue might be fixable—perhaps a typo in Table 1 or a different inertia definition—and the basic idea is sound. But as written, the central claim is not verifiable. My recommendation: send it to review with a request that the simulation parameters and code be released, and have a referee recompute the true coefficients from the stated model.","headline":"The SINDy-MPC collision-avoidance idea is reasonable, but Table 3's rotational coefficients don't match the stated plant model, so the identification claim doesn't hold as written.","tokens_in":10604,"tokens_out":2540,"would_cite":false,"duration_ms":26689,"reading_group":"no","serious_thinker":"yes","would_accept_peer_review":true},"rs_alignment":null,"lean_confirmation":null,"pith_extraction":{"msc":[],"pacs":[],"model":"deepseek-v4-flash","headline":"SINDy learns a drone's changed payload model, and MPC uses it to dodge obstacles.","keywords":["Sparse identification of nonlinear dynamics","Model predictive control","Collision avoidance","Multirotor UAV","Data-driven control","Trajectory tracking","Aerodynamic uncertainty","Payload parameter uncertainty"],"falsifier":"Record a closed-loop run on a trajectory with sustained yaw rotations, such as a figure-eight with heading changes, under the same 20% mass uncertainty; if position error remains small despite the identified yaw damping coefficient being 33% off, the under-excitation is harmless, while a large yaw error would show that the claim depends on not exercising that axis.","tokens_in":9559,"feed_emoji":"🚁","tokens_out":5215,"duration_ms":50844,"temperature":0.7,"pith_summary":"This paper proposes pairing sparse identification of nonlinear dynamics (SINDy) with model predictive control (MPC) so a multirotor can keep flying accurately when its payload changes. SINDy learns the vehicle's equations of motion from flight data, including aerodynamic drag and the changed mass, and MPC uses that learned model to track a reference path while treating an obstacle as a hard distance constraint. Simulation shows the combined controller tracks a trajectory with lower root-mean-square error than a nominal MPC that ignores the payload, and it avoids a static obstacle. The value of the claim is that a drone carrying unknown cargo can be re-modeled from data rather than re-deriving its physics.","feed_headline":"SINDy-MPC tracks and dodges despite 20% mass error","feed_subtitle":"A model learned from flight data beats a nominal controller on trajectory error and avoids obstacles with a payload.","key_machinery":"The enabling object is the sparse regression step of SINDy, where the time derivatives of the translational and rotational states are fit to a library of candidate functions built from prior physics knowledge plus polynomials. The prior functions encode the known thrust-allocation and gyroscopic structure, so the sparse coefficients recovered by sequential thresholded least squares correspond to physical parameters such as inverse mass, aerodynamic force coefficients, and moment coefficients. These coefficients define the approximate dynamics $\\dot{x} = \\hat{f}(x,u)$ that feed the MPC prediction, with the obstacle encoded as the inequality $\\sqrt{(x_{ob}-x)^2+(y_{ob}-y)^2+(z_{ob}-z)^2} \\ge D_{\\min}$.","core_discovery":"The central claim is that a full-order nonlinear multirotor model, including payload-induced mass and inertia changes and lumped aerodynamic effects, can be recovered by SINDy from data collected with a simple PID controller on a rectangular trajectory, and that the recovered model is accurate enough to serve as the prediction model in MPC. The identified translational coefficients match the true values to within a few percent, while the yaw-axis aerodynamic damping coefficient is off by roughly thirty-three percent because that axis was not excited in training. In closed-loop simulation under twenty percent mass uncertainty and an unknown aerodynamic model, SINDy-MPC tracks the reference with RMSE of 0.81 m in x, 0.38 m in y, and 0.40 m in z, beating the nominal-MPC baseline of 0.91, 0.45, and 0.63 m, and it satisfies the obstacle-avoidance inequality. The paper states that this is the first SINDy-MPC formulation for multirotor collision avoidance.","pith_inferences":["Because the training data under-excites yaw, the 33% yaw-damping error suggests the general claim depends on the test trajectory not stressing that axis; a testable extension is to quantify a persistence-of-excitation score for the data collection trajectory and verify closed-loop performance on trajectories that excite yaw.","The same offline-identified model would likely degrade if the payload changes after learning; an implicit extension is to update the SINDy coefficients online with a sliding window, turning the method into an adaptive MPC.","The obstacle constraint is a static spherical safe distance; extending to moving obstacles or multiple obstacles would require evaluating the inequality at every prediction step, which the current formulation can likely accommodate but the paper does not demonstrate.","The comparison baseline is a nominal MPC without adaptation; a fairer practical test would compare against another adaptive or learning controller under the same uncertainty."],"forward_implications":["Under 20% mass uncertainty and an unknown aerodynamic payload model, SINDy-MPC tracks the reference with lower RMSE than nominal MPC on all three axes.","The obstacle is avoided without a separate planning layer: the collision constraint is folded into the MPC optimization, and computation stays fast enough for a real-time loop.","The data-driven model recovers physical coefficients (thrust, drag, gyroscopic coupling) that match the true values to within about 3%, so the model is interpretable rather than a black box.","Training data can be gathered by a standard PID controller following a rectangular path, which is practical for a real drone.","The method extends SINDy-MPC from attitude and tracking tasks studied earlier to collision-avoidance flight."],"supporting_citations":[{"why":"Supplies the SINDy-MPC foundation in the low-data limit, which motivates using the identified model inside MPC.","marker":"[20]"},{"why":"Provides the physics-informed candidate library idea for SINDy-based MPC of aerial vehicles.","marker":"[23]"},{"why":"Demonstrates physics-informed machine-learned MPC for ducted-fan aerial vehicles, the direct predecessor of this formulation.","marker":"[24]"},{"why":"Supplies the lumped aerodynamic force and moment model that the SINDy identification targets.","marker":"[30]"},{"why":"Provides the ACADO open-source solver used to formulate and solve the MPC optimization.","marker":"[31]"},{"why":"Supplies the PID controller used to collect the training trajectory data for SINDy.","marker":"[32]"}],"fun_headline_variants":["SINDy-MPC learns drone dynamics, then dodges obstacles","20% mass error? SINDy-MPC still tracks and avoids","Data-driven MPC: SINDy model enables collision-free flight","SINDy-MPC: robust obstacle avoidance despite mass uncertainty","SINDy-MPC learns the model, avoids obstacles, beats baseline"],"cache_read_input_tokens":3200,"weakest_assumption_plain":"The load-bearing premise is that the rectangular PID training trajectory excites every dynamic mode the closed-loop task will use; the paper itself reports that the yaw axis was not excited, leaving the model's yaw accuracy unverified for flight regimes that demand yaw.","fun_headline_variants_meta":{"raw":{"variants":["SINDy-MPC learns drone dynamics, then dodges obstacles","20% mass error? SINDy-MPC still tracks and avoids","Data-driven MPC: SINDy model enables collision-free flight","SINDy-MPC: robust obstacle avoidance despite mass uncertainty","SINDy-MPC learns the model, avoids obstacles, beats baseline"]},"model":"deepseek-v4-flash","effort":"low","cost_usd":0.00077,"raw_usage":{"total_tokens":3389,"prompt_tokens":899,"completion_tokens":2490,"prompt_tokens_details":{"cached_tokens":384},"prompt_cache_hit_tokens":384,"prompt_cache_miss_tokens":515,"completion_tokens_details":{"reasoning_tokens":2399}},"tokens_in":515,"tokens_out":2490,"duration_ms":18587,"temperature":1.0,"reasoning_tokens":2399,"cache_read_input_tokens":384,"cache_creation_input_tokens":0},"cache_creation_input_tokens":0},"created_at":"2026-08-11T19:42:44.877066+00:00","model_set":{"reader":"deepseek-v4-flash"},"falsifier":"Record a closed-loop run on a trajectory with sustained yaw rotations, such as a figure-eight with heading changes, under the same 20% mass uncertainty; if position error remains small despite the identified yaw damping coefficient being 33% off, the under-excitation is harmless, while a large yaw error would show that the claim depends on not exercising that axis.","supporting_citations":[{"cited_title":null,"cited_arxiv_id":null,"evidence_quote":"Supplies the SINDy-MPC foundation in the low-data limit, which motivates using the identified model inside MPC."},{"cited_title":"Manzoor, H","cited_arxiv_id":null,"evidence_quote":"Provides the physics-informed candidate library idea for SINDy-based MPC of aerial vehicles."},{"cited_title":"Manzoor, T.and Pei, Z","cited_arxiv_id":null,"evidence_quote":"Demonstrates physics-informed machine-learned MPC for ducted-fan aerial vehicles, the direct predecessor of this formulation."},{"cited_title":null,"cited_arxiv_id":null,"evidence_quote":"Supplies the lumped aerodynamic force and moment model that the SINDy identification targets."},{"cited_title":"Houska, H","cited_arxiv_id":null,"evidence_quote":"Provides the ACADO open-source solver used to formulate and solve the MPC optimization."},{"cited_title":"Pid control of quadrotor uavs: A survey","cited_arxiv_id":null,"evidence_quote":"Supplies the PID controller used to collect the training trajectory data for SINDy."}],"review_version":1}