WPILibC++ 2025.2.1
Loading...
Searching...
No Matches
DARE.h File Reference
#include <string_view>
#include <Eigen/Cholesky>
#include <Eigen/Core>
#include <Eigen/LU>
#include <wpi/expected>
#include "frc/StateSpaceUtil.h"

Go to the source code of this file.

Namespaces

namespace  frc
 
namespace  frc::detail
 

Enumerations

enum class  frc::DAREError {
  frc::QNotSymmetric , frc::QNotPositiveSemidefinite , frc::RNotSymmetric , frc::RNotPositiveDefinite ,
  frc::ABNotStabilizable , frc::ACNotDetectable
}
 Errors the DARE solver can encounter. More...
 

Functions

constexpr std::string_view frc::to_string (const DAREError &error)
 Converts the given DAREError enum to a string.
 
template<int States, int Inputs>
Eigen::Matrix< double, States, States > frc::detail::DARE (const Eigen::Matrix< double, States, States > &A, const Eigen::Matrix< double, States, Inputs > &B, const Eigen::Matrix< double, States, States > &Q, const Eigen::LLT< Eigen::Matrix< double, Inputs, Inputs > > &R_llt)
 Computes the unique stabilizing solution X to the discrete-time algebraic Riccati equation:
 
template<int States, int Inputs>
wpi::expected< Eigen::Matrix< double, States, States >, DAREErrorfrc::DARE (const Eigen::Matrix< double, States, States > &A, const Eigen::Matrix< double, States, Inputs > &B, const Eigen::Matrix< double, States, States > &Q, const Eigen::Matrix< double, Inputs, Inputs > &R, bool checkPreconditions=true)
 Computes the unique stabilizing solution X to the discrete-time algebraic Riccati equation:
 
template<int States, int Inputs>
wpi::expected< Eigen::Matrix< double, States, States >, DAREErrorfrc::DARE (const Eigen::Matrix< double, States, States > &A, const Eigen::Matrix< double, States, Inputs > &B, const Eigen::Matrix< double, States, States > &Q, const Eigen::Matrix< double, Inputs, Inputs > &R, const Eigen::Matrix< double, States, Inputs > &N, bool checkPreconditions=true)
 Computes the unique stabilizing solution X to the discrete-time algebraic Riccati equation: