CN110068875B - 地磁传感器校准方法、移动终端及计算机可读存储介质 - Google Patents
地磁传感器校准方法、移动终端及计算机可读存储介质 Download PDFInfo
- Publication number
- CN110068875B CN110068875B CN201910362673.4A CN201910362673A CN110068875B CN 110068875 B CN110068875 B CN 110068875B CN 201910362673 A CN201910362673 A CN 201910362673A CN 110068875 B CN110068875 B CN 110068875B
- Authority
- CN
- China
- Prior art keywords
- data
- geomagnetic
- function
- cost function
- value
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01V—GEOPHYSICS; GRAVITATIONAL MEASUREMENTS; DETECTING MASSES OR OBJECTS; TAGS
- G01V13/00—Manufacturing, calibrating, cleaning, or repairing instruments or devices covered by groups G01V1/00 – G01V11/00
Landscapes
- Engineering & Computer Science (AREA)
- Manufacturing & Machinery (AREA)
- Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Life Sciences & Earth Sciences (AREA)
- General Physics & Mathematics (AREA)
- Geophysics (AREA)
- Measuring Magnetic Variables (AREA)
- Gyroscopes (AREA)
Abstract
本发明公开了一种地磁传感器校准方法、移动终端及计算机可读存储介质,该方法包括:获取第一时间的第一地磁数据及第二时间的第二地磁数据;获取所述第一时间与所述第二时间之间的陀螺仪数据;根据所述陀螺仪数据确定旋转矩阵;根据所述第一地磁数据、所述第二地磁数据及所述旋转矩阵确定代价函数;根据最小的代价函数的函数值计算偏移量,以根据所述偏移量对地磁传感器进行校准。本发明的技术方案,引入陀螺仪传感器提供的陀螺仪数据,降低对地磁数据的要求,提升校准速度,提高校准精度。
Description
技术领域
本发明涉及移动终端技术领域,具体而言,涉及一种地磁传感器校准方法、移动终端及计算机可读存储介质。
背景技术
随着移动通信技术的发展和智能移动终端的普及,移动终端在用户生活中占据着越来越重要的作用。移动终端中包括全球定位(GPS)及指南针等需要使用到地磁传感器的功能,由于地磁传感器的使用方式及自身的噪声等问题,在使用时,往往需要对地磁传感器进行校准操作。
现有的地磁传感器校准方案多为采集大量的地磁数据后,再使用统计拟合的方法来校准地磁传感器。然而,如果移动终端转动幅度很小,会导致采集到的地磁数据不够分散,地磁数据的噪声会导致校准结果不准确。例如,如图1a~图1c所示,在同样的噪声强度下,A类型虚线箭头所表示的地磁数据为校准后地磁数据,B类型实线箭头所表示的地磁数据为实际的地磁数据。OO1之间的虚线箭头所表示的数据为校准后的地磁数据与实际的地磁数据之间的偏差,可知,在校准过程中,采集的范围越小的地磁数据,校准结果的偏差越大,使用不方便,且在环境或器件的磁性变化时容易导致方向不准确。
发明内容
鉴于上述问题,本发明实施例的目的在于提供一种地磁传感器校准方法、移动终端及计算机可读存储介质,以解决现有技术的不足。
根据本发明的一个实施方式,提供一种地磁传感器校准方法,该方法包括:
获取第一时间的第一地磁数据及第二时间的第二地磁数据;
获取所述第一时间与所述第二时间之间的陀螺仪数据;
根据所述陀螺仪数据确定旋转矩阵;
根据所述第一地磁数据、所述第二地磁数据及所述旋转矩阵确定代价函数;
根据最小的代价函数的函数值计算偏移量,以根据所述偏移量对地磁传感器进行校准。
在上述的地磁传感器校准方法中,所述“根据所述陀螺仪数据确定旋转矩阵”包括:
为所述旋转矩阵设初值;
将所述陀螺仪数据在地磁场方向上取反后得到第一矩阵,并根据所述第一矩阵及所述初值计算第二矩阵,然后根据所述第二矩阵对所述旋转矩阵中的值进行更新。
在上述的地磁传感器校准方法中,所述“根据所述第一地磁数据、所述第二地磁数据及所述旋转矩阵确定代价函数”包括:
将所述偏移量作为自变量,根据所述自变量、所述第一地磁数据、所述第二地磁数据及所述旋转矩阵确定偏差函数;
根据所述偏差函数确定代价函数。
在上述的地磁传感器校准方法中,所述“获取所述第一时间与所述第二时间之间的陀螺仪数据”之后还包括:
将任意的第一时间与第二时间之间的所述第一地磁数据、所述第二地磁数据及所述旋转矩阵作为一组采样数据存储至缓存区;
判断所述采样数据的组数是否超出预设阈值;
若所述采样数据的组数超出所述预设阈值,移除最早存储的采样数据,以使所述采样数据的组数不超出所述预设阈值。
在上述的地磁传感器校准方法中,所述“根据所述第一地磁数据、所述第二地磁数据及所述旋转矩阵确定代价函数”包括:
将所述偏移量作为自变量,根据所述自变量及每一组采样数据确定相应的偏差函数;
根据所述偏差函数确定损失函数;
将所述缓存区内的每一组采样数据对应的损失函数相加得到所述代价函数。
在上述的地磁传感器校准方法中,所述“根据最小的代价函数的函数值计算偏移量”包括:
定义初始的步长;
计算所述代价函数的函数值及梯度向量;
根据所述步长、所述梯度向量及所述偏移量计算下一步的偏移量;
根据所述下一步的偏移量计算下一步的代价函数的函数值;
将所述代价函数的函数值与所述下一步的代价函数的函数值进行对比;
若所述代价函数的函数值小于所述下一步的代价函数的函数值,减小所述步长;
若所述代价函数的函数值大于所述下一步的代价函数的函数值,根据所述下一步的代价函数的函数值更新所述代价函数的函数值,并增大所述步长;
在所述步长发生变化后,重新执行步骤“计算所述代价函数的函数值及梯度向量”及后续步骤,直至满足预定条件后结束循环,得到最小的代价函数的函数值。
在上述的地磁传感器校准方法中,所述预定条件包括:所述代价函数的梯度向量的模长小于预定模长阈值,或所述代价函数的函数值与所述下一步的代价函数的函数值的差的绝对值小于预定常量,或循环次数达到预定的循环阈值。
在上述的地磁传感器校准方法中,在根据所述偏移量量对地磁传感器进行校准后,还包括:
分别计算所述每一组采样数据中的地磁数据与校准后的地磁数据之间的误差;
根据所述缓存区内所有组的采样数据对应的误差确定误差阈值;
分别计算所述缓存区内每一组采样数据对应的误差与所述误差阈值的差值;
将超出预定范围的差值对应的采样数据移除。
根据本发明的另一个实施方式,提供一种地磁传感器校准装置,该装置包括:
第一获取模块,用于获取第一时间的第一地磁数据及第二时间的第二地磁数据;
第二获取模块,用于获取所述第一时间与所述第二时间之间的陀螺仪数据;
第一确定模块,用于根据所述陀螺仪数据确定旋转矩阵;
第二确定模块,用于根据所述第一地磁数据、所述第二地磁数据及所述旋转矩阵确定代价函数;
计算模块,用于根据最小的代价函数的函数值计算偏移量,以根据所述偏移量对地磁传感器进行校准。
根据本发明的又一个实施方式,提供一种移动终端,所述移动终端包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述移动终端执行上述的地磁传感器校准方法。
根据本发明的再一个实施方式,提供一种计算机可读存储介质,其存储有上述的移动终端中所使用的所述计算机程序。
本公开的实施例提供的技术方案可以包括如下有益效果:
本发明中一种地磁传感器校准方法、移动终端及计算机可读存储介质,引入陀螺仪数据,通过陀螺仪数据辅助地磁数据对地磁传感器进行校准,减少对地磁数据量的依赖,进而提高校准精度及速度,减少校准动作。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对本发明保护范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1a-图1c示出了现有的地磁传感器校准结果的示意图。
图2示出了本发明第一实施例提供的一种地磁传感器校准方法的流程示意图。
图3示出了本发明第一实施例提供的一种偏移量计算方法的流程示意图。
图4示出了本发明第二实施例提供的一种地磁传感器校准方法的流程示意图。
图5示出了本发明第三实施例提供的一种地磁传感器校准方法的流程示意图。
图6示出了本发明第四实施例提供的一种地磁传感器校准装置的结构示意图。
图7示出了本发明实施例提供的一种移动终端的结构示意图。
主要元件符号说明:
600-地磁传感器校准装置;610-第一获取模块;620-第二获取模块;630-第一确定模块;640-第二确定模块;650-计算模块;
700-移动终端;710-地磁传感器;720-陀螺仪;730-存储器;740-处理器。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
图2示出了本发明第一实施例提供的一种地磁传感器校准方法的流程示意图。
该地磁传感器校准方法包括如下步骤:
在步骤S110中,获取第一时间的第一地磁数据及第二时间的第二地磁数据。
具体地,可通过地磁传感器采集包含磁场变化的地磁数据。
本实施例中,所述第一时间早于所述第二时间。对于地磁传感器所在的移动终端而言,所述第一时间对应于旋转前采集第一地磁数据的时间,第二时间对应于旋转后采集第二地磁数据的时间。
在步骤S120中,获取第一时间与第二时间之间的陀螺仪数据。
具体地,可通过陀螺仪采集包含旋转变化的陀螺仪数据,比如旋转时的欧拉角等。
值得注意的是,为了提高地磁传感器的校准精度,在陀螺仪所在移动终端发生旋转后,获取的陀螺仪数据的时间范围要和所述第一地磁数据及第二地磁数据的采集时间保持一致。换言之,对于一段旋转而言,陀螺仪数据对应的时间范围即为第一时间和第二时间之间的时间范围,这样可以根据与地磁数据同一时间范围的陀螺仪数据描述所述移动终端的实时旋转方向,进而确定移动终端在旋转期间的旋转矩阵,便于实时根据陀螺仪数据结合地磁数据对地磁传感器进行校准,提高校准精度。
在步骤S130中,根据陀螺仪数据确定旋转矩阵。
进一步地,所述“根据陀螺仪数据确定旋转矩阵”包括:
为所述旋转矩阵设初值;将所述陀螺仪数据在地磁场方向上取反后得到第一矩阵,并根据所述第一矩阵及所述初值计算第二矩阵,然后根据所述第二矩阵对所述旋转矩阵的值进行更新。
具体地,所述旋转矩阵描述了陀螺仪数据在一段旋转期间的旋转方向,将该旋转方向进行数据化后即为旋转矩阵。为了给所述的地磁传感器校准方法赋予一个入口,可先为旋转矩阵赋初值,比如,可以将所述旋转矩阵的初值设为单位矩阵。
由于地磁场的方向不变,当移动终端以某个欧拉角ω进行旋转时,从移动终端的角度来看,地磁场方向会沿着相反方向即-ω方向转动,所以,在获取到陀螺仪数据后,可首先将所述陀螺仪数据在原磁场方向上取反后得到第一矩阵,并将第一矩阵及初始的旋转矩阵相乘后得到第二矩阵,根据第二矩阵对旋转矩阵进行更新,将第二矩阵作为旋转矩阵的新值。
例如,设获取的陀螺仪数据,即旋转的欧拉角矩阵为G,旋转矩阵R的初始值为单位矩阵E,将矩阵G取反后得到第一矩阵Q1,那么:
第二矩阵Q2为:
Q2=Q1×R
更新后的旋转矩阵R为:
R=Q2
进一步地,若第一地磁数据与第二地磁数据之间的差值比较小(例如,所述第一地磁数据与第二地磁数据的矢量差的长度小于预定经验值,所述预定经验值可通过统计获得或用户经验获得),说明在获取第一地磁数据的第一时间与获取第二地磁数据的第二时间之间,所述地磁传感器所在的移动终端没有旋转或旋转方向很小,那么重新返回到步骤S110,继续执行步骤S110及后续步骤。若第一地磁数据与第二地磁数据之间的差值比较大(例如,所述第一地磁数据与第二地磁数据的矢量差的长度大于或等于预定经验值),前进至步骤S140。
在步骤S140中,根据第一地磁数据、第二地磁数据及旋转矩阵确定代价函数。
进一步地,所述“根据第一地磁数据、第二地磁数据及旋转矩阵确定代价函数”包括:
将所述偏移量作为自变量,根据所述自变量、所述第一地磁数据、所述第二地磁数据及所述旋转矩阵确定偏差函数;根据所述偏差函数确定代价函数。
具体地,将偏移量作为自变量,将偏差作为因变量,根据自变量、第一地磁数据及第二地磁数据构建关于偏移量的偏差函数,该偏差函数体现了实际采集的地磁数据与理想地磁数据的偏差程度。
根据该偏差函数为基础,构造代价函数,该代价函数可以更明显的强调上述的偏差程度,以更简单方便的根据该代价函数计算偏移量。
例如,对于移动终端的一段旋转而言,已知的信息包括采集的第一地磁数据U1、第二地磁数据U2及计算得到的旋转矩阵R。假设第一时间对应的第一理想地磁数据(即理想值)为M1,第二时间对应的第二理想地磁数据(即理想值)为M2,那么:
M2=R×M1 (1)
待求的参数为采集的实际地磁数据相对于理想地磁数据的偏移量Bias,那么:
联立公式(1)及公式(2),可得到第二理想地磁数据M2及预测值M'2:
在理想情况下,M2=M'2,但是由于U1、U2及R均存在噪声,所以导致M2和M'2之间会存在偏差diff(Bias),偏差函数为:
diff(Bias)=M'2-M2=R×(U1-Bias)+Bias-U2
因此,需要找到一个平衡点,使得偏差diff(Bias)的值最小,得到最小的偏差diff(Bias)的值对应的偏移量Bias。
为了便于找到最小的偏差diff(Bias)的值,可通过求偏导的方式进行计算,为了便于求偏导,本实施例中,定义损失函数为loss(Bias)偏差函数的长度的平方,将所述损失函数loss(Bias)作为代价函数cost(Bias)。
cost(Bias)=loss(Bias)=|diff(Bias)|2=|R×(U1-Bias)+Bias-U2|2
由上述的代价函数可知,所述代价函数为关于偏移量Bias的函数,在所述代价函数满足一定条件时,可计算出该代价函数对应的偏移量Bias。
在步骤S150中,根据最小的代价函数的函数值计算偏移量,以根据偏移量对地磁传感器进行校准。
进一步地,如图3示出了本发明第一实施例提供的一种偏移量计算方法的流程示意图。
该偏移量计算方法包括如下步骤:
在步骤S210中,定义初始的步长。
具体地,通过迭代的思想确定所述最小的代价函数的函数值,所述步长为一次迭代时对应的跨度,可直接决定迭代的次数。
本实施例中,可将步长Step的初始值设为0.1。在一些其他的实施例中,还可以根据实际需求为所述步长Step设置其他的初始值,例如0.2、0.3等。
在步骤S220中,计算代价函数的函数值及梯度向量。
cos t(x,y,z)=(r1,1(x1-x)+r1,2(y1-y)+r1,3(z1-z)+x-x2)2
+(r2,1(x1-x)+r2,2(y1-y)+r2,3(z1-z)+y-y2)2
+(r3,1(x1-x)+r3,2(y1-y)+r3,3(z1-z)+z-z2)2
分别对x,y,z求偏导:
在步骤S230中,根据步长、梯度向量及偏移量计算下一步的偏移量。
例如,下一步的偏移量Bias'=[x' y' z']T可通过下式进行计算:
在步骤S240中,根据下一步的偏移量计算下一步的代价函数的函数值。
例如,下一步的偏移量Bias'=[x' y' z']T对应的下一步的代价函数的函数值cost(x,y,z)'可通过下式进行计算:
在步骤S250中,判断是否满足预定条件。
进一步地,所述预定条件为偏移量计算方法的结束条件或收敛条件,所述所述预定条件包括:所述代价函数的梯度向量的模长小于预定模长阈值,或所述代价函数的函数值与所述下一步的代价函数的函数值的差的绝对值小于预定常量,或循环次数达到预定的循环阈值。
在所述代价函数的梯度向量或代价函数的函数值或循环次数(也可称为迭代次数)未达到预定条件时,前进至步骤S260;在所述代价函数的梯度向量或代价函数的函数值或循环次数(也可称为迭代次数)达到预定条件后,前进至步骤S270。
在步骤S260中,判断代价函数的函数值是否大于下一步的代价函数的函数值。
在上述步骤中计算的代价函数的函数值大于下一步的代价函数的函数值时,说明上述设置的步长有效,前进至步骤S280;否则,说明上述设置的步长太长,前进至步骤S290。
在步骤S270中,得到最小的代价函数的函数值对应的偏移量。
具体地,将满足预定条件的代价函数的函数值作为当前迭代期间的最小的代价函数的函数值,将该最小的代价函数的函数值代入代价函数中,确定对应的偏移量,根据该偏移量对地磁传感器进行校准。
在步骤S280中,根据下一步的代价函数的函数值更新代价函数的函数值,并增加步长。
具体地,在步长有效时,下一步的代价函数的函数值小于本次代价函数的函数值,即表示对应的理想地磁数据与预测值之间的偏差在减少,将损失时函数的值更新为所述下一次的代价函数的函数值,根据上一次迭代的代价函数的函数值作为负反馈重新进入新一次的迭代,可以得到比上一次更精确的偏移量,同时采用激励增大步长的值,返回至步骤S220继续进行迭代。
在步骤S290中,减少步长。
具体地,在步长无效时,下一步的代价函数的函数值大于本次代价函数的函数值,即表示对应的理想地磁数据与预测值之间的偏差在增大,说明步长设置过大,减少步长的值,返回至步骤S220继续进行迭代。
实施例2
图4示出了本发明第二实施例提供的一种地磁传感器校准方法的流程示意图。
该地磁传感器校准方法包括如下步骤:
在步骤S310中,获取第一时间的第一地磁数据及第二时间的第二地磁数据。
此步骤与步骤S110相同,在此不再赘述。
在步骤S320中,获取第一时间与第二时间之间的陀螺仪数据。
此步骤与步骤S120相同,在此不再赘述。
在步骤S330中,将任意的第一时间与第二时间之间的第一地磁数据、第二地磁数据及旋转矩阵作为一组采样数据存储至缓存区。
进一步地,还可以通过以下方式获取地磁数据及陀螺仪数据:
获取地磁数据及所述地磁数据对应的时间戳;
获取陀螺仪数据及所述陀螺仪数据对应的时间范围;
根据所述时间戳将落在所述时间范围内的所有地磁数据和该时间范围的陀螺仪数对应的旋转矩阵作为一组采样数据,在后续步骤进行执行时,均为对属于属于同一组的地磁数据及旋转矩阵进行操作。
例如,获取地磁数据D1、D2、D3、……,D1、D2、D3、……对应的时间戳依次为T1、T2、T3、……;获取陀螺仪数据N1、N2、……,该陀螺仪数据对应的时间范围为T1~T3、T4~T9、……。那么,可将D1、D2、D3及N1对应的旋转矩阵RN1作为一组采样数据,D2~D9及N2对应的旋转矩阵RN2作为一组采样数据,等等。
在步骤S340中,判断采样数据的组数是否超出预设阈值。
具体地,所述预设阈值可根据缓存区的存储能力而定。
由于采集的数据量比较大,在采样数据的组数是否超出预设阈值,即数据量超出缓存区的存储能力时,前进至步骤S350;否则,前进至步骤S360。
在步骤S350中,移除最早存储的采样数据,以使采样数据的组数不超出预设阈值。
具体地,在采样数据的组数超出预设阈值时,为了保证算法的实时性,可将缓存区内最早存储的至少一组采样数据移除,使缓存区内存储的采样数据的组数不超出预设阈值。
在步骤S360中,根据陀螺仪数据确定旋转矩阵。
此步骤与步骤S130相同,在此不再赘述。
在步骤S370中,将偏移量作为自变量,根据自变量及每一组采样数据确定相应偏差函数。
具体地,由于缓存区内具有多组采样数据,可根据步骤S140中的方式分别根据自变量及每一组采样数据确定该组采样数据对应的偏差函数。
在步骤S380中,根据偏差函数确定损失函数。
具体地,由于每一组采样数据均对应有偏差函数,可根据步骤S140中的方式分别确定每一组采样数据对应的损失函数,比如,可将损失函数定义为该组采样数据的偏差函数的长度的平方。
在步骤S390中,将缓存区内每一组采样数据对应的损失函数相加得到代价函数。
具体地,为了使代价函数更加客观,本实施例中,将代价函数定义为缓存区内所有采样数据的损失函数之和,根据该代价函数反映该缓存区内的至少一组采样数据的全局偏差趋势。
例如,代价函数cost(x,y,z)可通过下式计算:
其中,N为缓存区内存储的采样数据的组数,losti(x,y,z)为第i组采样数据对应的损失函数。
在步骤S400中,根据最小的代价函数的函数值计算偏移量,以根据偏移量对地磁传感器进行校准。
此步骤与步骤S150相同,在此不再赘述。
实施例3
图5示出了本发明第三实施例提供的一种地磁传感器校准方法的流程示意图。
该地磁传感器校准方法包括如下步骤:
在步骤S510中,获取第一时间的第一地磁数据及第二时间的第二地磁数据。
此步骤与步骤S110相同,在此不再赘述。
在步骤S520中,获取第一时间与第二时间之间的陀螺仪数据。
此步骤与步骤S120相同,在此不再赘述。
在步骤S530中,根据陀螺仪数据确定旋转矩阵。
此步骤与步骤S130相同,在此不再赘述。
在步骤S540中,根据第一地磁数据、第二地磁数据及旋转矩阵确定代价函数。
此步骤与步骤S140相同,在此不再赘述。
在步骤S550中,根据最小的代价函数的函数值计算偏移量,以根据偏移量对地磁传感器进行校准。
此步骤与步骤S150相同,在此不再赘述。
在步骤S560中,分别计算每一组采样数据中的地磁数据与校准后的地磁数据之间的误差。
具体地,根据计算得到的偏移量对缓存区内存储的采样数据进行校准后,计算每一组采样数据的地磁数据与校准后的地磁数据之间的偏差,该偏差反应了校准精度。
在地磁传感器收到干扰时,依据地磁数据及旋转矩阵得到的偏差loss(Bias)较大,因此将收到干扰时的采样数据筛选出来,可大大提高校准精度及速度。
在步骤S570中,根据缓存区内所有组的采样数据对应的误差确定误差阈值。
本实施例中,可将缓存区内所有组采样数据对应的误差求均值得到误差阈值,实时根据缓存区内的采样数据的变化动态地筛选出误差阈值,减轻由于固定阈值引起的大量丢弃可用采样数据的问题,提高校准精度及速度。
在步骤S580中,分别计算缓存区内每一组采样数据对应的误差与误差阈值的差值。
在步骤S590中,将超出预定范围的差值对应的采样数据移除。
具体地,将缓存区内每一组采样数据对应的误差与误差均值之间的差值与预定范围的差值进行对比,在预定误差范围的采样数据保留,将没有落入预定范围的采样数据移除,以筛选出异常的采样数据。
所述预定范围可根据统计数据进行拟合获得,还可以根据经验设定。
实施例4
图6示出了本发明第四实施例提供的一种地磁传感器校准装置的结构示意图。
所述地磁传感器校准装置600对应于实施例1的地磁传感器校准方法。实施例1中的任何可选项也适用于本实施例,这里不再详述。
所述地磁传感器校准装置600包括第一获取模块610、第二获取模块620第一确定模块630、第二确定模块640及计算模块650。
第一获取模块610,用于获取第一时间的第一地磁数据及第二时间的第二地磁数据。
第二获取模块620,用于获取所述第一时间与所述第二时间之间的陀螺仪数据。
第一确定模块630,用于根据所述陀螺仪数据确定旋转矩阵。
第二确定模块640,用于根据所述第一地磁数据、所述第二地磁数据及所述旋转矩阵确定代价函数。
计算模块650,用于根据最小的代价函数的函数值计算偏移量,以根据所述偏移量对地磁传感器进行校准。
本发明还提供了一种移动终端,该移动终端可以包括智能电话、平板电脑等。如图7示出了该移动终端的结构框图,该移动终端700包括:地磁传感器710、陀螺仪720、存储器730及处理器740。
所述地磁传感器710用于采集所述移动终端700产生的地磁数据。
所述陀螺仪720用于采集所述移动终端700产生的陀螺仪数据。
所述存储器730用于存储计算机程序。
具体地,存储器730可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如短信发送功能、声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如短信、音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
所述处理器740用于运行所述存储器730中所存储的计算机程序以使所述移动终端700执行上述的实施例中的地磁传感器校准方法或地磁传感器装置中各模块的功能。
具体地,处理器740是移动终端700的控制中心,利用各种接口和线路连接整个移动终端700的各个部分,通过运行或执行存储在存储器730内的软件程序和/或模块,以及调用存储在存储器730内的数据,从而使移动终端700执行上述地磁传感器校准方法或者上述地磁传感器校准装置中的各个模块的功能。可选的,处理器740可包括一个或多个处理单元;优选的,处理器740可集成应用处理器,应用处理器主要处理操作系统、用户界面和应用程序等。处理器740可以集成调制解调处理器,调制解调处理器也可以不集成到处理器740中。
另外,该移动终端700还可以包括:射频(Radio Frequency,RF)电路、输入单元、显示单元、拍摄单元、音频电路、无线保真(wireless fidelity,WiFi)模块以及电源等部件。输入单元可以包括触控面板并且可以包括其他输入设备,显示单元可以包括显示面板。
射频电路用于接收和发送无线信号,射频电路具体可由射频接收电路和射频发送电路两部分组成,射频电路主要包括天线、无线开关、接收滤波、频率合成器、高频放大、接收本振、混频、中频、发射本振、功放控制、功放等。
输入单元可用于接收输入的数字或字符信息,以及产生与移动终端700的用户设置以及功能控制有关的键信号输入。具体地,输入单元可包括触控面板以及其他输入设备。触控面板,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器740,并能接收处理器740发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板。除了触控面板,输入单元还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元可用于显示由用户输入的信息或提供给用户的信息以及移动终端700的各种菜单、界面,如游戏界面。显示单元可包括显示面板。可选的,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板。进一步的,触控面板可覆盖显示面板,当触控面板检测到在其上或附近的触摸操作后,传送给处理器740以确定触摸事件的类型,随后处理器740根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然触控面板与显示面板是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板与显示面板集成而实现手机的输入和输出功能。
拍摄单元用于采集成像范围内的图像信息。具体地,所述拍摄单元可为摄像头,所述摄像头可包括感光器件,所述感光器件可包括但不仅限于CCD(Charge Coupled Device,电荷耦合器件图像传感器)及CMOS(Complementary Metal-Oxide Semiconductor,互补性氧化金属半导体)。感光器件将光线变化信息转化为电荷,将转化的电荷通过模数变换转换成数字信号,数字信号经过压缩以后由拍摄单元内部的闪速存储器或内置硬盘卡保存,因而可以将保存的数字信号传输给处理器740,处理器740根据需求或指令对数字信号进行处理(比如显示图像、修改图像等)。
音频电路可提供用户与移动终端700之间的音频接口。
WiFi属于短距离无线传输技术,移动终端700通过无线保真模块(下述WiFi模块)可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。可以理解的是,WiFi模块并不属于移动终端700的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
电源可以通过电源管理系统与处理器740逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
本领域技术人员可以理解,图7中示出的移动终端700结构并不构成对移动终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本实施例还提供了一种计算机可读存储介质,用于储存上述移动终端中使用的所述计算机程序。
至此,本发明提供了一种地磁传感器校准方法、移动终端及计算机可读存储介质,引入陀螺仪数据,通过陀螺仪数据辅助地磁数据对地磁传感器进行校准,减少对地磁数据量的依赖,进而提高校准速度,减少校准动作;将异常数据移除,可以在外界干扰到来时快速筛选出有效的地磁数据和陀螺仪数据,提高校准精度;将前一次的校准结果作为下一次校准时的反馈,可以得到比前一次更准确的校准结果。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。
Claims (9)
1.一种地磁传感器校准方法,其特征在于,该方法包括:
获取第一时间的第一地磁数据及第二时间的第二地磁数据;
获取所述第一时间与所述第二时间之间的陀螺仪数据;
根据所述陀螺仪数据确定旋转矩阵;
根据所述第一地磁数据、所述第二地磁数据及所述旋转矩阵确定代价函数;
根据最小的代价函数的函数值计算偏移量,以根据所述偏移量对地磁传感器进行校准;
其中,所述根据最小的代价函数的函数值计算偏移量包括:
定义初始的步长;
计算所述代价函数的函数值及梯度向量;
根据所述步长、所述梯度向量及所述偏移量计算下一步的偏移量;
根据所述下一步的偏移量计算下一步的代价函数的函数值;
将所述代价函数的函数值与所述下一步的代价函数的函数值进行对比;
若所述代价函数的函数值小于所述下一步的代价函数的函数值,减小所述步长;
若所述代价函数的函数值大于所述下一步的代价函数的函数值,根据所述下一步的代价函数的函数值更新所述代价函数的函数值,并增大所述步长;
在所述步长发生变化后,重新执行步骤“计算所述代价函数的函数值及梯度向量”及后续步骤,直至满足预定条件后结束循环,得到最小的代价函数的函数值对应的偏移量。
2.根据权利要求1所述的地磁传感器校准方法,其特征在于,所述“根据所述陀螺仪数据确定旋转矩阵”包括:
为所述旋转矩阵设初值;
将所述陀螺仪数据在地磁场方向上取反后得到第一矩阵,并根据所述第一矩阵及所述初值计算第二矩阵,然后根据所述第二矩阵对所述旋转矩阵中的值进行更新。
3.根据权利要求1所述的地磁传感器校准方法,其特征在于,所述“根据所述第一地磁数据、所述第二地磁数据及所述旋转矩阵确定代价函数”包括:
将所述偏移量作为自变量,根据所述自变量、所述第一地磁数据、所述第二地磁数据及所述旋转矩阵确定偏差函数;
根据所述偏差函数确定代价函数。
4.根据权利要求1所述的地磁传感器校准方法,其特征在于,所述“获取所述第一时间与所述第二时间之间的陀螺仪数据”之后还包括:
将任意的第一时间与第二时间之间的所述第一地磁数据、所述第二地磁数据及所述旋转矩阵作为一组采样数据存储至缓存区;
判断所述采样数据的组数是否超出预设阈值;
若所述采样数据的组数超出所述预设阈值,移除最早存储的采样数据,以使所述采样数据的组数不超出所述预设阈值。
5.根据权利要求4所述的地磁传感器校准方法,其特征在于,所述“根据所述第一地磁数据、所述第二地磁数据及所述旋转矩阵确定代价函数”包括:
将所述偏移量作为自变量,根据所述自变量及每一组所述采样数据确定相应的偏差函数;
根据所述偏差函数确定损失函数;
将所述缓存区内的每一组采样数据对应的损失函数相加得到所述代价函数。
6.根据权利要求1所述的地磁传感器校准方法,其特征在于,所述预定条件包括:所述代价函数的梯度向量的模长小于预定模长阈值,或所述代价函数的函数值与所述下一步的代价函数的函数值的差的绝对值小于预定常量,或循环次数达到预定的循环阈值。
7.根据权利要求4所述的地磁传感器校准方法,其特征在于,在根据所述偏移量对地磁传感器进行校准后,还包括:
分别计算每一组采样数据中的地磁数据与校准后的地磁数据之间的误差;
根据所述缓存区内所有组的采样数据对应的误差确定误差阈值;
分别计算所述缓存区内每一组采样数据对应的误差与所述误差阈值的差值;
将超出预定范围的差值对应的采样数据移除。
8.一种移动终端,其特征在于,所述移动终端包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述移动终端执行权利要求1至7任一项所述的地磁传感器校准方法。
9.一种计算机可读存储介质,其特征在于,其储存有权利要求8所述移动终端中所用的所述计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910362673.4A CN110068875B (zh) | 2019-04-30 | 2019-04-30 | 地磁传感器校准方法、移动终端及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910362673.4A CN110068875B (zh) | 2019-04-30 | 2019-04-30 | 地磁传感器校准方法、移动终端及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110068875A CN110068875A (zh) | 2019-07-30 |
CN110068875B true CN110068875B (zh) | 2021-06-08 |
Family
ID=67370108
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910362673.4A Active CN110068875B (zh) | 2019-04-30 | 2019-04-30 | 地磁传感器校准方法、移动终端及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110068875B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111174807B (zh) * | 2019-10-11 | 2022-05-27 | 广东小天才科技有限公司 | 一种自动校准地磁传感器的方法及智能手表 |
CN111651441B (zh) * | 2020-05-11 | 2023-05-09 | 北京小米移动软件有限公司 | 数据处理方法及装置、计算机存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013084827A1 (ja) * | 2011-12-05 | 2013-06-13 | 株式会社日立製作所 | 移動経路推定システム、移動経路推定装置及び移動経路推定方法 |
JP2014219340A (ja) * | 2013-05-10 | 2014-11-20 | セイコーエプソン株式会社 | オフセット補正方法及びオフセット補正装置 |
CN106033131A (zh) * | 2015-03-20 | 2016-10-19 | 阿里巴巴集团控股有限公司 | 一种地磁传感器校准方法、装置及智能设备 |
CN107065035A (zh) * | 2017-04-21 | 2017-08-18 | 维沃移动通信有限公司 | 一种地磁传感器校准装置、方法及移动终端 |
CN107238383A (zh) * | 2016-03-29 | 2017-10-10 | 深圳市蓝魔数码科技有限公司 | 智能终端的地磁测量数据校准方法和智能终端 |
CN108981693A (zh) * | 2018-03-22 | 2018-12-11 | 东南大学 | 基于单目相机的vio快速联合初始化方法 |
-
2019
- 2019-04-30 CN CN201910362673.4A patent/CN110068875B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013084827A1 (ja) * | 2011-12-05 | 2013-06-13 | 株式会社日立製作所 | 移動経路推定システム、移動経路推定装置及び移動経路推定方法 |
JP2014219340A (ja) * | 2013-05-10 | 2014-11-20 | セイコーエプソン株式会社 | オフセット補正方法及びオフセット補正装置 |
CN106033131A (zh) * | 2015-03-20 | 2016-10-19 | 阿里巴巴集团控股有限公司 | 一种地磁传感器校准方法、装置及智能设备 |
CN107238383A (zh) * | 2016-03-29 | 2017-10-10 | 深圳市蓝魔数码科技有限公司 | 智能终端的地磁测量数据校准方法和智能终端 |
CN107065035A (zh) * | 2017-04-21 | 2017-08-18 | 维沃移动通信有限公司 | 一种地磁传感器校准装置、方法及移动终端 |
CN108981693A (zh) * | 2018-03-22 | 2018-12-11 | 东南大学 | 基于单目相机的vio快速联合初始化方法 |
Non-Patent Citations (2)
Title |
---|
三轴地磁传感器的误差校准算法;马迎辉 等;《弹箭与制导学报》;20131031;第33卷(第5期);第59-62页 * |
基于最小二乘法的磁力计误差补偿与校准;刘宇 等;《导航定位与授时》;20180131;第5卷(第1期);第17-21页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110068875A (zh) | 2019-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108876739B (zh) | 一种图像补偿方法、电子设备及计算机可读存储介质 | |
CN109348125B (zh) | 视频校正方法、装置、电子设备和计算机可读存储介质 | |
WO2017113381A1 (zh) | 一种确定校准参数方法和移动设备 | |
EP3627823B1 (en) | Image selection method and related product | |
CN110068875B (zh) | 地磁传感器校准方法、移动终端及计算机可读存储介质 | |
JP4120648B2 (ja) | 携帯端末、携帯端末の制御方法、プログラムおよび記録媒体 | |
EP2846135A2 (en) | Portable Electronic Device with Environmental Sensor | |
WO2018219170A1 (zh) | 控制对焦的方法、计算机设备及计算机可读存储介质 | |
WO2018018698A1 (zh) | 一种增强现实ar的信息处理方法、装置及系统 | |
CN104954631A (zh) | 一种视频处理方法、装置和系统 | |
US20190257887A1 (en) | Method and device for ascertaining required charging time | |
CN110837343B (zh) | 处理快照的方法、装置及终端 | |
US11265639B2 (en) | Method for earbud switching, wearable device, and storage medium | |
CN107330867B (zh) | 图像合成方法、装置、计算机可读存储介质和计算机设备 | |
CN110456923B (zh) | 一种姿态传感数据处理方法及电子设备 | |
CN111582432B (zh) | 一种网络参数处理方法及装置 | |
CN109302563B (zh) | 防抖处理方法、装置、存储介质及移动终端 | |
CN106851050B (zh) | 运动检测方法和装置、移动设备 | |
CN106679691B (zh) | 一种计步器数据的调整方法、装置及移动终端 | |
CN112902988A (zh) | 参数标定方法、装置、终端和存储介质 | |
CN108600634B (zh) | 图像处理方法和装置、存储介质、电子设备 | |
CN108769529B (zh) | 一种图像校正方法、电子设备及计算机可读存储介质 | |
US20220245447A1 (en) | Systems and methods for quantization aware training of a neural network for heterogeneous hardware platform | |
CN110706158B (zh) | 图像处理方法、图像处理装置及终端设备 | |
WO2018232613A1 (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |