资源简介
C++写的一个Ubuntu下扩展卡尔曼滤波程序,状态方程为线性,观测方程非线性,最后输出图片以便观察是否收敛,有比较详细的注释,分享给大家参考。还会上传一个matlab版本的。
代码片段和文件信息
#include
#include
#include
#include
#include
#include
using namespace std;
using namespace cv;
int main(int argc char **argv) {
int k=0;
Point lasta lastb lastc;
Eigen::Vector3d x_up(030M_PI/6) x_pre(000) xn(00M_PI/6) Rn(0.10.10.1); //沿x轴直线运动
Eigen::Vector3d s_con(0.9*cos(M_PI/6) 0.9*sin(M_PI/6) 0);
Eigen::Matrix3d A=Eigen::Matrix3d::Identity(); //状态转移矩阵
Eigen::Matrix3d R P P_pre; //状态噪声方差观测噪声方差总协方差
Eigen::Matrix2d Q S;
Eigen::Matrix H; //观测方程雅克比矩阵
Eigen::MatrixXd K; //卡尔曼增益
Eigen::Vector2d z(01);
RNG gaus; //高斯分布对象
Mat img(500500CV_8UC3Scalar(255255255));
R<<0.10000.10000.1;
Q<<0.1000.1;
P<<0.10000.10000.1;
//开始迭代
for(int i=0; i<300; i++)
{
double gs=gaus.gaussian(1); //0均值,协方差为1的高斯分布中的随机数
xn+=s_con+Rn*gs; //真实值
z<
//预测
x_pre=x_
- 上一篇:新国都系列改SN号软件+教程
- 下一篇:相机曝光增益时间控制代码
相关资源
- 2019华为软件精英挑战赛C++ 源码实现
- 基于遗传算法的带容量限制的P-media
- C++实现小游戏flappy bird
- C++builder实现计算器
- MFC 2010编写 C++ 求1元4次方程解,含1元
- c++版创建并输出二叉树完整代码
- c++练习题2015
- 最新传智播客C/C++第五期完整视频 R
- 影碟出租系统C++源代码
- C++&CLR 编写 Windows 窗体应用程序
- 用c语言写的8数码游戏
- ue4,c++平面最小封闭区域识别
- vs2013 c++串口助手源码
- c++21点游戏
- 蛮力法求解旅行商问题C++
- 理发师睡觉问题
- 常用的VC界面模板
- 20多个常用的Hash算法C++ 实现
- C++仿360新界面源代码
- 遗传、禁忌、模拟退火解背包问题
- C++语言程序设计 郑莉 第四版 课后题
- 蚁群算法C++版
- C++开发精灵对战小游戏
- C++与js相互调用
- 使用Qt做的数据管理系统
- c++测试题aaaa
- c++职工工资管理系统
- 分数计算器C++
- c++职工管理系统链表
- c++密度据类MFC可视化
评论
共有 条评论