{"id":"eec47367-4997-43bd-a737-dfa38dc3f884","arxiv_id":"2508.08259","paper_version":1,"verdict":"CONDITIONAL","confidence":"MODERATE","novelty_score":5.0,"correctness_risk":"medium","formal_verification":"none","parameter_count":6,"one_line_summary":"A Koopman-operator linear model of a quadruped's single-rigid-body dynamics is used in a linear model predictive controller that tracks speeds and rejects pushes on a Unitree Go1.","lead":"The authors build a linear predictive controller for a trotting quadruped by lifting its equations of motion into a high-dimensional space with the Koopman operator, then demonstrate tracking and push recovery in simulation and on a Unitree Go1 robot. It matters because it offers a sample-efficient, real-time control alternative to model linearization or heavy reinforcement learning, potentially lowering the compute and data barrier for legged robots.","discovery_kind":"new_application","skeptic_critique":{"model":"deepseek-v4-flash","headline":"The QP derivation in Eq. 14 conflates original state and lifted Koopman coordinates, so the LMPC as written does not follow from the Koopman model.","rationale":"The paper's central contribution is the hardware demonstration of a Koopman-based LMPC for a quadruped. Reading in good faith, I agree the SRB-vs-hardware gap is a limitation, but the hardware results are direct evidence that some version of the approach works. The more consequential issue is internal consistency of the MPC derivation: Eq. 14 is the step that connects the EDMD model to the QP solved online, and it mixes original and lifted coordinates. If the QP really used A_qp x_0, the controller would be solving a different problem from the Koopman model described; if the implementation correctly lifted x_0, then the paper's equations are wrong or incomplete. Either way, the written method does not currently support the central claim, and the hardware video/results cannot disambiguate absent code or corrected equations. This is not an attack on the authors' results; it is a request for a precise derivation. The reader's formal weakest_assumption was the SRB idealization, though their rationale did flag the Eq. 14 issue, so my agreement is partial. I would keep the reader's CONDITIONAL verdict rather than moving to REJECT because the hardware experiments suggest the underlying idea is plausible and the error may be presentational; however, the condition should explicitly require fixing or clarifying Eq. 14, and ideally releasing code or data.","tokens_in":8872,"tokens_out":7301,"duration_ms":89609,"concrete_test":"Re-derive Eq. 14 from Eqs. 12-13 with x_i = C_x Π(x_i) and Π nonlinear; the correct recursion is X_qp = C_x_block (A_qp_lift Π(x_0) + B_qp_lift U_qp), not A_qp x_0 + B_qp U_qp. Then run a minimal numerical check on one SRB rollout: build A and B by EDMD, pick a random x_0 and u_0, and compare one-step predictions from Eq. 14 (x_1 = A x_0 + B u_0) and from the lifted recursion (x_1 = C_x(A Π(x_0) + B u_0)). If they differ, the coordinate conflation is real and the manuscript must state the correct lifted recursion or provide code confirming what was actually implemented.","verdict_should_be":"UNCHANGED","load_bearing_attack":"Section II-D defines the lifted dynamics (Eq. 12) as Π_{t+i} = A Π_i + B u_i and the state recovery (Eq. 13) as x_i = C_x Π(x_i), with A and B being EDMD matrices in observable space. Eq. 14 then states X_qp = A_qp x_0 + B_qp U_qp. This does not follow from Eqs. 12-13: the first predicted state is x_1 = C_x(A Π(x_0) + B u_0), and after k steps X_qp = C_x_block (A_qp_lift Π(x_0) + B_qp_lift U_qp). Because Π is a nonlinear dictionary (polynomials RΩ^p plus a constant observable), one cannot replace Π(x_0) by x_0 and absorb it into a constant A_qp. The H and P matrices in Eq. 16 inherit this problem. As written, the controller solves a QP with the wrong initial condition; if the implementation actually lifts x_0, the paper's derivation is incomplete and Eq. 14 should be corrected. The hardware results cannot settle which version was used unless code or corrected equations are provided.","agreement_with_reader":"partial"},"referee_report":{"model":"deepseek-v4-flash","summary":"The paper proposes a Koopman-operator-based linear model predictive control (LMPC) for quadruped trotting. The nonlinear single rigid body (SRB) model of a quadruped is lifted via a physics-informed dictionary of observables, and extended dynamic mode decomposition (EDMD) is used to fit a finite-dimensional linear predictor. A quadratic program is then formulated from this lifted linear model and solved online to generate ground reaction forces for stance legs. The controller is evaluated in MuJoCo simulation and on a Unitree Go1 hardware platform for reference tracking, slip recovery, and push disturbance rejection. The paper claims this is the first use of Koopman operator theory for LMPC of quadrupedal locomotion.","tokens_in":9164,"tokens_out":4007,"duration_ms":49706,"significance":"If the technical derivation is corrected and the claims are properly supported, this would be a useful demonstration that a low-dimensional, data-driven linear model can replace a locally linearized model in real-time quadruped control. The hardware experiments are a genuine strength: they show real-time closed-loop control with a 3 ms QP solve and moderate disturbance rejection. The use of a 49-dimensional Koopman dictionary derived from the SRB model is a sensible design choice that keeps the lifted dimension small. However, the paper's central derivation has a coordinate-mixing issue in the QP formulation, and the experiments lack a linearized-MPC baseline, so the motivating claim that Koopman LMPC avoids linearization errors is not directly tested.","major_comments":[{"comment":"Equation (14) does not follow from the lifted dynamics defined in Eqs. (12)-(13). Since the dictionary Π in Eq. (10) contains nonlinear observables such as RΩ^p and the constant 1, the first predicted state is x_1 = C_x (A Π(x_0) + B u_0), and the k-step prediction is an affine function of Π(x_0), not of x_0. Replacing Π(x_0) with x_0 in Eq. (14) changes the initial condition of the QP, and therefore the matrices H and P in Eq. (16) are not the ones implied by the Koopman model. Please correct Eq. (14) to operate on Π(x_0), with an appropriate block-diagonal extraction matrix, and revise H and P accordingly; alternatively, state explicitly that the implementation first lifts x_0 and provide the matching derivation.","section":"§II-D, Eq. (14)"},{"comment":"The abstract and introduction motivate the approach by arguing that local linearization of the equations of motion introduces model inaccuracies, but none of the simulation or hardware experiments compare the proposed Koopman LMPC against a conventional linearized SRB LMPC or another baseline controller. The reported RMSE values against reference trajectories do not by themselves show that the Koopman formulation preserves nonlinearity better than a linearized model. Please add at least a simulation baseline with a standard linearized SRB MPC under the same conditions, and ideally a hardware comparison, to support the central claim.","section":"§III, experimental comparison"},{"comment":"The Koopman model is identified from SRB rollouts and then evaluated on SRB rollouts in Fig. 4, which is essentially a check of the fitting accuracy on the training distribution. The paper never validates the learned Koopman predictor against hardware state trajectories. Because the hardware controller relies entirely on the SRB idealization, the conclusion that the model is 'adequate' for hardware trotting rests on the untested assumption that the SRB model captures the real Go1 dynamics under slips and pushes. Please validate the Koopman model on hardware data, or at least quantify its prediction error on measured state trajectories and discuss the implications for the hardware results.","section":"§II-C, §III-A, §IV"}],"minor_comments":[{"comment":"The recurrence in Eq. (12) has an index inconsistency: it should read Π_{t+i+1} = A Π_{t+i} + B u_{t+i} (or equivalent), not 'Π_{t+i} = AΠ_i + Bui'.","section":"§II-D, Eq. (12)"},{"comment":"The expression x_i = C_x Π(x_i) is self-referential; it should define x_i as C_x Π(x_i) where the subscript on the left is the time index and the argument of Π is the corresponding state, but the notation should be cleaned up to avoid circularity.","section":"§II-D, Eq. (13)"},{"comment":"The constraint 'c ≤ CU_qp ≤ c' appears to use the same symbol for upper and lower bounds; presumably the lower and upper bound vectors are distinct. Please correct the notation.","section":"§II-D, Eq. (16)"},{"comment":"The sentence 'The planning horizon for the model predictive control is 6 ms or 166.67 Hz' is dimensionally unclear: 6 ms is a time duration, while 166.67 Hz is a frequency. Please specify whether the horizon is 6 ms, 6 control steps, or something else, and correct the update-horizon description as well.","section":"§II-E.3"},{"comment":"Reference [13] is a 2001 MPC paper for autonomous vehicles; it does not appear to use Koopman operator theory and seems out of place in the list of Koopman applications. Please either replace it with a relevant Koopman-based vehicle control reference or remove it.","section":"§I, References"},{"comment":"There is a minor grammatical error: 'Deep Reinforcement learning (DRL) is an model-free method' should be 'is a model-free method.'","section":"§I"}],"recommendation":"major_revision","confidential_remarks":"The hardware demonstration is valuable and the paper addresses a timely topic, but the QP derivation in Eq. (14) must be fixed before the results can be trusted as stated, and the lack of a linearized-MPC baseline weakens the paper's main motivation. With these addressed, the paper could be acceptable for a robotics venue; as it stands, the central claim is defensible but not fully substantiated."},"author_rebuttal":null,"desk_editor":{"model":"deepseek-v4-flash","letter":"First, the thing you should know: this is a genuine hardware demonstration of Koopman-based LMPC on a quadruped, the first I know of. The robot tracks reference speeds and recovers from pushes. That is the paper's solid core. It is not a simulation-only paper or a purely methodological increment.\n\nWhat's new and good: they fit a 49-observable Koopman model to SRB rollouts, then use it in LMPC solved with qpSWIFT at 3 ms. The hardware results are meaningful because the model was fitted entirely on simulation data, so the push-recovery and tracking results on the Go1 are independent evidence that the SRB-plus-Koopman model is adequate for moderate conditions. No code or data is released, but the video link and RMSE numbers give a reasonable basis for evaluation.\n\nSoft spots, in order. The QP derivation in Eq. 14 is wrong as written. Equations 12-13 say the lifted state evolves linearly and the original state is recovered by Cx. Recovering the original state and then re-lifting is a nonlinear operation. You cannot get X_qp = A_qp x0 + B_qp U_qp for arbitrary x0 unless x0 is already the lifted state or the dictionary is linear. This is not a nit. It is the core derivation of the controller. If the implementation actually lifts x0 before forming the QP, the equations need to say that; the paper doesn't. The stress-test note is correct.\n\nSecond, there is no linearized-SRB LMPC baseline. The stated motivation is avoiding linearization error, but they never show that Koopman LMPC beats a linearized LMPC. The hardware tracking numbers are decent, but without a baseline it's unclear what the Koopman model buys you.\n\nThird, Fig. 4 is largely a fitting residual: EDMD model trained on SRB rollouts and evaluated on SRB rollouts. It shows the fit is good, not that the model generalizes. The hardware results are the real external validation, and they're the best part of the paper.\n\nMinor: \"preserves the nonlinearity\" is an overstatement for a finite-dimensional EDMD model. Also, the SRB idealization is a real assumption; it works in their tested conditions, but they don't validate the model against hardware data.\n\nWho this is for: people working on Koopman MPC or legged locomotion control. It deserves a serious referee, but the referee should demand a corrected derivation and a baseline comparison. I'd accept for peer review with major revision.","headline":"First hardware Koopman-LMPC quadruped demo, with a real derivation error and a missing baseline that a serious referee should flag.","tokens_in":9699,"tokens_out":2474,"would_cite":true,"duration_ms":28174,"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 Koopman-lifted linear model trained on an idealized torso-only simulation suffices for real-time linear MPC of a trotting quadruped, as shown by reference tracking and push recovery on physical hardware.","keywords":["Koopman operator","linear model predictive control","quadruped trotting","single rigid body model","extended dynamic mode decomposition","disturbance rejection","real-time control"],"falsifier":"Collect hardware trotting data under rich excitation, fit the same 49-observable extended dynamic mode decomposition from those data, and compare one-step prediction errors on held-out hardware roll-outs with the model fitted to simulated single-rigid-body data; if the two are not of the same order of magnitude, the claim that simulated SRB data suffice for hardware linear MPC is refuted.","tokens_in":8636,"feed_emoji":"🤖","tokens_out":13342,"duration_ms":142871,"temperature":0.7,"pith_summary":"This paper tries to establish that a linear model of a trotting quadruped can be learned by lifting the idealized single-rigid-body dynamics into a 49-dimensional space of observables via the Koopman operator, and that this linear model is accurate enough to serve as the prediction model inside a real-time linear model predictive controller. The authors implement the controller on a physical quadruped and in simulation, reporting that it tracks commanded forward, lateral, and turning speeds and recovers from foot slips and a push-induced pitch deviation of 6.5 degrees. If the claim holds, it means quadruped control can avoid local linearization and hand-tuned gains while still solving a convex quadratic program in about 3 milliseconds, making online optimal control practical without model-free, sample-heavy training. The paper positions this as the first application of Koopman-based linear MPC to quadrupedal locomotion.","feed_headline":"A 49-observable Koopman model controls a real trotting quadruped","feed_subtitle":"A simulation-trained linear model tracks speed commands and recovers from pushes on hardware.","key_machinery":"The load-bearing mechanism is the finite-dimensional Koopman operator $K=[A,B]$, computed by extended dynamic mode decomposition from single-rigid-body simulation data. The lifted state is $\\Pi = [1, p, \\Theta, \\dot{p}, \\Omega, \\mathrm{vec}(R\\Omega), \\ldots, \\mathrm{vec}(R\\Omega^4)]^\\top \\in \\mathbb{R}^{49}$, where $R$ is the torso rotation matrix, $\\Omega$ is the body angular velocity, and the constant 1 absorbs gravity; the rotation-matrix observables preserve the rotational nonlinearity that a first-order linearization would drop. The LMPC evolves $\\Pi$ linearly, pulls the physical torso state back out with a selection matrix, and solves a quadratic program for ground reaction forces, with joint torques obtained through the leg Jacobian.","core_discovery":"The paper's central claim is that the nonlinear single rigid body (SRB) dynamics of a trotting quadruped can be embedded, through Koopman operator theory, into a finite-dimensional linear model that is accurate enough for linear model predictive control on hardware. Using a lifted state of 49 observables (the torso state plus vectorized products of the rotation matrix with powers of the body angular velocity) and fitting the operator by extended dynamic mode decomposition on simulated SRB data, the authors obtain matrices $A$ and $B$ whose prediction error stays within $\\pm 10^{-3}$ over 0.05 s roll-outs. This linear model is embedded in a constrained quadratic program solved at a 200 Hz update rate, and the paper reports that the robot follows velocity commands with small root mean square error and recovers from a 6.5-degree pitch disturbance and foot slips. The authors state that this is the first use of Koopman operator theory for linear MPC of quadrupedal locomotion.","pith_inferences":["A direct ablation against conventional linearized-SRB MPC on the same hardware tests would separate the contribution of the Koopman lift from that of the MPC formulation; the paper does not include this comparison.","Fitting the same dictionary to actively excited hardware data and checking agreement with the SRB-fitted matrices would be a sharper sim-to-real validation than the closed-loop experiments alone.","Because the lifted dictionary contains only torso observables, adding swing-leg or contact-event observables could extend the valid horizon and disturbance envelope beyond the moderate pushes tested.","The same SRB-to-Koopman recipe should carry over to other periodic gaits, but the contact schedule in the finite state machine would need to change; the authors list multiple gaits as future work."],"forward_implications":["The same simulation-only identification recipe should transfer to other quadrupeds whose dynamics are well approximated by the single-rigid-body model, since no hardware data or per-robot tuning is needed.","A 6 ms horizon solved in about 3 ms leaves computation budget at the 200 Hz update rate for longer horizons, more constraints, or additional estimation work.","The authors report that prediction error grows beyond about 0.05 s, so the short receding horizon is load-bearing; extending it would require a larger dictionary or a bilinear Koopman realization.","The reported closed-loop RMSE values (about 0.026 m/s for velocity steps and 0.018 rad for orientation under push) provide concrete benchmarks for future Koopman-based legged controllers."],"supporting_citations":[{"why":"Supplies the single rigid body dynamics and the convex MPC formulation that the Koopman LMPC builds on.","marker":"[16]"},{"why":"Origin of the Koopman operator whose finite-dimensional approximation linearizes the nonlinear dynamics.","marker":"[9]"},{"why":"Defines extended dynamic mode decomposition, the least-squares projection used to compute the finite-dimensional matrices A and B.","marker":"[10]"},{"why":"Provides the dictionary-based EDMD formulation used in the regression for the Koopman operator in Eqns. 6-9.","marker":"[17]"},{"why":"Supplies the physics-informed observable dictionary of rotation matrix times angular velocity powers that forms the lifted state.","marker":"[11]"},{"why":"The physics simulator used to generate training data and to evaluate the controller before hardware tests.","marker":"[18]"},{"why":"The quadratic program solver that makes the 3 ms solve time and 200 Hz update rate possible.","marker":"[19]"},{"why":"Shows the single rigid body force-to-torque mapping through the Jacobian used by the stance leg controller.","marker":"[3]"},{"why":"Cited to justify using simulated instead of hardware data for system identification, a choice the central claim depends on.","marker":"[20]"}],"fun_headline_variants":["Koopman lifts quadruped dynamics into linear control model","49-observable linear model steers trotting robot on hardware","First Koopman-based MPC for quadruped trotting","Simulation-trained Koopman model handles real trotting and pushes","Linear MPC via Koopman matches nonlinear quadruped dynamics"],"cache_read_input_tokens":3200,"weakest_assumption_plain":"The load-bearing premise is that the idealized model of a heavy torso on massless legs represents the real robot's trotting well enough that a linear model trained only on simulated data stays valid on hardware; if leg dynamics, foot slip, compliance, or actuator delay matter more than assumed, the reported disturbance rejection would degrade.","fun_headline_variants_meta":{"raw":{"variants":["Koopman lifts quadruped dynamics into linear control model","49-observable linear model steers trotting robot on hardware","First Koopman-based MPC for quadruped trotting","Simulation-trained Koopman model handles real trotting and pushes","Linear MPC via Koopman matches nonlinear quadruped dynamics"]},"model":"deepseek-v4-flash","effort":"low","cost_usd":0.000711,"raw_usage":{"total_tokens":3170,"prompt_tokens":883,"completion_tokens":2287,"prompt_tokens_details":{"cached_tokens":384},"prompt_cache_hit_tokens":384,"prompt_cache_miss_tokens":499,"completion_tokens_details":{"reasoning_tokens":2202}},"tokens_in":499,"tokens_out":2287,"duration_ms":18512,"temperature":1.0,"reasoning_tokens":2202,"cache_read_input_tokens":384,"cache_creation_input_tokens":0},"cache_creation_input_tokens":0},"created_at":"2026-08-06T15:51:48.129353+00:00","model_set":{"reader":"deepseek-v4-flash"},"falsifier":"Collect hardware trotting data under rich excitation, fit the same 49-observable extended dynamic mode decomposition from those data, and compare one-step prediction errors on held-out hardware roll-outs with the model fitted to simulated single-rigid-body data; if the two are not of the same order of magnitude, the claim that simulated SRB data suffice for hardware linear MPC is refuted.","supporting_citations":[{"cited_title":"Dynamic locomotion in the mit cheetah 3 through convex model-predictive control,","cited_arxiv_id":null,"evidence_quote":"Supplies the single rigid body dynamics and the convex MPC formulation that the Koopman LMPC builds on."},{"cited_title":"Extended dynamic mode decomposition with dictionary learning: A data-driven adaptive spectral decomposition of the koopman operator,","cited_arxiv_id":null,"evidence_quote":"Provides the dictionary-based EDMD formulation used in the regression for the Koopman operator in Eqns. 6-9."},{"cited_title":"qpswift: A real-time sparse quadratic program solver for robotic applications,","cited_arxiv_id":null,"evidence_quote":"The quadratic program solver that makes the 3 ms solve time and 200 Hz update rate possible."},{"cited_title":"Identification of dynamics of humanoids: Systematic exciting motion generation,","cited_arxiv_id":null,"evidence_quote":"Cited to justify using simulated instead of hardware data for system identification, a choice the central claim depends on."}],"review_version":1}