8000 Release v0.4.0 Β· acados/acados Β· GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

v0.4.0

Compare
Choose a tag to compare
@sandmaennchen sandmaennchen released this 16 Sep 11:51
4335444

Dear acados community πŸ‘‹

we are excited to announce acados v0.4.0 which comes with significant changes and lots of new features in particular for MATLAB users! πŸŽ‰

New MATLAB interface

The new MATLAB interface fully aligns the solver creation with the python interface for which extensive documentation is available. The solver creation through the legacy interface is still supported but will be deprecated in future releases. Please refer to our announcement in the forum for up-to-date instructions on how to port existing code to the new interface.

Please note that the alignment with the python interface comes with some changes in default values:

  • Default constraints type is now 'BGH'
  • default cost type is now 'LINEAR_LS'
  • qp_solver_ric_alg = 1
  • qp_solver_cond_ric_alg = 1
  • nlp_solver_max_iter = 100
  • dynamic defaults as in Python for: alpha_min, alpha_reduction, eps_sufficient_descent, eval_residual_max_iter, full_step_dual

Other breaking changes:

  • acados_ocp returns an AcadosOcpSolver object which no longer provides the fields model_struct and opts_struct, but the property ocp which is an object of type AcadosOcp

Global parameters with precomputation

With this release, the acados problem formulation is extended with global parameters. In contrast to the existing problem parameters, global parameters cannot change stage-wise and most importantly allow for precomputation, i.e. whenever global parameter values are updated all potentially expensive terms within the CasADi problem functions which only depend on these parameters are precomputed.

Multi-phase OCP solver in MATLAB

The multi-phase interface which was only available in python is now also supported by the MATLAB interface.

Breaking changes

In addition to the breaking changes listed above, this release introduces the following breaking changes:

  • python interface: rename AcadosSimOpts -> AcadosSimOptions
  • MATLAB interface: see above
  • The number of shooting nodes is now specified using AcadosOcp.solver_options.N_horion for both MATLAB and Python, previously via dims.N.

What's Changed

  • Matlab interface overhaul by @FreyJo in #1193
  • migrate dims.N to solver_options.N_horizon by @FreyJo in #1203
  • Matlab interface: improve error messages by @sandmaennchen in #1204
  • MATLAB: minor cleanup of examples, rewrite to new interface by @sandmaennchen in #1206
  • MATLAB: change default cost type from AUTO to BGH by @sandmaennchen in #1205
  • Matlab: Fix qp_diagnostics for partially condensed QP by @FreyJo in #1208
  • MALTAB: switch back to generated Make, keep using CMake on Octave by @FreyJo in #1210
  • Add option qp_solver_mu0 to AcadosOcpOptions by @FreyJo in #1214
  • Update HPIPM to version with new Matlab debug functionality by @FreyJo in #1212
  • Update jsonlab with improved error messages by @FreyJo in #1215
  • Add option qp_print_level for HPIPM solvers by @FreyJo in #1213
  • New MATLAB frontend: change defaults to match Python by @FreyJo in #1216
  • MATLAB multiphase OCP solver by @FreyJo in #1218
  • Correction: Torsion calculation in quadrotor_nav example by @JohnTGZ in #1217
  • Python: rename AcadosSimOpts -> AcadosSimOptions by @FreyJo in #1222
  • Python: cleanup example generic_disc_dyn by @sandmaennchen in #1225
  • MATLAB: custom update and zoRO interfacing by @FreyJo in #1223
  • No code generation for integrator and related files if dynamics are DISCRETE by @sandmaennchen in #1226
  • Update Simulink examples to be based on new interface by @FreyJo in #1228
  • Remove OCP related things in templated Make and CMake when creating integrators by @FreyJo in #1229
  • SQP: fix time_lin by including ocp_nlp_approximate_qp_vectors_sqp by @FreyJo in #1230
  • Include external function needed for ERK adjoints properly in solver templates by @FreyJo in #1231
  • MATLAB/Octave: add note on interfaces to examples by @sandmaennchen in #1232
  • Add vde_adj in make_sfun.in.m by @FreyJo in #1233
  • Add stage info in dynamics, cost and constraints submodules by @FreyJo in #1236
  • Fix compiler warning, forgot to change header in #1236 by @FreyJo in #1238
  • Add p_global to problem formulation in Python by @FreyJo in #1234
  • Update problem formulation by @sandmaennchen in #1221
  • A few typo fixes and minor changes in the problem formulation document by @josipkh in #1242
  • MATLAB: fixes in make_consistent, getting started examples using new interface by @sandmaennchen in #1239
  • Python: improvements to MHE example by @FreyJo in #1244
  • Simplify casadi_function_generation logic by @jgillis in #1245
  • MATLAB: add p_global and GenerateContext by @sandmaennchen in #1241
  • MATLAB: Simple DAE example uses new interface by @sandmaennchen in #1247
  • Fix Multiphase with nondefault code_export_directory by @FreyJo in #1240
  • MATLAB: remove codgen_model by @sandmaennchen in #1248
  • MATLAB: migrate MHE example to new interface by @FreyJo in #1249
  • Fix compilation with EXT_DEP=OFF and test it on Github actions by @FreyJo in #1235
  • Rename set_p_global to set_p_global_and_precompute_dependencies by @sandmaennchen in #1251
  • Add common subexpression elimination to CasADi function creation by @sandmaennchen in #1246
  • Update matlab install script to install CasADi v3.6.6 by @sandmaennchen in #1252
  • Update documentation for python API by @sandmaennchen in #1253

New Contributors

Full Changelog: v0.3.6...v0.4.0

0