问题标签 [digital-compass]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
455 浏览

ios - GPS 航向 - 指南针航向

我有一个带有箭头的刻度盘——我希望这个箭头指向 GPS 坐标并同时调整罗盘方向。

我让罗盘旋转得很好,我也可以将箭头指向正确的 GPS 航向,但是在旋转 GPS 航向箭头时我无法补偿罗盘航向。

谁能给我一个简单的例子?这几天苦苦挣扎!

ATB。克里斯

0 投票
1 回答
1210 浏览

java - 如何计算低通滤波器的平滑参数值(在罗盘传感器数据平滑的情况下)

我想使用低通滤波器平滑智能手机的罗盘传感器数据,并想计算低通滤波器实现的平滑参数。

我有一个关于此论坛上可用的问题/帖子之一的问题

在上面的帖子中,作者希望使用低通滤波器对传感器数据进行平滑处理,并建议根据需要设置平滑参数(ALPHA)。平滑参数应介于 0-1 之间。接近 0 的值在数据中是平滑的。

因此,作者使用了 ALPHA = 0.15。

根据我的观点和科学的观点,人们不能通过闭上眼睛并选择一个从 0 到 1 的随机值来做到这一点。

所以我的问题是如何计算平滑参数(ALPHA),而我的采样率为 100Hz。根据我的观点,这个平滑参数对于不同的采样率是不同的。因此,平滑参数的猜测或分析将无法实时进行。

因此,我正在寻找如何计算低通滤波器的平滑参数。在这方面,我看过这个有趣的介绍

在第 13 页上,如果知道时间常数 (Tau),则可以看到计算平滑参数的公式

计算 Tau 的公式 = 电容 * 电阻

从电子罗盘 AK8974 的数据表中,我计算了电阻和电容并计算了 (Tau)

知道 Tau 后,可以使用以下公式轻松计算平滑参数

ALPHA=Tau/Tau+deltaT

在我的例子中,ALPHA 的值是 (0.00714)

我想对时间常数 (Tau) 和平滑参数的计算提出意见。这是证明平滑参数合理的正确方法吗?还有其他方法吗?

0 投票
2 回答
2344 浏览

logging - 带有 Ublox NEO6MV2 GPS 和 HMC5883L Compass 的 C++ Arduino 项目

我想同时使用 GPS 模块和指南针传感器并用 SD 卡记录信息。我完成了硬件部分,但我的代码不能正常工作。我可以在 SD 卡上记录 GPS 数据,但我无法使用 Compass 的航向数据以这种格式记录 GPS 数据 => 日期时间+经度+纬度+速度+航向..

我认为出于某种原因,循环正在中断,它在第一次运行后停止,但我不知道为什么。

0 投票
1 回答
854 浏览

ios - iOS 7 检测真北航向是否可用

我有一个应用程序,我最近转换为使用 Apple 的新指南针融合 API。它曾经使用较旧的(现已弃用)API。

这就是我启用运动更新的方式。如果定位服务不可用,我必须询问磁北,因为系统无法确定磁偏角来确定从磁北尝试北。如果你不这样做,指南针就会挂起,什么都不会发生

我看到在其他情况下无法获得真北。如果您将设备置于飞行模式,它将无法在互联网上查找磁偏角并且会失败。让它以这种方式失败有点棘手,因为有时系统会缓存旧的磁偏角。

有谁知道确定系统是否可以到达真北的首选方法?我可以使用 Reachability 类,但这可能是矫枉过正。由于缓存值,它可能仍然能够确定真北。

[编辑]

我确实找到了另一种看起来有点健壮的方法。看起来如果您要求真北航向并且无法确定真北,那么当您要求时,运动管理器的 deviceMotion 将为零。您需要在启动后一两秒后执行此操作,以允许运动管理器启动并运行。

我对这种方法的唯一担心是我认为在这种情况下返回 nil 并不是记录在案的行为。它现在可以工作,但在未来的版本中可能不会。

0 投票
1 回答
3328 浏览

android - 指南针在安卓系统中不起作用

我已经关注这个关于 android 指南针的教程。Android Compass 代码示例。但是当我在我的 Micromax Funbook 平板电脑上运行它并且也在 Sony experia Tipo 手机上运行时,但在指南针上什么也没有发生,它只是显示指南针图像。那么这些有什么问题呢?如果这些设备不支持,那么如何为这些设备制作这个应用程序?

0 投票
1 回答
2438 浏览

android - 使指南针指向 Unity 中的特定位置

