如何构建可靠、好用的精准人员定位系统

1 序

       近几年,煤矿陆续安装了精准定位人员系统,一般都是采用UWB技术来实现的。在这里根据所了解的现场情况,针对一些定位系统可靠性不足的问题,提出一些构建可靠、好用的精准人员定位系统的方法,这些方法经过实证是可靠的。虽然针对主体对象是煤矿,但是相关的设计思想和理念,在很多领域是互通的。

2 可靠性关键要素

       首先分析一下精准人员定位系统要达到可靠、好用状态,应该具备什么样的要素或条件。

2.1 定位准确度高

       在这里我们要区分一个精度和准确度的问题。精度可以理解为精密度,而测量的准确度,更注重的测量误差大小范围。UWB测距肯定是有误差的,但是我们需要将这个误差控制在一定的范围之内。很多厂家用精度来偷换准确度概念,让人误以为这种方式测距非常准确,其实不然,是有环境条件的。
       就算是只从精度角度分析,也有不少的厂家宣传过度,使入误解。一般UWB精度为30厘米,这个基本上是由原理所决定的。但有些厂家甚至都号称精度10厘米,其实是存疑的。我们不妨做一个试验,将一个含有陶瓷天线的定位卡片放在桌子上,圆心不动,转一圈下来,测量正负误差至少0.5米,卡片只是天线朝向变了,位置并没有什么变化,误差都会有这么大。
       实际上,人体是有尺寸的,一味追究几个厘米,没有意义。我们不需要那么精确,也做不到那么精准,只是要求测距误差在可以接受的误差范围之内即可,这个才是问题的关键。
       UWB测距的误差主要来源于人体和物体的遮挡。在井下实际环境中,必须要承认这个客观因素,回避不得。在环境因素导致测距结果偏差过大时,应该能够能通过对测距结果的验算,具有对误差较大的数据进行区分剔除的能力,并表明误差大小。应该充分保证一次测量数据的可信度,不能对一次数据的进行平滑性滤波,因为在非视距情况下,数据并不符合高斯分布,在某一位置上的连续若干次测距记录,并不是出现频率高的数据就一定准确,事实情况可能正好相反。

2.2 测距数据完备

  • 必须从原理上保证不会因数据碰撞而掉卡
    卡片测距过程,需要测距一般至少需要连续交互3次,这个过程不能被打断或干扰。不能采用退让式规避算法,因为卡片本来是间歇式测距,并且电量有限,不可能一直反复尝试退让;再者,就算是反复退让,也不能保证一定成功,那样会导致丢失数据。
  • 在需要监管的区域,必须全覆盖, 不允许有盲区
    不能因为技术原因,读卡器需要人为拉开一些距离而形成盲区,有违精确定位的主旨;
  • 采用双天线时,天线之间不允许有盲区
    采用平板天线时,如果两块天线距离较大,天线之间区域也应该能够精准测距
  • 提供多条测距路径,当某个方向人体或物体遮挡时也能正常工作
    卡片挂在人身上,不可避免会某个朝向被遮挡,在遮挡时,必须有其它方向的读卡器作为补充,用以测距和上报

2.3 容量有余度

       支持卡片数量必须大于国家要求,并必须有足够的余度。 读卡器数据传输通道带宽更需要有余量。必须考虑到除了人员卡片以外还可能有类似于车载等其它类型卡片,另外有些设备可能也需要接入测距,比如说电子围栏, 这些都会对卡片的容量和数据传输带宽提出更高需求。

3 基本技术方案

3.1 测距方式

       UWB测距方式多种多样,比较常用的是TOF和TDOA。
       TDOA到现在为止,恕我孤陋寡闻,在煤矿类似的场合,还没有看到过成熟、成功的应用。TDOA不仅技术要求高,并且需要多点时间同步,多点同时接收,有时候会方程无解,或者某轴向过大,不能解算,所以还是采用经典的TOF比较靠谱。TOF算法简单可靠,唯一不足是在非视距时,ts打标可能有误,从而导致测距偏差(这个问题稍后讨论如何解决)。综合来看,选用TOF测距更加合理。

3.2 通道选择

       煤矿的人员定位有一个400米的技术要求,这一点决定了不可能采用类似于通道5和通道9之类的高频段,比较适宜现场情况是通道2(这个和地面要求不同,需要注意!),并且人员定位卡片应该具有PA/LNA,芯片采用经典的DW1000系列即可。

