浅谈UWB定位


本文章仅是个人理解,如有错误欢迎留言指正。
本文章既是记录自己的学习过程,也希望能后来者提供些许帮助。
对于不知道UWB的,就不要往下看了。

“零维定位”——定位空间为一个点

简介

首先这里的“点”指的是以基站为中心,测距范围为半径的一个圆形平面,所以可以理解为一个很大的点。因此硬件只需要一个基站 + 若干标签 就可以测试环境的搭建。

应用场景

图片来自NXP官网UWB介绍,对比蓝牙和wifi来说,UWB拥有更高的测量精度和角度(±10cm ±3°)

1.利用一个基站就可以监控范围特性,一般应用于检测人员出入某个空间,或者是否靠近目标物。如在指定房间放置基站,通过距离的测量监控可以记录佩戴标签人员是否出入该房间。
2.利用AOA(相位角)可得知标签方位。典型应用有小米的一指连,跟随旅行箱等。

算法介绍

距离= 时间 x 速度 这里速度为电磁波在空气中的速度299792.458km/s所以我们只要知道电磁波传输的时间即可。
1.Single-sided Two-way Ranging(SS-TWR)
在这里插入图片描述
我们可以看到,标签发送数据给基站,基站将自己接收到信息的时间和回复数据的时间回复给标签。T循环 - T回复 就是信号的来回的传播时间,再除以2就是飞行时间,然后直接乘速度计算距离,是否可行? 答案是不行! 因为**晶振**导致计算的时间有误差。1ns就会产生30cm的误差。使用2ppm还是10ppm误差在dw1000官方文档有说明,有时间再补图。所以为了减小误差,一般采用极度降低T回复的时间+使用高精度晶振,这样误差就基于标签一方了(●’◡’●)。也因为晶振误差的原因我个人测试的测距结果误差一般在几十厘米到几米之间。
优点:一收一发两条数据即可完成测距的通信,用时较短。
缺点:误差大,我个人认为此算法很垃圾。

2.Double-sidedTwo-way Ranging(DW-TWR)
在这里插入图片描述
这个图就较上一个算法又多了一条通信数据,因为两次通讯的时间可以互相弥补因时钟偏移引入的误差。
公式推导:
Tround1 = Treply1 + 2Tprop;
Tround2 = Treply2 + 2Tprop;
Tround1Tround2 - Treply1Treply2 =4Tprop² + 2TpropTreply1+2TpropTreply2;
Tround1 +Tround2 + Treply1 + Treply2 = 4Tprop + 2Treply1 + 2Treply2;
所以Trop等于上图的公式。
在这里插入图片描述
优点:因为补偿了晶振的误差,所以测量精度高。
缺点:通信次数多。单标签很容易实现,当使用多标签时,会产生数据冲突!!!

3.AOA相位角
目前我只知道是基站模块使用两个接受天线来实现,可能是根据到达时间差吧。具体不知道。

“一维定位”——定位空间为一条线

应用场景

一维即一条直线。多用于笔直的空间进行定位,如走廊,隧道等。

算法

我目前是采用ss和ds也就是上面提到的两种方法进行一维测距的。
根据基站布局不同,我目前已知有两种方式:
在这里插入图片描述
1.基站A和B分别有一个定位模块与标签通信,分别计算出各自距离后(使用ss还是ds自行考虑),基站上传数据到上位机或服务器,因为基站AB间距是已知的,所以上位机或服务器很容易确定标签在走廊的位置。
优点:两个基站 能多卖点钱?
缺点:成本高,多一个基站就多一个主控MCU
在这里插入图片描述2.基站A中包含两个定位模块a和b,且间距大于10cm,标签与这a,b定位模块进行通信测距,a和b受控于一个mcu,通过标签到达a和b的距离大小即可得知标签位置。
优点:成本低
缺点:标签多了,数据处理真的很麻烦。。。

“二维定位”——定位空间为一个平面

简介

市面上推广最多的室内定位,一般存在于PPT中的大型厂库,大型厂房,大型商场。二维定位的平面一般采用直角坐标系的方法,首先确定基站的坐标即基站之间距离是已知的,无遮挡的!要确定的标签位置就变成了求标签的坐标!

算法

1.采用AOA算法

在UWB兴起之前,室内定位一般采用蓝牙或者wifi等无线方式进行,尽管二者距离不是很准,但是加上相位角的弥补也能减小一定误差。UWB利用自身测距误差小的优势再加上AOA,自然成为了蓝牙和wifi的替代品。在这里插入图片描述
如上图,理论上以基站A1为坐标系原点(0,0),A2到A1距离已知为(x1,0)。B到两个的相位角和距离通过测量可得出,所以可以得知B点的坐标,但是实际上条线可能不会交叉在一点,也可能像图中交叉过头等。我本人没用过这种定位方法,以上都是个人猜想。

