2. 中国科学院 沈阳计算技术研究所, 沈阳 110168
2. Shenyang Institute of Computing Technology, Chinese Academy of Sciences, Shenyang 110168, China
目前基于移动位置服务LBS发展迅速, 室外定位技术已经可以满足日常人们生活生产的需要, 其定位精度在民用上达到米级, 室外定位系统在室外空旷环境中使用时, 信号状态良好, 但在室内进行定位, 由于受到建筑结构等环境因素的影响, 信号微弱进行定位困难, 定位精度严重下降. 因此对于室内定位的研究就非常必要, 现在主要的定位技术有红外定位、蓝牙定位、UWB定位、WLAN定位、RFID定位、ZigBee定位、超声波定位以及LED可见光定位等[1]. 本文采用UWB是一种无载波通信技术, 利用纳秒至微秒级的非正弦波窄脉冲传输数据, UWB发射功率很小, 应用范围很广[2], 被用来应用在近距离高速数据传输, 目前利用其亚纳秒级超窄脉冲来做近距离精确室内定位.
1 系统结构设计本机器人定位系统整体结构图如图1所示, 在室内场所具有不少于3个的固定基站, 基站与机器人采用超宽带高时间分辨率信号进行通信来确定机器人的位置, 同时通过无线网络将机器人的位置信息传递到远程服务器上去, 终端设备可以在任何时间和地点查看机器人的位置和状态, 也可以下发指令对机器人进行控制和状态调整.
系统的超宽带无线收发模块选用半导体公司DecaWave推出的DWM1000模块, 基站与路由器的无线网络通信采用ESP8266网络WiFi模块, 服务器采用IIS提供的Web服务, 终端设备可以是计算机, 手机, 平板等可上网设备.
2 TWR测距算法及改进双向测距(TWR)是通过用无线电波的速度与飞行时间的乘积来确定两个物体之间的距离, 信号的飞行时间是测量距离的关键[3-9]. 图2给出了双向测距过程的原理.
在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}_{db}={T}_{3}-{T}_{2} $ | (2) |
其中,
$ {T}_{ra}={T}_{4}-{T}_{1} $ | (3) |
其中,
目标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为无线电波的传输速度. 那么就可也计算出目标之间的距离. 在此算法中
在图3中增加了一次目标A做处理后再次发送给目标B的应答信号, 该信号中带有
$ {T}_{f}={T}_{4}-{T}_{3}={T}_{6}-{T}_{5} $ | (5) |
其中,
${T_{da}} = {T_5} - {T_4}$ | (6) |
其中,
${T_{rb}} = {T_6} - {T_3}$ | (7) |
其中,
目标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) |
其中,
$ \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) |
若设
$ \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) |
由于是室内定位距离计数单位是米, 因此
通过上面改进的TWR双向测距可以获得室内机器人与基站的距离, 由于是室内测距, 为了方便计算将基站的高度与机器人的UWB标签放在同一高度, 这样就可以如图4的TOA原理计算机器人的位置[10-14].
由图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) |
其中,
$\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中
在实际应用中在参数设置界面给出基站的离地距离
$ D=\sqrt{{{D}_{t}}^{2}-{({H}_{b}-{H}_{r})}^{2}} $ | (17) |
数据传输到服务器采用无线以太网模式, 其整体结构如图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的范围.
图8是未改进的算法测得的数据, 在图中随机位置的实际坐标用黑色点表示, 未改进算法测量的随机位置的坐标用灰色点表示, 圆圈表示误差在8 cm的范围. 从图7与图8的对比中可以看到, 图7的定位基本都在圆圈范围内, 定位精度要高于图8所示.
通过两组对比实验, 从每组中各随机抽取7个实验数据并计算偏差与偏差的平均值, 在表1中可以看到算法改进组的误差明显低于算法未改进组的误差.
本文对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. |