运动物体及其传感器的标定方法、装置、存储介质与流程

文档序号:23313185发布日期:2020-12-15 11:44阅读:125来源:国知局
运动物体及其传感器的标定方法、装置、存储介质与流程

本公开涉及环境感知技术领域,具体地,涉及一种运动物体及其传感器的标定方法、装置、存储介质。



背景技术:

深度相机、激光雷达、惯性测量单元(inertialmeasurementunit,简称“imu”)的融合被广泛的应用到无人驾驶领域和机器人领域中,在环境感知方面,可以达到比单传感器得到的环境信息更加精确、数据鲁棒性更高的技术效果。

具体来说,单个传感器存在局限性,比如多线激光雷达可以测量出真实环境的外表特征,但是在外表特征不明显的情况下(如空旷环境、长走廊)无法很好工作;惯性测量单元imu可以高频快速的测量自身运动,但是随时间增长误差会迅速累积。激光雷达与惯性测量单元imu结合使用可以很好地优势互补:短时间内用惯性测量单元imu做预测,然后用激光雷达修正累积误差,以实现有效的环境感知。然而,利用现有技术进行数据融合的过程中,多传感器之间参数标定成本高,算法严格复杂,容易导致参数标定存在较大偏差。



技术实现要素:

本公开的目的是提供一种运动物体及其传感器的标定方法、装置、存储介质,用于提高传感器数据融合结果的准确性和可靠性。

为了实现上述目的,本公开第一方面提供一种传感器的标定方法,应用于运动物体,所述运动物体安装有多个传感器,所述传感器的标定方法包括:

获取每个传感器在所述运动物体的运动过程中各自产生的测量数据;

根据每一所述传感器的测量数据,确定每一所述传感器的角速度序列;

根据每一所述传感器的角速度序列,确定各所述传感器在同一时刻的目标角速度序列;

确定各所述传感器的目标角速度序列之间的映射矩阵,并将所述映射矩阵作为各所述传感器之间的旋转标定矩阵,所述旋转标定矩阵用于对各所述传感器的测量数据进行数据融合。

可选地,所述多个传感器包括激光雷达,所述根据每一所述传感器的测量数据,确定每一所述传感器的角速度序列,包括:

根据所述激光雷达的测量数据确定相邻两帧测量数据之间的旋转矩阵;

将所述旋转矩阵转化为欧拉角;

根据所述欧拉角以及所述相邻两帧测量数据之间的时间差计算得到所述角速度序列。

可选地,所述多个传感器包括惯性测量单元,所述根据每一所述传感器的测量数据,确定每一所述传感器的角速度序列,包括:

从所述惯性测量单元的测量数据中,获取所述惯性测量单元的角速度序列。

可选地,所述多个传感器包括第一传感器以及第二传感器,所述根据每一所述传感器的角速度序列,确定各所述传感器在同一时刻的目标角速度序列,包括:

以所述第一传感器的角速度序列为基准,对所述第二传感器的角速度序列进行插值处理,使得插值得到的角速度与所述第一传感器的角速度序列中的任一角速度在时间上对齐,得到时间已对齐的各所述传感器的目标角速度序列。

可选地,所述确定各所述传感器的目标角速度序列之间的映射矩阵,包括:

针对时间已对齐的各所述传感器的目标角速度序列中的每一组目标角速度,建立从所述第一传感器的目标角速度映射到所述第二传感器的目标角速度的方程,得到方程组;

根据矩阵的奇异值分解对所述方程组求解,得到所述映射矩阵。

可选地,所述运动物体的运动方式包括旋转,其中,在所述运动物体旋转n次后,每个所述传感器采集的测量范围覆盖各个方向,n为大于1的整数。

本公开第二方面提供一种传感器的标定装置,所述传感器的标定装置应用于运动物体,所述运动物体安装有多个传感器,所述装置包括:

数据获取模块,用于获取每个传感器在所述运动物体的运动过程中各自产生的测量数据;

角速度确定模块,用于根据每一所述传感器的测量数据,确定每一所述传感器的角速度序列;

角速度对齐模块,用于根据每一所述传感器的角速度序列,确定各所述传感器在同一时刻的目标角速度序列;

