Fork me on GitHub
AirClown' Blog

  • 首页

  • 关于

  • 归档

基于地磁场的室内定位介绍

发表于 2018-10-24 | 更新于 2018-10-25

声明一下,该篇文章纯粹是科普性质的,不涉及任何代码和算法实现。

我们来看看如何利用磁场来定位。

1、为什么能用磁场定位

这个问题估计有很多人都想不明白,那么就听我来解释一下。首先地球就可以看成一块大磁铁,因此磁场在我们身边是无处不在的,我们利用地球的磁场可以快速确认南北极,进而确定我们所处的方向,手机中的方向传感器就是由此而来。那么磁场又跟定位有什么关系呢,我们身边的磁场其实很容易受到铁制品的干扰,而建筑物中又到处布满了钢筋和各种铁制管道,这样就会导致我们在测量出的磁场在室内不同的位置上会有着不同的场强和变化,由于钢材的分布可以j近似看成是随机的,而且在长时间内是不会轻易改变的,这样一来根据场强的变化趋势就可以形成一个独一无二的指纹。然后我们通过测量室内磁场的分布建立磁场分布图,通过测量磁场数据匹配磁场分布图,就可以精确定位到当前所在的位置了。

2、地磁场是否保持稳定?

实际上,磁场是有变化的。随着季节的变化,地磁也会发生改变,但这种改变仅限于磁场强度的变化,磁场分布图上磁场的变化趋势是没有发生改变的,我们可以观测到磁场的平均幅度相差很大,但是整体波形还是非常相似的。这种幅度上的差异我们是可以通过一些数学手段来消除的。

3、还有什么会影响磁场?

只要是铁制品,对磁场都是用影响的。例如电脑、电视等电子产品,另外,假如你家里新买了冰箱或者洗衣机等大型电器,那么当然会对磁场造成影响了。不过这些电器的影响都不大,往往影响距离只有半米不到,通过算法还是可以消除这些影响的。真正对我们定位产生影响的,是像电梯、汽车这种大型铁块,这些大体积,并且具有移动性的铁块对于磁场的影响还是相当大的,具体没有去测量过,不过可以肯定,它们的影响范围至少在一米以上。

4、我们怎么来做磁场定位?

首先选定场地,采集室内的磁场分布,建立磁场分布图。我们在行进过程中,通过手机采集的磁场数据去实时匹配磁场分布图,最终确定所在位置。

5、磁场匹配算法有哪些?

主流算法是采用粒子滤波器。也有用DTM、卡尔曼滤波来做的,仅供参考。

6、地磁定位有什么优势和劣势?

优势在于不需要借助其他器械,单纯靠一台智能手机就能够进行数据采集和定位,算法简单易实现,有自我纠偏的功能,误差不会累计。

缺点在于事先要采集数据建立磁场分布图。刚开始定位时,若是地图较大,需要花较长时间来匹配地图,匹配时间较长,有一定概率匹配失败(依赖于算法的效率和复杂度)。另外,磁场也会受到大型移动铁块(车辆)的干扰,因此不太适合用于停车场的导航。

总结一下,虽然磁场定位有相当不错的性能,但是鉴于磁场的不稳定性(易受外物干扰),纯粹的磁场定位还是有一定的失败可能性。因此,建议将磁场定位作为一个辅助性的定位方法。

惯性导航在室内定位中的优势与劣势

发表于 2018-10-11 | 更新于 2018-10-24

研究了一段时间手机的惯性导航,跟大家分享一下学习的心得。

先下个结论,高精度的室内定位是无法单靠惯性导航(简称:惯导)来实现的。为什么我会这么说呢,看完这篇文章你就明白了。

先说下为什么要研究室内导航技术,一个非常简单的原因:室内GPS信号差。假如室内能清晰的收到GPS信号,这个问题就不会令那么多所谓的科学家、研究人员感到头疼了。

进入正题,首先惯性导航主要依赖于两个传感器,和通过传感器计算出三个参数:

加速度传感器:行走步数N,行走步长L

磁场传感器:方向A

假定此时的位置为P(x0,y0),当我们向前迈出一步后,相信大家都很容易推出下个位置P(x1,y1):

1
2
x1=x0+L*cos(A);
y1=y0+L*sin(A);

我们通过这个简单的公式就可以不断的推导人的行进位置。

当然,理想是很美好的,实际上我们在导航的过程会遇到第一个问题就是传感器的误差。
误差是无法避免的,我们的传感器可以做到高精度,但是再高的精度也无法避免产生误差,算法在一定程度上可以弥补这些差距,但算法并不是万能的。千里之堤溃于蚁穴,误差积累到一定程度就会产生极大的影响。

传感器的自身误差是一方面,另一方面就要考虑到环境的影响。举个例子来说就是强磁场干扰,我们手机的磁场传感器随时会受到各类电子仪器,巨型铁块(例如:电梯)的干扰,在这种情况下,方向A将变得及其不稳定。还有人在行走过程中手臂的摆动会对加速度产生影响,这可不是简单滤波就可以消除的。

还有一个难点在于步长L的推算,人是非常有个性的生物,多么有个性呢?不同的人,不同的环境,不同的着装,走出来的步伐都不尽相同,说白了就是没有一个很好的推算公式来模拟人的步长,当然这也就造成了误差。

然而我们会看到一些论文,会说他们设计的惯性系统的精度在1%以下,实际上仔细看的话,他们的实验场景往往局限在极小的范围内,时间跨度也很短暂。想象一下你出门陪女朋友逛街,可能在某个大型商场中一逛就是好几个小时,这时候惯导早就偏到天边去了,这也就是现在的商业场景中,没有哪个纯惯导系统能获得成功的原因(事实上,没有也没有其他算法能做到高精度,低成本的室内定位,不然早推广到全球了)。

假设传感器没有一丝误差,环境也对传感器也不产生一丝影响,这时候误差依旧存在。因为人就是一个误差生成器,我们在行进的过程中,手机或者在口袋中跳跃,又或者握在手中随身体摆动,我们没法做到每个动作都像机器人一样准确,动作中大量多余的信息同样会误导算法的计算。

由此可见,惯性导航是一个误差不断累计的系统,而且系统自身还不具备自我纠正的能力。所以你就应该明白开头为什么我会说纯惯导不适合导航了。

光顾着讲惯性导航的劣势了那么来说说它的优点,由于惯导计算十分简单,同时不需要外部器械辅助,使得惯导成为了室内定位的一个非常好的辅助系统,在惯导的基础之上,我们引入WI-FI,蓝牙或者其他辅助手段来不断纠正惯导的误差,使得每隔一段时间我们就能减小累计误差,在多次迭代的过程中达到一个平衡,最终使得定位更加精准。因此如果是作为辅助系统来说,惯导绝对是不二之选。

最后总结一下:惯性导航由于误差累计而且缺乏自我纠偏的手段,无法独立作为导航手段,但是却可以作为室内定位最好的辅助手段,是一种非常棒的辅助定位技术。另外,通过各类算法辅助,在短距离内惯导还是能够达到相当不错的精准度的。

AirClown

AirClown

having fun

2 日志
1 标签
© 2018 AirClown
由 Hexo 强力驱动 v3.7.1
|
主题 – NexT.Pisces v6.4.2