基于UWB室内送餐机器人定位信息系统①

2021-01-22 05:41于世东
计算机系统应用 2021年1期
关键词:时钟基站误差

吴 鹏,于世东

1(沈阳师范大学 软件学院,沈阳 110036)

2(中国科学院 沈阳计算技术研究所,沈阳 110168)

目前基于移动位置服务LBS 发展迅速,室外定位技术已经可以满足日常人们生活生产的需要,其定位精度在民用上达到米级,室外定位系统在室外空旷环境中使用时,信号状态良好,但在室内进行定位,由于受到建筑结构等环境因素的影响,信号微弱进行定位困难,定位精度严重下降.因此对于室内定位的研究就非常必要,现在主要的定位技术有红外定位、蓝牙定位、UWB 定位、WLAN 定位、RFID 定位、ZigBee定位、超声波定位以及LED 可见光定位等[1].本文采用UWB 是一种无载波通信技术,利用纳秒至微秒级的非正弦波窄脉冲传输数据,UWB 发射功率很小,应用范围很广[2],被用来应用在近距离高速数据传输,目前利用其亚纳秒级超窄脉冲来做近距离精确室内定位.

1 系统结构设计

本机器人定位系统整体结构图如图1所示,在室内场所具有不少于3 个的固定基站,基站与机器人采用超宽带高时间分辨率信号进行通信来确定机器人的位置,同时通过无线网络将机器人的位置信息传递到远程服务器上去,终端设备可以在任何时间和地点查看机器人的位置和状态,也可以下发指令对机器人进行控制和状态调整.

图1 系统结构图

系统的超宽带无线收发模块选用半导体公司DecaWave 推出的DWM1000 模块,基站与路由器的无线网络通信采用ESP8266 网络WiFi 模块,服务器采用IIS 提供的Web 服务,终端设备可以是计算机,手机,平板等可上网设备.

2 TWR 测距算法及改进

双向测距(TWR)是通过用无线电波的速度与飞行时间的乘积来确定两个物体之间的距离,信号的飞行时间是测量距离的关键[3-9].图2给出了双向测距过程的原理.

图2 TWR 测距

在T1时刻目标A 发送超宽带无线信息给目标B,该信息带有A 的发送时刻标签.在T2时刻目标B 接收到该由A 发来的信息,进行处理,同时记录下当前B 自己本身的时刻.在T3时刻目标B 发送超宽带无线信息给目标A,该信息带有B 接收A 时的时间标签和发送时的时间标签,同时将T1时刻A 发送的时间标签一同发送给B.在T4时刻目标A 接收到目标B 发送的信息.

在这里首先给出几个时间定义及公式:

其中,Tf为在目标A 与目标B 之间无线信号传输所用的时间.

其中,Tdb为目标B 处理目标A 发送的信息时间,其可以通过目标B 的发送时间标签与接收时间标签之差获得.

其中,Tra是目标A 发送信息到其接收目标B 返回信息的时间间隔,该间隔可以通过目标A 接收时刻的时间标签与其发送时刻的时间标签之差获得.

目标A 计算与目标B 之间的距离为:

其中,D为目标A 与B 的距离,C 为无线电波的传输速度.那么就可也计算出目标之间的距离.在此算法中Tra是由目标A 的时钟计算得来,其中Tdb是根据目标B 提供的时钟得来,这样就存在目标A 与目标B 时钟不同步偏差造成的误差.根据式(4)可以看出存在目标A 与目标B 的时钟不同步的问题,由于时钟不同步会一起测量误差,图3给出改进的原理图.

图3 改进TWR 测距

在图3中增加了一次目标A 做处理后再次发送给目标B 的应答信号,该信号中带有T1,T2,T3,T4,T5的时间标签,由图3可以得到目标A 与目标B 的距离公式:

其中,Tf为在目标A 与目标B 之间无线信号传输所用的时间.

其中,Tda为目标A 处理目标B 发送的信息时间,其可以通过目标A 的发送时间标签与接收时间标签之差获得.

其中,Trb是目标B 发送信息到其接收目标A 返回信息的时间间隔,该间隔可以通过目标B 接收时刻的时间标签与其发送时刻的时间标签之差获得.

目标A 计算与目标B 之间的距离为:

式(4)与式(8)相加可以得到如下公式:

上面的公式解决了目标A 与目标B 时钟不同步偏差造成的误差,因为在计算距离的时候都使用的自身时钟进行计算.下面分析式(4)与式(9)自身时钟频率偏差对测距产生的影响,由于存在时钟偏差,式(4)的带偏差的实际公式是:

其中,Ae是目标A 的时钟频率误差,Be是目标B 的时钟频率误差,实际的误差由式(10)与式(4)做差得到:

