qpSWIFT
A Sparse Quadratic Programming Solver
qpSWIFT

Introduction

qpSWIFT is light-weight sparse Quadratic Programming solver targetted for embedded and robotic applications. It employs Primal-Dual Interioir Point method with Mehrotra Predictor corrector step and Nesterov Todd scaling. For solving the linear system of equations, sparse LDL' factorization is used along with approximate minimum degree heuristic to minimize fill-in of the factorizations

Download

qpSWIFT can be downloaded from the following link https://github.com/qpSWIFT/qpSWIFT

Features

  • Written in ANSI-C
  • Fully functional Quadratic Programming solver for embedded applications
  • Code Generation for target platform
  • Tested on multiple target architectures
    • x86
    • x86_64
    • ARM
    • PowerPC
  • Support for multiple interfaces
    • C/C++
    • Matlab
    • Simulink
    • Python

Case Studies

  • BAMBY
  • Ghost Robotics Vision60

Future Updates

  • Quadratic Program with only equality constraints
  • Support for R and Julia

Note

The project is still in active development. Feedback is highly appreciated. For any queries, please write to haewo.nosp@m.npar.nosp@m.k@kai.nosp@m.st.a.nosp@m.c.kr

Citing qpSWIFT

If you like qpSWIFT and are using it in your work, please cite the following paper

@article{pandala2019qpswift,
title = {qpSWIFT: A Real-Time Sparse Quadratic Program Solver for Robotic Applications},
author = {Pandala, Abhishek Goud and Ding, Yanran and Park, Hae-Won},
journal = {IEEE Robotics and Automation Letters},
volume = {4},
number = {4},
pages = {3355--3362},
year = {2019},
publisher = {IEEE}
}