基于神经网络模型的惯性测量数据补偿方法及装置与流程

文档序号:26355875发布日期:2021-08-20 20:30阅读:100来源:国知局
基于神经网络模型的惯性测量数据补偿方法及装置与流程

本申请涉及导航技术领域,尤其涉及一种基于神经网络模型的惯性测量数据补偿方法及装置。



背景技术:

相关技术中,车辆导航多依赖于卫星定位模块例如gps(globalpositioningsystem,全球定位系统)卫星定位模块。但在某些场景下,例如桥下,涵洞,隧道,密集楼宇之间等gps信号不好的位置,相关技术的卫星定位模块的定位偏差很大,甚至无法提供定位结果。而包含惯性测量单元(inertialmeasurementunit,简称imu)的惯性导航系统,可以利用惯性测量单元的测量数据,能够推算出车辆准确的速度、姿态和位置信息。

惯性导航系统利用惯性测量单元的加速度计和陀螺仪的测量数据推算车辆的速度、姿态和位置信息。然而,惯性测量单元中的加速度计和陀螺仪一般只能测量基于车辆某一方向上的变速信号,而且要保持一致的坡度稳定性,因此,车辆在有坡度的道路行驶时,加速度计和陀螺仪的测量数据与真实数据会有所偏差,导致利用惯性测量单元的测量数据进行定位导航的精度降低。因此如何降低道路坡度对惯性测量单元的测量数据的影响,降低道路坡度引起的惯性测量单元的测量误差,是一个亟待解决的技术问题。



技术实现要素:

为解决或部分解决相关技术中存在的问题,本申请提供一种基于神经网络模型的惯性测量数据补偿方法及装置,能够对惯性测量数据进行坡度补偿,降低坡度引起的惯性测量单元的测量误差。

本申请第一方面提供一种基于神经网络模型的惯性测量数据补偿方法,所述方法包括:

向待训练的神经网络模型输入同一时间段的惯性测量单元的测量数据序列、定位模块的位置数据序列;

使所述待训练的神经网络模型依据所述位置数据序列对所述测量数据序列进行坡度补偿,输出imu补偿数据序列,依据所述imu补偿数据序列推算获得车辆的轨迹点推算位置数据序列,依据所述车辆的轨迹点推算位置数据序列、所述位置数据序列,获得训练好的所述神经网络模型;

向训练好的所述神经网络模型输入惯性测量单元的测量数据序列、定位模块的位置数据序列,获取训练好的所述神经网络模型输出的imu补偿数据序列。

优选的,所述使所述待训练的神经网络模型依据所述位置数据序列对所述测量数据序列进行坡度补偿,输出imu补偿数据序列,依据所述imu补偿数据序列推算获得车辆的轨迹点推算位置数据序列,依据所述车辆的轨迹点推算位置数据序列、所述位置数据序列,获得训练好的所述神经网络模型,包括:

使所述待训练的神经网络模型依据所述位置数据序列,获得所述同一时间段每个时刻所述车辆的俯仰角;

依据所述每个时刻所述车辆的俯仰角、对所述测量数据序列进行坡度补偿,输出所述imu补偿数据序列;

依据所述imu补偿数据序列推算获得所述车辆的轨迹点推算位置数据序列;

如果所述车辆的轨迹点推算位置数据序列与所述位置数据序列的误差小于预设阈值,停止对所述待训练的神经网络模型的训练,获得训练好的所述神经网络模型。

优选的,所述方法还包括:

如果所述车辆的轨迹点推算位置数据序列与所述位置数据序列的误差大于或等于所述预设阈值,调整所述每个时刻所述车辆的俯仰角;

依据调整后的所述每个时刻所述车辆的俯仰角、对所述测量数据序列每个时刻的测量数据进行坡度补偿,输出imu补偿数据序列;

依据所述imu补偿数据序列推算获得所述车辆的轨迹点推算位置数据序列;

如果所述车辆的轨迹点推算位置数据序列与所述位置数据序列的误差小于所述预设阈值,停止对所述待训练的神经网络模型的训练,获得训练好的所述神经网络模型。

优选的,所述依据所述每个时刻所述车辆的俯仰角、对所述测量数据序列进行坡度补偿,输出所述imu补偿数据序列,包括:

依据所述每个时刻所述车辆的俯仰角、对所述测量数据序列每个时刻的测量数据进行坡度补偿,输出所述imu补偿数据序列,其中,依据如下公式对所述测量数据序列每个时刻的测量数据进行坡度补偿:

