【3DoF算法】

2023-05-16

VR 3DoF算法介绍

核心:3DoF算法应用场景,在VIO应用中,当只有测量没有观测的情况下,6DoF算法的预测会退化成一个只有测量的3DoF算法,这时候需要使用3DoF算法,来更加稳定准确的获取3DoF位姿,直到6DoF算法重新找回。

算法计算方式计算特点输入输出精度使用场景计算速度
Madgwick算法基于四元数的互补滤波无需矩阵运算,计算速度快三轴角速度和三轴加速度四元数和欧拉角较高适用于姿态估计较快
Mahony算法基于四元数的互补滤波无需矩阵运算,计算速度快三轴角速度和三轴加速度四元数和欧拉角较高适用于姿态估计较快
Extended Kalman Filter (EKF)基于卡尔曼滤波的状态估计能够处理非线性系统三轴角速度和三轴加速度四元数和欧拉角适用于姿态估计和位置估计较慢
Complementary Filter基于加权平均的滤波简单易实现,计算速度快三轴角速度和三轴加速度四元数和欧拉角适用于姿态估计较快

需要注意的是,以上表格中的精度和计算速度是相对而言的,具体的数值会受到多种因素的影响,如传感器精度、采样率、算法参数等。因此,在实际应用中,需要根据具体情况选择合适的算法,并进行适当的参数调整和优化。
在这里插入图片描述

0. VR 3DoF算法特性小结

VR 3DoF姿态解算大多采用磁强计和IMU传感器实现,IMU传感器内部包含三轴陀螺仪、三轴加速度计,常用的姿态解算算法包含三种:

互补滤波算法;
梯度下降算法;
Kalman滤波算法。

1.互补滤波算法

互补滤波算法是三种算法中最简单的,算法对加速度计测量姿态进行低通滤波,对陀螺仪测量的角度增量进行高通滤波,并将两个滤波器合成一个,实现互补,得到一个线性估计,其中水平姿态通过加速度计观测实现航向通过磁强计观测实现

互补滤波用公式介绍如下:

陀螺积分角度 =陀螺积分角度 + 角速度 * dt;

融合角度 = 陀螺仪权值 * 陀螺积分角度 + (1 - 陀螺仪权值) * 加速度/磁强计角度。

2. madgwick(梯度下降算法)

Madgwick IMU Filter论文
Madgwick算法详细解读

An efficient orientation filter for inertial and inertial/magnetic sensor arrays论文
[代码]
工程特性

梯度下降算法是madgwick在2010提出的,下图来自madgwick论文,其核心是将加速度计和磁力计通过梯度下降法得到的姿态与由陀螺仪积分得到的姿态,进行线性融合,得到最优的姿态。梯度下降算法的优势在于姿态精度较互补滤波算法要高

在这里插入图片描述

3. Kalman滤波算法

Kalman滤波算法需要分析系统特性,建立系统状态方程和观测方程,并根据系统误差特性,设立合适的系统噪声方差阵Q和观测噪声协方差阵R。Kalman滤波算法优点是模型准确,可以实现陀螺零偏估计,缺点是计算量大。

