CN108507567B - 姿态四元数确定方法、装置及用户朝向确定方法、装置 - Google Patents

姿态四元数确定方法、装置及用户朝向确定方法、装置 Download PDF

Info

Publication number
CN108507567B
CN108507567B CN201710104781.2A CN201710104781A CN108507567B CN 108507567 B CN108507567 B CN 108507567B CN 201710104781 A CN201710104781 A CN 201710104781A CN 108507567 B CN108507567 B CN 108507567B
Authority
CN
China
Prior art keywords
determining
current moment
current
attitude
measurement result
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710104781.2A
Other languages
English (en)
Other versions
CN108507567A (zh
Inventor
郑志超
毛灵飞
杨志强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba China Co Ltd
Original Assignee
Alibaba China Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba China Co Ltd filed Critical Alibaba China Co Ltd
Priority to CN201710104781.2A priority Critical patent/CN108507567B/zh
Publication of CN108507567A publication Critical patent/CN108507567A/zh
Application granted granted Critical
Publication of CN108507567B publication Critical patent/CN108507567B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/165Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Gyroscopes (AREA)
  • Navigation (AREA)

Abstract

本申请公开了一种姿态四元数确定方法、装置及用户朝向确定方法、装置,本申请当前时刻的加速度计测量结果对应的特征函数,确定加速度计梯度增益;根据当前时刻的磁力计测量结果对应的特征函数,确定磁力计梯度增益;根据加速度计梯度增益、磁力计梯度增益,对当前时刻的姿态梯度进行修正,得到修正后的当前时刻的姿态梯度;根据上一时刻的姿态四元数、修正后的当前时刻的姿态梯度和确定的当前时刻的陀螺仪测量结果,确定终端当前时刻的姿态四元数。本申请方案通过确定加速度计梯度增益和磁力计梯度增益,对姿态梯度进行修正,加快了姿态梯度的收敛速度,进而根据修正后的姿态梯度确定终端当前时刻的姿态四元数,能够加快方位角收敛速度。

Description

姿态四元数确定方法、装置及用户朝向确定方法、装置
技术领域
本申请涉及定向技术领域,更具体地说,涉及一种姿态四元数确定方法、装置及用户朝向确定方法、装置。
背景技术
四元数是由一个实数和三个复数组成的超复数,可用于描述物体的转动。其中实数表征转动的大小,三个复数分别表征转轴在三维空间的方向。姿态四元数是表征载体三维空间姿态的四元数。确定了载体的姿态四元数之后,可以通过姿态四元数求解载体的方位角。
现有技术在求解载体的姿态四元数时通过多传感器融合技术,常见的如卡尔曼滤波算法、Madgwick梯度下降算法等,其根据加速度计、陀螺仪、磁力计等运动传感器的测量值实现载体方位角的求解过程。但是,本案发明人对现有算法研究发现,现有算法普遍存在方位角收敛时间长,无法快速得到准确的方位角的问题。
发明内容
有鉴于此,本申请提供了一种姿态四元数确定方法、装置及用户朝向确定方法、装置,用于加快方位角快速收敛速度,快速得到准确的方位角。
为了实现上述目的,现提出的方案如下:
一种姿态四元数确定方法,包括:
根据终端上一时刻的姿态四元数以及当前时刻的加速度计测量结果、磁力计测量结果,确定当前时刻的姿态梯度;
根据当前时刻的加速度计测量结果对应的特征函数,确定加速度计梯度增益;以及,根据当前时刻的磁力计测量结果对应的特征函数,确定磁力计梯度增益;
根据所述加速度计梯度增益、所述磁力计梯度增益,对所述当前时刻的姿态梯度进行修正,得到修正后的当前时刻的姿态梯度;
根据所述上一时刻的姿态四元数、所述修正后的当前时刻的姿态梯度和确定的当前时刻的陀螺仪测量结果,确定终端当前时刻的姿态四元数。
优选地,还包括:
根据修正后的当前时刻的姿态梯度确定陀螺仪误差;
根据所述陀螺仪误差,对当前时刻陀螺仪的测量结果进行补偿,得到补偿后的当前时刻的陀螺仪测量结果,所述补偿后的当前时刻的陀螺仪测量结果作为所述确定的当前时刻的陀螺仪测量结果。
优选地,在所述根据终端上一时刻的姿态四元数以及当前时刻的加速度计测量结果、磁力计测量结果,确定当前时刻的姿态梯度之前,该方法还包括:
根据当前时刻的加速度计测量结果,确定终端的加速度值是否超过设定加速度阈值;
若否,执行所述根据终端上一时刻的姿态四元数以及当前时刻的加速度计测量结果、磁力计测量结果,确定当前时刻的姿态梯度的步骤;
若是,根据所述上一时刻的姿态四元数和当前时刻的陀螺仪测量结果,确定终端当前时刻的姿态四元数。
优选地,所述根据所述上一时刻的姿态四元数和当前时刻的陀螺仪测量结果,确定终端当前时刻的姿态四元数,包括:
根据当前时刻的陀螺仪测量结果,计算陀螺仪的转动四元数;
将所述上一时刻的姿态四元数及所述陀螺仪的转动四元数相加,结果确定为终端当前时刻的姿态四元数。
一种用户朝向确定方法,该方法包括:
确定终端当前时刻的姿态四元数;
根据当前时刻加速计测量的各轴向的加速度值,确定表示用户当前朝向的轴向;
判断表示用户当前朝向的轴向与表示用户上一时刻朝向的轴向是否相同;
若否,根据表示用户当前朝向的轴向与表示用户上一时刻朝向的轴向之间的位置关系,对所述当前时刻的姿态四元数进行修正,得到修正后的当前时刻的姿态四元数;
根据修正后的当前时刻的姿态四元数求解方位角,所述方位角表示用户当前朝向与设定基准方向的夹角。
优选地,所述确定终端当前时刻的姿态四元数,包括:
根据当前时刻加速度计的测量结果,确定终端的加速度值是否超过设定加速度阈值;
若否,根据终端上一时刻的姿态四元数以及当前时刻的加速度计测量结果、磁力计测量结果,确定当前时刻的姿态梯度;
根据所述当前时刻的姿态梯度确定陀螺仪误差;
根据所述陀螺仪误差,对当前时刻陀螺仪的测量结果进行补偿,得到补偿后的当前时刻的陀螺仪测量结果;
根据所述上一时刻的姿态四元数、所述当前时刻的姿态梯度和所述补偿后的当前时刻的陀螺仪测量结果,确定终端当前时刻的姿态四元数。
优选地,该方法还包括:
若确定终端的加速度值超过设定加速度阈值,则根据所述上一时刻的姿态四元数和当前时刻的陀螺仪测量结果,确定终端当前时刻的姿态四元数。
优选地,在所述确定当前时刻的姿态梯度之后,该方法还包括:
根据当前时刻的加速度计测量结果对应的特征函数,确定加速度计梯度增益;以及,根据当前时刻的磁力计测量结果对应的特征函数,确定磁力计梯度增益;
根据所述加速度计梯度增益、所述磁力计梯度增益,对所述当前时刻的姿态梯度进行修正,得到修正后的当前时刻的姿态梯度;
所述根据所述当前时刻的姿态梯度确定陀螺仪误差,包括:
根据所述修正后的当前时刻的姿态梯度确定陀螺仪误差;
所述根据所述上一时刻的姿态四元数、所述当前时刻的姿态梯度和所述补偿后的当前时刻的陀螺仪测量结果,确定终端当前时刻的姿态四元数,包括:
根据所述上一时刻的姿态四元数、所述修正后的当前时刻的姿态梯度和所述补偿后的当前时刻的陀螺仪测量结果,确定终端当前时刻的姿态四元数。
优选地,所述终端包括显示屏,由显示屏长边方向作为y轴,由显示屏短边方向作为x轴,垂直于显示屏方向作为z轴;
所述根据当前时刻加速计测量的各轴向的加速度值,确定表示用户当前朝向的轴向,包括:
判断当前时刻加速度计测量的x轴向的加速度值的绝对值,是否不超过y轴向和z轴向的加速度值的绝对值的和值;
若是,确定y轴向表示用户当前朝向,并在y轴向的加速度值大于零时确定y轴正向表示用户当前朝向,在y轴向的加速度值小于零时确定y轴反向表示用户当前朝向;
若否,确定x轴向表示用户当前朝向,并在x轴向的加速度值大于零时确定x轴正向表示用户当前朝向,在x轴向的加速度值小于零时确定x轴反向表示用户当前朝向。
优选地,所述根据表示用户当前朝向的轴向与表示用户上一时刻朝向的轴向之间的位置关系,对所述当前时刻的姿态四元数进行修正,得到修正后的当前时刻的姿态四元数,包括:
确定表示用户当前朝向的轴向及表示用户上一时刻朝向的轴向的组合对应的四元数修正系数;
将确定的四元数修正系数与所述当前时刻的姿态四元数进行四元数相乘,得到修正后的当前时刻的姿态四元数。
优选地,所述根据所述上一时刻的姿态四元数和当前时刻的陀螺仪测量结果,确定终端当前时刻的姿态四元数,包括:
根据当前时刻的陀螺仪测量结果,计算陀螺仪的转动四元数;
将所述上一时刻的姿态四元数及所述陀螺仪的转动四元数相加,结果确定为终端当前时刻的姿态四元数。
一种姿态四元数确定装置,包括:
姿态梯度确定单元,用于根据终端上一时刻的姿态四元数以及当前时刻的加速度计测量结果、磁力计测量结果,确定当前时刻的姿态梯度;
加速度计梯度增益确定单元,用于根据当前时刻的加速度计测量结果对应的特征函数,确定加速度计梯度增益;
磁力计梯度增益确定单元,用于根据当前时刻的磁力计测量结果对应的特征函数,确定磁力计梯度增益;
姿态梯度修正单元,用于根据所述加速度计梯度增益、所述磁力计梯度增益,对所述当前时刻的姿态梯度进行修正,得到修正后的当前时刻的姿态梯度;
第一姿态四元数确定单元,用于根据所述上一时刻的姿态四元数、所述修正后的当前时刻的姿态梯度和确定的当前时刻的陀螺仪测量结果,确定终端当前时刻的姿态四元数。
优选地,还包括:
陀螺仪误差确定单元,用于根据修正后的当前时刻的姿态梯度确定陀螺仪误差;
陀螺仪测量结果补偿单元,用于根据所述陀螺仪误差,对当前时刻陀螺仪的测量结果进行补偿,得到补偿后的当前时刻的陀螺仪测量结果,所述补偿后的当前时刻的陀螺仪测量结果作为所述确定的当前时刻的陀螺仪测量结果。
优选地,还包括:
加速度值判断单元,用于根据当前时刻的加速度计测量结果,确定终端的加速度值是否超过设定加速度阈值;若否,执行所述第一姿态四元数确定单元,若是,执行第二姿态四元数确定单元;
所述第二姿态四元数确定单元,用于根据所述上一时刻的姿态四元数和当前时刻的陀螺仪测量结果,确定终端当前时刻的姿态四元数。
优选地,所述第二姿态四元数确定单元根据所述上一时刻的姿态四元数和当前时刻的陀螺仪测量结果,确定终端当前时刻的姿态四元数的过程,具体包括:
根据当前时刻的陀螺仪测量结果,计算陀螺仪的转动四元数;
将所述上一时刻的姿态四元数及所述陀螺仪的转动四元数相加,结果确定为终端当前时刻的姿态四元数。
一种用户朝向确定装置,该装置包括:
姿态四元数确定单元,用于确定终端当前时刻的姿态四元数;
轴向确定单元,用于根据当前时刻加速计测量的各轴向的加速度值,确定表示用户当前朝向的轴向;
轴向判断单元,用于判断表示用户当前朝向的轴向与表示用户上一时刻朝向的轴向是否相同;
姿态四元数修正单元,用于在所述轴向判断单元的判断结果为否时,根据表示用户当前朝向的轴向与表示用户上一时刻朝向的轴向之间的位置关系,对所述当前时刻的姿态四元数进行修正,得到修正后的当前时刻的姿态四元数;
方位角求解单元,用于根据修正后的当前时刻的姿态四元数求解方位角,所述方位角表示用户当前朝向与设定基准方向的夹角。
优选地,所述姿态四元数确定单元确定终端当前时刻的姿态四元数的过程,具体包括:
根据当前时刻加速度计的测量结果,确定终端的加速度值是否超过设定加速度阈值;
若否,根据终端上一时刻的姿态四元数以及当前时刻的加速度计测量结果、磁力计测量结果,确定当前时刻的姿态梯度;
根据所述当前时刻的姿态梯度确定陀螺仪误差;
根据所述陀螺仪误差,对当前时刻陀螺仪的测量结果进行补偿,得到补偿后的当前时刻的陀螺仪测量结果;
根据所述上一时刻的姿态四元数、所述当前时刻的姿态梯度和所述补偿后的当前时刻的陀螺仪测量结果,确定终端当前时刻的姿态四元数。
优选地,所述姿态四元数确定单元确定终端当前时刻的姿态四元数的过程,还包括:
若确定终端的加速度值超过设定加速度阈值,则根据所述上一时刻的姿态四元数和当前时刻的陀螺仪测量结果,确定终端当前时刻的姿态四元数。
优选地,所述姿态四元数确定单元确定终端当前时刻的姿态四元数的过程,还包括:
在确定当前时刻的姿态梯度之后,根据当前时刻的加速度计测量结果对应的特征函数,确定加速度计梯度增益;以及,根据当前时刻的磁力计测量结果对应的特征函数,确定磁力计梯度增益;
根据所述加速度计梯度增益、所述磁力计梯度增益,对所述当前时刻的姿态梯度进行修正,得到修正后的当前时刻的姿态梯度;
所述姿态四元数根据所述当前时刻的姿态梯度确定陀螺仪误差的过程,具体包括:
根据所述修正后的当前时刻的姿态梯度确定陀螺仪误差;
所述姿态四元数根据所述上一时刻的姿态四元数、所述当前时刻的姿态梯度和所述补偿后的当前时刻的陀螺仪测量结果,确定终端当前时刻的姿态四元数的过程,具体包括:
根据所述上一时刻的姿态四元数、所述修正后的当前时刻的姿态梯度和所述补偿后的当前时刻的陀螺仪测量结果,确定终端当前时刻的姿态四元数。
优选地,所述终端包括显示屏,由显示屏长边方向作为y轴,由显示屏短边方向作为x轴,垂直于显示屏方向作为z轴;
所述轴向确定单元根据当前时刻加速计测量的各轴向的加速度值,确定表示用户当前朝向的轴向的过程,具体包括:
判断当前时刻加速度计测量的x轴向的加速度值的绝对值,是否不超过y轴向和z轴向的加速度值的绝对值的和值;
若是,确定y轴向表示用户当前朝向,并在y轴向的加速度值大于零时确定y轴正向表示用户当前朝向,在y轴向的加速度值小于零时确定y轴反向表示用户当前朝向;
若否,确定x轴向表示用户当前朝向,并在x轴向的加速度值大于零时确定x轴正向表示用户当前朝向,在x轴向的加速度值小于零时确定x轴反向表示用户当前朝向。
优选地,所述姿态四元数修正单元根据表示用户当前朝向的轴向与表示用户上一时刻朝向的轴向之间的位置关系,对所述当前时刻的姿态四元数进行修正,得到修正后的当前时刻的姿态四元数的过程,具体包括:
确定表示用户当前朝向的轴向及表示用户上一时刻朝向的轴向的组合对应的四元数修正系数;
将确定的四元数修正系数与所述当前时刻的姿态四元数进行四元数相乘,得到修正后的当前时刻的姿态四元数。
优选地,所述姿态四元数根据所述上一时刻的姿态四元数和当前时刻的陀螺仪测量结果,确定终端当前时刻的姿态四元数的过程,具体包括:
根据当前时刻的陀螺仪测量结果,计算陀螺仪的转动四元数;
将所述上一时刻的姿态四元数及所述陀螺仪的转动四元数相加,结果确定为终端当前时刻的姿态四元数。
从上述的技术方案可以看出,本申请实施例提供的姿态四元数确定方法,根据终端上一时刻的姿态四元数以及当前时刻的加速度计测量结果、磁力计测量结果,确定当前时刻的姿态梯度;根据当前时刻的加速度计测量结果对应的特征函数,确定加速度计梯度增益;以及,根据当前时刻的磁力计测量结果对应的特征函数,确定磁力计梯度增益;根据所述加速度计梯度增益、所述磁力计梯度增益,对所述当前时刻的姿态梯度进行修正,得到修正后的当前时刻的姿态梯度;根据所述上一时刻的姿态四元数、所述修正后的当前时刻的姿态梯度和确定的当前时刻的陀螺仪测量结果,确定终端当前时刻的姿态四元数。本申请方案通过确定加速度计梯度增益和磁力计梯度增益,对姿态梯度进行修正,加快了姿态梯度的收敛速度,进而根据修正后的姿态梯度确定终端当前时刻的姿态四元数,能够加快方位角收敛速度。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例公开的一种姿态四元数确定方法流程图;
图2为本申请实施例公开的另一种姿态四元数确定方法流程图;
图3为本申请实施例公开的又一种姿态四元数确定方法流程图;
图4为本申请实施例公开的一种用户朝向确定方法流程图;
图5为本申请实施例公开的又一种姿态四元数确定方法流程图;
图6a-6c分别示例的三种不同的手机摆放姿势示意图;
图7为本申请实施例公开的一种姿态四元数确定装置结构示意图;
图8为本申请实施例公开的一种用户朝向确定装置结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例公开了一种姿态四元数确定方法,方法可以应用于终端设备,终端设备可以设置有加速度计、磁力计、陀螺仪等运行传感器。常见的终端设备可以包括智能手机、IPAD等。通过确定终端设备的姿态四元数,能够解算出终端设备的方位角。
参见图1,图1为本申请实施例公开的一种姿态四元数确定方法流程图。如图1所示,该方法包括:
步骤S100、根据终端上一时刻的姿态四元数以及当前时刻的加速度计测量结果、磁力计测量结果,确定当前时刻的姿态梯度;
具体地,假定k表示当前时刻,k-1表示上一时刻,记上一时刻终端的姿态四元数为:
Q(k-1)=[qw qx qy qz]
当前时刻加速度计测量结果为A(k),归一化后为
Figure BDA0001232776220000091
则当前时刻加速度计测量结果对应的特征函数和雅克比矩阵分别为:
Figure BDA0001232776220000101
Figure BDA0001232776220000102
当前时刻磁力计测量结果为M(k),归一化后为
Figure BDA0001232776220000108
则当前时刻磁力计计测量结果对应的特征函数和雅克比矩阵分别为:
Figure BDA0001232776220000103
Figure BDA0001232776220000104
其中,hy、hz分别为磁力计在地里坐标系的水平投影和垂直投影,可以近似求解为:
Figure BDA0001232776220000105
Q*(k-1)表示Q(k-1)的共轭,即:
Q*(k-1)=[qw -qx -qy -qz]
当前时刻的姿态梯度G(k)为:
Figure BDA0001232776220000106
可以理解的是,在初始时刻,可以设置终端的初始姿态四元数Q(0)。初始姿态四元数可以通过如下方式确定:
若加速度计为三轴加速度计,三轴加速度计输出为:
A=[ax ay az]T
归一化为:
Figure BDA0001232776220000107
同理,磁力计为三轴磁力计,三轴磁力计输出为:
M=[mx my mz]T
归一化为:
Figure BDA0001232776220000111
则,初始姿态四元数Q(0)为:
Figure BDA0001232776220000112
步骤S110、根据当前时刻的加速度计测量结果对应的特征函数,确定加速度计梯度增益;
具体地,加速度计梯度增益计算公式如下:
Ka=1+sign(||fa||-0.5)
其中,sign(x)为符号函数,可以表示为:
Figure BDA0001232776220000113
步骤S120、根据当前时刻的磁力计测量结果对应的特征函数,确定磁力计梯度增益;
具体地,磁力计梯度增益计算公式如下:
Km=1+10·||fm||
可以理解的是,上述步骤S110和步骤S120的执行顺序并不限定,可以同时执行,图1仅仅示例了一种可选的执行方式。
步骤S130、根据所述加速度计梯度增益、所述磁力计梯度增益,对所述当前时刻的姿态梯度进行修正,得到修正后的当前时刻的姿态梯度;
具体地,修正后的当前时刻的姿态梯度ΔQG(k)可以表示为:
ΔQG(k)=-β·Ka·Km·G(k)
其中,
Figure BDA0001232776220000114
为陀螺零偏增益,与陀螺仪零偏系数εb有关。
步骤S140、根据所述上一时刻的姿态四元数、所述修正后的当前时刻的姿态梯度和确定的当前时刻的陀螺仪测量结果,确定终端当前时刻的姿态四元数。
具体地,可以根据确定的当前时刻的陀螺仪测量结果,计算当前时刻的转动四元数,进而将当前时刻的转动四元数、上一时刻的姿态四元数以及修正后的当前时刻的姿态梯度相加,结果确定为当前时刻的姿态四元数。
可选的,确定的当前时刻的陀螺仪测量结果可以是当前时刻陀螺仪输出的测量结果,也可以是对当前时刻陀螺仪输出的测量结果进行误差补偿后的结果。
本申请实施例提供的姿态四元数确定方法,根据终端上一时刻的姿态四元数以及当前时刻的加速度计测量结果、磁力计测量结果,确定当前时刻的姿态梯度;根据当前时刻的加速度计测量结果对应的特征函数,确定加速度计梯度增益;以及,根据当前时刻的磁力计测量结果对应的特征函数,确定磁力计梯度增益;根据所述加速度计梯度增益、所述磁力计梯度增益,对所述当前时刻的姿态梯度进行修正,得到修正后的当前时刻的姿态梯度;根据所述上一时刻的姿态四元数、所述修正后的当前时刻的姿态梯度和确定的当前时刻的陀螺仪测量结果,确定终端当前时刻的姿态四元数。本申请方案通过确定加速度计梯度增益和磁力计梯度增益,对姿态梯度进行修正,加快了姿态梯度的收敛速度,进而根据修正后的姿态梯度确定终端当前时刻的姿态四元数,能够加快方位角收敛速度。
参见图2,图2为本申请实施例公开的另一种姿态四元数确定方法流程图。结合图2可知,该方法可以包括:
步骤S200、根据终端上一时刻的姿态四元数以及当前时刻的加速度计测量结果、磁力计测量结果,确定当前时刻的姿态梯度;
步骤S210、根据当前时刻的加速度计测量结果对应的特征函数,确定加速度计梯度增益;
步骤S220、根据当前时刻的磁力计测量结果对应的特征函数,确定磁力计梯度增益;
步骤S230、根据所述加速度计梯度增益、所述磁力计梯度增益,对所述当前时刻的姿态梯度进行修正,得到修正后的当前时刻的姿态梯度;
具体地,上述步骤S200-S230与上一实施例中的步骤S100-S130一一对应。
步骤S240、根据修正后的当前时刻的姿态梯度确定陀螺仪误差;
具体地,记当前时刻陀螺仪的测量结果为:
ω(k)=[ωx ωy ωz]T
上一时刻陀螺仪误差为ε(k-1),则当前时刻陀螺仪误差为:
Figure BDA0001232776220000131
其中,初始化时ε(0)为0;
Figure BDA0001232776220000132
为陀螺随机游走增益,与陀螺仪随机游走系数εw有关;Δt为采样时间间隔。
步骤S250、根据所述陀螺仪误差,对当前时刻陀螺仪的测量结果进行补偿,得到补偿后的当前时刻的陀螺仪测量结果;
具体地,补偿后的当前时刻的陀螺仪测量结果为:
Figure BDA0001232776220000133
步骤S260、根据所述上一时刻的姿态四元数、所述修正后的当前时刻的姿态梯度和补偿后的当前时刻的陀螺仪测量结果,确定终端当前时刻的姿态四元数。
具体地,根据补偿后的当前时刻的陀螺仪测量结果,计算当前时刻的转动四元数为:
Figure BDA0001232776220000134
则终端当前时刻的姿态四元数为:
Q(k)=Q(k-1)+ΔQω(k)+ΔQG(k)
相比于上一实施例,本实施例中增加了根据修正后的当前时刻的姿态梯度确定陀螺仪误差,以及对陀螺仪测量结果进行补偿的过程,通过误差补偿使得陀螺仪测量结果更加准确,进而基于此确定的终端当前时刻的姿态四元数也更加准确。
参见图3,图3为本申请实施例公开的又一种姿态四元数确定方法流程图。如图3所示,该方法包括:
步骤S300、根据当前时刻的加速度计测量结果,确定终端的加速度值是否超过设定加速度阈值;若否,执行步骤S310,若是,执行步骤S360;
具体地,通过加速度计各测量轴向上测量得到的加速度分量,可以确定终端整体的加速度,以三轴加速度为例,终端的加速度为:
Figure BDA0001232776220000135
确定终端的加速度是否超过设定加速度阈值的过程,可以包括:
判断是否满足如下两个条件中的任意一个,如果是,则认为终端的加速度超过设定加速度阈值:
Figure BDA0001232776220000141
Figure BDA0001232776220000142
其中,α1和为大于1的数值,α2为小于1的数值,g为重力常数。
可选的,α1可以设置为1.2,α2可以设置为0.8。
在确定终端的加速度未超过设定加速度阈值时,可以按照下述步骤S310-S350的方式确定终端当前的姿态四元数,在确定过程可以使用加速度计测量结果。而在确定终端的加速度超过设定加速度阈值时,则为了避免加速度过大导致航向跳跃,可以不使用加速度计测量结果来确定终端当前的姿态四元数,具体如步骤S360。
步骤S310、根据终端上一时刻的姿态四元数以及当前时刻的加速度计测量结果、磁力计测量结果,确定当前时刻的姿态梯度;
步骤S320、根据当前时刻的加速度计测量结果对应的特征函数,确定加速度计梯度增益;
步骤S330、根据当前时刻的磁力计测量结果对应的特征函数,确定磁力计梯度增益;
步骤S340、根据所述加速度计梯度增益、所述磁力计梯度增益,对所述当前时刻的姿态梯度进行修正,得到修正后的当前时刻的姿态梯度;
步骤S350、根据所述上一时刻的姿态四元数、所述修正后的当前时刻的姿态梯度和确定的当前时刻的陀螺仪测量结果,确定终端当前时刻的姿态四元数;
具体地,上述步骤S310-S350与上述实施例中的步骤S100-S140一一对应。
步骤S360、根据所述上一时刻的姿态四元数和当前时刻的陀螺仪测量结果,确定终端当前时刻的姿态四元数。
具体地,本步骤的执行方式可以包括:
S1、根据当前时刻的陀螺仪测量结果,计算陀螺仪的转动四元数;
陀螺仪的转动四元数可以为:
Figure BDA0001232776220000143
S2、将所述上一时刻的姿态四元数及所述陀螺仪的转动四元数相加,结果确定为终端当前时刻的姿态四元数。
终端当前时刻的姿态四元数为:
Q(k)=Q(k-1)+ΔQω(k)
相比于上述实施例,本实施例中在确定终端的加速度值超过设定加速度阈值时,为了避免动态情况下加速度过大导致的航向跳跃,本实施例仅使用陀螺仪测量结果来确定终端当前时刻的姿态四元数,有效解决了在加速度过大时定向结果容易出现航向跳跃的问题。
定向是指利用运动传感器计算载体运动方向的过程。常见的如无人机定向等。现有技术指定了传感器坐标系中某一轴向为终端的运动方向,进而通过解算该指定的轴向的朝向,即可确定终端的运动方向。以无人机定向为例,可以指定从无人机尾部指向头部的轴向为无人机运动方向。
随着地图导航技术的发展,如果能够确定用户的朝向,则可以为用户提供更加准确的导航服务。因此,如何将定向技术应用于确定用户的朝向,成为本领域技术人员迫切想要解决的问题。
可以理解的是,用户手持终端的方式可以存在多种,以终端为手机进行说明,用户可以平持手机且手机为竖屏状态,则这种情况下手机长度方向指向用户朝向;除此之外,用户还可以平持手机且手机为横屏状态,则这种情况下手机宽度方向指向用户朝向。显然,随着用户手持终端的姿态不同,用户朝向并不固定为传感器坐标系中某一特定轴向,按照现有定向方法无法准确的确定用户的朝向。有鉴于此,本申请的一个实施例中,介绍了一种用户朝向确定方法,参见图4所示,该方法包括:
步骤S400、确定终端当前时刻的姿态四元数;
需要解释的是,四元数为:由一个实数和三个复数组成的超复数,可用于描述物体的转动。其中实数表征转动的大小,三个复数表征转轴在三维空间的方向。姿态四元数为:表征载体三维空间姿态的四元数。
在确定终端当前时刻的姿态四元数时,可以使用现有方法确定,如卡尔曼滤波算法、Madgwick梯度下降算法等。当然,除此之外还可以采用上述图1-3对应实施例介绍的姿态四元数确定方法。
步骤S410、根据当前时刻加速计测量的各轴向的加速度值,确定表示用户当前朝向的轴向;
具体地,加速度可以选用三轴加速度计,其能够测量三个轴向上的加速度值。如三轴加速度计输出为:
A=[ax ay az]T
其中,ax、ay、az分别表示X轴、Y轴和Z轴方向的加速度值。
通过加速计当前时刻测量的各轴向的加速度值,确定表示用户当前朝向的轴向。具体地,通过当前时刻加速计测量的各轴向的加速度值,可以确定用户当前手持终端的方式,进而据此可以确定表示用户当前朝向的轴向。
步骤S420、判断表示用户当前朝向的轴向与表示用户上一时刻朝向的轴向是否相同;若否,执行步骤S430;
具体地,若用户手持终端的方式发生变化,可能会导致表示用户朝向的轴向产生变化。本步骤中,判断表示用户当前朝向的轴向与表示用户上一时刻朝向的轴向是否相同,如果不同,执行下述步骤。如果相同,则可以直接根据当前时刻的姿态四元数求解方位角。
步骤S430、根据表示用户当前朝向的轴向与表示用户上一时刻朝向的轴向之间的位置关系,对所述当前时刻的姿态四元数进行修正,得到修正后的当前时刻的姿态四元数;
可以理解的是,终端当前时刻的姿态四元数是基于终端上一时刻的姿态四元数计算得到的,如果表示用户当前朝向的轴向与表示用户上一时刻朝向的轴向不同,则表示前后两个时刻用户手持终端方式发生了变化,为了保证能正确解算出用户朝向,本步骤中需要对确定的终端当前时刻的姿态四元数进行修正。在修正时可以根据表示用户当前朝向的轴向与表示用户上一时刻朝向的轴向之间的位置关系进行修正。
步骤S440、根据修正后的当前时刻的姿态四元数求解方位角,所述方位角表示用户当前朝向与设定基准方向的夹角。
具体地,根据姿态四元数求解方位角的过程可以采用现有计算方式,参见如下公式:
Figure BDA0001232776220000161
其中,qw、qx、qy、qz表示修正后的当前时刻的姿态四元数,H表示方位角,该角度为以正北为基准,沿顺时针方向转动的角度。
本申请实施例提供的方法,根据加速度计的测量结果确定表示用户当前朝向的轴向,并在判断表示用户当前朝向的轴向与表示用户上一时刻朝向的轴向不相同时,对终端当前时刻的姿态四元数进行修正,进而利用修正后的姿态四元数确定用户当前的朝向,保证了在用户变换终端的持有方式后,能够基于终端的修正后的姿态四元数准确解算出用户的朝向。
本申请提供的计算用户朝向的技术方案,可以应用在导航(比如步行导航、室内导航)、无人机定向等领域。以导航为例,在导航起始阶段,如果GPS定位定向效果较差,不容易将设备位置定位到正确的路上,依据本申请提供的方向,可以与GPS定位结果配合,搜索附近与该方向一致的道路作为优选位置。
可选的,上述步骤S400,确定终端当前时刻的姿态四元数的过程,可以采用上述图1-3对应实施例介绍的姿态四元数确定方法,此处不再赘述。除此之外,还可以采用其它类似方法来确定姿态四元数,本实施例介绍了另一种确定终端当前时刻的姿态四元数的过程,参见图5所示,包括:
步骤S500、根据当前时刻加速度计的测量结果,确定终端的加速度值是否超过设定加速度阈值;若否,执行步骤S510;
步骤S510、根据终端上一时刻的姿态四元数以及当前时刻的加速度计测量结果、磁力计测量结果,确定当前时刻的姿态梯度;
步骤S520、根据所述当前时刻的姿态梯度确定陀螺仪误差;
步骤S530、根据所述陀螺仪误差,对当前时刻陀螺仪的测量结果进行补偿,得到补偿后的当前时刻的陀螺仪测量结果;
步骤S540、根据所述上一时刻的姿态四元数、所述当前时刻的姿态梯度和所述补偿后的当前时刻的陀螺仪测量结果,确定终端当前时刻的姿态四元数。
对比图1-图3示例的方式可以发现,本实施例中并未考虑加速度计梯度增益和磁力计梯度增益,其计算结果相比于图1-图3示例的方式,姿态梯度收敛速度要降低,进而导致方位角收敛速度降低。但是,由于不需要计算加速度计梯度增益和磁力计梯度增益,其计算方式更加简单。
在本申请的一个实施例中,对上述步骤S410,根据当前时刻加速计测量的各轴向的加速度值,确定表示用户当前朝向的轴向的过程进行介绍。
本申请的终端一般为智能手机等手持电子设备,一般都具备显示屏。本实施例中,定义由显示屏长边方向作为y轴,由显示屏短边方向作为x轴,垂直于显示屏方向作为z轴。其中,x、y、z三轴的正向可以自由设定,如设置显示屏长边由底部指向顶部的方向为y轴正向,显示屏短边由左侧指向右侧的方向为x轴正向,垂直于显示屏朝上的方向为z轴正向。
上述定义的坐标系为传感器坐标系,该传感器坐标系适用于终端设置的加速度计、磁力计、陀螺仪等运动传感器。
基于此,步骤S410的实施过程可以包括:
S1、判断当前时刻加速度计测量的x轴向的加速度值的绝对值,是否不超过y轴向和z轴向的加速度值的绝对值的和值;
S2、若是,确定y轴向表示用户当前朝向,并在y轴向的加速度值大于零时确定y轴正向表示用户当前朝向,在y轴向的加速度值小于零时确定y轴反向表示用户当前朝向;
S3、若否,确定x轴向表示用户当前朝向,并在x轴向的加速度值大于零时确定x轴正向表示用户当前朝向,在x轴向的加速度值小于零时确定x轴反向表示用户当前朝向。
参见图6a-6c举例说明,其中图6a-6c均为手机处于平行于大地的平面内的各中摆放方式。
其中,定义手机底部指向顶部方向为y轴正向,平行于显示屏由左边指向右边的方向为x轴正向,垂直于显示屏朝上方向为z轴正向。
由图可以确定,图6a中y轴正向为用户的朝向;图6b中x轴正向为用户朝向;图6c中x轴反向(即-x轴方向)为用户朝向。
三种朝向确定方式可以通过如下公式判断:
a):手机处于图6a的摆放方式的判断条件为:
|ax|≤|ay|+|az|
其中,|*|表示变量*的绝对值,ax、ay、az分别表示加速度计在三个轴向上的加速度分量。
b):手机处于图6b的摆放方式的判断条件为:
|ax|>|ay|+|az|,ax≥0
c):手机处于图6c的摆放方式的判断条件为:
|ax|>|ay|+|az|,ax<0
本实施例中,以手机的摆放方式仅存在如图6a-6c的三种方式为例进行说明,其中图6a表示手机竖屏放置,图6b和图6c表示手机横屏放置。可以理解的是,手机在横屏模式下用户手持手机左右摇摆的可能性要低于竖屏模式。即,用户在竖屏模式下左右摇摆手机的可能性更高。因此,本实施例中通过x轴加速度值的绝对值是否大于y轴和z轴加速度绝对值的和值作为手机是否处于横屏模式的判断条件,如果条件不满足,则表示手机处于竖屏模式。
此种判断方式相比于通过y轴加速度值的绝对值是否大于x轴和z轴加速度绝对值的和值作为手机是否处于竖屏模式的判断条件,其准确率更高。
进一步地,在本申请的另一个实施例中,对上述步骤S430,根据表示用户当前朝向的轴向与表示用户上一时刻朝向的轴向之间的位置关系,对所述当前时刻的姿态四元数进行修正,得到修正后的当前时刻的姿态四元数的过程进行介绍。
本申请预先设置了不同轴向切换方式对应的四元数修正系数,进而可以确定表示用户当前朝向的轴向及表示用户上一时刻朝向的轴向的组合,对应的四元数修正系数。
这里,两个时刻的轴向切换顺序不同,对应的组合也不同。如从y轴正向切换至x轴正向对应的组合,与从x轴正向切换至y轴正向对应的组合不同。
在确定了四元数修正系数之后,将确定的四元数修正系数与所述当前时刻的姿态四元数进行四元数相乘,得到修正后的当前时刻的姿态四元数。
仍参见图6a-6c进行举例说明:
本申请预先建立不同轴向切换关系对应的四元数修正系数,对应关系如下表1所示:
Figure BDA0001232776220000191
Figure BDA0001232776220000201
表1
图6a切换至图6b时,表示用户朝向的轴向切换方式为y->x,即从y轴切换至x轴;图6b切换至图6a时,表示用户朝向的轴向切换方式为x->y,即从x轴切换至y轴;图6a切换至图6c时,表示用户朝向的轴向切换方式为y->-x,即从y轴切换至-x轴;图6c切换至图6a时,表示用户朝向的轴向切换方式为-x->y,即从-x轴切换至y轴。
可以理解的是,图6b与图6c之间的切换必然经过中间状态图6a。因此,图6b与图6c之间的切换可以转换为上述切换方式中的某两个切换过程。
上表1中示例了不同轴向切换方式所对应的四元数修正系数。以表1中记录的第一条数据为例,假设修正前的四元数为Q(k),则修正后的四元数
Figure BDA0001232776220000202
如下:
Figure BDA0001232776220000203
其中,
Figure BDA0001232776220000204
表示四元数乘法,规则如下:
Figure BDA0001232776220000205
其中,在确定上述表1对应关系的过程中,首先确定与表示用户当前朝向的轴向对应的传感器坐标系变换方式,进而按照确定的传感器坐标系变换方式,对传感器坐标系中各轴向进行变换,在此基础上推导得出上表1的对应关系。
具体地,本申请中姿态解算是在姿态坐标系中进行,在姿态坐标系中,以用户朝向作为某一固定坐标轴,如设置用户朝向作为y轴,以垂直于终端屏幕向上方向作为z轴,右手定则确定x轴方向。
而根据上述实施例的介绍可知,在传感器坐标系中随着用户手持终端的方式不同,表示用户朝向的轴向也不同。因此,需要根据用户朝向将传感器坐标系变换至姿态坐标系。
因此,若确定当前时刻表示用户朝向的轴向,与姿态坐标系中设置的表示用户朝向的轴向相同,则不需要对传感器坐标系进行变换,或者说变换前后相同。若确定当前时刻表示用户朝向的轴向,与姿态坐标系中设置的表示用户朝向的轴向不相同,则需要对传感器坐标系进行变换。本申请预先设置了不同的表示用户朝向的轴向与传感器坐标系变换方式的对应关系,因此可以基于该对应关系,确定与表示用户当前朝向的轴向对应的传感器坐标系变换方式。
参见下表2所示,其示例了图6a-6c三种摆放方式下,表示用户朝向的不同轴向所对应的传感器坐标系变换方式:
用户朝向 变换前顺序 变换后顺序
y [x y z] [x y z]
x [x y z] [-y x z]
-x [x y z] [y -x z]
表2
表2示例的情况下,姿态坐标系中设置的表示用户朝向的轴向为y轴。因此,通过表2可以看出,当传感器坐标系中,表示用户朝向的轴向为y轴时,其变换前后顺序不变。而当传感器坐标系中,表示用户朝向的轴向不为y轴时,则需要按照表2示例的变换方式,对传感器坐标系进行变换。
下面对本申请实施例提供的姿态四元数确定装置进行描述,下文描述的姿态四元数确定装置与上文描述的姿态四元数确定方法可相互对应参照。
参见图7,图7为本申请实施例公开的一种姿态四元数确定装置结构示意图。
如图7所示,该装置包括:
姿态梯度确定单元11,用于根据终端上一时刻的姿态四元数以及当前时刻的加速度计测量结果、磁力计测量结果,确定当前时刻的姿态梯度;
加速度计梯度增益确定单元12,用于根据当前时刻的加速度计测量结果对应的特征函数,确定加速度计梯度增益;
磁力计梯度增益确定单元13,用于根据当前时刻的磁力计测量结果对应的特征函数,确定磁力计梯度增益;
姿态梯度修正单元14,用于根据所述加速度计梯度增益、所述磁力计梯度增益,对所述当前时刻的姿态梯度进行修正,得到修正后的当前时刻的姿态梯度;
第一姿态四元数确定单元15,用于根据所述上一时刻的姿态四元数、所述修正后的当前时刻的姿态梯度和确定的当前时刻的陀螺仪测量结果,确定终端当前时刻的姿态四元数。
本申请方案通过确定加速度计梯度增益和磁力计梯度增益,对姿态梯度进行修正,加快了姿态梯度的收敛速度,进而根据修正后的姿态梯度确定终端当前时刻的姿态四元数,能够加快方位角收敛速度。
可选的,本申请的装置还可以包括:
陀螺仪误差确定单元,用于根据修正后的当前时刻的姿态梯度确定陀螺仪误差;
陀螺仪测量结果补偿单元,用于根据所述陀螺仪误差,对当前时刻陀螺仪的测量结果进行补偿,得到补偿后的当前时刻的陀螺仪测量结果,所述补偿后的当前时刻的陀螺仪测量结果作为所述确定的当前时刻的陀螺仪测量结果。
可选的,本申请的装置还可以包括:
加速度值判断单元,用于根据当前时刻的加速度计测量结果,确定终端的加速度值是否超过设定加速度阈值;若否,执行所述第一姿态四元数确定单元,若是,执行第二姿态四元数确定单元;
所述第二姿态四元数确定单元,用于根据所述上一时刻的姿态四元数和当前时刻的陀螺仪测量结果,确定终端当前时刻的姿态四元数。
可选的,所述第二姿态四元数确定单元根据所述上一时刻的姿态四元数和当前时刻的陀螺仪测量结果,确定终端当前时刻的姿态四元数的过程,具体可以包括:
根据当前时刻的陀螺仪测量结果,计算陀螺仪的转动四元数;
将所述上一时刻的姿态四元数及所述陀螺仪的转动四元数相加,结果确定为终端当前时刻的姿态四元数。
进一步对本申请实施例提供的用户朝向确定装置进行描述,下文描述的用户朝向确定装置与上文描述的用户朝向确定方法可相互对应参照。
参见图8,图8为本申请实施例公开的一种用户朝向确定装置结构示意图。
如图8所示,该装置包括:
姿态四元数确定单元21,用于确定终端当前时刻的姿态四元数;
轴向确定单元22,用于根据当前时刻加速计测量的各轴向的加速度值,确定表示用户当前朝向的轴向;
轴向判断单元23,用于判断表示用户当前朝向的轴向与表示用户上一时刻朝向的轴向是否相同;
姿态四元数修正单元24,用于在所述轴向判断单元的判断结果为否时,根据表示用户当前朝向的轴向与表示用户上一时刻朝向的轴向之间的位置关系,对所述当前时刻的姿态四元数进行修正,得到修正后的当前时刻的姿态四元数;
方位角求解单元25,用于根据修正后的当前时刻的姿态四元数求解方位角,所述方位角表示用户当前朝向与设定基准方向的夹角。
本申请实施例中,根据加速度计的测量结果确定表示用户当前朝向的轴向,并在判断表示用户当前朝向的轴向与表示用户上一时刻朝向的轴向不相同时,对终端当前时刻的姿态四元数进行修正,进而利用修正后的姿态四元数确定用户当前的朝向,保证了在用户变换终端的持有方式后,能够基于终端的修正后的姿态四元数准确识别用户的朝向。
可选的,所述姿态四元数确定单元确定终端当前时刻的姿态四元数的过程,具体可以包括:
根据当前时刻加速度计的测量结果,确定终端的加速度值是否超过设定加速度阈值;
若否,根据终端上一时刻的姿态四元数以及当前时刻的加速度计测量结果、磁力计测量结果,确定当前时刻的姿态梯度;
根据所述当前时刻的姿态梯度确定陀螺仪误差;
根据所述陀螺仪误差,对当前时刻陀螺仪的测量结果进行补偿,得到补偿后的当前时刻的陀螺仪测量结果;
根据所述上一时刻的姿态四元数、所述当前时刻的姿态梯度和所述补偿后的当前时刻的陀螺仪测量结果,确定终端当前时刻的姿态四元数。
可选的,所述姿态四元数确定单元确定终端当前时刻的姿态四元数的过程,还可以包括:
若确定终端的加速度值超过设定加速度阈值,则根据所述上一时刻的姿态四元数和当前时刻的陀螺仪测量结果,确定终端当前时刻的姿态四元数。
可选的,所述姿态四元数确定单元确定终端当前时刻的姿态四元数的过程,还可以包括:
在确定当前时刻的姿态梯度之后,根据当前时刻的加速度计测量结果对应的特征函数,确定加速度计梯度增益;以及,根据当前时刻的磁力计测量结果对应的特征函数,确定磁力计梯度增益;
根据所述加速度计梯度增益、所述磁力计梯度增益,对所述当前时刻的姿态梯度进行修正,得到修正后的当前时刻的姿态梯度。基于此,
所述姿态四元数根据所述当前时刻的姿态梯度确定陀螺仪误差的过程,具体可以包括:
根据所述修正后的当前时刻的姿态梯度确定陀螺仪误差;
所述姿态四元数根据所述上一时刻的姿态四元数、所述当前时刻的姿态梯度和所述补偿后的当前时刻的陀螺仪测量结果,确定终端当前时刻的姿态四元数的过程,具体可以包括:
根据所述上一时刻的姿态四元数、所述修正后的当前时刻的姿态梯度和所述补偿后的当前时刻的陀螺仪测量结果,确定终端当前时刻的姿态四元数。
可选的,终端可以包括显示屏,由显示屏长边方向作为y轴,由显示屏短边方向作为x轴,垂直于显示屏方向作为z轴。基于此,
所述轴向确定单元根据当前时刻加速计测量的各轴向的加速度值,确定表示用户当前朝向的轴向的过程,具体可以包括:
判断当前时刻加速度计测量的x轴向的加速度值的绝对值,是否不超过y轴向和z轴向的加速度值的绝对值的和值;
若是,确定y轴向表示用户当前朝向,并在y轴向的加速度值大于零时确定y轴正向表示用户当前朝向,在y轴向的加速度值小于零时确定y轴反向表示用户当前朝向;
若否,确定x轴向表示用户当前朝向,并在x轴向的加速度值大于零时确定x轴正向表示用户当前朝向,在x轴向的加速度值小于零时确定x轴反向表示用户当前朝向。
可选的,所述姿态四元数修正单元根据表示用户当前朝向的轴向与表示用户上一时刻朝向的轴向之间的位置关系,对所述当前时刻的姿态四元数进行修正,得到修正后的当前时刻的姿态四元数的过程,具体可以包括:
确定表示用户当前朝向的轴向及表示用户上一时刻朝向的轴向的组合对应的四元数修正系数;
将确定的四元数修正系数与所述当前时刻的姿态四元数进行四元数相乘,得到修正后的当前时刻的姿态四元数。
可选的,所述姿态四元数根据所述上一时刻的姿态四元数和当前时刻的陀螺仪测量结果,确定终端当前时刻的姿态四元数的过程,具体可以包括:
根据当前时刻的陀螺仪测量结果,计算陀螺仪的转动四元数;
将所述上一时刻的姿态四元数及所述陀螺仪的转动四元数相加,结果确定为终端当前时刻的姿态四元数。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (20)

