1#ifndef ROBOTOC_RICCATI_RECURSION_HPP_
2#define ROBOTOC_RICCATI_RECURSION_HPP_
The state feedback and feedforward policy of LQR subproblem at a time stage.
Definition: lqr_policy.hpp:16
Riccati factorizer.
Definition: riccati_factorizer.hpp:28
Riccati recursion solver for optimal control problems. Solves the KKT system in linear time complexit...
Definition: riccati_recursion.hpp:26
const aligned_vector< LQRPolicy > & getLQRPolicy() const
Gets of the LQR policies over the horizon.
void setRegularization(const double max_dts0)
Sets the regularization on the STO.
RiccatiRecursion()
Default constructor.
RiccatiRecursion(RiccatiRecursion &&) noexcept=default
Default move constructor.
void forwardRiccatiRecursion(const TimeDiscretization &time_discretization, const KKTMatrix &kkt_matrix, const KKTResidual &kkt_residual, const RiccatiFactorization &factorization, Direction &d) const
Performs the backward Riccati recursion.
~RiccatiRecursion()=default
Destructor.
RiccatiRecursion(const RiccatiRecursion &)=default
Default copy constructor.
RiccatiRecursion(const OCP &ocp, const double max_dts0=0.1)
Construct a Riccati recursion solver.
void backwardRiccatiRecursion(const TimeDiscretization &time_discretization, KKTMatrix &kkt_matrix, KKTResidual &kkt_residual, RiccatiFactorization &factorization)
Performs the backward Riccati recursion.
RiccatiRecursion & operator=(const RiccatiRecursion &)=default
Default copy operator.
void resizeData(const TimeDiscretization &time_discretization)
Resizes the internal data.
The state feedback and feedforward policy of the switching time optimization (STO).
Definition: sto_policy.hpp:16
Riccati factorization matrix and vector for a time stage.
Definition: split_riccati_factorization.hpp:15
Time discretization of the optimal control problem.
Definition: time_discretization.hpp:20
Definition: constraint_component_base.hpp:17
aligned_vector< SplitKKTMatrix > KKTMatrix
The KKT matrix of the optimal control problem.
Definition: kkt_matrix.hpp:16
aligned_vector< SplitDirection > Direction
Newton direction of the solution to the optimal control problem.
Definition: direction.hpp:16
std::vector< T, Eigen::aligned_allocator< T > > aligned_vector
std vector with Eigen::aligned_allocator.
Definition: aligned_vector.hpp:14
aligned_vector< SplitKKTResidual > KKTResidual
The KKT residual of the optimal control problem.
Definition: kkt_residual.hpp:16
aligned_vector< SplitRiccatiFactorization > RiccatiFactorization
Riccati factorization matices of the LQR subproblem.
Definition: riccati_factorization.hpp:16
The optimal control problem.
Definition: ocp.hpp:22