CN117091596A - 一种姿态信息获取方法以及相关设备 - Google Patents
一种姿态信息获取方法以及相关设备 Download PDFInfo
- Publication number
- CN117091596A CN117091596A CN202311295909.XA CN202311295909A CN117091596A CN 117091596 A CN117091596 A CN 117091596A CN 202311295909 A CN202311295909 A CN 202311295909A CN 117091596 A CN117091596 A CN 117091596A
- Authority
- CN
- China
- Prior art keywords
- current
- angle
- time point
- terminal equipment
- information
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000005259 measurement Methods 0.000 claims abstract description 137
- 238000005096 rolling process Methods 0.000 claims abstract description 55
- 230000001953 sensory effect Effects 0.000 claims description 2
- 239000011159 matrix material Substances 0.000 description 53
- 230000006870 function Effects 0.000 description 11
- 238000004590 computer program Methods 0.000 description 9
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000003993 interaction Effects 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
- G01C1/00—Measuring angles
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Navigation (AREA)
Abstract
本申请公开了一种姿态信息获取方法以及相关设备,本申请实施例可以应用于地图领域。可以获取终端设备上安装的惯性传感器在当前时间点输出的当前惯性传感测量信息;基于当前惯性传感测量信息,确定终端设备在当前时间点的当前俯仰角度;当检测到当前俯仰角度处于预设角度阈值范围内时,基于当前惯性传感测量信息确定终端设备在当前时间点的当前角度关系信息,当前角度关系信息与终端设备在当前时间点的当前航向角度和当前横滚角度相关;基于当前角度关系信息、以及终端设备在当前时间点的上一时间点所得历史航向角度或者历史横滚角度,确定当前航向角度和当前横滚角度。本申请可以提升获取终端设备姿态信息的准确性。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种姿态信息获取方法以及相关设备。
背景技术
随着导航应用的发展,许多应用场景需要导航系统提供准确的姿态信息。现有技术是通过姿态旋转矩阵来计算终端设备的姿态角,但是当终端设备的俯仰角在接近90度或者-90度时,利用现有技术计算得到的横滚角和航向角数值会存在剧烈波动,导致无法准确的输出终端设备的姿态信息。
发明内容
本申请实施例提供一种姿态信息获取方法以及相关设备,相关设备可以包括姿态信息获取装置、电子设备、计算机可读存储介质和计算机程序产品,可以提升获取终端设备姿态信息的准确性。
本申请实施例提供一种姿态信息获取方法,包括:
获取终端设备上安装的惯性传感器在当前时间点输出的当前惯性传感测量信息;
基于所述当前惯性传感测量信息,确定所述终端设备在所述当前时间点的当前俯仰角度;
当检测到所述当前俯仰角度处于预设角度阈值范围内时,基于所述当前惯性传感测量信息确定所述终端设备在所述当前时间点的当前角度关系信息,所述当前角度关系信息与所述终端设备在所述当前时间点的当前航向角度和当前横滚角度相关;
基于所述当前角度关系信息、以及所述终端设备在所述当前时间点的上一时间点所得历史航向角度或者历史横滚角度,确定所述当前航向角度和所述当前横滚角度。
相应的,本申请实施例提供一种姿态信息获取装置,包括:
获取单元,用于获取终端设备上安装的惯性传感器在当前时间点输出的当前惯性传感测量信息;
第一确定单元,用于基于所述当前惯性传感测量信息,确定所述终端设备在所述当前时间点的当前俯仰角度;
第二确定单元,用于当检测到所述当前俯仰角度处于预设角度阈值范围内时,基于所述当前惯性传感测量信息确定所述终端设备在所述当前时间点的当前角度关系信息,所述当前角度关系信息与所述终端设备在所述当前时间点的当前航向角度和当前横滚角度相关;
第三确定单元,用于基于所述当前角度关系信息、以及所述终端设备在所述当前时间点的上一时间点所得历史航向角度或者历史横滚角度,确定所述当前航向角度和所述当前横滚角度。
可选的,在本申请的一些实施例中,所述姿态信息获取装置还可以包括初始对准单元,如下:
初始对准单元,用于对所述终端设备进行初始对准,得到初始惯性传感测量信息、以及所述终端设备在初始对准时间点的初始航向角度、初始横滚角度、以及初始俯仰角度。
可选的,在本申请的一些实施例中,所述姿态信息获取装置还可以包括第四确定单元,如下:
第四确定单元,用于当检测到所述当前俯仰角度未处于所述预设角度阈值范围内时,基于所述当前惯性传感测量信息确定所述终端设备在所述当前时间点的当前航向角度和当前横滚角度。
可选的,在本申请的一些实施例中,所述第二确定单元可以包括具体角度阈值范围确定子单元、以及当前角度关系信息确定子单元,如下:
具体角度阈值范围确定子单元,用于当检测到所述当前俯仰角度处于预设角度阈值范围内时,确定所述当前俯仰角度所处的具体角度阈值范围;
当前角度关系信息确定子单元,用于基于所述具体角度阈值范围,在所述当前惯性传感测量信息中确定所述终端设备在所述当前时间点的当前角度关系信息。
可选的,在本申请的一些实施例中,所述当前角度关系信息确定子单元可以具体用于当确定所述当前俯仰角度处于所述第一预设角度阈值范围内时,基于所述当前惯性传感测量信息确定所述终端设备在所述当前时间点的第一角度关系信息,所述第一角度关系信息与所述当前航向角度和所述当前横滚角度的角度之和相关;当确定所述当前俯仰角度处于所述第二预设角度阈值范围内时,基于所述当前惯性传感测量信息确定所述终端设备在所述当前时间点的第二角度关系信息,所述第二角度关系信息与所述当前航向角度和所述当前横滚角度的角度之差相关。
可选的,在本申请的一些实施例中,所述第三确定单元可以包括第一确定子单元和第二确定子单元,如下:
第一确定子单元,用于将所述终端设备在所述当前时间点的上一时间点所得历史航向角度确定为当前航向角度;
第二确定子单元,用于基于所述当前角度关系信息、以及所述当前航向角度,确定所述当前横滚角度。
可选的,在本申请的一些实施例中,所述第三确定单元还可以包括第一更新子单元、获取子单元、第三确定子单元、第四确定子单元、第五确定子单元、第二更新子单元、以及返回子单元,如下:
第一更新子单元,用于将所述当前时间点的下一时间点更新为当前时间点;
获取子单元,用于获取所述终端设备上安装的所述惯性传感器在所述当前时间点输出的当前惯性传感测量信息;
第三确定子单元,用于基于所述当前惯性传感测量信息确定所述终端设备在所述当前时间点的当前角度关系信息;
第四确定子单元,用于将所述终端设备在所述当前时间点的上一时间点所得历史横滚角度确定为当前横滚角度;
第五确定子单元,用于基于所述当前角度关系信息、以及所述当前横滚角度,确定所述当前航向角度;
第二更新子单元,用于将所述当前时间点的下一时间点更新为当前时间点;
返回子单元,用于返回所述获取终端设备上安装的惯性传感器在当前时间点输出的当前惯性传感测量信息的步骤,直至满足停止条件。
可选的,在本申请的一些实施例中,所述姿态信息获取装置还可以包括转换单元、第五确定单元、以及调节单元,如下:
转换单元,用于当检测到所述当前俯仰角度处于预设角度阈值范围内时,基于所述预设角度阈值范围对应的预设旋转角度,将所述当前惯性传感测量信息转换为旋转后传感测量信息;
第五确定单元,用于基于所述旋转后传感测量信息确定旋转后俯仰角度、旋转后航向角度、以及旋转后横滚角度;
调节单元,用于基于所述预设旋转角度调节所述旋转后俯仰角度、所述旋转后航向角度、以及所述旋转后横滚角度,得到所述终端设备在所述当前时间点的当前俯仰角度、当前航向角度、以及当前横滚角度。
可选的,在本申请的一些实施例中,所述姿态信息获取装置还可以用于基于所述当前俯仰角度、所述当前航向角度、以及所述当前横滚角度,确定所述终端设备对应的终端设备姿态信息;基于所述终端设备姿态信息对所述终端设备进行定位得到终端位置信息;基于所述终端位置信息对所述终端设备进行导航定位操作。
本申请实施例提供的一种电子设备,包括处理器和存储器,所述存储器存储有多条指令,所述处理器加载所述指令,以执行本申请实施例提供的姿态信息获取方法中的步骤。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现本申请实施例提供的姿态信息获取方法中的步骤。
此外,本申请实施例还提供一种计算机程序产品,包括计算机程序或指令,该计算机程序或指令被处理器执行时实现本申请实施例提供的姿态信息获取方法中的步骤。
本申请实施例提供了一种姿态信息获取方法以及相关设备,可以获取终端设备上安装的惯性传感器在当前时间点输出的当前惯性传感测量信息;基于当前惯性传感测量信息,确定终端设备在当前时间点的当前俯仰角度;当检测到当前俯仰角度处于预设角度阈值范围内时,基于当前惯性传感测量信息确定终端设备在当前时间点的当前角度关系信息,当前角度关系信息与终端设备在当前时间点的当前航向角度和当前横滚角度相关;基于当前角度关系信息、以及终端设备在当前时间点的上一时间点所得历史航向角度或者历史横滚角度,确定当前航向角度和当前横滚角度。本申请可以通过设置与当前航向角度和当前横滚角度相关的角度关系信息,避免在终端设备的俯仰角接近90度或者-90度时由于分母为0而无法获取准确的横滚角和航向角度数,从而使得终端设备无论处于何种姿态,都可以获取准确的姿态信息,从而保证应用到姿态信息程序的运行稳定流畅,进而提升用户体验。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的姿态信息获取方法的场景示意图;
图2是本申请实施例提供的姿态信息获取方法的第一流程图;
图3是本申请实施例提供的姿态信息获取方法的第二流程图;
图4是本申请实施例提供的姿态信息获取方法的第三流程图;
图5是本申请实施例提供的姿态信息获取装置的结构示意图;
图6是本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种姿态信息获取方法以及相关设备,相关设备可以包括姿态信息获取装置、电子设备、计算机可读存储介质和计算机程序产品。该姿态信息获取装置具体可以集成在电子设备中,该电子设备可以是终端或服务器等设备。
可以理解的是,本实施例的姿态信息获取方法可以是在终端上执行的,也可以是在服务器上执行,还可以由终端和服务器共同执行的。以上举例不应理解为对本申请的限制。
如图1所示,以终端和服务器共同执行姿态信息获取方法为例。本申请实施例提供的姿态信息获取系统包括终端和服务器等;终端与服务器之间通过网络连接,比如,通过有线或无线网络连接等,其中,姿态信息获取装置可以集成在服务器中。
其中,服务器,可以用于:获取终端设备上安装的惯性传感器在当前时间点输出的当前惯性传感测量信息;基于当前惯性传感测量信息,确定终端设备在当前时间点的当前俯仰角度;当检测到当前俯仰角度处于预设角度阈值范围内时,基于当前惯性传感测量信息确定终端设备在当前时间点的当前角度关系信息,当前角度关系信息与终端设备在当前时间点的当前航向角度和当前横滚角度相关;基于当前角度关系信息、以及终端设备在当前时间点的上一时间点所得历史航向角度或者历史横滚角度,确定当前航向角度和当前横滚角度。其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。本申请所公开的姿态信息获取方法或装置,其中多个服务器可组成为一区块链,而服务器为区块链上的节点。
其中,终端,可以用于:将终端设备上安装的惯性传感器在当前时间点输出的当前惯性传感测量信息发送至服务器,并获取返回的当前俯仰角度、当前横滚角度、以及当前航向角度。其中,终端可以包括手机、智能语音交互设备、智能家电、车载终端、飞行器、平板电脑、笔记本电脑、或个人计算机(PC,Personal Computer)等。终端上还可以设置客户端,该客户端可以是应用程序客户端或浏览器客户端等等。
以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
本实施例将从姿态信息获取装置的角度进行描述,该姿态信息获取装置具体可以集成在电子设备中,该电子设备可以是服务器或终端等设备。本实施例可应用于云技术、人工智能、智慧交通、辅助驾驶等各种场景。
可以理解的是,在本申请的具体实施方式中,涉及到用户信息(如终端设备的当前惯性传感测量信息)等相关的数据,当本申请以上实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
如图2所示,该姿态信息获取方法的具体流程可以如下:
S201、获取终端设备上安装的惯性传感器在当前时间点输出的当前惯性传感测量信息。
其中,惯性传感器是测量物体三轴姿态角或者角速率以及加速度的装置,比如,本申请实施例可以采用IMU(Inertial Measurement Unit,惯性测量单元)进行惯性传感测量信息的获取。
其中,惯性传感测量信息是惯性传感器输出的可以表征物体当前姿态的信息,在本申请实施例中惯性传感测量信息可以为姿态旋转矩阵,其中,姿态旋转矩阵表示将某个向量在一个坐标系中的投影转换到另一个坐标系中去。比如,在本申请实施例中,在“东-北-天导航坐标系下按照312转序进行转动”从地理坐标系到载体坐标系的姿态旋转矩阵可以表示如下:
其中,,/>表示物体绕航向轴转动,表示物体绕俯仰轴转动,/>表示物体绕横滚轴转动。
比如,本申请实施例可以获取终端设备上安装的惯性传感器在当前时间点输出的当前惯性传感测量信息,也即,惯性传感器会不断的检测终端设备当前的姿态,并在不同的时间点上输出惯性传感测量信息,以达到实时测量终端设备姿态的目的。另外,本申请实施例中惯性传感器并不局限于IMU惯性测量单元,只要能够获取到惯性传感测量信息的惯性传感器都可以予以应用。
可选的,在一实施例中,步骤“获取终端设备上安装的惯性传感器在当前时间点输出的当前惯性传感测量信息”之前,还可以包括:
对终端设备进行初始对准,得到初始惯性传感测量信息、以及终端设备在初始对准时间点的初始航向角度、初始横滚角度、以及初始俯仰角度。
比如,在初始阶段需要对终端设备的姿态进行初始对准操作,在初始对准操作后,可以获取到终端设备的初始惯性传感测量信息、以及终端设备在初始对准时间点的初始航向角度、初始横滚角度、以及初始俯仰角度,也即在初始对准时间点时,可以获取到准确的初始航向角度、初始横滚角度、以及初始俯仰角度,然后本申请实施例就可以根据已经获取到的初始航向角度、初始横滚角度、以及初始俯仰角度,实时测量当前惯性传感测量信息,并基于当前惯性传感测量信息和已经获取到的角度,确定当前航向角度、当前横滚角度、以及当前俯仰角度。
其中,航向角是指终端设备纵轴在当地水平面上的投影线与当地地理北向之间的夹角,常取北偏东为正,也即若从空中俯视终端设备,航向角为从地理北向顺时针旋转至纵轴水平投影线的角度,角度范围为0~/>,或者可以表示为[0,2π)。
其中,俯仰角是指终端设备纵轴与其水平投影线之间的夹角,可以将终端设备抬头时的角度定义为正向,角度范围为-/>,或者可以表示为/>。
其中,横滚角是指终端设备立轴与纵轴所在铅垂面之间的夹角,可以将终端设备向右倾斜时的角度定义为正向,角度范围为-/>,或者可以表示为/>。
S202、基于当前惯性传感测量信息,确定终端设备在当前时间点的当前俯仰角度。
比如,已经获取到如下的当前惯性传感测量信息:
其中,,/>表示物体绕航向轴转动,表示物体绕俯仰轴转动,/>表示物体绕横滚轴转动。
那么可以应用以下公式计算终端设备在当前时间点的当前俯仰角度:
其中,公式中(i,j=1,2,3)表示姿态旋转矩阵C中第i行第j列的元素。
S203、当检测到当前俯仰角度处于预设角度阈值范围内时,基于当前惯性传感测量信息确定终端设备在当前时间点的当前角度关系信息。
其中,当前角度关系信息与终端设备在当前时间点的当前航向角度和当前横滚角度相关,比如,当前角度关系信息可以为当前航向角度与当前横滚角度的角度之和或者之差,等等。
其中,下式为根据姿态旋转矩阵求解角度的公式:
其中,公式中(i,j=1,2,3)表示姿态旋转矩阵C中第i行第j列的元素。
根据以上公式可以得知,在俯仰角接近±90度时,/>接近于0,那么在利用姿态旋转矩阵计算横滚角和航向角时,就会由于分母接近0,使得航向角和横滚角数值存在剧烈波动,从而影响最终的姿态信息获取效果。那么本申请技术方案就采用避免使用/>的方案,计算横滚角和航向角,也即利用与横滚角和航向角相关的角度关系信息,该角度关系信息不但能够计算横滚角和航向角,而且不涉及/>。
比如,可以将接近±90度的一定角度范围设置为预设角度阈值范围,那么在当前俯仰角度接近±90度时,就可以基于当前惯性传感测量信息确定终端设备在当前时间点的当前角度关系信息,其中,该当前角度关系信息与当前航向角度和当前横滚角度相关。
可选的,在一实施例中,步骤“当检测到当前俯仰角度处于预设角度阈值范围内时,基于当前惯性传感测量信息确定终端设备在当前时间点的当前角度关系信息”,可以包括:
当检测到当前俯仰角度处于预设角度阈值范围内时,确定当前俯仰角度所处的具体角度阈值范围;
基于具体角度阈值范围,在当前惯性传感测量信息中确定终端设备在当前时间点的当前角度关系信息。
其中,由于本申请实施例可以将接近±90度的一定角度范围设置为预设角度阈值范围,因此存在当前俯仰角度接近90度和当前俯仰角度接近-90度两种情况,而这两种情况所采用的当前角度关系并不相同,因此还可以引入具体角度阈值范围,以便进一步的确定当前俯仰角度所处角度范围。
可选的,在一实施例中,步骤“基于具体角度阈值范围,在当前惯性传感测量信息中确定终端设备在当前时间点的当前角度关系信息”,可以包括:
当确定当前俯仰角度处于第一预设角度阈值范围内时,基于当前惯性传感测量信息确定终端设备在当前时间点的第一角度关系信息,第一角度关系信息与当前航向角度和当前横滚角度的角度之和相关;
当确定当前俯仰角度处于第二预设角度阈值范围内时,基于当前惯性传感测量信息确定终端设备在当前时间点的第二角度关系信息,第二角度关系信息与当前航向角度和当前横滚角度的角度之差相关。
其中,具体角度阈值范围包括第一预设角度阈值范围、以及第二预设角度阈值范围,比如,可以将接近90度的一定角度范围设置为第一预设角度阈值范围,将接近-90度的一定角度范围设置为第二预设角度阈值范围。
比如,在当前俯仰角度接近90度时,可以基于当前惯性传感测量信息确定终端设备在当前时间点的第一角度关系信息,其中,第一角度关系信息可以为当前航向角度和当前横滚角度的角度之和,也即第一角度关系信息可以表示为,计算第一角度关系信息的公式如下:
根据当前惯性传感测量信息可以得知各项的具体数值:
又比如,在当前俯仰角度接近-90度时,可以基于当前惯性传感测量信息确定终端设备在当前时间点的第二角度关系信息,其中,第二角度关系信息可以为当前航向角度和当前横滚角度的角度之差,也即第二角度关系信息可以表示为,计算第二角度关系信息的公式如下:
根据当前惯性传感测量信息可以得知各项的具体数值:
可选的,在一实施例中,步骤“基于当前惯性传感测量信息,确定终端设备在当前时间点的当前俯仰角度”之后,还可以包括:
当检测到当前俯仰角度未处于预设角度阈值范围内时,基于当前惯性传感测量信息确定终端设备在当前时间点的当前航向角度和当前横滚角度。
比如,当检测到当前俯仰角度并非接近±90度时,就可以直接通过下式求得当前航向角度和当前横滚角度/>:
其中,公式中(i,j=1,2,3)表示姿态旋转矩阵C中第i行第j列的元素。
S204、基于当前角度关系信息、以及终端设备在当前时间点的上一时间点所得历史航向角度或者历史横滚角度,确定当前航向角度和当前横滚角度。
可选的,在一实施例中,步骤“基于当前角度关系信息、以及终端设备在当前时间点的上一时间点所得历史航向角度或者历史横滚角度,确定当前航向角度和当前横滚角度”,可以包括:
将终端设备在当前时间点的上一时间点所得历史航向角度确定为当前航向角度;
基于当前角度关系信息、以及当前航向角度,确定当前横滚角度。
比如,由于惯性传感器在不断的确定终端设备在不同时间点的俯仰角度、航向角度、以及横滚角度,并且相邻两个时间点之间的时间差非常短,因此可以认为相邻两个时间点的俯仰角度、航向角度、以及横滚角度差别很小,那么在当前俯仰角度处于预设角度阈值范围内时,就可以将终端设备在当前时间点t2的上一时间点t1所得历史航向角度确定为当前航向角度,已知角度关系信息和当前航向角度,就可以求得当前横滚角度。
可选的,在一实施例中,步骤“基于当前角度关系信息、以及当前航向角度,确定当前横滚角度”之后,还可以包括:
将当前时间点的下一时间点更新为当前时间点;
获取终端设备上安装的惯性传感器在当前时间点输出的当前惯性传感测量信息;
基于当前惯性传感测量信息确定终端设备在当前时间点的当前角度关系信息;
将终端设备在当前时间点的上一时间点所得历史横滚角度确定为当前横滚角度;
基于当前角度关系信息、以及当前横滚角度,确定当前航向角度;
将当前时间点的下一时间点更新为当前时间点;
返回获取终端设备上安装的惯性传感器在当前时间点输出的当前惯性传感测量信息的步骤,直至满足停止条件。
其中,停止条件是指循环停止的条件,比如,停止条件可以为惯性传感器停止输出当前惯性传感测量信息;停止条件还可以为当前俯仰角度没有处于预设角度阈值范围内。
比如,获取到当前时间点t2的当前俯仰角度、当前航向角度、以及当前横滚角度之后,可以将当前时间点t2的下一时间点t3更新为当前时间点,也即此时的当前时间点为t3,然后获取终端设备上安装的惯性传感器在当前时间点t3输出的当前惯性传感测量信息,并基于当前惯性传感测量信息确定终端设备在当前时间点的当前角度关系信息,然后将终端设备在当前时间点t3的上一时间点t2所得历史横滚角度确定为当前横滚角度,已知角度关系信息、以及当前横滚角度,就可以求解当前航向角度。然后将当前时间点t3的下一时间点t4更新为当前时间点,也即此时的当前时间点为t4,然后返回获取终端设备上安装的惯性传感器在当前时间点输出的当前惯性传感测量信息的步骤,直至满足停止条件。
在当前俯仰角度处于预设角度阈值范围内时,可以通过在第一次解算时固定航向角度,使得横滚角度满足角度关系信息,然后在下一次解算时固定横滚角度,使得航向角度满足角度关系信息的方法来实现姿态角度的实时解算更新。
可选的,在一实施例中,步骤“基于当前角度关系信息、以及终端设备在当前时间点的上一时间点所得历史航向角度或者历史横滚角度,确定当前航向角度和当前横滚角度”,可以包括:
将终端设备在当前时间点的上一时间点所得历史横滚角度确定为当前横滚角度;
基于当前角度关系信息、以及当前横滚角度,确定当前航向角度。
比如,在当前俯仰角度处于预设角度阈值范围内时,就可以将终端设备在当前时间点t2的上一时间点t1所得历史横滚角度确定为当前横滚角度,已知角度关系信息和当前横滚角度,就可以求得当前航向角度。
可选的,在一实施例中,步骤“基于当前角度关系信息、以及当前横滚角度,确定当前航向角度”之后,还可以包括:
将当前时间点的下一时间点更新为当前时间点;
获取终端设备上安装的惯性传感器在当前时间点输出的当前惯性传感测量信息;
基于当前惯性传感测量信息确定终端设备在当前时间点的当前角度关系信息;
将终端设备在当前时间点的上一时间点所得历史航向角度确定为当前航向角度;
基于当前角度关系信息、以及当前航向角度,确定当前横滚角度;
将当前时间点的下一时间点更新为当前时间点;
返回获取终端设备上安装的惯性传感器在当前时间点输出的当前惯性传感测量信息的步骤,直至满足停止条件。
比如,获取到当前时间点t2的当前俯仰角度、当前航向角度、以及当前横滚角度之后,可以将当前时间点t2的下一时间点t3更新为当前时间点,也即此时的当前时间点为t3,然后获取终端设备上安装的惯性传感器在当前时间点t3输出的当前惯性传感测量信息,并基于当前惯性传感测量信息确定终端设备在当前时间点的当前角度关系信息,然后将终端设备在当前时间点t3的上一时间点t2所得历史航向角度确定为当前航向角度,已知角度关系信息、以及当前航向角度,就可以求解当前横滚角度。然后将当前时间点t3的下一时间点t4更新为当前时间点,也即此时的当前时间点为t4,然后返回获取终端设备上安装的惯性传感器在当前时间点输出的当前惯性传感测量信息的步骤,直至满足停止条件。
在当前俯仰角度处于预设角度阈值范围内时,可以通过在第一次解算时固定横滚角度,使得航向角度满足角度关系信息,然后在下一次解算时固定航向角度,使得横滚角度满足角度关系信息的方法来实现姿态角度的实时解算更新。
在一实施例中,本申请技术方案可以不局限于依次固定横滚角和航向角,还可以根据实际情况设置固定横滚角和航向角的情况,比如,还可以固定两次横滚角后固定两次航向角等等,本申请实施例不对此进行限制。
其实,在俯仰角度接近±90度时,不能单独求解横滚角度和航向角度是由于这两个角变成了绕终端设备平行轴的测量失去了一个自由度,类似于平台惯导中当内框架为90度时所导致的万向锁问题,针对该问题,还可以采用另一种方案解决终端设备俯仰角度为90度时的姿态信息解算问题。
可选的,在一实施例中,步骤“基于当前惯性传感测量信息,确定终端设备在当前时间点的当前俯仰角度”之后,还可以包括:
当检测到当前俯仰角度处于预设角度阈值范围内时,基于预设角度阈值范围对应的预设旋转角度,将当前惯性传感测量信息转换为旋转后传感测量信息;
基于旋转后传感测量信息确定旋转后俯仰角度、旋转后航向角度、以及旋转后横滚角度;
基于预设旋转角度调节旋转后俯仰角度、旋转后航向角度、以及旋转后横滚角度,得到终端设备在当前时间点的当前俯仰角度、当前航向角度、以及当前横滚角度。
比如,可以通过当前惯性传感测量信息中的来判断当前俯仰角度是否接近±90度,可以将/>设定为预设角度阈值范围,也即当/>时,可以认为当前俯仰角度处于预设角度阈值范围内,其中,该预设角度阈值范围可以根据实际使用情况进行调整。
当时,可以直接利用下式进行求解:
其中,公式中(i,j=1,2,3)表示姿态旋转矩阵C中第i行第j列的元素。
当时,当前俯仰角度接近90度,此时可以将当前姿态矩阵乘上一个绕俯仰轴旋转-90度的旋转矩阵后,再进行姿态角的求解,也即基于预设角度阈值范围对应的预设旋转角度,将当前惯性传感测量信息转换为旋转后传感测量信息。得到旋转后传感测量信息之后,就可以利用下式求解出旋转后俯仰角度、旋转后航向角度、以及旋转后横滚角度,最后在输出时将旋转后俯仰角度、旋转后航向角度、以及旋转后横滚角度加上90度后,得到终端设备在当前时间点的当前俯仰角度、当前航向角度、以及当前横滚角度输出即可。
当时,当前俯仰角度接近-90度,此时可以将当前姿态矩阵乘上一个绕俯仰轴旋转90度的旋转矩阵后,再进行姿态角的求解,也即基于预设角度阈值范围对应的预设旋转角度,将当前惯性传感测量信息转换为旋转后传感测量信息。得到旋转后传感测量信息之后,就可以利用下式求解出旋转后俯仰角度、旋转后航向角度、以及旋转后横滚角度,最后在输出时将旋转后俯仰角度、旋转后航向角度、以及旋转后横滚角度减去90度后,得到终端设备在当前时间点的当前俯仰角度、当前航向角度、以及当前横滚角度输出即可。
在一实施例中,本申请技术方案不但可以采取对姿态矩阵乘以旋转矩阵的方法求解姿态信息,还通过换轴操作将终端设备人为放平的方式进行姿态信息的求解,上述实施例不作为对本申请技术方案的限制。
可选的,在一实施例中,步骤“基于当前角度关系信息、以及终端设备在当前时间点的上一时间点所得历史航向角度或者历史横滚角度,确定当前航向角度和当前横滚角度”之后,还可以包括:
基于当前俯仰角度、当前航向角度、以及当前横滚角度,确定终端设备对应的终端设备姿态信息;
基于终端设备姿态信息对终端设备进行定位得到终端位置信息;
基于终端位置信息对终端设备进行导航定位操作。
其中,本申请实施例可以应用于终端设备的地图相关APP上,如可以将本申请技术方案应用于地图应用之中,以便对终端设备进行准确的定位,从而为用户提供更加准确的导航定位服务,从而实现更加完善的地图使用体验。
比如,在获取到终端设备的当前俯仰角度、当前航向角度、以及当前横滚角度之后,就可以实现对终端设备的姿态解算,从而确定终端设备对应的终端设备姿态信息,然后根据已经获取到的终端设备姿态信息就可以得到终端设备的终端位置信息,导航系统利用终端位置信息就可以更好的完成导航定位服务。
在一实施例中,本申请技术方案不局限于只能应用于导航定位服务,还可以应用于AR应用服务、控制无人机服务等,比如,本申请技术方案中的终端设备还可以为AR设备:眼镜、手机、手柄等等,然后利用本申请技术方案的得到准确的AR设备姿态信息,进而提升用户的虚拟现实或者增强现实的应用体验。又比如,本申请技术方案中的终端设备还可以为无人机,利用本申请技术方案可以得到准确的无人机姿态信息,可以从而提升无人机的行驶精度,提升无人机的用户体验。
现有技术通常是利用下式根据姿态旋转矩阵求解姿态角:
其中,公式中(i,j=1,2,3)表示姿态旋转矩阵C中第i行第j列的元素。
然而,当俯仰角接近±90度时,/>接近于0,那么通过现有技术的方法计算横滚角和航向角时,就会由于分母接近0,使得航向角和横滚角数值存在剧烈波动,从而影响最终的姿态信息获取效果。
在实际生活中,终端设备俯仰角处于接近±90度其实是十分常见的现象,比如,在用户在使用手机导航时,无论将手机固定在支架上,还是拿在手里,手机都十分容易处于立起的状态,也即俯仰角接近±90度。因此本申请技术方案希望能够解决在任何角度都能准确输出终端设备姿态信息的问题。
本申请技术方案可以产生如下的有益效果:
首先,利用本申请技术方案可以提升用户体验。由于使用现有技术的方案会使得终端设备在俯仰角接近90度或者-90度时,无法正常输出准确的姿态信息,从而导致无法使用一些应用程序,如AR应用程序、无人机控制程序等。而利用本申请技术方案就会使得这些应用程序的使用更加稳定流畅,从而提升用户体验。
其次,利用本申请技术方案还可以改进终端设备导航功能。高精度的姿态解算对于终端设备导航功能是非常重要的,如导航应用程序可以通过实时计算手机的姿态信息来确定用户所面向的方向。然而,由于现有技术难以准确获取手机姿态,就会导航信息不准确,甚至导致偏离目的地。而应用本申请技术方案可以有效提高手机导航功能的准确性和实用性,为人们提供更便捷的出行体验。
由上可知,本实施例可以获取终端设备上安装的惯性传感器在当前时间点输出的当前惯性传感测量信息;基于当前惯性传感测量信息,确定终端设备在当前时间点的当前俯仰角度;当检测到当前俯仰角度处于预设角度阈值范围内时,基于当前惯性传感测量信息确定终端设备在当前时间点的当前角度关系信息,当前角度关系信息与终端设备在当前时间点的当前航向角度和当前横滚角度相关;基于当前角度关系信息、以及终端设备在当前时间点的上一时间点所得历史航向角度或者历史横滚角度,确定当前航向角度和当前横滚角度。本申请可以通过设置与当前航向角度和当前横滚角度相关的角度关系信息,避免在终端设备的俯仰角接近90度或者-90度时由于分母为0而无法获取准确的横滚角和航向角度数,从而使得终端设备无论处于何种姿态,都可以获取准确的姿态信息,从而保证应用到姿态信息程序的运行稳定流畅,进而提升用户体验。
根据前面实施例所描述的方法,以下将以该姿态信息获取装置具体集成在电子设备举例作进一步详细说明。本申请实施例提供一种姿态信息获取方法,如图3所示,该姿态信息获取方法的具体流程可以如下:
S301、电子设备对手机进行初始对准,得到初始姿态旋转矩阵、初始俯仰角度、初始航向角度、以及初始横滚角度。
S302、电子设备实时获取手机当前姿态旋转矩阵。
比如,在“东-北-天导航坐标系下按照312转序进行转动”从地理坐标系到载体坐标系的姿态旋转矩阵可以用姿态角表示如下:
其中,,/>表示手机绕航向轴转动,表示手机绕俯仰轴转动,/>表示手机绕横滚轴转动。
S303、电子设备基于当前姿态旋转矩阵确定手机的当前俯仰角度。
比如,可以应用下式通过姿态旋转矩阵计算姿态角:
其中,公式中(i,j=1,2,3)表示姿态旋转矩阵C中第i行第j列的元素。
但是,由上式可知,当俯仰角度接近90度或者-90度时,接近于0,因此,现有技术在俯仰角度接近90度或者-90度时,会由于分母为0,而无法正常获取航向角度和横滚角度。
在一实施例中,若检测到手机当前俯仰角度未处于预设角度阈值范围内时,直接使用上述公式计算手机的当前航向角度和当前横滚角度即可。
S304、若检测到手机当前俯仰角度处于预设角度阈值范围内时,电子设备基于当前姿态旋转矩阵确定当前角度关系信息。
比如,若检测到当前俯仰角度接近90度或者-90度时,可以通过姿态旋转矩阵中其他不包含元素的项进行求解。
比如,在当前俯仰角度接近90度时,可以基于当前姿态旋转矩阵确定当前角度关系信息,其中,当前角度关系信息可以为当前航向角度和当前横滚角度的角度之和,也即当前角度关系信息可以表示为,计算当前角度关系信息的公式如下:
根据当前姿态旋转矩阵可以得知各项的具体数值:
又比如,在当前俯仰角度接近-90度时,可以基于当前姿态旋转矩阵确定当前角度关系信息,其中,当前角度关系信息可以为当前航向角度和当前横滚角度的角度之差,也即当前角度关系信息可以表示为,计算当前角度关系信息的公式如下:
根据当前姿态旋转矩阵可以得知各项的具体数值:
S305、电子设备基于当前角度关系信息、以及上一时间点获取到的历史航向角度或者历史横滚角度,确定当前航向角度和当前横滚角度。
比如,在获取到当前角度关系信息后,可以获取上一个时间点t1手机的历史航向角度,由于当前时间点t2和上一个时间点t1之间间隔很短,因此可以认为历史航向角度与当前时间点t2的当前航向角度并没有太大的差异,就可以将历史航向角度的数值确定为当前航向角度的数值,也即固定航向角。然后在已知当前角度关系信息和当前航向角度的情况下,可以求解出当前横滚角度的数值。
然后,在求解完当前时间点t2的当前航向角度和当前横滚角度之后,可以将需要求解的下一时间点t3确定为当前时间点,也即现在的当前时间点为t3。然后可以将时间点t2对应的横滚角度的数值确定为当前时间点t3的当前横滚角度的数值,也即固定横滚角。然后在已知当前角度关系信息和当前横滚角度的情况下,可以求解出当前航向角度的数值。然后继续重复固定航向角的步骤。
又比如,在获取到当前角度关系信息后,可以获取上一个时间点t1手机的历史横滚角度,由于当前时间点t2和上一个时间点t1之间间隔很短,因此可以认为历史横滚角度与当前时间点t2的当前横滚角度并没有太大的差异,就可以将历史横滚角度的数值确定为当前横滚角度的数值,也即固定横滚角。然后在已知当前角度关系信息和当前横滚角度的情况下,可以求解出当前航向角度的数值。
然后,在求解完当前时间点t2的当前航向角度和当前横滚角度之后,可以将需要求解的下一时间点t3确定为当前时间点,也即现在的当前时间点为t3。然后可以将时间点t2对应的航向角度的数值确定为当前时间点t3的当前航向角度的数值,也即固定航向角。然后在已知当前角度关系信息和当前航向角度的情况下,可以求解出当前横滚角度的数值。然后继续重复固定横滚角的步骤。
也就是说,当俯仰角接近90度或者-90度时,可以在本次解算时固定横滚角,让航向角满足角度关系信息,在下一次解算时固定航向角,让横滚角满足角度关系信息的方式来实现姿态信息的实时解算更新。
由上可知,本实施例可以通过电子设备对手机进行初始对准,得到初始姿态旋转矩阵、初始俯仰角度、初始航向角度、以及初始横滚角度;实时获取手机当前姿态旋转矩阵;基于当前姿态旋转矩阵确定手机的当前俯仰角度;若检测到手机当前俯仰角度处于预设角度阈值范围内时,电子设备基于当前姿态旋转矩阵确定当前角度关系信息;基于当前角度关系信息、以及上一时间点获取到的历史航向角度或者历史横滚角度,确定当前航向角度和当前横滚角度。本申请可以通过设置与当前航向角度和当前横滚角度相关的角度关系信息,避免在终端设备的俯仰角接近90度或者-90度时由于分母为0而无法获取准确的横滚角和航向角度数,从而使得终端设备无论处于何种姿态,都可以获取准确的姿态信息,从而保证应用到姿态信息程序的运行稳定流畅,进而提升用户体验。
根据前面实施例所描述的方法,以下将以该姿态信息获取装置具体集成在电子设备举例作进一步详细说明。本申请实施例还提供一种姿态信息获取方法,如图4所示,该姿态信息获取方法的具体流程可以如下:
S401、电子设备对手机进行初始对准,得到初始姿态旋转矩阵、初始俯仰角度、初始航向角度、以及初始横滚角度。
S402、电子设备实时获取手机当前姿态旋转矩阵。
S403、电子设备基于当前姿态旋转矩阵确定手机的当前俯仰角度。
其中,步骤S401、S402、以及S403的内容与步骤S301、 S302、以及S303的内容相同。
S404、当检测到当前俯仰角度处于预设角度阈值范围内时,电子设备将当前姿态旋转矩阵乘以旋转矩阵,得到旋转后姿态旋转矩阵。
S405、电子设备基于旋转后姿态旋转矩阵计算旋转后俯仰角度、旋转后航向角度、以及旋转后横滚角度。
S406、电子设备调节旋转后俯仰角度、旋转后航向角度、以及旋转后横滚角度,得到手机在当前时间点的当前俯仰角度、当前航向角度、以及当前横滚角度。
比如,可以通过当前惯性传感测量信息中的来判断当前俯仰角度是否接近±90度,可以将/>设定为预设角度阈值范围,也即当/>时,可以认为当前俯仰角度处于预设角度阈值范围内,其中,该预设角度阈值范围可以根据实际使用情况进行调整。
当时,可以直接利用下式进行求解:
其中,公式中(i,j=1,2,3)表示姿态旋转矩阵C中第i行第j列的元素。
当时,当前俯仰角度接近90度,此时可以将当前姿态矩阵乘上一个绕俯仰轴旋转-90度的旋转矩阵后,再进行姿态角的求解,也即基于预设角度阈值范围对应的预设旋转角度,将当前惯性传感测量信息转换为旋转后传感测量信息。得到旋转后传感测量信息之后,就可以利用下式求解出旋转后俯仰角度、旋转后航向角度、以及旋转后横滚角度,最后在输出时将旋转后俯仰角度、旋转后航向角度、以及旋转后横滚角度加上90度后,得到终端设备在当前时间点的当前俯仰角度、当前航向角度、以及当前横滚角度输出即可。
当时,当前俯仰角度接近-90度,此时可以将当前姿态矩阵乘上一个绕俯仰轴旋转90度的旋转矩阵后,再进行姿态角的求解,也即基于预设角度阈值范围对应的预设旋转角度,将当前惯性传感测量信息转换为旋转后传感测量信息。得到旋转后传感测量信息之后,就可以利用下式求解出旋转后俯仰角度、旋转后航向角度、以及旋转后横滚角度,最后在输出时将旋转后俯仰角度、旋转后航向角度、以及旋转后横滚角度减去90度后,得到终端设备在当前时间点的当前俯仰角度、当前航向角度、以及当前横滚角度输出即可。
由上可知,本实施例可以通过电子设备对手机进行初始对准,得到初始姿态旋转矩阵、初始俯仰角度、初始航向角度、以及初始横滚角度;实时获取手机当前姿态旋转矩阵;基于当前姿态旋转矩阵确定手机的当前俯仰角度;当检测到当前俯仰角度处于预设角度阈值范围内时,电子设备将当前姿态旋转矩阵乘以旋转矩阵,得到旋转后姿态旋转矩阵;基于旋转后姿态旋转矩阵计算旋转后俯仰角度、旋转后航向角度、以及旋转后横滚角度;调节旋转后俯仰角度、旋转后航向角度、以及旋转后横滚角度,得到手机在当前时间点的当前俯仰角度、当前航向角度、以及当前横滚角度。本申请可以通过设置与当前航向角度和当前横滚角度相关的角度关系信息,避免在终端设备的俯仰角接近90度或者-90度时由于分母为0而无法获取准确的横滚角和航向角度数,从而使得终端设备无论处于何种姿态,都可以获取准确的姿态信息,从而保证应用到姿态信息程序的运行稳定流畅,进而提升用户体验。
为了更好地实施以上方法,本申请实施例还提供一种姿态信息获取装置,如图5所示,该姿态信息获取装置可以包括获取单元501、第一确定单元502、第二确定单元503、以及第三确定单元504,如下:
获取单元501,用于获取终端设备上安装的惯性传感器在当前时间点输出的当前惯性传感测量信息;
第一确定单元502,用于基于所述当前惯性传感测量信息,确定所述终端设备在所述当前时间点的当前俯仰角度;
第二确定单元503,用于当检测到所述当前俯仰角度处于预设角度阈值范围内时,基于所述当前惯性传感测量信息确定所述终端设备在所述当前时间点的当前角度关系信息,所述当前角度关系信息与所述终端设备在所述当前时间点的当前航向角度和当前横滚角度相关;
第三确定单元504,用于基于所述当前角度关系信息、以及所述终端设备在所述当前时间点的上一时间点所得历史航向角度或者历史横滚角度,确定所述当前航向角度和所述当前横滚角度。
可选的,在本申请的一些实施例中,所述姿态信息获取装置还可以包括初始对准单元,如下:
初始对准单元,用于对所述终端设备进行初始对准,得到初始惯性传感测量信息、以及所述终端设备在初始对准时间点的初始航向角度、初始横滚角度、以及初始俯仰角度。
可选的,在本申请的一些实施例中,所述姿态信息获取装置还可以包括第四确定单元,如下:
第四确定单元,用于当检测到所述当前俯仰角度未处于所述预设角度阈值范围内时,基于所述当前惯性传感测量信息确定所述终端设备在所述当前时间点的当前航向角度和当前横滚角度。
可选的,在本申请的一些实施例中,所述第二确定单元可以包括具体角度阈值范围确定子单元、以及当前角度关系信息确定子单元,如下:
具体角度阈值范围确定子单元,用于当检测到所述当前俯仰角度处于预设角度阈值范围内时,确定所述当前俯仰角度所处的具体角度阈值范围;
当前角度关系信息确定子单元,用于基于所述具体角度阈值范围,在所述当前惯性传感测量信息中确定所述终端设备在所述当前时间点的当前角度关系信息。
可选的,在本申请的一些实施例中,所述当前角度关系信息确定子单元可以具体用于当确定所述当前俯仰角度处于所述第一预设角度阈值范围内时,基于所述当前惯性传感测量信息确定所述终端设备在所述当前时间点的第一角度关系信息,所述第一角度关系信息与所述当前航向角度和所述当前横滚角度的角度之和相关;当确定所述当前俯仰角度处于所述第二预设角度阈值范围内时,基于所述当前惯性传感测量信息确定所述终端设备在所述当前时间点的第二角度关系信息,所述第二角度关系信息与所述当前航向角度和所述当前横滚角度的角度之差相关。
可选的,在本申请的一些实施例中,所述第二确定单元具体可以用于当检测到所述当前俯仰角度处于所述第一预设角度阈值范围内时,基于所述当前惯性传感测量信息确定所述终端设备在所述当前时间点的第一角度关系信息,所述第一角度关系信息与所述当前航向角度和所述当前横滚角度的角度之和相关;当检测到所述当前俯仰角度处于所述第二预设角度阈值范围内时,基于所述当前惯性传感测量信息确定所述终端设备在所述当前时间点的第二角度关系信息,所述第二角度关系信息与所述当前航向角度和所述当前横滚角度的角度之差相关。
可选的,在本申请的一些实施例中,所述第三确定单元可以包括第一确定子单元和第二确定子单元,如下:
第一确定子单元,用于将所述终端设备在所述当前时间点的上一时间点所得历史航向角度确定为当前航向角度;
第二确定子单元,用于基于所述当前角度关系信息、以及所述当前航向角度,确定所述当前横滚角度。
可选的,在本申请的一些实施例中,所述第三确定单元还可以包括第一更新子单元、获取子单元、第三确定子单元、第四确定子单元、第五确定子单元、第二更新子单元、以及返回子单元,如下:
第一更新子单元,用于将所述当前时间点的下一时间点更新为当前时间点;
获取子单元,用于获取所述终端设备上安装的所述惯性传感器在所述当前时间点输出的当前惯性传感测量信息;
第三确定子单元,用于基于所述当前惯性传感测量信息确定所述终端设备在所述当前时间点的当前角度关系信息;
第四确定子单元,用于将所述终端设备在所述当前时间点的上一时间点所得历史横滚角度确定为当前横滚角度;
第五确定子单元,用于基于所述当前角度关系信息、以及所述当前横滚角度,确定所述当前航向角度;
第二更新子单元,用于将所述当前时间点的下一时间点更新为当前时间点;
返回子单元,用于返回所述获取终端设备上安装的惯性传感器在当前时间点输出的当前惯性传感测量信息的步骤,直至满足停止条件。
可选的,在本申请的一些实施例中,所述姿态信息获取装置还可以包括转换单元、第五确定单元、以及调节单元,如下:
转换单元,用于当检测到所述当前俯仰角度处于预设角度阈值范围内时,基于所述预设角度阈值范围对应的预设旋转角度,将所述当前惯性传感测量信息转换为旋转后传感测量信息;
第五确定单元,用于基于所述旋转后传感测量信息确定旋转后俯仰角度、旋转后航向角度、以及旋转后横滚角度;
调节单元,用于基于所述预设旋转角度调节所述旋转后俯仰角度、所述旋转后航向角度、以及所述旋转后横滚角度,得到所述终端设备在所述当前时间点的当前俯仰角度、当前航向角度、以及当前横滚角度。
可选的,在本申请的一些实施例中,所述姿态信息获取装置还可以用于基于所述当前俯仰角度、所述当前航向角度、以及所述当前横滚角度,确定所述终端设备对应的终端设备姿态信息;基于所述终端设备姿态信息对所述终端设备进行定位得到终端位置信息;基于所述终端位置信息对所述终端设备进行导航定位操作。
由上可知,本实施例可以通过获取单元501获取终端设备上安装的惯性传感器在当前时间点输出的当前惯性传感测量信息;通过第一确定单元502基于当前惯性传感测量信息,确定终端设备在当前时间点的当前俯仰角度;当检测到当前俯仰角度处于预设角度阈值范围内时,通过第二确定单元503基于当前惯性传感测量信息确定终端设备在当前时间点的当前角度关系信息,当前角度关系信息与终端设备在当前时间点的当前航向角度和当前横滚角度相关;通过第三确定单元504基于当前角度关系信息、以及终端设备在当前时间点的上一时间点所得历史航向角度或者历史横滚角度,确定当前航向角度和当前横滚角度。本申请可以通过设置与当前航向角度和当前横滚角度相关的角度关系信息,避免在终端设备的俯仰角接近90度或者-90度时由于分母为0而无法获取准确的横滚角和航向角度数,从而使得终端设备无论处于何种姿态,都可以获取准确的姿态信息,从而保证应用到姿态信息程序的运行稳定流畅,进而提升用户体验。
本申请实施例还提供一种电子设备,如图6所示,其示出了本申请实施例所涉及的电子设备的结构示意图,该电子设备可以是终端或者服务器等,具体来讲:
该电子设备可以包括一个或者一个以上处理核心的处理器601、一个或一个以上计算机可读存储介质的存储器602、电源603和输入单元604等部件。本领域技术人员可以理解,图6中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器601是该电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器602内的软件程序和/或模块,以及调用存储在存储器602内的数据,执行电子设备的各种功能和处理数据。可选的,处理器601可包括一个或多个处理核心;优选的,处理器601可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器601中。
存储器602可用于存储软件程序以及模块,处理器601通过运行存储在存储器602的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器602可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器602还可以包括存储器控制器,以提供处理器601对存储器602的访问。
电子设备还包括给各个部件供电的电源603,优选的,电源603可以通过电源管理系统与处理器601逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源603还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该电子设备还可包括输入单元604,该输入单元604可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,该电子设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,电子设备中的处理器601会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器602中,并由处理器601来运行存储在存储器602中的应用程序,从而实现各种功能,如下:
本申请实施例提供了一种姿态信息获取方法以及相关设备,可以获取终端设备上安装的惯性传感器在当前时间点输出的当前惯性传感测量信息;基于当前惯性传感测量信息,确定终端设备在当前时间点的当前俯仰角度;当检测到当前俯仰角度处于预设角度阈值范围内时,基于当前惯性传感测量信息确定终端设备在当前时间点的当前角度关系信息,当前角度关系信息与终端设备在当前时间点的当前航向角度和当前横滚角度相关;基于当前角度关系信息、以及终端设备在当前时间点的上一时间点所得历史航向角度或者历史横滚角度,确定当前航向角度和当前横滚角度。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
由上可知,本实施例可以获取终端设备上安装的惯性传感器在当前时间点输出的当前惯性传感测量信息;基于当前惯性传感测量信息,确定终端设备在当前时间点的当前俯仰角度;当检测到当前俯仰角度处于预设角度阈值范围内时,基于当前惯性传感测量信息确定终端设备在当前时间点的当前角度关系信息,当前角度关系信息与终端设备在当前时间点的当前航向角度和当前横滚角度相关;基于当前角度关系信息、以及终端设备在当前时间点的上一时间点所得历史航向角度或者历史横滚角度,确定当前航向角度和当前横滚角度。本申请可以通过设置与当前航向角度和当前横滚角度相关的角度关系信息,避免在终端设备的俯仰角接近90度或者-90度时由于分母为0而无法获取准确的横滚角和航向角度数,从而使得终端设备无论处于何种姿态,都可以获取准确的姿态信息,从而保证应用到姿态信息程序的运行稳定流畅,进而提升用户体验。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的任一种姿态信息获取方法中的步骤。例如,该指令可以执行如下步骤:
本申请实施例提供了一种姿态信息获取方法以及相关设备,可以获取终端设备上安装的惯性传感器在当前时间点输出的当前惯性传感测量信息;基于当前惯性传感测量信息,确定终端设备在当前时间点的当前俯仰角度;当检测到当前俯仰角度处于预设角度阈值范围内时,基于当前惯性传感测量信息确定终端设备在当前时间点的当前角度关系信息,当前角度关系信息与终端设备在当前时间点的当前航向角度和当前横滚角度相关;基于当前角度关系信息、以及终端设备在当前时间点的上一时间点所得历史航向角度或者历史横滚角度,确定当前航向角度和当前横滚角度。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该计算机可读存储介质中所存储的指令,可以执行本申请实施例所提供的任一种姿态信息获取方法中的步骤,因此,可以实现本申请实施例所提供的任一种姿态信息获取方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述姿态信息获取方面的各种可选实现方式中提供的方法。
以上对本申请实施例所提供的一种姿态信息获取方法以及相关设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (12)
1.一种姿态信息获取方法,其特征在于,包括:
获取终端设备上安装的惯性传感器在当前时间点输出的当前惯性传感测量信息;
基于所述当前惯性传感测量信息,确定所述终端设备在所述当前时间点的当前俯仰角度;
当检测到所述当前俯仰角度处于预设角度阈值范围内时,基于所述当前惯性传感测量信息确定所述终端设备在所述当前时间点的当前角度关系信息,所述当前角度关系信息与所述终端设备在所述当前时间点的当前航向角度和当前横滚角度相关;
基于所述当前角度关系信息、以及所述终端设备在所述当前时间点的上一时间点所得历史航向角度或者历史横滚角度,确定所述当前航向角度和所述当前横滚角度。
2.根据权利要求1所述的姿态信息获取方法,其特征在于,所述当检测到所述当前俯仰角度处于预设角度阈值范围内时,基于所述当前惯性传感测量信息确定所述终端设备在所述当前时间点的当前角度关系信息,包括:
当检测到所述当前俯仰角度处于预设角度阈值范围内时,确定所述当前俯仰角度所处的具体角度阈值范围;
基于所述具体角度阈值范围,在所述当前惯性传感测量信息中确定所述终端设备在所述当前时间点的当前角度关系信息。
3.根据权利要求2所述的姿态信息获取方法,其特征在于,所述基于所述具体角度阈值范围,在所述当前惯性传感测量信息中确定所述终端设备在所述当前时间点的当前角度关系信息,所述具体角度阈值范围包括第一预设角度阈值范围、以及第二预设角度阈值范围,包括:
当确定所述当前俯仰角度处于所述第一预设角度阈值范围内时,基于所述当前惯性传感测量信息确定所述终端设备在所述当前时间点的第一角度关系信息,所述第一角度关系信息与所述当前航向角度和所述当前横滚角度的角度之和相关;
当确定所述当前俯仰角度处于所述第二预设角度阈值范围内时,基于所述当前惯性传感测量信息确定所述终端设备在所述当前时间点的第二角度关系信息,所述第二角度关系信息与所述当前航向角度和所述当前横滚角度的角度之差相关。
4.根据权利要求1所述的姿态信息获取方法,其特征在于,所述基于所述当前角度关系信息、以及所述终端设备在所述当前时间点的上一时间点所得历史航向角度或者历史横滚角度,确定所述当前航向角度和所述当前横滚角度,包括:
将所述终端设备在所述当前时间点的上一时间点所得历史航向角度确定为当前航向角度;
基于所述当前角度关系信息、以及所述当前航向角度,确定所述当前横滚角度。
5.根据权利要求4所述的姿态信息获取方法,其特征在于,所述基于所述当前角度关系信息、以及所述当前航向角度,确定所述当前横滚角度之后,还包括:
将所述当前时间点的下一时间点更新为当前时间点;
获取所述终端设备上安装的所述惯性传感器在所述当前时间点输出的当前惯性传感测量信息;
基于所述当前惯性传感测量信息确定所述终端设备在所述当前时间点的当前角度关系信息;
将所述终端设备在所述当前时间点的上一时间点所得历史横滚角度确定为当前横滚角度;
基于所述当前角度关系信息、以及所述当前横滚角度,确定所述当前航向角度;
将所述当前时间点的下一时间点更新为当前时间点;
返回所述获取终端设备上安装的惯性传感器在当前时间点输出的当前惯性传感测量信息的步骤,直至满足停止条件。
6.根据权利要求1所述的姿态信息获取方法,其特征在于,所述获取终端设备上安装的惯性传感器在当前时间点输出的当前惯性传感测量信息之前,还包括:
对所述终端设备进行初始对准,得到初始惯性传感测量信息、以及所述终端设备在初始对准时间点的初始航向角度、初始横滚角度、以及初始俯仰角度。
7.根据权利要求1所述的姿态信息获取方法,其特征在于,所述基于所述当前惯性传感测量信息,确定所述终端设备在所述当前时间点的当前俯仰角度之后,还包括:
当检测到所述当前俯仰角度未处于所述预设角度阈值范围内时,基于所述当前惯性传感测量信息确定所述终端设备在所述当前时间点的当前航向角度和当前横滚角度。
8.根据权利要求1所述的姿态信息获取方法,其特征在于,所述基于所述当前惯性传感测量信息,确定所述终端设备在所述当前时间点的当前俯仰角度之后,还包括:
当检测到所述当前俯仰角度处于预设角度阈值范围内时,基于所述预设角度阈值范围对应的预设旋转角度,将所述当前惯性传感测量信息转换为旋转后传感测量信息;
基于所述旋转后传感测量信息确定旋转后俯仰角度、旋转后航向角度、以及旋转后横滚角度;
基于所述预设旋转角度调节所述旋转后俯仰角度、所述旋转后航向角度、以及所述旋转后横滚角度,得到所述终端设备在所述当前时间点的当前俯仰角度、当前航向角度、以及当前横滚角度。
9.根据权利要求1所述的姿态信息获取方法,其特征在于,所述基于所述当前角度关系信息、以及所述终端设备在所述当前时间点的上一时间点所得历史航向角度或者历史横滚角度,确定所述当前航向角度和所述当前横滚角度之后,还包括:
基于所述当前俯仰角度、所述当前航向角度、以及所述当前横滚角度,确定所述终端设备对应的终端设备姿态信息;
基于所述终端设备姿态信息对所述终端设备进行定位得到终端位置信息;
基于所述终端位置信息对所述终端设备进行导航定位操作。
10.一种姿态信息获取装置,其特征在于,包括:
获取单元,用于获取终端设备上安装的惯性传感器在当前时间点输出的当前惯性传感测量信息;
第一确定单元,用于基于所述当前惯性传感测量信息,确定所述终端设备在所述当前时间点的当前俯仰角度;
第二确定单元,用于当检测到所述当前俯仰角度处于预设角度阈值范围内时,基于所述当前惯性传感测量信息确定所述终端设备在所述当前时间点的当前角度关系信息,所述当前角度关系信息与所述终端设备在所述当前时间点的当前航向角度和当前横滚角度相关;
第三确定单元,用于基于所述当前角度关系信息、以及所述终端设备在所述当前时间点的上一时间点所得历史航向角度或者历史横滚角度,确定所述当前航向角度和所述当前横滚角度。
11.一种电子设备,其特征在于,包括存储器和处理器;所述存储器存储有应用程序,所述处理器用于运行所述存储器内的应用程序,以执行权利要求1至9任一项所述的姿态信息获取方法中的操作。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至9任一项所述的姿态信息获取方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311295909.XA CN117091596B (zh) | 2023-10-09 | 2023-10-09 | 一种姿态信息获取方法以及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311295909.XA CN117091596B (zh) | 2023-10-09 | 2023-10-09 | 一种姿态信息获取方法以及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117091596A true CN117091596A (zh) | 2023-11-21 |
CN117091596B CN117091596B (zh) | 2024-06-21 |
Family
ID=88769949
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311295909.XA Active CN117091596B (zh) | 2023-10-09 | 2023-10-09 | 一种姿态信息获取方法以及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117091596B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108318035A (zh) * | 2018-01-08 | 2018-07-24 | 山东大学 | 一种基于欧拉角的姿态测量算法中避免万向节死锁的方法 |
CN109115212A (zh) * | 2018-10-30 | 2019-01-01 | 中国船舶重工集团公司第七0七研究所 | 一种惯导系统全范围姿态角提取方法 |
CN110036259A (zh) * | 2017-09-30 | 2019-07-19 | 华为技术有限公司 | 一种姿态矩阵的计算方法及设备 |
CN111623768A (zh) * | 2020-04-24 | 2020-09-04 | 北京航天控制仪器研究所 | 一种基于克雷洛夫角奇异条件下的姿态角解算方法 |
CN113587925A (zh) * | 2021-07-16 | 2021-11-02 | 湖南航天机电设备与特种材料研究所 | 一种惯性导航系统及其全姿态导航解算方法与装置 |
CN115655271A (zh) * | 2022-12-22 | 2023-01-31 | 中国船舶集团有限公司第七〇七研究所 | 一种动态条件下的大范围姿态角提取方法 |
-
2023
- 2023-10-09 CN CN202311295909.XA patent/CN117091596B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110036259A (zh) * | 2017-09-30 | 2019-07-19 | 华为技术有限公司 | 一种姿态矩阵的计算方法及设备 |
CN108318035A (zh) * | 2018-01-08 | 2018-07-24 | 山东大学 | 一种基于欧拉角的姿态测量算法中避免万向节死锁的方法 |
CN109115212A (zh) * | 2018-10-30 | 2019-01-01 | 中国船舶重工集团公司第七0七研究所 | 一种惯导系统全范围姿态角提取方法 |
CN111623768A (zh) * | 2020-04-24 | 2020-09-04 | 北京航天控制仪器研究所 | 一种基于克雷洛夫角奇异条件下的姿态角解算方法 |
CN113587925A (zh) * | 2021-07-16 | 2021-11-02 | 湖南航天机电设备与特种材料研究所 | 一种惯性导航系统及其全姿态导航解算方法与装置 |
CN115655271A (zh) * | 2022-12-22 | 2023-01-31 | 中国船舶集团有限公司第七〇七研究所 | 一种动态条件下的大范围姿态角提取方法 |
Non-Patent Citations (1)
Title |
---|
刘星: "多维MEMS惯性传感器的姿态解算算法研究", 中国优秀硕士学位论文全文数据库信息科技辑, no. 4, pages 50 - 52 * |
Also Published As
Publication number | Publication date |
---|---|
CN117091596B (zh) | 2024-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107438752B (zh) | 定位方法、终端和服务器 | |
CN110595494A (zh) | 地图误差确定方法和装置 | |
CN110197615B (zh) | 用于生成地图的方法及装置 | |
WO2022105395A1 (en) | Data processing method, apparatus, and system, computer device, and non-transitory storage medium | |
CN112284400B (zh) | 车辆的定位方法、装置、电子设备及计算机可读存储介质 | |
CN112362054B (zh) | 一种标定方法、装置、电子设备及存储介质 | |
CN112643665B (zh) | 一种绝对位姿传感器安装误差的标定方法和装置 | |
WO2024027350A1 (zh) | 车辆定位方法、装置、计算机设备、存储介质 | |
CN111207740A (zh) | 车辆定位的方法、装置、设备和计算机可读介质 | |
CN111121755B (zh) | 一种多传感器的融合定位方法、装置、设备及存储介质 | |
CN110487264B (zh) | 修正地图的方法、装置、电子设备、及存储介质 | |
CN117091596B (zh) | 一种姿态信息获取方法以及相关设备 | |
CN114088104B (zh) | 一种自动驾驶场景下的地图生成方法 | |
CN115792985A (zh) | 一种车辆定位方法、装置、电子设备、存储介质及车辆 | |
CN113900517B (zh) | 线路导航方法和装置、电子设备、计算机可读介质 | |
CN113218380B (zh) | 一种电子罗盘的校正方法、装置、电子设备及存储介质 | |
CN112729349B (zh) | 里程计在线标定的方法、装置、电子设备及存储介质 | |
JP7158109B2 (ja) | 車両加速度計の前進軸のキャリブレーション方法及び装置 | |
CN112859139B (zh) | 一种姿态测量方法、装置及电子设备 | |
CN114035218A (zh) | 融合定位方法、装置、电子设备及存储介质 | |
CN111811500A (zh) | 目标对象的位姿估计方法、装置、存储介质和电子设备 | |
CN110389349B (zh) | 定位方法和装置 | |
CN104995584A (zh) | 计算磁航向 | |
US20220341737A1 (en) | Method and device for navigating | |
CN114323017B (zh) | Ar导航内容生成方法和系统 |
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 |