2022-08-18 14:03:28 -07:00
|
|
|
|
From b208372a18b37f6cbc49dd45d15adf63c9b60755 Mon Sep 17 00:00:00 2001
|
2022-05-18 12:23:15 -07:00
|
|
|
|
From: Tyler Veness <calcmogul@gmail.com>
|
|
|
|
|
|
Date: Wed, 18 May 2022 11:15:27 -0700
|
|
|
|
|
|
Subject: [PATCH 2/2] Add WPILIB_DLLEXPORT to DARE function declarations
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
math/discrete_algebraic_riccati_equation.h | 3 +++
|
|
|
|
|
|
1 file changed, 3 insertions(+)
|
|
|
|
|
|
|
|
|
|
|
|
diff --git a/math/discrete_algebraic_riccati_equation.h b/math/discrete_algebraic_riccati_equation.h
|
2022-08-18 14:03:28 -07:00
|
|
|
|
index df7a58b..55b8442 100644
|
2022-05-18 12:23:15 -07:00
|
|
|
|
--- a/math/discrete_algebraic_riccati_equation.h
|
|
|
|
|
|
+++ b/math/discrete_algebraic_riccati_equation.h
|
2021-09-29 15:39:47 -07:00
|
|
|
|
@@ -4,6 +4,7 @@
|
|
|
|
|
|
#include <cstdlib>
|
|
|
|
|
|
|
|
|
|
|
|
#include <Eigen/Core>
|
|
|
|
|
|
+#include <wpi/SymbolExports.h>
|
|
|
|
|
|
|
|
|
|
|
|
namespace drake {
|
|
|
|
|
|
namespace math {
|
2021-11-16 14:37:29 -08:00
|
|
|
|
@@ -21,6 +22,7 @@ Based on the Schur Vector approach outlined in this paper:
|
|
|
|
|
|
"On the Numerical Solution of the Discrete-Time Algebraic Riccati Equation"
|
|
|
|
|
|
by Thrasyvoulos Pappas, Alan J. Laub, and Nils R. Sandell
|
|
|
|
|
|
*/
|
2021-09-29 15:39:47 -07:00
|
|
|
|
+WPILIB_DLLEXPORT
|
|
|
|
|
|
Eigen::MatrixXd DiscreteAlgebraicRiccatiEquation(
|
|
|
|
|
|
const Eigen::Ref<const Eigen::MatrixXd>& A,
|
|
|
|
|
|
const Eigen::Ref<const Eigen::MatrixXd>& B,
|
2021-11-16 14:37:29 -08:00
|
|
|
|
@@ -71,6 +73,7 @@ J = Σ [uₖ] [0 R][uₖ] ΔT
|
|
|
|
|
|
@throws std::runtime_error if Q − NR⁻¹Nᵀ is not positive semi-definite.
|
|
|
|
|
|
@throws std::runtime_error if R is not positive definite.
|
|
|
|
|
|
*/
|
2021-09-29 15:39:47 -07:00
|
|
|
|
+WPILIB_DLLEXPORT
|
|
|
|
|
|
Eigen::MatrixXd DiscreteAlgebraicRiccatiEquation(
|
|
|
|
|
|
const Eigen::Ref<const Eigen::MatrixXd>& A,
|
|
|
|
|
|
const Eigen::Ref<const Eigen::MatrixXd>& B,
|