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

The state feedback and feedforward policy of LQR subproblem at a time stage. More...

#include <lqr_policy.hpp>

Public Types

using MatrixXdRowMajor = Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor >
 

Public Member Functions

 LQRPolicy (const Robot &robot)
 Constructs LQR gain and feedforward term. More...
 
 LQRPolicy ()
 Default constructor. More...
 
 ~LQRPolicy ()
 Destructor. More...
 
 LQRPolicy (const LQRPolicy &)=default
 Default copy constructor. More...
 
LQRPolicyoperator= (const LQRPolicy &)=default
 Default copy operator. More...
 
 LQRPolicy (LQRPolicy &&) noexcept=default
 Default move constructor. More...
 
LQRPolicyoperator= (LQRPolicy &&) noexcept=default
 Default move assign operator. More...
 
const Eigen::Block< const MatrixXdRowMajorKq () const
 State feedback gain matrix w.r.t. the configuration q. Size is Robot::dimu() x Robot::dimv(). More...
 
const Eigen::Block< const MatrixXdRowMajorKv () const
 State feedback gain matrix w.r.t. the velocity v. Size is Robot::dimu() x Robot::dimv(). More...
 
bool isApprox (const LQRPolicy &other) const
 Checks the equivalence of two LQRPolicy. More...
 

Public Attributes

MatrixXdRowMajor K
 State feedback gain matrix. Size is Robot::dimu() x 2 * Robot::dimv(). More...
 
Eigen::VectorXd k
 Feedforward term. Size is Robot::dimu(). More...
 
Eigen::VectorXd T
 Feedback gain w.r.t the switching time. Size is Robot::dimu(). More...
 
Eigen::VectorXd W
 Feedback gain w.r.t the next switching time. Size is Robot::dimu(). More...
 

Detailed Description

The state feedback and feedforward policy of LQR subproblem at a time stage.

Member Typedef Documentation

◆ MatrixXdRowMajor

using robotoc::LQRPolicy::MatrixXdRowMajor = Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor>

Constructor & Destructor Documentation

◆ LQRPolicy() [1/4]

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

Constructs LQR gain and feedforward term.

Parameters
[in]robotRobot model.

◆ LQRPolicy() [2/4]

robotoc::LQRPolicy::LQRPolicy ( )
inline

Default constructor.

◆ ~LQRPolicy()

robotoc::LQRPolicy::~LQRPolicy ( )
inline

Destructor.

◆ LQRPolicy() [3/4]

robotoc::LQRPolicy::LQRPolicy ( const LQRPolicy )
default

Default copy constructor.

◆ LQRPolicy() [4/4]

robotoc::LQRPolicy::LQRPolicy ( LQRPolicy &&  )
defaultnoexcept

Default move constructor.

Member Function Documentation

◆ isApprox()

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

Checks the equivalence of two LQRPolicy.

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

◆ Kq()

const Eigen::Block< const MatrixXdRowMajor > robotoc::LQRPolicy::Kq ( ) const
inline

State feedback gain matrix w.r.t. the configuration q. Size is Robot::dimu() x Robot::dimv().

Returns
const reference to the gain matrix.

◆ Kv()

const Eigen::Block< const MatrixXdRowMajor > robotoc::LQRPolicy::Kv ( ) const
inline

State feedback gain matrix w.r.t. the velocity v. Size is Robot::dimu() x Robot::dimv().

Returns
const reference to the gain matrix.

◆ operator=() [1/2]

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

Default copy operator.

◆ operator=() [2/2]

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

Default move assign operator.

Member Data Documentation

◆ K

MatrixXdRowMajor robotoc::LQRPolicy::K

State feedback gain matrix. Size is Robot::dimu() x 2 * Robot::dimv().

◆ k

Eigen::VectorXd robotoc::LQRPolicy::k

Feedforward term. Size is Robot::dimu().

◆ T

Eigen::VectorXd robotoc::LQRPolicy::T

Feedback gain w.r.t the switching time. Size is Robot::dimu().

◆ W

Eigen::VectorXd robotoc::LQRPolicy::W

Feedback gain w.r.t the next switching time. Size is Robot::dimu().


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