我只是在大声思考,而且我还没有使用过 android 加速度计 API,所以请耐心等待。
首先,传统上,要从加速度计获得导航,您需要一个 6 轴加速度计。您需要 X、Y 和 Z 方向的加速度,还需要旋转 Xr、Yr 和 Zr。如果没有旋转数据,您就没有足够的数据来建立矢量,除非您假设设备永远不会改变它的姿态,这将是非常有限的。无论如何,没有人阅读 TOS。
哦,你知道INS会随着地球的自转而漂移,对吧?所以也有。一小时后,你神秘地爬上了一个 15° 的斜坡进入太空。那是假设您有一个 INS 能够长时间保持位置,而手机还不能做到这一点。
使用加速度计(即使使用 3 轴加速度计)进行导航的更好方法是尽可能与 GPS 连接以校准 INS。在 GPS 不足的地方,INS 可以很好地补充。由于您离树太近,GPS 可能会突然将您从 3 个街区外射出。INS 不是很好,但至少它知道你没有被流星击中。
你可以做的是记录手机加速度计数据,以及很多。就像几个星期一样。将其与良好的(我的意思是非常好的)GPS 数据进行比较,并使用数据挖掘来建立加速度计数据和已知 GPS 数据之间的趋势相关性。(专业提示:您需要检查 GPS 历书是否有良好的几何形状和大量卫星。有些日子您可能只有 4 颗卫星,这还不够)您可能会发现当一个人当手机放在口袋里走路时,加速度计数据记录了一个非常具体的模式。根据数据挖掘,您可以为该设备、该用户建立一个配置文件,以及该模式在有 GPS 数据时代表的速度类型。您应该能够检测到转弯、爬楼梯、坐下(校准到 0 速度时间!) 和其他各种任务。手机的持有方式需要完全视为单独的数据输入。我闻到了用于进行数据挖掘的神经网络。换句话说,对输入的含义视而不见。该算法只会寻找模式中的趋势,而不是真正关注 INS 的实际测量值。它所知道的只是historically, when this pattern occurs, the device is traveling and 2.72 m/s X, 0.17m/s Y, 0.01m/s Z, so the device must be doing that now.
它会相应地向前推进。重要的是它是完全失明的,因为只需将手机放在口袋里可能会以 4 种不同方向之一定向,如果换口袋则 8 种。还有很多方法可以握住您的手机。我们在这里谈论很多数据。
你显然仍然会有很多漂移,但我认为这样你会有更好的运气,因为设备会知道你什么时候停止行走,并且位置漂移不会持续存在。它会根据历史数据知道您处于静止状态。传统的 INS 系统不具备此功能。这种漂移会以指数方式延续到所有未来的测量和化合物中。对于传统的 INS 来说,不虔诚的准确性,或者定期检查二级导航是绝对重要的。
每个设备,每个人都必须有自己的个人资料。这是大量的数据和大量的计算。每个人的行走速度不同,步数不同,将手机放在不同的口袋里等等。在现实世界中实现这一点肯定需要在服务器端处理数字运算。
如果您确实使用 GPS 作为初始基线,则部分问题是 GPS 往往会随着时间的推移而有自己的迁移,但它们是非永久错误。将接收器放在一个位置并记录数据。如果没有 WAAS 更正,您可以轻松获得在您周围 100 英尺的随机方向上漂移的位置修正。使用 WAAS,可能低至 6 英尺。实际上,在背包上安装亚米 RTK 系统可能会更好,至少可以降低 ANN 的算法。
使用我的方法,INS 仍然会有角度漂移。这是个问题。但是,如果你到目前为止构建了一个人工神经网络,在 n 个用户中倾注了数周的 GPS 和 INS 数据,并且实际上让它工作到了这一点,那么你显然不介意到目前为止的大数据。继续走这条路并使用更多数据来帮助解决角度漂移:人是习惯的动物。我们几乎做同样的事情,比如在人行道上行走、穿过门、上楼梯,而不是做疯狂的事情,比如穿过高速公路、穿过墙壁或走出阳台。
因此,假设您正在从老大哥那里获取页面并开始存储有关人们去向的数据。您可以开始绘制人们预期步行的位置。可以肯定的是,如果用户开始走上楼梯,她与之前的人走上的楼梯底部相同。在 1000 次迭代和一些最小二乘调整之后,您的数据库几乎可以非常准确地知道这些楼梯的位置。现在,您可以在人开始行走时校正角度漂移和位置。当她撞上那些楼梯,或者拐下那个大厅,或者沿着人行道行进时,任何漂移都可以得到纠正。您的数据库将包含根据一个人走到那里的可能性或该用户过去曾走过那里的可能性加权的扇区。空间数据库为此进行了优化,使用divide and conquer
只分配有意义的部门。这有点像麻省理工学院的项目,配备激光的机器人从黑色图像开始,并通过每一个转弯来描绘记忆中的迷宫,照亮所有墙壁的位置。
人流量大的区域将获得更高的权重,而从未有人获得过权重的区域将获得 0 权重。较高的交通区域具有较高的分辨率。您最终会得到一张任何人去过的任何地方的地图,并将其用作预测模型。
如果您可以使用这种方法确定一个人在剧院中的座位,我不会感到惊讶。如果有足够多的用户去剧院,并且有足够的分辨率,您将拥有映射剧院每一排的数据,以及每排的宽度。访问某个位置的人越多,您预测该人所在位置的保真度就越高。
另外,如果您对当前对此类内容的研究感兴趣,我强烈建议您(免费)订阅 GPS World 杂志。每个月我都在玩它。