我正在尝试制作一个指向 Unity 程序中自定义位置的指南针。但是它完全关闭了,它通常指向错误的方向,我似乎无法弄清楚我的逻辑有什么问题。

我在这里使用弯曲几何轴承方程:http: //www.yourhomenow.com/house/havesine.html

  1. 获取当前位置。
  2. 计算从当前位置到目标位置的方位。
  3. 相对于真北旋转屏幕指南针。

    /li>

如果我删除该代码中的方位偏移,它指向的北方就足够用于数字罗盘了。

0 投票
1 回答
2476 浏览

android - 这是数字罗盘还是 Unity 限制?

我对移动设备的AR应用很感兴趣,自然想更好地利用指南针。

我一直在努力解决的唯一问题不是指南针的抖动程度。(角度平滑似乎很好地解决了这个问题)我的主要问题是当设备保持垂直时,指南针值开始吓坏了。导致屏幕上的指南针在整个地方翻转。我在移动应用程序开发方面没有很多经验,所以我不确定是什么导致了这个问题,是 Unity 问题还是只是数字罗盘的限制。我知道其他应用程序似乎可以在任何方向使用指南针,但这对我来说都是愚蠢的新事物。

我确实尝试过以 8 的数字移动手机。我必须使用的设备是 Nexus 4。

0 投票
2 回答
6248 浏览

c - 倾斜磁力计输出 - 俯仰和滚动倾斜补偿 - 我迷路了

我在这个特定问题上浪费了 2 天(和晚上),并且在倾斜补偿我的磁力计输出方面完全失败。
我尝试了我在谷歌和开源示例中可以阅读的所有内容,没有任何东西可以指导我对两者(滚动和俯仰)进行适当的倾斜补偿。.

设置:我使用校准值而不是统一值。
我有一个融合的重力矢量,它工作正常且准确。
传感器是 9dof BMX055 ( http://www.mouser.com/ds/2/621/BST-BMX055-DS000-01-274824.pdf ) 每个轴上的磁力计最小值/最大值为 +- 512 (小差异,但所有轴都归零)。硬件是 Sam3X8e (Cortex M3),全部用 C 语言编写。
浮点和三角函数可以很快完成,所以没问题。BMX055 芯片对齐,使引脚 20、19、18 指向前面。
数据表第 159-161 页显示了方向。当我上升前,音高上升。
当我抬起左侧时,滚动上升。

示例值:
指向我的算法在水平调平时调用 305 度的方向

对齐应该始终在 305 度左右(尽我所能),也许 +- 5 度。

公式:(到处都用同一个)

我尝试了各种组合,我尝试只修复一个轴并将一个轴始终保持为 0,在任何输入上交换 X/Y 俯仰/滚动,*-1。

结果总是完全错误的。有时(取决于我尝试通过试验/错误来反转或不反转值的位置)这些值似乎几乎是线性的。有时一个轴在正区域得到补偿。
然而,滚动和俯仰总是会导致“随机”跳跃和航向变化。
数学从来不是我最喜欢的,现在我后悔了。

我个人的猜测是这个公式在principe是正确的,mag在principe中工作(毕竟我在练级时获得了适当的学位)但我不知何故喂了一些错误的东西。(如Y和X需要互换,z*-1,pitch需要*-1)

在这个主题上擅长的人可以看看并指导我如何获得正确的标题吗?
今晚能睡几个小时而不必再梦见一个功能失调的算法会很棒:)

更新:此处的倾斜补偿适用于指向 305 度航向时的负滚动。这里也用到了:http ://www.emcu.it/MEMS/Compass/MEMS_Compass_A_RTM1v3.pdf

0 投票
0 回答
141 浏览

android - 临时交换设备传感器轴

我想创建一个可以临时交换 XYZ 设备传感器轴的应用程序,例如陀螺仪、指南针、加速度计等(即让设备相信 X 轴是 Z,北是南,右是左,上是下等...)。只要加载了这个应用程序,所有其他应用程序都会相信伪造的传感器数据,能够直接从通知栏打开/关闭它,如果可能的话,我希望它在没有 root 的情况下工作!如果有人可以提供帮助或可以向我指出现有的解决方案,我将不胜感激!如果你能为我开发它,我什至愿意支付合理的价格!

0 投票
1 回答
51 浏览

android - 将指南针指向特定坐标


我正在创建一个 android 指南针应用程序。
但是,我想添加一个功能,其中指南针将指向我指定的某个坐标。
我怎样才能做到这一点。

谢谢和问候,
Rohit Savant