集成陀螺仪和加速度计读数[重复]

2024-01-29

可能的重复:
结合陀螺仪和加速度计数据 https://stackoverflow.com/questions/1586658/combine-gyroscope-and-accelerometer-data

我读过很多关于Kalman filters,但似乎很少有好的公开可用的从数学论文到实际工作代码的示例。

我有一个系统,包含一个三轴加速计和一个测量围绕加速计轴之一的旋转的陀螺仪。该系统设计为由人手持,并且大部分时间陀螺仪将测量围绕重力矢量或接近重力矢量的旋转。 (在同一行业工作的人可能会从中认识到我在说什么;))我意识到这是有限的。

陀螺仪似乎具有近乎恒定的偏差,该偏差对于系统的每个实例都略有不同。当系统倾斜以使陀螺仪轴与重力不共线并且绕陀螺仪轴旋转时,我将如何编写一个滤波器以使用加速度计读数来校准陀螺仪?似乎应该有足够的信息来做到这一点,但被告知没有以及为什么也会有答案:)


您似乎在这里有两个(或三个)单独的问题。

1. 您并不真正了解卡尔曼滤波器和/或其背后的数学原理。这将使正确实施和使用变得非常困难。

2.你似乎不理解这个问题所涉及的基本物理原理。 (基础物理意味着基础物理,而不是简单物理,因为它并不简单。)

我建议您尝试使用更简单的积分器,例如 Runga-Kutta 4,您可以找到许多书籍,其中包含实现和使用的示例。对于这个问题应该足够了。 (如果客户指定卡尔曼,请询问原因。)

至于为什么问题受到限制,在我看来,它无法确保设备保持垂直,也无法测量实际方向。暂时忘记陀螺仪并假设设备不能绕垂直轴旋转。您有三个加速度计,大概是为了估计 3D 位置。因此,如果您看到 X 方向上有加速度,您就会增加对您在 X 方向上的位置的估计。同样,如果您看到 Z 方向上的加速度(我假设是“向上”),您就会增加对 Z 方向上的位置的估计。现在稍微旋转设备,例如绕 Y 轴旋转 30 度。现在,当设备认为您正在沿 X 方向加速时,设备实际上的加速速度比 X 方向指示的要小一些and它也在 Z 方向加速。所以你的位置估计现在不正确。

旋转更难积分(方程更“僵化”,需要更小的时间步长来保持精度)。但如果设备倾斜(因为设备无法判断它是否倾斜),它们也会遇到类似的计算错误答案的问题。它会认为绕垂直轴的旋转比实际更大或更小,因为旋转的一部分实际上是绕不同的轴(就像加速部分的一部分沿着不同的轴一样)。

也许您需要聘请一名顾问(不,我不是在找工作)来帮助您制定数学公式。

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

