v0.6.0
What's changed
Added
- Added constrained LQR example (#145)
- Adds tracy as a profiling tool
- Adds a new sublibrary called
gar
to represent and solve time-varying linear-quadratic subproblems - Adds a parallel, block-sparse factorization for the implicit/proximal Riccati algorithm
- Integrates the CHOLMOD solver from the SuiteSparse library into
gar
- Add a C++ example and benchmark of Talos walking by @edantec
- Add a
BlkMatrix<>
template class for dealing with block Eigen matrices effectively - Copy the headers from boost::core::span
- Add SE2 car benchmark
bench/se2-car.cpp
- Split part of
macros.hpp
into new headereigen-macros.hpp
, addALIGATOR_NOMALLOC_SCOPED
macro to disable Eigen's malloc per-scope and a caching system to restore the malloc status - Add
context.hpp
file foraligator/modelling/dynamics
Changed
- Standardized CMake output directories (#147)
- Split derivative computation into first- and second-order functions per stage by @fabinsch
- Changed minimum version of C++ to C++17 (no longer use
boost::optional
orboost::filesystem
) - SolverProxDDP now uses linear solvers provided by
gar
(API breaking), addLQSolverChoice
enum - Minimum version of eigenpy upgraded to 3.4 (for supporting
std::unique_ptr
) - Move cost functions to
aligator/modelling/costs
- Deprecate
ControlBoxFunction
- Remove
LDLTChoice
enum (API breaking) - Refactor computation of problem Lagrangian's gradient
- Remove
aligator/core/stage-data.hxx
- StageModel/StageData now store dynamics model/data separate from other constraints, add
dynamics_data
toStageData
- Rewrite the
Logger
class (rename fromBaseLogger
) using map data structures to store line formatting info + content - Merge struct ODEData into ContinousDynamicsData, rename continous-base.hpp header to continuous-dynamics-abstract
- Optimize a few includes for faster compilation:
aligator/modelling/dynamics/fwd.hpp
aligator/core/stage-model.hpp
no longer includesaligator/core/cost-abstract.hpp
- Split
traj-opt-data.hpp
out oftraj-opt-problem.hpp
Python API
- Rename
ContinousDynamicsBase
toContinousDynamicsAbstract
- Rename
CostBase
toCostAbstract
- Expose
TrajOptData.init_data
- Remove
LDLTChoice
enum andSolverProxDDP.ldlt_solver_choice
attribute
Full Changelog: v0.5.1...v0.6.0