指向方位确定方法、装置、存储介质及电子设备与流程

文档序号:21187289发布日期:2020-06-20 18:13阅读:158来源:国知局
指向方位确定方法、装置、存储介质及电子设备与流程

本申请涉及计算机技术领域,尤其涉及一种指向方位确定方法、装置、存储介质及电子设备。



背景技术:

电子指南针,又称作电子罗盘,是终端的一个常用功能。当用户需要确定南北方位时,终端指南针即可提供帮助。由于电子指南针的应用频率高、应用场景广泛,也常作为终端系统的内置应用。

现有电子指南针是通过内置的磁力传感器获得磁场数据,再进行磁场匹配后完成方位计算。在周围环境有磁性物质或大电流时,例如车辆发动机、发电站、架空输电线、电线杆、电动机械、家用电器以及工业、医用射频设备等,都会产生磁场干扰,这些磁场干扰环境皆会影响电子指南针的准确性,甚至直接输出错误的南北指向结果。



技术实现要素:

本申请实施例提供了一种指向方位确定方法、装置、存储介质及电子设备,所采集的角速度不易受环境中磁场干扰的影响,提高了指向方位计算的准确度。所述技术方案如下:

第一方面,本申请实施例提供了一种指向方位确定方法,所述方法包括:

获取终端水平放置时陀螺仪采集的三个轴向的角速度,并获取终端的当前地理位置;

基于所述三个轴向的角速度、地球自转角速度以及所述当前地理位置,计算方位角度;

基于所述方位角度以及所述三个轴向的角速度的符号,确定所述终端的当前指向方位。

第二方面,本申请实施例提供了一种指向方位确定装置,所述装置包括:

参数获取模块,用于获取终端水平放置时陀螺仪采集的三个轴向的角速度,并获取终端的当前地理位置;

角度计算模块,用于基于所述三个轴向的角速度、地球自转角速度以及所述当前地理位置,计算方位角度;

方位确定模块,用于基于所述方位角度以及所述三个轴向的角速度的符号,确定所述终端的当前指向方位。

第三方面,本申请实施例提供一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行上述的方法步骤。

第四方面,本申请实施例提供一种电子设备,可包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行上述的方法步骤。

本申请一些实施例提供的技术方案带来的有益效果至少包括:

在本申请实施例中,通过获取终端水平放置时陀螺仪采集的三个轴向的角速度,并获取终端的当前地理位置,再基于所述三个轴向的角速度、地球自转角速度以及所述当前地理位置,计算方位角度,然后根据所述方位角度以及所述三个轴向的角速度的符号,确定所述终端的当前指向方位。所采集的角速度不易受环境中磁场干扰的影响,提高了指向方位计算的准确度。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的一种指向方位确定方法的流程示意图;

图2是本申请实施例提供的一种终端水平放置时三个轴向的举例示意图;

图3是本申请实施例提供的另一种指向方位确定方法的流程示意图;

图4是本申请实施例提供的一种终端放置时平整度显示界面的举例示意图;

图5是本申请实施例提供的另一种终端放置时平整度显示界面的举例示意图;

图6是本申请实施例提供的一种地球自转时水平分量的显示效果的举例示意图;

图7是本申请实施例提供的一种地球自转水平分量与终端各轴向角速度的关系示意图;

图8是本申请实施例提供的一种终端的指向方位的举例示意图;

图9是本申请实施例提供的一种终端指向方位界面的举例示意图;

图10是本申请实施例提供的一种指向方位确定装置的结构示意图;

图11是本申请实施例提供的一种参数获取模块的结构示意图;

图12是本申请实施例提供的一种角度计算模块的结构示意图;

图13是本申请实施例提供的另一种指向方位确定装置的结构示意图;

图14是本申请实施例提供的一种电子设备的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本申请的描述中,需要说明的是,除非另有明确的规定和限定,“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。

下面结合具体的实施例对本申请进行详细说明。

在一个实施例中,如图1所示,特提出了一种指向方位确定方法,该方法可依赖于计算机程序实现,可运行于基于冯诺依曼体系的指向方位确定装置上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行。所述指向方位确定装置可以为电子设备,包括但不限于:可穿戴设备、手持设备、个人电脑、平板电脑、车载设备、智能手机、计算设备或连接到无线调制解调器的其它处理设备等。在不同的网络中电子设备可以叫做不同的名称,例如:用户设备、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置、蜂窝电话、无绳电话、个人数字处理(personaldigitalassistant,pda)、5g网络或未来演进网络中的电子设备等。

具体的,该指向方位确定方法包括:

s101,获取终端水平放置时陀螺仪采集的三个轴向的角速度,并获取终端的当前地理位置;

三个轴向是指终端在水平放置时,沿着终端的长宽高的三个方向。如图2所示,在手机水平放置并保持静止状态下,沿着手机平面左右方向为x轴向,沿着手机平面上下方向为y轴向,垂直手机平面的方向为z轴向。

陀螺仪是用高速回转体的动量矩敏感壳体相对惯性空间绕正交于自转轴的一个或二个轴的角运动检测装置。当然,利用其他原理制成的角运动检测装置起同样功能的也称陀螺仪。其特点是旋转的时候非常稳定,转轴不容易改变方向。

在终端内置陀螺仪,可以理解为每个轴向对应一陀螺仪,用于采集终端x轴、y轴以及z轴的角速度。

地理位置即为终端所处位置的纬度以及经度。获取当前地理位置的方式可以为采用gps定位方式,即直接开启gps功能进行定位;接收信号塔数据的方式,即当终端的gps芯片不能接收到gps信号时,就需要与它所连接的信号塔通讯,从而估算终端与信号塔之间的距离以不断报告终端的地理位置;wifi连接的方式,由于wifi的地址与gps坐标是一一对应的,当终端连接wifi后,就可获取到wifi的地址,进而可以确定gps坐标;当然,地理位置也可以通过与数据连接有关的ip地址来获得;此外,当用户注册电子邮件或移动应用和服务时,通常需要输入自己的地理位置和邮政编码,通过这些数据可以确定当前地理位置。

s102,基于所述三个轴向的角速度、地球自转角速度以及所述当前地理位置,计算方位角度;

地球自转角速度,是由于地球本体绕通过其质心的旋转轴自西向东旋转而出现的,其角速度大小为ωe,方向沿着旋转轴指向北极。地球自转角速度ωe在水平面上的水平分量大小为ωe与当前地理位置中纬度的余弦的乘积,方向指向地理北。

当终端被水平放置或水平手持时,陀螺仪的z轴角速度测量值为0,且x轴向角速度的平方和y轴向角速度的平方和的平方根与地球自转角速度的水平分量相等。

因此,将x轴向的角速度与所述水平分量的商作为方位角度的余弦,将y轴向的角速度与所述水平分量的商作为所述方位角度的正弦,结合两者可计算所述方位角度。

s103,基于所述方位角度以及所述三个轴向的角速度的符号,确定所述终端的当前指向方位。

上述s102中仅计算出方位角度的大小,还需要确定具体方位。

因此,根据x轴向角速度和y轴向角速度,进一步确定指向方位。具体的,当x轴向的角速度大于0且y轴向的角速度大于0时,确定所述终端的当前指向方位为所述方位角度对应的第一方位;当x轴向的角速度大于0且y轴向的角速度小于0时,确定所述终端的当前指向方位为所述方位角度对应的第二方位;当x轴向的角速度小于0且y轴向的角速度大于0时,确定所述终端的当前指向方位为所述方位角度对应的第三方位;当x轴向的角速度小于0且y轴向的角速度小于0时,确定所述终端的当前指向方位为所述方位角度对应的第四方位。

在本申请实施例中,通过获取终端水平放置时陀螺仪采集的三个轴向的角速度,并获取终端的当前地理位置,再基于所述三个轴向的角速度、地球自转角速度以及所述当前地理位置,计算方位角度,然后根据所述方位角度以及所述三个轴向的角速度的符号,确定所述终端的当前指向方位。所采集的角速度不易受环境中磁场干扰的影响,提高了指向方位计算的准确度。

请参见图3,图3是本申请提出的一种指向方位确定方法的另一种实施例的流程示意图。具体的:

s201,在预设时长内终端水平放置时,获取陀螺仪采集的三个轴向上每个轴向的至少一个角速度;

三个轴向是指终端在水平放置时,沿着终端的长宽高的三个方向,即x轴向、y轴向、z轴向。

将终端平行于地面水平放置或水平手持,保持该姿势,静止预设时长(如30秒)。终端内置的陀螺仪传感器自动采集这段静止时长内三个方向的多个角速度值,如x轴向的多个角速度为ωx1、ωx2、ωx3、ωx4、ωx5,y轴向的多个角速度为ωy1、ωy2、ωy3、ωy4、ωy5,以及z轴向的多个角速度为ωz1、ωz2、ωz3、ωz4、ωz5。

其中,终端是否放置水平,可通过检测放置平整度识别。例如,当检测到平整度显示结果如图4所示时,表明未放置水平,则需要用户调整,直到显示结果如图5所示。

s202,计算所述每个轴向的至少一个角速度的平均值,将所述每个轴向的至少一个角速度的平均值作为所述每个轴向的角速度;

分别对每个轴向的角速度取平均,得到在x,y,z三个方向的角速度ωx=(ωx1+…+ωx5)/5,ωy=(ωy1+…+ωy5)/5,ωz=(ωz1+…+ωz5)/5。

s203,获取终端的当前地理位置,所述当前地理位置包括当前位置纬度;

获取当前地理位置的方式具体参见s101,此处不再赘述。

在本申请实施例中,假设(lb,λb)为终端的当前地理位置,lb是当地纬度,λb是当地经度。

s204,将地球自转角速度以及所述当前位置纬度的余弦的乘积作为所述地球自转角速度的水平分量;

地球自转角速度,是由于地球本体绕通过其质心的旋转轴自西向东旋转而出现的,其角速度大小为ωe=15deg/h,方向沿着旋转轴指向北极。地球自转角速度ωe在水平面上的水平分量大小为ωe*coslb,方向指向地理北,如图6所示。

s205,所述三个轴向中包括x轴向和y轴向,将x轴向的角速度与所述水平分量的商作为方位角度的余弦,将y轴向的角速度与所述水平分量的商作为所述方位角度的正弦;

当终端被水平放置或水平手持时,如图7所示,假设方位角度为a,陀螺仪的z轴角速度测量值ωz=0,x和y轴测量值满足因此,ωx=ωe*coslb*cosa,ωy=ωe*coslb*sina。

s206,基于所述方位角度的余弦以及所述方位角度的正弦,计算所述方位角度;

根据上述公式计算可得方位角度a=arctan(|ωy/ωx|)。

s207,基于所述方位角度以及所述三个轴向的角速度的符号,确定所述终端的当前指向方位;

若ωx>0且ωy>0,则当前指向方位为北偏东a度;若ωx>0且ωy<0,则当前指向方位为北偏西a度;若ωx<0且ωy>0,则当前指向方位为南偏东a度;若ωx<0且ωy<0,则当前指向方位为南偏西a度,如图8所示。

s208,在指定界面上显示所述当前指向方位。

所述指定界面可以为指南针应用界面或其他数字显示应用界面。

在该指定界面上显示上述确定的具体指向方位。如图9所示为一种具体的显示方式,可以在界面上方显示数字,界面下方以表盘形式显示该方位。

在本申请实施例中,通过计算陀螺仪采集的终端水平放置时三个轴向的多个角速度后计算平均值,并获取终端的当前地理位置,再基于所述三个轴向的角速度、地球自转角速度以及所述当前地理位置,计算方位角度,然后根据所述方位角度以及所述三个轴向的角速度的符号,确定所述终端的当前指向方位。所采集的角速度不易受环境中磁场干扰的影响,提高了指向方位计算的准确度。此外,所计算的各轴向的角速度为一段时间内角速度的平均值,可以进一步提高计算精度。另外,通过软件的方式即可实现,使用前不需要进行指南针校准,降低了用户的使用复杂性。

下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。

请参见图10,其示出了本申请一个示例性实施例提供的指向方位确定装置的结构示意图。该指向方位确定装置可以通过软件、硬件或者两者的结合实现成为装置的全部或一部分。该装置1包括参数获取模块10、角度计算模块20和方位确定模块30。

参数获取模块10,用于获取终端水平放置时陀螺仪采集的三个轴向的角速度,并获取终端的当前地理位置;

角度计算模块20,用于基于所述三个轴向的角速度、地球自转角速度以及所述当前地理位置,计算方位角度;

方位确定模块30,用于基于所述方位角度以及所述三个轴向的角速度的符号,确定所述终端的当前指向方位。

可选的,如图11所示,所述参数获取模块10,包括:

角速度采集单元101,用于在预设时长内终端水平放置时,获取陀螺仪采集的三个轴向上每个轴向的至少一个角速度;

角速度计算单元102,用于计算所述每个轴向的至少一个角速度的平均值,将所述每个轴向的至少一个角速度的平均值作为所述每个轴向的角速度。

可选的,如图12所示,所述角度计算模块20,包括:

分量计算单元201,用于基于地球自转角速度以及所述当前地理位置,计算所述地球自转角速度的水平分量;

商值计算单元202,用于将x轴向的角速度与所述水平分量的商作为方位角度的余弦,将y轴向的角速度与所述水平分量的商作为所述方位角度的正弦;

角度计算单元203,用于基于所述方位角度的余弦以及所述方位角度的正弦,计算所述方位角度。

可选的,所述当前地理位置包括当前位置纬度,所述分量计算单元201,具体用于:

将地球自转角速度以及所述当前位置纬度的余弦的乘积作为所述地球自转角速度的水平分量。

可选的,所述方位确定模块30,具体用于:

当x轴向的角速度大于0且y轴向的角速度大于0时,确定所述终端的当前指向方位为所述方位角度对应的第一方位;

当x轴向的角速度大于0且y轴向的角速度小于0时,确定所述终端的当前指向方位为所述方位角度对应的第二方位;

当x轴向的角速度小于0且y轴向的角速度大于0时,确定所述终端的当前指向方位为所述方位角度对应的第三方位;

当x轴向的角速度小于0且y轴向的角速度小于0时,确定所述终端的当前指向方位为所述方位角度对应的第四方位。

可选的,如图13所示,所述装置还包括:

方位显示模块40,用于在指定界面上显示所述当前指向方位。

需要说明的是,上述实施例提供的指向方位确定装置在执行指向方位确定方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的指向方位确定装置与指向方位确定方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。

上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

在本申请实施例中,通过计算陀螺仪采集的终端水平放置时三个轴向的多个角速度后计算平均值,并获取终端的当前地理位置,再基于所述三个轴向的角速度、地球自转角速度以及所述当前地理位置,计算方位角度,然后根据所述方位角度以及所述三个轴向的角速度的符号,确定所述终端的当前指向方位。所采集的角速度不易受环境中磁场干扰的影响,提高了指向方位计算的准确度。此外,所计算的各轴向的角速度为一段时间内角速度的平均值,可以进一步提高计算精度。另外,通过软件的方式即可实现,使用前不需要进行指南针校准,降低了用户的使用复杂性。

本申请实施例还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令,所述指令适于由处理器加载并执行如上述图1-图9所示实施例的所述指向方位确定方法,具体执行过程可以参见图1-图9所示实施例的具体说明,在此不进行赘述。

本申请还提供了一种计算机程序产品,该计算机程序产品存储有至少一条指令,所述至少一条指令由所述处理器加载并执行如上述图1-图9所示实施例的所述多频热点开启方法,具体执行过程可以参见图1-图9所示实施例的具体说明,在此不进行赘述。

请参见图14,为本申请实施例提供了一种电子设备的结构示意图。如图14所示,所述电子设备1000可以包括:至少一个处理器1001,至少一个网络接口1004,用户接口1003,存储器1005,至少一个通信总线1002。

其中,通信总线1002用于实现这些组件之间的连接通信。

其中,用户接口1003可以包括显示屏(display)、摄像头(camera),可选用户接口1003还可以包括标准的有线接口、无线接口。

其中,网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。

其中,处理器1001可以包括一个或者多个处理核心。处理器1001利用各种借口和线路连接整个服务器1000内的各个部分,通过运行或执行存储在存储器1005内的指令、程序、代码集或指令集,以及调用存储在存储器1005内的数据,执行服务器1000的各种功能和处理数据。可选的,处理器1001可以采用数字信号处理(digitalsignalprocessing,dsp)、现场可编程门阵列(field-programmablegatearray,fpga)、可编程逻辑阵列(programmablelogicarray,pla)中的至少一种硬件形式来实现。处理器1001可集成中央处理器(centralprocessingunit,cpu)、图像处理器(graphicsprocessingunit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器1001中,单独通过一块芯片进行实现。

其中,存储器1005可以包括随机存储器(randomaccessmemory,ram),也可以包括只读存储器(read-onlymemory)。可选的,该存储器1005包括非瞬时性计算机可读介质(non-transitorycomputer-readablestoragemedium)。存储器1005可用于存储指令、程序、代码、代码集或指令集。存储器1005可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图14所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及指向方位确定应用程序。

在图14所示的电子设备1000中,用户接口1003主要用于为用户提供输入的接口,获取用户输入的数据;而处理器1001可以用于调用存储器1005中存储的指向方位确定应用程序,并具体执行以下操作:

获取终端水平放置时陀螺仪采集的三个轴向的角速度,并获取终端的当前地理位置;

基于所述三个轴向的角速度、地球自转角速度以及所述当前地理位置,计算方位角度;

基于所述方位角度以及所述三个轴向的角速度的符号,确定所述终端的当前指向方位。

在一个实施例中,所述处理器1001在执行获取陀螺仪采集的三个轴向的角速度时,具体执行以下操作:

在预设时长内终端水平放置时,获取陀螺仪采集的三个轴向上每个轴向的至少一个角速度;

计算所述每个轴向的至少一个角速度的平均值,将所述每个轴向的至少一个角速度的平均值作为所述每个轴向的角速度。

在一个实施例中,所述三个轴向中包括x轴向和y轴向,所述处理器1001在执行基于所述三个轴向的角速度、地球自转角速度以及所述当前地理位置,计算方位角度时,具体执行以下操作:

基于地球自转角速度以及所述当前地理位置,计算所述地球自转角速度的水平分量;

将x轴向的角速度与所述水平分量的商作为方位角度的余弦,将y轴向的角速度与所述水平分量的商作为所述方位角度的正弦;

基于所述方位角度的余弦以及所述方位角度的正弦,计算所述方位角度。

在一个实施例中,所述当前地理位置包括当前位置纬度,所述处理器1001在执行基于地球自转角速度以及所述当前地理位置,计算所述地球自转角速度的水平分量时,具体执行以下步骤:

将地球自转角速度以及所述当前位置纬度的余弦的乘积作为所述地球自转角速度的水平分量。

在一个实施例中,所述处理器1001在执行基于所述方位角度以及所述三个轴向的角速度的符号,确定所述终端的当前指向方位时,具体执行以下步骤:

当x轴向的角速度大于0且y轴向的角速度大于0时,确定所述终端的当前指向方位为所述方位角度对应的第一方位;

当x轴向的角速度大于0且y轴向的角速度小于0时,确定所述终端的当前指向方位为所述方位角度对应的第二方位;

当x轴向的角速度小于0且y轴向的角速度大于0时,确定所述终端的当前指向方位为所述方位角度对应的第三方位;

当x轴向的角速度小于0且y轴向的角速度小于0时,确定所述终端的当前指向方位为所述方位角度对应的第四方位。

在一个实施例中,所述处理器1001在执行基于所述方位角度以及所述三个轴向的角速度的符号,确定所述终端的当前指向方位之后,还执行以下步骤:

在指定界面上显示所述当前指向方位。

在本申请实施例中,通过计算陀螺仪采集的终端水平放置时三个轴向的多个角速度后计算平均值,并获取终端的当前地理位置,再基于所述三个轴向的角速度、地球自转角速度以及所述当前地理位置,计算方位角度,然后根据所述方位角度以及所述三个轴向的角速度的符号,确定所述终端的当前指向方位。所采集的角速度不易受环境中磁场干扰的影响,提高了指向方位计算的准确度。此外,所计算的各轴向的角速度为一段时间内角速度的平均值,可以进一步提高计算精度。另外,通过软件的方式即可实现,使用前不需要进行指南针校准,降低了用户的使用复杂性。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体或随机存储记忆体等。

以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

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