コンテンツにスキップ

cpp_robotics::KalmanFilter

カルマンフィルタ More...

#include <kalman_filter.hpp>

Public Types

Name
using FLOATING_TYPE value_type
using Eigen::Matrix< value_type, state_size, 1 > x_vec_t
using Eigen::Matrix< value_type, input_size, 1 > u_vec_t
using Eigen::Matrix< value_type, observe_size, 1 > z_vec_t
using Eigen::Matrix< value_type, state_size, state_size > f_mat_t
using Eigen::Matrix< value_type, state_size, input_size > g_mat_t
using Eigen::Matrix< value_type, observe_size, state_size > h_mat_t
using Eigen::Matrix< value_type, state_size, state_size > q_mat_t
using Eigen::Matrix< value_type, observe_size, observe_size > r_mat_t
using Eigen::Matrix< value_type, state_size, state_size > p_mat_t

Public Functions

Name
KalmanFilter() =default
void reset(x_vec_t x, p_mat_t P)
x_vec_t filtering(u_vec_t u, z_vec_t z)
x_vec_t get_x()
p_mat_t get_P()

Public Attributes

Name
constexpr size_t state_size
constexpr size_t input_size
constexpr size_t observe_size
f_mat_t F
g_mat_t G
h_mat_t H
q_mat_t Q
r_mat_t R

Detailed Description

template <typename FLOATING_TYPE ,
size_t STATE_SIZE,
size_t INPUT_SIZE,
size_t OBSERVE_SIZE>
class cpp_robotics::KalmanFilter;

カルマンフィルタ

Template Parameters:

  • FLOATING_TYPE 浮動小数点型
  • STATE_SIZE 状態量のサイズ
  • INPUT_SIZE 入力量のサイズ
  • OBSERVE_SIZE 観測量のサイズ

Public Types Documentation

using value_type

using cpp_robotics::KalmanFilter< FLOATING_TYPE, STATE_SIZE, INPUT_SIZE, OBSERVE_SIZE >::value_type =  FLOATING_TYPE;

using x_vec_t

using cpp_robotics::KalmanFilter< FLOATING_TYPE, STATE_SIZE, INPUT_SIZE, OBSERVE_SIZE >::x_vec_t =  Eigen::Matrix<value_type, state_size, 1>;

using u_vec_t

using cpp_robotics::KalmanFilter< FLOATING_TYPE, STATE_SIZE, INPUT_SIZE, OBSERVE_SIZE >::u_vec_t =  Eigen::Matrix<value_type, input_size, 1>;

using z_vec_t

using cpp_robotics::KalmanFilter< FLOATING_TYPE, STATE_SIZE, INPUT_SIZE, OBSERVE_SIZE >::z_vec_t =  Eigen::Matrix<value_type, observe_size, 1>;

using f_mat_t

using cpp_robotics::KalmanFilter< FLOATING_TYPE, STATE_SIZE, INPUT_SIZE, OBSERVE_SIZE >::f_mat_t =  Eigen::Matrix<value_type, state_size, state_size>;

using g_mat_t

using cpp_robotics::KalmanFilter< FLOATING_TYPE, STATE_SIZE, INPUT_SIZE, OBSERVE_SIZE >::g_mat_t =  Eigen::Matrix<value_type, state_size, input_size>;

using h_mat_t

using cpp_robotics::KalmanFilter< FLOATING_TYPE, STATE_SIZE, INPUT_SIZE, OBSERVE_SIZE >::h_mat_t =  Eigen::Matrix<value_type, observe_size, state_size>;

using q_mat_t

using cpp_robotics::KalmanFilter< FLOATING_TYPE, STATE_SIZE, INPUT_SIZE, OBSERVE_SIZE >::q_mat_t =  Eigen::Matrix<value_type, state_size, state_size>;

using r_mat_t

using cpp_robotics::KalmanFilter< FLOATING_TYPE, STATE_SIZE, INPUT_SIZE, OBSERVE_SIZE >::r_mat_t =  Eigen::Matrix<value_type, observe_size, observe_size>;

using p_mat_t

using cpp_robotics::KalmanFilter< FLOATING_TYPE, STATE_SIZE, INPUT_SIZE, OBSERVE_SIZE >::p_mat_t =  Eigen::Matrix<value_type, state_size, state_size>;

Public Functions Documentation

function KalmanFilter

KalmanFilter() =default

function reset

inline void reset(
    x_vec_t x,
    p_mat_t P
)

function filtering

inline x_vec_t filtering(
    u_vec_t u,
    z_vec_t z
)

function get_x

inline x_vec_t get_x()

function get_P

inline p_mat_t get_P()

Public Attributes Documentation

variable state_size

static constexpr size_t state_size = STATE_SIZE;

variable input_size

static constexpr size_t input_size = INPUT_SIZE;

variable observe_size

static constexpr size_t observe_size = OBSERVE_SIZE;

variable F

f_mat_t F;

variable G

g_mat_t G;

variable H

h_mat_t H;

variable Q

q_mat_t Q;

variable R

r_mat_t R;

Updated on 2024-05-28 at 06:55:39 +0000