面向复杂机房环境的室内定位技术应用研究

2022-11-23 09:09黄智昌尚京威
计算机与现代化 2022年11期
关键词:超宽带定位精度蓝牙

黄智昌,尚京威

(工业和信息化部电子第五研究所软件质量工程中心,广东 广州 511370)

0 引 言

随着云计算、大数据时代的到来,机房中的IT设备数量和类型日益增多,机房数据中心的运维管理日益复杂[1]。传统依靠外观巡检,用纸质记录相关巡检数据的数据中心巡检方式面临着严峻的挑战。机房数据中心运维智能化管理迫在眉睫。而室内定位、AR、人工智能、云计算和大数据等信息技术的发展,为机房数据中心运维智能化管理提供了新的解决思路。其中,通过室内定位技术,为机房数据中心运维人员进行数据中心巡检、检修、资产盘点等工作提供精准的位置服务,是机房数据中心实现智能化运维的关键。近年来,室内定位技术得到了迅猛的发展,并在商场、博物馆、机场等大型室内空间内得到了广泛的应用[2]。但室内环境复杂,通常会出现障碍物的遮挡以及金属结构的屏蔽等问题。尤其是机房室内环境,金属遮挡屏蔽、电磁辐射、IT设备干扰等NLOS干扰因素更是会层层叠加。这使得室内定位经常会出现因为信号不稳定而使得定位精度降低甚至无法定位[2]的情况。目前成熟的室内定位技术有射频识别(RFID)室内定位技术[3-4]、Wi-Fi室内定位技术[5-7]、超宽带(UWB)室内定位技术[8-9]、蓝牙(Bluetooth)室内定位技术[10-11]、超声波室内定位技术、红外线室内定位技术、ZigBee室内定位技术等。其中,超宽带室内定位技术具有相对较高的定位精度,理论上其定位精度可达到厘米级[12],但受非视距传播误差影响,其在复杂室内环境的实际定位精度会被显著降低。因此,在实际复杂室内环境下的定位应用中,需要研究具有优越抗NLOS传播误差的室内定位算法应用到超宽带室内定位技术上,使得实际的超宽带室内定位具备抗NLOS传播误差能力,从而提高实际室内复杂环境条件下的定位精度。基于此,不少学者做了大量的研究工作,文献[13]研究了一种可根据NLOS距离测量值估算LOS距离的室内定位算法,文献[14-16]研究了利用最优化原理(最小二乘法、粒子群算法等)来降低NLOS误差对定位精度影响的三边定位算法,文献[17-18]提出了一种基于最小二乘法消除测量误差的三维定位算法,文献[19]提出了一种基于目标临时位置估计的残差幂次方加权定位算法,文献[20]研究了一种在NLOS的情况下,通过优化非视距TDOA测量值误差的方法来改善非视距下的CHAN算法的定位算法等。然而,这些算法在实际室内复杂环境应用上具有一定的局限性,而且没有针对机房特殊的环境进行优化和处理,在实际机房环境下应用和实施都具有较大的难度。因此,本文针对机房室内环境的复杂性和机房室内定位的高精度要求,充分考虑部署简单、使用方便等要求,研究一种基于最优化理论和K最邻近算法(KNN,K-NearestNeighbor)的具有较强的抗NLOS传播误差的三边三维定位算法,在此基础上充分利用计算机技术和超宽带技术设计一种机房室内定位应用系统,并应用于实际机房的室内定位中。实验结果表明,该室内定位系统在机房环境下的室内定位精度在2 m范围以内,能为机房数据中心运维智能化管理提供较为精准的位置服务。

1 基于最优化理论和KNN的抗NLOS定位算法

1.1 目标函数

(1)

其中,

(2)

(3)

(4)

在实际室内复杂传播环境中,NLOS的存在会使得测量距离远大于真实距离,如果对测量距离不预先进行NLOS误差的消除直接使用上面所描述的公式求解,则在严重NLOS区域会存在较大的定位误差。因此,为了使机房室内定位更为准确,下面介绍一种运用最优化理论来消除NLOS误差的定位算法。

假设测量距离为di,那么它和ri之间的关系为:

ri=aidi

(5)

其中,ai为处于0~1之间的某个实数。如果把式(5)代入式(1)并整理,可得到:

(6)

其中,

(7)

(8)

根据式(6),定位精度就取决于能否获得合适的ai取值,这就可以通过解最优化问题来解决。首先定义最优化的目标函数为:

(9)

式(9)中,norm(H)表示向量H的元素平方和,BSi表示第i个基站坐标。为了简化表达,定义一组向量:

(10)

那么目标函数可以改写成:

(11)

其中,

K=[k1-k2,k1-k3,…,k1-kM]T

(12)

令:

Q=(ATA)-1ATY1=[Q1,Q2]

(13)

其中,Q1的列数和V的行数相同,Q2的列数和K的行数相同。所以有:

=Q1V+Q2K-BSi

(14)

norm(X-BSi)=norm(Q1V+Q2K-BSi)

=(Q1V+Q2K-BSi)T(Q1V+Q2K-BSi)

(15)

根据式(11)、式(14)和式(15),可得:

(16)

由于

(17)

(18)

所以,F(V)的最小值可以通过求G(V)的最小值来获得。对G(V)进行进一步化简,可获得:

(19)

其中,

(20)

1.2 约束条件

根据文献[2]首先定义向量V的下限Vmin为:

(21)

其中,

(22)

Vmim≤V≤Vmax

(23)

其中,

Vmax=[1,1,…,1]T

(24)

由于在NLOS环境中,标签和BS之间的距离必然小于测量距离,因此标签必然位于几个球的公共区域。可以称标签可能出现的区域为可行域(Feasible Region),那么第二个约束条件可以表示为:

Tag坐标∈可行域

(25)

基于可行域的特性,可以把约束条件重写成:

(26)

其中,

(27)

(28)

根据式(15)有:

(29)

其中,

(Q2K-BSi)T(Q2K-BSi)

(30)

(31)

V0为V的初始值。考虑到非视距误差,实际距离小于测量距离,由式(29)代入式(27),再将式(27)和式(28)代入式(26),作相应简化后写成矩阵形式得:

换休的那天,她一个人去发型店,把一头卷发做了离子烫,用了整整一个下午。最后洗好头发的时候,她惊讶地看着镜中那个巧笑嫣然的女孩子。这是她吗?那么纯洁那么美丽,她去握自己的头发,它们柔顺地自手指间滑过去,光滑得如同锦缎。她的心轻快起来,涨着满满的喜悦,第一次觉得人生充满了希望。

AvV≤Yv

(32)

其中,

(33)

(34)

1.3 最优化问题

根据1.1节和1.2节的分析,可以把NLOS环境中的权值搜索问题转化为一个有约束的最优化问题如下:

minF(V)

(35)

由式(18)可知,F(V)的最小值可以通过求G(V)的最小值来获得,结合式(18)、式(26)、式(32)对该最优化问题进行简化,如:

minG(V)

(36)

或者,

(37)

求得式(36)和式(37)的最小值后,再取两者之间的较小值作为最优解,这种问题需要求解2次。

上述最优化问题可以使用惩罚函数法[21]进行求解,在Matlab中可用fmincon函数来求解。fmincon能求解的最优化问题的数学描述如式(38)所示,其核心算法为序列二次规划(Sequential Quadratic Programming, SQP)。

(38)

在这里,使用fmincon求最优解V的具体流程如下:

1)由式(19)根据Q1、Q2、K、基站数量M、标签到基站的测距D、各个基站坐标BSi确定目标函数G(V)。

2)通过式(21)和式(24)分别计算Vmin和Vmax,并初始化V的初始值V0为V0=(Vmin+Vmax)/2。

3)通过式(33)和式(34)分别计算Av和Yv。

4)由[x,fval,exitflag]=fmincon(func,x0,A,b,Aeq, beq,lb,ub, nonlcon)来计算V的最优解,函数中的func为G(V),x0为V0,A为Av,b为Yv,Aeq和beq为空,lb为Vmin,ub为Vmax,nonlcon为-G(V)≤0。如果函数的输出exitflag大于等于0,则函数的输出x即为V的一个最优解值,记为Vopt1,fval为函数G(V)在x处的目标函数值,记为G(V)|V=Vopt1,否则V无解,此次求解失败。

5)将目标函数func改为-G(V),nonlcon改为G(V)≤0,重复步骤4,fmincon输出x记为Vopt2,fval记为G(V)|V=Vopt2。

6)如果有解Vopt1和Vopt2,且G(V)|V=Vopt1

当然,假设G(V)取值总是大于0,则上面的二次规划问题可以转化为标准二次规划问题。利用式(19)代替G(V),考虑到式(19)中的Q2K-BSi为列向量,(Q2K-BSi)T(Q2K-BSi)的值大于等于0,原问题可以转化为:

(39)

基于实际的测量数据会有更多的随机偏差,因此,可以考虑在目标函数加上惩罚因子。这样可以使目标函数更好地逼近全局最优。在式(39)的基础上,加惩罚因子的优化问题转化为:

(40)

像式(39)和式(40)所示的最优化问题可以用拉格朗日法[10]来求解,在Matlab中可用quadprog函数进行求解。quadprog函数能解决的最优化问题的数学形式描述如式(41)所示:

(41)

在这里,使用quadprog求解最优解V的流程如下所示:

2)通过式(21)和式(24)分别计算Vmin和Vmax,并初始化V的初始值V0为V0=(Vmin+Vmax)/2。

3)通过式(33)和式(34)分别计算Av和Yv。

上面的优化策略,基本上都是将非线性约束问题转化为线性约束问题处理,有条件地将目标函数进行了简化,这便于计算和快速处理。但在目标函数简化的同时往往也会造成最终结果有所偏差甚至直接导致实际问题无法求解。因此,下面考虑非线性最小二乘法对该问题进行优化,利用式(18),F(V)的最小值可以通过求G(V)的最小值来获得,优化问题转化为:

(42)

在此条件下,由于目标函数多了一个幂的乘方,在求解最优解V过程中,计算复杂度会极大地增加,与此同时,求得最优解的可能性也比前面几种策略要高。在硬件设备计算能力允许的条件下,这是获得更为精确解的较好方法。针对这类问题,可以使用L-M或G-N算法[10]进行求解,在Matlab中可用nonlsqlin函数进行求解。

注意到通过这些算法求解所得的最优解往往是局部最优解,所以对目标函数赋初值很重要。这里,本文在通过nonlsqlin对目标函数进行求解的同时,首先通过拉格朗日法对目标函数赋初值,使得初值更为合理,以便求得更精确的解。使用lsqnonlin函数进行目标函数求解的步骤如下:

1)通过quadprog求解目标函数自变量初始值V0,具体求解步骤在上文已详细说明,这里不再赘述。

2)由[x,resnorm,residual,exitflag]=lsqnonlin(fun,x0,lb,ub)对目标函数进行求解。其中fun对应目标函数表达式(即式(42)),x0对应步骤1中的V0,lb为Vmin,ub为Vmax,通过式(21)和式(24)分别计算。

3)如果lsqnonlin函数的输出exitflag大于等于0,则函数的输出x即为V的最优解值,resnorm为目标函数在V取最优解时的函数值,否则V无解,此次求解失败。

1.4 KNN约束

在复杂机房环境中,通过上述最优化理论进行标签坐标求解,所得解算坐标仍然可能和标签实际位置有较大的偏差。而KNN[22]是一种对相似样本进行分类的算法,能对通过上述最优化理论计算所得的标签位置进行进一步的误差纠正。考虑到实际机房环境中,工作人员持定位标签行走的空间会被限制并可以布设为等间距规则格网参考点集,假设可将其记为空间集{(xi,yi,zi)|i=1,2,3,…},标签解算位置T为(x,y,z)。由于实际环境关心的是标签平面坐标,所以可采用平面欧氏距离对标签位置进行误差纠正,高度保持不变。空间集中的已知点P与标签解算位置点T的平面欧氏距离为:

(43)

当标签解算位置T与空间集的已知点P的平面欧氏距离L小于规定阈值F时,可以认为标签实际位置为P,并非T,这样可以保证绝大多数标签解算位置始终落在可行域中。

1.5 算法流程

通过最优化理论和KNN算法求解标签位置整体流程如图1所示。其中选择最优化算法求解V的详细步骤已在上节进行了相应描述。当然,在这个算法执行流程中,使用KNN算法进行定位误差纠正的前提是必须对实际室内定位空间进行等格化划分,并对每个网格中心设置坐标点,这样才可以将标签坐标解算结果归类到相邻的网格中心点,由网格中心点坐标替代标签坐标解算结果进行标签位置输出。KNN能否对标签坐标进行归类的一个重要因素是KNN的阈值设置,阈值设置得越大,KNN对标签坐标解算结果的误差容忍度越大,标签解算结果就越容易归类,但相对地标签实际定位精度会降低。阈值设置得越小,KNN对标签坐标解算结果的误差容忍度越小,标签解算结果就越难归类,但相对地标签实际定位精度会提高。阈值设置与等格划分的网格大小有关,在这里本文设置每个网格大小为1~2 m,阈值相对应也设置为1~2 m。对于不能进行KNN归类的结果,可以直接将解算结果输出,便于后面解决相关问题。

图1 标签位置求解总体流程

2 机房室内定位系统

图2 基于超宽带技术的机房室内定位系统

考虑到机房内存在复杂的非视距传播和电磁干扰情况以及超宽带信号优越的抗干扰能力,本文设计一种基于超宽带信号和上述算法相融合的机房室内定位系统。其系统设计如图2所示。

本系统包括基于超宽带DW1000芯片的基站(DW1000FOLLOWER开发板)若干个、基于超宽带DW1000芯片的标签(DW1000WEAR)1个、TTL连接线(杜邦线)若干、蓝牙串口通信模块(HC-08)1个、无线透传发送模块(CC2530)2个、USB转TTL串口模块1个、数据收集仿真器和基于蓝牙4.0的安卓手机室内定位App各一个,其中数据收集仿真器和安卓手机室内定位App根据上述提到的算法自行进行应用设计和软件研发,其他模块可通过相关厂家购买进行集成。主要工作原理是基站和标签通过超宽带信号进行测距,测距信息由标签通过无线透传模块向上位机或者通过蓝牙串口通信模块向手机应用App进行上传,上位机或者手机App使用测距信息通过设计的定位算法对定位位置进行求解并在地图相应位置上进行标记。

系统工作方式有2种。工作方式1为室内定位数据采集和算法性能仿真。当系统工作在工作方式1时,工作人员手持定位标签,接收基站测距数据,通过CC2530无线透传模块和USB转TTL串口模块将标签与相关基站的测距数据上传至上位机,上位机一方面对测距数据信息进行保存用于后面的算法优化仿真,一方面应用指定定位算法对标签位置进行解算并显示到地图中。工作方式2为手持标签导航定位。工作人员同时手持定位标签和手机,定位标签将基站的实时测距信息上传至手机App,手机App应用相关算法进行位置求解并在手机地图上进行标记,同时对导航路线进行规划显示,指导用户按照指定路线走到目的地附近。

3 实 验

本次实验分为2个部分。第一部分测试所用定位技术方案在空旷的室内环境下的定位精度,并和其他一些定位技术作比较。第二部分测试所用定位技术方案在复杂机房环境下的适用性。

针对第一部分实验,本文对一条狭长的空旷室内走廊通道上长约10 m宽约2 m高约3.3 m的空间区域进行网格化划分,每个网格的尺寸大约为长1 m宽2 m,如图3和图4所示。针对超宽带定位设备,本文采用图3黑色圆点所标记位置进行布局。针对Wi-Fi设备和蓝牙设备,采用图4黑色方点所标记位置进行布局。布局完毕后先后使用超宽带、Wi-Fi和蓝牙进行室内定位实验。具体实验步骤如下:

图3 走廊空间上超宽带基站部署图

图4 走廊空间上无线AP和蓝牙基站部署图

1)根据图3所示的黑色圆点所示位置部署超宽带基站,由于基站发射信号比较强,所以部署节点相对较少,基站高度位置不在同一水平线上,根据基站部署情况设置上节所述的机房室内定位系统工作参数并记录,使其工作在方式1进行室内定位数据采集。工作人员在每个网格中心点上手持超宽带定位标签分别采集5 min定位数据,然后上报计算机,分别计算标签所在平面位置坐标。

2)关闭所有超宽带相关定位设备,根据图4所示黑色方点所示位置部署无线AP,由于AP发射信号比较弱,所以部署节点相对较多,部署高度随机,使用文献[23]所示的Wi-Fi定位系统,先后在各个网格上进行室内定位指纹采集5 min,然后在每个网格中心位置上手持Wi-Fi定位客户端站立5 min,观察其平面定位位置变化,并记录相关实验数据。

3)关闭所有相关Wi-Fi定位设备,根据图4所示黑色方点所示位置部署蓝牙信号基站,由于蓝牙基站发射信号比较弱,所以部署节点相对较多,使用文献[11]所示的蓝牙定位系统,先后在各个网格上进行室内定位指纹采集5 min,然后在每个网格中心位置上手持蓝牙定位客户端站立5 min,观察其定位位置变化,并记录相关实验数据。

4)针对上述所描述的超宽带室内定位方案、Wi-Fi室内定位方案、蓝牙室内定位方案,根据相关实验数据和测试结果统一使用均方根误差表示其定位精度,并记录如表1所示。其中,每个室内定位方案的定位精度采用测试的10个网格位置的均方根误差之和的平均值。单个位置均方根误差的表达式为:

(44)

由表1得知,超宽带技术室内定位要远比Wi-Fi指纹定位和蓝牙指纹定位的定位精度高,在室内环境比较空旷无视距环境遮挡的情况下基本上能实现厘米级定位。超宽带室内定位精度因使用算法不同而略有差异,其中,使用quadprod方法给目标函数赋初值,lsqnonlin方法进行进一步迭代计算的定位计算结果相对较为精准。在此基础上,在所定位空间能提前进行网格化约束且定位点有限可列举的前提下,使用KNN进行误差纠正能实现零误差定位。

表1 几种定位方案定位结果对比

针对第二部分实验,本文将所设计的超宽带室内定位系统应用到具有复杂非视距传播误差的机房环境中。测试应用机房平面设计图如图5所示。整个机房长约为15360 mm,宽约为6665 mm,分隔为2个密闭空间和若干个走廊,2个密闭空间分别命名为A通道(平面图中的微模块(小))和B通道(平面图中的微模块(大))。2个通道使用金属钢板进行长方体密闭空间塑造,在通道内部两侧通过金属钢板对空间进行网格分割,形成规格一致的密闭的狭小立体空间,通道中间形成行人过道,每个狭小立体空间按规划存放各类金属机柜,每个金属机柜存放各种长期运行的路由器、交换机、服务器、UPS电源和列间空调等IT设备,这就使得整个机房形成金属斑遮挡严重、电磁辐射多、视距受限、电磁信号反射频繁造成NLOS信号多等比较复杂的室内环境。实际上机房的室内定位就是要保证运维人员在这样的复杂室内环境下能够根据定位准确找到相关机柜内的IT资产,从而实现IT运维智能化管理。

图5 机房平面图(单位:mm)

根据机房平面图设计手机App地图定位导航模型如图6所示,PC端定位显示地图模型如图7所示。假设以机房右下角某点(实际机房中的挂钩点,靠近机房门口)为坐标原点,宽为x轴,长为y轴,高(从天花板往地面方向)为z轴建立左手坐标系,将6个超宽带基站分别均匀部署在机房的通道四周。实际部署基站1坐标为(0,0,215),基站2坐标为(4800,0,205),基站3坐标为(4800,15000,210),基站4坐标为(0,15000,210),基站5坐标为(5400,6600,670),基站6坐标为(-600,6600,670),单位为mm。

图6 机房平面图App地图模型

图7 机房平面图PC地图模型

在定位系统部署完毕后,设置系统处在工作方式1,手拿定位标签在机房走廊四周走动,采集基站到标签的测距数据后发送到上位机,上位机根据第1章描述的不同算法解算标签所在位置坐标,由此解算标签在机房通道四周平面运动轨迹图如图8所示。图8共分6个子图,从左往右,从上往下依次命名为子图1到子图6。其中子图1为使用式(38)通过fmincon(对应序列二次规划算法,Matlab中的函数,下同)函数进行计算所得的标签运动轨迹。子图2为使用式(39)通过quadprod(对应标准二次规划算法)函数进行计算所得的标签运动轨迹。子图3为使用式(40)通过quadprod函数进行计算所得的标签运动轨迹。子图4为使用式(42)通过lsqnonlin函数计算所得的运动轨迹。子图5为通过quadprod计算标签位置初始值,再通过lsqnonlin进行进一步位置解算所得的运行轨迹。子图6是在子图5所得的运动轨迹后再使用KNN算法对运动轨迹进行调整定位的结果。由图中描绘的运动轨迹可以看到,使用非线性最小二乘法进行坐标求解比通过二次规划进行坐标求解的标签坐标解算结果准确度更高。使用标准二次规划函数计算标签坐标初始值,再使用非线性最小二乘法对标签坐标作进一步纠正,比单纯使用非线性最小二乘法进行标签位置求解的定位轨迹更内敛,定位误差更小一点,其定位误差基本会在2 m范围以内。在通过非线性最小二乘法进行坐标求解后,再通过KNN算法对标签定位轨迹进行误差纠正,基本能保证标签定位结果和实际标签所在位置相一致。当然,从图中也看到,在机房平面(以图5为参考)的右侧,有一些标签坐标点的实际解算结果与实际标签坐标位置偏差较大。这有可能是因为在实际机房环境中,机房左侧为强电房,基站部署不对称,电磁环境更为复杂所致。具体原因还需做进一步的研究讨论。

图8 几种三边三维定位算法的标签定位轨迹解算结果对比图

在系统定位部署完毕后,设置系统处于工作方式2,定位算法使用标准二次规划、非线性最小二乘法和KNN相融合的位置解算算法。在机房中,用户同时手持装有定位App的手机和定位标签,并在定位App上选择要去的机房目标位置,定位App会根据用户当前所在位置规划出一条前往目标位置的可行路径,并在地图上给出行走路线图,为用户提供导航服务,如图9所示。

图9 App定位导航

实验结果显示,手机室内定位App基本定位准确,并能为用户正确地导航到指定的目的地。

4 结束语

本文通过对在复杂机房环境下的具有抗NLOS能力的三边三维定位算法研究,充分结合超宽带室内定位技术,设计研发针对机房复杂环境的室内定位导航系统,并对所设计的超宽带室内定位系统与其他室内定位方案做了对比实验。实验数据表明,在同等条件下的空旷室内环境中,如果室内空间位置可进行网格化划分,基于非线性最小二乘法优化理论和KNN相结合的超宽带定位方案比Wi-Fi、蓝牙室内方案、直接使用线性最小二乘法进行位置求解的超宽带室内定位方案具有更为精确的定位精度。在复杂的机房环境中,基于非线性最小二乘法优化理论和KNN相结合的超宽带定位方案具备较强的非视距抗干扰能力,比直接使用线性最小二乘法更能适应复杂的非视距机房室内环境,可将复杂机房环境下的室内定位精度精确到2 m以内。这为当前室内定位系统在机房甚至其他复杂室内环境的室内定位导航应用提供了一个整体性解决方案和有效途径,为机房数据中心运维智能化管理提供位置服务的解决方案。然而,基于当前定位系统未能充分考虑到超宽带定位基站在空间布局上对实际室内定位精度的影响,下一步研究工作笔者将重点考虑在固定复杂机房环境下超宽带基站的空间布局对定位精度的影响问题,保证超宽带室内定位技术在复杂机房环境下的定位精度得到更进一步的提高,更好地为机房数据中心运维智能化管理提供精准的位置服务。

猜你喜欢
超宽带定位精度蓝牙
蓝牙音箱的直线之美
基于多模谐振器的超宽带滤波器设计
GPS定位精度研究
GPS定位精度研究
组合导航的AGV定位精度的改善
简单、易用,可玩性强Q AcousticsBT3蓝牙音箱
超宽带雷达建筑物结构稀疏成像
适合自己的才是最好的 德生(TECSUN) BT-50蓝牙耳机放大器
一种基于射频开关切换的伪随机编码超宽带多发多收雷达设计
高分三号SAR卫星系统级几何定位精度初探