- 3.0.2 optimal control module.
|
Continuous-Time Algebraic Riccati Equation. More...
#include <CARE.hpp>
Public Types | |
typedef Eigen::Matrix< double, CONTROL_DIM, CONTROL_DIM > | control_matrix_t |
typedef Eigen::Matrix< double, CONTROL_DIM, STATE_DIM > | control_state_matrix_t |
typedef Eigen::Matrix< double, STATE_DIM, CONTROL_DIM > | control_gain_matrix_t |
typedef Eigen::Matrix< double, CONTROL_DIM, STATE_DIM > | control_feedback_t |
typedef Eigen::Matrix< double, 2 *STATE_DIM, 2 *STATE_DIM > | schur_matrix_t |
typedef Eigen::Matrix< double, 2 *STATE_DIM, STATE_DIM > | factor_matrix_t |
Public Member Functions | |
CARE () | |
bool | solve (const state_matrix_t &Q, const control_matrix_t &R, const state_matrix_t &A, const control_gain_matrix_t &B, state_matrix_t &P, bool RisDiagonal, control_matrix_t &R_inverse, bool useIterativeSolver=false) |
state_matrix_t | computeSteadyStateRiccatiMatrix (const state_matrix_t &Q, const control_matrix_t &R, const state_matrix_t &A, const control_gain_matrix_t &B, const bool RisDiagonal=false, const bool useIterativeSolver=false) |
Public Attributes | |
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef Eigen::Matrix< double, STATE_DIM, STATE_DIM > | state_matrix_t |
Continuous-Time Algebraic Riccati Equation.
solves the continuous-time Infinite-Horizon Algebraic Riccati Equation
STATE_DIM | system state dimension |
CONTROL_DIM | system control input dimension |
typedef Eigen::Matrix<double, CONTROL_DIM, CONTROL_DIM> ct::optcon::CARE< STATE_DIM, CONTROL_DIM >::control_matrix_t |
typedef Eigen::Matrix<double, CONTROL_DIM, STATE_DIM> ct::optcon::CARE< STATE_DIM, CONTROL_DIM >::control_state_matrix_t |
typedef Eigen::Matrix<double, STATE_DIM, CONTROL_DIM> ct::optcon::CARE< STATE_DIM, CONTROL_DIM >::control_gain_matrix_t |
typedef Eigen::Matrix<double, CONTROL_DIM, STATE_DIM> ct::optcon::CARE< STATE_DIM, CONTROL_DIM >::control_feedback_t |
typedef Eigen::Matrix<double, 2 * STATE_DIM, 2 * STATE_DIM> ct::optcon::CARE< STATE_DIM, CONTROL_DIM >::schur_matrix_t |
typedef Eigen::Matrix<double, 2 * STATE_DIM, STATE_DIM> ct::optcon::CARE< STATE_DIM, CONTROL_DIM >::factor_matrix_t |
ct::optcon::CARE< STATE_DIM, CONTROL_DIM >::CARE | ( | ) |
References WR.
bool ct::optcon::CARE< STATE_DIM, CONTROL_DIM >::solve | ( | const state_matrix_t & | Q, |
const control_matrix_t & | R, | ||
const state_matrix_t & | A, | ||
const control_gain_matrix_t & | B, | ||
state_matrix_t & | P, | ||
bool | RisDiagonal, | ||
control_matrix_t & | R_inverse, | ||
bool | useIterativeSolver = false |
||
) |
CARE< STATE_DIM, CONTROL_DIM >::state_matrix_t ct::optcon::CARE< STATE_DIM, CONTROL_DIM >::computeSteadyStateRiccatiMatrix | ( | const state_matrix_t & | Q, |
const control_matrix_t & | R, | ||
const state_matrix_t & | A, | ||
const control_gain_matrix_t & | B, | ||
const bool | RisDiagonal = false , |
||
const bool | useIterativeSolver = false |
||
) |
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef Eigen::Matrix<double, STATE_DIM, STATE_DIM> ct::optcon::CARE< STATE_DIM, CONTROL_DIM >::state_matrix_t |