映射关系标定模块,用于确定各所述传感器的目标角速度序列之间的映射矩阵,并将所述映射矩阵作为各所述传感器之间的旋转标定矩阵,所述旋转标定矩阵用于对各所述传感器的测量数据进行数据融合。

可选地,所述多个传感器包括激光雷达,所述角速度确定模块具体用于:

根据所述激光雷达的测量数据确定相邻两帧测量数据之间的旋转矩阵;

将所述旋转矩阵转化为欧拉角;

根据所述欧拉角以及所述相邻两帧测量数据之间的时间差计算得到所述角速度序列。

可选地,所述多个传感器包括惯性测量单元,所述角速度确定模块具体用于从所述惯性测量单元的测量数据中,获取所述惯性测量单元的角速度序列。

可选地,所述多个传感器包括第一传感器以及第二传感器,所述角速度对齐模块具体用于:

以所述第一传感器的角速度序列为基准,对所述第二传感器的角速度序列进行插值处理,使得插值得到的角速度与所述第一传感器的角速度序列中的任一角速度在时间上对齐,得到时间已对齐的各所述传感器的目标角速度序列。

可选地,所述映射关系标定模块具体用于:

针对时间已对齐的各所述传感器的目标角速度序列中的每一组目标角速度,建立从所述第一传感器的目标角速度映射到所述第二传感器的目标角速度的方程,得到方程组;

根据矩阵的奇异值分解对所述方程组求解,得到所述映射矩阵。

可选地,所述运动物体的运动方式包括旋转,其中,在所述运动物体旋转n次后,每个所述传感器采集的测量范围覆盖各个方向,n为大于1的整数。

本公开第三方面提供一种运动物体,包括:

至少一个处理器;以及,

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开第一方面提供的传感器的标定方法。

本公开第四方面提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现本公开第一方面提供的传感器的标定方法。

根据上述技术方案,通过获取每个传感器在运动物体的运动过程中各自产生的测量数据,确定每一传感器的角速度序列,然后根据每一传感器的角速度序列,确定各传感器在同一时刻的目标角速度序列,进而可以得到各传感器的目标角速度序列之间的映射矩阵,基于此映射矩阵对各传感器的测量数据进行数据融合。这样,任意两个传感器坐标系之间的旋转关系参数的标定过程便捷快速,无需借助额外的辅助工具,降低了传感器标定成本,扩大了传感器标定方法的可适用范围,同时还可以避免辅助工具测量过程中可能带来的误差导致标定不准确的情况,提高了标定参数的精准度,进而确保了传感器数据融合结果的准确性和可靠性。

本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:

图1是本公开实施例提供的一种传感器的标定方法的流程图;

图2是本公开实施例提供的一种各传感器测量数据的示意图;

图3是本公开实施例提供的一种计算激光雷达的角速度序列的步骤流程图;

图4是本公开实施例提供的一种标定传感器目标角速度序列之间映射矩阵的步骤流程图;

图5是本公开实施例提供的一种传感器的标定装置的框图;

图6是本公开实施例提供的一种运动物体的框图。

具体实施方式

以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。

为了解决现有技术进行数据融合的过程中,多传感器之间参数标定成本高,算法严格复杂,容易导致参数标定存在较大偏差的技术问题,本公开实施例提供一种运动物体及其传感器的标定方法、装置、存储介质,下面结合具体实施例对本公开提供的技术方案进行详细说明。

图1是本公开实施例提供的一种传感器的标定方法的流程图,该方法应用于运动物体,运动物体安装有多个传感器,如图1所示,该方法包括以下步骤:

s11、获取每个传感器在运动物体的运动过程中各自产生的测量数据。

示例地,运动物体可以是安保巡逻机器人、无人驾驶汽车等,该运动物体上安装的多个传感器,包括雷达传感器、深度相机、惯性测量单元(inertialmeasurementunit,简称“imu”)中的一种或多种,其中,雷达传感器包括单线/多线激光雷达、固态激光雷达、毫米波雷达等多种类型。

在本公开实施例中,运动物体的运动方式包括旋转运动,还可以包括平移运动。为了提高各个传感器获取到的测量数据的可靠性和准确性,可以将运动物体放置在特征明显且没有明显退化场景中进行数据采集,例如该场景可以是厂房,并且控制运动物体旋转n次,n为大于1的整数,以使每个传感器采集的测量范围覆盖各个方向,测量数据包含用于表征运动物体的运动角度变化的特征数据。

