CN117029813A - 行人航向计算方法、装置、设备、介质和程序产品 - Google Patents
行人航向计算方法、装置、设备、介质和程序产品 Download PDFInfo
- Publication number
- CN117029813A CN117029813A CN202311018441.XA CN202311018441A CN117029813A CN 117029813 A CN117029813 A CN 117029813A CN 202311018441 A CN202311018441 A CN 202311018441A CN 117029813 A CN117029813 A CN 117029813A
- Authority
- CN
- China
- Prior art keywords
- pedestrian
- coordinate system
- sensor data
- quaternion
- head
- 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.)
- Pending
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 90
- 238000000034 method Methods 0.000 claims abstract description 69
- 230000001133 acceleration Effects 0.000 claims description 117
- 239000013598 vector Substances 0.000 claims description 86
- 239000011159 matrix material Substances 0.000 claims description 82
- 238000005259 measurement Methods 0.000 claims description 47
- 238000006243 chemical reaction Methods 0.000 claims description 37
- 230000005484 gravity Effects 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 7
- 230000006698 induction Effects 0.000 claims description 6
- 230000009471 action Effects 0.000 claims description 4
- 230000002035 prolonged effect Effects 0.000 abstract description 5
- 230000009466 transformation Effects 0.000 description 14
- 230000006870 function Effects 0.000 description 13
- 238000013461 design Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 9
- 239000004984 smart glass Substances 0.000 description 6
- 239000011521 glass Substances 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000013178 mathematical model Methods 0.000 description 2
- 230000003183 myoelectrical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 206010044565 Tremor Diseases 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000021615 conjugation Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000005358 geomagnetic field Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012821 model calculation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; 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/16—Navigation; 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
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Navigation (AREA)
Abstract
本申请公开了一种行人航向计算方法、装置、设备、介质和程序产品,属于导航领域,该方法由移动终端执行,该方法包括:接收头戴设备发送的传感器数据,传感器数据是头戴设备在行人佩戴期间获取的;基于传感器数据,计算行人航向。该方法通过接收头戴设备发送的传感器数据,由移动终端基于传感器数据,计算行人航向,不需要头戴设备进行计算,减少了计算行人航向时头戴设备的功耗,增加了头戴设备的续航时间,提高了计算行人航向的效率。
Description
技术领域
本申请实施例涉及导航领域,特别涉及一种行人航向计算方法、装置、设备、介质和程序产品。
背景技术
人们在出行时需要使用导航设备进行导航,从而确定自己的出行路线。
相关技术中,导航设备进行导航时,需要对使用者进行定位。例如行人出行时,通过智能眼镜进行导航,智能眼镜通过使用内置传感器和相机对使用者进行定位。
然而,智能眼镜的续航时间不长。在开启导航功能后,会进一步增加智能眼镜的功耗,减少续航时间。
发明内容
本申请提供了一种行人航向计算方法、装置、设备、介质和程序产品,该技术方案至少包括:
根据本申请实施例的一个方面,提供了一种行人航向计算方法,该方法由移动终端执行,该方法包括:
接收头戴设备发送的传感器数据,传感器数据是头戴设备在行人佩戴期间获取的;
基于传感器数据,计算行人航向。
根据本申请实施例的另一个方面,提供了一种行人航向计算方法,该方法由头戴设备执行,头戴设备包括惯性测量单元(Inertial Measurement Unit,IMU),该方法包括:
在行人佩戴期间,通过IMU获取传感器数据;
将传感器数据发送给移动终端;
其中,传感器数据用于由移动终端计算行人航向。
根据本申请实施例的另一个方面,提供了一种行人航向计算方法,该方法由行人航向计算系统执行,行人航向计算系统包括头戴设备和移动终端,头戴设备包括IMU,该方法包括:
头戴设备在行人佩戴期间,通过IMU获取传感器数据;
头戴设备将传感器数据发送给移动终端;
移动终端基于传感器数据,计算行人航向。
根据本申请实施例的另一个方面,提供了一种行人航向计算装置,该装置包括:
接收模块,用于接收头戴设备发送的传感器数据,传感器数据是头戴设备在行人佩戴期间获取的;
计算模块,用于基于传感器数据,计算行人航向。
根据本申请实施例的另一个方面,提供了一种头戴式装置,该装置包括IMU,该装置包括:
获取模块,用于在行人佩戴期间,通过IMU获取传感器数据;
发送模块,用于将传感器数据发送给移动终端;
其中,传感器数据用于由移动终端计算行人航向。
根据本申请实施例的另一个方面,提供了一种移动终端,该移动终端包括:处理器和存储器,该存储器中存储有至少一段程序;该处理器用于执行存储器中的至少一段程序以实现上述各个方面的行人航向计算方法。
根据本申请实施例的另一个方面,提供了一种头戴设备,该头戴设备包括:处理器和存储器,该存储器中存储有至少一段程序;该处理器用于执行存储器中的至少一段程序以实现上述各个方面的行人航向计算方法。
根据本申请实施例的另一个方面,提供了一种行人航向计算系统,该行人航向计算系统包括头戴设备和移动终端,其中,移动终端被配置为实现上述各个方面的行人航向计算方法,头戴设备被配置为实现上述各个方面的行人航向计算方法。
根据本申请实施例的另一个方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一段程序,该至少一段程序由处理器加载并执行以实现如上述各个方面的行人航向计算方法。
根据本申请实施例的另一个方面,提供了一种计算机程序产品(或者计算机程序),该计算机程序产品(或者计算机程序)包括计算机指令,该计算机指令存储在计算机可读存储介质中,处理器从计算机可读存储介质中获取计算机指令,该处理器执行计算机指令以实现如上述各个方面的行人航向计算方法。
本申请实施例提供的技术方案可以包括以下有益效果:
该方法通过移动终端接收头戴设备发送的传感器数据,由移动终端基于传感器数据,计算行人航向,不需要头戴设备进行计算,减少了计算行人航向时头戴设备的功耗,增加了头戴设备的续航时间,提高了计算行人航向的效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1示出了本申请一个示例性实施例提供的行人航向计算系统的示意图;
图2示出了本申请一个示例性实施例提供的行人航向计算方法的流程图;
图3示出了本申请一个示例性实施例提供的坐标系间关系的示意图;
图4示出了本申请一个示例性实施例提供的行人航向计算方法的流程图;
图5示出了本申请一个示例性实施例提供的行人航向计算方法的流程图;
图6示出了本申请一个示例性实施例提供的行人航向计算方法的流程图;
图7示出了本申请一个示例性实施例提供的行人航向计算方法的流程图;
图8示出了相关技术提供的行人行走状态下垂直加速度波形的示意图;
图9示出了本申请一个示例性实施例提供的行人航向计算方法的流程图;
图10示出了本申请一个示例性实施例提供的行人航向计算方法的流程图;
图11示出了本申请一个示例性实施例提供的行人航向计算方法的流程图;
图12示出了本申请一个示例性实施例提供的行人航向计算方法的流程图;
图13示出了本申请一个示例性实施例提供的行人航向计算装置的框图;
图14示出了本申请一个示例性实施例提供的头戴式装置的框图;
图15示出了本申请一个示例性实施例提供的移动终端或头戴设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
需要说明的是,本申请所涉及的对象信息(包括但不限于对象设备信息、对象个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经对象授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
应当理解,尽管在本申请中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一参数也可以被称为第二参数,类似地,第二参数也可以被称为第一参数。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
图1示出了本申请一个示例性实施例提供的行人航向计算系统100的示意图,该行人航向计算系统100包括:移动终端110和头戴设备120。
移动终端110可以是诸如手机、平板电脑、车载终端(车机)、可穿戴设备、个人计算机(Personal Computer,PC)等电子设备,移动终端110安装和运行有支持计算行人航向的应用程序。
头戴设备120包括智能眼镜、运动相机、智能头盔、智能头环中至少之一,包括以下传感器中的至少一种:
·IMU,用于指示三轴姿态角(或角速度信息)、加速度信息、磁场信息;
·光传感器,用于指示光信号的变化;
·肌电传感器,用于指示肌电信号的变化;
·超声波传感器,用于指示超声波信号的变化。
在一些实施例中,头戴设备120至少包括IMU,IMU包括陀螺仪、加速度计和磁强计。
如图1所示,以头戴设备120是智能眼镜为例,智能眼镜通过IMU采集传感器数据,然后将传感器数据发送给移动终端110,由移动终端110进行航向计算、姿态检测、步长估计等工作,从而最终完成对用户130的定位。该方法不需要使用智能眼镜的相机,可规避功耗增加的问题。
本领域技术人员可以知晓,上述移动终端110或头戴设备120的数量可以更多或更少。比如上述移动终端110或头戴设备120可以仅为一个,或者上述移动终端110或头戴设备120为几十个或几百个,或者更多数量。本申请实施例对移动终端110或头戴设备120的数量和设备类型不加以限定。
人们在出行时需要使用导航设备进行导航,从而确定自己的出行路线。相关技术中,导航设备进行导航时,需要对使用者进行定位,例如行人出行时,通过智能眼镜进行导航,智能眼镜通过使用内置传感器和相机对使用者进行定位。
相关技术中的行人定位技术根据传感器的位置不同,可以分为三种方法:
(一)将传感器固定在行人的鞋上,可以取得较好的定位精度。
(二)利用移动终端(例如手机)内置传感器进行行人定位。
(三)利用头戴设备(例如智能眼镜)进行行人定位,包括两种方法:利用IMU和相机实现行人定位,或单独使用IMU实现行人定位。由于行人在行走时一般面朝前进方向,IMU计算的行人行走姿态与实际情况一致,因此可以提高行人定位的精度。
然而上述行人定位技术各自存在问题:
(一)该方法需要将传感器绑定在鞋上,对使用条件限制较大,使用不便。
(二)移动终端的指向与行人的行走方向不一定一致,存在不对齐角度,该不对齐角度限制了行人定位的精度。
(三)利用IMU和相机组合定位的方式存在功耗高,发热量大的问题;只利用IMU的方式中,由于在行走时可能出现头戴设备与行人头部之间存在颤动的情况,会导致步数估计和步长估计出现误差的问题;此外,开启行人定位功能会进一步增加头戴设备的功耗,减少续航时间。
为了解决上述存在的问题,本申请实施例提供了一种行人航向计算方法,图2示出了本申请一个示例性实施例提供的行人航向计算方法的流程图,该方法由行人航向计算系统执行,行人航向计算系统包括移动终端110和头戴设备120,头戴设备120包括IMU。该方法包括:
步骤210:头戴设备120在行人佩戴期间,通过IMU获取传感器数据。
IMU是一种包括多个传感器的装置,用于测量和记录物体的加速度、角速度和方向。IMU包括陀螺仪、加速度计、磁强计等传感器,其中陀螺仪用于测量角速度,加速度计用于测量线性加速度(简称加速度),磁强计用于测量地球磁场信息(简称为磁场信息),从而提供行人航向参考。IMU通过组合使用上述三种传感器的数据,得到精确的行人航向。
在一些实施例中,IMU包括陀螺仪、加速度计、磁强计中至少之一,传感器数据包括重力加速度矢量、地磁矢量和角速度信息中至少之一。
陀螺仪:
其中,ωb表示在传感器坐标系b下的陀螺仪输出值(角速度信息),传感器坐标系b表示原点在头戴设备120的质量中心位置,三轴方向是以头戴设备120的侧方、正前方、上方来定义的坐标系;
ωn表示陀螺仪测量到的相对于参考坐标系n的角速度,参考坐标系n表示原点在头戴设备120的质量中心位置,三轴分别指向东向、北向和天向的坐标系;
表示从参考坐标系n到传感器坐标系b的姿态转换矩阵;
b表示陀螺仪的常值零偏,陀螺仪的常值零偏表示在非旋转状态下,陀螺仪的输出值与零之间的差值;
μ表示陀螺仪的测量噪声。
加速度计:
其中,fb表示在传感器坐标系b下的加速度计输出值(重力加速度矢量);
表示从参考坐标系n到传感器坐标系b的姿态转换矩阵;
an表示加速度计在参考坐标系n下的线性加速度;
gn表示当地的重力加速度;
g为重力加速度大小,约为9.8m/s2;
ba表示加速度计的常值零偏,加速度计的常值零偏表示在无外力作用下,加速度计的输出值与零之间的差值;
μa表示加速度计的测量噪声。
磁强计:
其中,mb表示在传感器坐标系b下的磁强计输出值(地磁矢量);
表示从参考坐标系n到传感器坐标系b的姿态转换矩阵;
由于地理北向和地磁北向不一致,所以存在磁偏角,表示地磁北向坐标系n’到参考坐标系n的姿态转换矩阵,地磁北向坐标系n’表示原点在地磁中心位置,三轴分别指向地磁东向、地磁北向和天向的坐标系;
mn′表示地磁北向坐标系n’中的地球磁感应矢量;
bm表示磁强计的常值零偏,磁强计的常值零偏表示在无外部磁场下,磁强计的输出值与零之间的差值;
μm表示磁强计的测量噪声。
图3示出了本申请一个示例性实施例提供的坐标系间关系的示意图,头戴设备120的使用者向超市方向前进,前进方向与传感器坐标系b的y轴方向相同,示例性的,传感器坐标系b的x轴方向是头戴设备120的侧方,传感器坐标系b的z轴方向是头戴设备120的上方,传感器坐标系b的原点在头戴设备120的质量中心位置。
参考坐标系n表示原点在头戴设备120的质量中心位置,三轴分别指向东向、北向和天向的坐标系。示例性的,参考坐标系n的x1轴指向东向,参考坐标系n的y1轴指向北向,参考坐标系n的z1轴指向天向,参考坐标系n的原点在头戴设备120的质量中心位置,图3中为了便于表示与地磁北向坐标系n’之间的磁偏角,将参考坐标系n的原点与地磁北向坐标系n’的原点重合。
地磁北向坐标系n’表示原点在地磁中心位置,三轴分别指向地磁东向、地磁北向和天向的坐标系。示例性的,地磁北向坐标系n’的x2轴指向地磁东向,地磁北向坐标系n’的y2轴指向地磁北向,地磁北向坐标系n’的z2轴指向天向。x2轴和x1轴之间存在磁偏角θ,y2轴和y1轴之间存在磁偏角θ。
步骤220:头戴设备120将传感器数据发送给移动终端110。
在一些实施例中,传感器数据包括重力加速度矢量、地磁矢量和角速度信息中至少之一。示例性的,头戴设备120将重力加速度矢量、地磁矢量和角速度信息发送给移动终端110。
在一些实施例中,头戴设备120将传感器数据周期性地发送给移动终端110,从而更新用于计算的传感器数据。
步骤230:移动终端110基于传感器数据,计算行人航向。
在一些实施例中,移动终端110通过以下方法计算行人航向:
(1)根据三个理论值和三个测量值,获取第一姿态矩阵;
其中,三个理论值是重力加速度矢量、地磁矢量和第一矢量的理论值,三个测量值是重力加速度矢量、地磁矢量和第一矢量的测量值,第一矢量是重力加速度矢量和地磁矢量叉乘得到的矢量。
在一些实施例中,解线性方程组,获取第一姿态矩阵;
其中,线性方程组是第一乘积与三个理论值相等的方程组,第一乘积是三个测量值和第一姿态矩阵的乘积。
示例性的,第一姿态矩阵为重力加速度矢量的理论值为/>地磁矢量的理论值为/>第一矢量的理论值为/>重力加速度矢量的测量值为/>地磁矢量的测量值为第一矢量的测量值为/>那么三个理论值的矩阵形式为/>三个测量值的矩阵形式为/>线性方程组为:
由于三个理论值可以通过相关数学模型获取,三个测量值可以通过上述传感器测量获取,因此解线性方程组即可获取第一姿态矩阵
(2)将第一姿态矩阵转化为第一四元数;
在一些实施例中,第一姿态矩阵用于表示行人姿态,可以转化为第一四元数,第一四元数也用于表示行人姿态,示例性的,/>表示实部为0的第一四元数,/>表示x轴的角速度信息,/>表示y轴的角速度信息,/>表示z轴的角速度信息。
(3)通过第一四元数和角速度信息,计算第二四元数。
其中,第二四元数是用于表示行人航向的四元数,四元数是用于表示行人姿态的复数。
在一些实施例中,通过第一四元数表示行人的初始姿态,然后通过将第一四元数、第一角速度信息、第一时间间隔相乘后,与第一四元数相加,计算第三四元数,第一时间间隔为第一四元数对应的姿态到第三四元数对应的姿态期间的时间间隔,第一角速度信息为第一时间间隔内对应的角速度信息;
通过将第三四元数、第二角速度信息、第二时间间隔相乘后,与第三四元数相加,计算第四四元数,第二时间间隔为第三四元数对应的姿态到第四四元数对应的姿态期间的时间间隔,第二角速度信息为第二时间间隔内对应的角速度信息;
重复以上步骤,在对角速度信息全部计算完成后,得到第二四元数。
在一些实施例中,在对从第一四元数对应的初始时刻到当前时刻期间的角速度信息全部计算完成后,得到第二四元数。
示例性的,
其中,
表示实部为0的第一四元数,/>表示x轴的角速度信息,/>表示y轴的角速度信息,/>表示z轴的角速度信息;
表示四元数乘法;
Δt表示时间间隔,例如第一时间时间、第二时间间隔;
表示t时刻的四元数;
表示t-1时刻的四元数估计值;
表示t时刻的四元数一阶微分值;
表示t时刻的四元数增量;
具体而言,由上一时刻(t-1时刻)的四元数估计值和t时刻的测量值ωb相乘得到。
通过上述公式计算获取第一角速度信息、第二角速度信息等信息,直至对角速度信息全部计算完成后,得到第二四元数,第二四元数用于表示行人航向。
综上所述,本实施例提供的方法通过移动终端接收头戴设备发送的传感器数据,由移动终端基于传感器数据,计算行人航向,不需要头戴设备进行计算,减少了计算行人航向时头戴设备的功耗,增加了头戴设备的续航时间,提高了计算行人航向的效率。
本实施例提供的方法还通过头戴设备中的IMU获取传感器数据,通过IMU中的陀螺仪、加速度计和磁强计组合计算行人航向,提高了行人航向计算的准确性。
图4示出了本申请一个示例性实施例提供的行人航向计算方法的流程图,该方法由移动终端执行,该方法包括:
步骤410:接收头戴设备发送的传感器数据。
在一些实施例中,传感器数据是头戴设备在行人佩戴期间获取的。
传感器数据是头戴设备内置的传感器收集的数据,传感器包括如下至少之一:陀螺仪、加速度计、磁强计。传感器数据包括如下至少之一:陀螺仪收集的角速度信息;加速度计收集的加速度信息;磁强计收集的磁场信息。
在一些实施例中,接收头戴设备周期性发送的传感器数据。
头戴设备周期性发送传感器数据,从而定时更新移动终端接收的传感器数据,保证传感器数据的时效性和准确性。
步骤420:基于传感器数据,计算行人航向。
在一些实施例中,通过结合角速度信息、加速度信息和磁场信息,计算行人航向。
其中,通过加速度信息和磁场信息计算行人的初始姿态,再与角速度信息结合计算行人的后续姿态,从而计算行人航向。
综上所述,本实施例提供的方法通过移动终端接收头戴设备发送的传感器数据,由移动终端基于传感器数据,计算行人航向,不需要头戴设备进行计算,减少了计算行人航向时头戴设备的功耗,增加了头戴设备的续航时间,提高了计算行人航向的效率。
本实施例提供的方法还通过接收头戴设备周期性发送的传感器数据,做到定时更新传感器数据,保证传感器数据的时效性和准确性。
图5示出了本申请一个示例性实施例提供的行人航向计算方法的流程图,该方法由移动终端执行,该方法包括:
步骤410:接收头戴设备发送的传感器数据。
步骤422:基于加速度信息、磁场信息和角速度信息,计算行人航向。
在一些实施例中,传感器数据包括:加速度信息、磁场信息和角速度信息。
在一些实施例中,加速度信息通过头戴设备中的加速度计获取,磁场信息通过头戴设备中的磁强计获取,角速度信息通过头戴设备中的陀螺仪获取。
在一些实施例中,基于加速度信息和磁场信息,计算行人的初始姿态。
在一些实施例中,加速度信息包括重力加速度矢量,磁场信息包括磁场矢量。
根据三个理论值和三个测量值,获取第一姿态矩阵。
其中,三个理论值是重力加速度矢量、地磁矢量和第一矢量的理论值,三个测量值是重力加速度矢量、地磁矢量和第一矢量的测量值,第一矢量是重力加速度矢量和地磁矢量叉乘得到的矢量,第一姿态矩阵表示行人的初始姿态。
在一些实施例中,解线性方程组,获取第一姿态矩阵;
其中,线性方程组是第一乘积与三个理论值相等的方程组,第一乘积是三个测量值和第一姿态矩阵的乘积。
示例性的,第一姿态矩阵为重力加速度矢量的理论值为/>地磁矢量的理论值为/>第一矢量的理论值为/>重力加速度矢量的测量值为/>地磁矢量的测量值为第一矢量的测量值为/>那么三个理论值的矩阵形式为/>三个测量值的矩阵形式为/>线性方程组为:
由于三个理论值可以通过相关数学模型获取,三个测量值可以通过上述传感器测量获取,因此解线性方程组即可获取第一姿态矩阵
在一些实施例中,将第一姿态矩阵转化为第一四元数。
第一姿态矩阵用于表示行人的初始姿态,可以转化为第一四元数,第一四元数也用于表示行人的初始姿态,示例性的,/>表示实部为0的第一四元数,/>表示x轴的角速度信息,/>表示y轴的角速度信息,/>表示z轴的角速度信息。
在一些实施例中,基于行人的初始姿态和角速度信息,计算行人航向。
在使用第一四元数表示行人的初始姿态的情况下,通过第一四元数和角速度信息,计算第二四元数。
其中,第二四元数是用于表示行人航向的四元数,四元数是用于表示行人姿态的复数。
在一些实施例中,通过将第一四元数、第一角速度信息、第一时间间隔相乘后,与第一四元数相加,计算第三四元数,第一时间间隔为第一四元数对应的姿态到第三四元数对应的姿态期间的时间间隔,第一角速度信息为第一时间间隔内对应的角速度信息;
通过将第三四元数、第二角速度信息、第二时间间隔相乘后,与第三四元数相加,计算第四四元数,第二时间间隔为第三四元数对应的姿态到第四四元数对应的姿态期间的时间间隔,第二角速度信息为第二时间间隔内对应的角速度信息;
重复以上步骤,在对角速度信息全部计算完成后,得到第二四元数。
在一些实施例中,在对从第一四元数对应的初始时刻到当前时刻期间的角速度信息全部计算完成后,得到第二四元数。
示例性的,
其中,
表示实部为0的第一四元数,/>表示x轴的角速度信息,/>表示y轴的角速度信息,/>表示z轴的角速度信息;
表示四元数乘法;
Δt表示时间间隔,例如第一时间时间、第二时间间隔;
表示t时刻的四元数;
表示t-1时刻的四元数估计值;
表示t时刻的四元数一阶微分值;
表示t时刻的四元数增量;
具体而言,由上一时刻(t-1时刻)的四元数估计值和t时刻的测量值ωb相乘得到。
通过上述公式计算获取第一角速度信息、第二角速度信息等信息,直至对角速度信息全部计算完成后,得到第二四元数。
图6示出了本申请一个示例性实施例提供的行人航向计算方法的流程图。该方法通过头戴设备中的加速度计和磁强计获得行人的初始姿态,然后通过陀螺仪在行人行走期间对初始姿态进行积分运算获得行人的后续姿态,从而确定行人航向。
在一些实施例中,通过陀螺仪获得行人的后续姿态时,需要在重力加速度矢量和地磁矢量受到干扰较小的情况下,通过加速度计和磁强计来校正陀螺仪的输出,为此需要判断重力场是否为准静态重力场,以及磁场是否为准静态磁场。
对于准静态重力场,判别条件为:
其中,表示k时刻下加速度计输出的模值;
g表示重力加速度大小;
表示加速度(加速度计输出值减重力加速度)大小的平均值;
表示加速度大小的最大值;
γf是通过实验获取的加速度阈值,可以人为设置或修改,当公式左侧小于γf时,判断重力场为准静态重力场。
对于准静态磁场,判别条件为:
其中,表示k时刻下磁强计输出的模值;
mg表示当地磁场的磁感应强度大小,可通过模型计算得到;
表示磁场受干扰的大小;
表示磁场受干扰的大小的平均值;
表示磁场受干扰的大小的最大值;
γm是通过实验获取的磁场阈值,可以人为设置或修改,当公式左侧小于γf时,判断磁场为准静态磁场。
在判断重力场不为准静态重力场的情况下,不进行重力加速度矢量测量,重新进行判断,直到重力场为准静态重力场的情况下,进行重力加速度矢量测量;
在判断磁场不为准静态磁场的情况下,不进行磁场矢量测量,重新进行判断,直到磁场为准静态磁场的情况下,进行磁场矢量测量。
在对重力加速度矢量和磁场矢量进行测量后,进行非线性优化,用来计算陀螺仪积分的校正量。由于重力加速度矢量和磁场矢量的理论值可以通过相关模型计算得到,结合两矢量的测量值与理论值,可以通过非线性优化的方式得到测量值和理论值之间的转换信息。
非线性优化的方式可以写作:
其中,
表示四元数估计值的共轭;
表示重力加速度矢量与磁场矢量的测量值;
sn表示重力加速度矢量与磁场矢量的理论值;
表示将理论值从参考坐标系n映射到传感器坐标系b;
表示损失函数。
根据梯度下降理论、非线性优化对姿态的收敛和陀螺仪定姿的发散分析,可以得到校正量其中,
β表示一个可调整的因数,可以根据实际情况进行调整;
在表达式中,/>
是/>的转置矩阵;
表示/>的雅可比矩阵;
表示/>的雅可比矩阵;
和/>可以通过代入/>求得。
通过对陀螺仪进行积分校正,结合陀螺仪、加速度计和磁强计的传感器数据,获取更加准确的行人姿态,从而计算行人航向。
综上所述,本实施例提供的方法通过移动终端接收头戴设备发送的传感器数据,由移动终端基于传感器数据,计算行人航向,不需要头戴设备进行计算,减少了计算行人航向时头戴设备的功耗,增加了头戴设备的续航时间,提高了计算行人航向的效率。
本实施例提供的方法还通过头戴设备中的IMU获取传感器数据,通过IMU中的陀螺仪、加速度计和磁强计组合计算行人航向,提高了行人航向计算的准确性。
图7示出了本申请一个示例性实施例提供的行人航向计算方法的流程图,该方法由移动终端执行,该方法包括:
步骤401:通过第一姿态转换矩阵,将传感器坐标系下的加速度信息转换为参考坐标系下的加速度信息,并减去重力加速度后获取第一加速度信息。
在一些实施例中,传感器数据包括:传感器坐标系下的加速度信息。
上述步骤用公式表示为:
其中,an表示第一加速度信息;
ax,ay和az分别表示x轴,y轴,z轴上的加速度信息;
fb表示加速度信息的测量值;
表示将fb从传感器坐标系b映射到参考坐标系n;
g表示重力加速度。
在一些实施例中,第一姿态转换矩阵表示从传感器坐标系到参考坐标系的转换矩阵,传感器坐标系表示原点在头戴设备的质量中心位置,三轴方向是以头戴设备的侧方、正前方、上方来定义的坐标系,参考坐标系表示原点在头戴设备的质量中心位置,三轴分别指向东向、北向和天向的坐标系。参考坐标系和传感器坐标系的具体实施细节参考图3实施例,此处不再赘述。
步骤402:通过检测第一加速度信息是否大于第一阈值,判断行人是否处于行走状态。
在一些实施例中,第一阈值基于相关实验结果预设置。
图8示出了相关技术提供的行人行走状态下垂直加速度波形的示意图,通过检测第一加速度信息,例如检测到垂直加速度的波峰值大于第一阈值时,就判断行人处于行走状态。
在一些实施例中,头戴设备判断行人处于行走状态时,启动导航功能,计算行人航向;判断行人不处于行走状态时,关闭导航功能,减少头戴设备的功耗。
在一些实施例中,行人手动启动头戴设备的导航功能,计算行人航向。
步骤410:接收头戴设备发送的传感器数据。
步骤420:基于传感器数据,计算行人航向。
步骤430:在行人处于行走状态下,基于传感器数据,计算行人的位置。
在一些实施例中,在行人处于行走状态下,在第一加速度信息大于第一阈值的情况下,计算行人行走一步对应的时间窗口内行人的步长;
根据行人航向对应的航向角以及行人的步长,计算行人的位置。
在一些实施例中,在行人处于行走状态下,在第一加速度信息大于第一阈值的情况下,通过对第一差值进行求四次方根运算,获取行人的步长;
其中,第一差值为时间窗口内的第一加速度信息的最大值和最小值的差值。
示例性的,根据公式获取行人的步长l,其中K为尺度因数,az_max为第一加速度信息的最大值,az_min为第一加速度信息的最小值。
在t时刻检测到行人走完一步后,以北偏东为正向,将第二四元数转化为欧拉角,欧拉角包括航向角、俯仰角和滚转角,将航向角设为上一时刻(t-1时刻)的位置为(xt-1,yt-1),则t时刻的位置更新为(xt,yt):
yt=yt-1+l*cosφ;
xt=xt-1+l*sinφ;
其中,l为行人的步长。
在本实施例中,步骤401和步骤402是可选的,在不同实施例中,可对这些步骤中的一个或多个步骤进行省略或替代,例如省略步骤401和步骤402,从步骤410开始执行。
步骤410和步骤420可作为独立实施例来实施;步骤401、步骤402、步骤410和步骤420可作为独立实施例来实施;步骤410、步骤420和步骤430可作为独立实施例来实施;但不限于此。
步骤401可作为独立实施例来实施,比如单独实施成为加速度信息的获取方法;
步骤402可作为独立实施例来实施,比如单独实施成为行走状态的判断方法;
步骤410可作为独立实施例来实施,比如单独实施成为数据接收方法;
步骤420可作为独立实施例来实施,比如单独实施成为行人航向计算方法;
步骤430可作为独立实施例来实施,比如单独实施成为行人位置计算方法。
综上所述,本实施例提供的方法通过移动终端接收头戴设备发送的传感器数据,由移动终端基于传感器数据,计算行人航向,不需要头戴设备进行计算,减少了计算行人航向时头戴设备的功耗,增加了头戴设备的续航时间,提高了计算行人航向的效率。
本实施例提供的方法还通过检测第一加速度信息是否大于第一阈值,判断行人是否处于行走状态,从而判断是否开启导航功能,减少头戴设备的功耗。
图9示出了本申请一个示例性实施例提供的行人航向计算方法的流程图,该方法由头戴设备执行,该方法包括:
步骤910:在行人佩戴期间,通过IMU获取传感器数据。
在一些实施例中,传感器数据用于由移动终端计算行人航向。
在一些实施例中,IMU包括陀螺仪、加速度计、磁强计中至少之一,传感器数据包括角速度信息、加速度信息和磁场信息中至少之一。
步骤920:将传感器数据发送给移动终端。
头戴设备将传感器数据发送给移动终端,传感器数据用于由移动终端计算行人航向。移动终端计算行人航向的具体实施细节参考图4实施例至图7实施例,此处不再赘述。
综上所述,本实施例提供的方法通过移动终端接收头戴设备发送的传感器数据,由移动终端基于传感器数据,计算行人航向,不需要头戴设备进行计算,减少了计算行人航向时头戴设备的功耗,增加了头戴设备的续航时间,提高了计算行人航向的效率。
图10示出了本申请一个示例性实施例提供的行人航向计算方法的流程图,该方法由头戴设备执行,该方法包括:
步骤9111:在行人佩戴期间,将陀螺仪测量到的参考坐标系下的角速度,与第二姿态转换矩阵相乘,获取第一乘积。
在一些实施例中,IMU包括陀螺仪,传感器数据包括角速度信息。
示例性的,第一乘积表示为
其中,ωn表示陀螺仪测量到的参考坐标系n下的角速度,参考坐标系n表示原点在头戴设备的质量中心位置,三轴分别指向东向、北向和天向的坐标系;
表示从参考坐标系n到传感器坐标系b的姿态转换矩阵(第二姿态转换矩阵)。
在一些实施例中,第二姿态转换矩阵表示从参考坐标系到传感器坐标系的转换矩阵,参考坐标系表示原点在头戴设备的质量中心位置,三轴分别指向东向、北向和天向的坐标系,传感器坐标系表示原点在头戴设备的质量中心位置,三轴方向是以头戴设备的侧方、正前方、上方来定义的坐标系。参考坐标系和传感器坐标系的具体实施细节参考图3实施例,此处不再赘述。
步骤9112:将第一乘积、陀螺仪的常值零偏、第一测量噪声相加,获取角速度信息。
在一些实施例中,陀螺仪的常值零偏表示在非旋转状态下,陀螺仪的输出值与零之间的差值,第一测量噪声表示陀螺仪的测量噪声。
示例性的,
其中,ωb表示在传感器坐标系b下的陀螺仪输出值(角速度信息),传感器坐标系b表示原点在头戴设备的质量中心位置,三轴方向是以头戴设备的侧方、正前方、上方来定义的坐标系;
b表示陀螺仪的常值零偏,陀螺仪的常值零偏表示在非旋转状态下,陀螺仪的输出值与零之间的差值;
μ表示陀螺仪的测量噪声。
步骤920:将传感器数据发送给移动终端。
综上所述,本实施例提供的方法通过移动终端接收陀螺仪发送的角速度信息,角速度信息用于移动终端计算行人航向,不需要头戴设备进行计算,减少了计算行人航向时头戴设备的功耗,增加了头戴设备的续航时间,提高了计算行人航向的效率。
图11示出了本申请一个示例性实施例提供的行人航向计算方法的流程图,该方法由头戴设备执行,该方法包括:
步骤9121:在行人佩戴期间,通过加速度计,将加速度计在参考坐标系下的加速度与当地重力加速度的差值,与第二姿态转换矩阵相乘,获取第二乘积。
在一些实施例中,IMU包括加速度计,传感器数据包括加速度信息。
示例性的,第二乘积表示为
an表示加速度计在参考坐标系n下的线性加速度;
gn表示当地的重力加速度;
g为重力加速度大小,约为9.8m/s2;
表示从参考坐标系n到传感器坐标系b的姿态转换矩阵(第二姿态转换矩阵)。
在一些实施例中,第二姿态转换矩阵表示从参考坐标系到传感器坐标系的转换矩阵,参考坐标系表示原点在头戴设备的质量中心位置,三轴分别指向东向、北向和天向的坐标系,传感器坐标系表示原点在头戴设备的质量中心位置,三轴方向是以头戴设备的侧方、正前方、上方来定义的坐标系。参考坐标系和传感器坐标系的具体实施细节参考图3实施例,此处不再赘述。
步骤9122:将第二乘积、加速度计的常值零偏、第二测量噪声相加,获取加速度信息。
在一些实施例中,加速度计的常值零偏表示在无外力作用下,加速度计的输出值与零之间的差值,第二测量噪声表示加速度计的测量噪声。
示例性的,
其中,fb表示在传感器坐标系b下的加速度计输出值(重力加速度矢量);
ba表示加速度计的常值零偏,加速度计的常值零偏表示在无外力作用下,加速度计的输出值与零之间的差值;
μa表示加速度计的测量噪声。
步骤920:将传感器数据发送给移动终端。
综上所述,本实施例提供的方法通过移动终端接收加速度计发送的加速度信息,加速度信息用于移动终端计算行人航向,不需要头戴设备进行计算,减少了计算行人航向时头戴设备的功耗,增加了头戴设备的续航时间,提高了计算行人航向的效率。
图12示出了本申请一个示例性实施例提供的行人航向计算方法的流程图,该方法由头戴设备执行,该方法包括:
步骤9131:在行人佩戴期间,通过磁强计,将第二姿态转换矩阵、地磁北向坐标系到参考坐标系的转换矩阵、地磁北向坐标系中的地球磁感应矢量相乘,获取第三乘积。
在一些实施例中,IMU包括磁强计,传感器数据包括磁场信息。
示例性的,第三乘积表示为
其中,表示从参考坐标系n到传感器坐标系b的姿态转换矩阵(第二姿态转换矩阵);
表示地磁北向坐标系n’到参考坐标系n的姿态转换矩阵,地磁北向坐标系n’表示原点在地磁中心位置,三轴分别指向地磁东向、地磁北向和天向的坐标系;
mn′表示地磁北向坐标系n’中的地球磁感应矢量。
在一些实施例中,第二姿态转换矩阵表示从参考坐标系到传感器坐标系的转换矩阵,参考坐标系表示原点在头戴设备的质量中心位置,三轴分别指向东向、北向和天向的坐标系,传感器坐标系表示原点在头戴设备的质量中心位置,三轴方向是以头戴设备的侧方、正前方、上方来定义的坐标系,地磁北向坐标系表示原点在地磁中心位置,三轴分别指向地磁东向、地磁北向和天向的坐标系。参考坐标系、传感器坐标系和地磁北向坐标系的具体实施细节参考图3实施例,此处不再赘述。
步骤9132:将第三乘积、磁强计的常值零偏、第三测量噪声相加,获取磁场信息。
在一些实施例中,磁强计的常值零偏表示在无外部磁场下,磁强计的输出值与零之间的差值,第三测量噪声表示磁强计的测量噪声。
示例性的,
其中,mb表示在传感器坐标系b下的磁强计输出值(磁场信息);
bm表示磁强计的常值零偏,磁强计的常值零偏表示在无外部磁场下,磁强计的输出值与零之间的差值;
μm表示磁强计的测量噪声。
步骤920:将传感器数据发送给移动终端。
综上所述,本实施例提供的方法通过移动终端接收磁强计发送的磁场信息,磁场信息用于移动终端计算行人航向,不需要头戴设备进行计算,减少了计算行人航向时头戴设备的功耗,增加了头戴设备的续航时间,提高了计算行人航向的效率。
上述实施例中,序号相同的步骤可以认为是同一步骤。其中,图2对应的实施例、图4对应的实施例、图5对应的实施例、图7对应的实施例、图9对应的实施例、图10对应的实施例、图11对应的实施例和图12对应的实施例可以单独实施,或多个自由组合实施,本申请对此不加以限定。
图13示出了本申请一个示例性实施例提供的行人航向计算装置的框图,该装置可以通过软件或硬件或两者的结合实现成为移动终端,或实现成为移动终端的一部分,该装置包括接收模块1310、计算模块1320和判断模块1330。
接收模块1310,用于接收头戴设备发送的传感器数据,传感器数据是头戴设备在行人佩戴期间获取的;
计算模块1320,用于基于传感器数据,计算行人航向。
在本实施例的一种可能设计中,传感器数据包括:重力加速度矢量、地磁矢量和角速度信息;
计算模块1320,用于根据三个理论值和三个测量值,获取第一姿态矩阵,三个理论值是重力加速度矢量、地磁矢量和第一矢量的理论值,三个测量值是重力加速度矢量、地磁矢量和第一矢量的测量值,第一矢量是重力加速度矢量和地磁矢量叉乘得到的矢量;
将第一姿态矩阵转化为第一四元数;
通过第一四元数和角速度信息,计算第二四元数,第二四元数是用于表示行人航向的四元数,四元数是用于表示行人姿态的复数。
在本实施例的一种可能设计中,计算模块1320,用于解线性方程组,获取第一姿态矩阵;
其中,线性方程组是第一乘积与三个理论值相等的方程组,第一乘积是三个测量值和第一姿态矩阵的乘积。
在本实施例的一种可能设计中,计算模块1320,用于通过将第一四元数、第一角速度信息、第一时间间隔相乘后,与第一四元数相加,计算第三四元数,第一时间间隔为第一四元数对应的姿态到第三四元数对应的姿态期间的时间间隔,第一角速度信息为第一时间间隔内对应的角速度信息;
通过将第三四元数、第二角速度信息、第二时间间隔相乘后,与第三四元数相加,计算第四四元数,第二时间间隔为第三四元数对应的姿态到第四四元数对应的姿态期间的时间间隔,第二角速度信息为第二时间间隔内对应的角速度信息;
重复以上步骤,在对角速度信息全部计算完成后,得到第二四元数。
在本实施例的一种可能设计中,传感器数据包括:传感器坐标系下的加速度信息,计算模块1320,还用于通过第一姿态转换矩阵,将传感器坐标系下的加速度信息转换为参考坐标系下的加速度信息,并减去重力加速度后获取第一加速度信息;
判断模块1330,用于通过检测第一加速度信息是否大于第一阈值,判断行人是否处于行走状态,第一阈值为预定义的阈值;
其中,第一姿态转换矩阵表示从传感器坐标系到参考坐标系的转换矩阵,传感器坐标系表示原点在头戴设备的质量中心位置,三轴方向是以头戴设备的侧方、正前方、上方来定义的坐标系,参考坐标系表示原点在头戴设备的质量中心位置,三轴分别指向东向、北向和天向的坐标系。
在本实施例的一种可能设计中,计算模块1320,还用于在行人处于行走状态下,基于传感器数据,计算行人的位置。
在本实施例的一种可能设计中,计算模块1320,用于在行人处于行走状态下,在第一加速度信息大于第一阈值的情况下,计算行人行走一步对应的时间窗口内行人的步长;
根据行人航向对应的航向角以及行人的步长,计算行人的位置。
在本实施例的一种可能设计中,计算模块1320,用于在行人处于行走状态下,在第一加速度信息大于第一阈值的情况下,通过对第一差值进行求四次方根运算,获取行人的步长;
其中,第一差值为时间窗口内的第一加速度信息的最大值和最小值的差值。
综上所述,本实施例提供的装置通过接收模块接收头戴设备发送的传感器数据,由计算模块基于传感器数据,计算行人航向,不需要头戴设备进行计算,减少了计算行人航向时头戴设备的功耗,增加了头戴设备的续航时间,提高了计算行人航向的效率。
在本实施例中,计算模块1320可以拆分为多个计算模块,例如第一计算模块,第二计算模块,第三计算模块。第一计算模块用于计算行人航向,第二计算模块用于计算行人步长,第三计算模块用于计算行人位置;或者第一计算模块用于计算行人步长,第二计算模块用于计算行人位置,第三计算模块用于计算行人航向,本实施例对不同计算模块的功能不加以限定。
本实施例以一个计算模块1320进行举例说明,对计算模块1320的数量不加以限定。
接收模块1310的功能介绍,可以参考图4实施例中步骤410的内容;
计算模块1320的功能介绍,可以参考图4实施例中步骤420的内容、图5实施例中步骤422的内容、图7实施例中步骤401、步骤402、步骤420和步骤430的内容。
判断模块1330的功能介绍,可以参考图7实施例中步骤402的内容。
图14示出了本申请一个示例性实施例提供的头戴式装置的框图,该装置可以通过软件或硬件或两者的结合实现成为头戴设备,或实现成为头戴设备的一部分,该装置包括获取模块1410和发送模块1420。
该装置包括IMU:
获取模块1410,用于在行人佩戴期间,通过IMU获取传感器数据;
发送模块1420,用于将传感器数据发送给移动终端;
其中,传感器数据用于由移动终端计算行人航向。
在本实施例的一种可能设计中,IMU包括陀螺仪,传感器数据包括角速度信息,获取模块1410,用于将陀螺仪测量到的参考坐标系下的角速度,与第二姿态转换矩阵相乘,获取第一乘积;
将第一乘积、陀螺仪的常值零偏、第一测量噪声相加,获取角速度信息;
其中,第二姿态转换矩阵表示从参考坐标系到传感器坐标系的转换矩阵,参考坐标系表示原点在头戴设备的质量中心位置,三轴分别指向东向、北向和天向的坐标系,传感器坐标系表示原点在头戴设备的质量中心位置,三轴方向是以头戴设备的侧方、正前方、上方来定义的坐标系,陀螺仪的常值零偏表示在非旋转状态下,陀螺仪的输出值与零之间的差值,第一测量噪声表示陀螺仪的测量噪声。
在本实施例的一种可能设计中,IMU包括加速度计,传感器数据包括加速度信息,获取模块1410,用于通过加速度计,将加速度计在参考坐标系下的加速度与当地重力加速度的差值,与第二姿态转换矩阵相乘,获取第二乘积;
将第二乘积、加速度计的常值零偏、第二测量噪声相加,获取加速度信息;
其中,第二姿态转换矩阵表示从参考坐标系到传感器坐标系的转换矩阵,参考坐标系表示原点在头戴设备的质量中心位置,三轴分别指向东向、北向和天向的坐标系,传感器坐标系表示原点在头戴设备的质量中心位置,三轴方向是以头戴设备的侧方、正前方、上方来定义的坐标系,加速度计的常值零偏表示在无外力作用下,加速度计的输出值与零之间的差值,第二测量噪声表示加速度计的测量噪声。
在本实施例的一种可能设计中,IMU包括磁强计,传感器数据包括磁场信息,获取模块1410,用于通过磁强计,将第二姿态转换矩阵、地磁北向坐标系到参考坐标系的转换矩阵、地磁北向坐标系中的地球磁感应矢量相乘,获取第三乘积;
将第三乘积、磁强计的常值零偏、第三测量噪声相加,获取磁场信息;
其中,第二姿态转换矩阵表示从参考坐标系到传感器坐标系的转换矩阵,参考坐标系表示原点在头戴设备的质量中心位置,三轴分别指向东向、北向和天向的坐标系,传感器坐标系表示原点在头戴设备的质量中心位置,三轴方向是以头戴设备的侧方、正前方、上方来定义的坐标系,地磁北向坐标系表示原点在地磁中心位置,三轴分别指向地磁东向、地磁北向和天向的坐标系,磁强计的常值零偏表示在无外部磁场下,磁强计的输出值与零之间的差值,第三测量噪声表示磁强计的测量噪声。
综上所述,本实施例提供的装置通过将传感器数据发送给移动终端,由移动终端基于传感器数据,计算行人航向,不需要该装置进行计算,减少了计算行人航向时该装置的功耗,增加了该装置的续航时间,提高了计算行人航向的效率。
本实施例提供的装置还通过IMU获取传感器数据,通过IMU中的陀螺仪、加速度计和磁强计组合计算行人航向,提高了行人航向计算的准确性。
在本实施例中,获取模块1410可以拆分为多个获取模块,例如第一获取模块,第二获取模块,第三获取模块。第一获取模块用于获取角速度信息,第二获取模块用于获取加速度信息,第三获取模块用于获取磁场信息;或者第一获取模块用于获取磁场信息,第二获取模块用于获取角速度信息,第三获取模块用于获取加速度信息,本实施例对不同获取模块的功能不加以限定。
本实施例以一个获取模块1410进行举例说明,对获取模块1410的数量不加以限定。
获取模块1410的功能介绍,可以参考图9实施例中步骤910的内容、图10实施例中步骤9111和步骤9112的内容、图11实施例中步骤9121和步骤9122的内容、图12实施例中步骤9131和步骤9132的内容。
发送模块1420的功能介绍,可以参考图9实施例中步骤920的内容。
本申请实施例还提供了一种移动终端或头戴设备,该移动终端或头戴设备包括:处理器和存储器,存储器中存储有至少一段程序;处理器用于执行存储器中的至少一段程序以实现上述各方法实施例提供的行人航向计算方法。
图15是本申请一个示例性实施例提供的移动终端或头戴设备1500的结构示意图。通常,移动终端或头戴设备1500包括有:处理器1501和存储器1502。
处理器1501可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1501可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。处理器1501也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器(CentralProcessing Unit,CPU);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1501可以包括图像处理器(Graphics Processing Unit,GPU),GPU用于负责显示屏所需要显示的内容的渲染和绘制。在一些实施例中,处理器1501还可以包括人工智能(Artificial Intelligence,AI)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1502可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1502还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1502中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1501执行以实现本申请中方法实施例提供的行人航向计算方法。
在一些实施例中,服务器1500还可选包括有:输入接口1503和输出接口1504。处理器1501、存储器1502和输入接口1503、输出接口1504之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与输入接口1503、输出接口1504相连。输入接口1503、输出接口1504可被用于将输入/输出相关的至少一个外围设备连接到处理器1501和存储器1502。在一些实施例中,处理器1501、存储器1502和输入接口1503、输出接口1504被集成在同一芯片或电路板上;在一些其他实施例中,处理器1501、存储器1502和输入接口1503、输出接口1504中的任意一个或两个可以在单独的芯片或电路板上实现,本申请实施例对此不加以限定。
本领域技术人员可以理解,上述示出的结构并不构成对移动终端或头戴设备1500的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在示例性实施例中,还提供了一种芯片,芯片包括可编程逻辑电路和/或程序指令,当芯片在移动终端或头戴设备1500上运行时,用于实现本申请实施例提供的行人航向计算方法。
在示例性实施例中,还提供了一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。处理器从计算机可读存储介质读取该计算机指令,处理器从计算机可读存储介质读取并执行该计算机指令,以实现本申请实施例提供的行人航向计算方法。
在示例性实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一段程序,至少一段程序由处理器加载并执行以实现本申请实施例提供的行人航向计算方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (23)
1.一种行人航向计算方法,其特征在于,所述方法由移动终端执行,所述方法包括:
接收头戴设备发送的传感器数据,所述传感器数据是所述头戴设备在所述行人佩戴期间获取的;
基于所述传感器数据,计算所述行人航向。
2.根据权利要求1所述的方法,其特征在于,所述传感器数据包括:加速度信息、磁场信息和角速度信息;
所述基于所述传感器数据,计算所述行人航向,包括:
基于所述加速度信息、所述磁场信息和所述角速度信息,计算所述行人航向。
3.根据权利要求2所述的方法,其特征在于,所述基于所述加速度信息、所述磁场信息和所述角速度信息,计算所述行人航向,包括:
基于所述加速度信息和所述磁场信息,计算所述行人的初始姿态;
基于所述行人的初始姿态和所述角速度信息,计算所述行人航向。
4.根据权利要求3所述的方法,其特征在于,所述加速度信息包括重力加速度矢量,所述磁场信息包括磁场矢量,所述基于所述加速度信息和所述磁场信息,计算所述行人的初始姿态,包括:
根据三个理论值和三个测量值,获取第一姿态矩阵,所述三个理论值是所述重力加速度矢量、所述地磁矢量和第一矢量的理论值,所述三个测量值是所述重力加速度矢量、所述地磁矢量和所述第一矢量的测量值,所述第一矢量是所述重力加速度矢量和所述地磁矢量叉乘得到的矢量,所述第一姿态矩阵表示所述行人的初始姿态;
将所述第一姿态矩阵转化为第一四元数;
所述基于所述行人的初始姿态和所述角速度信息,计算所述行人航向,包括:
通过所述第一四元数和所述角速度信息,计算第二四元数,所述第二四元数是用于表示所述行人航向的四元数,所述四元数是用于表示行人姿态的复数。
5.根据权利要求4所述的方法,其特征在于,所述根据三个理论值和三个测量值,获取第一姿态矩阵,包括:
解线性方程组,获取所述第一姿态矩阵;
其中,所述线性方程组是第一乘积与所述三个理论值相等的方程组,所述第一乘积是所述三个测量值和所述第一姿态矩阵的乘积。
6.根据权利要求4所述的方法,其特征在于,所述通过所述第一四元数和所述角速度信息,计算第二四元数,包括:
通过将所述第一四元数、第一角速度信息、第一时间间隔相乘后,与所述第一四元数相加,计算第三四元数,所述第一时间间隔为所述第一四元数对应的姿态到所述第三四元数对应的姿态期间的时间间隔,所述第一角速度信息为所述第一时间间隔内对应的角速度信息;
通过将所述第三四元数、第二角速度信息、第二时间间隔相乘后,与所述第三四元数相加,计算第四四元数,所述第二时间间隔为所述第三四元数对应的姿态到所述第四四元数对应的姿态期间的时间间隔,所述第二角速度信息为所述第二时间间隔内对应的角速度信息;
重复以上步骤,在对所述角速度信息全部计算完成后,得到所述第二四元数。
7.根据权利要求1所述的方法,其特征在于,所述传感器数据包括:传感器坐标系下的加速度信息,所述方法还包括:
通过第一姿态转换矩阵,将所述传感器坐标系下的加速度信息转换为参考坐标系下的加速度信息,并减去重力加速度后获取第一加速度信息;
通过检测所述第一加速度信息是否大于第一阈值,判断所述行人是否处于行走状态,所述第一阈值为预定义的阈值;
其中,所述第一姿态转换矩阵表示从所述传感器坐标系到所述参考坐标系的转换矩阵,所述传感器坐标系表示原点在所述头戴设备的质量中心位置,三轴方向是以所述头戴设备的侧方、正前方、上方来定义的坐标系,所述参考坐标系表示原点在所述头戴设备的质量中心位置,三轴分别指向东向、北向和天向的坐标系。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
在所述行人处于所述行走状态下,基于所述传感器数据,计算所述行人的位置。
9.根据权利要求8所述的方法,其特征在于,所述在所述行人处于行走状态下,基于所述传感器数据,计算所述行人的位置,包括:
在所述行人处于所述行走状态下,在所述第一加速度信息大于所述第一阈值的情况下,计算所述行人行走一步对应的时间窗口内所述行人的步长;
根据所述行人航向对应的航向角以及所述行人的步长,计算所述行人的位置。
10.根据权利要求9所述的方法,其特征在于,所述在所述行人处于所述行走状态下,在所述第一加速度信息大于所述第一阈值的情况下,计算行走一步对应的时间窗口内所述行人的步长,包括:
在所述行人处于所述行走状态下,在所述第一加速度信息大于所述第一阈值的情况下,通过对第一差值进行求四次方根运算,获取所述行人的步长;
其中,所述第一差值为所述时间窗口内的所述第一加速度信息的最大值和最小值的差值。
11.一种行人航向计算方法,其特征在于,所述方法由头戴设备执行,所述头戴设备包括惯性测量单元IMU,所述方法包括:
在所述行人佩戴期间,通过所述IMU获取传感器数据;
将所述传感器数据发送给移动终端;
其中,所述传感器数据用于由所述移动终端计算所述行人航向。
12.根据权利要求11所述的方法,其特征在于,所述IMU包括陀螺仪,所述传感器数据包括所述角速度信息,所述通过所述IMU获取传感器数据,包括:
将所述陀螺仪测量到的参考坐标系下的角速度,与第二姿态转换矩阵相乘,获取第一乘积;
将所述第一乘积、所述陀螺仪的常值零偏、第一测量噪声相加,获取角速度信息;
其中,所述第二姿态转换矩阵表示从所述参考坐标系到传感器坐标系的转换矩阵,所述参考坐标系表示原点在所述头戴设备的质量中心位置,三轴分别指向东向、北向和天向的坐标系,所述传感器坐标系表示原点在所述头戴设备的质量中心位置,三轴方向是以所述头戴设备的侧方、正前方、上方来定义的坐标系,所述陀螺仪的常值零偏表示在非旋转状态下,所述陀螺仪的输出值与零之间的差值,所述第一测量噪声表示所述陀螺仪的测量噪声。
13.根据权利要求11所述的方法,其特征在于,所述IMU包括加速度计,所述传感器数据包括所述加速度信息,所述通过所述IMU获取传感器数据,包括:
通过所述加速度计,将所述加速度计在参考坐标系下的加速度与当地重力加速度的差值,与第二姿态转换矩阵相乘,获取第二乘积;
将所述第二乘积、所述加速度计的常值零偏、第二测量噪声相加,获取加速度信息;
其中,所述第二姿态转换矩阵表示从所述参考坐标系到传感器坐标系的转换矩阵,所述参考坐标系表示原点在所述头戴设备的质量中心位置,三轴分别指向东向、北向和天向的坐标系,所述传感器坐标系表示原点在所述头戴设备的质量中心位置,三轴方向是以所述头戴设备的侧方、正前方、上方来定义的坐标系,所述加速度计的常值零偏表示在无外力作用下,所述加速度计的输出值与零之间的差值,所述第二测量噪声表示所述加速度计的测量噪声。
14.根据权利要求11所述的方法,其特征在于,所述IMU包括磁强计,所述传感器数据包括所述磁场信息,所述通过所述IMU获取传感器数据,包括:
通过所述磁强计,将第二姿态转换矩阵、地磁北向坐标系到参考坐标系的转换矩阵、地磁北向坐标系中的地球磁感应矢量相乘,获取第三乘积;
将所述第三乘积、所述磁强计的常值零偏、第三测量噪声相加,获取磁场信息;
其中,所述第二姿态转换矩阵表示从所述参考坐标系到传感器坐标系的转换矩阵,所述参考坐标系表示原点在所述头戴设备的质量中心位置,三轴分别指向东向、北向和天向的坐标系,所述传感器坐标系表示原点在所述头戴设备的质量中心位置,三轴方向是以所述头戴设备的侧方、正前方、上方来定义的坐标系,所述地磁北向坐标系表示原点在地磁中心位置,三轴分别指向地磁东向、地磁北向和天向的坐标系,所述磁强计的常值零偏表示在无外部磁场下,所述磁强计的输出值与零之间的差值,所述第三测量噪声表示所述磁强计的测量噪声。
15.一种行人航向计算方法,其特征在于,所述方法由行人航向计算系统执行,所述行人航向计算系统包括头戴设备和移动终端,所述头戴设备包括惯性测量单元IMU,所述方法包括:
所述头戴设备在所述行人佩戴期间,通过所述IMU获取传感器数据;
所述头戴设备将所述传感器数据发送给所述移动终端;
所述移动终端基于所述传感器数据,计算所述行人航向。
16.一种行人航向计算装置,其特征在于,所述装置包括:
接收模块,用于接收头戴设备发送的传感器数据,所述传感器数据是所述头戴设备在所述行人佩戴期间获取的;
计算模块,用于基于所述传感器数据,计算所述行人航向。
17.一种头戴式装置,其特征在于,所述装置包括惯性测量单元IMU,所述装置包括:
获取模块,用于在所述行人佩戴期间,通过所述IMU获取传感器数据;
发送模块,用于将所述传感器数据发送给移动终端;
其中,所述传感器数据用于由所述移动终端计算所述行人航向。
18.一种移动终端,其特征在于,所述移动终端包括:处理器和存储器,所述存储器中存储有至少一段程序;所述处理器用于执行所述存储器中的所述至少一段程序以实现如权利要求1至10任一所述的行人航向计算方法。
19.一种头戴设备,其特征在于,所述头戴设备包括:处理器和存储器,所述存储器中存储有至少一段程序;所述处理器用于执行所述存储器中的所述至少一段程序以实现如权利要求11至14任一所述的行人航向计算方法。
20.一种行人航向计算系统,其特征在于,所述行人航向计算系统包括头戴设备和移动终端,其中,所述移动终端被配置为实现权利要求1至10任一所述的行人航向计算方法,所述头戴设备被配置为实现权利要求11至14任一所述的行人航向计算方法。
21.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一段程序,所述至少一段程序由处理器加载并执行以实现如权利要求1至14任一所述的行人航向计算方法。
22.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机指令,所述计算机指令存储在计算机可读存储介质中,处理器从所述计算机可读存储介质中获取所述计算机指令,所述处理器执行所述计算机指令以实现如权利要求1至14任一所述的行人航向计算方法。
23.一种计算机程序,其特征在于,所述计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中,处理器从所述计算机可读存储介质中获取所述计算机指令,所述处理器执行所述计算机指令以实现如权利要求1至14任一所述的行人航向计算方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311018441.XA CN117029813A (zh) | 2023-08-11 | 2023-08-11 | 行人航向计算方法、装置、设备、介质和程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311018441.XA CN117029813A (zh) | 2023-08-11 | 2023-08-11 | 行人航向计算方法、装置、设备、介质和程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117029813A true CN117029813A (zh) | 2023-11-10 |
Family
ID=88601846
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311018441.XA Pending CN117029813A (zh) | 2023-08-11 | 2023-08-11 | 行人航向计算方法、装置、设备、介质和程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117029813A (zh) |
-
2023
- 2023-08-11 CN CN202311018441.XA patent/CN117029813A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101778807B1 (ko) | 데이터 융합을 이용하는 모션 캡처 포인터 | |
US10072956B2 (en) | Systems and methods for detecting and handling a magnetic anomaly | |
CN109253735B (zh) | 路径规划方法、装置及存储介质 | |
CN106017463A (zh) | 一种基于定位传感装置的飞行器定位方法 | |
CN107748569B (zh) | 用于无人机的运动控制方法、装置及无人机系统 | |
CN109461208B (zh) | 三维地图处理方法、装置、介质和计算设备 | |
US20160077166A1 (en) | Systems and methods for orientation prediction | |
CN111156998A (zh) | 一种基于rgb-d相机与imu信息融合的移动机器人定位方法 | |
CN110986930B (zh) | 设备定位方法、装置、电子设备及存储介质 | |
EP2939402B1 (en) | Method and device for sensing orientation of an object in space in a fixed frame of reference | |
WO2020221307A1 (zh) | 一种运动物体的追踪方法和装置 | |
CN104181573B (zh) | 北斗惯导深组合导航微系统 | |
CN113820735B (zh) | 位置信息的确定方法、位置测量设备、终端及存储介质 | |
US20160224855A1 (en) | Estimating heading misalignment between a device and a person using optical sensor | |
US10247558B2 (en) | Travel direction determination apparatus, map matching apparatus, travel direction determination method, and computer readable medium | |
CN111121755B (zh) | 一种多传感器的融合定位方法、装置、设备及存储介质 | |
CN112486331A (zh) | 基于imu的三维空间手写输入方法和装置 | |
CN108507567B (zh) | 姿态四元数确定方法、装置及用户朝向确定方法、装置 | |
WO2020135183A1 (zh) | 点云地图的构建方法、装置、计算机设备和存储介质 | |
US10197402B2 (en) | Travel direction information output apparatus, map matching apparatus, travel direction information output method, and computer readable medium | |
KR102578119B1 (ko) | 모바일 디바이스와 연동하는 스마트 안경 작동 방법 | |
CN117029813A (zh) | 行人航向计算方法、装置、设备、介质和程序产品 | |
CN116027351A (zh) | 一种手持/背包式slam装置及定位方法 | |
CN102117199A (zh) | 利用并行流水线机制提高星敏感器数据更新率的方法 | |
CN115727871A (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 |