コンテンツにスキップ

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