CARE class
#include <BipedalLocomotion/Math/CARE.h>
Computes the unique stabilizing solution S to the continuous-time algebraic equation.
Constructors, destructors, conversion operators
Public functions
-
auto initialize(std::weak_ptr<ParametersHandler::
IParametersHandler> handler) -> bool - Initialize the continuous algebraic riccati equation solver.
- auto setMatrices(Eigen::Ref<const Eigen::MatrixXd> A, Eigen::Ref<const Eigen::MatrixXd> B, Eigen::Ref<const Eigen::MatrixXd> Q, Eigen::Ref<const Eigen::MatrixXd> R) -> bool
- Initialize the matrices.
- auto solve() -> bool
- Run the algorithm to compute the unique stabilizing solution of the continuous algebriac Riccati equation.
- auto getSolution() const -> Eigen::Ref<const Eigen::MatrixXd>
- Get the solution.
Function documentation
bool BipedalLocomotion:: Math:: CARE:: initialize(std::weak_ptr<ParametersHandler:: IParametersHandler> handler)
Initialize the continuous algebraic riccati equation solver.
| Parameters | |
|---|---|
| handler | pointer to the parameter handler. |
| Returns | true in case of success/false otherwise. |
bool BipedalLocomotion:: Math:: CARE:: setMatrices(Eigen::Ref<const Eigen::MatrixXd> A,
Eigen::Ref<const Eigen::MatrixXd> B,
Eigen::Ref<const Eigen::MatrixXd> Q,
Eigen::Ref<const Eigen::MatrixXd> R)
Initialize the matrices.
| Parameters | |
|---|---|
| A | n x n square matrix |
| B | n x m matrix |
| Q | n x n symmetric-square matrix |
| R | m x m square positive definite matrix |
| Returns | True in case of success and false otherwise. |
bool BipedalLocomotion:: Math:: CARE:: solve()
Run the algorithm to compute the unique stabilizing solution of the continuous algebriac Riccati equation.
| Returns | True in case of success and false otherwise. |
|---|
Eigen::Ref<const Eigen::MatrixXd> BipedalLocomotion:: Math:: CARE:: getSolution() const
Get the solution.
| Returns | the solution |
|---|