Skip to content

Installation

mvukov edited this page Oct 23, 2014 · 25 revisions

qpDUNES is developed for LINUX systems. Since it is selfcontained and most parts are written according to the C90 standard, it should in principle run on other operating systems as well. So far however, major tests have only been performed under Ubuntu 13.04 and Mac OS X.

Prerequisites

  • git
  • gcc
  • make

On standard Ubuntu, these programs can conveniently be obtained via sudo apt-get install git gcc make

Obtaining qpDUNES

qpDUNES is available on github. Open a terminal, navigate to the desired installation position, and run git clone [email protected]:jfrasch/qpDUNES.git qpDUNES

To update your existing qpDUNES copy to the latest release, simply run git pull from your qpDUNES directory.

Installing qpDUNES

In a terminal, navigate to your qpDUNES directory. Execute make to build qpDUNES.

After a successful compilation, navigate to ${qpDUNES}/examples and type ./example1 to execute a toy example and test your successful installation. You should see a similar output to

sample terminal output

Building qpDUNES from MATLAB

Open MATLAB and navigate to ${qpDUNES}/interfaces/matlab. Execute the script make.m to build qpDUNES.

After a successful compilation, navigate to ${qpDUNES}/examples/matlab and run the script doubleIntegrator.m to test your qpDUNES installation.

Using qpDUNES from ACADO Code Generation

  1. Obtain the master branch from ACADO's github repository
  2. Install ACADO following the developers' instructions
  3. Choose qpDUNES as the QP solver of your example by setting the following options in the generating .cpp file:
mpc.set( SPARSE_QP_SOLUTION, SPARSE_SOLVER );
mpc.set( QP_SOLVER, QP_QPDUNES );
  1. Re-compile the generating file and run it
  2. Compile the exported code

Pitfalls:

  • Put a copy of qpDUNES in the exported code's folder
  • Make sure you re-generate (or adapt) the Makefile of the exported code
  • Make sure you compile with clang (gcc might currently still throw errors)