Operations Research and Fuzziology
Vol. 14  No. 02 ( 2024 ), Article ID: 85208 , 11 pages
10.12677/orf.2024.142176

基于四点定位和拓展卡尔曼滤波的UWB定位 及轨迹估计算法

吕晓晨,何亚岚

上海理工大学理学院,上海

收稿日期:2024年2月21日;录用日期:2024年3月13日;发布日期:2024年4月24日

摘要

基于室内环境的复杂性和多变性,本文研究了超宽带(Ultra-Wideband, UWB)通信信号在信号干扰影响下的精确定位问题。首先采用四点定位法,利用UWB中的靶点与锚点的距离信息实现靶点的定位,并通过解决非线性最小二乘问题对定位算法进行改进;然后在随机生成具有固定靶点与锚点位置的数据集中,采用改进算法计算靶点的位置,并通过误差评估指标对算法进行误差分析,验证算法的有效性与适用性;最后利用拓展卡尔曼滤波对轨迹估计进行优化,得到精确的轨迹模型。

关键词

超宽带,定位,卡尔曼滤波

UWB Positioning and Trajectory Estimation Algorithm Based on Four-Point Positioning and Expanded Kalman Filtering

Xiaochen Lyu, Yalan He

College of Science, University of Shanghai for Science and Technology, Shanghai

Received: Feb. 21st, 2024; accepted: Mar. 13th, 2024; published: Apr. 24th, 2024

ABSTRACT

Based on the complexity and variability of the indoor environment, this paper investigates the precise positioning of Ultra-Wideband (UWB) communication signals under the influence of signal interference. Firstly, the four-point positioning algorithm is adopted to achieve the target location using the distance information between the target point and the anchor point in UWB, and the positioning algorithm is improved by solving the nonlinear least squares problem. Secondly, in the randomly generated dataset with fixed target and anchor positions, the improved algorithm is used to calculate the position of the target, then the error analysis is carried out on the algorithm through the error assessment index to verify the effectiveness and applicability of the algorithm. Finally, the trajectory estimation is optimized using extended Kalman filtering to obtain an accurate trajectory model.

Keywords:Ultra-Wideband, Positioning, Kalman Filter

Copyright © 2024 by author(s) and Hans Publishers Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).

http://creativecommons.org/licenses/by/4.0/

1. 引言

随着信息时代物联网技术的快速发展,人们对于定位应用的需求也在不断增加。GPS作为室外定位常用的手段之一,在地图导航及户外人员定位等领域有着较高的定位精度 [1] 。然而其在室内环境中会受各类建筑物遮挡,导致无线卫星信号多径传播和信号衰减,从而无法满足室内位置服务的需求,因此室内定位方案及技术成为当前研究的热点。

现如今室内定位技术种类繁多:红外线的定位系统通过红外信号作为测量信号对目标进行定位 [2] ;定位系统结构简单、定位精度较高、目标跟踪性较好但易受非视距的室内环境影响的超声波定位技术 [3] ;通过测距定位法和基于指纹库定位法的WiFi技术,但其传播距离较短,易受室内环境的噪声干扰 [4] ;可自动识别的射频识别技术,但其仅适合于定位区域小且精度需求不高情况下使用 [5] ;适用低速短距离传输的ZigBee定位技术,低功耗、低成本,但同样只能满足低定位精度要求的场景使用 [6] 。而超宽带(Ultra-Wideband, UWB)通信具有较高的信息传送速率、卓越的定位精度,以及较好的时间分辨和抗多径干扰能力,逐渐在室内环境中占有相当的比重 [7] 。但室内场景多变、环境复杂,会使得UWB通信信号极易受到遮挡,虽然UWB技术具有穿透能力,但仍然会产生误差,在较强干扰时,数据会发生异常波动(通常是时间延时),基本无法完成室内定位。因此对信号干扰下的超宽带精确定位问题进行研究具有非常重要的应用价值。

