c - Madgwick 2010 AHRS 在 C 语言中的实现

标签 c

我正在开发一个位置跟踪系统,并找到了对 Madgwick 的 2010 paper 的引用,其中包括用于获取绝对方向的开源方法。

但是,在执行过滤器后,我得到的陀螺仪数据似乎以某种方式扭曲了,扭曲程度约为 100(比我预期的要小)。

我做了一些搜索,发现 this post谈论的似乎是原始 Madgwick 过滤器的替代形式,但是将其与“原始 2010 版本”进行比较显示了梯度下降算法的不同值,以及大多数人谈论他们的偏航值“翻转” .

我不太确定我应该再使用哪个版本的 Madgwick AHRS,我也不确定是否有人遇到过与我使用这个“旧版本”相同的幅度/缩放问题。其他人用过 C 语言的 2010 MARG 吗?如果是这样,您是否也遇到过陀螺仪航向值“缩放”的相同问题?

最佳答案

IMU ,一些寄存器通常专用于传感器范围。检查一下,这可能是你失真的根源。

请注意,传感器必须经过校准,尤其是磁力计。看看this page ,这是 Sebastian Madgwick 的有效实现的AHRS算法。

关于c - Madgwick 2010 AHRS 在 C 语言中的实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41836981/

相关文章:

c - 添加 avfilter 后编译 FFMPEG/libav 代码时出错

c - MVC 中奇怪的 sizeof 结果(对齐?)

python - 如何在 python 中的数据文件中将数组作为列元素写入并稍后在 C 中读取?

c - 这个C函数是如何工作的

C代码编码器! (数组)(嵌套循环)(fgets)(语法?)

c - 为函数使用宏

c - 从文件中读取行并创建按字母顺序排序的数组

c - 为什么 ld 在将可执行文件与 a 链接时需要 -rpath-link 以便需要另一个 so ?

python - 动态规划递归求解

c - 为什么在 if-else 中使用运算符 OR(逻辑运算符),为什么不在 if-else 中使用 AND(逻辑运算符)