Skip to content

v0.6.0

Compare
Choose a tag to compare
@ManifoldFR ManifoldFR released this 23 May 14:50
· 507 commits to main since this release
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 header eigen-macros.hpp, add ALIGATOR_NOMALLOC_SCOPED macro to disable Eigen's malloc per-scope and a caching system to restore the malloc status
  • Add context.hpp file for aligator/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 or boost::filesystem)
  • SolverProxDDP now uses linear solvers provided by gar (API breaking), add LQSolverChoice 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 to StageData
  • Rewrite the Logger class (rename from BaseLogger) 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 includes aligator/core/cost-abstract.hpp
    • Split traj-opt-data.hpp out of traj-opt-problem.hpp

Python API

  • Rename ContinousDynamicsBase to ContinousDynamicsAbstract
  • Rename CostBase to CostAbstract
  • Expose TrajOptData.init_data
  • Remove LDLTChoice enum and SolverProxDDP.ldlt_solver_choice attribute

Full Changelog: v0.5.1...v0.6.0