1.一种姿态四元数确定方法,其特征在于,包括:
根据终端上一时刻的姿态四元数以及当前时刻的加速度计测量结果、磁力计测量结果,确定当前时刻的姿态梯度;
根据当前时刻的加速度计测量结果对应的特征函数,确定加速度计梯度增益;以及,根据当前时刻的磁力计测量结果对应的特征函数,确定磁力计梯度增益;
根据所述加速度计梯度增益、所述磁力计梯度增益,对所述当前时刻的姿态梯度进行修正,得到修正后的当前时刻的姿态梯度;
根据所述上一时刻的姿态四元数、所述修正后的当前时刻的姿态梯度和确定的当前时刻的陀螺仪测量结果,确定终端当前时刻的姿态四元数,
所述根据所述加速度计梯度增益、所述磁力计梯度增益,对所述当前时刻的姿态梯度进行修正,包括:
将所述加速度计梯度增益、所述磁力计梯度增益与所述当前时刻的姿态梯度相乘。
2.根据权利要求1所述的方法,其特征在于,还包括:
根据修正后的当前时刻的姿态梯度确定陀螺仪误差;
根据所述陀螺仪误差,对当前时刻陀螺仪的测量结果进行补偿,得到补偿后的当前时刻的陀螺仪测量结果,所述补偿后的当前时刻的陀螺仪测量结果作为所述确定的当前时刻的陀螺仪测量结果。
3.根据权利要求1所述的方法,其特征在于,在所述根据终端上一时刻的姿态四元数以及当前时刻的加速度计测量结果、磁力计测量结果,确定当前时刻的姿态梯度之前,该方法还包括:
根据当前时刻的加速度计测量结果,确定终端的加速度值是否超过设定加速度阈值;
若否,执行所述根据终端上一时刻的姿态四元数以及当前时刻的加速度计测量结果、磁力计测量结果,确定当前时刻的姿态梯度的步骤;
若是,根据所述上一时刻的姿态四元数和当前时刻的陀螺仪测量结果,确定终端当前时刻的姿态四元数。
4.根据权利要求3所述的方法,其特征在于,所述根据所述上一时刻的姿态四元数和当前时刻的陀螺仪测量结果,确定终端当前时刻的姿态四元数,包括:
根据当前时刻的陀螺仪测量结果,计算陀螺仪的转动四元数;
将所述上一时刻的姿态四元数及所述陀螺仪的转动四元数相加,结果确定为终端当前时刻的姿态四元数。
5.一种用户朝向确定方法,其特征在于,该方法包括:
基于权利要求1所述的姿态四元数确定方法,确定终端当前时刻的姿态四元数;
根据当前时刻加速计测量的各轴向的加速度值,确定表示用户当前朝向的轴向;
判断表示用户当前朝向的轴向与表示用户上一时刻朝向的轴向是否相同;
若否,根据表示用户当前朝向的轴向与表示用户上一时刻朝向的轴向之间的位置关系,对所述当前时刻的姿态四元数进行修正,得到修正后的当前时刻的姿态四元数;
根据修正后的当前时刻的姿态四元数求解方位角,所述方位角表示用户当前朝向与设定基准方向的夹角。
6.根据权利要求5所述的方法,其特征在于,所述基于权利要求1所述的姿态四元数确定方法,确定终端当前时刻的姿态四元数,包括:
根据当前时刻加速度计的测量结果,确定终端的加速度值是否超过设定加速度阈值;
若否,根据终端上一时刻的姿态四元数以及当前时刻的加速度计测量结果、磁力计测量结果,确定当前时刻的姿态梯度;
根据当前时刻的加速度计测量结果对应的特征函数,确定加速度计梯度增益;以及,根据当前时刻的磁力计测量结果对应的特征函数,确定磁力计梯度增益;
根据所述加速度计梯度增益、所述磁力计梯度增益,对所述当前时刻的姿态梯度进行修正,得到修正后的当前时刻的姿态梯度;
根据所述修正后的当前时刻的姿态梯度确定陀螺仪误差;
根据所述陀螺仪误差,对当前时刻陀螺仪的测量结果进行补偿,得到补偿后的当前时刻的陀螺仪测量结果,所述补偿后的当前时刻的陀螺仪测量结果作为权利要求1中所述的确定的当前时刻的陀螺仪测量结果;
根据所述上一时刻的姿态四元数、所述修正后的当前时刻的姿态梯度和所述补偿后的当前时刻的陀螺仪测量结果,确定终端当前时刻的姿态四元数。
7.根据权利要求6所述的方法,其特征在于,该方法还包括:
若确定终端的加速度值超过设定加速度阈值,则根据所述上一时刻的姿态四元数和当前时刻的陀螺仪测量结果,确定终端当前时刻的姿态四元数。
8.根据权利要求5所述的方法,其特征在于,所述终端包括显示屏,由显示屏长边方向作为y轴,由显示屏短边方向作为x轴,垂直于显示屏方向作为z轴;
所述根据当前时刻加速计测量的各轴向的加速度值,确定表示用户当前朝向的轴向,包括:
判断当前时刻加速度计测量的x轴向的加速度值的绝对值,是否不超过y轴向和z轴向的加速度值的绝对值的和值;
若是,确定y轴向表示用户当前朝向,并在y轴向的加速度值大于零时确定y轴正向表示用户当前朝向,在y轴向的加速度值小于零时确定y轴反向表示用户当前朝向;
若否,确定x轴向表示用户当前朝向,并在x轴向的加速度值大于零时确定x轴正向表示用户当前朝向,在x轴向的加速度值小于零时确定x轴反向表示用户当前朝向。
9.根据权利要求5所述的方法,其特征在于,所述根据表示用户当前朝向的轴向与表示用户上一时刻朝向的轴向之间的位置关系,对所述当前时刻的姿态四元数进行修正,得到修正后的当前时刻的姿态四元数,包括:
确定表示用户当前朝向的轴向及表示用户上一时刻朝向的轴向的组合对应的四元数修正系数;
将确定的四元数修正系数与所述当前时刻的姿态四元数进行四元数相乘,得到修正后的当前时刻的姿态四元数。
10.根据权利要求7所述的方法,其特征在于,所述根据所述上一时刻的姿态四元数和当前时刻的陀螺仪测量结果,确定终端当前时刻的姿态四元数,包括:
根据当前时刻的陀螺仪测量结果,计算陀螺仪的转动四元数;
将所述上一时刻的姿态四元数及所述陀螺仪的转动四元数相加,结果确定为终端当前时刻的姿态四元数。
11.一种姿态四元数确定装置,其特征在于,包括:
姿态梯度确定单元,用于根据终端上一时刻的姿态四元数以及当前时刻的加速度计测量结果、磁力计测量结果,确定当前时刻的姿态梯度;
加速度计梯度增益确定单元,用于根据当前时刻的加速度计测量结果对应的特征函数,确定加速度计梯度增益;
磁力计梯度增益确定单元,用于根据当前时刻的磁力计测量结果对应的特征函数,确定磁力计梯度增益;
姿态梯度修正单元,用于根据所述加速度计梯度增益、所述磁力计梯度增益,对所述当前时刻的姿态梯度进行修正,得到修正后的当前时刻的姿态梯度;
第一姿态四元数确定单元,用于根据所述上一时刻的姿态四元数、所述修正后的当前时刻的姿态梯度和确定的当前时刻的陀螺仪测量结果,确定终端当前时刻的姿态四元数,
其中,所述根据所述加速度计梯度增益、所述磁力计梯度增益,对所述当前时刻的姿态梯度进行修正,包括:
将所述加速度计梯度增益、所述磁力计梯度增益与所述当前时刻的姿态梯度相乘。
12.根据权利要求11所述的装置,其特征在于,还包括:
陀螺仪误差确定单元,用于根据修正后的当前时刻的姿态梯度确定陀螺仪误差;
陀螺仪测量结果补偿单元,用于根据所述陀螺仪误差,对当前时刻陀螺仪的测量结果进行补偿,得到补偿后的当前时刻的陀螺仪测量结果,所述补偿后的当前时刻的陀螺仪测量结果作为所述确定的当前时刻的陀螺仪测量结果。
13.根据权利要求11所述的装置,其特征在于,还包括:
加速度值判断单元,用于根据当前时刻的加速度计测量结果,确定终端的加速度值是否超过设定加速度阈值;若否,执行所述姿态梯度确定单元,若是,执行第二姿态四元数确定单元;
所述第二姿态四元数确定单元,用于根据所述上一时刻的姿态四元数和当前时刻的陀螺仪测量结果,确定终端当前时刻的姿态四元数。
14.根据权利要求13所述的装置,其特征在于,所述第二姿态四元数确定单元根据所述上一时刻的姿态四元数和当前时刻的陀螺仪测量结果,确定终端当前时刻的姿态四元数的过程,具体包括:
根据当前时刻的陀螺仪测量结果,计算陀螺仪的转动四元数;
将所述上一时刻的姿态四元数及所述陀螺仪的转动四元数相加,结果确定为终端当前时刻的姿态四元数。
15.一种用户朝向确定装置,其特征在于,该装置包括:
姿态四元数确定单元,用于基于权利要求1所述的姿态四元数确定方法,确定终端当前时刻的姿态四元数;
轴向确定单元,用于根据当前时刻加速计测量的各轴向的加速度值,确定表示用户当前朝向的轴向;
轴向判断单元,用于判断表示用户当前朝向的轴向与表示用户上一时刻朝向的轴向是否相同;
姿态四元数修正单元,用于在所述轴向判断单元的判断结果为否时,根据表示用户当前朝向的轴向与表示用户上一时刻朝向的轴向之间的位置关系,对所述当前时刻的姿态四元数进行修正,得到修正后的当前时刻的姿态四元数;
方位角求解单元,用于根据修正后的当前时刻的姿态四元数求解方位角,所述方位角表示用户当前朝向与设定基准方向的夹角。
16.根据权利要求15所述的装置,其特征在于,所述姿态四元数确定单元基于权利要求1所述的姿态四元数确定方法,确定终端当前时刻的姿态四元数的过程,具体包括:
根据当前时刻加速度计的测量结果,确定终端的加速度值是否超过设定加速度阈值;
若否,根据终端上一时刻的姿态四元数以及当前时刻的加速度计测量结果、磁力计测量结果,确定当前时刻的姿态梯度;
根据当前时刻的加速度计测量结果对应的特征函数,确定加速度计梯度增益;以及,根据当前时刻的磁力计测量结果对应的特征函数,确定磁力计梯度增益;
根据所述加速度计梯度增益、所述磁力计梯度增益,对所述当前时刻的姿态梯度进行修正,得到修正后的当前时刻的姿态梯度;
根据所述修正后的当前时刻的姿态梯度确定陀螺仪误差;
根据所述陀螺仪误差,对当前时刻陀螺仪的测量结果进行补偿,得到补偿后的当前时刻的陀螺仪测量结果,所述补偿后的当前时刻的陀螺仪测量结果作为权利要求1中所述的确定的当前时刻的陀螺仪测量结果;
根据所述上一时刻的姿态四元数、所述修正后的当前时刻的姿态梯度和所述补偿后的当前时刻的陀螺仪测量结果,确定终端当前时刻的姿态四元数。
17.根据权利要求16所述的装置,其特征在于,所述姿态四元数确定单元确定终端当前时刻的姿态四元数的过程,还包括:
若确定终端的加速度值超过设定加速度阈值,则根据所述上一时刻的姿态四元数和当前时刻的陀螺仪测量结果,确定终端当前时刻的姿态四元数。
18.根据权利要求15所述的装置,其特征在于,所述终端包括显示屏,由显示屏长边方向作为y轴,由显示屏短边方向作为x轴,垂直于显示屏方向作为z轴;
所述轴向确定单元根据当前时刻加速计测量的各轴向的加速度值,确定表示用户当前朝向的轴向的过程,具体包括:
判断当前时刻加速度计测量的x轴向的加速度值的绝对值,是否不超过y轴向和z轴向的加速度值的绝对值的和值;
若是,确定y轴向表示用户当前朝向,并在y轴向的加速度值大于零时确定y轴正向表示用户当前朝向,在y轴向的加速度值小于零时确定y轴反向表示用户当前朝向;
若否,确定x轴向表示用户当前朝向,并在x轴向的加速度值大于零时确定x轴正向表示用户当前朝向,在x轴向的加速度值小于零时确定x轴反向表示用户当前朝向。
19.根据权利要求15所述的装置,其特征在于,所述姿态四元数修正单元根据表示用户当前朝向的轴向与表示用户上一时刻朝向的轴向之间的位置关系,对所述当前时刻的姿态四元数进行修正,得到修正后的当前时刻的姿态四元数的过程,具体包括:
确定表示用户当前朝向的轴向及表示用户上一时刻朝向的轴向的组合对应的四元数修正系数;
将确定的四元数修正系数与所述当前时刻的姿态四元数进行四元数相乘,得到修正后的当前时刻的姿态四元数。
20.根据权利要求17所述的装置,其特征在于,所述根据所述上一时刻的姿态四元数和当前时刻的陀螺仪测量结果,确定终端当前时刻的姿态四元数的过程,具体包括:
根据当前时刻的陀螺仪测量结果,计算陀螺仪的转动四元数;
将所述上一时刻的姿态四元数及所述陀螺仪的转动四元数相加,结果确定为终端当前时刻的姿态四元数。
CN201710104781.2A 2017-02-24 2017-02-24 姿态四元数确定方法、装置及用户朝向确定方法、装置 Active CN108507567B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710104781.2A CN108507567B (zh) 2017-02-24 2017-02-24 姿态四元数确定方法、装置及用户朝向确定方法、装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710104781.2A CN108507567B (zh) 2017-02-24 2017-02-24 姿态四元数确定方法、装置及用户朝向确定方法、装置

