|
robotoc
robotoc - efficient ROBOT Optimal Control solvers
|
Factorizer of the backward Riccati recursion. More...
#include <backward_riccati_recursion_factorizer.hpp>
Public Types | |
| using | MatrixXdRowMajor = Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > |
Public Member Functions | |
| BackwardRiccatiRecursionFactorizer (const Robot &robot) | |
| Constructs a factorizer. More... | |
| BackwardRiccatiRecursionFactorizer () | |
| Default constructor. More... | |
| ~BackwardRiccatiRecursionFactorizer () | |
| Destructor. More... | |
| BackwardRiccatiRecursionFactorizer (const BackwardRiccatiRecursionFactorizer &)=default | |
| Default copy constructor. More... | |
| BackwardRiccatiRecursionFactorizer & | operator= (const BackwardRiccatiRecursionFactorizer &)=default |
| Default copy operator. More... | |
| BackwardRiccatiRecursionFactorizer (BackwardRiccatiRecursionFactorizer &&) noexcept=default | |
| Default move constructor. More... | |
| BackwardRiccatiRecursionFactorizer & | operator= (BackwardRiccatiRecursionFactorizer &&) noexcept=default |
| Default move assign operator. More... | |
| void | factorizeKKTMatrix (const SplitRiccatiFactorization &riccati_next, SplitKKTMatrix &kkt_matrix, SplitKKTResidual &kkt_residual) |
| Factorizes the split KKT matrix and split KKT residual of a time stage for the backward Riccati recursion. More... | |
| void | factorizeHamiltonian (const SplitRiccatiFactorization &riccati_next, const SplitKKTMatrix &kkt_matrix, SplitRiccatiFactorization &riccati, const bool has_next_sto_phase) const |
| Factorizes the derivatives of the Hamiltonian of a time stage for the backward Riccati recursion. More... | |
| void | factorizeKKTMatrix (const SplitRiccatiFactorization &riccati_next, SplitKKTMatrix &kkt_matrix) |
| Factorizes the split KKT matrix and split KKT residual of this impact stage for the backward Riccati recursion. More... | |
| void | factorizeRiccatiFactorization (const SplitRiccatiFactorization &riccati_next, SplitKKTMatrix &kkt_matrix, const SplitKKTResidual &kkt_residual, const LQRPolicy &lqr_policy, SplitRiccatiFactorization &riccati) |
| Factorizes the Riccati factorization matrix and vector. More... | |
| void | factorizeSTOFactorization (const SplitRiccatiFactorization &riccati_next, const SplitKKTMatrix &kkt_matrix, const SplitKKTResidual &kkt_residual, const LQRPolicy &lqr_policy, SplitRiccatiFactorization &riccati, const bool has_next_sto_phase) |
| Factorizes the STO factorization vector and scalars. More... | |
| void | factorizeRiccatiFactorization (const SplitRiccatiFactorization &riccati_next, const SplitKKTMatrix &kkt_matrix, const SplitKKTResidual &kkt_residual, SplitRiccatiFactorization &riccati) |
| Factorizes the Riccati factorization matrix and vector. More... | |
| void | factorizeSTOFactorization (const SplitRiccatiFactorization &riccati_next, const SplitKKTMatrix &kkt_matrix, const SplitKKTResidual &kkt_residual, SplitRiccatiFactorization &riccati) |
| Factorizes the STO factorization vector and scalars. More... | |
Factorizer of the backward Riccati recursion.
| using robotoc::BackwardRiccatiRecursionFactorizer::MatrixXdRowMajor = Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor> |
| robotoc::BackwardRiccatiRecursionFactorizer::BackwardRiccatiRecursionFactorizer | ( | const Robot & | robot | ) |
Constructs a factorizer.
| [in] | robot | Robot model. |
| robotoc::BackwardRiccatiRecursionFactorizer::BackwardRiccatiRecursionFactorizer | ( | ) |
Default constructor.
| robotoc::BackwardRiccatiRecursionFactorizer::~BackwardRiccatiRecursionFactorizer | ( | ) |
Destructor.
|
default |
Default copy constructor.
|
defaultnoexcept |
Default move constructor.
| void robotoc::BackwardRiccatiRecursionFactorizer::factorizeHamiltonian | ( | const SplitRiccatiFactorization & | riccati_next, |
| const SplitKKTMatrix & | kkt_matrix, | ||
| SplitRiccatiFactorization & | riccati, | ||
| const bool | has_next_sto_phase | ||
| ) | const |
Factorizes the derivatives of the Hamiltonian of a time stage for the backward Riccati recursion.
| [in] | riccati_next | Riccati factorization of the next time stage. |
| [in] | kkt_matrix | Split KKT matrix of this time stage. |
| [in,out] | riccati | Riccati factorization of time time stage. |
| [in] | has_next_sto_phase | Flag for wheather this phase has the next phase involving the STO problem. |
| void robotoc::BackwardRiccatiRecursionFactorizer::factorizeKKTMatrix | ( | const SplitRiccatiFactorization & | riccati_next, |
| SplitKKTMatrix & | kkt_matrix | ||
| ) |
Factorizes the split KKT matrix and split KKT residual of this impact stage for the backward Riccati recursion.
| [in] | riccati_next | Riccati factorization of the next time stage. |
| [in,out] | kkt_matrix | Split KKT matrix of this impact stage. |
| void robotoc::BackwardRiccatiRecursionFactorizer::factorizeKKTMatrix | ( | const SplitRiccatiFactorization & | riccati_next, |
| SplitKKTMatrix & | kkt_matrix, | ||
| SplitKKTResidual & | kkt_residual | ||
| ) |
Factorizes the split KKT matrix and split KKT residual of a time stage for the backward Riccati recursion.
| [in] | riccati_next | Riccati factorization of the next time stage. |
| [in,out] | kkt_matrix | Split KKT matrix of this time stage. |
| [in,out] | kkt_residual | Split KKT residual of this time stage. |
| void robotoc::BackwardRiccatiRecursionFactorizer::factorizeRiccatiFactorization | ( | const SplitRiccatiFactorization & | riccati_next, |
| const SplitKKTMatrix & | kkt_matrix, | ||
| const SplitKKTResidual & | kkt_residual, | ||
| SplitRiccatiFactorization & | riccati | ||
| ) |
Factorizes the Riccati factorization matrix and vector.
| [in] | riccati_next | Riccati factorization of the next time stage. |
| [in] | kkt_matrix | Split KKT matrix of this impact stage. |
| [in] | kkt_residual | Split KKT residual of this impact stage. ImpactBackwardRiccatiRecursionFactorizer::factorizeKKTMatrix(). |
| [out] | riccati | The Riccati factorization of this impact stage. |
| void robotoc::BackwardRiccatiRecursionFactorizer::factorizeRiccatiFactorization | ( | const SplitRiccatiFactorization & | riccati_next, |
| SplitKKTMatrix & | kkt_matrix, | ||
| const SplitKKTResidual & | kkt_residual, | ||
| const LQRPolicy & | lqr_policy, | ||
| SplitRiccatiFactorization & | riccati | ||
| ) |
Factorizes the Riccati factorization matrix and vector.
| [in] | riccati_next | Riccati factorization of the next time stage. |
| [in,out] | kkt_matrix | Split KKT matrix of this time stage. |
| [in] | kkt_residual | Split KKT residual of this time stage. |
| [in] | lqr_policy | The state feedback control policy of the LQR subproblem. |
| [out] | riccati | The Riccati factorization of this time stage. |
| void robotoc::BackwardRiccatiRecursionFactorizer::factorizeSTOFactorization | ( | const SplitRiccatiFactorization & | riccati_next, |
| const SplitKKTMatrix & | kkt_matrix, | ||
| const SplitKKTResidual & | kkt_residual, | ||
| const LQRPolicy & | lqr_policy, | ||
| SplitRiccatiFactorization & | riccati, | ||
| const bool | has_next_sto_phase | ||
| ) |
Factorizes the STO factorization vector and scalars.
| [in] | riccati_next | Riccati factorization of the next time stage. |
| [in] | kkt_matrix | Split KKT matrix of this time stage. |
| [in] | kkt_residual | Split KKT residual of this time stage. |
| [in] | lqr_policy | The state feedback control policy of the LQR subproblem. |
| [in,out] | riccati | The Riccati factorization of this time stage. |
| [in] | has_next_sto_phase | Flag for wheather this phase has the next phase involving the STO problem. |
| void robotoc::BackwardRiccatiRecursionFactorizer::factorizeSTOFactorization | ( | const SplitRiccatiFactorization & | riccati_next, |
| const SplitKKTMatrix & | kkt_matrix, | ||
| const SplitKKTResidual & | kkt_residual, | ||
| SplitRiccatiFactorization & | riccati | ||
| ) |
Factorizes the STO factorization vector and scalars.
| [in] | riccati_next | Riccati factorization of the next time stage. |
| [in] | kkt_matrix | Split KKT matrix of this time stage. |
| [in] | kkt_residual | Split KKT residual of this time stage. |
| [in,out] | riccati | The Riccati factorization of this time stage. |
|
defaultnoexcept |
Default move assign operator.
|
default |
Default copy operator.