移动终端设备的姿态测量方法及装置制造方法及图纸

技术编号:14510205 阅读:193 留言:0更新日期:2017-02-01 02:49
本申请实施例公开了移动终端设备的姿态测量方法及装置,所述移动终端设备中配置有角速度传感器、重力传感器以及磁力传感器,其中,所述方法包括:确定在同一测量时刻各个传感器的测量值;基于所述角速度传感器的测量值计算得到第一四元数;利用所述重力传感器的测量值,对所述第一四元数中的水平姿态角误差进行修正,得到第二四元数;利用所述磁力传感器的测量值,对所述第二四元数中的垂直姿态角误差进行修正,得到第三四元数;将所述第三四元数转换为旋转矩阵,并利用所述旋转矩阵计算出该测量时刻的姿态角。通过本申请实施例,能够使得计算出的姿态角更为准确。

【技术实现步骤摘要】

本申请涉及移动终端设备姿态计算
,特别是涉及移动终端设备的姿态测量方法及装置。
技术介绍
基于移动终端设备的姿态测量主要用于移动定位应用中,例如,可以用于PDR(PedestrianDeadReckoning,步行者航位推算)功能等,也即对步行者行走的步数、步长、方向等进行测量和统计,推算出步行者行走轨迹,和位置等信息。关于移动终端设备的姿态,主要是指在步行者行进的过程中,移动终端设备被放置的姿态,例如,平行于水平面,或者与水平面具有某角度,等等。在步行者行进过程中,移动终端设备的姿态是在不断变化的,为了确定出步行者的行进方向,对移动终端设备进行姿态测量成为关键。目前,主流的移动终端设备一般都配置了陀螺仪、加速度计、地磁计三类3轴传感器,通过操作系统接口(Android/IOS等接口),可以获得在移动终端坐标系中的与运动/姿态相关的测量值:陀螺仪—3轴旋转角速率(单位rad/s)加速度计—3轴加速度(或重力,单位m/s2)地磁计—3轴环境磁场强度(单位uT)因此,在现有技术中,可以通过传感器测量值来确定移动终端坐标系相对于导航坐标系的相对位置关系,这个相对位置关系包括三个角:俯仰角α,移动终端设备y轴与水平面的夹角;横滚角γ,移动终端设备x轴与水平面的夹角;航向角,移动终端设备y轴在投影到水平面后,与地理北向的夹角。以上三个角度信息就可以代表移动终端设备的姿态信息,因此也被称为姿态角,其中,俯仰角与横滚角又可以称为水平方向姿态角,而航向角可以被称为垂直方向姿态角。在现有技术中,一般是通过将各个传感器的测量值进行叠加,然后通过欧拉角/旋转矩阵的方式确定出以上三个角度信息。但是,在实际应用中,由于移动终端设备成本等方面的限制,其配置的传感器质量有限,得到的测量值往往存在一定的偏差;另外,地磁计等传感器比较容易受到环境中的电磁干扰,例如,手机信号的干扰、室内电风扇等设备的干扰等等,这种干扰一般是无法控制和避免的,因此,也更加影响了传感器测量值的准确度,最终导致现有技术中的姿态测量的结果也往往存在不够准确的情况。因此,如何更准确地进行移动终端设备的姿态测量,成为需要本领域技术人员解决的技术问题。
技术实现思路
本申请提供了移动终端设备的姿态测量方法及装置,能够使得计算出的姿态角更为准确。本申请提供了如下方案:一种移动终端设备的姿态测量方法,所述移动终端设备中配置有角速度传感器、重力传感器以及磁力传感器,所述方法包括:确定在同一测量时刻各个传感器的测量值;基于所述角速度传感器的测量值计算得到第一四元数;利用所述重力传感器的测量值,对所述第一四元数中的水平姿态角误差进行修正,得到第二四元数;利用所述磁力传感器的测量值,对所述第二四元数中的垂直姿态角误差进行修正,得到第三四元数;将所述第三四元数转换为旋转矩阵,并利用所述旋转矩阵计算出该测量时刻的姿态角。一种移动终端设备的姿态测量装置,所述移动终端设备中配置有角速度传感器、重力传感器以及磁力传感器,所述装置包括:测量值确定单元,用于确定在同一测量时刻各个传感器的测量值;第一四元数计算单元,用于基于所述角速度传感器的测量值计算得到第一四元数;第一修正单元,用于利用所述重力传感器的测量值,对所述第一四元数中的水平姿态角误差进行修正,得到第二四元数;第二修正单元,用于利用所述磁力传感器的测量值,对所述第二四元数中的垂直姿态角误差进行修正,得到第三四元数;转换单元,用于将所述第三四元数转换为旋转矩阵,并利用所述旋转矩阵计算出该测量时刻的姿态角。根据本申请提供的具体实施例,本申请公开了以下技术效果:通过本申请实施例,并不是直接用旋转矩阵进行姿态角的计算,而是采用四元数的方式来描述姿态角,从而可以避免出现“万向节死锁”问题的发生。另外,采用四元数的方式进行姿态角描述时,还可以对四元数直接进行线性加权来进行修正,具体进行修正时,可以先用重力修正四元数,并用修正后的四元数修正磁场水平分量,然后用修正水平分量的磁场和重力来确定四元数,这样可以使磁场干扰不会对俯仰角和横滚角产生负面的修正作用,从而使得计算出的姿态角更为准确。当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本申请实施例提供的方法的流程图;图2是本申请实施例提供的装置的示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本申请保护的范围。首先需要说明的是,现有技术中在进行移动终端设备的姿态测量时采用的方法是:在得到各种传感器的测量值后,直接采用欧拉角/旋转矩阵来计算移动终端设备的各个姿态角,但是加速度数据和地磁数据的噪声大,动态性能比较差,无法跟踪人的机动运动。在获得姿态初始值的基础上,通过积分陀螺仪数据也可以递推姿态,陀螺仪具有动态性能好的特点,但由于积分操作导致递推的姿态存在累积误差。一般采用一种互补滤波的算法,即将积分后的陀螺仪数据经过一个高通滤波器,加速度计、地磁计数据经过一个低通滤波器,两个经过滤波的数据进行合成后得到最终的输出。但是这种实现方式存在“万向节死锁”(Gimballock)问题,该问题是指:当移动终端设备平面接近垂直的时候,航向角会出现奇异(数值上无法描述),因此难以采用互补滤波的方法进行高通、低通滤波,由于存在奇异,难以进行线性的加权修正、插值等处理;此外,当移动终端设备接近于垂直放置时,系统失效。本申请专利技术人在实现本申请的过程中发现,之所以存在上述万向节死锁问题,是因为:欧拉角表示的三维姿态系统所遭遇的万向节死锁问题,其根源是同一个姿态对应多个不同的姿态坐标。比如[θ1γ1]=[90,30,-40]度,和[θ2γ2]=[90,70,0]度这两种情况下,的结果是相同的:实际上欧拉角坐标[θ1γ1]=[90,angle_y1,angle_z1]与[θ2γ2]=[90,angle_y2,0]是相同的,当满足angle_y1-angle_z1=angle_y2。这意味着当这种情况下,任何绕z轴的旋转角度angle_z2都可以通过绕angle_y2角度来实现(不用绕z轴旋转了),本质上是减少了一个自由度。但是,采用四元数的表达方式可以消除这个问题:由于欧拉角([θγ])这种对应同一姿态存在多种姿态坐标的特性,由于不具备连续性,不利于在融合过程中进行线性的插值融合处理,而四元数的表达是连续的,因此,在本申请实施例中所有的姿态都采用四元数的形式进行运算和融合(误差校正)。另外,本申请专利技术人在实现本申请的过程中还发现,重力只能修正俯仰角和横滚角,而地磁可以修正航向角,但对俯仰角和横滚角的修正往往是容易受干扰的(负面作用的修正)。但是,现有技术中对重力、地磁等测量值不加区分的加以利用,最终导致姿态测量结本文档来自技高网
...

【技术保护点】
一种移动终端设备的姿态测量方法,其特征在于,所述移动终端设备中配置有角速度传感器、重力传感器以及磁力传感器,所述方法包括:确定在同一测量时刻各个传感器的测量值;基于所述角速度传感器的测量值计算得到第一四元数;利用所述重力传感器的测量值,对所述第一四元数中的水平姿态角误差进行修正,得到第二四元数;利用所述磁力传感器的测量值,对所述第二四元数中的垂直姿态角误差进行修正,得到第三四元数;将所述第三四元数转换为旋转矩阵,并利用所述旋转矩阵计算出该测量时刻的姿态角。

【技术特征摘要】
1.一种移动终端设备的姿态测量方法,其特征在于,所述移动终端设备中配置有角速度传感器、重力传感器以及磁力传感器,所述方法包括:确定在同一测量时刻各个传感器的测量值;基于所述角速度传感器的测量值计算得到第一四元数;利用所述重力传感器的测量值,对所述第一四元数中的水平姿态角误差进行修正,得到第二四元数;利用所述磁力传感器的测量值,对所述第二四元数中的垂直姿态角误差进行修正,得到第三四元数;将所述第三四元数转换为旋转矩阵,并利用所述旋转矩阵计算出该测量时刻的姿态角。2.根据权利要求1所述的方法,其特征在于,所述基于所述角速度传感器的测量值计算第一四元数,包括:q→Δ=1ωx2·Δtωy2·Δtωz2·Δt]]>q→n+1=q→n⊗q→Δ=[q0,q1,q2,q3]T]]>其中,[ωxωyωz]为所述角速度传感器在所述测量时刻的测量值;Δt为测量周期。3.根据权利要求1所述的方法,其特征在于,所述利用所述重力传感器的测量值,对所述第一四元数中的水平姿态角误差进行修正,得到第二四元数,包括:根据所述重力传感器的测量值以及所述第一四元数,计算重力误差的梯度方向;根据所述梯度方向以及预置的增益对所述第一四元数中的水平姿态角误差进行修正,得到第二四元数。4.根据权利要求3所述的方法,其特征在于,所述重力误差的梯度方向为:▿f||▿f||]]>其中,▿f=▿f0▿f1▿f2▿f3T]]>▿f0=-4Δaxq2+4Δayq1]]>▿f1=4Δaxq3+4Δayq0-4Δazq1]]>▿f2=-4Δaxq0+4Δayq3-4Δazq2]]>▿f3=4Δaxq1+4Δayq2]]>Δa=ΔaxΔayΔazT=2q1q3-2q0q2-ax2q2q3+2q0q1-ay1-2q12-2q22-az]]>q0,q1,q2,q3为所述第一四元数中的各个分量。5.根据权利要求1所述的方法,其特征在于,所述利用所述磁力传感器的测量值,对所述第二四元数中的垂直姿态角误差进行修正,得到第三四元数,包括:利用所述第二四元数对磁力传感器测量值中的水平分量进行修正;利用重力传感器的测量值、理论重力值、磁力传感器测量值以及修正后的磁力传感器测量值,计算出第四四元数;利用所述第四四元数对所述第二四元数进行修正,得到所述第三四元数。6.根据权利要求5所述的方法,其特征在于,所述利用所述第二四元数对磁力传感器测量值中的水平分量进行修正,包括:通过以下方式将磁力传感器测量值投影到水平面:h→=(Cnb)Tm→=[hx,hy,hz]T]]>其中,Cnb=q02+q12-q22-q322(q1q2+q0q3)2(q1q3-q0q2)2(q1q2-q0q3)q02-q12+q22-q322(q2q3+q0q1)2(q1q3+q0q2)2(q2q3-q0q1)q02-q12-q22+q32]]>q0,q1,q2,q3为所述第二四元数中的各个分量;m→=mxmymzT]]>为磁力传感器测量值;修正后的磁力传感器测量值为:h→=0hx2+hy2hzT.]]>7.根据权利要求5所述的方法,其特征在于,所述利用重力传感器的测量值、理论重力值、磁力传感器测量值以及修正后的磁力传感器测量值,计算出第四四元数,包括:确定所述重力传感器的测量值、理论重力值、磁力传感器测量值以及修正后的磁力传感器测量值的单位化向量:a→=a→||a→||]]>g→=g→||g→||]]>m→=m→||m→||]]>h→=h→||h→||]]>变换到对角线和平面法线的单位向量:d→w=g→+h→]]>c→w=g→×h→]]>d→m=a→+m→]]>c→m=a...

【专利技术属性】
技术研发人员:吴剑沈慧姚云蛟
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1