问题标签 [sensor-fusion]
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.
android - LINEAR_ACCELERATION 所需的传感器
背景:我正在开发一个应用程序,其核心功能包括从安卓手机等获取线性加速度值。我还计划提供设备以及应用程序安装,因为我们的目标客户主要是组织,并且系统是本地部署的,而不是通过商店。
困境:现在在选择设备时,设备中需要哪些硬件传感器才能LINEAR_ACCELERATION
可靠地获取指标?
在搜索中,我发现这LINEAR_ACCELERATION
是一个“融合”传感器,它使用硬件和/或软件实现的组合从ACCELEROMETER
读数中减去重力因子。
我在这里找到了这个:
TYPE_LINEAR_ACCELERATION、TYPE_GRAVITY、TYPE_ROTATION_VECTOR 是“融合”传感器,它们分别返回线性加速度、重力和旋转矢量(四元数)。没有定义这些是如何实现的。在某些设备上,它们以硬件实现,在某些设备上,他们使用加速度计 + 磁力计,在其他一些设备上,他们使用陀螺仪。
那里没有太多关于此的其他信息。那么有人可以提供更多信息吗?
提前致谢。
android - 在android中将传感器报告模式设置为连续以实现恒定采样率
我想要来自多个 android 传感器(TYPE_ROTATION_VECTOR 和 TYPE_LINEAR_ACCELERATION)的数据,采样周期为 20 毫秒。此外,我希望两个传感器的值在时间轴上具有精确的对应关系。
该文档显示,可以使用int REPORTING_MODE_CONTINUOUS
然后在registerListener()
函数内部传递采样率来设置恒定采样率。
但我不明白你如何将报告模式设置为连续。
如何使用 将int REPORTING_MODE_CONTINUOUS
传感器的报告模式设置为连续的,以便获得多个传感器读数的恒定采样率?
android - Epson Moverio BT-200 在 Unity 3D 中的准确设备方向
在尝试在 Unity 中获得 Epson Moverio BT-200 的连续、准确定位时,我目前面临着一个相当具有挑战性的问题。当用户向上/向下看时(当我只使用加速度计时),我能够为用户获得相当好的结果,但对于左/右运动却不行。当仅依靠具有以下代码部分的设备的陀螺仪时,左/右运动以某种方式工作正常,但一段时间后仍然存在漂移,我需要将其移除。
我已经尝试过使用 Android 内部getOrientation
方法和其他各种传感器融合教程和实现(例如http://www.codeproject.com/Articles/729759/Android-Sensor-Fusion-Tutorial)。任何小提示都绝对值得赞赏。:) 提前致谢!!
gps - 什么时候需要将 IMU 传感器数据与 GPS-RTK 融合,什么时候不需要?
我正在使用高精度 GPS RTK 设置来精确定位现场的移动机器人平台(精度低至 10 厘米)。我还在平台上安装了一个 9DOF IMU(9DOF sparkfun IMU Razor)。
问题是,我真的需要像这个 ROS 节点所做的那样(http://wiki.ros.org/robot_localization)在 IMU 和 GPS 之间执行传感器融合来估计机器人姿势吗?还是仅仅从 IMU 读取 Pitch、Yaw、Rotation 数据就足以了解 GPS Long、Lat、Alt 的航向?
什么情况下必须执行这种类型的融合?提前致谢
matrix - 如何使用原始 Gryoscope Data °/s 计算 3D 旋转?
我的问题可能看起来微不足道,但我读得越多——我就越困惑……我已经开始了一个小项目,我想粗略地跟踪旋转物体的运动。(准确地说是篮球)我有一个 3 轴加速度计(低通滤波)和一个测量 °/s 的 3 轴陀螺仪。我知道陀螺仪的问题,但由于测量只需几秒钟,而且角度往往很大——我现在不在乎漂移和云台。
我的陀螺仪给了我所有 3 轴的旋转速度。由于我想对加速度进行两次积分以获得每个时间步的位置,因此我想将传感器坐标系转换为接地系统。第一次尝试,我想保持简单,所以我决定使用大的标准旋转矩阵。但由于我的结果很糟糕,我想知道这是否是正确的方法。如果我理解正确 - 矩阵只是按一定顺序相乘的 3 个矩阵。由于篮球的轮换没有任何“自然”顺序,这可能不是一个好主意。我的传感器一次测量 3 个角速度。如果我“逐步”将它们放入我的系统中,那将是不正确的,因为我的第二个矩阵计算了围绕“新 y 轴”的旋转,但我的传感器实际上测量了围绕“旧 y 轴”的角速度。到目前为止是正确的吗?
那么如何正确计算 3D 旋转呢?我需要去四元数吗?但我如何从 3 个不同的轮换中得到一个?难道我这里又没有同样的问题了吗?
我从一个单位矩阵 ((1, 0, 0)(0, 1, 0)(0, 0, 1)) 乘以加速度矢量开始,得到第一个动作。然后我想使用旋转矩阵找出下一个加速度的真正方向,所以我可以简单地将加速度加在一起。
但是现在我太困惑了,找不到合适的方法。
有什么建议么?顺便提一句。对不起我糟糕的英语,我很累而且(显然)不是母语人士;)
谢谢,亚历克斯
ios - 检测 iOS 设备在 3D 空间中的初始位置 - Core Motion
使用 Coremotion 我们可以get the change in position of device using attitude, rotation using gyro
。但是要知道设备在 3D 空间中的实际位置,我们需要设备的初始位置。因此相应的用户加速度,陀螺仪数据可以应用于更改后的新实际位置。如何获取设备的初始实际位置。我想检测像“向左倾斜 45 度,面朝上”或“向右倾斜 45 度,在 y 轴上旋转 30 度”这样的位置。
arduino - 带有 madgewick 滤波器的 LSM6DS3 可找到倾斜角度,加速度计输出问题
我正在尝试使用 Madgwick 滤波器算法在 arduino mega board 中使用 LSM6DS3 找到对象的倾斜角。但是加速度计的值突然下降到零读数,因此滤波器给出了错误输出。在这篇文章中附上我的代码。
java - android应用程序上的多个传感器
我目前正在开发一个使用多个传感器的 android 应用程序,我
mSensor= mySensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
在OnCreate
Method 中使用来获取传感器,并tv.setText("X: "+ sensorEvent.values[0] + ...);
在onSensorChanged
方法中使用在文本视图中显示加速度计值。
如何添加更多传感器并以相同方式显示它们的值?当我说 时,程序如何知道我指的是哪个传感器sensorEvent.values[0]
?
提前感谢您的任何帮助,Maja
sensors - AuxilliarySenorDesigner(驱动程序)与 CustomSensorDesigner 有什么区别?
我注意到 InvenSense SensorStudio 中有两个块看起来非常相似。嘿,是 AuxillarySensorDesign(驱动程序)和 CustomSensorDesigner 块。两者有什么区别?