本文首先利用UWB中的靶点与锚点的距离信息实现靶点的定位,并通过解决非线性最小二乘问题对定位算法进行改进;其次通过随机生成固定的靶点与锚点位置,应用改进算法计算靶点的位置,运用误差评估指标对算法进行误差分析,验证算法的有效性与适用性;最后采集按时间顺序的离散数据对其进行轨迹估计,并运用拓展卡尔曼滤波进行优化,得到精确的轨迹模型。

2. 定位算法

根据靶点与四个锚点之间的距离,需要通过定位技术确定靶点的位置。四点定位法利用靶点与四个锚点之间的空间距离来确定靶点的位置。原始的四点定位法直接进行定位,但在实际环境中靶点与锚点之间的距离难以避免地存在误差,导致解定位坐标时产生误差,而这种误差是无法估计的。因此在存在距离误差的前提下,需要获得最优解。由此产生的问题可被形式化为非线性最小二乘问题,故采用LM算法进行求解,得到改进的四点定位算法。

2.1. 四点定位

在实际应用中,需要在锚点数量有限的情况下尽可能准确地估计靶点位置,而四点定位法 [8] 能够利用靶点与四个锚点之间的空间距离来确定靶点的位置。

假设空间中已知四点A、B、C、D,坐标分别为 ( x 1 , y 1 , z 1 ) ( x 2 , y 2 , z 2 ) ( x 3 , y 3 , z 3 ) ( x 4 , y 4 , z 4 ) ,待定位点P坐标为 ( x , y , z ) ,P到四点的距离分别为 ρ 1 , ρ 2 , ρ 3 , ρ 4 ,根据距离公式可得:

{ ( x 1 x ) 2 + ( y 1 y ) 2 + ( z 1 z ) 2 = ρ 1 2 ( x 2 x ) 2 + ( y 2 y ) 2 + ( z 2 z ) 2 = ρ 2 2 ( x 3 x ) 2 + ( y 3 y ) 2 + ( z 3 z ) 2 = ρ 3 2 ( x 4 x ) 2 + ( y 4 y ) 2 + ( z 4 z ) 2 = ρ 4 2 (1)

整理可得:

{ x 2 2 x 1 x + y 2 2 y 1 y + z 2 2 z 1 z = ρ 1 2 x 1 2 y 1 2 z 1 2 x 2 2 x 2 x + y 2 2 y 2 y + z 2 2 z 2 z = ρ 2 2 x 2 2 y 2 2 z 2 2 x 2 2 x 3 x + y 2 2 y 3 y + z 2 2 z 3 z = ρ 3 2 x 3 2 y 3 2 z 3 2 x 2 2 x 4 x + y 2 2 y 4 y + z 2 2 z 4 z = ρ 4 2 x 4 2 y 4 2 z 4 2 (2)

对方程进行三次差分消除掉高次项,得到:

{ 2 x ( x 2 x 1 ) + 2 y ( y 2 y 1 ) + 2 z ( z 2 z 1 ) = ρ 1 2 ρ 2 2 + x 2 2 x 1 2 + y 2 2 y 1 2 + z 2 2 z 1 2 2 x ( x 3 x 1 ) + 2 y ( y 3 y 1 ) + 2 z ( z 3 z 1 ) = ρ 1 2 ρ 3 2 + x 3 2 x 1 2 + y 3 2 y 1 2 + z 3 2 z 1 2 2 x ( x 4 x 1 ) + 2 y ( y 4 y 1 ) + 2 z ( z 4 z 1 ) = ρ 1 2 ρ 4 2 + x 4 2 x 1 2 + y 4 2 y 1 2 + z 4 2 z 1 2 (3)

用矩阵形式表示: A c = b ,其中: c = ( x , y , z ) T

A = ( 2 ( x 2 x 1 ) 2 ( y 2 y 1 ) 2 ( z 2 z 1 ) 2 ( x 3 x 1 ) 2 ( y 3 y 1 ) 2 ( z 3 z 1 ) 2 ( x 4 x 1 ) 2 ( y 4 y 1 ) 2 ( z 4 z 1 ) ) , b = ( ρ 1 2 ρ 2 2 + x 2 2 x 1 2 + y 2 2 y 1 2 + z 2 2 z 1 2 ρ 1 2 ρ 3 2 + x 3 2 x 1 2 + y 3 2 y 1 2 + z 3 2 z 1 2 ρ 1 2 ρ 4 2 + x 4 2 x 1 2 + y 4 2 y 1 2 + z 4 2 z 1 2 ) (4)

求解P点坐标,即求解向量 c ,如果矩阵 A 的逆矩阵存在,可求得: c = A 1 b

2.2. 改进定位算法

上述的四点定位法求解过程中,将四个方程做三次差分得到三个方程,是基于“靶点到四个锚点的距离是准确的”进行的。但在实际中由于受到各种干扰,测得的距离数据是不精确的,需要在受到干扰的情况下获得最优解。因此针对误差的产生,需要将问题化作非线性最小二乘问题形式,并采用LM算法进行求解。

1) 目标函数:

F ( x ) = 1 2 i = 1 m ( f i ( x ) ) 2 (5)

其中, f i : R n R , i = 1 , , m , x R n f i ( x ) R f i 也可以将x映射到 R m 空间中。

2) 高斯牛顿法:

将目标函数改写成矩阵形式:

F ( x ) = 1 2 [ f ( x ) ] 2 (6)

其中:

f ( x ) = [ f 1 ( x ) f m ( x ) ] (7)

记:

J i ( x ) = f i ( x ) x = [ f i ( x ) x 1 f i ( x ) x n ] (8)

J ( x ) = [ f 1 ( x ) x f m ( x ) x ] = [ f 1 ( x ) x 1 f m ( x ) x n f 1 ( x ) x 1 f m ( x ) x n ] (9)

J i ( x ) 是一个 1 × n 向量,而 J ( x ) 是一个 n × n 矩阵。

f ( x ) 进行一阶泰勒展开:

l ( Δ x ) = f ( x ) + J Δ x f ( x + Δ x ) (10)

则:

F ( x ) L ( Δ x ) = 1 2 l ( Δ x ) T l ( Δ x ) = 1 2 ( f ( x ) + J Δ x ) = 1 2 f ( x ) 2 + f ( x ) T J Δ x + Δ x T J T J Δ x (11)

L ( Δ x ) 求导并令其为0,则:

L ( Δ x ) Δ x = f ( x ) T J + Δ x T J T J = J T f ( x ) + J T J Δ x = 0 (12)

可得:

Δ x = ( J T J ) 1 J T f ( x ) (13)

3) LM法:

J T J 奇异或病态时,则需引入单位矩阵 I ,使得:

( J T J + μ I ) Δ x = J T f ( x ) (14)

其中, μ 0

则:

m k ( Δ x ) = 1 2 x k 2 + ( Δ x ) T J T x k + 1 2 ( Δ x ) T J T J Δ x (15)

4) 算法步骤

给定 x 0 ,初始乘子 μ 0 ,参数 0 β r 1 < r 2 < 1 , ε 0 , σ 1 < 1 < σ 2 , k : = 0

步骤1:如果 f ( x k ) ε ,算法停止, x k 是问题的解。

步骤2:计算 ( J T J + μ I ) Δ x = J T f ( x ) 得到 Δ x k

步骤3:计算 r k = f ( x k ) f ( x k + Δ x k ) m k ( 0 ) m k ( Δ x k )

r k < r 1 ,则 μ k + 1 = σ 2 μ k

r k > r 2 ,则 μ k + 1 = σ 1 μ k

否则, μ 不变。

步骤4:若 r k > β x k + 1 = x k + Δ x k

否则 x k + 1 = x k

k = k + 1 ,转步骤1。

运用上述算法求解式(1),即可得到改进后的四点定位法。

3. 轨迹估计

由于数据呈现为时间顺序的离散形式,轨迹估计可视为对离散时间系统状态进行估计的过程。通过采集数据,能够获取靶点的运动信息以及对锚点的观测数据。卡尔曼滤波 [9] 被广泛应用于线性系统状态的最优估计。但由于定位模型不符合线性系统的特性,因此需要采用拓展卡尔曼滤波进行优化,使轨迹估计更加精准。