3.3 速率选择

       UWB通讯时有110k/850k/6.8M三种速率可以选择。
       110k比850k传输距离稍远一些,但是实际上两者差别不大,传输速度却很慢 ,不便于在读卡器端作多卡片接收处理; 6.8M比850k传输速度要快一些,但是也仅限于数据体部分,实际上芯片对前导部分的传输,仍然采用的是850k,传输速度并没有多大的提高;反而是由于速率提高,传输距离衰减,得不偿失。这个速率的主要好处在于测距时稍精确一些,但是优势并不明显。综合来看,采用850k是比较合适的选择。

4 误差控制

       可以从数学上证明,单纯通过一次TOF测距,无法判断是否有误差存在。在非视距(NLOS)情况下,DW手册上提到过一些误差解决方法,比如说修改NTM_1和NTM_2寄存器,甚至有从CIR区域下手的,实际效果都不理想,没有根本性的改进。
       但是这个问题我们可以换个角度进行思考,即采用多个读卡器进行交叉验证:在这里插入图片描述

       在上图中,假定卡片C与读卡器RD-A进行测距,测距结果为TWR CA。由于被身体所遮挡,或者说中间有一定障碍物,那么这两点之间TOF测距结果肯定偏大,假定误差大小为ΔTWR-CA
       两个读卡器RD-A和RD-B位置是固定的,并且一般互相可视,可以让它们周期性测距,取中位数即可得到可信距离TWRAB,可以认为没有测距误差。
       卡片C与读卡器RD-A进行测距过程中,此时附近的读卡器RD-B是可以监听整个过程的,B监听可以得到LSN CA=CA+AB-CB的数值。假定C→A这一传输路径存在非视距现象,LSNCA也会存在误差,假定误差大小为ΔLSN-CA大小,可以推导出:
Δ L S N − C A = 2 Δ T W R − C A Δ_{LSN-CA}= 2 Δ_{TWR-CA} ΔLSNCA=2ΔTWRCA
       可以看出,C→A非视距带来的误差对监听方式和直接测距影响是不同的,监听方式的偏差会更大一些。
       当卡片C与RD-A测距完成以后,随即再与RD-B进行测距,由于它们之间没有遮挡,那么TWRCB测距结果准确。此时可以通过两个结果比对检测CA数值结果,如果两者结论不一到致,偏差过大,则认为C→A存在偏差,并影响到测距结果;另外,读卡器RD-B通过监听还可以得到AC+CB-AB的数值,交叉验证方法相同。在卡片C与RD-B进行测距时,RD-A又可以变成监听者,也是用同样的方法进行检测。
       采用监听式交叉验证没有办法消除误差,但是可以判断当前数据是不是有较大的误差存在。当任何一个通讯方向存在较大偏差时,都会导致直接测距与监听的结果不平衡。

5 读卡器组网

       要想达到在需要监管的区域全覆盖无盲区目的,除了合理布置读卡器,增加密度以外,更主要的是读卡器覆盖范围必须有足够的重叠。通常情况下,读卡器传输距离可以达到500米以上,如果间隔400米进行布点,可以满足这个条件。相邻读卡器感应区域有适度重叠后, 可以将所有相邻的可互相感知的读卡器进行组成同一UWB网络,并且采用同一时钟运行(是CPU时钟,不是DW时钟,精度微秒级足矣)。
在这里插入图片描述
       读卡器组网以后,卡片在某一UWB网络内,一般可以同时与2到3台读卡器通讯,这样可以解决多条测距路径问题,当然也解决两个平板天线之间不好测距的问题。
       要想从原理上保证不会因数据碰撞而掉卡,必须给每张卡片分配一个确定的时间窗口进行通讯,所有卡片是时分复用的模式。在任何时刻,在单个UWB网络内,只有这一张卡片在运行,这样可以从根源上解决数据碰撞的问题。在卡片进入UWB网络内,卡片需要先发出申请,由后面提到的中心处理器分析并进行分配,给出时间窗口。卡片离开网络范围以后,中心处理器收回时间窗口资源,从原理上可以保证每个读卡器可以同时稳定支持多张卡片的通讯。
       卡片在850k情况下,单次单读卡器TOF测距约2.7ms左右。考虑到会与多个读卡器进行交互,但Poll信息可以公用,所以时间虽会有增加,但不会增加太多。本着料敌从宽的原则,将时间窗口定为10毫秒,在2秒钟上报时间周期内,有充足的时间窗口来容纳的足够多的卡片数量。
       关于如何组网的方法,可以参考一下网络交换L2层中生成树协议的构建原理。

6 数据传输方案

       考虑到多张卡片同时工作,并且是多读卡器同时测距,卡片传输数据量比较大;另外读卡器与读卡器之间会相互自动测距,并且进行组网,这个也有一定的数据量;考虑到一定的扩展性,那么数据传输至少需要100kbps级别以上,下面分析可能的通讯方式。

