Apollo 10.0
自动驾驶开放平台
apollo::perception::camera::MeanFilter类 参考

#include <kalman_filter.h>

apollo::perception::camera::MeanFilter 的协作图:

Public 成员函数

 MeanFilter ()
 
void SetWindow (int window)
 
void AddMeasure (const Eigen::VectorXd &z)
 
const Eigen::VectorXd & get_state () const
 
const Eigen::MatrixXd & get_variance () const
 
int size () const
 

详细描述

在文件 kalman_filter.h167 行定义.

构造及析构函数说明

◆ MeanFilter()

apollo::perception::camera::MeanFilter::MeanFilter ( )
inline

在文件 kalman_filter.h169 行定义.

169: index_(0), window_(1) {}

成员函数说明

◆ AddMeasure()

void apollo::perception::camera::MeanFilter::AddMeasure ( const Eigen::VectorXd &  z)

在文件 kalman_filter.cc147 行定义.

147 {
148 if (measures_.size() < static_cast<unsigned int>(window_)) {
149 measures_.push_back(z);
150 } else {
151 measures_[index_] = z;
152 }
153 index_ = (index_ + 1) % window_;
154 int n = static_cast<int>(measures_.size());
155
156 state_.resizeLike(z);
157 state_.setConstant(0);
158 for (int i = 0; i < n; ++i) {
159 state_ += measures_[i];
160 }
161 state_ = state_ / n;
162
163 variance_.resize(state_.rows(), state_.rows());
164 variance_.setConstant(0);
165 for (int i = 0; i < n; ++i) {
166 auto z = measures_[i] - state_;
167 variance_ += z * z.transpose();
168 }
169 if (n > 1) {
170 variance_ /= n - 1;
171 }
172}

◆ get_state()

const Eigen::VectorXd & apollo::perception::camera::MeanFilter::get_state ( ) const

在文件 kalman_filter.cc174 行定义.

174{ return state_; }

◆ get_variance()

const Eigen::MatrixXd & apollo::perception::camera::MeanFilter::get_variance ( ) const

在文件 kalman_filter.cc176 行定义.

176{ return variance_; }

◆ SetWindow()

void apollo::perception::camera::MeanFilter::SetWindow ( int  window)

在文件 kalman_filter.cc142 行定义.

142 {
143 window_ = window;
144 index_ = 0;
145}

◆ size()

int apollo::perception::camera::MeanFilter::size ( ) const
inline

在文件 kalman_filter.h176 行定义.

176{ return static_cast<int>(measures_.size()); }

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