卡尔曼滤波算法它能够从一系列的不完全及包含噪声的测量中,估计动态系统的状态,实践中得到广泛应用,场景包括控制系统参数估计,移动预测等等,在深度学习中也常常用来配合神经网络输出做后处理,应用于目标跟踪等场景。
测试代码在:
GitHub - 13824125580/kalmanfilter-cpp: A basic Kalman Filter implementation in C++ using the Eigen library.https://github.com/13824125580/kalmanfilter-cpp.git
代码下载后,编译运行步骤如下。
1.安装eigen3
eigen3是一套高效的线性代数运行库,安装命令如下:
sudo apt-get install libeigen3-dev
具体用法可以参考下面这篇博客
ubuntu18.04安装eigen算法库_papaofdoudou的博客-CSDN博客_ubuntu18安装eigen
2.编译源码
源码下载后的目录结构如下图所示:
用例使用cmake编译,创建编译目录build,进入build目录,执行 cmake ../生成编译文件
之后执行make 编译,编译后,生成可执行测试程序kalman-test文件
测试
执行kalman-test用例,输出如下:
测试输出中的x_hat则是对下图中的测量值的经过卡尔曼滤波算法之后的输出值。