Libmpc Versions Save

libmpc++ is a C++ header-only library to solve linear and non-linear MPC

0.5.0

2 weeks ago

Added

  • Python bindings for the library using pybind11 (pympcxx)
  • The result struct now contains a string to describe the status of the optimization problem
  • Added new parameters for the nonlinear mpc (time_limit, absolute_ftol, absolute_xtol)

Changed

  • Breaking change: some of the APIs have been refactored. New APIs: setDiscretizationSamplingTime, setExogenousInputs, optimize substitute setContinuosTimeModel, setExogenuosInputs, step
  • Improved error handling in the NLopt interface

Fixed

  • The set of the discretization sampling time was not working properly in the non-linear mpc

0.4.2

3 months ago

Added

  • Added examples to show how to use the library

Fixed

  • Fixed the cmake target configuration to properly target the library

0.4.1

4 months ago

Changed

  • Removed coloured output for the integrated logger
  • Configure script now can be used to avoid the installation of the test suite

Fixed

  • Fixed dockerfile to use the 0.6.3 version of the OSQP solver

0.4.0

1 year ago

Added

  • Added profiler to measure statistics of the optimization problem
  • In linear mpc is now possible to override the warm start of the optimization problem
  • Added support for OSQP warm start in linear mpc

Changed

  • The linear mpc parameters now allows enabling the warm start of the optimization problem
  • The mpc result structure now contains a status field to check if the optimization problem has been solved
  • CMakelists.txt has been refactored to export the INCLUDE_DIRS variable

0.3.1

1 year ago

Fixed

  • The computation of the scalar multipler was not correct

0.3.0

1 year ago

Added

  • Added new api in linear mpc to add a scalar constraints

Changed

  • In linear mpc the last input command is now used to initialize the optimal control problem

Fixed

  • The default value for the box constraints in linear mpc are now set -inf and inf
  • In linear mpc optimal input sequence was erroneously the delta input sequence

0.2.0

1 year ago

Added

  • Improved performances of non-linear mpc

Changed

  • Added support in non-linear for output penalization in the objective function (Breaking change)
  • In non-linear prediction step index is now available in the model update function (Breaking change)

0.1.0

1 year ago

Added

  • Added support in linear mpc to define the references, weights, constraints and exogenous inputs different in each prediction step
  • Added general support to the retrival of the optimal sequence (state, input and output)

Changed

  • The API to set the references, weights constraints and exogenous inputs using vector now requires a span of the horizon (Breaking changes)
  • Added new APIs to define the references, weights, constraints and exogenous inputs matrices to the whole horizon
  • Internal structure of the library has been refactored to separate non-linear and linear classes

0.0.9

1 year ago

Added

  • Added support for multiple mpc instances in the same executable

Changed

  • Minimum c++ version required updated to c++20

0.0.8.2

1 year ago

Fixed

  • Fixed issue on the compilation