实际的误差由式(12)与式(9)做差得到:

若设Tda=Tdb+T∀,则式(13)变换为:

由于是室内定位距离计数单位是米,因此Tf的数量级是纳秒级,在式(11)与式(14)中Ae是目标A 的时钟频率误差,Be是目标B 的时钟频率误差其数量级是微秒级的误差,在计算过程中相差103的数量级,因此式(11)与式(14)中起到决定作用的是第二项.因为T∀在实际中是远小于Tdb,故T∀(Ae−Be)C/4远小于Tdb(Ae−Be)C/2,因此式(14)的误差远小于式(11)的误差,计算误差得到了改善.

3 定位与WiFi 数据传输

通过上面改进的TWR 双向测距可以获得室内机器人与基站的距离,由于是室内测距,为了方便计算将基站的高度与机器人的UWB 标签放在同一高度,这样就可以如图4的TOA 原理计算机器人的位置[10-14].

图4 TOA 定位

由图4可以得到方程组:

其中,xi是基站的横坐标,yi是基站的纵坐标,Di是机器人与基站的距离,解方程组可以得到机器人的坐标.由于在室内3 个基站可以覆盖千平方米的范围,可以将基站放于平面的坐标原点,和x,y轴上,这样更便于计算,如果将基站1 定位原点,基站2 在x轴,基站3 在y轴上,方程组(15)变成方程组(16)运算速度大大加快.

如果条件不允许将基站与机器人UWB 标签放于同一高度,那么只需要给出基站的高度可以将基站通过数学公式转换到与机器人的UWB 标签在同一高度如图5所示.

图5 位置换算

图5中Dt是基站与机器人标签实测距离,Hb是基站离地面距离,H是机器人UWB 标签离地面距离,从图中看基站与机器人不在同一高度,通过式(17)可以将实测距离换算成同一高度的距离,这样就提高了运算速度.

在实际应用中在参数设置界面给出基站的离地距离Hb,Hr是机器人UWB 标签离地面距离,由于机器人高度一定,所以可以自行标定,如果机器人高度变化了,也可以手动标定.这样就可以采用式(17),进行位置换算,减小计算量.

数据传输到服务器采用无线以太网模式,其整体结构如图6所示.

图6 通信结构

图6中DW100 模块将时差的标签数据通过SPI 接口传送到MCU,这里MCU 是中央处理器,其进行机器人位置的计算,然后将计算机结果通过UART接口传送给ESP8266,再由其传输到服务器进行存贮处理.ESP8266 模块是采用TCP/IP 协议进行无线透传的,其要传输数据给Web 服务器需要使用HTTP 协议,所以在TCP/IP 协议的数据部分是HTTP 报头与其内部的数据,也就是说透传的内容是HTTP 数据报.报文中包括时间、机器人的坐标、状态等内容[15].

4 实验与结论

实验场地在长30 米宽20 米的室内进行,取了30 个随机位置,通过测量随机位置的坐标和通过本系统的测得位置的坐标进行对比.

图7是通过改进的算法测得的数据,在图中随机位置的实际坐标用黑色点表示,改进算法测量的随机位置坐标用灰色点表示,圆圈表示误差在6 cm 的范围.

图7 改进算法的位置检测

图8是未改进的算法测得的数据,在图中随机位置的实际坐标用黑色点表示,未改进算法测量的随机位置的坐标用灰色点表示,圆圈表示误差在8 cm 的范围.从图7与图8的对比中可以看到,图7的定位基本都在圆圈范围内,定位精度要高于图8所示.

图8 未改进算法的位置检测

通过两组对比实验,从每组中各随机抽取7 个实验数据并计算偏差与偏差的平均值,在表1中可以看到算法改进组的误差明显低于算法未改进组的误差.

表1 误差表(单位:cm)

本文对UWB 室内送餐机器人定位信息系统进行了说明,给出了改进的TWR 算法,并给与证明.其避免各基站时钟不同步问题,减小了基站自身的时钟偏移误差所带来的定位误差.在进行TOA 位置计算时,调整了基站与UWB 标签的位置,给出了在两者不在同一水平面是的调整算法,简化了计算.经实际测试,此系统定位精度达到6 cm 以内,很好地提高了定位精度,同时本系统还可以通过网络查看位置与状态,满足室内送餐机器人的应用.

猜你喜欢
时钟基站误差
基于NETMAX的基站网络优化
CBCT图像引导的放疗前后半程摆位误差分析
5G基站辐射对人体有害?
5G基站辐射对人体有害?
5G辐射比4G小
这个时钟一根针
隧道横向贯通误差估算与应用
隧道横向贯通误差估算与应用
有趣的时钟
精确与误差