一种基于智能手机的自主式行人定位方法与流程

文档序号:22672066发布日期:2020-10-28 12:23阅读:148来源:国知局
一种基于智能手机的自主式行人定位方法与流程

本发明涉及行人导航定位技术领域,尤其涉及一种基于智能手机的自主式行人定位方法。



背景技术:

基于位置的服务对于人们的生活至关重要,在生活中随处可见与位置信息相关的服务。现有使用最广泛的定位系统是美国的全球定位系统(globalpositioningsystem,简称gps),而基于gps的定位技术需要依赖卫星实现定位。gps可以在露天环境中为行人提供可靠的位置信息,但是在隧道、高层建筑群和室内环境中存在信号阻塞和多路径问题。近年来,基于wi-fi、蓝牙(bluetooth)、射频识别(radiofrequencyidentification,简称rfid)、近场通信(nearfieldcommunication,简称nfc)、超宽带(ultrawideband,简称uwb)、5g、可见光、声源等进行定位的技术层出不穷。有些技术需要在一个相对稳定不变的环境中才能够得到较好的定位效果,部署基础设施的场景一旦发生改变,就会对上述定位技术中捕获的信号产生影响,最终的定位效果也大打折扣。以上几种定位技术虽然能够在gps失效的场景中提供定位服务,但是都依赖于基础设施的部署和支撑,甚至还需要配备特殊的定位终端,造价成本和技术局限性限制了它们在社会上的应用普及。

位置信息的获取依赖于定位设备,将智能手机作为定位载体具有诸多的优势。智能手机作为一种智能移动终端在社会上的普及率高,拥有诸多的用户,行人不需要额外的资金投入。并且智能手机内置了多种传感器,例如加速度计、陀螺仪、磁力计等,可以采集相关传感器数据用于定位。智能手机拥有丰富的计算资源,能够对数据进行处理计算,还可以进行方便友好的人机交互。

当今一种常用的行人定位技术如无线局域网定位技术(wirelesslocalareanetwork,简称wlan),其接入点(accesspoint,简称ap)能够广播信标帧,通常在一个确定的区域里可以每100ms发送一次,信标帧包含媒体访问控制(mediaaccesscontrol,简称mac)地址。移动节点接收这些信号,并根据ap的mac地址识别对应的ap。可以利用测量到的ap的信号强度(receivedsignalstrength,简称rss)估计用户位置。使用wlan进行定位时,接收周围三个及以上的ap信号强度,根据rss测量值估算出接收设备与周围ap的距离,通过三角定位的方法实现定位。然而,将rss测量值转换为距离时会产生较大的误差,这一问题在室内环境中尤其严重,wlan信号容易被墙壁反射,还会被室内建筑结构或者人的身体遮挡而产生信号衰减,定位结果不够准确。

目前,越来越多研究热点集中在采用mems器件(如加速度计和陀螺仪)固定在行人腰部或脚部等地方,对传感器采集数据进行进行多次积分进行行人定位。然而,由于传感器的测量原理、固有缺陷等多方面因素致使多次积分后误差累积过大,航偏严重,无法满足正常的室内定位需求。



技术实现要素:

本发明主要解决现有技术的行人定位方法依赖外部辅助设备而实现定位以及行人定位跟踪轨迹穿墙的技术问题,提出一种基于智能手机的自主式行人定位方法,在行人航迹推算算法框架下进行了定位,提升行人定位精度,优化定位轨迹,使得滤波后的轨迹更加符合真实情况。具有稳定性高、独立性强和抗干扰性能好等特点。

本发明提供了一种基于智能手机的自主式行人定位方法,包括以下过程:

步骤1,对手机内置的信息采集设备进行误差校准;

步骤2,采集人体在初始状态下的姿态数据,并进行姿态解算与系统初始对准;

步骤3,采集行人正常行走时的大腿摆动角度信号数据,并进行行人跨步检测;

步骤4,利用得到的行人跨步检测结果,基于梯度下降法的航向估计算法,进行陀螺仪与加速度计两种传感器的数据融合并求解四元数;

步骤5,利用如下的基于加速度计测量值的步长估计模型,进行行人步长估计:

其中,m1表示模型一对应的跨步长估计结果,k1表示该跨步长模型对应的参数,accm为剔除本地重力的合加速度值,n表示一个跨步周期里的加速度采样点的个数;

步骤6,利用得到的跨步长估计结果,进行基于粒子滤波的地图匹配,实现行人定位的更新;

步骤601,在行人航迹推算系统下,利用如下粒子滤波状态转移方程,得到粒子滤波的量测方程,进而得到粒子滤波下一次迭代可能出现的行人航向角和跨步长粒子,进而实现行人定位的更新:

粒子滤波的状态转移方程中,系统的状态量为航向角的变化量△ψk和跨步长slk为系统输入,由航向估计算法和跨步长估计算法得出,由此可以推出粒子滤波的量测方程为:

其中,分别为跨步长的噪声和航向角增量的噪声;

步骤602,对步骤601得到的新的粒子利用线段相交模型进行粒子穿墙判断,将相邻两步的粒子进行连线,若该线段与墙体所组成的线段相交,且交点在线段上,则认定该粒子为无效的粒子;以此进行粒子权重更新,完成行人定位的更新。

进一步的,所述信息采集设备包括:加速度计、陀螺仪和磁力计。

进一步的,步骤2,采集人体在初始状态下的姿态数据,并进行姿态解算与系统初始对准,包括以下过程:

步骤201,采集人体在初始状态下的姿态数据;

步骤202,根据导航系下的重力矢量在传感器坐标系下的投影关系,确定欧拉角中俯仰角和横滚角的数值;

步骤203,根据确定的欧拉角中俯仰角和横滚角的数值,并利用得到的航向角,得到完整的初始欧拉角,进而实现姿态解算与系统初始对准。

进一步的,步骤3,采集行人正常行走时的大腿摆动角度信号数据,并进行行人跨步检测,包括以下过程:

步骤301,输入角度信号γn,对应第n个采样点的大腿角度信号,信号采样频率sr,检测辅助阈值limp和limv;

步骤302,若该角度信号满足γn>limp&&γn>γn-1&&γn+1<γn,则记录为第一个波峰值,否则若满足条件γn<limv&&γn<γn-1&&γn+1>γn,则记录为第一个波谷值,将第一个检测出来的波峰值或者波谷值记录为(nb,γb),nb表示对应的采样点,γb表示对应的角度信号大小;若该角度信号满足γn>limp&&γn>γn-1&&γn+1<γn,且满足该条件的采样点与上一个波峰值对应的采样点距离大于0.3·sr,则记录该点为下一个波峰值,否则若满足条件γn<limv&&γn<γn-1&&γn+1>γn,则记录为下一个波谷值;

步骤303,重复执行步骤301至302,直至检测记录所有的波峰值和波谷值;

步骤304,波峰值的采样点大于最后一个波谷值,则将最后波峰值记录为(ne,γe),ne代表对应的采样点,γe代表对应的角度信号大小,否则将最后一个波谷值记录为(ne,γe)。

进一步的,步骤4,利用得到的行人跨步检测结果,基于梯度下降法的航向估计算法,进行陀螺仪与加速度计两种传感器的数据融合并求解四元数,包括以下过程:

四元数估计过程中的目标函数可以表示如下:

其中,f(·)表示为误差函数,un和us分别表示导航系和手机坐标系下的矢量,q表示表示四元数,q*表示表示其共轭四元数;

通过以下公式求解最优姿态四元数:

其中,表示f(qk,un,us)在qk处梯度,在该处的反方向是目标函数下降最快的方向,λ表示步长的大小;

加速度计读数需要归一化处理,设传感器坐标系下的加速度计测量值归一化后为则应有:

可以求得对应的雅可比矩阵:

最终可以得到目标函数的梯度公式为:

上式代入

其中,多次迭代后可以获得最优四元数,进而完成航向角估计。

本发明提供的自主式行人定位方法利用智能手机内置传感器,能在不依赖于基础设施、不依赖于外部其他辅助设备的条件下实现一种稳定性高、独立性强和抗干扰性能好的行人定位。从步态分析角度实现了基于大腿摆动角度的跨步检测算法,检测结果准确,错误率小;提出了一种简化的步长模型,易于计算;基于粒子滤波实现了行人轨迹的地图匹配,矫正了轨迹穿墙现象,使轨迹更加符合真实情况。

附图说明

图1是本发明提供的基于智能手机的自主式行人定位方法的实现流程图。

具体实施方式

为使本发明解决的技术问题、采用的技术方案和达到的技术效果更加清楚,下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。

图1为本发明实施例提供的基于智能手机的自主式行人定位方法的实现流程图。如图1所示,本发明实施例提供的基于智能手机的自主式行人定位方法,包括:

步骤1,对手机内置的信息采集设备进行误差校准。

所述信息采集设备包括:加速度计、陀螺仪和磁力计,利用加速度计采集比力加速度数据;利用陀螺仪采集角速度数据;利用磁力计采集磁场强度数据。由于本实施例需要采集智能信息,因此,本实施例中所指的手机为智能手机。

本实施例中,加速度计误差校准采用六位置校准法,六位置校准法不需要特殊的测量辅助设备,只需将加速度计在六个不同位置进行翻转,采集本地的重力加速度。采集到的三个灵敏轴的比力加速度分别为1g或者-1g,以本地重力加速度的标准值为参考进行误差的辨识和校准。在进行测量时需要持续采集一段时间的加速度并求取均值作为静止时的测量值。

陀螺仪误差校准采用allan方差法,allan方差法是描述随机过程的一种方法。allan方差可以提供底层随机过程的直接信息,并且由于其计算简单、易于适应各种噪声类型而获得了较好的发展势头。虽然从allan方差到频谱的映射存在一定的局限性,但该方法仍然很强大,已经成为惯性传感器ieee标准规范和测试方法。该方法首先将静态测量的陀螺仪数据分离到子集中,然后,计算等维子集之间的统计方差。

磁力计误差校准采用“八字”椭球拟合方法。若不存在测量误差和干扰磁场,磁力计测量数据的投影轨迹应是一个球体,其半径等于当地的磁场强度。基于这一理论前提,可以首先将手机按八字模样旋转多次,每次旋转动作结束时要旋转到开始点,然后再增加旋转次数。旋转时获得的磁场强度利用无线传输到计算机,然后处理数据。旋转次数越多,由手机采集到的磁场强度点拟合到的模型就越近似于椭球模型。

步骤2,采集人体在初始状态下的姿态数据,并进行姿态解算与系统初始对准。

步骤201,采集人体在初始状态下的姿态数据。

由于手机在口袋中的位置是任意的,手机坐标轴在初始状态下与导航系中的坐标轴不重合,手机的航向与行人的实际运动方向不一致。针对这一问题,需要对系统进行初始对准,同时也能够避免手机放置位置不同对系统产生影响。为了进行初始对准,需要采集在预定时间段内行人静止的数据,预定时间段的时长例如设置为2-3秒。

本实施例,利用加速度计采集人体初始状态下比力加速度数据;利用陀螺仪采集在初始状态下角速度数据;利用磁力计采集初始状态的磁场强度数据。

步骤202,根据导航系下的重力矢量在传感器坐标系下的投影关系,确定欧拉角中俯仰角和横滚角的数值。

因为行人初始状态(处于静止状态)下,手机中的加速度计采集到的数据是重力矢量在传感器坐标系下的读数。可以根据导航系下的重力矢量在传感器坐标系下的投影关系,确定欧拉角中俯仰角和横滚角的数值。人在静止站立的过程中,不能够完全保证处于静止状态,因此需要将静止状态下的连续数据取平均值,这样可以提高初始姿态解算的准确性。

步骤203,根据确定的欧拉角中俯仰角和横滚角的数值,并利用得到的航向角,得到完整的初始欧拉角,进而实现姿态解算与系统初始对准。

通过最终计算得到的均值数据进行俯仰角和横滚角的计算。使用加速度计不能解算出完整的初始欧拉角,因此需要使用磁力计对航向角进行计算。计算航向角时,需要将传感器坐标系下的地磁向量从手机坐标系转换到导航系下的水平面上。得到空间姿态旋转对应的四元数后,即实现了姿态解算;得到俯仰角、横滚角、初始航向角后,即实现了系统初始对准。

步骤3,采集行人正常行走时的大腿摆动角度信号数据,并进行行人跨步检测。

在步态周期中,大腿摆动角度的变化具有周期性和稳定性特征。可以依据大腿摆动角度的变化进行跨步检测。一个完整的跨步中,其角度信号对应有波峰值、下降过零、波谷值、上升过零这四个关键事件点。由上升过零再次到达波峰值后,步态进入下一个周期。当检测到这四个步态事件时,即可认定为一个完整的跨步发生,记作一个跨步。在实际中,行人行走的开始和结束不满足一个完整的跨步。然而,如果以不满足四个状态而简单地将其丢弃,不作为一个跨步记录,则会影响定位的精度。结合分析结果与实际情况,进行如下行人跨步检测:

步骤301,输入角度信号γn,对应第n个采样点的大腿角度信号,信号采样频率sr,检测辅助阈值limp和limv。

步骤302,若该角度信号满足γn>limp&&γn>γn-1&&γn+1<γn,则记录为第一个波峰值,否则若满足条件γn<limv&&γn<γn-1&&γn+1>γn,则记录为第一个波谷值,将第一个检测出来的波峰值或者波谷值记录为(nb,γb),nb表示对应的采样点,γb表示对应的角度信号大小;若该角度信号满足γn>limp&&γn>γn-1&&γn+1<γn,且满足该条件的采样点与上一个波峰值对应的采样点距离大于0.3·sr,则记录该点为下一个波峰值,否则若满足条件γn<limv&&γn<γn-1&&γn+1>γn,则记录为下一个波谷值。

步骤303,重复执行步骤301至302,直至检测记录所有的波峰值和波谷值。

步骤304,波峰值的采样点大于最后一个波谷值,则将最后波峰值记录为(ne,γe),ne代表对应的采样点,γe代表对应的角度信号大小,否则将最后一个波谷值记录为(ne,γe)。

步骤4,利用得到的行人跨步检测结果,基于梯度下降法的航向估计算法,进行陀螺仪与加速度计两种传感器的数据融合并求解四元数。四元数估计过程中的目标函数可以表示如下:

其中,f(·)表示为误差函数,un和us分别表示导航系和手机坐标系下的矢量,q表示表示四元数,q*表示表示其共轭四元数。

四元数不存在误差时,导航系下的矢量经过姿态的旋转可以得到与传感器坐标系下相同的矢量。误差函数是一个以四元数为因变量的多元函数,优化的目的即是让误差函数趋近于0,而此时得到的满足目标函数的解q,即通过以下公式求解最优姿态四元数:

其中,表示f(qk,un,us)在qk处梯度,在该处的反方向是目标函数下降最快的方向,λ表示步长的大小。

在进行陀螺仪与加速度计两种传感器的数据融合时,导航系下的地球重力矢量归一化后为gn=(0,0,0,-1)。加速度计读数需要归一化处理,设传感器坐标系下的加速度计测量值归一化后为则应有:

可以求得对应的雅可比矩阵:

最终可以得到目标函数的梯度公式为:

上式代入

其中,多次迭代后可以获得最优四元数,进而完成航向角估计。

在行人航向估计算法中,通常基于平行航向假设,即行人前行的方向与传感器的航向之间有一个相对静止的关系。通过系统初始对准已经修正了手机与真实航向之间的夹角。手机放置在口袋中时,行人即使处于运动状态,其相对于人体依然具有稳定的关系,不会出现过于剧烈的移动。基于梯度下降法的航向估计算法可以实现本实施例的航向估计。

由于传感器的测量原理、固有缺陷等多方面因素致使单一传感器无法满足系统的姿态解算需求。通过基于梯度下降法的传感器数据融合算法,可以将多个传感器的测量数据融合,以得到可靠的姿态信息。基于梯度下降法的传感器数据融合算法,实质上是对求解的四元数进行优化的过程。基于梯度下降法进行传感器数据融合并求解四元数,其思想是通过构造合理的优化目标,对所求的四元数进行优化估计。因为融入加速度计和磁力计数据,所以在四元数估计过程中,假定加速度计测量到的只有本地重力,磁力计只测量地球磁场。

在使用梯度下降法时,需要输入一个初始的四元数,初始四元数在系统初始对准阶段得到。在进行四元数更新时需要将重力矢量和磁场矢量进行归一化,这样可以消除量纲的影响。