2.三基站TDOA测距(推荐阅读)

无线同步

三基站定位
如图BS1,2,3坐标已知,r1,r2,r3通过测量也可得知,那么使用TOA算法是否可以将E点坐标求出来呢?但是我需要提醒你**图中三个圆相交与一点这种情况只存在梦中。**实际过程中r1,r2,r3的误差会导致他们相交出一个区域或者两个区域等等,如下图。
在这里插入图片描述
为了优化TOA算法的不足,前辈们提出了TDOA算法。相较于TOA的圆型求交点,TDOA将三个基站作为定位基站一个基站作为时间校准基站。通过将两两基站的坐标组成双曲线的焦点,在通过三条双曲线求交点的方式进行标签坐标的确认。如同通过RN作为时钟校准基站,达到无线时钟同步的作用。实际上就是用Tref与Tref2的比值来校准tm2的值。
在这里插入图片描述
这里引用一位大佬的说明
(1):标签T在定位空间中进行广播一次(发任意数据都可以);
(2):定位空间内的基站和参考基站处于接收状态,都可以对步骤(1)的广播数据进行接收,所以各个设备都会触发产生一个接收时间戳tp1、tp2、tp3;
(3):参考基站接收到广播后,转换工作模式为发射模式,在固定延时后(TD1,自己设定)也进行广播一次R1内容(广播内容与标签T的可以区分就可以了,发任意数据都可以);基站接收到(2)的广播后工作模式不变,还是处于接收模式;
(4):步骤(3)中参考基站广播数据后,所有的基站都会接收到R1内容,从而触发产生接收时间戳,t2和t3为到达时间,对于基站和参考基站已经在定位空间中部署好后(相对距离不变),t2和t3就为已知了;
(5):参考基站进行R1内容广播后,在固定延时(Tref)后再进行广播R2内容一次;
(6):所有的基站又会接收到R2广播
理论上:TDOA21 = tp3 - tp2 = tm2 - tm3 + t3 -t2
实际上:校准部分我写在了上位机里,抽时间我会贴出来
在这里插入图片描述
尽管算法在精明实际出的结果也不可能是一个点,而是一个区域。最终的结果我是通过多次取样后用LMS最小二乘法方式求的标签坐标值,在上位机中进行的,算法库由matlab生成,最好测试成绩也是30cm到一米之间。

有线同步

有线同步(这里的同步指时间同步)相较于无线同步又多了限制,因为有线,所以注定各个基站相距不会很远。典型应用是汽车对于人员的定位。
在这里插入图片描述
图片为NXP汽车人员定位系统(不过他中间有个模块看起来像是无线同步),官方介绍的流程是车上蓝牙连接到人手中的标签模块(标签带蓝牙),车内通过CAN通知各个基站打开接收,标签开始发送信息。这个通知基站开始接收可以理解为让每个基站时钟从零开始重新计时,只需要在出厂时算好线长传输时间,就可以完成让所有基站同时打开的操作。之后依旧根据TDOA来计算标签方位。
PS:视频的人会放弃的两个拇指大小的车钥匙,选择半个手机大小的UWB?除了为了装逼我想不出任何替换的理由。
在这里插入图片描述
在这里插入图片描述

3.四基站TDOA测距(推荐阅读)

四基站TDOA测距是无线同步三基站的升级版。我们知道TDOA只要三个基站就能实现对标签的定位,那么四个基站就能组成四组不同的的三基站模型,四组即可得出四个结果,我目前采用的是去掉一个最大值和一个最小值,剩下的三个结果通过取平均值方式确定最终结果。这种方式确实能够减小误差尤其是动态误差也可以实现±30cm,缺点是耗时长单标签10hz左右。

“三维定位”——定位空间为一个空间

三维定位就是空间的定位,需要x,y,z,三个要素。要想使用三个基站实现的话必须至少有一个基站与其他二者不在同一水平面,即三者z轴不能相同。原理和二维定位很像,使用TOA的话就是三个球面求交点,又会出现相同的问题,他们相交与一片空间。。。。。奈何本人没文化,没研究明白算法,无法讲解。

最后

希望多一些UWB产品出现在三次元中,而不是新闻,论文和ppt中。
[1]: https://www.bilibili.com/video/av584934508/ NXP的UWB汽车
[2]: A new method for wireless synchronization and TDOA error reduction in UWB positioning system
[3]: 部分转载 https://blog.csdn.net/qingqingdepiaoguo/article/details/81083913
[4]: 部分转载 https://zhuanlan.zhihu.com/p/104455979

  • 4
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值