针对运动物体的每次运动,在检测到启动本次运动的指令时,开始将各个传感器实时采集到的测量数据写入存储装置,在检测到停止本次运动的指令且运动物体处于静止状态时,停止采集测量数据,在整个运动过程中,运动物体根据接收的运动指令,执行平移、旋转预设角度等动作。示例地,在运动物体为安保巡逻机器人、该安保巡逻机器人上固定安装有激光雷达和惯性测量单元imu的情况下,可以通过以下方式获取各个传感器的测量数据:

启动数据记录程序,用于将实时采集的激光雷达和惯性测量单元imu写入数据存储装置;控制安保巡逻机器人在平地上运动,包含向左转或向右转预设角度,旋转过程重复持续30秒,然后让安保巡逻机器人移动至30度缓坡上,再从缓坡移动至平地,重复上下坡运动,持续30秒;关闭数据记录程序。其中,惯性测量单元imu测量数据的采集频率高于激光雷达测量数据的采集频率,也就是说每两帧激光雷达测量数据之间存在多帧惯性测量单元imu测量数据。例如,运动物体在60秒的运动时间内,获取得到激光雷达测量数据600帧,惯性测量单元imu测量数据2000帧。此时,得到的测量数据如图2所示,其中,在时间轴t上,位于时间轴上方的长线为激光雷达的测量数据,位于时间轴下方短线为惯性测量单元imu的测量数据。

s12、根据每一传感器的测量数据,确定每一传感器的角速度序列。

在获取各个传感器在运动物体的运动过程中各自产生的测量数据之后,针对每一单个传感器,可以根据测量数据计算得到运动物体运动过程中的角速度序列,该角速度序列表示运动物体在各个时刻对应的角速度数据集合。

在一实施例中,运动物体上安装的多个传感器包括激光雷达,本公开实施例提供的一种计算激光雷达的角速度序列的示例性实现方式如图3所示,包括:

s31、根据激光雷达的测量数据确定相邻两帧测量数据之间的旋转矩阵;

s32、将旋转矩阵转化为欧拉角;

s33、根据欧拉角以及相邻两帧测量数据之间的时间差计算得到角速度序列。

示例地,对于任意相邻两帧测量数据,它们的点云分别记为p0和p1,两帧之间的旋转矩阵为r,相对平移矩阵记为t;本实施例中采用icp算法,确定帧间旋转矩阵。icp算法的过程如下:

(1)根据点云p0和p1,计算旋转矩阵r和平移矩阵,使得如下公式的误差函数e最小:

其中,p0i和p1i分别是点云p0和p1中一组对应点对,n是点对的总数;

(2)使用(1)中计算得到的r和t对点云p0进行旋转和平移,得到新的对应点云p0′,p0′表达式如下所示:

p0′={p0i=r·p0i+t|i=1,2,3,4...n};

(3)通过如下公式计算点云p0′与点云p1之间的平均距离d:

其中,p0′i和p1i是点云p0′和p1中一组对应点对,n是点对的总数;

若d大于预设距离阈值,则将点云p0′对点云p0进行迭代更新,重新执行icp算法步骤(1)至步骤(3),直至满足收敛条件时停止迭代。该收敛条件包括:d小于预设距离阈值或者迭代次数大于预设的迭代次数。在满足收敛条件时,可以确定出激光雷达的帧间旋转矩阵r。

在确定激光雷达任意相邻两帧测量数据之间的旋转矩阵r之后,将旋转矩阵转化为欧拉角θl。参照图2,已知时间戳为t0和t1的两帧激光雷达的测量数据,可以得到t时刻激光雷达的角速度为:

其中,代表两帧激光雷达时间戳的平均值。

按照上述算法步骤s21至s23可以计算得到激光雷达任意相邻两帧测量数据时间戳均值时刻的角速度。对于运动物体在运动时间内获取得到的多帧激光雷达测量数据,得到激光雷达的角速度序列为

