行人车辆多目标跟踪 行人定位方法_行人车辆多目标跟踪


本文介绍一篇使用 IMU/GPS 数据融合的行人定位论文,这里重点是理解本文提出的 Stop DetectionGPS Correction

论文地址为:https://www.researchgate.net/publication/261452498_IMUGPS_based_pedestrian_localization


1. Introduction

低成本的 IMUGPS 结合时可以提供行人准确的位置信息。本文提出了三种计算位置的策略:IMU数据二次积分零速更新(Zero-velocity Update:ZUPT)IMU和GPS融合的扩展卡尔曼滤波(EKF)

在使用GPS进行定位时,容易受到高建筑物、山脉信号遮挡的影响,同时 GPS 的定位误差也比较大(1~10m左右)。而 IMU 则不会受到环境的影响,通过对加速度角速度进行积分便可以得到位置、速度和方向信息。然而,IMU 积分导致的累计误差会随着时间不断增加,漂移现象往往非常严重。

本文研究目的是追踪室外行人,如上图1所示,脚上安装有Xsens 的IMU,可以测量行人的加速度和角速度, GPS模块用来获取 GPS 位置信息。

下面介绍行人定位中使用到的两个坐标,如下图2所示:惯性传感器坐标行人车辆多目标跟踪 行人定位方法_sed_02 (有时也称为载体坐标),世界坐标行人车辆多目标跟踪 行人定位方法_世界坐标_03(有时也称为导航坐标)。在世界坐标中,行人车辆多目标跟踪 行人定位方法_sed_04 轴指向地球表面 East 方向,行人车辆多目标跟踪 行人定位方法_行人车辆多目标跟踪_05 轴指向地球表面 North 方向,Z 轴根据右手法则向上(其实这里使用的是ENU坐标)。行人车辆多目标跟踪 行人定位方法_行人车辆多目标跟踪_06表示为从载体坐标到世界坐标的旋转变换(例如将载体坐标下的加速度和角速度转换为世界坐标下的加速度和角速度)。

行人车辆多目标跟踪 行人定位方法_行人车辆多目标跟踪_07


2. Basic Position Calculation

下面介绍计算位置的最基础方法,由于使用的是Xsens 的IMU,传感器可以直接输出方向信息,这里用单位四元数行人车辆多目标跟踪 行人定位方法_数据_08来表示行人车辆多目标跟踪 行人定位方法_行人车辆多目标跟踪_06

状态向量定义为:
行人车辆多目标跟踪 行人定位方法_sed_10

其中行人车辆多目标跟踪 行人定位方法_sed_11是行人在世界坐标的位置,行人车辆多目标跟踪 行人定位方法_世界坐标_12是行人脚步运动速度,行人车辆多目标跟踪 行人定位方法_sed_13是方向欧拉角。

载体加速度行人车辆多目标跟踪 行人定位方法_行人车辆多目标跟踪_14到世界坐标加速度行人车辆多目标跟踪 行人定位方法_行人车辆多目标跟踪_15的转换关系为:
行人车辆多目标跟踪 行人定位方法_世界坐标_16

其中,行人车辆多目标跟踪 行人定位方法_世界坐标_17表示为四元数相乘行人车辆多目标跟踪 行人定位方法_行人车辆多目标跟踪_18为地球重力向量。由于载体加速度包含重力加速度和运动加速度,因此这里转换到世界坐标系后要减去重力加速度。

四元数和欧拉角的转换关系:
行人车辆多目标跟踪 行人定位方法_行人车辆多目标跟踪_19

根据二次积分,可以获得位置和速度信息,计算方程如下:
行人车辆多目标跟踪 行人定位方法_世界坐标_20

其中,行人车辆多目标跟踪 行人定位方法_行人车辆多目标跟踪_21是IMU采样时间间隔,行人车辆多目标跟踪 行人定位方法_世界坐标_22行人车辆多目标跟踪 行人定位方法_sed_23的单位阵,根据上述方程,就能得到行人在不同时刻的位置。然而,由于IMU本身固有的漂移现象,并不能得到可靠的位置信息。图3是数据采集时行人走过的真实运动轨迹,图4是计算轨迹,可以看到计算后的轨迹漂移现象非常严重。

行人车辆多目标跟踪 行人定位方法_世界坐标_24


3. Error Correction By Stop Detection

为了解决漂移现象,本文提出了 Stop Detection 方法。行走时,脚部其实是经历了一个静态阶段运动阶段相互变换的过程,静态阶段速度应为0,因此当检测到静态阶段时应将速度设为0,这样就可以部分修正漂移现象,这种修正方法也被称为 zero-velocity updates (ZUPTs)