集成陀螺仪和加速度计读数[重复] 的相关文章

  • 如何更改 pyplot.specgram x 和 y 轴缩放?

    我以前从未使用过音频信号 对信号处理知之甚少 尽管如此 我需要使用来表示音频信号pyplot specgram函数来自绘图库图书馆 我是这样做的 import matplotlib pyplot as plt import scipy io
  • MATLAB 中的反向谱图 A La Aphex Twin

    我正在尝试将图像视为频谱图 从而在 MATLAB 中将图像转换为音频信号就像 Aphex Twin 的歌曲中那样舔窗者 http www bastwood com aphex php 不幸的是 我很难得到结果 这是我现在所拥有的 funct
  • 如何确定互补滤波器的参数alpha?

    我知道互补滤波器兼有LPF和HPF的功能 但我认为我对其背后原理的理解仍然不清楚 我对数字信号处理很陌生 也许一些非常基本的解释会有很大帮助 假设我有一个互补过滤器 如下所示 y a y 1 a x 然后我的参数a可以通过以下方式计算 a
  • 在Java中组合多个声音流

    我有许多用 PCM PCM SIGNED 8000 0 Hz 16 位 单声道 2 字节 帧 小端 编码的语音声音流 我想通过网络发送它们 为了节省带宽 我目前使用 JSpeex 对流进行编码 然而 为了节省更多带宽 我想 如果可能 在使用
  • 2D 循环卷积与卷积 FFT [Matlab/Octave/Python]

    我试图理解 FTT 和卷积 互相关 理论 因此我创建了以下代码来理解它 代码是 Matlab Octave 但我也可以用 Python 来完成 In 1D x 5 6 8 2 5 y 6 1 3 5 1 x1 x zeros 1 4 y1
  • 20hz-20000hz 巴特沃斯滤波爆炸

    我想过滤掉 20 Hz 20000 Hz 之外的所有内容 我正在使用巴特沃斯滤波器 from scipy io import wavfile from scipy import signal import numpy sr x wavfil
  • 如何找到DWT信号变换的频段?

    我是信号处理方面的新手 我想找出 Daubechies 小波 db4 变换输出的每个级别的频率范围 转换是通过 PyWavelet 完成的 我正在 python 中工作 下面的代码输出 5 个细节级别和 1 个近似值 但是我不确定每个级别描
  • 在python中应用巴特沃斯带通滤波器后,如何去除信号开头的大尖峰?

    我想使用带通滤波器消除信号的趋势 我在 python 中使用了 FL 0 1 Hz 和 FH 20Hz 的巴特沃斯滤波器 但在应用这个带通滤波器后 我在去趋势信号的开始处观察到一个大尖峰 这个尖峰是做什么用的 以及如何删除 python 中
  • 从非周期性离散时间信号中删除未知的直流偏移

    是否有某种过程可以确定 消除非周期性离散时间信号中的未知直流偏移 相关信号的采样率为 25Hz 感兴趣的谐波在 0 25 至 3 Hz 之间 我尝试过使用高通滤波器混合结果 首先我使用了 Fc 0Hz 的 10 阶高斯 这在消除偏移方面做得
  • Java中的信号处理库? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我想计算时间序列的功率谱密度 进行一些带通 低通和高通滤波 也许还有其他一些基本的东西 有没有一个不错的开源 Java 库可以做到这一点
  • Android信号分析+一些过滤器

    由于世界杯是主要的体育赛事 而呜呜祖拉是世界上最烦人的声音 我想通过阅读这篇新文章来彻底消除它们 http www popsci com diy article 2010 06 simple software can filter out
  • iOS - 加速度计的高通滤波器方程

    有人可以解释一下如何得出下面的方程来对加速度计值进行高通滤波吗 我不需要数学推导 只需要直观的解释就足够了 define kFilteringFactor 0 1 UIAccelerationValue rollingX rollingY
  • 实时音高检测

    用于实时检测用户歌唱的音调FFT https stackoverflow com questions 1351381 fft problem returns random results and 自相关 https stackoverflo
  • 在 MATLAB 中调整 3D 矩阵(图像)的大小

    我有一个 3D 矩阵 MxNxK 想将其大小调整为 M xN xK 就像 matlab 中的 imresize 一样 我正在使用图像金字塔 但其结果不是很准确 需要一个更好的 有什么解决办法吗 你可以使用interp3 因为您想要插入 3D
  • 在 MATLAB 中高效地形成动态窗口

    有人可以帮助我提供一种有效的方法 或者帮助我执行提供的代码 以尽可能少的步骤获得相同的结果 我将感激你 我有一个原始数组 A 1 1 1 4 3 4 5 4 4 3 3 1 0 0 2 6 2 6 3 6 6 2 7 4 8 7 2 2 2
  • 从图像坐标获取对象的世界坐标

    I have been following this http docs opencv org modules calib3d doc camera calibration and 3d reconstruction html docume
  • 如何使用陀螺仪和磁力计计算航向

    我有陀螺仪和磁力计的原始数据 根据这些数据 我必须计算精度为 1Deg 的航向信息 我想知道 是否有任何算法可以帮助我使用可用信息以上述准确性获取标题信息 任何文章或任何链接也会有帮助 Thanks 我假设您正在使用电话来收集gyrosco
  • 如何在 F# 中进行卷积?

    我想convolve http en wikipedia org wiki Convolution具有离散滤波器的离散信号 信号和滤波器是 F 中的浮点数序列 我能弄清楚如何做到这一点的唯一方法是使用两个嵌套的 for 循环和一个可变数组来
  • 如何使用matlab生成不同频率的正弦波?

    对于我的项目 我需要使用 matlab 生成一个正弦波 它有 100 000 个样本 并且频率在每 10 000 个样本后随机变化 采样率和频率可以根据方便而定 matlab中有没有函数可以生成这个 好的另一个例子 生成 5 个随机频率 r
  • 带有 UiPath 的 Powershell

    我正在使用 UiPath 启动 PowerShell 脚本 我需要从 UiPath 传递一个参数 首先这可能吗 其次有人有这方面的例子吗 不确定 PowerShell 脚本中的语法是什么 是否可以将参数从 UiPath 传递到终端 您的 P

随机推荐

  • Caffe的train.prototxt中平均值的顺序是什么?

    在我的咖啡馆里 train prototxt 我正在做一些输入数据转换 如下所示 transform param mirror true crop size 321 mean value 104 Red mean value 116 Blu
  • 获取声明为动态的对象的类型

    我想获取动态对象的类型 例如 dynamic tmp Activator CreateInstance assembly nmspace typeName Type unknown tmp GetType 除了上面之外 GetType 返回
  • WPF ClickOnce 错过参考

    我有一个可与本地 SQLite 和 Entity Framework Core 配合使用的 WPF 应用程序 我想使用 ClickOnce 分发我的应用程序 当我使用 Visual Studio 2017 运行它时 一切正常 但是当我使用
  • Python 检查类的实例

    有没有办法检查对象是否是类的实例 不是具体类的实例 而是任何类的实例 我可以检查一个对象不是一个类 不是一个模块 不是一个回溯等 但我对一个简单的解决方案感兴趣 isinstance 是你的朋友吗 它返回一个布尔值 可以通过以下方式使用来检
  • 用于大型密集矩阵乘法的循环平铺/分块

    我想知道是否有人可以向我展示如何有效地使用循环平铺 循环阻塞进行大型密集矩阵乘法 我在做C AB具有 1000x1000 矩阵 我按照维基百科上的循环平铺示例进行操作 但使用平铺得到的结果比不使用平铺的结果更差 http en wikipe
  • 如何让 CakePdf 在 CakePHP 3.x 中工作?

    我已经安装了CakePdf https github com FriendsOfCake CakePdf插件放在 app plugins 文件夹中并遵循所有可能的文档 因此我的设置如下 config bootstrap php Plugin
  • 在 Octave 中创建具有多个绘图的动画

    我正在使用 Octave 编写一个脚本来绘制不同时间段的函数 我希望制作一个情节动画 以便看到随时间的变化 有没有办法保存每个时间点的每个图 以便可以组合所有图来创建此动画 这有点混乱 但您可以执行以下操作 此处适用于 Octave 4 0
  • 将条形码添加到 Report Builder 3.0

    我正在尝试在我的 RDL 报告中嵌入条形码 该报告由Microsoft SQL Server 报表生成器 3 0 我在互联网上找到了几个建议的解决方案 其中之一是添加DLL参考并添加一些代码 但它不起作用 并且总是无法加载DLL 我通过使用
  • 如何从一个视图控制器弹出到另一个视图控制器

    使用 iOS 我现在有 15 个 ViewController 我想从一个 ViewController 弹出到另一个 ViewController 我正在使用这段代码 SecondViewController Sec SecondView
  • Java 在向上转换时如何处理字段? [复制]

    这个问题在这里已经有答案了 可能的重复 阴影的概念 https stackoverflow com questions 3300805 the concept of shadowing 我对 Java 在向上转换期间如何处理类的字段感到困惑
  • ReactiveCommand 完成时的通知

    我正在尝试使用 ReactiveUI ReactiveCommands 来打开和关闭已转换为可观察对象的 gRPC 流 下面显示的代码在某种程度上有效 连接按钮将导致流连接 并且我开始在订阅的 onNext 处理程序中接收数据 断开连接按钮
  • 如何在 Perl 中指定包版本?

    我对 5 10 0 之前的文档和更新的文档之间的冲突建议感到有点困惑version http search cpan org dist version模块 Perl 最佳实践 http oreilly com catalog 9780596
  • 如何获得多维数组中的唯一值

    我在溢出和谷歌上做了很多查找 但没有一个结果适合我的具体情况 我有一个名为 holder 的占位符数组 值如下 Array 0 gt Array id gt 1 pid gt 121 uuid gt 1 1 gt Array id gt 2
  • ui:repeat 内的 selectManyCheckbox 集合知道它属于转发器的哪个元素

    我正在使用 JSF 2 开发一个 Web 应用程序 我的网络应用程序除其他外还包含一系列问题 一次提出一个问题 因此一次可以看到一个问题 并且有多个答案 我使用 h selectManyCheckbox 我将问题和可能的答案存储在 Arra
  • 如何使 Bootstrap 4 卡组每行宽度相同?

    我使用卡片组每行显示 4 张卡片 div class row div class card deck div class card img class card img top img adjusted div class card bod
  • 使用 Powershell 的 .csproj 文件中特定节点中的节点列表

    我想寻求一些帮助 因为我完全迷失了 我想检查 csproj 文件特定部分中的节点是否包含正确的数据 在下面的 xml 片段中 我想取回 PropertyGroup 下属于 Debug x64 配置文件的 title 的值 csproj 文件
  • 在 zsh 中安装 npm 后找不到命令

    我在安装时遇到一些问题vows http vowsjs org通过 zsh 中的 npm 这是我得到的 我尝试使用和不使用 g 选项安装它 你知道这里出了什么问题吗 Desktop sauce node demo master npm in
  • 如何显示合并提交中所做更改的差异?

    当我编写一堆代码时 我没有意识到我正处于合并过程中 现在git log p不会向我显示此更改的差异 它作为合并提交自动提交 我怎样才能让它显示在我的日志差异历史记录中 有点令人失望的是 Git 没有向您显示用于合并的补丁 p 部分原因是由
  • 如何正确更改 Microsoft Azure 中的 SSH 端口?

    我有一个基于 Ubuntu 14 04 LTS 的虚拟机 用于测试 而不是生产服务器 Azure 上默认打开默认 SSH 端口 22 我想将其更改为 12131 我编辑了 SSH 配置文件并将端口更改为 12131 然后通过以下方式重新加载
  • 集成陀螺仪和加速度计读数[重复]

    这个问题在这里已经有答案了 可能的重复 结合陀螺仪和加速度计数据 https stackoverflow com questions 1586658 combine gyroscope and accelerometer data 我读过很