3.1. 拓展卡尔曼滤波

标准卡尔曼滤波的状态转移方程和观测方程为:

{ θ k = A θ k 1 + B u k 1 + s k z k = C θ k + v k (16)

其中, k 1 k 分别表示上一状态和当前状态; θ R n 表示要估计的状态; A R n × n 表示上一状态到当前状态的转换矩阵; u R l 表示可选的控制输入,一般在实际使用中忽略; B R n × l 表示控制输入到当前状态的转换矩阵; z R m 表示测量值; C R m × n 表示当前状态到测量的转换矩阵; s k 表示过程噪声; v k 表示测量噪声。

设扩展卡尔曼滤波 [10] 的状态转移方程和观测方程为:

θ k = f ( θ k 1 ) + s k (17)

z k = h ( θ k ) + v k (18)

利用泰勒展开式对式(17)在上一次的估计值 ( θ k 1 ) 处展开得:

θ k = f ( θ k 1 ) + s k = f ( θ k 1 ) + F k 1 ( θ k 1 θ k 1 ) + s k (19)

再利用泰勒展开式对式(18)在本轮的状态预测值 θ k 处展开得:

z k = h ( θ k ) + v k = h ( θ k ) + H k ( θ k θ k ) + v k (20)

其中, F k 1 H k 分别表示函数 f ( θ ) h ( θ ) θ k 1 θ k 处的雅克比矩阵。

下面给出拓展卡尔曼滤波预测和更新两个步骤:

1) 预测

θ k = f ( θ k 1 ) , k ' = F k 1 k 1 F k 1 T + Q

2) 更新

S k = ( H k k ' H k T + R ) 1 , K k = k ' H k T S k

θ k = θ k + K ( z k h ( θ k ) ) , k = ( I K k H k ) k '

其中的雅克比矩阵 F k 1 H k 分别为:

F k 1 = f θ | θ k 1 , H k = h θ | θ k

其中, θ k 为真实值, θ 为预测值, θ k 为估计值, z k 为观测值, z ^ k 为观测值的预测, k 为估计值与真实值之间的误差协方差矩阵, 为求期望的符号。

状态转移方程和观测方程为:

θ k = f ( θ k 1 ) + s k , s k N ( 0 , Q ) , z k = h ( θ k ) + v k , v k N ( 0 , R )

引入反馈:

θ k = θ k + K k ( z k z ^ k ) = θ k + K k ( z k h ( θ k ) ) (21)

由式(19)、(20)可得:

f ( θ k 1 ) f ( θ k 1 ) = F k 1 ( θ k 1 θ k 1 ) (22)

h ( θ k ) h ( θ k ) = H k ( θ k θ k ) (23)

计算估计值与真实值之间的误差协方差矩阵,并把式(20)、(21)、(23)代入,得到:

k = e k e k T = ( θ k θ k ) ( θ k θ k ) T = [ θ k θ k K k ( z k h ( θ k ) ) ] [ θ k θ k K k ( z k h ( θ k ) ) ] T = [ θ k θ k K k ( h ( θ k ) h ( θ k ) + v k ) ] [ θ k θ k K k ( h ( θ k ) h ( θ k ) + v k ) ] T = [ ( I K k H k ) ( θ k θ k ) + K k v k ] [ ( I K k H k ) ( θ k θ k ) + K k v k ] T = ( I K k H k ) ( θ k θ k ) ( θ k θ k ) T ( I K k H k ) T + K k R K k T = ( I K k H k ) k ' ( I K k H k ) T + K k R K k T (24)

其中 k ' 表示真实值与预测值之间的误差协方差矩阵。于是得到:

k = k ' K k H k k ' k ' H k T + K k ( H k k ' H k T + R ) K k T (25)

由于 k 的对角元即为真实值与估计值的误差的平方,矩阵的迹即为总误差的平方和,即:

T r [ k ] = T r [ k ' ] + T r [ K k ( H k k ' H k T + R ) K k T ] 2 T r [ K k H k k ' ] (26)

为了估计值更接近于真实值,使 T r [ k ] 尽可能的小,需要取得合适的卡尔曼增益 K k ,即 T r [ k ] K k 的偏导为0:

d T r [ k ] d K k = 2 K k ( H k k ' H k T + R ) 2 ( H k k ' ) T = 0 (27)

则卡尔曼增益为:

K k = k ' H k T ( H k k ' H k T + R ) 1 (28)

再由式(25)得到:

k = k ' k ' H k T ( H k k ' H k T + R ) 1 H k k ' = ( I K k H k ) k ' (29)

则真实值与预测值之间的协方差矩阵 k ' 为:

k ' = e k e k T = ( θ k θ k ) ( θ k θ k ) T (30)

将式(31)带入到式(30)中,

θ k = f ( θ k 1 ) + s k , θ k = f ( θ k 1 ) (31)

可得:

k ' = [ f ( θ k 1 ) f ( θ k 1 ) + s k ] [ f ( θ k 1 ) f ( θ k 1 ) + s k ] T (32)

其中, θ k θ k 与观测噪声是独立的,期望为零; s k s k T 表示观测噪声的协方差矩阵,用 Q 表示。

于是得到:

k ' = F k 1 ( θ k 1 θ k 1 ) ( θ k 1 θ k 1 T ) F k 1 T + s k s k T = F k 1 k 1 F k 1 T + Q (33)

式(33)的协方差矩阵的转置矩阵即为其本身。

3.2. 运动模型

靶点从A运动到B的轨迹如图1所示。

Figure 1. Target motion trajectory schematic diagram

图1.靶点运动轨迹示意图

轨迹估计是一个离散时间系统的状态估计 [11] ,记录终端在各个时刻的位置状态为:

r k = [ x , y ] k (34)

k 表示终端在轨迹中的离散时间下标。用两个方程描述状态,估计问题:

{ r k = f ( r k 1 , u k , w k ) z k = g ( r k , v k ) (35)

其中, f 为状态方程, g 为观测方程, u 为输入, w 为系统噪声, z 为观测数据, v 为观测噪声, r ^ k 为状态预测, r ^ k 1 为状态估计, z ^ k 为测量预测。

对应的预测方程和观测方程为:

{ r ^ k = f ( r ^ k 1 , w k ) z ^ k = g ( r ^ k , v k ) (36)

构造残差方程: e k = z k g ( r ^ k , v k ) ,即预测和测量的误差,当残差最小时误差最小。通过这种反馈的形式降低噪声的影响,最终得到的各个位置的坐标即为残差平方最小化的解。

4. 实验及结果

根据设定的实验场景和数据,对改进的定位算法进行误差评估,以验证算法的有效性和适应性;然后生成以时间为序的靶点运动数据,应用本文算法来推断靶点的运动轨迹,进一步对轨迹模型进行评估。

4.1. 实验场景及数据

实验设置在5000 mm × 5000 mm × 3000 mm的测试环境中。分别在4个角落A0、A1、A2、A3放置UWB锚点,锚点向所有方向发送信号,如图2。Tag为UWB标签,即需要定位的目标(靶点)。Tag接收到4个UWB锚点的信号,利用TOF技术,分别解算出对应的4个距离数据。实验在实验场景中采集了Tag在324个不同位置,在信号干扰下的UWB数据,锚点与Tag之间每0.2~0.3秒之间会发送、接收信号一次。靶点范围为:5000 mm × 5000 mm × 3000 mm。锚点位置(单位:mm)为:A0 (0, 0, 1300)、A1 (5000, 0, 1700)、A2 (0, 5000, 1700)、A3 (5000, 5000, 1300)。

Figure 2. Experimental environment schematic diagram

图2. 实验环境示意图

4.2. 定位算法实验及结果

随机生成四个锚点与一个靶点,通过改进后的四点定位法计算出靶点的位置,再将精确的靶点位置与计算的靶点位置进行比较,可以验证算法的准确性。为了实际性,对空间四点定位的误差进行分析,加入干扰,多次定位同一点,观察误差情况。下面介绍相关误差评定指标:

1) 平均偏差:定位点与待定位点距离的平均值,反映定位精确度。

2) 均方根误差:反映定位精确度。

R M S E = i = 1 n ( X o b s , i X mod e l , i ) 2 n (37)

3) 标准差:反映定位精密度。

