导航处理方法、装置、导航设备及存储介质与流程

文档序号:21107067发布日期:2020-06-16 21:23阅读:263来源:国知局
导航处理方法、装置、导航设备及存储介质与流程

本申请涉及导航技术领域,尤其涉及一种导航处理方法、装置、导航设备及存储介质。



背景技术:

在当下的组合导航系统中,imu(inertialmeasurementunit,惯性测量装置)的捷联惯导系统是组合导航的核心,对imu的数据处理直接关系着组合导航的姿态、速度、位置精度。尤其是当载体做高动态的动作时,姿态更新显得非常重要,相应的误差就会随之而来。在对imu的数据做处理时主要的误差为锥误差、划船误差和涡卷误差,所谓锥误差是指当陀螺仪在其旋转轴和输出轴出现同频不同相的角振动时,尽管其输入轴不变,但陀螺仪还是能敏感到输出,这就是锥运动造成的误差。而划船误差是指载体沿两正交轴做同频率的角振动和线振动时,会在速度计算中引入划船误差,当载体做划船运动时会在位置解算中引入涡卷误差。经过大量的学者及研究人员的证明,当更新率非常高时,这些误差都会非常小,但是运用到实际工程中,更新频率可能会受到器件计算能力的限制,解算频率并不能太高。

现有技术中,通常采用二子样或多子样方法对imu原始数据进行优化,来减小误差。但是,现有技术中的二子样或多子样方法本身就是一种近似,容易引入误差,使得无人机运动状态不能真实表现出来。

因此,如何在减少误差的基础上降低解算频率成为亟需解决的技术问题。



技术实现要素:

本申请提供一种导航处理方法、装置、导航设备及存储介质,以解决现有技术解算频率高,容易引入误差等缺陷。

本申请第一个方面提供一种导航处理方法,包括:

在初始阶段或者完成一次修正之后,重新实时计算获取累积的imu帧数以及每帧数据的采样周期,累积的速度增量以及累积的角增量;

在根据所述累积的imu帧数以及每帧数据的采样周期,确定待采样时间时,将所述待采样时间所对应的累积的角增量转换成累积的四元数,并根据所述累积的四元数,获取欧拉角;

分别对所述欧拉角以及所述待采样时间对应的累积的速度增量进行修正处理;

根据修正后的欧拉角和修正后的累积的速度增量,采用导航算法,获取当前的位姿。

本申请第二个方面提供一种导航处理装置,包括:

获取模块,用于在初始阶段或者完成一次修正之后,重新实时计算获取累积的imu帧数以及每帧数据的采样周期,累积的速度增量以及累积的角增量;

确定模块,用于在根据所述累积的imu帧数以及每帧数据的采样周期,确定待采样时间时,将所述待采样时间所对应的累积的角增量转换成累积的四元数,并根据所述累积的四元数,获取欧拉角;

处理模块,用于分别对所述欧拉角以及所述待采样时间对应的累积的速度增量进行修正处理;

解算模块,用于根据修正后的欧拉角和修正后的累积的速度增量,采用导航算法,获取当前的位姿。

本申请第三个方面提供一种导航设备,包括:至少一个处理器和存储器;

所述存储器存储计算机程序;所述至少一个处理器执行所述存储器存储的计算机程序,以实现第一个方面提供的方法。

本申请第四个方面提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,所述计算机程序被执行时实现第一个方面提供的方法。

本申请提供的导航处理方法、装置、导航设备及存储介质,通过在初始阶段或者完成一次修正之后,重新实时计算获取累积的imu帧数以及每帧数据的采样周期,累积的速度增量以及累积的角增量;在根据累积的imu帧数以及每帧数据的采样周期,确定待采样时间时,将待采样时间所对应的累积的角增量转换成累积的四元数,并根据累积的四元数,获取欧拉角;分别对欧拉角以及待采样时间对应的累积的速度增量进行修正处理;根据修正后的欧拉角和修正后的累积的速度增量,采用导航算法,获取当前的位姿。可以降低导航设备的采样频率,减少了数据计算量,并且不会引入锥误差、划船误差等。

附图说明

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

图1为本申请一实施例提供的导航处理方法的流程示意图;

图2为本申请一实施例提供的导航处理装置的结构示意图;

图3为本申请一实施例提供的导航设备的结构示意图。