综上,根据精度及计算量需求,进行算法的选择。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【3DoF算法】 的相关文章

  • 在 Windows 中启用自动登录功能

    在 Windows 中启用自动登录功能 本文介绍了如何通过将密码和其他相关信息存储在注册表数据库中以配置 Windows 自动执行登录过程 通过使用此功能 xff0c 其他用户可以启动您的计算机并使用您建立的帐户自动登录 为了方便起见 xf
  • Statement与PreparedStatement的区别理解记录

    一 PreparedStatement性能高于Statement xff08 PreparedStatement xff09 属于预编译 xff08 缓存 xff09 xff0c 那怎么预编译的呢 xff0c 源码对比 Statement创
  • Apache CXF文件目录结构及需要jar包

    原文地址 xff1a http blog 163 com a13151055695 64 126 blog static 112087074201143014443273 文件目录结构及相关文件的详细说明 xff1a bin xff08 目
  • 浅析SAX,DOM,JAXP,JDOM与DOM4J之间的关系

    众所周知 xff0c SAX与DOM是JAVA中两大核心XML解析API类库 xff0c 而JAXP JDOM与DOM4J都是基于这两大核心API而衍生出来的 今日兴起看了看相关资料 xff0c 在这里总结总结 SAX与DOM 首先需要说明
  • ctags常用命令(个人整理)

    http blog csdn net myth liu article details 5672572 http chaojimake com 724 html 熟练的使用ctags仅需记住下面几条命 1 ctags languages 6
  • StAX-基于流的拉式XML解析

    最近在学习webservice时 xff0c 发现很多框架 xff0c 技术都在使用StAX作为底层XML解析工具 xff0c 于是今天看了看资料 xff0c 简单学习了下 xff0c 在这里做个总结 简介 StAX xff0c 全称 St
  • Apache HttpClient4.2入门

    介绍 HttpClient 是 Apache Jakarta Common 下的子项目 xff0c 用来提供高效的 最新的 功能丰富的支持 HTTP 协议的客户端编程工具包 xff0c 并且它支持 HTTP 协议最新的版本和建议 HttpC
  • JMX “javax.management.NotCompliantMBeanException” 异常解决

    原文章 xff1a http lovespss blog 51cto com 1907593 616403 昨天同事在JBoss中部署MBean时一直报错 xff1a Caused by javax management NotCompli
  • webservice-WSDL结构与各元素解析

    承接上一遍webservice初识 xff0c 这篇文章将着重于WSDL wsdl协议说明http www w3 org TR wsdl 结构 现在开始说说wsdl的结构以及各个元素的意义 从下面这张图可以看出wsdl中各元素是存在嵌套的关
  • 如何创建KVM后端盘

    在一台图形化虚拟机有KVM的虚拟机上创建后端盘 kvm虚拟化存储目录 cd var lib libvirt images 创建img文件 qemu img create f qcow2 node img 10G qemu img info
  • ansible-文献资料

    ansible文献资料具体请参见官方文档 xff1a http docs ansible com playbooks loops html
  • python语法结构(一)

    python完全靠缩进表达代码逻辑 顶层代码必须顶头写 xff0c 不能有任何空格 某个代码的子代码 xff0c 必须有缩进 xff0c 缩进多少都可以 xff0c 最好是4个空格 root nsd1905 bin python print
  • 关于pycharm中无法输入中文问题

    在centos中pycharm无法输入中文 xff0c 只能输入字符串 借鉴了几个其它文章问题终于解决 方法一 xff1a 更改输入源 首先查看是否安装ibus包 xff0c 如果没安装需要先安装 ibus table 1 5 0 5 el
  • Python语法结构(二)

    系统管理模块 shutil模块 shutil copyfileobj fsrc fdst length 将类似文件的对象fsrc的内容复制到类似文件的对象fdst 拷贝文件对象 gt gt gt import shutil gt gt gt
  • python语法结构(三)

    filter func seq 函数 是一个高阶函数 xff0c 它的第一个参数是函数 xff0c 第二个参数是序列对象 传给filter函数的函数 xff08 第一个参数 xff09 xff0c 它接受一个参数 xff0c 执行的结果必须
  • win10 ESP盘符问题(隐藏系统分区)

    window10隐藏系统分区 xff1a 打开cmd 输入 xff1a diskpart 输入 xff1a list 选择磁盘 xff1a select disk 0 选择分区 xff1a list select partition 0 隐
  • C语言版随机分配座位问题

    include lt stdio h gt include lt stdlib h gt include lt time h gt define COUNT 50 int main int argc char argv int tmp 61
  • 联想ThinkPad打开相机(腾讯会议)是一个锁或相机上有一个斜杠

    找到联想这篇文章 xff0c 打开相机应用摄像头无法使用 xff0c 显示小锁的图标处理方法https iknow lenovo com cn detail dc 199493 html xff0c 原因是联想电脑管家中打开了隐私设置 打开
  • Quartus17查看安装的器件Assignments -> Devices

    Assignments gt Devices 吐槽一下这么多年了Altera还是Cyclone

随机推荐