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는 원-쌍대 근접 증강 라그랑지안 방법으로 이차 계획 문제를 풀며, 조건수가 나쁘거나 실행 불가능한 문제에서도 높은 속도와 수치적 견고성을 모두 달성합니다.

이 툴박스는 밀집, 희소, 행렬 없는(matrix-free) 솔버 백엔드를 제공하여 사용자가 문제 구조에 맞는 솔버를 선택할 수 있습니다. 고급 기능으로는 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를 푸는 운영 연구(OR) 실무자

한계

  • QP 및 LP 문제에 특화됨 — 범용 비선형 계획법 솔버가 아님
  • 최고 성능을 얻으려면 벡터화 플래그(-march=native)로 컴파일해야 함
  • OSQP나 qpOASES 같은 검증된 솔버에 비해 비교적 신생 프로젝트임
  • 배치 풀이 및 QP 미분 같은 고급 기능은 학습 곡선이 더 가파름

이 웹사이트는 JavaScript가 필요합니다. 오픈소스 로봇 프로젝트를 탐색하려면 JavaScript를 활성화하세요.