可选地,同理可得,当运动物体上安装的多个传感器包括惯性测量单元imu时,也可以采用icp算法,根据惯性测量单元imu的测量数据,确定惯性测量单元imu相邻两帧测量数据之间的旋转矩阵,并将旋转矩阵转化为欧拉角,进一步计算得到惯性测量单元imu的角速度序列

转回图1,在s13中,根据每一传感器的角速度序列,确定各传感器在同一时刻的目标角速度序列。

在计算得到各个传感器各自的角速度序列之后,可以将至少两个传感器的角速度序列进行时刻匹配:以其中一个传感器为基准传感器,对于该传感器的角速度序列中任一角速度对应时刻下,其他传感器的对应的角速度即为目标角速度,按照时间顺序对每一传感器的目标角度进行排序可以得到各传感器与基准传感器的角速度序列对应的目标角速度序列。

可选地,在一实施例中,运动物体上安装的多个传感器包括第一传感器以及第二传感器,按照步骤s41将第一传感器的角速度序列为基准,对第二传感器的角速度序列进行插值处理,使得插值得到的角速度与第一传感器的角速度序列中的任一角速度在时间上对齐,这样可以得到时间已对齐的各传感器的目标角速度序列。例如,第一传感器为激光雷达,第二传感器为惯性测量单元imu,参照图2,以激光雷达的角速度序列为基准,对惯性测量单元imu的角速度序列进行插值处理。具体地,基于t时刻激光雷达角速度确定t时刻惯性测量单元imu的角速度可以先找到最接近t时刻的两帧惯性测量单元imu测量数据对应的角速度其中t0<≤t1,那么t时刻惯性测量单元imu的角速度表示为:

根据上述方法确定与激光雷达角速度序列中每一角速度在时间上对齐的惯性测量单元imu的角速度,并按照时间顺序排列得到与激光雷达角速度序列对应的惯性测量单元imu的目标角速度序列同理,其他任意两个或多个传感器之间的目标角速度序列也可以通过如上方法计算得到。

s14、确定各传感器的目标角速度序列之间的映射矩阵。

该映射矩阵作为各传感器之间的旋转标定矩阵,旋转标定矩阵用于对各传感器的测量数据进行数据融合。在一种可能的实施方式中,确定各传感器的目标角速度序列之间的映射矩阵的具体实现方式,如图4所示,在s41的基础上,通过执行下述步骤求解得到映射矩阵:

s42、针对时间已对齐的各传感器的目标角速度序列中的每一组目标角速度,建立从第一传感器的目标角速度映射到第二传感器的目标角速度的方程,得到方程组。

示例地,将任意两种传感器的目标角速度序列之间的映射矩阵记为例如,与激光雷达的目标角速度序列和惯性测量单元imu的目标角速度序列之间的映射矩阵为3*3的矩阵根据激光雷达与惯性测量单元imu的目标角速度序列构建方程参数集合并建立从惯性测量单元imu的目标角速度映射到激光雷达的目标角速度的方程,得到方程组如下:

s43、根据矩阵的奇异值分解对方程组求解,得到映射矩阵。

将求解得到的映射矩阵作为激光雷达与惯性测量单元imu之间的旋转标定矩阵,用于对激光雷达与惯性测量单元imu的测量数据进行数据融合。同理,其他任意两个传感器之间的映射矩阵也可以通过如上方法计算得到,基于得到的映射矩阵可以对传感器获得的测量数据进项数据融合,以实现环境的有效感知。

采用上述方法,通过获取每个传感器在运动物体的运动过程中各自产生的测量数据,确定每一传感器的角速度序列,然后根据每一传感器的角速度序列,确定各传感器在同一时刻的目标角速度序列,进而可以得到各传感器的目标角速度序列之间的映射矩阵,基于此映射矩阵对各传感器的测量数据进行数据融合。这样,任意两个传感器坐标系之间的旋转关系参数的标定过程便捷快速,无需借助额外的辅助工具,降低了传感器标定成本,扩大了传感器标定方法的可适用范围,同时还可以避免辅助工具测量过程中可能带来的误差导致标定不准确的情况,提高了标定参数的精准度,进而确保了传感器数据融合结果的准确性和可靠性。

