robotoc
robotoc - efficient ROBOT Optimal Control solvers
Loading...
Searching...
No Matches
robotoc::UnconstrRiccatiFactorizer Class Reference

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...
 
UnconstrRiccatiFactorizeroperator= (const UnconstrRiccatiFactorizer &)=default
 Default copy operator. More...
 
 UnconstrRiccatiFactorizer (UnconstrRiccatiFactorizer &&) noexcept=default
 Default move constructor. More...
 
UnconstrRiccatiFactorizeroperator= (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...
 

Detailed Description

Riccati factorizer for a time stage.

Constructor & Destructor Documentation

◆ UnconstrRiccatiFactorizer() [1/4]

robotoc::UnconstrRiccatiFactorizer::UnconstrRiccatiFactorizer ( const Robot robot)

Constructs a factorizer.

Parameters
[in]robotRobot model.

◆ UnconstrRiccatiFactorizer() [2/4]

robotoc::UnconstrRiccatiFactorizer::UnconstrRiccatiFactorizer ( )

Default constructor.

◆ ~UnconstrRiccatiFactorizer()

robotoc::UnconstrRiccatiFactorizer::~UnconstrRiccatiFactorizer ( )

Destructor.

◆ UnconstrRiccatiFactorizer() [3/4]

robotoc::UnconstrRiccatiFactorizer::UnconstrRiccatiFactorizer ( const UnconstrRiccatiFactorizer )
default

Default copy constructor.

◆ UnconstrRiccatiFactorizer() [4/4]

robotoc::UnconstrRiccatiFactorizer::UnconstrRiccatiFactorizer ( UnconstrRiccatiFactorizer &&  )
defaultnoexcept

Default move constructor.

Member Function Documentation

◆ backwardRiccatiRecursion()

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.

Parameters
[in]riccati_nextRiccati factorization at the next time stage.
[in]dtTime step between the current time stage and the next
[in,out]kkt_matrixKKT matrix at the this time stage.
[in,out]kkt_residualKKT residual at the this time stage.
[out]riccatiRiccati factorization at the this time stage.
[out]lqr_policyThe state feedback control policy of the LQR subproblem.

◆ computeCostateDirection()

static void robotoc::UnconstrRiccatiFactorizer::computeCostateDirection ( const SplitRiccatiFactorization riccati,
SplitDirection d 
)
static

Computes the Newton direction of the costate vector.

Parameters
[in]riccatiRiccati factorization at the current stage.
[in,out]dSplit direction of the current this time stage.

◆ forwardRiccatiRecursion()

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.

Parameters
[in]kkt_residualKKT residual at the current time stage.
[in]dtTime step between the current time stage and the next
[in]lqr_policyThe state feedback control policy of the LQR subproblem.
[in,out]dSplit direction at the current time stage.
[out]d_nextSplit direction at the next time stage.

◆ operator=() [1/2]

UnconstrRiccatiFactorizer & robotoc::UnconstrRiccatiFactorizer::operator= ( const UnconstrRiccatiFactorizer )
default

Default copy operator.

◆ operator=() [2/2]

UnconstrRiccatiFactorizer & robotoc::UnconstrRiccatiFactorizer::operator= ( UnconstrRiccatiFactorizer &&  )
defaultnoexcept

Default move assign operator.


The documentation for this class was generated from the following file: