一种单基站室内定位系统及定位方法与流程

文档序号:26641847发布日期:2021-09-15 00:33阅读:213来源:国知局
一种单基站室内定位系统及定位方法与流程

1.本发明涉及室内定位领域,具体涉及一种单基站室内定位系统及定位方法,室内定位是指在室内环境中实现位置定位,主要采用无线通讯、基站定位、惯导定位、动作捕捉等多种技术集成形成一套室内位置定位体系,从而实现人员、物体等在室内空间中的位置监控。


背景技术:

2.室内定位是指在室内环境中,采用wifi、蓝牙、zigbee、rfid、css,超宽带等其他技术来实现位置定位。其中css、超宽带无线定位系统中,广泛采用tdoa来完成位置解算,tdoa通过测量信号到达不同基站的时间差来估算目标节点的坐标值,多个tdoa测量值可以构成一组关于目标节点位置的双曲线方程组,但常用的解析算法如fang、chan、friedlander等不能满足室内定位的需求,在于室内环境通常属于近场定位,忽略基站的高度进行二维定位会导致水平位置的定位偏差;结合室内环境,基站往往需要沿四周布设,定位基站通常为圆周布设,而目前常用的解析算法,在基站为圆周布设分布时,在近场会出现定位坐标误差偏大的情况,无法进行有效定位。除通讯网络的蜂窝定位技术外,常见的室内无线定位技术还有:wi

fi、蓝牙、红外线、超宽带、rfid、zigbee、动作捕捉和超声波。
3.目前室内定位技术主要依靠提前布置多个固定基站,覆盖某个区域,从而实现该区域内人员/物品定位。由于室内接收不到gps/bd信号,所以需要在室内环境组建传输网络,使得被定位人员/物品联网获取定位信息,但是室内环境蓝牙、wifi等信号较多,人员分布复杂,传输网络会受到较强的干扰。目前室内定位技术主要依靠在某个固定场景提前布置固定基站,这样使得系统的灵活性和适用性大大降低,室内环境一般墙体较多,但是信号的穿墙能力有限,频率越高穿墙能力越弱。


技术实现要素:

4.本发明提出一种单基站实现室内定位,无需预设固定基站,将lora测距和imu步长定位用于修正定位点,将lora用于穿墙和远距离通信的单基站室内定位系统及定位方法,解决现有技术存在的问题。
5.为实现上述目的,本发明的技术方案是:
6.一种单基站室内定位系统,包括可固定或可移动的基站和设置于目标体上的定位标签,所述基站与定位标签通讯连接,所述基站包括测距模块和步长定位模块,所述测距模块用于测量基站与定位标签之间的距离,所述步长定位模块用于监测目标体的实时姿态及通过步长计算监测目标体发生的位移,根据测距模块得到的基站与定位标签实际距离,结合步长定位模块测得的目标体的实时姿态及步长得到监测目标体行动轨迹。所述目标体的实时姿态包括目标体的俯仰角、横滚角和航向角。所述测距模块为lora测距模块,步长定位模块为imu步长定位模块;所述基站还包括有用于确认基站的位置的gps模块和用于将获取的测距信息传输到服务器解算标签位置的4g模块。
7.一种单基站室内定位系统的定位方法,所述imu步长定位模块定位目标体包括以下步骤:
8.步骤一:获得监测目标体的实时姿态,即目标体的俯仰角、横滚角和航向角;
9.步骤二:修正加速度的积分误差:加入静态约束以修正加速度的积分误差,静态约束即以佩戴标签的目标体落地时作为一步的结束,将此时的速度归0,并修正这一步期间速度偏差造成的位移变化量,即如下式:
[0010][0011][0012]
积分结果通过数据修正以获得更准确的轨迹;
[0013]
步骤三:计算目标体行进过程中的平面位移:使用加速度计的二次积分来计算x

y平面位移,加速度是速度的变化量,速度是位移的变化量,加速度的二次积分即为实际的位移,如下式:
[0014]
x=∫vdt=∫(∫adt)dt
[0015]
步骤四:获得目标体高度数据。
[0016]
获得监测目标体的实时姿态判断的具体方法为:在目标体行进时,使用该步位移方向作为行进过程中的俯仰角、横滚角和航向角数据直接输出,目标体静止时,使用由mahony计算获得的yaw角作为输出角度。
[0017]
所述imu步长定位模块的实时姿态监测方法过程中包括以下步骤:采用mahony算法获得;即通过前一状态的四元数加上陀螺仪的旋转值来求得当前时刻的姿态,mahony算法是一种递推算法,该算法使用四元数来表示当前状态,即标准坐标系通过该四元数的旋转所形成的姿态即是当前姿态。由于陀螺仪数据表示的是单位时间内三轴角度的变化值δθ,mahony算法通过前一状态的四元数加上陀螺仪的旋转值来求得当前时刻的姿态。陀螺仪本身存在漂移,mahony算法则通过加速度计与磁力计的数据修正陀螺仪的偏差。
[0018]
步骤一:当前时刻陀螺仪读数为(ω
x

y

z
)时,用四元数表示为q
ω
=(0,ω
x

y

z
),递推式如下:
[0019][0020][0021]
步骤二:通过初始状态算法获初始的四元数,并将其作为递推运算的初始值,通过迭代计算当前的状态,四元数是一种特殊的复数,它有一个实部和三个虚部,即:
[0022]
q=w+xi+yj+zk i2=j2=k2=
‑1[0023]
四元数的共轭可以表示为:
[0024][0025]
对于三维空间中的旋转,也可以通过四元数表示。b=(b
x
,b
y
,b
z
)以向量a=(a
x
,a
y
,a
z
)为轴旋转θ
°
的旋转操作(右手坐标系)可以表示为:
[0026][0027]
旋转后的点b

=(b

x
,b

y
,b

z
)则表示为:
[0028]
q
b
=(0,b
x
,b
y
,b
z
)
[0029]
q
b

=(0,b

x
,b

y
,b

z
)
[0030][0031]
其中,用*表示四元数乘法,公式为:
[0032]
ij=k、ki=

k、jk=i、kj=

i、ki=j、ik=

j
[0033]
p*q=(p1+p2i+p3j+p4k)*(q1+q2i+q3j+q4k)
[0034]
=(p1q1‑
p2q2‑
p3q3‑
p4q4)+(p1q2+p2q1+p3q4‑
p4q3)i+
[0035]
(p1q3+p3q1‑
p2q4+p4q2)j+(p1q4+p4q1‑
p3q2+p2q3)k
[0036]
由上式可得,四元数的乘法实质上即是复数的乘法,
[0037]
而a对b的旋转则可以用共轭表示,即:
[0038][0039]
将四元数归一化计算;通过求加速度计与磁力计在前一状态下的理论值与输出值的向量积之和,该值即为陀螺仪的漂移误差。负补偿修正陀螺仪输出值,通过加入权值k
i
来选择陀螺仪数据和误差计算值的比重——k
i
越大表示陀螺仪数据越不可靠,转而依赖加速度计与磁力计,再计算得到真实的当前状态。实际运动中加速度计会受到运动加速度的影响而偏离理论方向,故而对于姿态,陀螺仪的数据比起加速度计更为可靠,k
i
值应当较小(<1)。
[0040]
对于地面坐标系,加速度计的理论值应当为[0 0 1]
t
,指向z轴正方向,因而无法获得估计前一时刻的z轴的旋转角度,即偏航角。因而只用加速度计修正陀螺仪时,计算获得的偏航角会存在常态漂移,这时需要使用磁力计来修正偏航角。
[0041]
步骤三:对陀螺仪的误差进行补偿。
[0042]
所述步骤三中,对陀螺仪的误差进行补偿的具体通过求加速度计与磁力计在前一状态下的理论值与输出值的向量积之和,该值为陀螺仪的漂移误差,负补偿修正陀螺仪输出值,通过加入权值k
i
来选择陀螺仪数据和误差计算值的比重——k
i
越大表示陀螺仪数据越不可靠,转而依赖加速度计与磁力计,再计算得到真实的当前状态,实际运动中加速度计会受到运动加速度的影响而偏离理论方向,故而对于姿态,陀螺仪的数据比起加速度计更为可靠,k
i
值应当较小(<1)。
[0043]
所述步骤四中获得目标体高度数据方法为所述基站和定位标签中含有气压计,基站的气压计读数为p1,定位标签的气压计读数为p2,根据气压每下降100pa,高度降低9m计算,则基站和定位标签之间的高度差为:
[0044]
h=0.09*|(p1

p2)|。高度数据则使用综合高度加速度a
z
、气压计读数p与相对高
度h的卡尔曼滤波算法。对气压计读数进行滤波,从而获得一个较为准确的相对高度。
[0045]
对于陀螺仪的零漂,现在静置采集较长时间的数据,以获得较为准确的陀螺仪零漂平均值,通过减掉零漂来修正陀螺仪。环境的温度会影响陀螺仪的零漂值,对于目前使用环境,可以认为环境温度与陀螺仪的零漂是线性相关的。
[0046]
即:
[0047]
ω=kt+b
[0048]
该式中的b受到的影响因素更多,需要在每次开机重新确定值。因此我们预先在不同温度下获取t与ω的数据,拟合曲线并求出斜率k的值,再在每次开机时计算截距b,通过此方式来修正陀螺仪的零漂。
[0049]
对于加速度计和磁力计,则需要通过椭圆拟合算法来同时修正零漂与比例误差。
[0050]
对于加速度计和磁力计的数据,期望的数据应当是静止时分布在一个以坐标原点为球心的正球体上,由于零漂,球心会偏离原点,由于比例误差,正球体会变成一个椭球体。因此通过采集一波数据,使它们尽可能地分布在一个椭球体上,该椭球体的方程即可以表示为传感器的误差,这就是椭圆拟合法。通过采集静止状态下多个角度姿态的传感器数据,用最小二乘法计算获得椭球体的方程,对传感器进行修正。由于地球磁场的模值并非是1,因此计算过程需要进行归一化处理。
[0051]
对于电路、电源等硬件的干扰,通过椭球拟合可以消除相关误差。但是环境造成的干扰无法拟合消除。实际测试获得,加速度计的误差一般较小,陀螺仪的零漂误差较为固定,而磁力计的误差需要保证电路、电源等设备能够固定,其中电池的保护器对磁力计造成的影响尤为明显,需要将电池相对于磁力计固定,再进行校准,否则一旦发生相对位置位移,即使事后还原,磁场的偏移也会发生变化,需要重新进行磁力计的校准。
[0052]
还包括lora测距方法,所述lora测距方法包括定位标签发送信号到基站,定位标签返回信号到基站,花费了2t时间,可以得知信号单程的传输时间为t,已知信号在空气中的传输速度为光速c,则通过公式:
[0053]
r=c*t,其中c=3*10^8(m/s)
[0054]
得到定位标签和基站之间的距离range,定义为r,再通过取多次测距的中位数。
[0055]
与现有技术相比,本发明的有益效果在于:
[0056]
本方案采用915mhz频段,该频段目前多用于工业和医疗方面,在家用和商用使用较少,可有效减少受到的干扰。本方案只需要一个基站,基站含有gps模块、lora测距模块、imu以及4g模块,基站放置于室外,用于接收gps信号,确认基站的位置;同时通过lora模块和标签进行测距,并通过4g模块传输到服务器,利用算法解算标签的位置。本方案采用lora信号传输,相比于蓝牙、wifi等信号,lora信号频率更低,穿墙能力更强。只需要单基站就能实现室内人员/物品定位。基站位置无需提前固定预设,将基站放置在室外能接收到gps/bd信号的地方即可。使用lora传输,它是一种低功耗局域网无线标准,在同样的功耗条件下,比传统的无线射频通信距离扩大3

5倍,同时由于其频率较低,穿墙能力也更强,更适应室内复杂环境。
附图说明
[0057]
为了更清楚地说明本发明实施案例或现有技术中的技术方案,下面将对实施案例
或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施案例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0058]
图1为本发明一种单基站室内定位系统及定位方法的示意图(1);
[0059]
图2为本发明一种单基站室内定位系统及定位方法的示意图(2);
[0060]
图3为本发明一种单基站室内定位系统及定位方法的示意图(3);
[0061]
图4为本发明一种单基站室内定位系统及定位方法的示意图(4)。
具体实施方式
[0062]
下面结合附图对本发明的具体实施方式作进一步说明。在此需要说明的是,对于这些实施方式的说明用于帮助理解本发明,但并不构成对本发明的限定。此外,下面所描述的本发明各个实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互组合。
[0063]
参照图1,一种单基站室内定位系统,包括基站和设置于目标体上的定位标签,所述基站与定位标签通讯连接,所述基站包括测距模块和步长定位模块,所述测距模块用于测量基站与定位标签之间的距离,所述步长定位模块用于监测目标体的实时姿态及通过步长计算监测目标体发生的位移,根据测距模块得到的基站与定位标签实际距离,结合步长定位模块测得的目标体的实时姿态及步长得到监测目标体行动轨迹。所述目标体的实时姿态包括目标体的俯仰角、横滚角和航向角。测距模块为lora测距模块,步长定位模块为imu步长定位模块;所述基站还包括有用于确认基站的位置的gps模块和用于将获取的测距信息传输到服务器解算标签位置的4g模块。
[0064]
一种单基站室内定位系统的定位方法,所述imu步长定位模块定位目标体包括以下步骤:
[0065]
步骤一:获得监测目标体的实时姿态,即目标体的俯仰角、横滚角和航向角;
[0066]
步骤二:修正加速度的积分误差:加入静态约束以修正加速度的积分误差,静态约束即以佩戴标签的目标体落地时作为一步的结束,将此时的速度归0,并修正这一步期间速度偏差造成的位移变化量,即如下式:
[0067][0068][0069]
积分结果通过数据修正以获得更准确的轨迹;
[0070]
步骤三:计算目标体行进过程中的平面位移:使用加速度计的二次积分来计算x

y平面位移,加速度是速度的变化量,速度是位移的变化量,加速度的二次积分即为实际的位移,如下式:
[0071]
x=∫vdt=∫(∫adt)dt
[0072]
步骤四:获得目标体高度数据。
[0073]
获得监测目标体的实时姿态判断的具体方法为:在目标体行进时,使用该步位移
方向作为行进过程中的俯仰角、横滚角和航向角数据直接输出,目标体静止时,使用由mahony计算获得的yaw角作为输出角度。
[0074]
所述imu步长定位模块的实时姿态监测方法过程中包括以下步骤:采用mahony算法获得;即通过前一状态的四元数加上陀螺仪的旋转值来求得当前时刻的姿态,mahony算法是一种递推算法,该算法使用四元数来表示当前状态,即标准坐标系通过该四元数的旋转所形成的姿态即是当前姿态。由于陀螺仪数据表示的是单位时间内三轴角度的变化值δθ,mahony算法通过前一状态的四元数加上陀螺仪的旋转值来求得当前时刻的姿态。陀螺仪本身存在漂移,mahony算法则通过加速度计与磁力计的数据修正陀螺仪的偏差。
[0075]
步骤一:当前时刻陀螺仪读数为(ω
x

y

z
)时,用四元数表示为qω=(0,ω
x

y

z
),递推式如下:
[0076][0077][0078]
步骤二:通过初始状态算法获初始的四元数,并将其作为递推运算的初始值,通过迭代计算当前的状态,四元数是一种特殊的复数,它有一个实部和三个虚部,即:
[0079]
q=w+xi+yj+zk i2=j2=k2=
‑1[0080]
四元数的共轭可以表示为:
[0081][0082]
对于三维空间中的旋转,也可以通过四元数表示。b=(b
x
,b
y
,b
z
)以向量a=(a
x
,a
y
,a
z
)为轴旋转θ
°
的旋转操作(右手坐标系)可以表示为:
[0083][0084]
旋转后的点b

=(b

x
,b

y
,b

z
)则表示为:
[0085]
q
b
=(0,b
x
,b
y
,b
z
)
[0086]
q
b

=(0,b

x
,b

y
,b

z
)
[0087][0088]
其中,用*表示四元数乘法,公式为:
[0089]
ij=k、ki=

k、jk=i、kj=

i、ki=j、ik=

j
[0090]
p*q=(p1+p2i+p3j+p4k)*(q1+q2i+q3j+q4k)
[0091]
=(p1q1‑
p2q2‑
p3q3‑
p4q4)+(p1q2+p2q1+p3q4‑
p4q3)i+(p1q3+p3q1‑
p2q4+p4q2)j+(p1q4+p4q1‑
p3q2+p2q3)k
[0092]
由上式可得,四元数的乘法实质上即是复数的乘法,
[0093]
而a对b的旋转则可以用共轭表示,即:
[0094]
[0095]
将四元数归一化计算;通过求加速度计与磁力计在前一状态下的理论值与输出值的向量积之和,该值即为陀螺仪的漂移误差。负补偿修正陀螺仪输出值,通过加入权值k
i
来选择陀螺仪数据和误差计算值的比重——k
i
越大表示陀螺仪数据越不可靠,转而依赖加速度计与磁力计,再计算得到真实的当前状态。实际运动中加速度计会受到运动加速度的影响而偏离理论方向,故而对于姿态,陀螺仪的数据比起加速度计更为可靠,k
i
值应当较小(<1)。
[0096]
对于地面坐标系,加速度计的理论值应当为[0 0 1]
t
,指向z轴正方向,因而无法获得估计前一时刻的z轴的旋转角度,即偏航角。因而只用加速度计修正陀螺仪时,计算获得的偏航角会存在常态漂移,这时需要使用磁力计来修正偏航角。
[0097]
步骤三:对陀螺仪的误差进行补偿。
[0098]
所述步骤三中,对陀螺仪的误差进行补偿的具体通过求加速度计与磁力计在前一状态下的理论值与输出值的向量积之和,该值为陀螺仪的漂移误差,负补偿修正陀螺仪输出值,通过加入权值k
i
来选择陀螺仪数据和误差计算值的比重——k
i
越大表示陀螺仪数据越不可靠,转而依赖加速度计与磁力计,再计算得到真实的当前状态,实际运动中加速度计会受到运动加速度的影响而偏离理论方向,故而对于姿态,陀螺仪的数据比起加速度计更为可靠,k
i
值应当较小(<1)。
[0099]
所述步骤四中获得目标体高度数据方法为所述基站和定位标签中含有气压计,基站的气压计读数为p1,定位标签的气压计读数为p2,根据气压每下降100pa,高度降低9m计算,则基站和定位标签之间的高度差为:
[0100]
h=0.09*|(p1

p2)|。高度数据则使用综合高度加速度a
z
、气压计读数p与相对高度h的卡尔曼滤波算法。对气压计读数进行滤波,从而获得一个较为准确的相对高度。
[0101]
对于陀螺仪的零漂,现在静置采集较长时间的数据,以获得较为准确的陀螺仪零漂平均值,通过减掉零漂来修正陀螺仪。环境的温度会影响陀螺仪的零漂值,对于目前使用环境,可以认为环境温度与陀螺仪的零漂是线性相关的。
[0102]
即:
[0103]
ω=kt+b
[0104]
该式中的b受到的影响因素更多,需要在每次开机重新确定值。因此我们预先在不同温度下获取t与ω的数据,拟合曲线并求出斜率k的值,再在每次开机时计算截距b,通过此方式来修正陀螺仪的零漂。
[0105]
对于加速度计和磁力计,则需要通过椭圆拟合算法来同时修正零漂与比例误差。
[0106]
对于加速度计和磁力计的数据,期望的数据应当是静止时分布在一个以坐标原点为球心的正球体上,由于零漂,球心会偏离原点,由于比例误差,正球体会变成一个椭球体。因此通过采集一波数据,使它们尽可能地分布在一个椭球体上,该椭球体的方程即可以表示为传感器的误差,这就是椭圆拟合法。通过采集静止状态下多个角度姿态的传感器数据,用最小二乘法计算获得椭球体的方程,对传感器进行修正。由于地球磁场的模值并非是1,因此计算过程需要进行归一化处理。
[0107]
对于电路、电源等硬件的干扰,通过椭球拟合可以消除相关误差。但是环境造成的干扰无法拟合消除。实际测试获得,加速度计的误差一般较小,陀螺仪的零漂误差较为固定,而磁力计的误差需要保证电路、电源等设备能够固定,其中电池的保护器对磁力计造成
的影响尤为明显,需要将电池相对于磁力计固定,再进行校准,否则一旦发生相对位置位移,即使事后还原,磁场的偏移也会发生变化,需要重新进行磁力计的校准。
[0108]
还包括lora测距方法,所述lora测距方法包括定位标签发送信号到基站,定位标签返回信号到基站,花费了2t时间,可以得知信号单程的传输时间为t,已知信号在空气中的传输速度为光速c,则通过公式:
[0109]
r=c*t,其中c=3*10^8(m/s)
[0110]
得到定位标签和基站之间的距离range,定义为r,再通过取多次测距的中位数。
[0111]
参照图2,定位标签从a点移动到e点,在移动过程中实时采集基站和标签之间的range以及标签的imu数据,取轨迹中n个点,测得标签距离基站的range值为r0,r1,r2,...rn,图中为a,b,c,d,e五个点,即r0,r1,r2,r3,r4,。设a点坐标为到达e点时坐标为但是实际运动中存在误差,误差值为因此得到的e点坐标为如此,只需求得最小误差值即可做到最优,我们用最小二乘法,公式如下:
[0112][0113]
最小二乘法是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小,求得了最小误差值即求得了标签的最佳实际位置。
[0114]
坐标修正算法:在离基站较近时,此时lora测距会比较准确,更多依靠lora测距来实现定位,同时修正imu的误差;当离基站较远时,lora测距误差会变大,此时系统更多依靠imu步长定位,lora用于基站和标签之间的通信,传输imu和其他传感数据。
[0115]
以上结合附图对本发明的实施方式作了详细说明,但本发明不限于所描述的实施方式。对于本领域的技术人员而言,在不脱离本发明原理和精神的情况下,对这些实施方式进行多种变化、修改、替换和变型,仍落入本发明的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1