accy,i=accy0,i*cosai+accz0,i*sinai;

gyroy,i=gyroy0,i*sinai+gyroz0,i*cosai;

式中,accy,i是坡度补偿后加速度计y轴时刻i的补偿加速度数据,accy0,i是加速度计y轴时刻i的加速度数据,accz0,i是加速度计z轴时刻i的加速度数据;gyroy,i是坡度补偿后陀螺仪y轴时刻i的补偿角速度数据,gyroy0,i是陀螺仪y轴时刻i的角速度数据,gyroz0,i是陀螺仪z轴时刻i的角速度数据,ai是车辆时刻i的俯仰角。

本申请第二方面提供一种基于神经网络模型的惯性测量数据补偿装置,所述装置包括:

第一输入模块,用于向待训练的神经网络模型输入同一时间段的惯性测量单元的测量数据序列、定位模块的位置数据序列;

训练模块,用于使所述待训练的神经网络模型依据所述第一输入模块输入的所述位置数据序列对所述第一输入模块输入的所述测量数据序列进行坡度补偿,输出imu补偿数据序列,依据所述imu补偿数据序列推算获得车辆的轨迹点推算位置数据序列,依据所述车辆的轨迹点推算位置数据序列、所述第一输入模块输入的所述位置数据序列,获得训练好的所述神经网络模型;

补偿数据获取模块,用于向训练好的所述神经网络模型输入惯性测量单元的测量数据序列、定位模块的位置数据序列,获取训练好的所述神经网络模型输出的imu补偿数据序列。

优选的,所述训练模块包括:

角度获取子模块,用于使所述待训练的神经网络模型依据所述第一输入模块输入的所述位置数据序列,获得所述同一时间段每个时刻所述车辆的俯仰角;

补偿子模块,用于依据所述角度获取子模块获得的所述每个时刻所述车辆的俯仰角、对所述第一输入模块输入的所述测量数据序列进行坡度补偿,输出所述imu补偿数据序列;

轨迹子模块,用于依据所述补偿子模块获得的所述imu补偿数据序列推算获得所述车辆的轨迹点推算位置数据序列;

判断子模块,用于判断所述轨迹子模块获得的所述车辆的轨迹点推算位置数据序列与所述第一输入模块输入的所述位置数据序列的误差是否小于预设阈值;

停止子模块,用于如果所述判断子模块判断所述车辆的轨迹点推算位置数据序列与所述位置数据序列的误差小于所述预设阈值,停止对所述待训练的神经网络模型的训练,获得训练好的所述神经网络模型。

优选的,所述训练模块还包括:

调整子模块,用于如果所述判断子模块判断所述车辆的轨迹点推算位置数据序列与所述位置数据序列的误差大于或等于所述预设阈值,调整所述每个时刻所述车辆的俯仰角;

所述补偿子模块,还用于依据所述调整子模块调整后的所述每个时刻所述车辆的俯仰角、对所述第一输入模块输入的所述测量数据序列每个时刻的测量数据进行坡度补偿,输出imu补偿数据序列。

优选的,所述补偿子模块具体用于:

依据所述每个时刻所述车辆的俯仰角、对所述测量数据序列每个时刻的测量数据进行坡度补偿,输出所述imu补偿数据序列,其中,所述补偿子模块依据如下公式对所述测量数据序列每个时刻的测量数据进行坡度补偿:

accy,i=accy0,i*cosai+accz0,i*sinai;

gyroy,i=gyroy0,i*sinai+gyroz0,i*cosai;

式中,accy,i是坡度补偿后加速度计y轴时刻i的补偿加速度数据,accy0,i是加速度计y轴时刻i的加速度数据,accz0,i是加速度计z轴时刻i的加速度数据;gyroy,i是坡度补偿后陀螺仪y轴时刻i的补偿角速度数据,gyroy0,i是陀螺仪y轴时刻i的角速度数据,gyroz0,i是陀螺仪z轴时刻i的角速度数据,ai是车辆时刻i的俯仰角。

本申请第三方面提供一种电子设备,包括:

处理器;以及

存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如上所述的方法。

本申请第四方面提供一种非暂时性机器可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如上所述的方法。

本申请提供的技术方案可以包括以下有益效果:

本申请的技术方案,以同一时间段的惯性测量单元的测量数据序列和定位模块的位置数据序列为待训练的神经网络模型的训练样本,通过使待训练的神经网络模型依据位置数据序列对惯性测量单元的测量数据序列进行坡度补偿,输出imu补偿数据序列;依据imu补偿数据序列推算获得车辆的轨迹点推算位置数据序列,依据车辆的轨迹点推算位置数据序列、位置数据序列,获得训练好的神经网络模型;向训练好的神经网络模型输入惯性测量单元的测量数据序列和定位模块的位置数据序列,获取训练好的神经网络模型输出的imu补偿数据序列;能够基于神经网络模型对惯性测量单元测量数据进行坡度补偿,降低坡度引起的惯性测量单元的测量误差,获得降低测量误差的惯性测量单元的imu补偿数据序列。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

附图说明

通过结合附图对本申请示例性实施方式进行更详细的描述,本申请的上述以及其它目的、特征和优势将变得更加明显,其中,在本申请示例性实施方式中,相同的参考标号通常代表相同部件。

图1是本申请实施例示出的基于神经网络模型的惯性测量数据补偿方法的流程示意图;

图2是本申请实施例示出的基于神经网络模型的惯性测量数据补偿方法的另一流程示意图;

图3是本申请实施例示出的基于神经网络模型的惯性测量数据补偿装置的结构示意图;

图4是本申请实施例示出的电子设备的结构示意图。

具体实施方式

下面将参照附图更详细地描述本申请的实施方式。虽然附图中显示了本申请的实施方式,然而应该理解,可以以各种形式实现本申请而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本申请更加透彻和完整,并且能够将本申请的范围完整地传达给本领域的技术人员。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语“第一”、“第二”、“第三”等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。

本申请实施例提供一种基于神经网络模型的惯性测量数据补偿方法,能够对惯性测量数据进行坡度补偿,降低坡度引起的惯性测量单元的测量误差。

以下结合附图详细描述本申请实施例的技术方案。

实施例一:

图1是本申请实施例示出的基于神经网络模型的惯性测量数据补偿方法的流程示意图。

参见图1,一种基于神经网络模型的惯性测量数据补偿方法,包括:

在步骤101中,向待训练的神经网络模型输入同一时间段的惯性测量单元的测量数据序列、定位模块的位置数据序列。

在一种具体实施方式中,车辆上设有惯性测量单元、定位模块。惯性测量单元包括加速度计和陀螺仪,惯性测量单元的测量数据包括惯性测量单元的加速度计的加速度、陀螺仪的角速度。可以通过惯性测量单元的加速度计获得的车辆的加速度、惯性测量单元的陀螺仪获得的车辆的角速度。定位模块可以包括但不限于gps卫星模块、北斗卫星定位模块、rtk(real time kinematic,实时动态)定位模块等卫星定位模块中的至少一种。利用定位模块可以获得车辆的定位信息,该定位信息可以包括但不限于位置数据、速度信息和姿态信息。位置数据包括但不限于描述位置的三维数据:经度坐标、纬度坐标和高度,姿态信息包括但不限于描述航向的航向角信息。

在一种具体实施方式中,在车辆rtk定位模块信号可用的情况下,获得车辆一个时间段的定位信息,依据车辆一个时间段的定位信息获取车辆一个时间段的位置数据序列。在通过rtk定位模块获取车辆一个时间段的位置数据序列时,通过惯性测量单元获取同一个时间段的车辆的测量数据序列,测量数据序列包括加速度计x轴、y轴、z轴的加速度和陀螺仪x轴、y轴、z轴的角速度。向待训练的神经网络模型输入同一时间段的惯性测量单元的测量数据序列、定位模块的位置数据序列。

可以理解的是,在获取定位模块的位置数据序列时,同时获取惯性测量单元的测量数据序列,定位模块的位置数据序列和惯性测量单元的测量数据序列在时间上是对齐的,以避免因两者参考时间不同而使结果不准确。

在步骤102中,使待训练的神经网络模型依据位置数据序列对测量数据序列进行坡度补偿,输出imu补偿数据序列,依据imu补偿数据序列推算获得车辆的轨迹点推算位置数据序列,依据车辆的轨迹点推算位置数据序列、位置数据序列,获得训练好的神经网络模型。

在一种具体实施方式中,使待训练的神经网络模型依据rtk定位模块的位置数据序列每个时刻的位置数据,对惯性测量单元的测量数据序列每个时刻的测量数据进行坡度补偿,获得同一个时间段每个时刻的imu补偿数据,输出imu补偿数据序列;依据rtk定位模块的位置数据序列获得初始位姿;依据初始位姿、同一个时间段每个时刻的imu补偿数据,推算得到同一个时间段每个时刻车辆的轨迹点推算位置数据,从而获得同一个时间段车辆的轨迹点推算位置数据序列;使同一个时间段每个相同时刻的车辆的轨迹点推算位置数据向定位模块的位置数据收敛,完成对待训练的神经网络模型的训练,获得训练好的神经网络模型。

在步骤103中,向训练好的神经网络模型输入惯性测量单元的测量数据序列、定位模块的位置数据序列,获取训练好的神经网络模型输出的imu补偿数据序列。

在一种具体实施方式中,向训练好的神经网络模型输入惯性测量单元的测量数据序列和定位模块的位置数据序列,惯性测量单元的测量数据序列和定位模块的位置数据序列是同步获得的,惯性测量单元的测量数据序列至少包括两个测量数据,定位模块的位置数据序列至少包括两个位置数据。使神经网络模型对输入的每个时刻的惯性测量单元的测量数据进行坡度补偿,输出每个时刻的imu补偿数据,获取训练好的神经网络模型输出的每个时刻的imu补偿数据,以神经网络模型输出的imu补偿数据为坡度补偿后的车辆的测量数据,获得imu补偿数据序列,完成惯性测量单元测量数据的补偿。

本申请的实施例提供的基于神经网络模型的惯性测量数据补偿方法,以同一时间段的惯性测量单元的测量数据序列和定位模块的位置数据序列为待训练的神经网络模型的训练样本,通过使待训练的神经网络模型依据位置数据序列对惯性测量单元的测量数据序列进行坡度补偿,输出imu补偿数据序列;依据imu补偿数据序列推算获得车辆的轨迹点推算位置数据序列,依据车辆的轨迹点推算位置数据序列、位置数据序列,获得训练好的神经网络模型;向训练好的神经网络模型输入惯性测量单元的测量数据序列和定位模块的位置数据序列,获取训练好的神经网络模型输出的imu补偿数据序列;能够基于神经网络模型对惯性测量单元测量数据进行坡度补偿,降低坡度引起的惯性测量单元的测量误差,获得降低测量误差的惯性测量单元的imu补偿数据,在包括定位模块和惯性测量单元的组合导航系统进行定位导航时,提高组合导航系统定位导航的精度。

实施例二:

图2是本申请实施例示出的基于神经网络模型的惯性测量数据补偿方法的另一流程示意图。图2相对于图1更详细描述了本申请的方案。

参见图2,一种基于神经网络模型的惯性测量数据补偿方法,包括:

在步骤201中,向待训练的神经网络模型输入同一时间段的惯性测量单元的测量数据序列、定位模块的位置数据序列。

该步骤可以参见步骤101的描述,此处不再赘述。

在步骤202中,使待训练的神经网络模型依据位置数据序列,获得同一时间段每个时刻车辆的俯仰角。

在一种具体实施方式中,使待训练的神经网络模型依据输入的定位模块的位置数据序列,获得同一时间段每个时刻车辆的经度坐标、纬度坐标和高度;依据同一时间段每个时刻车辆的经度坐标、纬度坐标和高度,计算同一时间段每个时刻车辆的俯仰角。

在步骤203中,依据每个时刻车辆的俯仰角、对测量数据序列进行坡度补偿,输出imu补偿数据序列。

在一种具体实施方式中,惯性测量单元固定于车辆,惯性测量单元的加速度计和陀螺仪的y轴从车辆的后方朝向前方、平行于车辆的前后方向;加速度计和陀螺仪的z轴从车辆的下方朝向上方、平行于车辆的上下方向。俯仰角a是指车辆行驶时前后方向与水平面的夹角。加速度计和陀螺仪的y轴测量车辆前进方向的加速度和角速度,获得车辆前进方向的加速度accy和角速度gyroy;加速度计和陀螺仪的z轴测量车辆上下方向的加速度和角速度,获得车辆上下运动(即车辆上坡或下坡)的加速度accz和角速度gyroz。车辆前进方向的加速度accy和角速度gyroy受到道路坡度的影响较大。因此,本申请实施例中,对车辆前进方向的加速度accy和角速度gyroy进行补偿。

在一种具体实施方式中,依据每个时刻车辆的俯仰角、对测量数据序列每个时刻的测量数据进行坡度补偿,输出imu补偿数据序列,其中,依据如下公式对测量数据序列每个时刻的测量数据进行坡度补偿:

accy,i=accy0,i*cosai+accz0,i*sinai;

y,i=gyroy0,i*sinai+gyroz0,i*cosai;