Publications (2)

Publication Number Publication Date
CN108507567A CN108507567A (zh) 2018-09-07
CN108507567B true CN108507567B (zh) 2020-07-10

Family

ID=63373553

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710104781.2A Active CN108507567B (zh) 2017-02-24 2017-02-24 姿态四元数确定方法、装置及用户朝向确定方法、装置

Country Status (1)

Country Link
CN (1) CN108507567B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109540143B (zh) * 2018-11-27 2022-12-02 中国广核电力股份有限公司 多传感源动态峰值融合的行人非常规动作方向识别方法
CN110427046B (zh) * 2019-07-26 2022-09-30 沈阳航空航天大学 一种三维平滑随机游走无人机群移动模型
CN111075320A (zh) * 2019-08-30 2020-04-28 上海菲马仕科技有限公司 一种智能防盗门及门体姿态检测方法
CN114526730B (zh) * 2022-01-21 2023-06-30 华南理工大学 基于磁梯度的运动速度估计方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102289306A (zh) * 2011-08-30 2011-12-21 江苏惠通集团有限责任公司 姿态感知设备及其定位、鼠标指针的控制方法和装置
CN103363992A (zh) * 2013-06-29 2013-10-23 天津大学 基于梯度下降的四旋翼无人机姿态航向参考系统解算方法
CN105628027A (zh) * 2016-02-19 2016-06-01 中国矿业大学 一种基于mems惯性器件的室内环境精确实时定位方法
WO2016146130A1 (en) * 2015-03-13 2016-09-22 Sang Yinan Attitude detecting device
CN106370178A (zh) * 2015-07-21 2017-02-01 阿里巴巴集团控股有限公司 移动终端设备的姿态测量方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102289306A (zh) * 2011-08-30 2011-12-21 江苏惠通集团有限责任公司 姿态感知设备及其定位、鼠标指针的控制方法和装置
CN103363992A (zh) * 2013-06-29 2013-10-23 天津大学 基于梯度下降的四旋翼无人机姿态航向参考系统解算方法
WO2016146130A1 (en) * 2015-03-13 2016-09-22 Sang Yinan Attitude detecting device
CN106370178A (zh) * 2015-07-21 2017-02-01 阿里巴巴集团控股有限公司 移动终端设备的姿态测量方法及装置
CN105628027A (zh) * 2016-02-19 2016-06-01 中国矿业大学 一种基于mems惯性器件的室内环境精确实时定位方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Real-time attitude estimation based on Gradient Descent algorithm";Cheguini, M. 等,;《2012 IEEE 4th Colombian Workshop on Circuits and Systems (CWCAS)》;20121102;1-6页 *
"基于共轭梯度法和互补滤波相结合的姿态解算算法";孙金秋 等,;《传感技术学报》;20140430;第27卷(第4期);524-258页 *