图5是本公开实施例提供的一种传感器的标定装置的框图,传感器的标定装置500应用于运动物体,运动物体安装有多个传感器,该装置500可以通过软件、硬件或者两者结合实现成为运动物体的部分或者全部。参照图5,装置500包括:数据获取模块51,用于获取每个传感器在运动物体的运动过程中各自产生的测量数据;角速度确定模块52,用于根据每一传感器的测量数据,确定每一传感器的角速度序列;角速度对齐模块53,用于根据每一传感器的角速度序列,确定各传感器在同一时刻的目标角速度序列;映射关系标定模块54,用于确定各传感器的目标角速度序列之间的映射矩阵,并将映射矩阵作为各传感器之间的旋转标定矩阵,旋转标定矩阵用于对各传感器的测量数据进行数据融合。

示例地,运动物体的运动方式包括旋转,其中,在运动物体旋转n次后,每个传感器采集的测量范围覆盖各个方向,n为大于1的整数。

示例地,多个传感器包括激光雷达,角速度确定模块52具体用于:根据激光雷达的测量数据确定相邻两帧测量数据之间的旋转矩阵;将旋转矩阵转化为欧拉角;根据欧拉角以及相邻两帧测量数据之间的时间差计算得到角速度序列。

示例地,多个传感器包括惯性测量单元,角速度确定模块52具体用于从惯性测量单元的测量数据中,获取惯性测量单元的角速度序列。

在一种可能的实施方式中,多个传感器包括第一传感器以及第二传感器,角速度对齐模块53具体用于:以第一传感器的角速度序列为基准,对第二传感器的角速度序列进行插值处理,使得插值得到的角速度与第一传感器的角速度序列中的任一角速度在时间上对齐,得到时间已对齐的各传感器的目标角速度序列。基于以上,映射关系标定模块54具体用于:针对时间已对齐的各传感器的目标角速度序列中的每一组目标角速度,建立从第一传感器的目标角速度映射到第二传感器的目标角速度的方程,得到方程组,并根据矩阵的奇异值分解对方程组求解,得到映射矩阵。

采用上述装置,任意两个传感器坐标系之间的旋转关系参数的标定过程便捷快速,无需借助额外的辅助工具,降低了传感器标定成本,扩大了传感器标定方法的可适用范围,同时还可以避免辅助工具测量过程中可能带来的误差导致标定不准确的情况,提高了标定参数的精准度,进而确保了传感器数据融合结果的准确性和可靠性。

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

图6是本公开实施例提供的一种运动物体600的框图,如图6所示,该运动物体600可以包括:处理器601,存储器602。该运动物体600还可以包括多媒体组件603,输入/输出(i/o)接口604,以及通信组件605中的一者或多者。

其中,处理器601用于控制该运动物体600的整体操作,以完成上述的传感器的标定方法中的全部或部分步骤。存储器602用于存储各种类型的数据以支持在该运动物体600的操作,这些数据例如可以包括用于在该运动物体600上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器602可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(staticrandomaccessmemory,简称sram),电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,简称eeprom),可擦除可编程只读存储器(erasableprogrammableread-onlymemory,简称eprom),可编程只读存储器(programmableread-onlymemory,简称prom),只读存储器(read-onlymemory,简称rom),磁存储器,快闪存储器,磁盘或光盘。多媒体组件603可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器602或通过通信组件605发送。音频组件还包括至少一个扬声器,用于输出音频信号。i/o接口604为处理器601和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件605用于该运动物体600与其他设备之间进行有线或无线通信。无线通信,例如wi-fi,蓝牙,近场通信(nearfieldcommunication,简称nfc),2g、3g、4g、nb-iot、emtc、或其他5g等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件605可以包括:wi-fi模块,蓝牙模块,nfc模块等等。

在一示例性实施例中,运动物体600可以被一个或多个应用专用集成电路(applicationspecificintegratedcircuit,简称asic)、数字信号处理器(digitalsignalprocessor,简称dsp)、数字信号处理设备(digitalsignalprocessingdevice,简称dspd)、可编程逻辑器件(programmablelogicdevice,简称pld)、现场可编程门阵列(fieldprogrammablegatearray,简称fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的传感器的标定方法。

在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的传感器的标定方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器602,上述程序指令可由运动物体600的处理器601执行以完成上述的传感器的标定方法。

以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。

此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。

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