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

Riccati factorization matrix and vector for a time stage. More...

#include <split_riccati_factorization.hpp>

Public Member Functions

 SplitRiccatiFactorization (const Robot &robot)
 Constructs Riccati factorization matrix and vector. More...
 
 SplitRiccatiFactorization ()
 Default constructor. More...
 
 ~SplitRiccatiFactorization ()
 Destructor. More...
 
 SplitRiccatiFactorization (const SplitRiccatiFactorization &)=default
 Default copy constructor. More...
 
SplitRiccatiFactorizationoperator= (const SplitRiccatiFactorization &)=default
 Default copy operator. More...
 
 SplitRiccatiFactorization (SplitRiccatiFactorization &&) noexcept=default
 Default move constructor. More...
 
SplitRiccatiFactorizationoperator= (SplitRiccatiFactorization &&) noexcept=default
 Default move assign operator. More...
 
Eigen::Block< Eigen::MatrixXd > Pqq ()
 
const Eigen::Block< const Eigen::MatrixXd > Pqq () const
 
Eigen::Block< Eigen::MatrixXd > Pqv ()
 
const Eigen::Block< const Eigen::MatrixXd > Pqv () const
 
Eigen::Block< Eigen::MatrixXd > Pvq ()
 
const Eigen::Block< const Eigen::MatrixXd > Pvq () const
 
Eigen::Block< Eigen::MatrixXd > Pvv ()
 
const Eigen::Block< const Eigen::MatrixXd > Pvv () const
 
Eigen::VectorBlock< Eigen::VectorXd > sq ()
 
const Eigen::VectorBlock< const Eigen::VectorXd > sq () const
 
Eigen::VectorBlock< Eigen::VectorXd > sv ()
 
const Eigen::VectorBlock< const Eigen::VectorXd > sv () const
 
void setConstraintDimension (const int dims=0)
 
int dims () const
 
Eigen::Block< Eigen::MatrixXd > M ()
 
const Eigen::Block< const Eigen::MatrixXd > M () const
 
Eigen::VectorBlock< Eigen::VectorXd > m ()
 
const Eigen::VectorBlock< const Eigen::VectorXd > m () const
 
Eigen::VectorBlock< Eigen::VectorXd > mt ()
 
const Eigen::VectorBlock< const Eigen::VectorXd > mt () const
 
Eigen::VectorBlock< Eigen::VectorXd > mt_next ()
 
const Eigen::VectorBlock< const Eigen::VectorXd > mt_next () const
 
void setZero ()
 
void setRandom ()
 
bool isApprox (const SplitRiccatiFactorization &other) const
 Checks the equivalence of two SplitRiccatiFactorization. More...
 
bool hasNaN () const
 Checks this object has at least one NaN. More...
 
void disp (std::ostream &os) const
 Displays the split Riccati factorization onto a ostream. More...
 

Static Public Member Functions

static SplitRiccatiFactorization Random (const Robot &robot)
 

Public Attributes

Eigen::MatrixXd P
 Riccati factorization matrix. Size is 2 * Robot::dimv() x 2 * Robot::dimv(). More...
 
Eigen::VectorXd s
 Riccati factorization vector. Size is 2 * Robot::dimv(). More...
 
Eigen::VectorXd psi_x
 Riccati factorization vector w.r.t. the switching time. Size is 2 * Robot::dimv(). More...
 
Eigen::VectorXd psi_u
 Riccati factorization vector w.r.t. the switching time. Size is Robot::dimu(). More...
 
Eigen::VectorXd Psi
 Riccati factorization vector w.r.t. the switching time. Size is 2 * Robot::dimv(). More...
 
Eigen::VectorXd phi_x
 Riccati factorization vector w.r.t. the switching time. Size is 2 * Robot::dimv(). More...
 
Eigen::VectorXd phi_u
 Riccati factorization vector w.r.t. the switching time. Size is Robot::dimu(). More...
 
Eigen::VectorXd Phi
 Riccati factorization vector w.r.t. the switching time. Size is 2 * Robot::dimv(). More...
 
double xi
 Riccati factorization w.r.t. the switching time. More...
 
