当前位置: 首页 > news >正文

动态网站设计作品模板建站优点

动态网站设计作品,模板建站优点,温州哪里有网站建设,公司网站建设技术通过 Eigen 矩阵运算实现线性卡尔曼滤波。模拟的是一辆带火箭发动机的汽车&#xff0c;一开始沿着X轴匀速运动&#xff0c;到X轴中间开启火箭发动机匀加速向Y轴起飞。同理可以仿真&#xff08;x,y,z,yaw,pitch,raw&#xff09; 6自由度的真实飞行情况 #include <iostream&g…

通过 Eigen 矩阵运算实现线性卡尔曼滤波。模拟的是一辆带火箭发动机的汽车,一开始沿着X轴匀速运动,到X轴中间开启火箭发动机匀加速向Y轴起飞。同理可以仿真(x,y,z,yaw,pitch,raw) 6自由度的真实飞行情况

#include <iostream>
#include <Eigen/LU>
#include <Eigen/core>using namespace Eigen;using Matrix6f = Eigen::Matrix<float, 6, 6>;
using Vector6f = Eigen::Matrix<float, 6, 1>;class CalmanFilter
{
public:CalmanFilter(){// 初始状态不确定度P << std::pow(0,2), 0, 0, 0, 0, 0, 0, std::pow(1,2), 0, 0, 0, 0,0, 0, std::pow(0.1,2), 0, 0, 0,0, 0, 0, std::pow(0,2), 0, 0,0, 0, 0, 0, std::pow(1,2), 0,0, 0, 0, 0, 0, std::pow(0.1, 2);// 环境不确定度Q << std::pow(0,2), 0, 0, 0, 0, 0, 0, std::pow(0,2), 0, 0, 0, 0,0, 0, std::pow(0,2), 0, 0, 0,0, 0, 0, std::pow(0,2), 0, 0,0, 0, 0, 0, std::pow(0,2), 0,0, 0, 0, 0, 0, std::pow(0,2);// 测量不确定度float xVariance = 5;float yVariance = 5;R << std::pow(xVariance,2), 0,0, std::pow(xVariance,2);// 隐变量到观测变量的映射H << 1, 0, 0, 0, 0, 0,0, 0, 0, 1, 0, 0;}void init(const Vector6f& x){this->x = x;this->fx = x;}Matrix6f getA(float dt){Matrix6f A;A << 1, dt, 0.5*dt*dt, 0, 0, 0, 0, 1, dt, 0, 0, 0,0, 0, 1, 0, 0, 0,0, 0, 0, 1, dt, 0.5*dt*dt,0, 0, 0, 0, 1, dt,0, 0, 0, 0, 0, 1;return A;}Matrix<float, 6, 2> getB(float dt){Matrix<float, 6, 2> B;B << 0.5*dt*dt, 0,dt, 0,0, 0,0, 0.5*dt*dt,0, dt,0, 0;return B;}void forcast(const Matrix6f& A, const Matrix<float, 6, 2>& B, const Vector2f& u){fx = A * x + B * u;fP = A * P * A.transpose() + Q;}void calibration(const Vector2f& z){Matrix<float, 6, 2> K = P * H.transpose() * (H * P * H.transpose() + R).inverse();x = fx + (K * (z - H * fx));P = fP - K * H * fP;}Vector2f getEstimation() const{return H * x;}private:Vector6f fx; // x, vx, ax, y, vy, ayMatrix6f fP; // fx 的协方差Matrix6f Q; // 环境干扰协方差Vector6f x; // fx 校准值Matrix6f P; // fP 校准值Matrix2f R; // 观测协方差Matrix<float, 2, 6> H; // 隐状态到观测状态的映射
};int main()
{// 测试数据float a = 1.1;std::vector<Vector2f> real;std::vector<Vector2f> observations;for (int i = 0; i < 100; ++i) {float x = i;float y = 0;if (i >= 50) {float t = (i - 50)/10.;y = 0.5 * a * t * t;}real.emplace_back(x, y);observations.emplace_back(x + rand() % 5, y + rand() % 5);}CalmanFilter filter;Vector6f initState;initState << observations[0][0], 0, 0, observations[0][1], 0, 0;filter.init(initState);float dt = 0.1;Matrix6f A =  filter.getA(dt);Matrix<float, 6, 2> B = filter.getB(dt);Vector2f u;u << 0, 0;std::vector<Vector2f> estimations;for (int i = 0; i < observations.size(); ++i) {if (i >= 50)u[1] = a;filter.forcast(A, B, u);Vector2f d;filter.calibration(observations[i]);Vector2f est = filter.getEstimation();estimations.push_back(est);}for (int i = 0; i < estimations.size(); ++i) {std::cout << i << " est: " << estimations[i] << " real: " << real[i] << " obs: " << observations[i] << std::endl;}
}

http://www.shuangfujiaoyu.com/news/55622.html

相关文章:

  • 电商网站建设懂你所需网络营销专业培训学校
  • c 教学网站开发搜索引擎排名查询工具
  • 美食网站 源码营销型网站特点
  • 山西网站制作设计vi设计公司
  • 网站开发与部署软文写作范例大全
  • 江东网站制作上海高端网站建设
  • 万业网网站建设审核2023免费推广入口
  • 做阿里云网站站长工具亚洲
  • 做视频网站 投入网站赚钱
  • 站酷网电脑版seo企业站收录
  • 做纸棋的网站新媒体营销策略有哪些
  • 网站的下载链接怎么做外贸网站搭建推广
  • 查询公司seo新手教程
  • 中国建设教育网查询官网青岛自动seo
  • 快餐网站模板微商软文推广平台
  • 网站界面排版好看cilimao磁力猫在线搜索
  • 商业街网站建设方案南宁网
  • 网站界面分析深圳推广系统
  • 深圳网站建设费用多少钱济南优化网络营销
  • 怎样建设自己的ip地址网站爱站网关键词查询系统
  • 快站怎么搭建淘客链接昆明seo工资
  • 搜索引擎优化简历seo网站关键词优化
  • 网站名后台修改后 前台不显示软件开发网
  • 公司的网 网站打不开怎么办网店代运营公司
  • 南充做网站的公司百度扫一扫识别图片
  • 2018年做网站it培训班出来工作有人要么
  • 自己的网站怎么做美工域名交易平台
  • 网站建设需要集齐哪5份资料seo外链工具源码
  • 企业建站公司是干嘛的百度手机网页
  • 做网页素材武汉seo关键字推广