问题标签 [magnetometer]

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 投票
1 回答
239 浏览

arduino - 绝对磁轴编码器校准

我有一个绝对磁轴编码器。我想用它来获得电机的方位角。我想从编码器获取值,但我想知道它与磁北对齐还是无关紧要?

因此,如果轴编码器的角度为 0,我必须使用磁力计进行手动校准并添加或减去我的磁偏角。

我将使用磁力计进行检查,但我想知道是否所有这些设备都有标准答案。

0 投票
0 回答
403 浏览

ios - Core Motion 与外部传感器数据?

我设计了一个通过 BLE 传输运动数据的设备。有没有办法对不是从内部 iPhone 传感器派生的数据进行子类化或以其他方式使用 Core Motion?

我看了一下https://github.com/orbotix/Sphero-iOS-SDK/tree/master/samples/SphereMotionTeapot

“设备运动数据来自加速度计和陀螺仪[显然这些都在 Sphero 中];Core Motion 在将数据传递给应用程序之前对其进行处理。”

即他们似乎将外部传感器数据引入Core Motion,但我不够聪明,无法弄清楚他们是如何做到的。

我设置了 BLE 代表来接收和呈现加速度计、陀螺仪和磁力计数据,但我可以将其输入 Core Motion 以使用这些数据运行它的融合算法和设备运动更新吗?

任何有关如何实现这一目标的指示都将非常有用,我将在回复中提供任何成功案例。

0 投票
1 回答
190 浏览

iphone - 获取垂直旋转iphone

我正在开发一个应用程序,我可以在其中获取 iPhone 的动作。iPhone 应该在应用程序运行时垂直拍摄,然后我实现了加速计,它可以帮助我分析倾斜度,但我无法用它研究旋转。所以我需要分析磁力计的旋转,但我不知道如果我垂直使用 iPhone 是否也可以使用它。

有人已经为此用途实现了一些代码吗?

谢谢!

0 投票
1 回答
9877 浏览

android - TYPE_ROTATION_VECTOR, TYPE_ORIENTATION 给出不同的结果,也有偏差

我已经为 Rotation Vector 和 Orientation Vector 实现了监听器,虽然我知道它已经贬值了,但我想测试两者。

我知道 Rotation Vector 是一种融合传感器并被推荐,但根据它, NORTH(由 getOrientation(rotationMatrix,value) geaving bearing 0 返回的 value[0])与来自 Orientation 传感器的 NORTH 不匹配。我还从 Playstore 的不同应用程序中进行了统计,方向传感器的值似乎更接近它们。

此外,很多时候我的 Rotation_Vector 方位角值 [0] 然后 getOrientation 会突然上升并保持在 -180 到 180 之间振荡

PS "getRotationMatrix(float[] R, float[] I, float[] gravity, float[] geomagnetic)" 也给出与旋转向量相同的结果。

我想确定手机的 Y 轴和指向北方的向量之间的角度,这是我最初的实现。请建议。

0 投票
1 回答
1092 浏览

ios6 - 如何初始化 CMCalibratedMagneticField 属性使其不返回零?

在CMCalibratedMagneticField 没有更新之前已经提出了这个问题, 但没有得到真正的回答。我对这个很迷茫。

我使用了一个简单的公式,但 field.field.x、y、z 始终为零。

样本输出为

我很确定问题不在于前面的答案所建议的电话:我正在为相当现代的 4S 编码。我有 CoreMotion、CoreLocation 和 CoreData 框架——也许有一个我不知道我需要在实现中导入的头文件?目前我似乎只需要

但那是其他东西。

任何帮助,将不胜感激!

蒂姆·雷德菲尔德

0 投票
2 回答
3352 浏览

ios - 基于后置摄像头的 CoreLocation 航向(增强现实)

我想创建一个增强现实视图,它将一个对象指向一个方向。但是,当您使用相机朝上时,CoreLocation 标题无法正常工作(例如,当您在一楼时,对着 20 层楼的顶部)。