通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。

具体实施方式

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

首先对本申请所涉及的名词进行解释:

imu:inertialmeasurementunit,惯性测量装置,属于捷联式惯导,该装置有两个加速度传感器与三个速度传感器(陀螺)组成,即三轴加速度传感器和三轴陀螺,三轴加速度传感器用来感受飞机相对于地垂线的加速度分量,三轴陀螺用来感受飞机的角度信息,该部件主要有两个a/d转换器与e/eprom存储器构成,a/d转换器采用imu各传感器的模拟变量,转换为数字信息后经过cpu计算后最后输出飞机俯仰角度、倾斜角度与侧滑角度,e/eprom存储器主要存储了imu各传感器的线性曲线图与imu各传感器的件号与序号,部品在刚开机时,图像处理单元读取e/eprom内的线性曲线参数为后续角度计算提供初始信息。

四元数:四元数是简单的超复数。复数是由实数加上虚数单位i组成,其中i^2=-1。相似地,四元数都是由实数加上三个虚数单位i、j、k组成,而且它们有如下的关系:i^2=j^2=k^2=-1,i^0=j^0=k^0=1,每个四元数都是1、i、j和k的线性组合,即四元数一般可表示为a+bk+cj+di,其中a、b、c、d是实数。对于i、j、k本身的几何意义可以理解为一种旋转,其中i旋转代表x轴与y轴相交平面中x轴正向向y轴正向的旋转,j旋转代表z轴与x轴相交平面中z轴正向向x轴正向的旋转,k旋转代表y轴与z轴相交平面中y轴正向向z轴正向的旋转,-i、-j、-k分别代表i、j、k旋转的反向旋转。

欧拉角:用来确定定点转动刚体位置的3个一组独立角参量,由章动角θ、旋进角(即进动角)ψ和自转角j组成,为欧拉首先提出而得名。

本申请实施例提供的导航处理方法,适用于飞机、无人机、轮船等等的导航应用场景。在实际导航应用中,从imu的各传感器获取原始数据,进行一定的修正处理后,基于修正后的速度和角度确定当前的位姿,以减小各传感器造成的累积误差。

此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。在以下各实施例的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。

下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。

实施例一

本实施例提供一种导航处理方法,用于对导航过程的数据处理。本实施例的执行主体为导航处理装置,该装置可以设置在导航设备中。

如图1所示,为本实施例提供的导航处理方法的流程示意图,该方法包括:

步骤101,在初始阶段或者完成一次修正之后,重新实时计算获取累积的imu帧数以及每帧数据的采样周期,累积的速度以及累积的角增量。

步骤102,在根据累积的imu帧数以及每帧数据的采样周期,确定待采样时间时,将待采样时间所对应的累积的角增量转换成累积的四元数,并根据累积的四元数,获取欧拉角。

步骤103,分别对欧拉角以及待采样时间对应的累积的速度增量进行修正处理。

步骤104,根据修正后的欧拉角和修正后的累积的速度增量,采用导航算法,获取当前的位姿。

具体的,导航处理装置实时地从传感器读取imu原始数据,每读取一次称为一帧,每隔一个采样周期读取一帧imu原始数据,每一帧imu原始数据都可能会产生一定的角增量和速度增量,并可能产生一定的误差,随着读取的帧数增多,角增量和速度增量不断累积,同时误差也在累积,因此需要进行修正处理。

本实施例中,每隔一定的待采样时间对累积的角增量和累积的速度增量进行一次修正,因此修正过程是不断重复循环,每次修正后,将相应的参数置零,开始下一轮的修正。

初始阶段是指各传感器最初开始工作,完成一次修正是指按照本申请的导航处理方法对累积的角增量和累积的速度增量进行一次修正。在初始阶段或者完成一次修正之后,重新开始累积角增量和速度增量,即重新实时计算获取累积的imu帧数以及每帧数据的采样周期,累积的速度增量以及累积的角增量,在根据累积的imu帧数以及每帧数据的采样周期,确定待采样时间时,将待采样时间所对应的累积的角增量转换成累积的四元数,并根据累积的四元数,获取欧拉角,分别对欧拉角以及待采样时间对应的累积的速度增量进行修正处理,根据修正后的欧拉角和修正后的累积的速度增量,采用导航算法,获取当前的位姿。

其中,待采样时间是指需要进行位姿解算的时间。当imu原始数据累积到一定帧数,再结合四元数实现对累积的角增量的欧拉角和累积的速度增量进行修正,可以降低导航设备的采样频率,减少了数据计算量,并且不会引入锥误差、划船误差等。对于将待采样时间所对应的累积的角增量转换成累积的四元数,并根据累积的四元数,获取欧拉角的具体转换方式,可以采用现有技术中任意可实施的方式,本实施例不做限定。

分别对欧拉角以及待采样时间对应的累积的速度增量进行修正处理,具体可以是采用各自对应的标度因数和零偏进行修正。

根据修正后的欧拉角和修正后的累积的速度增量,采用导航算法,获取当前的位姿,是现有技术,在此不再赘述。

本实施例提供的导航处理方法,通过在初始阶段或者完成一次修正之后,重新实时计算获取累积的imu帧数以及每帧数据的采样周期,累积的速度增量以及累积的角增量;在根据累积的imu帧数以及每帧数据的采样周期,确定待采样时间时,将待采样时间所对应的累积的角增量转换成累积的四元数,并根据累积的四元数,获取欧拉角;分别对欧拉角以及待采样时间对应的累积的速度增量进行修正处理;根据修正后的欧拉角和修正后的累积的速度增量,采用导航算法,获取当前的位姿。可以降低导航设备的采样频率,减少了数据计算量,并且不会引入锥误差、划船误差等。

实施例二

本实施例对实施例一提供的方法做进一步补充说明。

作为一种可实施的方式,在上述实施例一的基础上,可选地,将待采样时间所对应的累积的角增量转换成累积的四元数,并根据累积的四元数,获取欧拉角,包括:

步骤2011,将待采样时间所对应的累积的角增量转换成累积的四元数,并将累积的四元数进行归一化处理,获取归一化的四元数。

具体的,在到达了待采样时间后,将待采样时间所对应的累积的角增量转换成累积的四元数,示例性的,若在第s帧时到达了待采样时间,则将第s帧对应的累积的角增量转换成累积的四元数。在确定了累积的四元数后,对累积的四元数进行归一化处理,获取归一化的四元数。

步骤2012,将归一化的四元数进行转换处理,获取欧拉角。

具体的,将归一化的四元数转换成欧拉角的方式可以为任意可实施的方式,本实施例不做限定。

可选地,获取累积的角增量,具体可以包括:

步骤2021,逐帧获取imu原始数据中的三轴陀螺数据:g0x(i),g0y(i)和g0z(i)。

步骤2022,对于每帧imu原始数据,执行以下步骤:

步骤20221,根据三轴陀螺数据,分别采用如下公式获取该帧的角增量:

步骤20222,根据该帧的角增量,采用如下公式获取该帧对应的累积的角增量:

gcx(i)=gcx(i-1)+g1x(i)

gcy(i)=gcy(i-1)+g1y(i)

gcz(i)=gcz(i-1)+g1z(i)

其中,g0x(i),g0y(i),g0z(i)表示第i帧imu原始数据中的三轴陀螺数据;g1x(i),g1y(i),g1z(i)表示第i帧这一帧的角增量,其中,x,y,z分别表示三轴陀螺的三个轴,δt表示每帧数据的采样周期,gcx(i),gcy(i),gcz(i)表示至第i帧产生的累积的角增量,i为正整数,gcx(0)=0,gcy(0)=0,gcz(0)=0。

可选地,步骤2011具体可以包括:

步骤20111,根据待采样时间t所对应的累积的角增量,采用如下公式确定转换角度值:

步骤20112,根据转换角度值,采用如下公式确定累积的四元数:

其中,u为三轴陀螺累积的角增量,是三维矢量,u=[gcx(s),gcy(s),gcz(s)];gcx(s),gcy(s),gcz(s)表示至待采样时间所对应的第s帧时产生的累积的角增量,s=t/δt。

步骤20113,根据累积的四元数,采用如下公式获取归一化的四元数:

其中,q表示累积的四元数,q=[q0,q1,q2,q3],qg表示归一化的四元数,qg=[qg0,qg1,qg2,qg3]。

可选地,获取累积的速度增量,包括:

步骤2031,逐帧获取imu原始数据中的三轴加速度数据:a0x(i),a0y(i)和a0z(i);

