1#ifndef ROBOTOC_RICCATI_FACTORIZER_HPP_  
    2#define ROBOTOC_RICCATI_FACTORIZER_HPP_ 
  107                                const 
bool has_next_sto_phase);
 
  120      const 
bool has_next_sto_phase) const;
 
  149  bool has_floating_base_;
 
  151  double max_dts0_, eps_;
 
  152  Eigen::LLT<Eigen::MatrixXd> llt_, llt_s_;
 
  176                             const 
bool has_next_sto_phase);
 
  200                                   const 
bool has_prev_sto_phase);
 
  212                             const 
bool has_next_sto_phase);
 
  234    const 
bool sto, const 
bool has_next_sto_phase);
 
Factorizer of the backward Riccati recursion.
Definition: backward_riccati_recursion_factorizer.hpp:19
 
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
 
RiccatiFactorizer(const RiccatiFactorizer &)=default
Default copy constructor.
 
RiccatiFactorizer()
Default constructor.
 
void backwardRiccatiRecursion(const SplitRiccatiFactorization &riccati_next, SplitKKTMatrix &kkt_matrix, SplitKKTResidual &kkt_residual, SplitRiccatiFactorization &riccati, LQRPolicy &lqr_policy)
Performs the backward Riccati recursion.
 
void setRegularization(const double max_dts0)
Sets the regularization on the STO.
 
RiccatiFactorizer & operator=(const RiccatiFactorizer &)=default
Default copy operator.
 
RiccatiFactorizer(RiccatiFactorizer &&) noexcept=default
Default move constructor.
 
void backwardRiccatiRecursionPhaseTransition(const SplitRiccatiFactorization &riccati, SplitRiccatiFactorization &riccati_m, STOPolicy &sto_policy, const bool has_next_sto_phase) const
Performs the backward Riccati recursion for the phase transition.
 
RiccatiFactorizer(const Robot &robot, const double max_dts0=0.1)
Constructs a factorizer.
 
~RiccatiFactorizer()
Destructor.
 
Dynamics and kinematics model of robots. Wraps pinocchio::Model and pinocchio::Data....
Definition: robot.hpp:32
 
The state feedback and feedforward policy of the switching time optimization (STO).
Definition: sto_policy.hpp:16
 
Riccati factorization matrix and vector for the switching constraint.
Definition: split_constrained_riccati_factorization.hpp:17
 
Newton direction of the solution to the optimal control problem split into a time stage.
Definition: split_direction.hpp:20
 
The KKT matrix split into a time stage.
Definition: split_kkt_matrix.hpp:18
 
KKT residual split into each time stage.
Definition: split_kkt_residual.hpp:18
 
Riccati factorization matrix and vector for a time stage.
Definition: split_riccati_factorization.hpp:15
 
Definition: constraint_component_base.hpp:17
 
void computeSwitchingTimeDirection(const STOPolicy &sto_policy, SplitDirection &d, const bool has_prev_sto_phase)
Computes the switching time direction.
 
void computeLagrangeMultiplierDirection(const SplitRiccatiFactorization &riccati, SplitDirection &d, const bool sto, const bool has_next_sto_phase)
Computes the Newton direction of the Lagrange multiplier with respect to the switching constraint.
 
void computeCostateDirection(const SplitRiccatiFactorization &riccati, SplitDirection &d, const bool sto, const bool has_next_sto_phase)
Computes the Newton direction of the costate.
 
void forwardRiccatiRecursion(const SplitKKTMatrix &kkt_matrix, const SplitKKTResidual &kkt_residual, const LQRPolicy &lqr_policy, SplitDirection &d, SplitDirection &d_next, const bool sto, const bool has_next_sto_phase)
Performs the forward Riccati recursion and computes the state direction.