S = i = 1 N ( X i X ¯ ) 2 n (38)

图3可知,加入随机扰动后将数据代入误差指标可以得到误差分析图。从误差分析图可以观察到,采用四点定位的方法,平均偏差接近于4 cm,均方根误差与标准差均接近于4.5 cm,误差较小,表明本文定位算法具有较高的定位精度。

Figure 3. Error analysis chart

图3. 误差分析图

4.3. 轨迹估计算法实验及结果

将锚点与靶点的信息数据带入轨迹估计算法中,获得靶点随时间运动的位置信息,将其可视化为轨迹。图4展示了原始定位散点图,图5展示了根据轨迹模型优化后的轨迹图。在具有信号干扰的情况下,本文算法仍然能够较为准确的重现出靶点的运动轨迹。

Figure 4. Original localization scatter plot

图4. 原始定位散点图

Figure 5. Motion trajectory chart

图5. 运动轨迹图

文章引用

吕晓晨,何亚岚. 基于四点定位和拓展卡尔曼滤波的UWB定位及轨迹估计算法
UWB Positioning and Trajectory Estimation Algorithm Based on Four-Point Positioning and Expanded Kalman Filtering[J]. 运筹与模糊学, 2024, 14(02): 755-765. https://doi.org/10.12677/orf.2024.142176

参考文献

  1. 1. 王星星, 丛思安. 室内定位研究方法综述[J]. 软件导刊, 2019, 18(9): 9-12.

  2. 2. 高守玮, 杨建国, 张建华, 尹旭全. 一种红外线测距技术的探讨[J]. 现代电子技术, 2002(8): 49-50.

  3. 3. Addlesee, M., Curwen, R., Hodges, S., et al. (2001) Implementing a Sentient Computing System. Computer, 34, 50-56. https://doi.org/10.1109/2.940013

  4. 4. 彭军民. 基于WiFi终端的室内定位系统及其应用[J]. 通信电源技术, 2018, 35(9): 141-145.

  5. 5. 李深安. 基于物联网网关的智能家居系统室内定位技术研究[D]: [硕士学位论文]. 北京: 北京邮电大学, 2015.

  6. 6. Hai, L., Yang, Z., Cao, Z., et al. (2022) An Improved Weighted Centroid Localization Algorithm Based on Zigbee. Proceedings of 2022 5th International Conference on Advanced Electronic Materials, Computers and Software Engineering (AEMCSE), Wuhan, China, 22-24 April 2022, 634-637. https://doi.org/10.1109/AEMCSE55572.2022.00129

  7. 7. Yang, L.Q. and Giannakis, G.B. (2004) Ultra-Wideband Communications: An Idea Whose Time Has Come. IEEE Signal Processing Magazine, 21, 26-54. https://doi.org/10.1109/MSP.2004.1359140

  8. 8. Khalaf-Allah, M.P. (2020) Filtering for Three-Dimensional TDoA-Based Positioning Using Four Anchor Nodes. Sensors, 20, 4516-4542. https://doi.org/10.3390/s20164516

  9. 9. Wei, W. (2019) Underground Precise Positioning Algorithm Based on Kalman Filter and Weighted LM Algorithm. Industry and Mine Automation, 45, 5-9.

  10. 10. Yang, H., Li, Y.A. and Li., G.H. (2010) New Method of Improved Extended Kalman Filter. Computer Engineering and Applications, 46, 18-20.

  11. 11. Rusinkiewicz, S. and Levoy, M. (2001) Efficient Variants of the ICP Algorithm. Proceedings Third International Conference on 3-D Digital Imaging and Modeling. Quebec City, QC, Canada, 28 May 2001, 145-152.

期刊菜单