cpp_robotics::ExtendedKalmanFilter
#include <extended_kalman_filter.hpp>
Public Functions
Name | |
---|---|
ExtendedKalmanFilter(const double dt, size_t input_size, size_t state_size, size_t observe_size, std::optional< double > correction_threshold =std::nullopt) | |
void | reset(Eigen::VectorXd new_x, Eigen::MatrixXd new_P) |
Eigen::VectorXd | filtering(Eigen::VectorXd u, Eigen::VectorXd z) |
double | dt() const |
Eigen::VectorXd | get_x() const |
Eigen::MatrixXd | get_P() const |
virtual Eigen::VectorXd | system(Eigen::VectorXd x, Eigen::VectorXd u) =0 システム |
virtual Eigen::VectorXd | observe(Eigen::VectorXd x) =0 観測 |
virtual void | system_noise_conv(Eigen::MatrixXd & Q, Eigen::VectorXd x, Eigen::VectorXd u) =0 システムノイズ共分散行列 |
virtual void | observe_noise_conv(Eigen::MatrixXd & R, Eigen::VectorXd x, Eigen::VectorXd z) =0 観測ノイズの共分散行列 |
virtual void | linearized_system_matrix(Eigen::MatrixXd & F, Eigen::VectorXd x, Eigen::VectorXd u) システム線形化行列 |
virtual void | linearized_observe_matrix(Eigen::MatrixXd & H, Eigen::VectorXd x, Eigen::VectorXd z) 観測線形化行列 |
Public Attributes
Name | |
---|---|
Eigen::VectorXd | x 状態量 |
Eigen::MatrixXd | F 遷移行列 |
Eigen::MatrixXd | B 制御行列 |
Eigen::MatrixXd | H 観測行列 |
Eigen::MatrixXd | Q 状態量ノイズ分散行列 |
Eigen::MatrixXd | R 観測量ノイズ分散行列 |
Eigen::MatrixXd | P 誤差共分散行列 |
Protected Attributes
Name | |
---|---|
const double | dt_ |
const size_t | input_size_ |
const size_t | state_size_ |
const size_t | observe_size_ |
std::optional< double > | mn_threshold_ |
Public Functions Documentation
function ExtendedKalmanFilter
inline ExtendedKalmanFilter(
const double dt,
size_t input_size,
size_t state_size,
size_t observe_size,
std::optional< double > correction_threshold =std::nullopt
)
function reset
inline void reset(
Eigen::VectorXd new_x,
Eigen::MatrixXd new_P
)
function filtering
inline Eigen::VectorXd filtering(
Eigen::VectorXd u,
Eigen::VectorXd z
)
function dt
inline double dt() const
function get_x
inline Eigen::VectorXd get_x() const
function get_P
inline Eigen::MatrixXd get_P() const
function system
virtual Eigen::VectorXd system(
Eigen::VectorXd x,
Eigen::VectorXd u
) =0
システム
function observe
virtual Eigen::VectorXd observe(
Eigen::VectorXd x
) =0
観測
function system_noise_conv
virtual void system_noise_conv(
Eigen::MatrixXd & Q,
Eigen::VectorXd x,
Eigen::VectorXd u
) =0
システムノイズ共分散行列
function observe_noise_conv
virtual void observe_noise_conv(
Eigen::MatrixXd & R,
Eigen::VectorXd x,
Eigen::VectorXd z
) =0
観測ノイズの共分散行列
function linearized_system_matrix
inline virtual void linearized_system_matrix(
Eigen::MatrixXd & F,
Eigen::VectorXd x,
Eigen::VectorXd u
)
システム線形化行列
function linearized_observe_matrix
inline virtual void linearized_observe_matrix(
Eigen::MatrixXd & H,
Eigen::VectorXd x,
Eigen::VectorXd z
)
観測線形化行列
Public Attributes Documentation
variable x
Eigen::VectorXd x;
状態量
variable F
Eigen::MatrixXd F;
遷移行列
variable B
Eigen::MatrixXd B;
制御行列
variable H
Eigen::MatrixXd H;
観測行列
variable Q
Eigen::MatrixXd Q;
状態量ノイズ分散行列
variable R
Eigen::MatrixXd R;
観測量ノイズ分散行列
variable P
Eigen::MatrixXd P;
誤差共分散行列
Protected Attributes Documentation
variable dt_
const double dt_;
variable input_size_
const size_t input_size_;
variable state_size_
const size_t state_size_;
variable observe_size_
const size_t observe_size_;
variable mn_threshold_
std::optional< double > mn_threshold_;
Updated on 2024-05-28 at 06:55:39 +0000