robotoc
robotoc - efficient ROBOT Optimal Control solvers
|
Riccati factorizer for a time stage. More...
#include <unconstr_riccati_factorizer.hpp>
Public Member Functions | |
UnconstrRiccatiFactorizer (const Robot &robot) | |
Constructs a factorizer. More... | |
UnconstrRiccatiFactorizer () | |
Default constructor. More... | |
~UnconstrRiccatiFactorizer () | |
Destructor. More... | |
UnconstrRiccatiFactorizer (const UnconstrRiccatiFactorizer &)=default | |
Default copy constructor. More... | |
UnconstrRiccatiFactorizer & | operator= (const UnconstrRiccatiFactorizer &)=default |
Default copy operator. More... | |
UnconstrRiccatiFactorizer (UnconstrRiccatiFactorizer &&) noexcept=default | |
Default move constructor. More... | |
UnconstrRiccatiFactorizer & | operator= (UnconstrRiccatiFactorizer &&) noexcept=default |
Default move assign operator. More... | |
void | backwardRiccatiRecursion (const SplitRiccatiFactorization &riccati_next, const double dt, SplitKKTMatrix &kkt_matrix, SplitKKTResidual &kkt_residual, SplitRiccatiFactorization &riccati, LQRPolicy &lqr_policy) |
Performs the backward Riccati recursion. More... | |
void | forwardRiccatiRecursion (const SplitKKTResidual &kkt_residual, const double dt, const LQRPolicy &lqr_policy, SplitDirection &d, SplitDirection &d_next) const |
Performs forward Riccati recursion and computes state direction. More... | |
Static Public Member Functions | |
static void | computeCostateDirection (const SplitRiccatiFactorization &riccati, SplitDirection &d) |
Computes the Newton direction of the costate vector. More... | |
Riccati factorizer for a time stage.
robotoc::UnconstrRiccatiFactorizer::UnconstrRiccatiFactorizer | ( | const Robot & | robot | ) |
Constructs a factorizer.
[in] | robot | Robot model. |
robotoc::UnconstrRiccatiFactorizer::UnconstrRiccatiFactorizer | ( | ) |
Default constructor.
robotoc::UnconstrRiccatiFactorizer::~UnconstrRiccatiFactorizer | ( | ) |
Destructor.
|
default |
Default copy constructor.
|
defaultnoexcept |
Default move constructor.
void robotoc::UnconstrRiccatiFactorizer::backwardRiccatiRecursion | ( | const SplitRiccatiFactorization & | riccati_next, |
const double | dt, | ||
SplitKKTMatrix & | kkt_matrix, | ||
SplitKKTResidual & | kkt_residual, | ||
SplitRiccatiFactorization & | riccati, | ||
LQRPolicy & | lqr_policy | ||
) |
Performs the backward Riccati recursion.
[in] | riccati_next | Riccati factorization at the next time stage. |
[in] | dt | Time step between the current time stage and the next |
[in,out] | kkt_matrix | KKT matrix at the this time stage. |
[in,out] | kkt_residual | KKT residual at the this time stage. |
[out] | riccati | Riccati factorization at the this time stage. |
[out] | lqr_policy | The state feedback control policy of the LQR subproblem. |
|
static |
Computes the Newton direction of the costate vector.
[in] | riccati | Riccati factorization at the current stage. |
[in,out] | d | Split direction of the current this time stage. |
void robotoc::UnconstrRiccatiFactorizer::forwardRiccatiRecursion | ( | const SplitKKTResidual & | kkt_residual, |
const double | dt, | ||
const LQRPolicy & | lqr_policy, | ||
SplitDirection & | d, | ||
SplitDirection & | d_next | ||
) | const |
Performs forward Riccati recursion and computes state direction.
[in] | kkt_residual | KKT residual at the current time stage. |
[in] | dt | Time step between the current time stage and the next |
[in] | lqr_policy | The state feedback control policy of the LQR subproblem. |
[in,out] | d | Split direction at the current time stage. |
[out] | d_next | Split direction at the next time stage. |
|
default |
Default copy operator.
|
defaultnoexcept |
Default move assign operator.