double chi
 Riccati factorization w.r.t. the switching time. More...
 
double rho
 Riccati factorization w.r.t. the switching time. More...
 
double eta
 Riccati factorization w.r.t. the switching time. More...
 
double iota
 Riccati factorization w.r.t. the switching time. More...
 

Friends

std::ostream & operator<< (std::ostream &os, const SplitRiccatiFactorization &riccati)
 

Detailed Description

Riccati factorization matrix and vector for a time stage.

Constructor & Destructor Documentation

◆ SplitRiccatiFactorization() [1/4]

robotoc::SplitRiccatiFactorization::SplitRiccatiFactorization ( const Robot robot)
inline

Constructs Riccati factorization matrix and vector.

Parameters
[in]robotRobot model.

◆ SplitRiccatiFactorization() [2/4]

robotoc::SplitRiccatiFactorization::SplitRiccatiFactorization ( )
inline

Default constructor.

◆ ~SplitRiccatiFactorization()

robotoc::SplitRiccatiFactorization::~SplitRiccatiFactorization ( )
inline

Destructor.

◆ SplitRiccatiFactorization() [3/4]

robotoc::SplitRiccatiFactorization::SplitRiccatiFactorization ( const SplitRiccatiFactorization )
default

Default copy constructor.

◆ SplitRiccatiFactorization() [4/4]

robotoc::SplitRiccatiFactorization::SplitRiccatiFactorization ( SplitRiccatiFactorization &&  )
defaultnoexcept

Default move constructor.

Member Function Documentation

◆ dims()

int robotoc::SplitRiccatiFactorization::dims ( ) const
inline

◆ disp()

void robotoc::SplitRiccatiFactorization::disp ( std::ostream &  os) const

Displays the split Riccati factorization onto a ostream.

◆ hasNaN()

bool robotoc::SplitRiccatiFactorization::hasNaN ( ) const
inline

Checks this object has at least one NaN.

Returns
true if this has at least one NaN. false otherwise.

◆ isApprox()

bool robotoc::SplitRiccatiFactorization::isApprox ( const SplitRiccatiFactorization other) const
inline

Checks the equivalence of two SplitRiccatiFactorization.

Parameters
[in]otherobject.
Returns
true if this and other is same. false otherwise.

◆ M() [1/2]

Eigen::Block< Eigen::MatrixXd > robotoc::SplitRiccatiFactorization::M ( )
inline

◆ m() [1/2]

Eigen::VectorBlock< Eigen::VectorXd > robotoc::SplitRiccatiFactorization::m ( )
inline

◆ M() [2/2]

const Eigen::Block< const Eigen::MatrixXd > robotoc::SplitRiccatiFactorization::M ( ) const
inline

◆ m() [2/2]

const Eigen::VectorBlock< const Eigen::VectorXd > robotoc::SplitRiccatiFactorization::m ( ) const
inline

◆ mt() [1/2]

Eigen::VectorBlock< Eigen::VectorXd > robotoc::SplitRiccatiFactorization::mt ( )
inline

◆ mt() [2/2]

const Eigen::VectorBlock< const Eigen::VectorXd > robotoc::SplitRiccatiFactorization::mt ( ) const
inline

◆ mt_next() [1/2]

Eigen::VectorBlock< Eigen::VectorXd > robotoc::SplitRiccatiFactorization::mt_next ( )
inline

◆ mt_next() [2/2]

const Eigen::VectorBlock< const Eigen::VectorXd > robotoc::SplitRiccatiFactorization::mt_next ( ) const
inline

◆ operator=() [1/2]

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

Default copy operator.

◆ operator=() [2/2]

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

Default move assign operator.

◆ Pqq() [1/2]

Eigen::Block< Eigen::MatrixXd > robotoc::SplitRiccatiFactorization::Pqq ( )
inline

◆ Pqq() [2/2]

const Eigen::Block< const Eigen::MatrixXd > robotoc::SplitRiccatiFactorization::Pqq ( ) const
inline

◆ Pqv() [1/2]

Eigen::Block< Eigen::MatrixXd > robotoc::SplitRiccatiFactorization::Pqv ( )
inline

◆ Pqv() [2/2]