6.1 485或CAN

       如果是采用电缆进行传输。比较常用的方式485和CAN。考虑到传输的数据要求以及485能达到的速率,485可以直接排除(有些取巧的厂家采用某些奇特方式进行传输,似乎并不稳定)。
       CAN虽然可以比较高速,但是随着速率提高,传输距离快速下降,传不了多远,所以CAN也可以排除。
       另外,这两种方式都需要进行终端电阻匹配,这是个技术活,容易导致不稳定,不符合可靠性原则。

6.2 LRE

       LRE一般用于网络延长器,可以突破以太网传输距离100米以内的限制,可以将双绞线电信号延长到350-700米,但是这个距离在这个应用场景不够。

6.3 VDSL

       VDSL传输基本可以达到要求,但是需要成对使用,成本会高一些。南京北路的长线便是采用VDSL技术,完成局端到用户端传输,不过VDSL近年来有些式微,处于全球停产状态,前景比较暗淡。

6.4 PLC

       PLC(电力载波通讯)目前比较主流,有较高的性价比。重庆院采用高通7420(或6410?)方案,这个经实际使用,传输距离尚可(不知是否与测试电缆质量有关);海康新出的摄像头的含入了PLC通讯模块,实用效果不错。不过这两家的模块都是自用,无从购买。
       年初从上海一家知名矿用产品厂家的摄像头里看到一个长线模块,顺藤摸瓜找到来处。打开某宝,查找“2KM长线网络通讯模块”,太阳神鸟企业店,有这么一款SUN-PLC300M模块:
在这里插入图片描述
       这款模块有并联和串联两种方式。主要是用于长距离传输摄像头视频信号,用在人员定位上,其传输能力肯定是绰绰有余的。
       关于读卡设备的数据传输方式,比较简单的方案是只有卡片和读卡器两层结构,每一个读卡器都具备网络接口或长线通讯接口,数据直接上传。读卡器的供电可以总线化,和长线通信共用四芯线。
       当然,也可以采用分站+读卡器+卡片三层结构。这样读卡器端只需要配置长线接口即可,分站需要长线和网络两种接口,从原理上看,差异不大。

7 中心处理器

       解决了数据传输的问题,我们来着重看一下中心处理设备。现在可以假定所有的读卡器均具有网络接口,并且速率是足够的。我们将这些读卡器均定义为tcp的svr端,可以支持客户端的接入访问。在整个系统中,建立一种中心处理器设备,它与所有的读卡器通过tcp相连接,负责以下工作:

  • 接收并处理读卡器上传的信息
  • 处理卡片的上报时间分配及回收
  • 误差推算和控制
  • 向上位机提供查询接口
  • 对数据库进行操作和访问

       由于其处于系统的核心区域,必须是举重若轻。考虑到并发、安全和容错、可扩展、超稳定的要求,采用百万并发当量级的Erlang来构建。Erlang的核心点在于OTP,可以构建大规模、容错和分布式的应用程序。例如采用Erlang构建WhatsApp服务器,每天可处理4.5亿活跃用户的500亿条消息。在这里,只是简单地使用它的原生能力,可以轻松应对人员定位对中心处理器的业务要求。
       中心处理器初步版本可以在windows底下测试和实现。为了安全,后期需将软件无缝移植到Linux服务器版运行,Linux服务器可是以一种小型的Linux设备,CPU类型可以根据要求进行选择,以确保绝对安全。
       人员定位系统一般需要双机热备,有些厂家采用的是改机器IP的方式,这种方式安全性并不高。基于Erlang,可以有更为安全可靠的方法:中心处理器可以有多台,它们之间设计具有简单的s2s接口,中心处理器互相协调,可以做到负载自动均衡和业务自动迁移。某一台中心处理器宕机时,会有其它的中心处理器无缝接替工作,充分保证服务端的安全。
       关于数据库存储,可靠而稳定的方案非常多,在这里就不赘述了。

8 结语

       人员定位看似简单,其实并不好做,要做好就更难。相比安全监测监控,初看要求似乎没有那么严格,其实不然。因为人员定位只要稍有不准,马上就显现出来,立竿见影。
       当前的精准定位虽有不少优秀的产品,但也有些厂家由于研发时间短,质量功能和使用效果不尽人意。对于矿山,安全和可靠永远是第一位的,所以需要用十分认真的态度,努力提升系统质量和稳定性。另外,在当今众多产品同质化的时代,只有变得更加优秀,企业才有更多的生存机会和发展空间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值