问题标签 [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.
arduino - 绝对磁轴编码器校准
我有一个绝对磁轴编码器。我想用它来获得电机的方位角。我想从编码器获取值,但我想知道它与磁北对齐还是无关紧要?
因此,如果轴编码器的角度为 0,我必须使用磁力计进行手动校准并添加或减去我的磁偏角。
我将使用磁力计进行检查,但我想知道是否所有这些设备都有标准答案。
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 以使用这些数据运行它的融合算法和设备运动更新吗?
任何有关如何实现这一目标的指示都将非常有用,我将在回复中提供任何成功案例。
iphone - 获取垂直旋转iphone
我正在开发一个应用程序,我可以在其中获取 iPhone 的动作。iPhone 应该在应用程序运行时垂直拍摄,然后我实现了加速计,它可以帮助我分析倾斜度,但我无法用它研究旋转。所以我需要分析磁力计的旋转,但我不知道如果我垂直使用 iPhone 是否也可以使用它。
有人已经为此用途实现了一些代码吗?
谢谢!
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 轴和指向北方的向量之间的角度,这是我最初的实现。请建议。
ios6 - 如何初始化 CMCalibratedMagneticField 属性使其不返回零?
在CMCalibratedMagneticField 没有更新之前已经提出了这个问题, 但没有得到真正的回答。我对这个很迷茫。
我使用了一个简单的公式,但 field.field.x、y、z 始终为零。
样本输出为
我很确定问题不在于前面的答案所建议的电话:我正在为相当现代的 4S 编码。我有 CoreMotion、CoreLocation 和 CoreData 框架——也许有一个我不知道我需要在实现中导入的头文件?目前我似乎只需要
但那是其他东西。
任何帮助,将不胜感激!
蒂姆·雷德菲尔德
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、使用旋转矩阵(堆栈溢出中的一些其他帖子,但不准确)
我不知道我还能尝试做些什么。我知道那里有一些应用程序(一些可以看到太阳和星星的应用程序)做得正确。
android - 如何通过罗盘读数和陀螺仪读数获得手机的方位角?
我希望通过以下方法获取手机的当前方向:
getRotationMatrix()
首先通过和获取初始方向(方位角)getOrientation()
。- 添加陀螺仪读数随时间的积分以获得当前方向。
电话方向:
手机的 xy 平面与接地平面平行固定。即,处于“边走边发短信”的方向。
" getOrientation()
" 回报:
Android API 让我可以轻松地从getOrientation()
.
请注意,此方法始终返回范围内的值:[0, -PI]
和[o, PI]
。
我的问题:
由于用 表示的陀螺仪读数的积分dR
可能很大,所以当我这样做时CurrentOrientation += dR
,CurrentOrientation
可能会超过[0, -PI]
和[o, PI]
范围。
需要进行哪些操作才能始终在[0, -PI]
和[o, PI]
范围内获得当前方向?
我在 Python 中尝试过以下方法,但我高度怀疑它的正确性。
评论
这不是那么简单,因为它涉及以下麻烦制造者:
- 方向传感器读数从
0
到-PI
,然后直接跳到并+PI
逐渐回到0
via+PI/2
。 - 陀螺仪读数的集成也带来了一些麻烦。我应该添加
dR
到方向还是减去dR
。
在给出确认答案之前,请先参考 Android 文档。
估计的答案无济于事。
python - 在python中映射磁力计数据
我正在通过 Python 破解我的方式;
现在我正在尝试使用使用 Python 的磁力计来获取机器人的航向。问题是我希望能够通过将基于度数的值映射到我自己的集合来设置“北”。如果我正在对 Arduino 进行编程,我会使用 map() 函数。Python中有类似的东西吗?
ios - iOS - 解释 CLHeading 的 x、y、z 值
我试图从我从 CLLocationManager 对象的更新中获得的 CLHeading 类中读取的值中获取有意义的“设备方向”信息。这个类包含三个值,x,y,z,它们以微特斯拉为单位,正如我从文档中了解到的那样,这是指向地球磁北的矢量,设备的磁偏被过滤掉了。现在,我想确定的是,我们在哪个坐标系中获得这些读数?它们是否相对于设备自身的坐标系,如下图所示:
(来源:apple.com)
Core Motion 框架使用哪个?
此外,是否有一种可靠的、既定的方法可以让我获得上图中的帧轴向量?根据我的阅读,iOS 不提供此功能,但设备的“姿态”除外,它作为设备的(俯仰、偏航、滚动)角度提供,由 Core Motion 框架的startDeviceMotionUpdatesUsingReferenceFrame
方法更新。但我发现这些角度值非常不可靠,因为即使设备静止,它们也会波动。我需要尽可能精确的设备方向数据,因为我将使用这些数据来校准相机系统。
提前致谢。
android - 安卓磁传感器
我正在为 Android 操作系统开发指南针。当我使用 TYPE_MAGNETIC_FIELD 时,有些设备有这个传感器,有些设备没有。我不知道如何处理这个问题。我应该不支持这些设备还是使用其他传感器方法。你能给我一个建议吗?
非常感谢。