const Eigen::Block< const Eigen::MatrixXd > robotoc::SplitRiccatiFactorization::Pqv ( ) const
inline

◆ Pvq() [1/2]

Eigen::Block< Eigen::MatrixXd > robotoc::SplitRiccatiFactorization::Pvq ( )
inline

◆ Pvq() [2/2]

const Eigen::Block< const Eigen::MatrixXd > robotoc::SplitRiccatiFactorization::Pvq ( ) const
inline

◆ Pvv() [1/2]

Eigen::Block< Eigen::MatrixXd > robotoc::SplitRiccatiFactorization::Pvv ( )
inline

◆ Pvv() [2/2]

const Eigen::Block< const Eigen::MatrixXd > robotoc::SplitRiccatiFactorization::Pvv ( ) const
inline

◆ Random()

SplitRiccatiFactorization robotoc::SplitRiccatiFactorization::Random ( const Robot robot)
inlinestatic

◆ setConstraintDimension()

void robotoc::SplitRiccatiFactorization::setConstraintDimension ( const int  dims = 0)
inline

◆ setRandom()

void robotoc::SplitRiccatiFactorization::setRandom ( )
inline

◆ setZero()

void robotoc::SplitRiccatiFactorization::setZero ( )
inline

◆ sq() [1/2]

Eigen::VectorBlock< Eigen::VectorXd > robotoc::SplitRiccatiFactorization::sq ( )
inline

◆ sq() [2/2]

const Eigen::VectorBlock< const Eigen::VectorXd > robotoc::SplitRiccatiFactorization::sq ( ) const
inline

◆ sv() [1/2]

Eigen::VectorBlock< Eigen::VectorXd > robotoc::SplitRiccatiFactorization::sv ( )
inline

◆ sv() [2/2]

const Eigen::VectorBlock< const Eigen::VectorXd > robotoc::SplitRiccatiFactorization::sv ( ) const
inline

Friends And Related Function Documentation

◆ operator<<

std::ostream & operator<< ( std::ostream &  os,
const SplitRiccatiFactorization riccati 
)
friend

Member Data Documentation

◆ chi

double robotoc::SplitRiccatiFactorization::chi

Riccati factorization w.r.t. the switching time.

◆ eta

double robotoc::SplitRiccatiFactorization::eta

Riccati factorization w.r.t. the switching time.

◆ iota

double robotoc::SplitRiccatiFactorization::iota

Riccati factorization w.r.t. the switching time.

◆ P

Eigen::MatrixXd robotoc::SplitRiccatiFactorization::P

Riccati factorization matrix. Size is 2 * Robot::dimv() x 2 * Robot::dimv().

◆ Phi

Eigen::VectorXd robotoc::SplitRiccatiFactorization::Phi

Riccati factorization vector w.r.t. the switching time. Size is 2 * Robot::dimv().

◆ phi_u

Eigen::VectorXd robotoc::SplitRiccatiFactorization::phi_u

Riccati factorization vector w.r.t. the switching time. Size is Robot::dimu().

◆ phi_x

Eigen::VectorXd robotoc::SplitRiccatiFactorization::phi_x

Riccati factorization vector w.r.t. the switching time. Size is 2 * Robot::dimv().

◆ Psi

Eigen::VectorXd robotoc::SplitRiccatiFactorization::Psi

Riccati factorization vector w.r.t. the switching time. Size is 2 * Robot::dimv().

◆ psi_u

Eigen::VectorXd robotoc::SplitRiccatiFactorization::psi_u

Riccati factorization vector w.r.t. the switching time. Size is Robot::dimu().

◆ psi_x

Eigen::VectorXd robotoc::SplitRiccatiFactorization::psi_x

Riccati factorization vector w.r.t. the switching time. Size is 2 * Robot::dimv().

◆ rho

double robotoc::SplitRiccatiFactorization::rho

Riccati factorization w.r.t. the switching time.

◆ s

Eigen::VectorXd robotoc::SplitRiccatiFactorization::s

Riccati factorization vector. Size is 2 * Robot::dimv().

◆ xi

double robotoc::SplitRiccatiFactorization::xi

Riccati factorization w.r.t. the switching time.


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