计算机系统应用  2021, Vol. 30 Issue (1): 101-105   PDF    
基于UWB室内送餐机器人定位信息系统
吴鹏1, 于世东2     
1. 沈阳师范大学 软件学院, 沈阳 110036;
2. 中国科学院 沈阳计算技术研究所, 沈阳 110168
摘要:为了实现送餐机器人的室内精确定位与远程观察与控制, 本文采用DW1000模块基于UWB结合ESP8266网络模块设计一款室内送餐机器人定位信息系统. 该系统采用改进TWR测距算法避免各基站时钟不同步问题, 改善了基站自身的时钟偏移误差. 简化了TOA算法, 从而使系统快速精确定位, 同时利用ESP8266无线以太网模块将位置数据及状态信息传递到远端服务器上, 便于查看实时位置状态与控制机器人行动. 该系统是嵌入式无线互联系统, 可以满足室内送餐机器人的定位与信息传递, 并实现机器人的远程控制.
关键词: UWB    TOA    ESP8266    机器人    定位    
Positioning Information System of Indoor Food Delivery Robot Based on UWB
WU Peng1, YU Shi-Dong2     
1. Software College, Shenyang Normal University, Shenyang 110036, China;
2. Shenyang Institute of Computing Technology, Chinese Academy of Sciences, Shenyang 110168, China
Foundation item: Natural Science Foundation of Liaoning Province (20180550916)
Abstract: In order to realize precise positioning with remote observation and control of the food delivery robot in the room, this study designs a indoor robot positioning information system based on the DW1000 module and the network module of ESP8266. The improved TWR algorithm is used in the system to avoid the problem of clock out of sync among the base stations and improve the clock offset error of the base stations. The simplified TOA algorithm makes the system locate quickly and accurately. At the same time, the wireless Ethernet module ESP8266 is used to transmit the position data and the status information to the remote server which is easy to view the real-time position state and control the robot movement. The system is an embedded wireless interconnection system, which can satisfy the indoor robot positioning and information transmission, and realize the remote control of the robot.
Key words: UWB     TOA     ESP8266     robot     positioning    

目前基于移动位置服务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发送的信息.

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

$ {T}_{f}={T}_{2}-{T}_{1}={T}_{4}-{T}_{3} $ (1)

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

$ {T}_{db}={T}_{3}-{T}_{2} $ (2)

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

$ {T}_{ra}={T}_{4}-{T}_{1} $ (3)

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

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

$ D=\frac{\left(T_4-T_3\right)+\left(T_2-T_1\right)}{2}=\left({T}_{ra}-{T}_{db}\right)/2\times C $ (4)

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

图 3 改进TWR测距

图3中增加了一次目标A做处理后再次发送给目标B的应答信号, 该信号中带有 $ {T}_{1},{T}_{2},{T}_{3},{T}_{4},{T}_{5} $ 的时间标签, 由图3可以得到目标A与目标B的距离公式:

$ {T}_{f}={T}_{4}-{T}_{3}={T}_{6}-{T}_{5} $ (5)

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

${T_{da}} = {T_5} - {T_4}$ (6)

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

${T_{rb}} = {T_6} - {T_3}$ (7)

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

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

$D = \frac{{\left( {{T_4} - {T_3}} \right)\left( {{T_6} - {T_5}} \right)}}{2} = ({T_{rb}} - {T_{da}})/2 \times C$ (8)

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

$ D = (({T_{rb}} - {T_{db}}) + ({T_{ra}} - {T_{da}}))/4 \times C $ (9)

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

$ \begin{split} {D_{r1}} =& (({T_4} - {T_3}) + ({T_2} - {T_1}))/2\\ =& ({T_{ra}}(1 + {A_e}) - {T_{db}}(1 + {B_e}))/2 \times C \end{split} $ (10)

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

$ \begin{split} {D_{E1}} =& {D_{r1}} - D = ({T_{ra}}{A_e} - {T_{db}}{B_e})/2 \times C\\ =& {T_f}{A_e}C + {T_{db}}({A_e} - {B_e})C/2 \end{split} $ (11)
$ \begin{split} {D_{r2}} =& (({T_{rb}} - {T_{db}})(1 + {B_e}) \\ &+({T_{ra}} - {T_{da}})(1 + {A_e}))/4 \times C \end{split} $ (12)

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

$ \begin{split} {D_{E2}} =& {D_{r2}} - D = (({T_{rb}} - {T_{db}}){B_e} \\ &+({T_{ra}} - {T_{da}}){A_e})/4 \times C \end{split} $ (13)

若设 ${T_{da}} = {T_{db}} + {T_\forall }$ , 则式(13)变换为:

$ \begin{split} D{}_{E2} =& {D_{r2}} - D = {T_f}({A_e} + {B_e})C/2 \\ &+{T_\forall }({A_e} - {B_e})C/4 \end{split} $ (14)

由于是室内定位距离计数单位是米, 因此 ${T_f}$ 的数量级是纳秒级, 在式(11)与式(14)中 ${A_e}$ 是目标A的时钟频率误差, ${B_e}$ 是目标B的时钟频率误差其数量级是微秒级的误差, 在计算过程中相差103的数量级, 因此式(11)与式(14)中起到决定作用的是第二项. 因为 ${T_\forall }$ 在实际中是远小于 ${T_{db}}$ , 故 ${T_\forall }({A_e} - {B_e}) C/4$ 远小于 ${T_{db}}({A_e} - {B_e})C/2$ , 因此式(14)的误差远小于式(11)的误差, 计算误差得到了改善.

3 定位与WiFi数据传输

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

图 4 TOA定位

图4可以得到方程组:

$\left\{ { \begin{split}& {(x - {x_1})^2} + {(y - {y_1})^2} = {D_1}^2\\ &{(x - {x_2})^2} + {(y - {y_2})^2} = {D_2}^2\\ &{(x - {x_3})^2} + {(y - {y_3})^2} = {D_3}^2 \end{split}} \right. $ (15)

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

$\left\{ { \begin{split} &{x^2} + {y^2} = {D_1}^2\\ &{(x - {x_2})^2} + {y^2} = {D_2}^2\\ &{x^2} + {(y - {y_3})^2} = {D_3}^2 \end{split}} \right. $ (16)

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

图 5 位置换算

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

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

$ D=\sqrt{{{D}_{t}}^{2}-{({H}_{b}-{H}_{r})}^{2}} $ (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以内, 很好地提高了定位精度, 同时本系统还可以通过网络查看位置与状态, 满足室内送餐机器人的应用.

参考文献
[1]
李博心, 祁浩然, 鲁祥, 等. 室内定位算法与技术综述. 电子元器件与信息技术, 2020, 4(1): 47-50.
[2]
于海洋, 曹俊, 纪怀猛. 基于UWB的室内导航系统研究. 数字技术与应用, 2020, 38(3): 138-139, 142.
[3]
彭笑, 张丹红, 熊斌宇, 等. 基于DW1000的室内定位系统设计与稳定性优化. 广西大学学报(自然科学版), 2018, 43(5): 1803-1810.
[4]
刘世森. 基于AOA的矿井人员精确定位技术. 煤矿安全, 2019, 50(7): 140-142, 146.
[5]
卞佳兴, 朱荣, 陈玄. 基于改进双向测距-到达时间差定位算法的超宽带定位系统. 计算机应用, 2017, 37(9): 2496-2500, 2511. DOI:10.11772/j.issn.1001-9081.2017.09.2496
[6]
方文浩, 陆阳, 卫星. 基于区域判定的超宽带井下高精度定位. 计算机应用, 2018, 38(7): 1989-1994.
[7]
温培博, 李行健, 杨文. 多基站下基于信号到达时间的室内三维定位. 数学的实践与认识, 2017, 47(14): 151-161.
[8]
Huang CN, Chan CT. ZigBee-based indoor location system by k-nearest neighbor algorithm with weighted RSSI. Procedia Computer Science, 2011, 5: 58-65. DOI:10.1016/j.procs.2011.07.010
[9]
Lindo A, García E, Ureña J, et al. Multiband waveform design for an ultrasonic indoor positioning system. IEEE Sensors Journal, 2015, 15(12): 7190-7199. DOI:10.1109/JSEN.2015.2472978
[10]
孙晔, 肖竹, 李小蓓, 等. UWB定位中基于神经网络的TDOA解算方法. 航空计算技术, 2019, 49(2): 6-10. DOI:10.3969/j.issn.1671-654X.2019.02.002
[11]
洪伟, 蔺诚毅, 陈婷. 城市环境下无人机TDOA定位中到达时间差误差统计模型. 火控雷达技术, 2019, 48(1): 38-41.
[12]
王静蕾, 王健. 室内多径环境下直达波TDOA估计方法研究. 电子设计工程, 2019, 27(3): 142-145. DOI:10.3969/j.issn.1674-6236.2019.03.031
[13]
李依泽, 陆超, 王印峰, 等. 基于Kalman滤波与神经网络的高精度同步时钟算法. 电网技术, 2019, 43(3): 777-783.
[14]
Gao SH, Zhang SJ, Wang G, et al. Robust second-order cone relaxation for TW-TOA-based localization with clock imperfection. IEEE Signal Processing Letters, 2016, 23(8): 1047-1051. DOI:10.1109/LSP.2016.2580743
[15]
姚世选, 谢英男. WiFi网络接口芯片ESP8266的授时终端设计. 单片机与嵌入式系统应用, 2019, 19(10): 63-66.