它给出了相反的方向(可能是手机顶部指向的方向)。

我尝试了一些方法来让它在相机指向的方向上工作,例如:

1、设备方位>45度时+180度(不够准确,突然方向偏离10~20度)

2,尝试使用CMMotionManager和下面教程中的公式进行计算。 http://www.loveelectronics.co.uk/Tutorials/13/tilt-compensated-compass-arduino-tutorial

3,尝试使用 ios deviceMotion.magneticField 和 deviceMotion.gravity 从 android 模拟逻辑。

4、使用旋转矩阵(堆栈溢出中的一些其他帖子,但不准确)

我不知道我还能尝试做些什么。我知道那里有一些应用程序(一些可以看到太阳和星星的应用程序)做得正确。

0 投票
4 回答
9901 浏览

android - 如何通过罗盘读数和陀螺仪读数获得手机的方位角?

我希望通过以下方法获取手机的当前方向:

  1. getRotationMatrix()首先通过和获取初始方向(方位角)getOrientation()
  2. 添加陀螺仪读数随时间的积分以获得当前方向。

电话方向:

手机的 xy 平面与接地平面平行固定。即,处于“边走边发短信”的方向。

" getOrientation()" 回报:

Android API 让我可以轻松地从getOrientation().

注意,此方法始终返回范围内的值:[0, -PI][o, PI]

我的问题:

由于用 表示的陀螺仪读数的积分dR可能很大,所以当我这样做时CurrentOrientation += dRCurrentOrientation可能会超过[0, -PI][o, PI]范围。

需要进行哪些操作才能始终在[0, -PI][o, PI]范围内获得当前方向?

我在 Python 中尝试过以下方法,但我高度怀疑它的正确性。


评论

这不是那么简单,因为它涉及以下麻烦制造者:

  1. 方向传感器读数从0-PI,然后直接跳到+PI逐渐回到0via +PI/2
  2. 陀螺仪读数的集成也带来了一些麻烦。我应该添加dR到方向还是减去dR

在给出确认答案之前,请先参考 Android 文档。

估计的答案无济于事。

0 投票
1 回答
500 浏览

python - 在python中映射磁力计数据

我正在通过 Python 破解我的方式;

现在我正在尝试使用使用 Python 的磁力计来获取机器人的航向。问题是我希望能够通过将基于度数的值映射到我自己的集合来设置“北”。如果我正在对 Arduino 进行编程,我会使用 map() 函数。Python中有类似的东西吗?

0 投票
1 回答
881 浏览

ios - iOS - 解释 CLHeading 的 x、y、z 值

我试图从我从 CLLocationManager 对象的更新中获得的 CLHeading 类中读取的值中获取有意义的“设备方向”信息。这个类包含三个值,x,y,z,它们以微特斯拉为单位,正如我从文档中了解到的那样,这是指向地球磁北的矢量,设备的磁偏被过滤掉了。现在,我想确定的是,我们在哪个坐标系中获得这些读数?它们是否相对于设备自身的坐标系,如下图所示:

坐标
(来源:apple.com

Core Motion 框架使用哪个?

此外,是否有一种可靠的、既定的方法可以让我获得上图中的帧轴向量?根据我的阅读,iOS 不提供此功能,但设备的“姿态”除外,它作为设备的(俯仰、偏航、滚动)角度提供,由 Core Motion 框架的startDeviceMotionUpdatesUsingReferenceFrame方法更新。但我发现这些角度值非常不可靠,因为即使设备静止,它们也会波动。我需要尽可能精确的设备方向数据,因为我将使用这些数据来校准相机系统。

提前致谢。

0 投票
1 回答
958 浏览

android - 安卓磁传感器

我正在为 Android 操作系统开发指南针。当我使用 TYPE_MAGNETIC_FIELD 时,有些设备有这个传感器,有些设备没有。我不知道如何处理这个问题。我应该不支持这些设备还是使用其他传感器方法。你能给我一个建议吗?

非常感谢。