[wpimath] Replace DiscretizeAQTaylor() with DiscretizeAQ() (#5344)

Until #5339 is fixed, we have to use the slower, more accurate version.
This commit is contained in:
Tyler Veness
2023-05-18 07:13:20 -07:00
committed by GitHub
parent c976f40364
commit eed1e6e3cb
6 changed files with 9 additions and 9 deletions

View File

@@ -36,7 +36,7 @@ ExtendedKalmanFilter<States, Inputs, Outputs>::ExtendedKalmanFilter(
StateMatrix discA;
StateMatrix discQ;
DiscretizeAQTaylor<States>(contA, m_contQ, dt, &discA, &discQ);
DiscretizeAQ<States>(contA, m_contQ, dt, &discA, &discQ);
Matrixd<Outputs, Outputs> discR = DiscretizeR<Outputs>(m_contR, dt);
@@ -71,7 +71,7 @@ ExtendedKalmanFilter<States, Inputs, Outputs>::ExtendedKalmanFilter(
StateMatrix discA;
StateMatrix discQ;
DiscretizeAQTaylor<States>(contA, m_contQ, dt, &discA, &discQ);
DiscretizeAQ<States>(contA, m_contQ, dt, &discA, &discQ);
Matrixd<Outputs, Outputs> discR = DiscretizeR<Outputs>(m_contR, dt);
@@ -93,7 +93,7 @@ void ExtendedKalmanFilter<States, Inputs, Outputs>::Predict(
// Find discrete A and Q
StateMatrix discA;
StateMatrix discQ;
DiscretizeAQTaylor<States>(contA, m_contQ, dt, &discA, &discQ);
DiscretizeAQ<States>(contA, m_contQ, dt, &discA, &discQ);
m_xHat = RK4(m_f, m_xHat, u, dt);

View File

@@ -31,7 +31,7 @@ KalmanFilter<States, Inputs, Outputs>::KalmanFilter(
Matrixd<States, States> discA;
Matrixd<States, States> discQ;
DiscretizeAQTaylor<States>(plant.A(), contQ, dt, &discA, &discQ);
DiscretizeAQ<States>(plant.A(), contQ, dt, &discA, &discQ);
auto discR = DiscretizeR<Outputs>(contR, dt);

View File

@@ -76,7 +76,7 @@ void UnscentedKalmanFilter<States, Inputs, Outputs>::Predict(
NumericalJacobianX<States, States, Inputs>(m_f, m_xHat, u);
StateMatrix discA;
StateMatrix discQ;
DiscretizeAQTaylor<States>(contA, m_contQ, m_dt, &discA, &discQ);
DiscretizeAQ<States>(contA, m_contQ, m_dt, &discA, &discQ);
Eigen::internal::llt_inplace<double, Eigen::Lower>::blocked(discQ);
Matrixd<States, 2 * States + 1> sigmas =