- 3.0.2 optimal control module.
DARE.hpp
Go to the documentation of this file.
1 /**********************************************************************************************************************
2 This file is part of the Control Toolbox (https://github.com/ethz-adrl/control-toolbox), copyright by ETH Zurich.
3 Licensed under the BSD-2 license (see LICENSE file in main directory)
4  **********************************************************************************************************************/
5 
6 #pragma once
7 
9 
10 namespace ct {
11 namespace optcon {
12 
23 template <size_t STATE_DIM, size_t CONTROL_DIM, typename SCALAR = double>
24 class DARE
25 {
26 public:
27  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
28 
29  typedef Eigen::Matrix<SCALAR, STATE_DIM, STATE_DIM> state_matrix_t;
30  typedef Eigen::Matrix<SCALAR, CONTROL_DIM, CONTROL_DIM> control_matrix_t;
31  typedef Eigen::Matrix<SCALAR, CONTROL_DIM, STATE_DIM> control_state_matrix_t;
32  typedef Eigen::Matrix<SCALAR, STATE_DIM, CONTROL_DIM> control_gain_matrix_t;
33  typedef Eigen::Matrix<SCALAR, CONTROL_DIM, STATE_DIM> control_feedback_t;
34 
35  DARE();
36 
47  state_matrix_t computeSteadyStateRiccatiMatrix(const state_matrix_t& Q,
48  const control_matrix_t& R,
49  const state_matrix_t& A,
50  const control_gain_matrix_t& B,
51  control_feedback_t& K,
52  bool verbose = false,
53  const SCALAR eps = 1e-6,
54  size_t maxIter = 1000);
55 
67  state_matrix_t computeSteadyStateRiccatiMatrix(const state_matrix_t& Q,
68  const control_matrix_t& R,
69  const state_matrix_t& A,
70  const control_gain_matrix_t& B,
71  state_matrix_t P,
72  control_feedback_t& K,
73  bool verbose = false,
74  const SCALAR eps = 1e-6,
75  size_t maxIter = 1000);
76 
77 
78 private:
80 };
81 
82 } // namespace optcon
83 } // namespace ct
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef Eigen::Matrix< SCALAR, STATE_DIM, STATE_DIM > state_matrix_t
Definition: DARE.hpp:29
Eigen::Matrix< SCALAR, CONTROL_DIM, CONTROL_DIM > control_matrix_t
Definition: DARE.hpp:30
DARE()
Definition: DARE-impl.hpp:12
Eigen::Matrix< SCALAR, STATE_DIM, CONTROL_DIM > control_gain_matrix_t
Definition: DARE.hpp:32
CppAD::AD< CppAD::cg::CG< double > > SCALAR
Eigen::Matrix< SCALAR, CONTROL_DIM, STATE_DIM > control_feedback_t
Definition: DARE.hpp:33
Discrete-Time Algebraic Riccati Equation.
Definition: DARE.hpp:24
const bool verbose
Definition: ConstraintComparison.h:18
Eigen::Matrix< SCALAR, CONTROL_DIM, STATE_DIM > control_state_matrix_t
Definition: DARE.hpp:31
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, control_feedback_t &K, bool verbose=false, const SCALAR eps=1e-6, size_t maxIter=1000)
Definition: DARE-impl.hpp:18