Also Published As

Publication number Publication date
CN108507567A (zh) 2018-09-07

Similar Documents

Publication Publication Date Title
CN108507567B (zh) 姿态四元数确定方法、装置及用户朝向确定方法、装置
CN108253963B (zh) 一种基于多传感器融合的机器人自抗扰定位方法以及定位系统
CN103017763B (zh) 状态估计设备和偏移更新方法
JP6215337B2 (ja) 適応型スケールおよび/または重力推定
CN106370178B (zh) 移动终端设备的姿态测量方法及装置
CN110954134B (zh) 陀螺仪偏差校正方法、校正系统、电子设备及存储介质
JP7025215B2 (ja) 測位システム及び測位方法
JP5809416B2 (ja) 携帯機器と自律航法演算法
CN110325822B (zh) 云台位姿修正方法和装置
JP2019078560A (ja) ジャイロセンサのオフセット補正装置、オフセット補正プログラム、歩行者自律航法装置
CN104848861A (zh) 一种基于图像消失点识别技术的移动设备姿态测量方法
CN110986997A (zh) 一种提高室内惯性导航精度的方法及系统
CN114485641A (zh) 一种基于惯导卫导方位融合的姿态解算方法及装置
EP3227634B1 (en) Method and system for estimating relative angle between headings
JP5511088B2 (ja) 自律測位に用いる重力ベクトルを補正する携帯装置、プログラム及び方法
US20130110451A1 (en) State estimation apparatus
US20170285365A1 (en) Imaging apparatus and image blur correction method
CN106931965B (zh) 一种确定终端姿态的方法及装置
CN108871319B (zh) 一种基于地球重力场与地磁场序贯修正的姿态解算方法
CN110375773B (zh) Mems惯导系统姿态初始化方法
Qian et al. Optical flow based step length estimation for indoor pedestrian navigation on a smartphone
CN109674480B (zh) 一种基于改进互补滤波的人体运动姿态解算方法
CN111148966B (zh) 一种用磁传感器确定航向的方法和设备
US20130085712A1 (en) Inertial sensing input apparatus and method thereof
CN110645976A (zh) 一种移动机器人的姿态估计方法及终端设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200508

Address after: 310052 room 508, floor 5, building 4, No. 699, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province

Applicant after: Alibaba (China) Co.,Ltd.

Address before: 100080 Beijing City, Haidian District Suzhou Street No. 3 floor 16 room 2

Applicant before: AUTONAVI INFORMATION TECHNOLOGY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant