{
  "abstract": "As robot capabilities increase, quadratic programming (QP)-based controllers must account for a similarly increasing number of constraints to ensure safe, reliable operation. Yet, with each added constraint, this introduces more chances of momentary conflict: in which case, a QP solver that returns an \"infeasible\" status leaves the controller with nothing to execute. To address this, we introduce ElastiQP, a modified dual active-set QP solver that relaxes every inequality constraint with an exact, per-constraint l1 penalty while keeping equality constraints (dynamics) hard. Notably, ElastiQP does so by folding the slack variables into the solver analytically, maintaining a constant size of the condensed linear system. On a suite of robot control benchmarks, ElastiQP achieves microsecond-level performance, matching or outperforming leading modern solvers on feasible problems. On infeasible problems, ElastiQP handles these gracefully, confining violations to strictly the conflicting inequality terms, returning a usable solution up to 40x faster than the best alternative solvers. ElastiQP is available as an open-source C++ header-only library, with Python and JAX interfaces, at https://github.com/StanfordASL/elastiqp.",
  "abstract_shown": true,
  "affiliations": [],
  "article_type": null,
  "arxiv": "2609.19080",
  "author_total": 4,
  "authors": [
    {
      "name": "Daniel Morton"
    },
    {
      "name": "Jon Arrizabalaga"
    },
    {
      "name": "Zachary Manchester"
    },
    {
      "name": "Marco Pavone"
    }
  ],
  "bibtex": "https://research.draconitic.com/paper/e1shmzscp8h7f.bib",
  "cited_by": 0,
  "doi": "10.48550/arxiv.2609.19080",
  "fulltext_url": null,
  "id": "e1shmzscp8h7f",
  "issns": [],
  "landing_url": "https://arxiv.org/abs/2609.19080",
  "language": null,
  "licence": "CC-BY-4.0",
  "licence_label": "CC BY 4.0",
  "licence_source": "article",
  "licence_url": "http://creativecommons.org/licenses/by/4.0/",
  "metadata_licence": "CC0-1.0",
  "native_subjects": [
    [
      "arxiv",
      "cs.RO"
    ],
    [
      "arxiv",
      "math.OC"
    ],
    [
      "openalex",
      "2207|Advanced Control Systems Optimization"
    ]
  ],
  "openalex": "W7213505145",
  "pdf_url": "https://arxiv.org/pdf/2609.19080",
  "pmcid": null,
  "pmid": null,
  "published": "2026-09-16",
  "publisher": null,
  "ris": "https://research.draconitic.com/paper/e1shmzscp8h7f.ris",
  "sources": [
    {
      "first_seen": "2026-10-30T12:22:04Z",
      "native_id": "2609.19080",
      "source": "arxiv",
      "url": "https://arxiv.org/abs/2609.19080"
    }
  ],
  "subjects": [
    {
      "field": "mathematics",
      "origin": "arxiv:math.OC",
      "subfield": "optimisation-control"
    }
  ],
  "title": "ElastiQP: An Always-Feasible QP Solver for Constrained Robot Control",
  "title_text": "ElastiQP: An Always-Feasible QP Solver for Constrained Robot Control",
  "type": "preprint",
  "updated_at": "2026-10-30T12:22:04Z",
  "url": "https://research.draconitic.com/paper/e1shmzscp8h7f",
  "venue": "arXiv",
  "versions": []
}