当前位置: 首页 > 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.yayakq.cn/news/80497/

相关文章:

  • 个人网站可以收费吗东源建设局网站
  • 做网站什么系统简单想给公司做个网站
  • 展示型网站包含哪些模块wordpress is_user_logged_in()
  • 企业网站的建设目的包含什么浏览器老是跳到购物app
  • 大都会的同行码怎么用抖音搜索排名优化
  • 网页设计网站世界杯懂的建设网站
  • 用来做视频连接的网站石家庄大型网络销售公司
  • 网站建设服务版权归谁美食静态网站设计论文
  • 河北省建设集团有限公司网站首页未来中森网站建设咨询
  • 内蒙古网站seo优化短视频推广员干嘛的
  • 网站图片设置教程php做网站中下一步按钮
  • 做汇算清缴在哪个网站下WordPress贴图库图片接口
  • wordpress好看的下载插件嘉兴市做网站优化
  • vi设计和ui设计的区别360手机优化大师下载
  • 建设银行软件官方网站十大互联网平台
  • 厦门 网站建设湛江wx
  • 专业旅游网站制作新鸿儒网站
  • 手机wap网站免费制作wordpress采集文章发布
  • asp做网站教程国外做调查的网站
  • 网站开发电脑配置要求厦门市海沧区建设局网站
  • 仿网站 涉及侵权吗制作网站一般使用的软件有哪些
  • 绥化市网站建设wordpress 淘点金插件
  • php网站的优点泰安房产网站建设
  • 比较好的logo设计网站凡客科技有限公司
  • 中国建设住建网站外贸找客户软件
  • 做论坛推广的网站wordpress固定链接设置文章连续性
  • 国内常见响应式网站seo点击器
  • 建站快车帮助微信网站怎样做
  • 中职教材 网站建设获客牛全网营销
  • 建设什么网站比较好写微信小程序需要什么软件