Apollo 10.0
自动驾驶开放平台
apollo::perception::camera::KalmanFilterConstState< N > 模板类 参考

#include <kalman_filter.h>

apollo::perception::camera::KalmanFilterConstState< N > 的协作图:

Public 类型

typedef Eigen::Matrix< double, N, N > MatrixNd
 
typedef Eigen::Matrix< double, N, 1 > VectorNd
 

Public 成员函数

 KalmanFilterConstState ()=default
 
 ~KalmanFilterConstState ()=default
 
bool Init (const VectorNd &param)
 
bool Predict (float delta_t)
 
void Correct (const VectorNd &measurement)
 
VectorNd get_state () const
 

Public 属性

MatrixNd covariance_
 
MatrixNd measure_noise_
 
MatrixNd process_noise_
 
VectorNd predict_state_
 
VectorNd residual_
 
double likelihood_ = 1.0
 

Protected 属性

bool inited_ = false
 
VectorNd state_
 
MatrixNd kalman_gain_
 

详细描述

template<std::size_t N>
class apollo::perception::camera::KalmanFilterConstState< N >

在文件 kalman_filter.h65 行定义.

成员类型定义说明

◆ MatrixNd

template<std::size_t N>
typedef Eigen::Matrix<double, N, N> apollo::perception::camera::KalmanFilterConstState< N >::MatrixNd

在文件 kalman_filter.h70 行定义.

◆ VectorNd

template<std::size_t N>
typedef Eigen::Matrix<double, N, 1> apollo::perception::camera::KalmanFilterConstState< N >::VectorNd

在文件 kalman_filter.h71 行定义.

构造及析构函数说明

◆ KalmanFilterConstState()

template<std::size_t N>
apollo::perception::camera::KalmanFilterConstState< N >::KalmanFilterConstState ( )
default

◆ ~KalmanFilterConstState()

成员函数说明

◆ Correct()

template<std::size_t N>
void apollo::perception::camera::KalmanFilterConstState< N >::Correct ( const VectorNd measurement)

在文件 kalman_filter.h208 行定义.

208 {
209 if (!inited_) {
210 Init(measurement);
211 } else {
212 auto measurements_cov = covariance_ + measure_noise_;
213 kalman_gain_ = covariance_ * measurements_cov.inverse();
214 state_ = state_ + kalman_gain_ * (measurement - state_);
215 covariance_ = (MatrixNd::Identity() - kalman_gain_) * covariance_;
216
217 // compute likelihood
218 residual_ = measurement - predict_state_;
219 // Ref: https://eigen.tuxfamily.org/bz/show_bug.cgi?id=1610
220 double kval = -0.5 * residual_.transpose().adjoint().dot(
221 measurements_cov.inverse() * residual_);
223 std::exp(kval) / std::sqrt(2 * M_PI * measurements_cov.determinant());
224 }
225}

◆ get_state()

template<std::size_t N>
VectorNd apollo::perception::camera::KalmanFilterConstState< N >::get_state ( ) const
inline

在文件 kalman_filter.h83 行定义.

83{ return state_; }

◆ Init()

template<std::size_t N>
bool apollo::perception::camera::KalmanFilterConstState< N >::Init ( const VectorNd param)

在文件 kalman_filter.h188 行定义.

188 {
189 state_ = param;
190 inited_ = true;
191
192 return true;
193}

◆ Predict()

template<std::size_t N>
bool apollo::perception::camera::KalmanFilterConstState< N >::Predict ( float  delta_t)

在文件 kalman_filter.h196 行定义.

196 {
197 if (!inited_) {
198 return false;
199 }
201 // state_transition_matrix is Identity
203
204 return true;
205}

类成员变量说明

◆ covariance_

template<std::size_t N>
MatrixNd apollo::perception::camera::KalmanFilterConstState< N >::covariance_

在文件 kalman_filter.h85 行定义.

◆ inited_

template<std::size_t N>
bool apollo::perception::camera::KalmanFilterConstState< N >::inited_ = false
protected

在文件 kalman_filter.h96 行定义.

◆ kalman_gain_

template<std::size_t N>
MatrixNd apollo::perception::camera::KalmanFilterConstState< N >::kalman_gain_
protected

在文件 kalman_filter.h99 行定义.

◆ likelihood_

template<std::size_t N>
double apollo::perception::camera::KalmanFilterConstState< N >::likelihood_ = 1.0

在文件 kalman_filter.h91 行定义.

◆ measure_noise_

template<std::size_t N>
MatrixNd apollo::perception::camera::KalmanFilterConstState< N >::measure_noise_

在文件 kalman_filter.h86 行定义.

◆ predict_state_

template<std::size_t N>
VectorNd apollo::perception::camera::KalmanFilterConstState< N >::predict_state_

在文件 kalman_filter.h89 行定义.

◆ process_noise_

template<std::size_t N>
MatrixNd apollo::perception::camera::KalmanFilterConstState< N >::process_noise_

在文件 kalman_filter.h87 行定义.

◆ residual_

template<std::size_t N>
VectorNd apollo::perception::camera::KalmanFilterConstState< N >::residual_

在文件 kalman_filter.h90 行定义.

◆ state_

template<std::size_t N>
VectorNd apollo::perception::camera::KalmanFilterConstState< N >::state_
protected

在文件 kalman_filter.h98 行定义.


该类的文档由以下文件生成: