diff --git a/README.md b/README.md index 1178e9385..66e7bc0c4 100644 --- a/README.md +++ b/README.md @@ -58,10 +58,10 @@ k.x(60.); k.p(225.); k.r(25.); -k.observe(48.54); +k.update(48.54); ``` -### Multi-Dimensional +## Multi-Dimensional Two states, one control, using Eigen3 support. @@ -94,9 +94,9 @@ k.h(1, 0); k.r(400); k.predict(delta_time, gravitational_acceleration); -k.observe(-32.40 ); +k.update(-32.40 ); k.predict(delta_time, 39.72); -k.observe(-11.1); +k.update(-11.1); ``` # Library @@ -105,19 +105,19 @@ k.observe(-11.1); - [Continuous Integration & Deployment Actions](#continuous-integration--deployment-actions) - [Examples](#examples) - [One-Dimensional](#one-dimensional) - - [Multi-Dimensional](#multi-dimensional) + - [Multi-Dimensional](#multi-dimensional) - [Library](#library) -- [Motivation](#motivation) + - [Motivation](#motivation) + - [Class fcarouge::kalman](#class-fcarougekalman) + - [Template Parameters](#template-parameters) + - [Member Types](#member-types) + - [Member Functions](#member-functions) + - [Characteristics](#characteristics) + - [Modifiers](#modifiers) - [Resources](#resources) -- [Class fcarouge::kalman](#class-fcarougekalman) - - [Template Parameters](#template-parameters) - - [Member Types](#member-types) - - [Member Functions](#member-functions) - - [Characteristics](#characteristics) - - [Modifiers](#modifiers) - [License](#license) -# Motivation +## Motivation Kalman filters can be difficult to learn, use, and implement. Users often need fair algebra, domain, and software knowledge. Inadequacy leads to incorrectness, underperformance, and a big ball of mud. @@ -126,14 +126,7 @@ This package explores what could be a Kalman filter implementation a la standard - Separation of the algebra implementation. - Generalization of the support. -# Resources - -Awesome resources to learn about Kalman filters: - -- [KalmanFilter.NET](https://www.kalmanfilter.net) by Alex Becker. -- [Kalman and Bayesian Filters in Python](https://github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python) by Roger Labbe. - -# Class fcarouge::kalman +## Class fcarouge::kalman Defined in header [fcarouge/kalman.hpp](include/fcarouge/kalman.hpp) @@ -147,9 +140,9 @@ template diff --git a/include/fcarouge/internal/kalman.hpp b/include/fcarouge/internal/kalman.hpp index c4060d087..0d00fccb0 100644 --- a/include/fcarouge/internal/kalman.hpp +++ b/include/fcarouge/internal/kalman.hpp @@ -182,12 +182,12 @@ struct kalman { //! @name Public Member Functions //! @{ - inline constexpr void observe(const auto &...output_z) + inline constexpr void update(const auto &...output_z) { h = transition_observation_h(); r = noise_observation_r(); const auto z{ output{ output_z... } }; - internal::observe(x, p, h, r, z); + internal::update(x, p, h, r, z); } inline constexpr void predict(const PredictionArguments &...arguments, diff --git a/include/fcarouge/internal/kalman_equation.hpp b/include/fcarouge/internal/kalman_equation.hpp index 481cf758f..039e0f4dc 100644 --- a/include/fcarouge/internal/kalman_equation.hpp +++ b/include/fcarouge/internal/kalman_equation.hpp @@ -134,8 +134,8 @@ template