问题标签 [inertial-navigation]

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 回答
1140 浏览

ios5 - iPhone4 iOS5 传感器融合用于短距离惯性导航

我环顾四周,关于iOS5惯性导航的演讲或例子并不多。我知道iOS5引入了一些很酷的传感器融合算法:

我看过来自 WWDC 的两个视频,它们处理上面的块。

生成的 CMDeviceMotion 包含一个设备姿态向量,以及与用户引起的加速度分开的加速度。

是否有任何专门针对 iOS 5 的开源惯性导航项目可以利用这种新的传感器融合?我说的是进一步将这些数据与 GPS 和磁力计输出集成,以获得更准确的 GPS 位置。

一个额外的问题:从硬件的角度来看,这种融合是否可能?如果我开始长时间对所有可用传感器数据进行 20hz 处理,我会融化我的 iPhone4 吗?

我已经准备好开始修改这些了,但我希望得到比上面的空块更坚实的东西:)

感谢您的任何指点!

0 投票
2 回答
656 浏览

android - 确定惯性导航系统中的航向

我有一个关于使用移动设备进行惯性导航的问题。我正在使用 android 平板电脑进行开发,但我认为这个问题与所有类型的硬件(即使使用更好的传感器)有关。

开发惯性系统时最基本的问题是如何确定载体的运动方向。即使我们假设磁力计读数是 100% 准确的(他们显然不是!)仍然存在设备相对于用户的方向的问题。

简单示例 - 如果用户向北走,但手持设备,设备的 Y 轴指向东北,(指向不同轴的图片的链接:http: //developer.android.com/reference/android/hardware /SensorEvent.html ) 然后磁力计将指向东北。我们如何判断用户实际走向哪条路?(如果我们同时使用磁力计和陀螺仪来确定航向,情况也是如此)

一种可能的解决方案是使用加速度计的 Y 轴和 X 轴读数。使用 arctan(aY/aX) 方向的东西(例如 - 如果用户完全笔直地握住设备,那么 X 轴将不会显示任何内容......)但是由于加速度计的读数不稳定,所以不是这样简单的...

有谁知道真正有效的算法?我确信这是一个众所周知的问题,但我似乎无法找到解决方案的参考......

提前致谢!

爱丽儿

0 投票
3 回答
5503 浏览

position - 使用加速度计+陀螺仪的小汽车模型位置计算

我想计算一辆小型遥控车的位置(相对于起始位置)。汽车在平坦的表面上移动,例如:房间地板。现在,我正在使用加速度计和陀螺仪。确切地说,这个板——> http://www.sparkfun.com/products/9623

作为第一步,我只是在 x 和 y 轴上获取加速度计数据(因为汽车在表面上移动)并双重整合数据以获得位置。我使用的公式是:

以上公式基于此文档: http: //perso-etis.ensea.fr/~pierandr/cours/M1_SIC/AN3397.pdf

然而,这给出了可怕的错误。

在阅读了这个论坛上的其他类似问题后,我发现我需要以某种方式使用陀螺仪从上述加速度值(每次来自 acc_new)中减去重力分量。这个想法在 Google 技术讲座视频Sensor Fusion on Android Devices: A Revolution in Motion Processing中得到了很好的解释,时间 23:49。

现在我的问题是如何减去重力分量?我从陀螺仪获得角速度。如何将其转换为加速度,以便我可以从加速度计的输出中减去它?

0 投票
1 回答
2387 浏览

android - 将陀螺仪读数转换为度数

我正在尝试使用 Android 设备上的陀螺仪在汽车转弯时找到汽车的旋转角度。因此,想象一辆汽车以 168 角的方位行驶并在道路上右转。现在我需要使用陀螺仪计算新的航向或方位角。但是我收到的值是以弧度/秒为单位的。我尝试在时间段 dT 内整合这些值。但这些值甚至不接近实际角度。我认为旋转是参考设备,我试图将值转换为真实的世界坐标。但我没有得到一个好的算法。

有人可以帮助我或指出正确的资源来解决这个问题吗?

编辑:我忘了在问题中提到,我试图在没有 GPS 的情况下这样做,(在 GPS 失败的情况下。)我试图避免传感器融合,因为我打算只使用陀螺仪,因为我正在寻找一个甚至可以在 Android 平台之外运行的解决方案。我什至正在与 OBD 交谈以获取车辆的实际速度。所以我只是想从任何客户端收集陀螺仪数据并在后端处理它并确定车辆的转向

0 投票
1 回答
552 浏览

uiscrollview - 使用 UIScrollView 在 UIPageControl 中进行惯性滚动

我有一个UIScrollView启用分页,并且一个对应UIPageControl的表示当前页面。这很好用,但我想引入惯性滚动以通过一次滑动来导航多个页面。

我见过的一个例子是 iOS 的 StickTennis 应用程序。我该怎么做类似的事情?

看图片

0 投票
1 回答
1271 浏览

orientation - 具有冗余状态测量的卡尔曼滤波器

我正在尝试实现用于方向检测的卡尔曼滤波器。就像我在网上找到的大多数其他实现一样,我将使用陀螺仪和加速度计来测量俯仰和滚动,但我还打算添加水平检测。这将使我对俯仰和滚动进行第二次阅读。这意味着我将有两种测量当前状态的方法,加速度计和水平检测,而陀螺仪将用于控制。

到目前为止,我已经根据本教程分别实现了传感器数据和水平检测的过滤器:http: //blog.tkjelectronics.dk/2012/09/a-practical-approach-to-kalman-filter-and-how-实现它/

我必须修改卡尔曼滤波器的哪一部分,以便算法在预测状态、加速度计读数和水平检测读数之间选择最佳读数?任何帮助、论文或网站的链接将不胜感激提前感谢您的帮助

0 投票
1 回答
181 浏览

opengl-es - 谷歌眼镜文档

由于我在文档中找不到任何内容并且支持没有帮助,有没有人知道:

1) OpenGL ES 支持