作者使用了一个多条件的静态检测算法,具体如下:

行人车辆多目标跟踪 行人定位方法_世界坐标_25

行人车辆多目标跟踪 行人定位方法_世界坐标_26

行人车辆多目标跟踪 行人定位方法_数据_27

其中,行人车辆多目标跟踪 行人定位方法_数据_28是加速度模,行人车辆多目标跟踪 行人定位方法_数据_29是加速度局部方差,行人车辆多目标跟踪 行人定位方法_世界坐标_30是角速度模。

当同时满足以上条件时,就判定为静止,即 行人车辆多目标跟踪 行人定位方法_sed_31。此时,位置和速度更新方程如下 (这里需要提醒的时,当判定为静止时行人车辆多目标跟踪 行人定位方法_sed_32应为0才能保证速度初始化为0,这里与原文处理有一点不同)。
行人车辆多目标跟踪 行人定位方法_行人车辆多目标跟踪_33

下面是 stop detection 结果和计算后的轨迹,漂移现象得到了很大的改善。

行人车辆多目标跟踪 行人定位方法_行人车辆多目标跟踪_34


4. Error Correction By GPS

IMU导航的主要缺陷是其误差会随着时间不断累加。相反,GPS不会出现很大漂移现象。因此常见导航系统为GPS/IMU组合导航,本文作者提出使用EKF来修正IMU定位误差。

已知系统状态转移模型为:
行人车辆多目标跟踪 行人定位方法_世界坐标_35

其中行人车辆多目标跟踪 行人定位方法_数据_36行人车辆多目标跟踪 行人定位方法_行人车辆多目标跟踪_37的状态转移矩阵,行人车辆多目标跟踪 行人定位方法_sed_38是控制矩阵,行人车辆多目标跟踪 行人定位方法_世界坐标_39是过程噪声。

测量模型为:
行人车辆多目标跟踪 行人定位方法_数据_40

其中行人车辆多目标跟踪 行人定位方法_数据_41是预测测量,行人车辆多目标跟踪 行人定位方法_行人车辆多目标跟踪_42是测量矩阵,行人车辆多目标跟踪 行人定位方法_数据_43是测量噪声。

已知GPS输出为:经度、纬度、高度、航向和速度信息。一般只使用经度、纬度和航向信息,因为GPS的高度和速度信息噪声很大。这里需要对位置信息进行坐标转换处理,转换到世界坐标,坐标转换方程为:

行人车辆多目标跟踪 行人定位方法_数据_44

行人车辆多目标跟踪 行人定位方法_世界坐标_45

其中行人车辆多目标跟踪 行人定位方法_世界坐标_46行人车辆多目标跟踪 行人定位方法_sed_47是参考点位置信息,行人车辆多目标跟踪 行人定位方法_世界坐标_48是测量点坐标,行人车辆多目标跟踪 行人定位方法_行人车辆多目标跟踪_49是地球长半轴和短半轴半径。

这里实际测量值为:
行人车辆多目标跟踪 行人定位方法_数据_50

根据测量值,可以得到测量矩阵为:
行人车辆多目标跟踪 行人定位方法_行人车辆多目标跟踪_51

卡尔曼更新方程为:
行人车辆多目标跟踪 行人定位方法_行人车辆多目标跟踪_52

其中,卡尔曼增益行人车辆多目标跟踪 行人定位方法_世界坐标_53计算方程为:
行人车辆多目标跟踪 行人定位方法_行人车辆多目标跟踪_54

其中行人车辆多目标跟踪 行人定位方法_世界坐标_55是状态协方差矩阵,预测时协方差矩阵计算方程为:
行人车辆多目标跟踪 行人定位方法_sed_56

GPS更新时协方差矩阵计算方程为:
行人车辆多目标跟踪 行人定位方法_sed_57

这里介绍下方向修正,因为我们使用四元数表示方向,四元数修正方程为:
行人车辆多目标跟踪 行人定位方法_世界坐标_58

其中行人车辆多目标跟踪 行人定位方法_数据_59,将欧拉角转换为四元数。

整个算法流程如下:

行人车辆多目标跟踪 行人定位方法_世界坐标_60


最后是本文提出的定位算法在两个测试场景下的效果:

行人车辆多目标跟踪 行人定位方法_世界坐标_61

行人车辆多目标跟踪 行人定位方法_世界坐标_62

行人车辆多目标跟踪 行人定位方法_数据_63