式中,accy,i是坡度补偿后加速度计y轴时刻i的补偿加速度数据,accy0,i是加速度计y轴时刻i的加速度数据,accz0,i是加速度计z轴时刻i的加速度数据;gyroy,i是坡度补偿后陀螺仪y轴时刻i的补偿角速度数据,gyroy0,i是陀螺仪y轴时刻i的角速度数据,gyroz0,i是陀螺仪z轴时刻i的角速度数据,ai是车辆时刻i的俯仰角。

在步骤204中,依据imu补偿数据序列推算获得车辆的轨迹点推算位置数据序列。

在一种具体实施方式中,依据rtk定位模块同一时间段初始时刻的定位信息,获得车辆的初始位姿,车辆的初始位姿包括初始时刻车辆的位置信息、航向角信息、速度信息;依据车辆的初始位姿、同一个时间段每个时刻的imu补偿数据,推算得到同一个时间段每个时刻车辆的轨迹点推算位置数据,从而获得同一个时间段车辆的轨迹点推算位置数据序列。

在步骤205中,判断车辆的轨迹点推算位置数据序列与位置数据序列的误差是否小于预设阈值;如果车辆的轨迹点推算位置数据序列与位置数据序列的误差大于或等于预设阈值,执行步骤206;如果车辆的轨迹点推算位置数据序列与位置数据序列的误差小于预设阈值,步骤207。

在一种具体实施方式中,依据车辆的轨迹点推算位置数据序列同一个时间段每个相同时刻的轨迹点推算位置数据和定位模块的位置数据序列同一个时间段每个相同时刻的位置数据,获得同一个时间段的车辆的轨迹点推算位置数据序列与位置数据序列的误差。判断车辆的轨迹点推算位置数据序列与位置数据序列的误差是否小于预设阈值;如果车辆的轨迹点推算位置数据序列与位置数据序列的误差大于或等于预设阈值,执行步骤206;如果车辆的轨迹点推算位置数据序列与位置数据序列的误差小于预设阈值,步骤207。可以理解的是,同一个时间段每个相同时刻的轨迹点推算位置数据和定位模块的位置数据在时间上是对齐的。

在步骤206中,调整每个时刻车辆的俯仰角;执行步骤203。

在一种具体实施方式中,如果车辆的轨迹点推算位置数据序列与位置数据序列的误差大于或等于预设阈值,可以依据设定角度范围调整每个时刻车辆的俯仰角,重新获得同一时间段每个时刻车辆的俯仰角;循环执行步骤203、204、205、206,直至车辆的轨迹点推算位置数据序列与位置数据序列的误差小于预设阈值,完成对待训练的神经网络模型的训练。

在步骤207中,停止对待训练的神经网络模型的训练,获得训练好的神经网络模型。

在一种具体实施方式中,如果车辆的轨迹点推算位置数据序列与定位模块的位置数据序列的误差小于预设阈值,停止对待训练的神经网络模型的训练,即完成对待训练的神经网络模型的训练,获得训练好的神经网络模型。

在步骤208中,向训练好的神经网络模型输入惯性测量单元的测量数据序列和定位模块的位置数据序列,获取训练好的神经网络模型输出的imu补偿数据序列。

在一种具体实施方式中,向训练好的神经网络模型输入车辆的加速度序列和角速度序列,以及定位模块的位置数据序列,加速度序列至少包括两个时刻的加速度,角速度序列至少包括两个时刻的角速度,定位模块的位置数据序列至少包括两个时刻的位置数据。使训练好的神经网络模型依据输入的位置数据序列对输入的车辆的加速度序列和角速度序列进行坡度补偿,输出每个时刻的补偿加速度数据和补偿角速度数据,获取训练好的神经网络模型输出的每个时刻的补偿加速度数据和补偿角速度数据,以神经网络模型输出的补偿加速度数据和补偿角速度数据为坡度补偿后的车辆的加速度和角速度,获得补偿加速度数据序列和补偿角速度数据序列,完成惯性测量单元测量数据序列的补偿。

本申请的实施例提供的基于神经网络模型的惯性测量数据补偿方法,使待训练的神经网络模型依据位置数据序列,获得同一时间段每个时刻车辆的俯仰角;依据每个时刻车辆的俯仰角、对测量数据序列进行坡度补偿,输出imu补偿数据序列;依据imu补偿数据序列推算获得车辆的轨迹点推算位置数据序列;如果车辆的轨迹点推算位置数据序列与位置数据序列的误差大于或等于预设阈值,调整每个时刻车辆的俯仰角;依据调整后的每个时刻车辆的俯仰角重新获得车辆的轨迹点推算位置数据序列;直至车辆的轨迹点推算位置数据序列与位置数据序列的误差小于预设阈值,完成对待训练的神经网络模型的训练,获得训练好的神经网络模型;向训练好的神经网络模型输入惯性测量单元的测量数据序列和定位模块的位置数据序列,获取训练好的神经网络模型输出的imu补偿数据序列;循环调整每个时刻车辆的俯仰角,能够获得精度更高的训练好的神经网络模型,能够基于训练好的神经网络模型对惯性测量单元测量数据进行坡度补偿,最大限度地降低惯性测量单元因道路坡度引起的测量误差。

实施例三:

与前述应用功能实现方法实施例相对应,本申请还提供了一种基于神经网络模型的惯性测量数据补偿装置、电子设备及相应的实施例。

图3是本申请实施例示出的基于神经网络模型的惯性测量数据补偿装置的结构示意图。

参见图3,一种基于神经网络模型的惯性测量数据补偿装置,包括第一输入模块301、训练模块302、补偿数据获取模块303。

第一输入模块301,用于向待训练的神经网络模型输入同一时间段的惯性测量单元的测量数据序列、定位模块的位置数据序列。

在一种具体实施方式中,车辆上设有惯性测量单元、定位模块。惯性测量单元包括加速度计和陀螺仪,惯性测量单元的测量数据包括惯性测量单元的加速度计的加速度、陀螺仪的角速度。第一输入模块301可以通过惯性测量单元的加速度计获得的车辆的加速度、惯性测量单元的陀螺仪获得的车辆的角速度。定位模块可以包括但不限于gps卫星模块、北斗卫星定位模块、rtk定位模块等卫星定位模块中的至少一种。第一输入模块301利用定位模块可以获得车辆的定位信息,该定位信息可以包括但不限于位置数据、速度信息和姿态信息。位置数据包括但不限于描述位置的三维数据:经度坐标、纬度坐标和高度,姿态信息包括但不限于描述航向的航向角信息。

在一种具体实施方式中,在车辆rtk定位模块信号可用的情况下,第一输入模块301获得车辆一个时间段的定位信息,依据车辆一个时间段的定位信息获取车辆一个时间段的位置数据序列。第一输入模块301在通过rtk定位模块获取车辆一个时间段的位置数据序列时,通过惯性测量单元获取同一个时间段的车辆的测量数据序列,测量数据序列包括加速度计x轴、y轴、z轴的加速度和陀螺仪x轴、y轴、z轴的角速度。第一输入模块301向待训练的神经网络模型输入同一时间段的惯性测量单元的测量数据序列、定位模块的位置数据序列。

训练模块302,用于使待训练的神经网络模型依据第一输入模块301输入的位置数据序列对第一输入模块301输入的测量数据序列进行坡度补偿,输出imu补偿数据序列,依据imu补偿数据序列推算获得车辆的轨迹点推算位置数据序列,依据车辆的轨迹点推算位置数据序列、第一输入模块输入的位置数据序列,获得训练好的神经网络模型。

在一种具体实施方式中,训练模块302使待训练的神经网络模型依据第一输入模块301输入的rtk定位模块的位置数据序列每个时刻的位置数据,对第一输入模块301输入的惯性测量单元的测量数据序列每个时刻的测量数据进行坡度补偿,获得同一个时间段每个时刻的imu补偿数据,输出imu补偿数据序列;依据第一输入模块301输入的rtk定位模块的位置数据序列获得初始位姿;依据初始位姿、同一个时间段每个时刻的imu补偿数据,推算得到同一个时间段每个时刻车辆的轨迹点推算位置数据,从而获得同一个时间段车辆的轨迹点推算位置数据序列;使同一个时间段每个相同时刻的车辆的轨迹点推算位置数据向第一输入模块301输入的定位模块的位置数据收敛,完成对待训练的神经网络模型的训练,获得训练好的神经网络模型。

在一种实施方式中,训练模块302包括角度获取子模块3021、补偿子模块3022、轨迹子模块3023、判断子模块3024、调整子模块3025、停止子模块3026。

角度获取子模块3021,用于使待训练的神经网络模型依据第一输入模块301输入的位置数据序列,获得同一时间段每个时刻车辆的俯仰角。

在一种具体实施方式中,角度获取子模块3021使待训练的神经网络模型依据第一输入模块301输入的定位模块的位置数据序列,获得同一时间段每个时刻车辆的经度坐标、纬度坐标和高度;依据同一时间段每个时刻车辆的经度坐标、纬度坐标和高度,计算同一时间段每个时刻车辆的俯仰角。

