{"id":"c6790a56-febf-47d3-ad8f-f53a13bdf5eb","arxiv_id":"2608.09272","paper_version":1,"verdict":"CONDITIONAL","confidence":"MODERATE","novelty_score":3.0,"correctness_risk":"medium","formal_verification":"none","parameter_count":9,"one_line_summary":"An SQP-based MPC controller with inverse-dynamics formulation swings up and stabilizes underactuated double pendulums on hardware, with 100% success in three of four scenarios but 70% on the disturbed Acrobot.","lead":"The University of Patras team reports a real-time model-predictive controller that swings up underactuated Pendubot and Acrobot robots and holds them upright on remote cloud hardware. The controller uses sequential quadratic programming with fast quadratic-program solvers; it achieves 100% success in three of four test scenarios, but only 70% on the Acrobot under disturbances.","discovery_kind":"new_application","skeptic_critique":{"model":"deepseek-v4-flash","headline":"Acrobot experiments use up to 5 mNm at the nominally passive shoulder, so the reported 'underactuated Acrobot' success rates do not test the claimed problem as defined by Eq. (10).","rationale":"Good-faith reading: the paper is a competition engineering report, and its central assertion is that the SQP-MPC controller reliably swings up and stabilizes underactuated double pendulums. The Pendubot results (100% success, median uptime 0.925/0.873 with and without disturbance) are a meaningful hardware data point. The Acrobot results, however, are compromised by the passive-joint torque. Eq. (10) is the formal expression of underactuation; permitting 5 mNm at the shoulder is not a numerical tolerance but a different input configuration. Since the modeled static friction f1 is 3.05e-3 Nm, the allowed torque exceeds the friction threshold and can actively drive q1. The conclusion's '>90% on average' is an average over Pendubot and Acrobot conditions, so it inherits the Acrobot confound. Secondary issues include the unstated horizon N and sampling time, the contradictory code-availability statements (footnote 4 says 'We plan to release the source code in the immediate future' while Section IV provides a GitHub link), and the absence of baselines; these affect reproducibility but are less decisive than the altered test setup. A strict-constraint rerun or torque-log audit would settle the question. Since this is the same concern the reader flagged and it is addressable by the authors, the conditional verdict stands unchanged.","tokens_in":8068,"tokens_out":7104,"duration_ms":76211,"concrete_test":"Re-run the Acrobot benchmark with Eq. (10) enforced exactly (shoulder torque hard-constrained to 0), keeping all weights, solver settings, and the same 10 nominal plus 10 disturbance episodes. If the success rate or uptime drops materially, the 0.005 Nm shoulder torque is load-bearing and the underactuated-Acrobot claim must be withdrawn or qualified; if performance is unchanged, the concern is resolved.","verdict_should_be":"UNCHANGED","load_bearing_attack":"The most load-bearing weakness is an internal mismatch between the problem formulation and the Acrobot experiments. Section III-A defines underactuation by Eq. (10), which enforces zero generalized force at the passive joint; for the Acrobot this means shoulder torque must be zero. Section III-C2 then states that 'we allow a small control input at the nominally passive joint, with its torque limited to 0.005 Nm' for friction compensation. This converts the Acrobot from the single-actuator system S=[0;1] into a two-input system with a weak shoulder actuator. The allowed 5 mNm exceeds the modeled static friction f1=3.05e-3 Nm (Eq. (23)), so it is not merely canceling passive friction but is a genuine drive capable of influencing q1 during swing-up. Consequently, the reported Acrobot success rates (100% nominal, 70% with disturbance) cannot be attributed solely to SQP-MPC on the underactuated Acrobot; they reflect a weakly actuated variant. The authors admit this in Section V: 'Currently, we need friction compensation to achieve reliable performance on the Acrobot system.' The average '>90%' success rate in the conclusion is computed over conditions, one of which is this modified Acrobot setup. This does not invalidate the Pendubot results, but it undercuts the abstract's general claim of reliable underactuated double-pendulum swing-up.","agreement_with_reader":"agree"},"referee_report":{"model":"deepseek-v4-flash","summary":"The paper proposes a real-time nonlinear model predictive control (NMPC) scheme for the swing-up and stabilization of underactuated double pendulums, specifically the Pendubot and Acrobot configurations in the 4th AI Olympics with RealAIGym competition. The controller uses sequential quadratic programming with an inverse-dynamics parameterization in which generalized accelerations are the optimization variables; the resulting QP subproblems are solved by a stagewise ADMM solver or by HPIPM. The method is hardware-evaluated on CloudPendulum platforms over 60-second episodes, with 10 runs per scenario, under nominal conditions and with applied torque disturbances. The authors report 100% swing-up success for the Pendubot in both scenarios, 100% and 70% for the Acrobot without and with disturbances, respectively, and a greater-than-90%-on-average success rate in the conclusion. The paper claims the controller is reliable and robust for underactuated double-pendulum swing-up.","tokens_in":8368,"tokens_out":2560,"duration_ms":25341,"significance":"If the claims held for the full underactuated problem, the paper would be a useful demonstration that structure-exploiting SQP-based NMPC, with an inverse-dynamics control formulation, can run in real time on low-cost hardware benchmarks and achieve high swing-up success rates with disturbance recovery. The manuscript has clear strengths: it reports physical hardware experiments rather than simulation only, uses multiple independent episodes per scenario, reports medians and percentiles, provides representative trajectories and videos, and discloses all model parameters and cost weights. The main significance, however, is conditional on the Acrobot experiments actually solving the underactuated Acrobot problem as formalized by Eq. (10). Because the authors allow a small torque at the nominally passive shoulder joint for the Acrobot, the reported Acrobot success rates do not directly test the underactuated problem they define, which substantially weakens the contribution as stated.","major_comments":[{"comment":"The underactuation constraint (10) enforces zero generalized force at the passive joint. For the Acrobot, this means the shoulder torque must be zero. However, Section III-C2 states that 'we allow a small control input at the nominally passive joint, with its torque limited to 0.005 Nm.' This changes the Acrobot from the single-actuator system S=[0;1] into a two-input system with a weak shoulder actuator. The allowed 5 mNm torque exceeds the modeled static friction at the shoulder, f1=3.05e-3 Nm (Eq. (23)), so the torque is not merely canceling passive friction; it is an active drive that can influence q1 during swing-up. Consequently, the reported Acrobot success rates (100% nominal, 70% with disturbance) cannot be attributed to SQP-MPC on the underactuated Acrobot as defined by the problem formulation; they reflect a weakly actuated variant. This is acknowledged in Section V, where the authors state that they 'need friction compensation to achieve reliable performance on the Acrobot system.' I request that the authors either (a) run the Acrobot experiments with strictly zero shoulder torque and report whether the claimed success rates hold, or (b) explicitly reframe the contribution and claims as applying to the Pendubot and to a weakly-actuated Acrobot variant with friction-compensation assistance.","section":"III-C2"},{"comment":"The conclusion's claim of a 'swing-up success rate greater than 90% on average' averages over four scenarios: Pendubot without/with disturbances (100%, 100%) and Acrobot without/with disturbances (100%, 70%). This aggregation hides the Acrobot-with-disturbance scenario, for which the success rate is 70%. With only 10 trials per scenario, a 70% rate has a wide confidence interval and is not strong evidence of reliability. Additionally, the success criterion for disturbance experiments differs from the nominal criterion (recovery and subsequent 5 s of stabilization), so averaging the two types of success rates is not a well-defined aggregate. The paper should report and emphasize the per-scenario rates and should at minimum state that the Acrobot disturbance-recovery rate was 70% in the abstract or conclusion rather than relying on an average that masks it.","section":"IV-Verdict and Conclusion"},{"comment":"The future-work sentence 'Currently, we need friction compensation to achieve reliable performance on the Acrobot system' is an explicit limitation that undercuts the central claim of 'reliable swing-up and stabilization performance' for the underactuated Acrobot. Because the paper's abstract and title refer to underactuated double-pendulum swing-up generally, the reader will reasonably expect the controller to work on the Acrobot in its passive-shoulder formulation. The limitation should be disclosed in the abstract or at the start of the results section, not only in the conclusion's future-work paragraph.","section":"V-Conclusion"}],"minor_comments":[{"comment":"The figure captions contain a typo: '60 sepisodes' should read '60-second episodes'. Also, the caption for Fig. 2 says 'we achieve a 100% and 70% swing-up success rate respectively', but the bar chart shows success rates of 100% and 70%; please clarify the ordering and whether 'respectively' refers to non-disturbance and disturbance scenarios.","section":"Fig. 1 and Fig. 2"},{"comment":"The uptime definition in Eq. (33) uses a count with total N_ep, but the text defines the episode duration as T_ep=60 s without specifying the relationship between N_ep and T_ep (i.e., the number of control samples). Please define N_ep explicitly and ensure the reported uptime percentages are consistent with the time axis in Fig. 4(b), which extends to 70 s despite the stated 60 s episode length.","section":"IV-Experimental Setup"},{"comment":"The representative trajectories are labeled 'Experiment 1/10' for both nominal Pendubot and Acrobot runs and 'Experiment 1/10'/'Experiment 7/10' for the disturbance runs. Please state how these representative runs were selected (e.g., median uptime run) to avoid the impression of cherry-picking.","section":"IV-Verdict"},{"comment":"Reference [7] is the basis for the stagewise ADMM method and the SQP formulation; consider citing the exact conference/journal version with page numbers, and also cite the HPIPM paper [8] in the experimental section where it is used for the Acrobot.","section":"References"}],"recommendation":"major_revision","confidential_remarks":"The Acrobot friction-compensation modification is the decisive issue. If the competition rules explicitly allow a small shoulder torque for friction compensation, then the authors should state that clearly and the claim can be reframed as being about a weakly actuated benchmark variant. If the rules require a strictly passive shoulder, the Acrobot results do not support the paper's title-level claim, and the paper should be limited to the Pendubot demonstration plus an honest discussion of the Acrobot limitation. Either way, the current abstract overstates the generality of the 'underactuated double-pendulum' claim. I also note that the code repository is said to be available but the solver code is only planned for release in the 'immediate future' (footnote 4); for reproducibility, the authors should make the exact solver code available at the time of publication."},"author_rebuttal":null,"desk_editor":{"model":"deepseek-v4-flash","letter":"Quick take: this is a competition report that demonstrates a real-time SQP-MPC pipeline on CloudPendulum, and the Pendubot numbers are genuinely solid. The Acrobot claim is softer than it looks: the controller is allowed 5 mNm at the nominally passive shoulder, which exceeds the modeled static friction, so those runs are not underactuated single-actuator experiments. The paper admits as much in the conclusion, but the abstract overstates.\n\nWhat's new: not the SQP-MPC machinery -- that's Jordana et al. -- but the inverse-dynamics parameterization (accelerations as controls plus Eq. (10) to enforce the passive-joint constraint) applied to this benchmark, with wall-clock timing and hardware success rates. That is a useful engineering data point for the RealAIGym series. The authors report 10 runs per scenario with percentiles, show representative trajectories, and give model parameters from system identification. The Pendubot 100/100 with and without disturbances is a clean result.\n\nSoft spots, in order:\n\n1. The friction-compensation torque on the Acrobot. 0.005 Nm > f1 = 0.00305 Nm, so it's not just canceling stiction; it can drive the shoulder. Eq. (10) is the underactuation constraint, and the Acrobot experiments violate it. The 70% disturbance recovery is for a weakly actuated variant. This doesn't kill the Pendubot results, but it means the abstract's \"reliable underactuated double-pendulum swing-up\" needs qualification.\n\n2. The \">90% on average\" success rate. It averages over four conditions, hiding the 70% Acrobot-disturbance cell. The figures break it down, so it's not hidden, but the conclusion is misleading.\n\n3. Missing experimental parameters. Nowhere do I see the horizon N or sampling interval dt. Those are essential for reproducibility. The GitHub link in Section IV-C contradicts footnote 4 saying code is to be released; if the repo isn't public, say so.\n\n4. No baselines. Given it's a competition report, a comparison against the other competition entries or a simple energy-shaping controller would put the numbers in context. Not fatal, but it limits the paper's reach.\n\nOn the math: the formulation is clean, the dynamics are standard for the two-link system, and the inverse-dynamics substitution is valid. No circularity. The main issue is the gap between Eq. (10) and the Acrobot experiments, which is acknowledged in the conclusion.\n\nWho this is for: people working on real-time NMPC for underactuated systems, especially those participating in RealAIGym. A serious referee should get this paper; it's a real hardware result with an honest limitation statement. But I'd send it back for revisions: fix the average claim, state N and dt, justify or remove the shoulder torque, and clarify the code availability.","headline":"Useful Pendubot hardware result, but the Acrobot success rates don't test the stated underactuated problem because of the 5 mNm shoulder torque, and the '>90%' average buries a 70% cell.","tokens_in":8938,"tokens_out":2887,"would_cite":true,"duration_ms":27233,"reading_group":"yes","serious_thinker":"yes","would_accept_peer_review":true},"rs_alignment":null,"lean_confirmation":null,"pith_extraction":{"msc":[],"pacs":[],"model":"deepseek-v4-flash","headline":"The paper claims that a real-time SQP-based MPC controller can swing up and stabilize underactuated two-link pendulums on physical hardware, achieving >90% average success and recovering from torque disturbances.","keywords":["real-time NMPC","sequential quadratic programming","underactuated double pendulum","Pendubot","Acrobot","swing-up control","ADMM","HPIPM"],"falsifier":"Repeat the Acrobot experiments with the passive-joint torque set strictly to zero (e.g., by removing the friction-compensation term in Section III-C2) on the same CloudPendulum hardware. If the swing-up success rate drops materially below the reported 100%/70%, or the system fails to swing up at all, then the reported Acrobot performance depends on the extra actuation rather than on the SQP-MPC controller solving the underactuated task.","tokens_in":7799,"feed_emoji":"🤖","tokens_out":7202,"duration_ms":63786,"temperature":0.7,"pith_summary":"This paper claims that a real-time nonlinear model predictive controller built on sequential quadratic programming can swing up and stabilize underactuated two-link pendulums on physical CloudPendulum hardware, without switching policies or precomputed trajectories. In the authors' experiments, the controller succeeds in all Pendubot trials, in all undisturbed Acrobot trials, and in 70% of Acrobot trials with applied torque disturbances, for an average swing-up success rate above 90%. The point matters because it shows a model-based optimal-control approach can handle the same benchmark that has recently been tackled with reinforcement learning, while running at 100–400 Hz on the remote platform. The same optimization-based policy performs swing-up, stabilization, and disturbance recovery.","feed_headline":"Swing-up MPC hits 90% success on real underactuated pendulums","feed_subtitle":"The same controller swings up, stabilizes, and recovers from torque disturbances on remote double-pendulum hardware.","key_machinery":"The load-bearing device is the inverse-dynamics SQP-MPC formulation: instead of optimizing torques directly, the controller optimizes generalized accelerations $\\dot{v}_k$, then recovers the required torques via the recursive Newton–Euler algorithm. This makes the underactuation constraint explicit as the equality $(I-S)[M(q_k)\\dot{v}_k + C(q_k,v_k)+g(q_k)+d(v_k)] = 0$, and the actuator limit as an inequality on the actuated torque. Each SQP iteration linearizes dynamics and constraints around the current trajectory into a structured QP whose temporal sparsity is exploited by a stagewise ADMM solver or by HPIPM; warm starting from the previous control cycle keeps the computation within the real-time budget. The intended effect is that nonlinear dynamics, actuator saturation, and the passive joint are all enforced within a single optimization, so swing-up and stabilization emerge from one receding-horizon policy.","core_discovery":"On the paper's own terms, the central claim is that the SQP-based MPC controller is a viable global control policy for the underactuated swing-up benchmark. Using generalized acceleration as the control variable and imposing the passive joint's zero-torque condition through inverse dynamics, the controller turns the nonlinear optimal control problem into a sequence of structured QPs solved by stagewise ADMM or HPIPM. Empirically, the Pendubot achieves 100% swing-up success with and without disturbances, with median uptime 55.5 s and 52.38 s out of 60 s episodes; the Acrobot achieves 100% and 70% success, with median uptime 51.48 s and 41.82 s. The controller runs above 100 Hz, with means around 400 Hz (Pendubot) and 240 Hz (Acrobot) on the CloudPendulum platform. The paper also states that the Acrobot results currently rely on a small 0.005 Nm 'friction compensation' torque at the nominally passive shoulder joint.","pith_inferences":["Because the controller initializes its trajectory guess to zero and still swings up, the SQP recursion itself is doing the motion planning; this suggests the approach may transfer to new hardware mostly by retuning weights, provided the model is updated.","The 0.005 Nm shoulder torque on the Acrobot, while small, is not proven negligible relative to the friction and gravity torques in the benchmark; a fair test of the underactuated claim would zero this term and measure the resulting success rate.","The reported '>90% average' pools two systems with different success rates (100% and 85% on average); competition scoring that weights the Acrobot more heavily, or enforces a strictly passive shoulder, could lower the headline number.","The 400 Hz/240 Hz computation headroom leaves room for online system identification inside the control loop, which the paper names as future work and which would address the competition's unknown-parameter setting."],"forward_implications":["For the Pendubot benchmark, the controller succeeds in all 20 trials and maintains upright stabilization for a median of 55.5 s (undisturbed) and 52.38 s (with disturbances) out of 60 s episodes.","For the Acrobot benchmark, the controller succeeds in all 10 undisturbed trials but only 7 of 10 disturbance trials, with median uptime 51.48 s and 41.82 s respectively.","The same controller—with no policy switching and no precomputed swing-up trajectory—generates both the energy-building swing-up motion and the stabilizing feedback, and recovers after torque disturbances.","The structure-exploiting QP solvers keep the controller fast enough for real-time use on remote hardware: above 100 Hz, with means near 400 Hz on Pendubot and 240 Hz on Acrobot.","Reliable Acrobot performance currently requires a 0.005 Nm 'friction compensation' torque at the nominally passive shoulder; the paper lists removing this as future work."],"supporting_citations":[{"why":"Supplies the stagewise ADMM structure-exploiting SQP machinery used to solve the QP subproblems.","marker":"[7]"},{"why":"Provides HPIPM, the alternative interior-point QP solver used for the Acrobot controller.","marker":"[8]"},{"why":"Defines the open-source dual-purpose Acrobot/Pendubot platform that serves as the hardware benchmark.","marker":"[5]"},{"why":"Gives the Recursive Newton–Euler algorithm used to compute actuated torque from the optimized accelerations.","marker":"[11]"},{"why":"Serves as the standard reference for the SQP iteration and its convergence criteria.","marker":"[10]"}],"fun_headline_variants":["Real-time SQP-MPC swings up underactuated Pendubot and Acrobot","Structured ADMM accelerates SQP-MPC to 400 Hz swing-up","Pendubot 100%, Acrobot 70% with disturbances via SQP-MPC","SQP-MPC achieves reliable swing-up on CloudPendulum hardware"],"cache_read_input_tokens":3200,"weakest_assumption_plain":"The Acrobot tests allow a small torque up to 0.005 Nm at the nominally passive shoulder for friction compensation; if the benchmark requires that joint to be fully passive, or if that torque materially assists the swing-up, the Acrobot success rates do not demonstrate a solution to the underactuated task.","fun_headline_variants_meta":{"raw":{"variants":["Real-time SQP-MPC swings up underactuated Pendubot and Acrobot","Structured ADMM accelerates SQP-MPC to 400 Hz swing-up","Pendubot 100%, Acrobot 70% with disturbances via SQP-MPC","SQP-MPC achieves reliable swing-up on CloudPendulum hardware"]},"model":"deepseek-v4-flash","effort":"low","cost_usd":0.000421,"raw_usage":{"total_tokens":2144,"prompt_tokens":901,"completion_tokens":1243,"prompt_tokens_details":{"cached_tokens":384},"prompt_cache_hit_tokens":384,"prompt_cache_miss_tokens":517,"completion_tokens_details":{"reasoning_tokens":1154}},"tokens_in":517,"tokens_out":1243,"duration_ms":12048,"temperature":1.0,"reasoning_tokens":1154,"cache_read_input_tokens":384,"cache_creation_input_tokens":0},"cache_creation_input_tokens":0},"created_at":"2026-08-11T20:21:57.344103+00:00","model_set":{"reader":"deepseek-v4-flash"},"falsifier":"Repeat the Acrobot experiments with the passive-joint torque set strictly to zero (e.g., by removing the friction-compensation term in Section III-C2) on the same CloudPendulum hardware. If the swing-up success rate drops materially below the reported 100%/70%, or the system fails to swing up at all, then the reported Acrobot performance depends on the extra actuation rather than on the SQP-MPC controller solving the underactuated task.","supporting_citations":[{"cited_title":"Structure-Exploiting Sequential Quadratic Program- ming for Model-Predictive Control,","cited_arxiv_id":null,"evidence_quote":"Supplies the stagewise ADMM structure-exploiting SQP machinery used to solve the QP subproblems."},{"cited_title":"Hpipm: a high-performance quadratic programming framework for model predictive control,","cited_arxiv_id":null,"evidence_quote":"Provides HPIPM, the alternative interior-point QP solver used for the Acrobot controller."},{"cited_title":"Open source dual-purpose acrobot and pendubot platform: Bench- marking control algorithms for underactuated robotics,","cited_arxiv_id":null,"evidence_quote":"Defines the open-source dual-purpose Acrobot/Pendubot platform that serves as the hardware benchmark."},{"cited_title":"Featherstone,Rigid Body Dynamics Algorithms","cited_arxiv_id":null,"evidence_quote":"Gives the Recursive Newton–Euler algorithm used to compute actuated torque from the optimized accelerations."},{"cited_title":"Numerical optimization,","cited_arxiv_id":null,"evidence_quote":"Serves as the standard reference for the SQP iteration and its convergence criteria."}],"review_version":1}