步骤5,基于加速度计测量值的步长估计模型,进行行人步长估计。

从逻辑上讲,行人的跨步长估计模型应该受到一些个性化参数的影响,例如行人的身高、体重、性别、年龄等因素。除此之外,还需要考虑模型本身的误差。从某种程度讲,考虑过多的因素就会使得模型过于复杂,以至于无法建立。为了使跨步长模型简单好用,常常使用简单的线性模型,这样做就会忽略这些个性化参数。最好的方法是针对某个特定的人进行跨步长模型的训练,以达到较高精度的跨步长估计。

本实施例利用如下的基于加速度计测量值的步长估计模型,进行行人步长估计:

其中,m1表示模型一对应的跨步长估计结果,k1表示该跨步长模型对应的参数,在本实施例中给出的参考值为0.98,accm为剔除本地重力的合加速度值。n表示一个跨步周期里的加速度采样点的个数。该跨步长模型使用加速度传感器采集到的数据作为步长估计的输入,避免了因为个人的差异性而对步长模型产生影响。

步骤6,利用得到的跨步长估计结果,进行基于粒子滤波的地图匹配,实现行人定位的更新。

行人航迹推算作为一种相对定位的技术,误差会在行走中不断累积。在室外环境中,定位精度的需求往往不高,在日常的手机定位导航服务中,几米的定位误差也不会在使用体验上带来太大的问题;而室内环境中,建筑结构较为紧凑,定位目标也相对密集,使得很小的定位误差也会带来较差的定位体验。特别是将定位结果绘制在地图上时,会出现轨迹穿墙等问题。本发明通过粒子滤波来改善定位结果,提高定位的精度。

步骤601,在行人航迹推算系统下,利用如下粒子滤波状态转移方程,得到粒子滤波的量测方程,进而得到粒子滤波下一次迭代可能出现的行人航向角和跨步长粒子。进而实现行人定位的更新:

粒子滤波的状态转移方程中,系统的状态量为航向角的变化量△ψk和跨步长slk为系统输入,由航向估计算法和跨步长估计算法得出,由此可以推出粒子滤波的量测方程为:

其中,分别为跨步长的噪声和航向角增量的噪声。

步骤602,对步骤601得到的新的粒子利用线段相交模型进行粒子穿墙判断,将相邻两步的粒子进行连线,若该线段与墙体所组成的线段相交,且交点在线段上,则认定该粒子为无效的粒子。以此进行粒子权重更新,完成行人定位的更新。

室内定位技术如果应用于实际中,地图信息是不可或缺的基本信息。否则,定位结果只能抽象为坐标系中的点,而不能转化为具有实际意义的地理信息。在室内环境中,定位的结果与具体的房间或者走廊中的具体位置关联到一起,才能体现室内定位的技术价值。本发明考虑使用室内地图匹配技术来进行行人轨迹的修正和定位精度的提升。地图匹配技术在一些研究中也称为地图辅助技术,是一种伪测量技术,能够基于软件技术进行定位修正。

根据实际经验,行人在行走的过程中,不可能穿过墙体或者到达不可到达的区域。对于到达不可到达区域的粒子应该视其为无效的粒子,其权重应该置为零,这样即可通过粒子滤波算法避免行人轨迹出现穿墙问题。根据以上分析,利用如下公式进行对应的粒子权重更新:

该公式通过地图信息对行人的行走进行限制和约束,从而完成状态量的更新,完成行人定位的更新。经过地图匹配并粒子滤波后,行人轨迹穿墙问题将得到解决,矫正了不合实际的航偏,使行人轨迹更加符合真实情况。

本实施例包括分析行人行走过程中的步态特征,提取关键步态事件作为跨步检测条件,提升跨步检测算法的性能。改进基于梯度下降法的传感器数据融合算法,限制性融合磁力计数据,实现航向漂移抑制,避免磁场干扰带来的滤波发散。使用极大似然估计法,进行跨步长模型参数估计。通过系统的初始对准,解决手机航向与行人航向不一致问题,同时避免因为智能手机在口袋中放置位置不同对系统定位产生的误差影响。通过构造基于行人航迹推算的粒子滤波的状态转移方程和量测方程提高定位精度。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1