步骤2032,对于每帧imu原始数据,执行以下步骤:

步骤20321,根据三轴加速度数据,分别采用如下公式获取该帧的速度增量:

a1x(i)=a0x(i)×δt

a1y(i)=a0y(i)×δt

a1z(i)=a0z(i)×δt

步骤20322,根据该帧对应的累积的角增量,确定该帧对应的累积的四元数;

步骤20323,根据该帧对应的归一化的四元数,采用如下公式确定该帧对应的姿态矩阵:

步骤20324,根据该帧对应的姿态矩阵,采用如下公式,获取该帧对应的累积的速度增量:

其中,acx(i),acy(i),acz(i)表示第i帧对应的累积的速度增量,其中,x,y,z分别表示三轴加速度传感器的三个轴,i为正整数,acx(0)=0,acy(0)=0,acz(0)=0,表示姿态矩阵,qgi=[qgi0,qgi1,qgi2,qgi3]表示第i帧对应的归一化的四元数。

可选地,步骤2012具体可以包括:

步骤20121,根据归一化的四元数,采用如下公式获取欧拉角:

其中,v(1),v(2),v(3)表示欧拉角,qg1,qg2,qg3为归一化的四元数qg中的后三个元素;

作为另一种可实施的方式,在上述实施例的基础上,可选地,根据累积的imu帧数以及每帧数据的采样周期,确定待采样时间,包括:

步骤2041,实时根据累积的imu帧数ic以及每帧数据的采样周期δt,采用公式t=ic×δt,计算获取t。

步骤2042,当t等于或大于预配置的采样时间时,将等于或大于预配置的采样时间的t确定为待采样时间。

其中,预配置的采样时间可以根据实际需求进行设置,本实施例不做限定。

作为再一种可实施的方式,在上述实施例的基础上,可选地,步骤103具体可以包括:

步骤1031,获取累积的角增量对应的标度因数和零偏,并根据累积的角增量对应的标度因数和零偏,对欧拉角进行修正处理;

步骤1032,获取累积的速度增量对应的标度因数和零偏,并根据累积的速度增量对应的标度因数和零偏,对待采样时间对应的累积的速度增量进行修正处理。

其中,步骤1031和步骤1032没有先后顺序。

可选地,根据累积的角增量对应的标度因数和零偏,对欧拉角进行修正处理,包括:

根据累积的角增量对应的标度因数和零偏,分别采用如下公式获取修正后的欧拉角:

vsx(1)=kgyrox×v(1)-bias_gyrox

vsy(2)=kgyroy×v(2)-bias_gyroy

vsz(3)=kgyroz×v(3)-bias_gyroz

其中,v(1),v(2),v(3)表示欧拉角,vsx(1),vsy(1),vsz(1)表示修正后的欧拉角,kgyrox、kgyroy、kgyroz表示累积的角增量对应的标度因数,即三轴陀螺的标度因数,bias_gyrox、bias_gyroy、bias_gyroz表示累积的角增量对应的零偏,即三轴陀螺的零偏。

可选地,根据累积的速度增量对应的标度因数和零偏,对待采样时间对应的累积的速度增量进行修正处理,包括:

根据累积的速度增量对应的标度因数和零偏,分别采用如下公式获取修正后的速度增量:

ascx(s)=kaccx×acx(s)-bias_accx

ascy(s)=kaccy×acy(s)-bias_accy

ascz(s)=kaccz×acz(s)-bias_accz

其中,ascx(s),ascy(s),ascz(s)表示待采样时间所对应的第s帧修正后的速度增量,kaccx、kaccy、kaccz表示累积的速度增量对应的标度因数,即三轴加速度传感器的标度因数,bias_accx、bias_accy、bias_accz表示累积的速度增量对应的零偏,即三轴加速度传感器的零偏,s=t/δt。

对于本实施例中涉及到的三轴加速传感器及三轴陀螺的标度因数和零偏是预先获得的,比如三轴陀螺的标度因数可以通过专业设备标定得出,三轴陀螺的零偏可以将imu静止几分钟得到的数据求平均获得等,此不为本申请所关注的重点,本申请实施例不做限定。

可选地,对于修正后的欧拉角和修正后的累积的速度增量,可以存入缓冲区,以备组合导航算法进行计算用。

示例性的,以下以一次完整的修正过程为例,进行说明:

在初始阶段或者完成一次修正后,将累积的帧数、累积的角增量、累积的四元数、累积的速度增量均置零。

第一部分,按照每帧数据的采样周期开始读取imu原始数据,每读取一帧,对该帧imu原始数据进行处理:

步骤2051,以第i帧为例,该imu原始数据包括三轴陀螺数据g0x(i),g0y(i)和g0z(i),及三轴加速度数据a0x(i),a0y(i)和a0z(i);每帧数据的采样周期为δt。三轴陀螺数据的单位为度/秒(°/s);三轴加速度数据的单位为米/平方秒(m/s2)。

步骤2052,对该帧imu原始数据进行处理,得到该帧的角增量和速度增量,具体如下;

根据三轴陀螺数据,分别采用如下公式获取该帧的角增量:

其中,角增量的单位为弧度。

根据三轴加速度数据,分别采用如下公式获取该帧的速度增量:

a1x(i)=a0x(i)×δt

a1y(i)=a0y(i)×δt

a1z(i)=a0z(i)×δt

其中,速度增量的单位为米/秒(m/s)。

步骤2053,实时计算累积的imu的时间周期t(i)=t(i-1)+δt。

步骤2054,实时计算该帧对应的累积的角增量,具体如下:

根据该帧的角增量,采用如下公式获取该帧对应的累积的角增量:

gcx(i)=gcx(i-1)+g1x(i)

gcy(i)=gcy(i-1)+g1y(i)

gcz(i)=gcz(i-1)+g1z(i)

其中,g0x(i),g0y(i),g0z(i)表示第i帧imu原始数据中的三轴陀螺数据;g1x(i),g1y(i),g1z(i)表示第i帧这一帧的角增量,δt表示每帧数据的采样周期,gcx(i),gcy(i),gcz(i)表示至第i帧产生的累积的角增量,i为正整数,gcx(0)=0,gcy(0)=0,gcz(0)=0。

步骤2055,实时计算该帧对应的累积的角增量所对应的累积的四元数,具体如下:

根据该帧对应的累积的角增量,采用如下公式确定转换角度值:

根据转换角度值,采用如下公式确定该帧对应的累积的四元数:

其中,ui为该帧对应的三轴陀螺累积的角增量,是三维矢量;gcx(i),gcy(i),gcz(i)表示第i帧对应的累积的角增量;

根据该帧对应的累积的四元数,采用如下公式获取归一化的四元数:

其中,qi表示第i帧对应的累积的四元数,qi=[qi0,qi1,qi2,qi3],qgi表示第i帧对应的归一化的四元数,qgi=[qgi0,qgi1,qgi2,qgi3]。

步骤2056,实时计算该帧对应的姿态矩阵,具体为采用该帧对应的归一化的四元数进行转换获得,具体如下:

根据该帧对应的归一化的四元数,采用如下公式确定该帧对应的姿态矩阵:

步骤2057,实时计算该帧对应的累积的速度,并记录累积的imu帧数ic(i),也即上述的ic,具体如下:

根据该帧对应的姿态矩阵,采用如下公式,获取该帧对应的累积的速度增量:

ic(i)=ic(i-1)+1

其中,acx(i),acy(i),acz(i)表示第i帧对应的累积的速度增量,i为正整数,acx(0)=0,acy(0)=0,acz(0)=0,表示第i帧对应的姿态矩阵,qgi=[qgi0,qgi1,qgi2,qgi3]表示第i帧对应的归一化的四元数。

步骤2058,判断是否到达待采样时间,具体如下:

实时根据该帧对应的累积的imu帧数ic(i)以及每帧数据的采样周期δt,采用公式t=ic(i)×δt,计算获取t,并判断t是否等于或大于预配置的采样时间。当t等于或大于预配置的采样时间时,将等于或大于预配置的采样时间的t确定为待采样时间。若在第i=s帧时确定了了采样时间t,即确定了下降到的采样频率,比如每帧数据的采样频率为400hz,预配置的采样时间为0.01,t≥0.01即下降到100hz,则开始执行以下第二部分的过程。

具体可以下降到的解算频率可以为,只要小于400hz都可以,优选的为100hz,还可以是200hz、300hz、150hz等任意小于400hz的频率。

第二部分,对下降到特定采样频率的累积的角增量和累积的速度增量进行修正处理,具体包括以下步骤:

步骤2061,将下降到特定采样频率的累积的角增量转换成欧拉角,具体如下:

根据归一化的四元数,采用如下公式获取欧拉角:

其中,v(1),v(2),v(3)表示欧拉角,qg1,qg2,qg3为归一化的四元数qg中的后三个元素;

累积的角增量在第一部分的计算过程中获得:这里是第s帧,为了与每帧i的计算区分,这里再次说明过程,具体计算过程与第一部分一样,这里只是对结果的不同符号区分:

根据待采样时间t所对应的累积的角增量,采用如下公式确定转换角度值:

根据转换角度值,采用如下公式确定累积的四元数:

其中,u为三轴陀螺累积的角增量,是三维矢量;gcx(s),gcy(s),gcz(s)表示至待采样时间所对应的第s帧时产生的累积的角增量,s=t/δt;

根据累积的四元数,采用如下公式获取归一化的四元数:

其中,q表示累积的四元数,q=[q0,q1,q2,q3],qg表示归一化的四元数,qg=[qg0,qg1,qg2,qg3]。

根据归一化的四元数,采用如下公式获取欧拉角:

其中,v(1),v(2),v(3)表示欧拉角,qg1,qg2,qg3为归一化的四元数qg中的后三个元素;

步骤2062,对上述欧拉角以及待采样时间t对应的累积的速度增量进行修正处理,具体如下:

获取累积的角增量对应的标度因数和零偏,并根据累积的角增量对应的标度因数和零偏,分别采用如下公式获取修正后的欧拉角:

vsx(1)=kgyrox×v(1)-bias_gyrox

vsy(2)=kgyroy×v(2)-bias_gyroy

vsz(3)=kgyroz×v(3)-bias_gyroz

其中,v(1),v(2),v(3)表示欧拉角,vsx(1),vsy(1),vsz(1)表示修正后的欧拉角,kgyrox、kgyroy、kgyroz表示累积的角增量对应的标度因数,bias_gyrox、bias_gyroy、bias_gyroz表示累积的角增量对应的零偏。

获取累积的速度增量对应的标度因数和零偏,并根据累积的速度增量对应的标度因数和零偏,分别采用如下公式获取修正后的速度增量:

ascx(s)=kaccx×acx(s)-bias_accx

ascy(s)=kaccy×acy(s)-bias_accy

ascz(s)=kaccz×acz(s)-bias_accz

其中,ascx(s),ascy(s),ascz(s)表示待采样时间所对应的第s帧修正后的速度增量,kaccx、kaccy、kaccz表示累积的速度增量对应的标度因数,bias_accx、bias_accy、bias_accz表示累积的速度增量对应的零偏,s=t/δt。

需要说明的是,本实施例中各可实施的方式可以单独实施,也可以在不冲突的情况下以任意组合方式结合实施本申请不做限定。

本实施例提供的导航处理方法,通过在初始阶段或者完成一次修正之后,重新实时计算获取累积的imu帧数以及每帧数据的采样周期,累积的速度增量以及累积的角增量;在根据累积的imu帧数以及每帧数据的采样周期,确定待采样时间时,将待采样时间所对应的累积的角增量转换成累积的四元数,并根据累积的四元数,获取欧拉角;分别对欧拉角以及待采样时间对应的累积的速度增量进行修正处理;根据修正后的欧拉角和修正后的累积的速度增量,采用导航算法,获取当前的位姿。可以降低导航设备的采样频率,减少了数据计算量,并且不会引入锥误差、划船误差等。

实施例三

本实施例提供一种导航处理装置,用于执行上述实施例一的方法。

如图2所示,为本实施例提供的导航处理装置的结构示意图。该导航处理装置30包括获取模块31、确定模块32、处理模块33和解算模块34。

其中,获取模块31用于在初始阶段或者完成一次修正之后,重新实时计算获取累积的imu帧数以及每帧数据的采样周期,累积的速度增量以及累积的角增量;确定模块32用于在根据累积的imu帧数以及每帧数据的采样周期,确定待采样时间时,将待采样时间所对应的累积的角增量转换成累积的四元数,并根据累积的四元数,获取欧拉角;处理模块33用于分别对欧拉角以及待采样时间对应的累积的速度增量进行修正处理;解算模块34用于根据修正后的欧拉角和修正后的累积的速度增量,采用导航算法,获取当前的位姿。

关于本实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

根据本实施例提供的导航处理装置,通过在初始阶段或者完成一次修正之后,重新实时计算获取累积的imu帧数以及每帧数据的采样周期,累积的速度增量以及累积的角增量;在根据累积的imu帧数以及每帧数据的采样周期,确定待采样时间时,将待采样时间所对应的累积的角增量转换成累积的四元数,并根据累积的四元数,获取欧拉角;分别对欧拉角以及待采样时间对应的累积的速度增量进行修正处理;根据修正后的欧拉角和修正后的累积的速度增量,采用导航算法,获取当前的位姿。可以降低导航设备的采样频率,减少了数据计算量,并且不会引入锥误差、划船误差等。

实施例四

本实施例对上述实施例三提供的装置做进一步补充说明。

作为一种可实施的方式,在上述实施例三的基础上,可选地,确定模块,具体用于:

将待采样时间所对应的累积的角增量转换成累积的四元数,并将累积的四元数进行归一化处理,获取归一化的四元数;

将归一化的四元数进行转换处理,获取欧拉角。

可选地,获取模块,具体用于:

逐帧获取imu原始数据中的三轴陀螺数据:g0x(i),g0y(i)和g0z(i);

对于每帧imu原始数据,执行以下步骤:

根据三轴陀螺数据,分别采用如下公式获取该帧的角增量:

根据该帧的角增量,采用如下公式获取该帧对应的累积的角增量:

gcx(i)=gcx(i-1)+g1x(i)

gcy(i)=gcy(i-1)+g1y(i)

gcz(i)=gcz(i-1)+g1z(i)

其中,g0x(i),g0y(i),g0z(i)表示第i帧imu原始数据中的三轴陀螺数据;g1x(i),g1y(i),g1z(i)表示第i帧这一帧的角增量,δt表示每帧数据的采样周期,gcx(i),gcy(i),gcz(i)表示至第i帧产生的累积的角增量,i为正整数,gcx(0)=0,gcy(0)=0,gcz(0)=0。

可选地,确定模块,具体用于:

根据待采样时间t所对应的累积的角增量,采用如下公式确定转换角度值:

根据转换角度值,采用如下公式确定累积的四元数:

其中,u为三轴陀螺累积的角增量,是三维矢量;gcx(s),gcy(s),gcz(s)表示至待采样时间所对应的第s帧时产生的累积的角增量,s=t/δt;

根据累积的四元数,采用如下公式获取归一化的四元数:

其中,q表示累积的四元数,q=[q0,q1,q2,q3],qg表示归一化的四元数,qg=[qg0,qg1,qg2,qg3]。

可选地,确定模块,具体用于:

根据归一化的四元数,采用如下公式获取欧拉角:

其中,v(1),v(2),v(3)表示欧拉角,qg1,qg2,qg3为归一化的四元数qg中的后三个元素;

可选地,获取模块,具体用于:

逐帧获取imu原始数据中的三轴加速度数据:a0x(i),a0y(i)和a0z(i);

对于每帧imu原始数据,执行以下步骤:

根据三轴加速度数据,分别采用如下公式获取该帧的速度增量:

a1x(i)=a0x(i)×δt

a1y(i)=a0y(i)×δt

a1z(i)=a0z(i)×δt

并根据该帧对应的累积的角增量,确定该帧对应的累积的四元数;

根据该帧对应的归一化的四元数,采用如下公式确定该帧对应的姿态矩阵:

根据该帧对应的姿态矩阵,采用如下公式,获取该帧对应的累积的速度增量:

其中,acx(i),acy(i),acz(i)表示第i帧对应的累积的速度增量,i为正整数,acx(0)=0,acy(0)=0,acz(0)=0,表示姿态矩阵。

作为另一种可实施的方式,在上述实施例三的基础上,可选地,确定模块,具体用于:

实时根据累积的imu帧数ic(i)以及每帧数据的采样周期δt,采用公式t=ic(i)×δt,计算获取t;

当t等于或大于预配置的采样时间时,将等于或大于预配置的采样时间的t确定为待采样时间。

作为再一种可实施的方式,在上述实施例三的基础上,可选地,处理模块,具体用于:

获取累积的角增量对应的标度因数和零偏,并根据累积的角增量对应的标度因数和零偏,对欧拉角进行修正处理;

获取累积的速度增量对应的标度因数和零偏,并根据累积的速度增量对应的标度因数和零偏,对待采样时间对应的累积的速度增量进行修正处理。

可选地,处理模块,具体用于:

根据累积的角增量对应的标度因数和零偏,分别采用如下公式获取修正后的欧拉角:

vsx(1)=kgyrox×v(1)-bias_gyrox

vsy(2)=kgyroy×v(2)-bias_gyroy

vsz(3)=kgyroz×v(3)-bias_gyroz

其中,v(1),v(2),v(3)表示欧拉角,vsx(1),vsy(1),vsz(1)表示修正后的欧拉角,kgyrox、kgyroy、kgyroz表示累积的角增量对应的标度因数,bias_gyrox、bias_gyroy、bias_gyroz表示累积的角增量对应的零偏。

可选地,处理模块,具体用于:

根据累积的速度增量对应的标度因数和零偏,分别采用如下公式获取修正后的速度增量:

ascx(s)=kaccx×acx(s)-bias_accx

ascy(s)=kaccy×acy(s)-bias_accy

ascz(s)=kaccz×acz(s)-bias_accz

其中,ascx(s),ascy(s),ascz(s)表示待采样时间所对应的第s帧修正后的速度增量,kaccx、kaccy、kaccz表示累积的速度增量对应的标度因数,bias_accx、bias_accy、bias_accz表示累积的速度增量对应的零偏,s=t/δt。

关于本实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

需要说明的是,本实施例中各可实施的方式可以单独实施,也可以在不冲突的情况下以任意组合方式结合实施本申请不做限定。

根据本实施例的导航处理装置,通过在初始阶段或者完成一次修正之后,重新实时计算获取累积的imu帧数以及每帧数据的采样周期,累积的速度增量以及累积的角增量;在根据累积的imu帧数以及每帧数据的采样周期,确定待采样时间时,将待采样时间所对应的累积的角增量转换成累积的四元数,并根据累积的四元数,获取欧拉角;分别对欧拉角以及待采样时间对应的累积的速度增量进行修正处理;根据修正后的欧拉角和修正后的累积的速度增量,采用导航算法,获取当前的位姿。可以降低导航设备的采样频率,减少了数据计算量,并且不会引入锥误差、划船误差等。

实施例五

本实施例提供一种导航设备,用于执行上述实施例提供的方法。

如图3所示,为本实施例提供的导航设备的结构示意图。该导航设备50包括:至少一个处理器51和存储器52;

存储器存储计算机程序;至少一个处理器执行存储器存储的计算机程序,以实现上述实施例提供的方法。

可选地,该导航设备可以为imu设备。

可选地,该导航设备还可以包括上述三轴加速度传感器和三轴陀螺。

根据本实施例的导航设备,通过在初始阶段或者完成一次修正之后,重新实时计算获取累积的imu帧数以及每帧数据的采样周期,累积的速度增量以及累积的角增量;在根据累积的imu帧数以及每帧数据的采样周期,确定待采样时间时,将待采样时间所对应的累积的角增量转换成累积的四元数,并根据累积的四元数,获取欧拉角;分别对欧拉角以及待采样时间对应的累积的速度增量进行修正处理;根据修正后的欧拉角和修正后的累积的速度增量,采用导航算法,获取当前的位姿。可以降低导航设备的采样频率,减少了数据计算量,并且不会引入锥误差、划船误差等。

实施例六

本实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,计算机程序被执行时实现上述任一实施例提供的方法。

根据本实施例的计算机可读存储介质,通过在初始阶段或者完成一次修正之后,重新实时计算获取累积的imu帧数以及每帧数据的采样周期,累积的速度增量以及累积的角增量;在根据累积的imu帧数以及每帧数据的采样周期,确定待采样时间时,将待采样时间所对应的累积的角增量转换成累积的四元数,并根据累积的四元数,获取欧拉角;分别对欧拉角以及待采样时间对应的累积的速度增量进行修正处理;根据修正后的欧拉角和修正后的累积的速度增量,采用导航算法,获取当前的位姿。可以降低导航设备的采样频率,减少了数据计算量,并且不会引入锥误差、划船误差等。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

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