补偿子模块3022,用于依据角度获取子模块3021获得的每个时刻车辆的俯仰角、对第一输入模块301输入的测量数据序列进行坡度补偿,输出imu补偿数据序列。

在一种具体实施方式中,惯性测量单元固定于车辆,惯性测量单元的加速度计和陀螺仪的y轴从车辆的后方朝向前方、平行于车辆的前后方向;加速度计和陀螺仪的z轴从车辆的下方朝向上方、平行于车辆的上下方向。俯仰角a是指车辆行驶时前后方向与水平面的夹角。加速度计和陀螺仪的y轴测量车辆前进方向的加速度和角速度,获得车辆前进方向的加速度accy和角速度gyroy;加速度计和陀螺仪的z轴测量车辆上下方向的加速度和角速度,获得车辆上下运动(即车辆上坡或下坡)的加速度accz和角速度gyroz。车辆前进方向的加速度accy和角速度gyroy受到道路坡度的影响较大。因此,本申请实施例中,对车辆前进方向的加速度accy和角速度gyroy进行补偿。

在一种具体实施方式中,补偿子模块3022依据角度获取子模块3021获得的每个时刻车辆的俯仰角、对测量数据序列每个时刻的测量数据进行坡度补偿,输出imu补偿数据序列,其中,补偿子模块3022依据如下公式对测量数据序列每个时刻的测量数据进行坡度补偿:

accy,i=accy0,i*cosai+accz0,i*sinai;

gyroy,i=gyroy0,i*sinai+gyroz0,i*cosai;

式中,accy,i是坡度补偿后加速度计y轴时刻i的补偿加速度数据,accy0,i是加速度计y轴时刻i的加速度数据,accz0,i是加速度计z轴时刻i的加速度数据;gyroy,i是坡度补偿后陀螺仪y轴时刻i的补偿角速度数据,gyroy0,i是陀螺仪y轴时刻i的角速度数据,gyroz0,i是陀螺仪z轴时刻i的角速度数据,ai是车辆时刻i的俯仰角。

轨迹子模块3023,用于依据补偿子模块3022获得的imu补偿数据序列推算获得车辆的轨迹点推算位置数据序列。

在一种具体实施方式中,轨迹子模块3023依据第一输入模块301输入的rtk定位模块同一时间段初始时刻的定位信息,获得车辆的初始位姿,车辆的初始位姿包括初始时刻车辆的位置信息、航向角信息、速度信息;依据车辆的初始位姿、补偿子模块3022获得的同一个时间段每个时刻的imu补偿数据,推算得到同一个时间段每个时刻车辆的轨迹点推算位置数据,从而获得同一个时间段车辆的轨迹点推算位置数据序列。

判断子模块3024,用于判断轨迹子模块3023获得的车辆的轨迹点推算位置数据序列与第一输入模块301输入的位置数据序列的误差是否小于预设阈值。

调整子模块3025,用于如果判断子模块3024判断车辆的轨迹点推算位置数据序列与位置数据序列的误差大于或等于预设阈值,调整每个时刻车辆的俯仰角。

在一种具体实施方式中,判断子模块3024依据轨迹子模块3023获得的车辆的轨迹点推算位置数据序列同一个时间段每个相同时刻的轨迹点推算位置数据,第一输入模块301输入的定位模块的位置数据序列同一个时间段每个相同时刻的位置数据,获得同一个时间段的车辆的轨迹点推算位置数据序列与位置数据序列的误差。判断子模块3024判断车辆的轨迹点推算位置数据序列与位置数据序列的误差是否小于预设阈值;如果判断子模块3024判断车辆的轨迹点推算位置数据序列与位置数据序列的误差大于或等于预设阈值,调整子模块3025调整每个时刻车辆的俯仰角;如果判断子模块3024判断车辆的轨迹点推算位置数据序列与位置数据序列的误差小于预设阈值,停止子模块3026停止对待训练的神经网络模型的训练,获得训练好的神经网络模型。可以理解的是,同一个时间段每个相同时刻的轨迹点推算位置数据和定位模块的位置数据在时间上是对齐的。

在一种具体实施方式中,如果判断子模块3024判断车辆的轨迹点推算位置数据序列与位置数据序列的误差大于或等于预设阈值,调整子模块3025可以依据设定角度范围调整每个时刻车辆的俯仰角,重新获得同一时间段每个时刻车辆的俯仰角;循环执行补偿子模块3022、轨迹子模块3023、判断子模块3024、调整子模块3025,直至判断子模块3024判断车辆的轨迹点推算位置数据序列与位置数据序列的误差小于预设阈值,完成对待训练的神经网络模型的训练。

停止子模块3026,用于如果判断子模块3024判断车辆的轨迹点推算位置数据序列与位置数据序列的误差小于预设阈值,停止对待训练的神经网络模型的训练,获得训练好的神经网络模型。

在一种具体实施方式中,如果判断子模块3024判断车辆的轨迹点推算位置数据序列与定位模块的位置数据序列的误差小于预设阈值,停止子模块3026停止对待训练的神经网络模型的训练,即完成待训练的神经网络模型的训练,获得训练好的神经网络模型。

补偿数据获取模块303,用于向训练好的神经网络模型输入惯性测量单元的测量数据序列、定位模块的位置数据序列,获取训练好的神经网络模型输出的imu补偿数据序列。

在一种具体实施方式中,补偿数据获取模块303通过惯性测量单元的加速度计获得车辆的加速度序列,通过惯性测量单元的陀螺仪获得车辆的角速度序列,通过rtk定位模块获得车辆的位置数据序列。加速度序列、角速度序列和位置数据序列是同步获取的。补偿数据获取模块303向训练好的神经网络模型输入车辆的加速度序列和角速度序列,以及定位模块的位置数据序列,加速度序列至少包括两个时刻的加速度,角速度序列至少包括两个时刻的角速度,定位模块的位置数据序列至少包括两个时刻的位置数据。使训练好的神经网络模型依据输入的位置数据序列对输入的车辆的加速度序列和角速度序列进行坡度补偿,输出每个时刻的补偿加速度数据和补偿角速度数据,获取训练好的神经网络模型输出的每个时刻的补偿加速度数据和补偿角速度数据,以神经网络模型输出的补偿加速度数据和补偿角速度数据为坡度补偿后的车辆的加速度和角速度,获得补偿加速度数据序列和补偿角速度数据序列,完成惯性测量单元测量数据的补偿。

本申请的实施例提供的技术方案,使待训练的神经网络模型依据位置数据序列,获得同一时间段每个时刻车辆的俯仰角;依据每个时刻车辆的俯仰角、对测量数据序列进行坡度补偿,输出imu补偿数据序列;依据imu补偿数据序列推算获得车辆的轨迹点推算位置数据序列;如果车辆的轨迹点推算位置数据序列与位置数据序列的误差大于或等于预设阈值,调整每个时刻车辆的俯仰角;依据调整后的每个时刻车辆的俯仰角重新获得车辆的轨迹点推算位置数据序列;直至车辆的轨迹点推算位置数据序列与位置数据序列的误差小于预设阈值,完成对待训练的神经网络模型的训练,获得训练好的神经网络模型;向训练好的神经网络模型输入惯性测量单元的测量数据序列、定位模块的位置数据序列,获取训练好的神经网络模型输出的imu补偿数据序列;循环调整每个时刻车辆的俯仰角,能够获得精度更高的训练好的神经网络模型,能够基于训练好的神经网络模型对惯性测量单元测量数据进行坡度补偿,最大限度地降低惯性测量单元因道路坡度引起的测量误差。

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

图4是本申请实施例示出的电子设备的结构示意图。

参见图4,电子设备40包括存储器401和处理器402。

处理器402可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

存储器401可以包括各种类型的存储单元,例如系统内存、只读存储器(rom),和永久存储装置。其中,rom可以存储处理器402或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。系统内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。系统内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器401可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(dram,sram,sdram,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器401可以包括可读和/或写的可移除的存储设备,例如激光唱片(cd)、只读数字多功能光盘(例如dvd-rom,双层dvd-rom)、只读蓝光光盘、超密度光盘、闪存卡(例如sd卡、minsd卡、micro-sd卡等等)、磁性软盘等等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。

存储器401上存储有可执行代码,当可执行代码被处理器402处理时,可以使处理器402执行上文述及的方法中的部分或全部。

此外,根据本申请的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本申请的上述方法中部分或全部步骤的计算机程序代码指令。

或者,本申请还可以实施为一种非暂时性机器可读存储介质(或计算机可读存储介质、或机器可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当可执行代码(或计算机程序、或计算机指令代码)被电子设备(或电子设备、服务器等)的处理器执行时,使处理器执行根据本申请的上述方法的各个步骤的部分或全部。

以上已经描述了本申请的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

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