Fixed the horizon slicing for the non-linear mpc. The horizon slicing was not working properly when set via the HorizonSlice struct
0.6.0
4 weeks ago
Added
Added support for input and state bound constraints in the non-linear mpc. These constraints are actually restricing the search space of the optimization problem
and are obeyed by the solver also during intermediate steps of the optimization problem
Added warm start support in the non-linear mpc. The warm start is disabled by default and can be enabled using the parameter enable_warm_start
Changed
Breaking change: The stopping criterias in the non-linear mpc parameters are now disabled by default. The only enabled criteria is the maximum number of iterations
Breaking change: The optimal sequence returned by the linear and non-linear mpc is now containing also the initial condition
The Jacobians of the constraints in the non-linear mpc are now estimated using the trapeizoial rule
The functions to set the bound constraints now uses a dedicated structure to define the horizon span
Breaking change: The functions setConstraints are now split in setStateBounds, setInputBounds and setOutputBounds
Breaking change: The fields retcode and status_msg in the result struct of the non-linear mpc are now solver_status and solver_status_msg respectively
0.5.0
1 month 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
4 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
5 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