2) IMU 访问 API

3) 相机规格(焦距、传感器尺寸等)

我想开发比其他 Instagram 应用程序更先进的东西,那就是计算机视觉,但是……有可能吗?

更新:

1) OpenGL ES 2.0 支持:GDK(Glass NDK?)是否支持 OpenGL ES?

2) IMU 可通过以下方式访问:http GDK: //blog.glassdiary.com/post/68954384185/google-glass-development-kit-gdk-sample-code-motion

0 投票
0 回答
465 浏览

android - 如何在 android 上设置 LINEAR_ACCELERATION 传感器的重力值?

我正在为三星 Galaxy S4 开发应用程序。我正在尝试使用 LINEAR_ACCELERATION 传感器,它使用传感器与加速度计和陀螺仪融合来减去重力,这样你就可以获得一个干净的加速度值。它工作得很好,但我注意到无论哪个轴指向下方,都会不断显示大约 0.5 m/s/s 的值。我还注意到,当我使用加速度计传感器时,重力读数约为 9.2-9.3 m/s/s。

有什么方法可以调整 LINEAR_ACCELERATION 传感器使用的重力常数,或者校准加速度计本身以显示重力的真实值?

感谢任何帮助的人,我真的需要它。

0 投票
1 回答
2350 浏览

kalman-filter - 惯性导航系统的间接卡尔曼滤波器

我正在尝试使用Indirect Kalman Filter实现惯性导航系统。我发现了很多关于这个主题的出版物和论文,但没有太多的代码作为例子。对于我的实施,我正在使用以下链接中提供的硕士论文:

https://fenix.tecnico.ulisboa.pt/downloadFile/395137332405/dissertacao.pdf

如第 47 页所述,来自惯性传感器的测量值等于真实值加上一系列其他项(偏差、比例因子……)。对于我的问题,让我们只考虑偏见。

所以:

所以,

当我传播机械化方程(方程 3-29、3-37 和 3-41)时,我应该使用“真实”值,或者更好:

其中 BiasW 和 BiasA 是最后可用的偏差估计。对?

关于 EKF 的更新阶段,如果测量方程是

H 矩阵应该有一个单位矩阵,对应于速度误差状态变量 dx(VEL) 和其他地方的 0。对?

说我不确定如何在更新阶段之后传播状态变量。状态变量的传播应该是(在我看来):

但这没有用。因此我尝试过:

那也没有用...我尝试了两种解决方案,即使我认为应该使用“+”。但是由于两者都不起作用(我在其他地方还有其他错误),所以我会问您是否有任何建议。

您可以在以下链接中看到一段代码:http: //pastebin.com/aGhKh2ck

谢谢。

0 投票
1 回答
3295 浏览

c - 使用 3 轴加速度计和陀螺仪获取方向

这是我关于 SO 的第一篇文章。我还没有为嵌入式系统开发太多代码,但我遇到的问题很少,需要更高级程序员的帮助。我使用以下设备:-带有 LPC1768 (Cortex M3) MCU 的 LandTiger 板,-带有 ADXL345 加速度计(3 轴)的 Digilent pmodACL,-带有 L3G4200D 陀螺仪(3 轴)的 Digilent pmodGYRO。

我想获得一些有关设备方向的信息,即 X、Y 和 Z 轴上的旋转角度。我已经读过,为了实现这一点,我需要使用卡尔曼滤波器或其更简单的形式(即互补滤波器)组合来自加速度计和陀螺仪的数据。我想知道是否可以仅使用陀螺仪和加速度计(没有磁力计)的测量数据从全范围(0-360 度)计算滚动、俯仰和偏航。我还找到了一些数学公式(http://www.ewerksinc.com/refdocs/Tilt%20Sensing%20with%20LA.pdfhttp://www.freescale.com/files/sensors/doc/app_note/AN3461 .pdf),但它们在分子/分母中包含平方根,因此有关坐标系正确象限的信息会丢失。