Releases: acados/acados
Releases · acados/acados
v0.3.4
What's Changed
- Python cleanup by @FreyJo in #1146
- Getters for partial condensing matrices Q, R, S by @FreyJo in #1145
- Add timers:
time_preparation,time_feedbackby @FreyJo in #1147 - Documentation update by @josipkh in #1141
- Remove
tslacks fromocp_nlp_outby @FreyJo in #1148 - Remove main mex template by @FreyJo in #1149
- Update problem formulation description by @sandmaennchen in #1150
- Fix small typo in Makefile by @josipkh in #1152
- Visualize cost-to-go in MOCP example by @FreyJo in #1153
- Add
resetfunction in MEX OCP solver interface by @FreyJo in #1156 - Fix QP status issue by @FreyJo in #1155
- Cmake for multi-phase OCP solver by @sandmaennchen in #1157
- Simulink interface: add initialization functionalities and tests by @FreyJo in #1158
- Python interface: default for
sim_method_num_stagesby @sandmaennchen in #1159
Full Changelog: v0.3.3...v0.3.4
v0.3.3
What's Changed
- Matlab race car example by @FreyJo in #1078
- Minor cleanup of
chain_mass/solution_sensitivity_example.pyby @dirkpr in #1080 - Fix acados cmake config by @FranekStark in #1081
- Add
rti_phaseas possible Simulink input by @FreyJo in #1082 - Remove local
CMAKE_PREFIX_PATHadjustments by @Hs293Go in #1083 - Revert "Remove local
CMAKE_PREFIX_PATHadjustments (#1083)" by @FreyJo in #1086 - Modularize CI workflow by @AkashJohnSubash in #1085
- Batch integrator and OCP solver for parallel solves by @sandmaennchen in #1087
- Globalization in minimal examples by @sandmaennchen in #1088
- Follow up to #1087 by @sandmaennchen in #1089
- Conditionally add OSQP test dependency by @FreyJo in #1091
- Create parametric closed loop example in Matlab by @FreyJo in #1092
- CMake and CI cleanup by @FreyJo in #1093
- Python 3.7 compatible interface, modified f-strings by @FreyJo in #1094
- Miscellaneous python improvements by @sandmaennchen in #1095
- Documentation update by @FreyJo in #1096
- Minor documentation update by @sandmaennchen in #1098
- Octave works by @FreyJo in #1097
- Fix cost type detection for casadi versions >= 3.6 by @sandmaennchen in #1099
- DDP and Feasibility-Projected DDP implementation by @david0oo in #1071
- AcadosSimSolver python 3.7 compatibility by @FreyJo in #1101
- improve
translate_to_feasibility_problemby @FreyJo in #1100 - CI: run on Ubuntu 22.04, CasADi 3.6.5, GNU Octave 6.4.0 by @AkashJohnSubash in #1102
- Add functionality in
ocp_nlp_solver_destroyby @FreyJo in #1079 - Refactor integrator experiment with Furuta pendulum by @FreyJo in #1103
- Python: check if bounds are 1-dimensional numpy arrays by @FreyJo in #1104
- fix openMP check by @hshose in #1107
- Minor cleanup in python interface by @sandmaennchen in #1108
- Multiphase slack fix by @FreyJo in #1109
- Extend
create_model_with_cost_state()with slack penalties by @FreyJo in #1110 - Cleanup time-optimal python example by @sandmaennchen in #1112
- Fix merit weight initialization by @FreyJo in #1116
- Add option to log max norm of the primal step within SQP by @sandmaennchen in #1115
- Exploit symmetry when generating Hessians with CasADi SX by @FreyJo in #1117
- update qpoases version by @FreyJo in #1119
- Add soft constraints to OSQP interface by @giaf in #1120
- Fix reformulation to feasibility problem for empty symbolics by @sandmaennchen in #1121
- Batch solver: fix openmp include in templates by @sandmaennchen in #1122
- Generalize zoRO custom update function by @FreyJo in #1054
- MATLAB interface - control rates example by @josipkh in #1126
- Full soft constraints support in OSQP interface by @giaf in #1123
- Improve error messages on J matrices in Python by @FreyJo in #1127
- rename
augment_model_with_polynomial_control()toreformulate_with_polynomial_control()by @FreyJo in #1129 - Feasibility Problem Reformulation enhancement by @david0oo in #1128
- Fix make build system adding DDP source, recommend CMake by @FreyJo in #1134
- Minimal example: use GN Hessian, improve warning by @FreyJo in #1135
- Setter for updating
max_iterin Python by @zanellia in #1133 - Moved adaptive Levenberg marquardt calculation to common by @david0oo in #1136
- CI matlab examples by @AkashJohnSubash in #1132
- Python: improve documentation on solution sensitivities and exact hessian checks by @sandmaennchen in #1137
- Add missing external function for convex-over-nonlinear constraints by @sandmaennchen in #1139
- Windows, MATLAB - Fix timing with MinGW by @josipkh in #1142
- Option to specify partial condensing block sizes in C and Python by @FreyJo in #1143
- CMakeLists: allow specifying
CMAKE_INSTALL_PREFIXdirectly instead ofACADOS_INSTALL_DIRby @asherikov in #1138
New Contributors
- @dirkpr made their first contribution in #1080
- @AkashJohnSubash made their first contribution in #1085
- @david0oo made their first contribution in #1071
- @hshose made their first contribution in #1107
- @asherikov made their first contribution in #1138
Full Changelog: v0.3.2...v0.3.3
v0.3.2
What's Changed
- Allow to set cost scaling from Python by @FreyJo in #1058
- Mex add support for soft nonlinear constraints at initial shooting node by @FreyJo in #1059
- Simplify SQP loop with static functions by @FreyJo in #1057
- add idxsh_0 to layout by @FreyJo in #1060
- Fix openmp by @FreyJo in #1061
- Solution sensitivities with respect to parameters by @FreyJo in #1055
- CMake update by @Hs293Go in #1065
- Small cleanup by @FreyJo in #1064
- CSTR example improvement by @FreyJo in #1066
- Python sanity checks on idx* by @FreyJo in #1067
- Add
set_params_sparsemultiphase OCP by @FreyJo in #1069 - Python convenience improvements by @FreyJo in #1068
- Renaming follow up on #1055 by @FreyJo in #1070
- Improve Python unicycle example by @FreyJo in #1072
- Python interface: cleanup solver by @sandmaennchen in #1073
- Matlab Interface: Add ztraj to sfunction output by @leonardocecchin in #1074
Full Changelog: v0.3.1...v0.3.2
v0.3.1
What's Changed
- fix Matlab with MSVC by @FreyJo in #1036
- Support slack penalties for initial stage in MEX interface by @FreyJo in #1037
- Split condensing and regularization into preparation and feedback by @FreyJo in #1034
- Work on core for speedups by @FreyJo in #888
- Fix slack function update in CONL, NLS module by @FreyJo in #1039
- Cleanup RTI, fix timings and comments by @FreyJo in #1038
- Cleanup SQP submodules - only use single evaluation point at a time by @FreyJo in #1040
- Fix a few typos regarding the least squares cost formulation (MATLAB examples, Python docs) by @josipkh in #1044
- Minor C changes by @FreyJo in #1045
- Implement advanced-step real-time iteration: AS-RTI by @FreyJo in #1046
- Fix DAQP for Matlab on Windows by @FreyJo in #1043
- Efficient factorization of diagonal outer Hessian in convex-over-nonlinear and nonlinear least-squares costs by @sandmaennchen in #1024
- Update MATLAB examples with general initial input constraints by @josipkh in #1048
- Fix solution sensitivities in Matlab by @FreyJo in #1050
- Add DS1104 support by @FreyJo in #1052
- Furuta example by @sandmaennchen in #1053
Breaking:
- Calling
ocp_nlp_precomputeis now required when creating an OCP solver fromC, this is done in the C files generated by the template based interfaces (Python, Matlab and Octave). It might affect users that use an old / self writtenCfile to set up their OCP solver. See: 37e17d3
Full Changelog: v0.3.0...v0.3.1
v0.3.0
What's Changed
- docs: update Python requirement by @FreyJo in #997
- Matlab: LD_RUN_PATH, add getters, fix examples, remove outdated files by @FreyJo in #996
- Separate nonlinear constraints into path and initial stage constraints by @FreyJo in #994
- Some interface refactoring by @FreyJo in #998
- Fix solver template, simplify external function generation, formatting by @FreyJo in #1000
- Fix bugs with slack dimensions Python interface by @FreyJo in #1001
- Matlab: allow to create Simulink block from integrator by @FreyJo in #1003
- Add support for multi phase OCP in Python by @FreyJo in #1004
- Fix acados_timer issue by removing MEASURE_TIMINGS flag by @FreyJo in #1005
- Python 3.7 compatibility by @FreyJo in #1006
- Fix nonlinear_chain_example, removing nm6 by @FreyJo in #1008
- CodeQL: dont complain about commented code by @FreyJo in #1010
- Consistent integrator timings by @FreyJo in #1011
- extend AcadosMultiphaseOcp by @FreyJo in #1007
- Add a linear MPC example in MATLAB by @josipkh in #1012
- Documentation: fixes and updates by @FreyJo in #1013
- Fix regularization example and build with CMake by @FreyJo in #1015
- Update documentation, fix some typos by @josipkh in #1016
- Minor fixes by @FreyJo in #1018
- Update HPIPM by @FreyJo in #1020
- Update penalty utilities by @FreyJo in #1021
- Fix multiphase nonlinear constraints by @FreyJo in #1023
- Matlab fixes by @FreyJo in #1026
- Matlab examples: make calling functions more explicit by @FreyJo in #1027
- Implement
fixed_hessoption to not recompute the Hessian if it is constant by @FreyJo in #1028 - AcadosOcpSolver: make ocp consistent if generate==False by @FreyJo in #1030
- Update osqp by @FranekStark in #1033
Breaking:
- Matlab & Python: nonlinear constraints
handphi(r)are by default only enforced at nodes 1 to N. Such constraints can still be enforced at node 0 by setting the appropriate new fields, #994
New Contributors
- @josipkh made their first contribution in #1012
- @FranekStark made their first contribution in #1033
Full Changelog: v0.2.6...v0.3.0
v0.2.6
What's Changed
- fix CodeQL warnings by @FreyJo in #984
- fix condition for checking number of stages in detect_dims_ocp.m by @Ajin2305 in #989
- Codeql review by @FreyJo in #988
- Rework CasADi requirements in MEX interface by @FreyJo in #991
- Fix get_optimal_value_gradient, add getter for p from HPIPM by @FreyJo in #993
- Windows python interface by @asparc in #968
New Contributors
Full Changelog: v0.2.5...v0.2.6
v0.2.5
What's Changed
- update BLASFEO and HPIPM by @FreyJo in #969
- Fix typo in minimal_example_closed_loop.py by @Federico-PizarroBejarano in #970
- Fix dependency handling in CMake config file by @Hs293Go in #971
- Fix sfun sources if hessian is not exact by @asparc in #974
- update ROADMAP by @sandmaennchen in #964
- Work on solution sensitivities by @FreyJo in #975
- Implement cost integration via IRK for Convex-over-nonlinear cost by @FreyJo in #976
- Add time in IRK, allow to cost integration with time dependent function by @FreyJo in #977
- Documentation fixes by @FreyJo in #979
- Formulate constraints as L2 and Huber penalties in Python by @FreyJo in #980
New Contributors
- @Federico-PizarroBejarano made their first contribution in #970
- @Hs293Go made their first contribution in #971
Full Changelog: v0.2.4...v0.2.5
v0.2.4
What's Changed
- Zoro followup by @FreyJo in #960
- GNRK: Gauss-Newton Runge-Kutta: IRK with nonlinear-least squares by @FreyJo in #698
- Python get_stats returns float or int instead of single element numpy array and fix cython for custom path by @aghezz1 in #961
- python interface: get the gradient of the optimal value function by @sandmaennchen in #963
- Cleanup by @FreyJo in #965
- refactored optionally verbose system calls in python interface by @tudoroancea in #962
BREAKING: change return types of get_stats in Python
Full Changelog: v0.2.3...v0.2.4
v0.2.3
What's Changed
- Minor update to python interface docs, remove docs folder in acados_template by @sandmaennchen in #943
- minor changes of zoRO examples by @yf-gao in #946
- Simulink with custom update function by @FreyJo in #948
- Core: Allow changing all constraint bounds between preparation and feedback phase by @FreyJo in #949
- Python x0 shape check by @FreyJo in #950
- MATLAB: use template-based code to interface acados sim solver by @FreyJo in #944
- Fix free external function in templated sim solver by @sandmaennchen in #951
- MEX: remove pointers to external functions in Matlab by @mohammed-hababeh in #952
- Use PROJECT_SOURCE_DIR instead of CMAKE_SOURCE_DIR to allow for better submodulization by @apozharski in #953
- Update problem_formulation_ocp_mex.tex with J_sbx^e by @jnz in #954
- Refactor examples by @FreyJo in #955
- Minimal closed-loop example using RTI by @sandmaennchen in #958
New Contributors
- @mohammed-hababeh made their first contribution in #952
- @apozharski made their first contribution in #953
- @jnz made their first contribution in #954
Full Changelog: v0.2.2...v0.2.3
v0.2.2
What's Changed
- Update License headers by @FreyJo in #935
- Matlab full template based OCP solver by @yzuuang in #934
- Fast implementation of the zoRO algorithm by @yf-gao in #938
- NLS cost module: Change W_changed flag if cost matrix was changed by @lukasfro in #939
- Example to create Simulink wrapper from Python by @FreyJo in #940
- license follow up: fix trailing spaces by @FreyJo in #941
Breaking changes:
- Simulink interface: After #934 the Matlab OCP solver interface is fully template based. Thus, there is no need anymore to call
ocp.generate_c_code(simulink_opts);. This is now done within the creation of the Matlab OCP solver object.
Thesimulink_opts, have to be provided to the constructor of the ocp solver instead, i.e. with the optional argumentsimulink_opts:
ocp = acados_ocp(ocp_model, ocp_opts, simulink_opts);
For details, see #934
New Contributors
Full Changelog: v0.2.1...v0.2.2