Open Source Robotics

精選高品質的開源機器人專案、工具與軟體,推動機器人社群向前發展。

ProxSuite

用於機器人控制與最佳化的高效能 QP/LP 求解器

授權條款

BSD-2-Clause

概述

ProxSuite 是來自 Inria、ENS Paris 與 CNRS 之 Willow 與 Sierra 團隊(Willow 也共同開發 Pinocchio)的進階最佳化工具箱,為機器人中的二次規劃(QP)與線性規劃(LP)問題提供高效的求解器。其核心的 ProxQP 求解器採用新穎的原始-對偶近端增廣拉格朗日方法,在模型預測控制(MPC)、全身控制與軌跡最佳化上提供最先進的效能。支援稠密、稀疏與混合的問題表述,並提供 C++ 與 Python 介面。

ProxSuite 是一套開源的數值最佳化求解器,由巴黎 Inria 與 Ecole Normale Superieure 的 Willow 與 Sierra 研究團隊開發。其旗艦元件 ProxQP 以原始-對偶近端增廣拉格朗日方法求解二次規劃,同時兼顧高速與數值穩健性,即使面對病態或不可行的問題也一樣。

這個工具箱提供稠密、稀疏與免矩陣的求解器後端,讓使用者能依問題結構選擇合適的求解器。進階功能包括 SIMD 向量化支援、從先前的解進行暖啟動、平行批次求解 QP、處理非凸 QP,以及可對 QP 的解進行微分,供以學習為基礎的應用使用。

ProxSuite 已整合進主要的最佳化生態系,包括 CVXPY、CasADi,以及建構在 Pinocchio 之上的 TSID 機器人逆動力學框架。它透過 pip、conda 與 Homebrew 發行,除了核心的 C++ 函式庫,也提供 Python 與 Julia 繫結。

為何重要

二次規劃是機器人控制的核心,從全身控制器、模型預測控制到含接觸的逆動力學皆然。ProxSuite 的 ProxQP 求解器在最困難的 QP 評測基準上提供最先進的效能,同時能處理凸與非凸問題,是即時機器人最佳化的關鍵基礎元件。

解決的問題

即時機器人控制器需要以高頻率求解二次規劃,並保證數值穩定,即使是病態或不可行的問題也不例外。ProxSuite 提供的求解器同時兼具速度、數值穩健性與彈性,能處理稠密、稀疏與免矩陣的問題表述,即使 QP 原始不可行,也能回傳有用的結果。

重點

  • ProxQP 求解器採用原始-對偶近端增廣拉格朗日方法,穩健地求解 QP
  • 支援稠密、稀疏與免矩陣後端,並以 SIMD 向量化發揮最高效能
  • 可處理非凸 QP,並在問題不可行時回傳最接近的可行解
  • 已整合進 CVXPY、CasADi 與 TSID 任務空間逆動力學框架
  • 可透過 pip、conda 與 Homebrew 取得,並提供 Python 與 Julia 繫結

適用對象

  • 實作 MPC 或全身控制器的機器人控制工程師
  • 評測 QP 求解器效能的最佳化研究人員
  • 需要即時、考量接觸之控制的足式機器人開發者
  • 求解大規模 QP 與 LP 的作業研究實務工作者

限制

  • 專注於 QP 與 LP 問題,並非通用的非線性規劃求解器
  • 要發揮最高效能,需以向量化旗標(-march=native)編譯
  • 與 OSQP 或 qpOASES 等成熟的求解器相比,是相對年輕的專案
  • 批次求解與 QP 微分等進階功能的學習曲線較陡

本網站需要 JavaScript 才能正常運作。請啟用 JavaScript 以瀏覽我們的開源機器人專案。