一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于视觉SLAM的用于移动机器人的构图方法与流程

2022-08-17 02:44:27 来源:中国专利 TAG:

基于视觉slam的用于移动机器人的构图方法
技术领域
1.本技术涉及视觉slam领域,且更为具体地,涉及基于视觉slam的用于移动机器人的构图方法、基于视觉slam的用于移动机器人的定位方法、基于视觉slam的用于移动机器人的构图装置、基于视觉slam的用于移动机器人的定位装置和机器人。


背景技术:

2.slam技术(simultaneous localizationand mapping),即,同步定位和建图技术,是指:在没有先验信息的情况下,搭载特定传感器的主体在运动的过程中构建目标环境地图,且同时估计自身的位姿以实现自主定位。
3.依传感器分类,slam主要包括激光slam和视觉slam,其中,当传感器主要为激光雷达时,称为激光slam;当传感器主要为图像采集设备(例如,相机)时,称为视觉slam。激光slam技术比较成熟,然而激光雷达成本较高,安装要求高,寿命低,探测范围有限,缺乏语义信息;而相机的成本较低,安装方式多元化,无传感探测距离限制,可提取语义信息,视觉slam是未来研究的一个主流方向。
4.近年来,视觉slam技术被广泛应用于机器人、自动驾驶汽车、无人机等移动终端设备中,以实现地图构建、导航定位、路径规划等功能。其中,深度相机是应用视觉slam技术的移动终端设备中常用的视觉传感器,可用于测定深度相机的镜头到被拍摄物体的距离,即深度数据。
5.深度相机可分为被动式深度相机(例如,被动式双目深度相机)和主动式深度相机(例如,结构光深度相机,tof深度相机)。相比于利用被动式双目视觉测定深度数据,利用tof测定深度数据相对容易实现,特别是以间接的tof(indirect-tof:i-tof)原理实现深度数据测定的i-tof深度相机(即,基于相位差原理的tof相机),因其在图像像素、应用成本等方面的优势而被广泛应用。
6.利用i-tof深度相机可采集目标环境的rgb图像和深度点云,进而利用rgb图像和深度点云进行同步地图构建和定位,以实现机器人(例如,扫地机器人)的导航和避障。但是基于i-tof深度相机的视觉slam方案在实际应用中,却存在一些技术问题。
7.首先,普通的i-tof深度相机视场角较小,帧间的重叠区较小,不利于位姿估计。并且,如果以i-tof深度相机为单一的位姿传感器,其难以适应于多种不同的场景,其原因在于:自单一传感器获取的数据不足以实现位姿的精确估计,使得地图构建和定位的精度较低。
8.其次,i-tof深度相机在工作时容易受多路径干扰(mpi)的影响,使得所获得的深度点云误差较大,导致地图构建和定位的精度降低。
9.具体地,由于目标环境中存在着复杂的漫反射和镜面反射,在i-tof深度相机的将检测激光投向目标环境中的目标对象后,目标对象上与i-tof深度相机的镜头之间距离不同的点可能在同一时刻将光线反射至i-tof深度相机,导致深度测定值与实际值之间存在偏差,即,深度点云中各像素点的深度值存在误差。并且,在有转角的场景中,回到i-tof深
度相机的光线可能经过了一次反射,也可能经过了多次反射,换句话说,目标对象上同时将光线反射至i-tof深度相机的点,对应的深度值可能不一致。
10.相应地,期待一种优化的基于视觉slam的构图和定位的方案。


技术实现要素:

11.本技术的一个优势在于提供了一种基于视觉slam的用于移动机器人的构图方法、基于视觉slam的用于移动机器人的定位方法、基于视觉slam的用于移动机器人的构图装置、基于视觉slam的用于移动机器人的定位装置和机器人,其中,所述构图方法通过融合位姿和基于帧间位姿变换校正深度点云,提高地图构建和定位的精度。
12.本技术的另一优势在于提供了一种基于视觉slam的用于移动机器人的构图方法、基于视觉slam的用于移动机器人的定位方法、基于视觉slam的用于移动机器人的构图装置、基于视觉slam的用于移动机器人的定位装置和机器人,其中,对所采集的深度点云的多路径干扰进行属性统计,以量化所述深度点云中各个像素点的多路径干扰的情况。
13.为了实现上述至少一优势或其他优势和目的,根据本技术的一个方面,提供了一种基于视觉slam的用于移动机器人的构图方法,其包括:步骤1:初始化,以生成初始关键帧和所述初始关键帧对应的初始位姿;
14.步骤2:通过rgb-d摄像模组,获取目标环境的rgb图像和与所述rgb图像对应的深度图像并将所述深度图像转化为深度点云,所述深度点云的每一像素点具有多路径干扰的属性值;
15.步骤3:基于slam视觉追踪,生成关键帧序列,其中,步骤3,包括:
16.步骤31:基于当前帧的rgb图像的特征点和与所述当前帧相邻的先前帧的rgb图像的特征点以及所述当前帧和所述先前帧分别对应的由惯性传感器提供的位姿数据,获得所述当前帧对应的估计位姿;
17.步骤32:将所述当前帧和与所述当前帧连续的s帧图像帧的估计位姿输入滑动窗口进行非线性优化,以生成所述当前帧的位姿;
18.步骤33:基于所述当前帧的位姿和所述先前帧的位姿,生成帧间位姿变换矩阵;
19.步骤34:基于所述帧间位姿变换矩阵和所述先前帧的深度点云,对所述当前帧的深度点云中多路径干扰的属性值高于预设阈值的像素点进行校正,以获得所述当前帧的校正后深度点云;
20.步骤35:迭代地执行步骤31至步骤34,以获得所述关键帧序列,所述关键帧序列中每个关键帧具有校正后深度点云;以及
21.步骤4:基于所述关键帧序列中所有关键帧的校正后深度点云和位姿,生成目标地图。
22.在根据本技术的基于视觉slam的用于移动机器人的构图方法中,所述惯性传感器,包括惯性测量单元和轮式编码器,所述位姿数据包括由所述惯性测量单元获得的第一位姿数据和所述轮式编码器获得的第二位姿数据;其中,步骤31:基于当前帧的rgb图像的特征点和与所述当前帧相邻的先前帧的rgb图像的特征点以及所述当前帧和所述先前帧分别对应的由惯性传感器提供的位姿数据,获得所述当前帧对应的估计位姿,包括:
23.基于如下所述损失函数,获得所述当前帧对应的融合位姿,其中,所述损失函数为
c(x_k)=cost_imu cost_wheel cost_camera;
24.其中,cost_imu表示所述当前帧与所述先前帧分别对应的所述第一位姿数据以所述估计位姿为估计量的积分损失函数;cost_wheel表示所述当前帧与所述先前帧分别对应的所述第二位姿数据以所述估计位姿为估计量的积分损失函数;cost_camera为基于所述当前帧的rgb图像的特征点生成的重投影误差。
25.在根据本技术的基于视觉slam的用于移动机器人的构图方法中,步骤32:将所述当前帧和与所述当前帧连续的s帧图像帧的估计位姿输入滑动窗口进行非线性优化,以生成所述当前帧的位姿,包括:
26.将所述当前帧和与所述当前帧连续的s帧图像帧的估计位姿输入如下所述的优化函数,并计算所述优化函数的边际化矩阵和位移向量以作为所述当前帧的位姿;
27.其中,所述优化函数为c(x_i)=∑(cost_imu cost_wheel cost_camera)。
28.在根据本技术的基于视觉slam的用于移动机器人的构图方法中,步骤34:基于所述帧间位姿变换矩阵和所述先前帧的深度点云,对所述当前帧的深度点云中多路径干扰的属性值高于预设阈值的像素点进行校正,以获得所述当前帧的校正后深度点云,包括:
29.筛选出所述当前帧的深度点云中多路径干扰的属性值高于预设阈值的待替换像素点;
30.将所述先前帧的深度点云中与所述待替换像素点对应的像素点通过所述帧间位姿变换矩阵转化为替换像素点;以及
31.以所述替换像素点替换掉所述当前帧的深度点云中所述待替换像素点,以生成所述当前帧的校正后深度点云。
32.在根据本技术的基于视觉slam的用于移动机器人的构图方法中,步骤4:基于所述关键帧序列中所有关键帧的校正后深度点云和位姿,生成目标地图,包括:
33.基于所述关键帧序列中所有关键帧的校正后深度点云和位姿,生成概率栅格地图;
34.基于所述关键帧序列中所有关键帧的校正后深度点云,生成点云地图;
35.融合所述点云地图和所述概率栅格地图,以生成所述目标地图。
36.在根据本技术的基于视觉slam的用于移动机器人的构图方法中,步骤3,进一步包括:对所述关键帧序列和/或所述关键帧进行后端优化;
37.其中,所述后端优化,至少包括如下步骤至少之一:
38.基于所述关键帧的rgb图像的特征点和词袋模型构建所述特征点的共视图约束;
39.基于icp匹配,构建连续的所述关键帧之间的位姿约束;以及
40.当闭环产生时,以光束平差法进行全局非线性优化。
41.在根据本技术的基于视觉slam的用于移动机器人的构图方法中,所述多路径干扰的属性值为多路径干扰的置信度。
42.根据本技术的另一个方面,提供了一种基于视觉slam的用于移动机器人的定位方法,其包括:
43.步骤110:基于所述的基于视觉slam的用于移动机器人的构图方法,生成所述目标地图;
44.步骤120:基于移动机器人所采集的所述目标环境的局部的rgb图像和深度点云,
以所述的基于视觉slam的用于移动机器人的构图方法,生成局部地图;
45.步骤130:基于所述局部地图与所述目标地图之间的非线性匹配,确定所述移动机器人的重定位初始位姿;
46.步骤140:基于当前帧的rgb图像的特征点在所述点云地图上的重投影误差、所述当前帧的校正后的深度点云与所述概率栅格地图之间的匹配误差以及基于所述当前帧和所述先前帧分别对应的由所述惯性传感器提供的位姿数据确定的惯性位姿误差构建非线性优化函数,并通过所述非线性优化函数,获得所述当前帧的估计位姿;以及
47.步骤150:将所述当前帧和与所述当前帧连续的s帧图像帧的估计位姿输入滑动窗口进行非线性优化,以生成所述当前帧的位姿。
48.在根据本技术的基于视觉slam的用于移动机器人的定位方法中,所述步骤140:基于当前帧的rgb图像的特征点在所述点云地图上的重投影误差、所述当前帧的校正后的深度点云与所述概率栅格地图之间的匹配误差以及基于所述当前帧和所述先前帧分别对应的由所述惯性传感器提供的位姿数据确定的惯性位姿误差构建非线性优化函数,并通过所述非线性优化函数,获得所述当前帧的估计位姿,包括:
49.基于如下概率匹配损失函数,获得所述当前帧的估计位姿,其中,所述损失函数为c(xp_k)=cost_imu cost_wheel cost_camera cost_point;
50.其中,cost_imu表示所述当前帧与所述先前帧分别对应的所述第一位姿数据以所述估计位姿为估计量的积分损失函数;cost_wheel表示所述当前帧与所述先前帧分别对应的所述第二位姿数据以所述估计位姿为估计量的积分函数;cost_camera为基于当前帧的rgb图像的特征点在所述点云地图上的重投影误差;cost_point基于为所述当前帧的校正后的深度点云与所述概率栅格地图之间的匹配误差。
51.在根据本技术的基于视觉slam的用于移动机器人的定位方法中,所述步骤150:将所述当前帧和与所述当前帧连续的s帧图像帧的估计位姿输入滑动窗口进行非线性优化,以生成所述当前帧的位姿,包括:将所述当前帧和与所述当前帧连续的s帧图像帧的估计位姿输入如下所述的优化函数,并计算所述优化函数的边际化矩阵和位移向量以作为所述当前帧的位姿;
52.其中,所述优化函数为c(xp_k)=σ(cost_imu cost_wheel cost_camera cost_point)。
53.根据本技术的另一个方面,提供了一种基于视觉slam的用于移动机器人的构图装置,其包括:
54.初始化单元,用于执行步骤1:初始化,以生成初始关键帧和所述初始关键帧对应的初始位姿;
55.数据获取单元,用于执行步骤2:通过rgb-d摄像模组,获取目标环境的rgb图像和与所述rgb图像对应的深度图像并将所述深度图像转化为深度点云,所述深度点云的每一像素点具有多路径干扰的属性值;
56.追踪单元,用于执行步骤3:基于slam视觉追踪,生成关键帧序列,其中,步骤3,包括:
57.步骤31:基于当前帧的rgb图像的特征点和与所述当前帧相邻的先前帧的rgb图像的特征点以及所述当前帧和所述先前帧分别对应的由惯性传感器提供的位姿数据,获得所
述当前帧对应的估计位姿;
58.步骤32:将所述当前帧和与所述当前帧连续的s帧图像帧的估计位姿输入滑动窗口进行非线性优化,以生成所述当前帧的位姿;
59.步骤33:基于所述当前帧的位姿和所述先前帧的位姿,生成帧间位姿变换矩阵;
60.步骤34:基于所述帧间位姿变换矩阵和所述先前帧的深度点云,对所述当前帧的深度点云中多路径干扰的属性值高于预设阈值的像素点进行校正,以获得所述当前帧的校正后深度点云;
61.步骤35:迭代地执行步骤31至步骤34,以获得所述关键帧序列,所述关键帧序列中每个关键帧具有校正后深度点云;以及
62.地图生成单元,用于执行步骤4:基于所述关键帧序列中所有关键帧的校正后深度点云和位姿,生成目标地图。
63.根据本技术的另一个方面,提供了一种基于视觉slam的用于移动机器人的定位装置,其包括:
64.地图构建单元,用于执行步骤110:基于所述的基于视觉slam的用于移动机器人的构图方法,生成所述目标地图;
65.局部地图构建单元,用于执行步骤120:基于移动机器人所采集的所述目标环境的局部的rgb图像和深度点云,以所述的基于视觉slam的用于移动机器人的构图方法,生成局部地图;
66.重定位初始位姿生成单元,用于执行步骤130:基于所述局部地图与所述目标地图之间的非线性匹配,确定所述移动机器人的重定位初始位姿;
67.位姿估计单元,用于执行步骤140:基于当前帧的rgb图像的特征点在所述点云地图上的重投影误差、所述当前帧的校正后的深度点云与所述概率栅格地图之间的匹配误差以及基于所述当前帧和所述先前帧分别对应的由所述惯性传感器提供的位姿数据确定的惯性位姿误差构建非线性优化函数,并通过所述非线性优化函数,获得所述当前帧的估计位姿;以及
68.非线性优化单元,用于执行步骤s150,将所述当前帧和与所述当前帧连续的s帧图像帧的估计位姿输入滑动窗口进行非线性优化,以生成所述当前帧的位姿。
69.根据本技术的另一个方面,提供了一种机器人,其包括:
70.机器人主体;
71.安装于所述机器人主体的rgb-d摄像模组;
72.安装于所述机器人主体的惯性传感器;以及
73.可通信地连接于所述rgb-d摄像模组和所述惯性传感器处理装置,其中,所述数据处理装置用于执行所述的基于视觉slam的用于移动机器人的构图方法,或者,所述的基于视觉slam的用于移动机器人的定位方法。
74.通过对随后的描述和附图的理解,本技术进一步的目的和优势将得以充分体现。
75.本技术的这些和其它目的、特点和优势,通过下述的详细说明,附图和权利要求得以充分体现。
附图说明
76.图1图示了根据本技术实施例的基于视觉slam的用于移动机器人的构图方法的流程图。
77.图2图示了根据本技术实施例的基于视觉slam的用于移动机器人的构图方法中,基于slam视觉追踪,生成关键帧序列的流程图。
78.图3图示了根据本技术实施例的基于视觉slam的用于移动机器人的定位方法中,基于所述帧间位姿变换矩阵和所述先前帧的深度点云,对所述当前帧的深度点云中多路径干扰的属性值高于预设阈值的像素点进行校正,以获得所述当前帧的校正后深度点云的流程图。
79.图4图示了根据本技术实施例的基于视觉slam的用于移动机器人的定位方法的流程图。
80.图5图示了根据本技术实施例的基于视觉slam的用于移动机器人的构图装置的框图。
81.图6图示了根据本技术实施例的基于视觉slam的用于移动机器人的定位装置的框图。
82.图7图示了根据本技术实施例的机器人的框图。
具体实施方式
83.以下描述用于揭露本技术以使本领域技术人员能够实现本技术。以下描述中的实施例只作为举例,本领域技术人员可以想到其他显而易见的变型。在以下描述中界定的本技术的基本原理可以应用于其他实施方案、变形方案、改进方案、等同方案以及没有背离本技术的精神和范围的其他技术方案。
84.申请概述
85.如前所述,基于i-tof深度相机的视觉slam方案在实际应用中,存在一些技术问题。首先,普通的i-tof深度相机视场角较小,帧间的重叠区较小,不利于位姿估计;且单一的传感器难以适应于多种不同的场景,自单一传感器获取的数据不足以实现位姿的精确估计,使得地图构建和定位的精度较低。其次,i-tof深度相机容易受多路径干扰(mpi)的影响,导致所获得的深度点云中各像素点的深度值存在误差。
86.对于位姿估计的精准度低而导致的地图构建和定位的精度较低的问题,一方面,可利用广角的i-tof深度相机,扩大视场角,增大帧间的重叠区,以便于关键帧图像之间相对应的特征点的匹配,进而提高位姿估计的精准度。另一方面,可利用多个传感器获取位姿数据,通过融合来自不同传感器的位姿数据,提高位姿数据的可靠程度,进一步提高地图构建和定位的精度。例如:可融合来自惯性传感器的位姿数据,对位姿数据进行非线性优化,以提高地图构建和定位的精度。
87.对于多路径干扰而引起的地图构建和定位的精度低的问题。本技术发明人尝试从深度点云数据处理入手,提高地图构建和定位的精度。具体地,受多路径干扰的影响,所获取的深度点云中可能存在误差较大的部分,那么,可以首先识别出深度点云中哪些像素点的误差较大,进而,对这些误差较大的像素点采用特定的数据校正方案进行及哦啊正,以提高地图构建和定位的精度。
88.在本技术的技术方案中,可首先对所采集的深度点云的多路径干扰进行属性统计,以量化所述深度点云中各个像素点的多路径干扰的情况。这里,多路径干扰的属性值反映了深度点云受多路径干扰的程度。多路径干扰的属性值越高,表明受多路径干扰的程度越大;反之,多路径干扰的属性值越低,表明受多路径干扰的程度越低。例如,所述多路径干扰的属性值可被实施为多路径干扰的置信度,即,如果多路径的置信度越高,表明受多路径干扰的程度越大;反之,多路径干扰的置信度越低,表明受多路径干扰的程度越低相应地,可通过多路径干扰属性值来识别出待校正的深度点云部分。
89.在深度点云校正的过程中,由于相邻两帧深度点云之间的数据存在关联,因此,在本技术的技术方案中,本技术发明人尝试通过相邻的关键帧的位姿生成的帧间位姿变换矩阵,对当前帧的深度点云中待校正的深度点云部分进行校正。
90.基于此,本技术提出了一种基于视觉slam的用于移动机器人的构图方法,其包括:步骤1:初始化,以生成初始关键帧和所述初始关键帧对应的初始位姿;步骤2:通过rgb-d摄像模组,获取目标环境的rgb图像和与所述rgb图像对应的深度图像并将所述深度图像转化为深度点云,所述深度点云的每一像素点具有多路径干扰的属性值;步骤3:基于slam视觉追踪,生成关键帧序列,其中,步骤3,包括:步骤31:基于当前帧的rgb图像的特征点和与所述当前帧相邻的先前帧的rgb图像的特征点以及所述当前帧和所述先前帧分别对应的由惯性传感器提供的位姿数据,获得所述当前帧对应的估计位姿;步骤32:将所述当前帧和与所述当前帧连续的s帧图像帧的估计位姿输入滑动窗口进行非线性优化,以生成所述当前帧的位姿;步骤33:基于所述当前帧的位姿和所述先前帧的位姿,生成帧间位姿变换矩阵;步骤34:基于所述帧间位姿变换矩阵和所述先前帧的深度点云,对所述当前帧的深度点云中多路径干扰的属性值高于预设阈值的像素点进行校正,以获得所述当前帧的校正后深度点云;步骤35:迭代地执行步骤31至步骤34,以获得所述关键帧序列,所述关键帧序列中每个关键帧具有校正后深度点云;以及步骤4:基于所述关键帧序列中所有关键帧的校正后深度点云和位姿,生成目标地图。基于此,本技术还提出了一种光学镜头,其包括如上所述的光学系统,以及,用于收容所述光学系统于其内的镜筒。
91.基于此,本技术还提出了一种基于视觉slam的用于移动机器人的定位方法,其包括:步骤110:基于所述的基于视觉slam的用于移动机器人的构图方法,生成所述目标地图;步骤120:基于移动机器人所采集的所述目标环境的局部的rgb图像和深度点云,以所述的基于视觉slam的用于移动机器人的构图方法,生成局部地图;步骤130:基于所述局部地图与所述目标地图之间的非线性匹配,确定所述移动机器人的重定位初始位姿;步骤140:基于当前帧的rgb图像的特征点在所述点云地图上的重投影误差、所述当前帧的校正后的深度点云与所述概率栅格地图之间的匹配误差以及基于所述当前帧和所述先前帧分别对应的由所述惯性传感器提供的位姿数据确定的惯性位姿误差构建非线性优化函数,并通过所述非线性优化函数,获得所述当前帧的估计位姿;以及步骤150:将所述当前帧和与所述当前帧连续的s帧图像帧的估计位姿输入滑动窗口进行非线性优化,以生成所述当前帧的位姿。
92.基于此,本技术还提出了一种基于视觉slam的用于移动机器人的构图装置,其包括:初始化单元,用于执行步骤1:初始化,以生成初始关键帧和所述初始关键帧对应的初始位姿;数据获取单元,用于执行步骤2:通过rgb-d摄像模组,获取目标环境的rgb图像和与所
述rgb图像对应的深度图像并将所述深度图像转化为深度点云,所述深度点云的每一像素点具有多路径干扰的属性值;追踪单元,用于执行步骤3:基于slam视觉追踪,生成关键帧序列,其中,步骤3,包括:步骤31:基于当前帧的rgb图像的特征点和与所述当前帧相邻的先前帧的rgb图像的特征点以及所述当前帧和所述先前帧分别对应的由惯性传感器提供的位姿数据,获得所述当前帧对应的估计位姿;步骤32:将所述当前帧和与所述当前帧连续的s帧图像帧的估计位姿输入滑动窗口进行非线性优化,以生成所述当前帧的位姿;步骤33:基于所述当前帧的位姿和所述先前帧的位姿,生成帧间位姿变换矩阵;步骤34:基于所述帧间位姿变换矩阵和所述先前帧的深度点云,对所述当前帧的深度点云中多路径干扰的属性值高于预设阈值的像素点进行校正,以获得所述当前帧的校正后深度点云;步骤35:迭代地执行步骤31至步骤34,以获得所述关键帧序列,所述关键帧序列中每个关键帧具有校正后深度点云;以及地图生成单元,用于执行步骤4:基于所述关键帧序列中所有关键帧的校正后深度点云和位姿,生成目标地图。
93.基于此,本技术还提出了一种基于视觉slam的用于移动机器人的定位装置,其包括:地图构建单元,用于执行步骤110:基于所述的基于视觉slam的用于移动机器人的构图方法,生成所述目标地图;局部地图构建单元,用于执行步骤120:基于移动机器人所采集的所述目标环境的局部的rgb图像和深度点云,以所述的基于视觉slam的用于移动机器人的构图,方法生成局部地图;重定位初始位姿生成单元,用于执行步骤130:基于所述局部地图与所述目标地图之间的非线性匹配,确定所述移动机器人的重定位初始位姿;位姿估计单元,用于执行步骤140:基于当前帧的rgb图像的特征点在所述点云地图上的重投影误差、所述当前帧的校正后的深度点云与所述概率栅格地图之间的匹配误差以及基于所述当前帧和所述先前帧分别对应的由所述惯性传感器提供的位姿数据确定的惯性位姿误差构建非线性优化函数,并通过所述非线性优化函数,获得所述当前帧的估计位姿;以及非线性优化单元,用于执行步骤s150,将所述当前帧和与所述当前帧连续的s帧图像帧的估计位姿输入滑动窗口进行非线性优化,以生成所述当前帧的位姿。
94.基于此,本技术还提出了一种机器人,其包括:机器人主体;安装于所述机器人主体的rgb-d摄像模组;安装于所述机器人主体的惯性传感器;以及可通信地连接于所述rgb-d摄像模组和所述惯性传感器的数据处理装置,其中,所述数据处理装置用于执行所述的基于视觉slam的用于移动机器人的构图方法,或者,所述的基于视觉slam的用于移动机器人的定位方法。
95.在介绍了本技术的基本原理之后,下面将参考附图来具体介绍本技术的各种非限制性实施例。
96.以下为本技术中涉及的相关术语的基本介绍。
97.视觉slam:是指搭载视觉传感器的主体,例如,机器人、车辆、无人机等,在没有先验信息的情况下,在探索目标环境的过程中,构建目标环境地图,同时估计自身的位姿,实现自主定位。
98.关键帧:视频的所有帧中,满足预设条件的视频帧,关键帧具有对slam有用的信息,利用关键帧,可有效估计搭载视觉传感器的主体的位姿,并减少信息的冗余。
99.位姿:位置和姿态,位置可通过坐标系中x、y、z三个方向的平移表示,姿态可通过坐标系中x、y、z三个方向的旋转表示。
100.点云:是指在同一空间参考系下,获取的目标对象的采样点的集合,可表达目标对象的空间分布和表面特性,具有三维坐标信息、深度信息等信息,点云可通过深度图像转化获得。
101.惯性传感器:可用于测定加速度、旋转和多自由度等,在视觉slam的应用中,可利用惯性传感器获得位姿数据。
102.词袋模型:是一种特征提取方法,可将文档表示为特征矢量,在视觉slam的应用中,可利用词袋模型进行特征提取,以快速找到相似的图像。
103.icp:迭代最近点算法(iterative closest point),是一种点云匹配算法,基于两组点云之间的位姿关系进行点云变换,计算两组点云中最近的点对变换后的误差,并不断迭代,直至该误差小于阈值,或者达到最大的迭代次数。
104.光束平差法:(bundle adjustment,ba)是指从视觉重建中提炼出最优的3d模型和相机参数(内参数和外参数),从每一个特征点反射出来的几束光线(bundles of light rays),在把相机姿态和特征点空间位置做出最优的调整(adjustment)之后,最后收束到相机光心的过程。
105.示例性构图方法
106.基于视觉slam的构图方法可被应用于机器人、自动驾驶汽车、无人机等移动终端设备中,为了便于说明和理解,以下以用于移动机器人为示例来说明本实施例的构图方法。
107.图1图示了根据本技术实施例的基于视觉slam的用于移动机器人的构图方法的流程图。图2图示了根据本技术实施例的基于视觉slam的用于移动机器人的构图方法中,基于slam视觉追踪,生成关键帧序列的流程图。
108.如图1和图2所示,根据本技术实施例的所述基于视觉slam的用于移动机器人的构图方法,包括:步骤1:初始化,以生成初始关键帧和所述初始关键帧对应的初始位姿;步骤2:通过rgb-d摄像模组,获取目标环境的rgb图像和与所述rgb图像对应的深度图像并将所述深度图像转化为深度点云,所述深度点云的每一像素点具有多路径干扰的属性值;步骤3:基于slam视觉追踪,生成关键帧序列,其中,步骤3,包括:步骤31:基于当前帧的rgb图像的特征点和与所述当前帧相邻的先前帧的rgb图像的特征点以及所述当前帧和所述先前帧分别对应的由惯性传感器提供的位姿数据,获得所述当前帧对应的估计位姿;步骤32:将所述当前帧和与所述当前帧连续的s帧图像帧的估计位姿输入滑动窗口进行非线性优化,以生成所述当前帧的位姿;步骤33:基于所述当前帧的位姿和所述先前帧的位姿,生成帧间位姿变换矩阵;步骤34:基于所述帧间位姿变换矩阵和所述先前帧的深度点云,对所述当前帧的深度点云中多路径干扰的属性值高于预设阈值的像素点进行校正,以获得所述当前帧的校正后深度点云;步骤35:迭代地执行步骤31至步骤34,以获得所述关键帧序列,所述关键帧序列中每个关键帧具有校正后深度点云;以及步骤4:基于所述关键帧序列中所有关键帧的校正后深度点云和位姿,生成目标地图。
109.在步骤2中,通过rgb-d摄像模组,获取目标环境的rgb图像和与所述rgb图像对应的深度图像并将所述深度图像转化为深度点云,所述深度点云的每一像素点具有多路径干扰的属性值。在本技术示例中,所述多路径干扰的属性值为多路径干扰的置信度,反映了深度点云受多路径干扰的程度。多路径干扰的属性值越高,表明受多路径干扰的程度越大;反之,多路径干扰的属性值越低,表明受多路径干扰的程度越低。
110.值得一提的是,在本技术实施例中,为了避免视场角小而影响位姿估计,优选地,所述rgb-d摄像模组为广角的i-tof摄像模组(水平视场角不低于120度),扩大视场角,增大帧间的重叠区,以便于关键帧图像之间相对应的特征点的匹配,进而提高位姿估计的精准度。
111.当然,在本技术的其他示例中,可选用其他广角的摄像模组、全景的摄像模组等合适的摄像模组,也可选用多个摄像模组,以扩大视场角。对此,并不为本技术所局限。
112.如前所述,自单一传感器获取的数据不足以实现位姿的精确估计,可利用多个传感器获取位姿数据,通过融合来自不同传感器的位姿数据,提高位姿数据的可靠程度。本技术的一个具体示例中,融合来自惯性传感器的位姿数据,对位姿数据进行非线性优化,以提高地图构建和定位的精度。所述惯性传感器,包括惯性测量单元和轮式编码器,所述位姿数据包括由所述惯性测量单元获得的第一位姿数据和所述轮式编码器获得的第二位姿数据。当然,在本技术的其他示例中,可通过融合其他传感器的位姿数据,例如,gps传感器,对此,并不为本技术所局限。
113.具体地,步骤31:基于当前帧的rgb图像的特征点和与所述当前帧相邻的先前帧的rgb图像的特征点以及所述当前帧和所述先前帧分别对应的由惯性传感器提供的位姿数据,获得所述当前帧对应的估计位姿,包括:基于如下所述损失函数,获得所述当前帧对应的融合位姿,其中,所述损失函数为c(x_k)=cost_imu cost_wheel cost_camera;其中,cost_imu表示所述当前帧与所述先前帧分别对应的所述第一位姿数据以所述估计位姿为估计量的积分损失函数;cost_wheel表示所述当前帧与所述先前帧分别对应的所述第二位姿数据以所述估计位姿为估计量的积分损失函数;cost_camera为基于所述当前帧的rgb图像的特征点生成的重投影误差。
114.相应地,本技术的一个具体示例中,步骤32:将所述当前帧和与所述当前帧连续的s帧图像帧的估计位姿输入滑动窗口进行非线性优化,以生成所述当前帧的位姿,包括:将所述当前帧和与所述当前帧连续的s帧图像帧的估计位姿输入如下所述的优化函数,并计算所述优化函数的边际化矩阵和位移向量以作为所述当前帧的位姿;其中,所述优化函数为c(x_i)=∑(cost_imu cost_wheel cost_camera)。
115.图3图示了根据本技术实施例的基于视觉slam的用于移动机器人的定位方法中,基于所述帧间位姿变换矩阵和所述先前帧的深度点云,对所述当前帧的深度点云中多路径干扰的属性值高于预设阈值的像素点进行校正,以获得所述当前帧的校正后深度点云的流程图。
116.如图3所示,步骤34:基于所述帧间位姿变换矩阵和所述先前帧的深度点云,对所述当前帧的深度点云中多路径干扰的属性值高于预设阈值的像素点进行校正,以获得所述当前帧的校正后深度点云,包括:筛选出所述当前帧的深度点云中多路径干扰的属性值高于预设阈值的待替换像素点;将所述先前帧的深度点云中与所述待替换像素点对应的像素点通过所述帧间位姿变换矩阵转化为替换像素点;以及以所述替换像素点替换掉所述当前帧的深度点云中所述待替换像素点,以生成所述当前帧的校正后深度点云。
117.值得一提的是,为了得到点云精度较高的关键帧,可筛选出深度点云中多路径干扰的属性值低于预设阈值的像素点超过90%的初始关键帧作为预选帧,基于预选当前帧的位姿和预选先前帧的位姿,生成预选帧间位姿变换矩阵,并基于所述预选帧间位姿变换矩
阵和所述预选先前帧的深度点云,对所述预选当前帧的深度点云中多路径干扰的属性值高于预设阈值的像素点进行校正,以获得所述预选当前帧的校正后深度点云。
118.特别的是,不仅可利用像素点替换的方式,通过所述帧间位姿变换矩阵基于所述帧间位姿变换矩阵和所述先前帧的深度点云,对所述当前帧的深度点云中多路径干扰的属性值高于预设阈值的像素点进行校正。例如,在本技术的其他示例中,可利用加权的方式或其他方式,通过所述帧间位姿变换矩阵和所述先前帧的深度点云,对所述当前帧的深度点云中多路径干扰的属性值高于预设阈值的像素点进行校正,对此并不为本技术所局限。
119.通过对深度点云的校正,可降低深度点云因多路径干扰而造成的误差,提高地图构建和定位的精度。
120.在步骤3:基于slam视觉追踪,生成关键帧序列的过程中,获得的用于完成地图构建和定位的数据不可避免地存在误差累计,特别是随着所述目标地图的范围的扩大,累计的误差会越来越影响数据的精准度。根据实际场景和实际需求,生成所述关键帧序列后,可对所述关键帧序列和/或所述关键帧进行后端优化。
121.相应地,所述基于视觉slam的用于移动机器人的构图方法,进一步包括:对所述关键帧序列和/或所述关键帧进行后端优化;其中,所述后端优化,至少包括如下步骤至少之一:基于所述关键帧的rgb图像的特征点和词袋模型构建所述特征点的共视图约束;基于icp匹配,构建连续的所述关键帧之间的位姿约束;以及当闭环产生时,以光束平差法进行全局非线性优化。
122.本技术的一个具体示例中,步骤4:基于所述关键帧序列中所有关键帧的校正后深度点云和位姿,生成目标地图,包括:基于所述关键帧序列中所有关键帧的校正后深度点云和位姿,生成概率栅格地图;基于所述关键帧序列中所有关键帧的校正后深度点云,生成点云地图;融合所述点云地图和所述概率栅格地图,以生成所述目标地图。
123.示例性定位方法
124.根据本技术的另一方面,还提供了一种光基于视觉slam的用于移动机器人的定位方法。图4图示了根据本技术实施例的基于视觉slam的用于移动机器人的定位方法的流程图。
125.如图4所示,根据本技术实施例的所述基于视觉slam的用于移动机器人的定位方法,其包括:步骤110:基于如所述的基于视觉slam的用于移动机器人的构图方法,生成所述目标地图;步骤120:基于移动机器人所采集的所述目标环境的局部的rgb图像和深度点云,以所述的基于视觉slam的用于移动机器人的构图方法,生成局部地图;步骤130:基于所述局部地图与所述目标地图之间的非线性匹配,确定所述移动机器人的重定位初始位姿;步骤140:基于当前帧的rgb图像的特征点在所述点云地图上的重投影误差、所述当前帧的校正后的深度点云与所述概率栅格地图之间的匹配误差以及基于所述当前帧和所述先前帧分别对应的由所述惯性传感器提供的位姿数据确定的惯性位姿误差构建非线性优化函数,并通过所述非线性优化函数,获得所述当前帧的估计位姿;以及步骤150:将所述当前帧和与所述当前帧连续的s帧图像帧的估计位姿输入滑动窗口进行非线性优化,以生成所述当前帧的位姿。
126.具体地,所述步骤140:基于当前帧的rgb图像的特征点在所述点云地图上的重投影误差、所述当前帧的校正后的深度点云与所述概率栅格地图之间的匹配误差以及基于所
述当前帧和所述先前帧分别对应的由所述惯性传感器提供的位姿数据确定的惯性位姿误差构建非线性优化函数,并通过所述非线性优化函数,获得所述当前帧的估计位姿,包括:基于如下概率匹配损失函数,获得所述当前帧的估计位姿,其中,所述损失函数为c(xp_k)=cost_imu cost_wheel cost_camera cost_point;其中,c(xp_k)表示所述估计位姿;cost_imu表示所述当前帧与所述先前帧分别对应的所述第一位姿数据以所述估计位姿为估计量的积分损失函数;cost_wheel表示所述当前帧与所述先前帧分别对应的所述第二位姿数据以所述估计位姿为估计量的积分函数;cost_camera为基于当前帧的rgb图像的特征点在所述点云地图上的重投影误差;cost_point基于为所述当前帧的校正后的深度点云与所述概率栅格地图之间的匹配误差。
127.相应地,所述步骤150:将所述当前帧和与所述当前帧连续的s帧图像帧的估计位姿输入滑动窗口进行非线性优化,以生成所述当前帧的位姿,包括:将所述当前帧和与所述当前帧连续的s帧图像帧的估计位姿输入如下所述的优化函数,并计算所述优化函数的边际化矩阵和位移向量以作为所述当前帧的位姿;其中,所述优化函数为c(xp_k)=σ(cost_imu cost_wheel cost_camera cost_point)。
128.示例性构图装置
129.根据本技术的另一方面,还提供了一种基于视觉slam的用于移动机器人的构图装置10。图5图示了根据本技术实施例的基于视觉slam的用于移动机器人的构图装置的框图。
130.如图5所示,根据本技术实施例的所述基于视觉slam的用于移动机器人的构图装置10,其包括:初始化单元11,用于执行步骤1:初始化,以生成初始关键帧和所述初始关键帧对应的初始位姿;数据获取单元12,用于执行步骤2:通过rgb-d摄像模组,获取目标环境的rgb图像和与所述rgb图像对应的深度图像并将所述深度图像转化为深度点云,所述深度点云的每一像素点具有多路径干扰的属性值;追踪单元13,用于执行步骤3:基于slam视觉追踪,生成关键帧序列,其中,步骤3,包括:步骤31:基于当前帧的rgb图像的特征点和与所述当前帧相邻的先前帧的rgb图像的特征点以及所述当前帧和所述先前帧分别对应的由惯性传感器提供的位姿数据,获得所述当前帧对应的估计位姿;步骤32:将所述当前帧和与所述当前帧连续的s帧图像帧的估计位姿输入滑动窗口进行非线性优化,以生成所述当前帧的位姿;步骤33:基于所述当前帧的位姿和所述先前帧的位姿,生成帧间位姿变换矩阵;步骤34:基于所述帧间位姿变换矩阵和所述先前帧的深度点云,对所述当前帧的深度点云中多路径干扰的属性值高于预设阈值的像素点进行校正,以获得所述当前帧的校正后深度点云;步骤35:迭代地执行步骤31至步骤34,以获得所述关键帧序列,所述关键帧序列中每个关键帧具有校正后深度点云;以及,地图生成单元14,用于执行步骤4:基于所述关键帧序列中所有关键帧的校正后深度点云和位姿,生成目标地图。
131.示例性定位装置
132.根据本技术的另一方面,还提供了一种基于视觉slam的用于移动机器人的定位装置20。图6图示了根据本技术实施例的基于视觉slam的用于移动机器人的定位装置的框图。
133.如图6所示,根据本技术实施例的所述基于视觉slam的用于移动机器人的定位装置20,其包括:地图构建单元21,用于执行步骤110:基于所述的基于视觉slam的用于移动机器人的构图方法,生成所述目标地图;局部地图构建单元22,用于执行步骤120:基于移动机器人所采集的所述目标环境的局部的rgb图像和深度点云,以所述的基于视觉slam的用于
移动机器人的构图方法,生成局部地图;重定位初始位姿生成单元23,用于执行步骤130:基于所述局部地图与所述目标地图之间的非线性匹配,确定所述移动机器人的重定位初始位姿;位姿估计单元24,用于执行步骤140:基于当前帧的rgb图像的特征点在所述点云地图上的重投影误差、所述当前帧的校正后的深度点云与所述概率栅格地图之间的匹配误差以及基于所述当前帧和所述先前帧分别对应的由所述惯性传感器提供的位姿数据确定的惯性位姿误差构建非线性优化函数,并通过所述非线性优化函数,获得所述当前帧的估计位姿;以及,非线性优化单元25,用于执行步骤s150,将所述当前帧和与所述当前帧连续的s帧图像帧的估计位姿输入滑动窗口进行非线性优化,以生成所述当前帧的位姿。
134.示例性机器人
135.根据本技术的另一方面,还提供了一种机器人80。图7图示了根据本技术实施例的机器人的框图。如图7所示,根据本技术实施例的所述机器人80,其包括:机器人主体81;安装于所述机器人主体的rgb-d摄像模组82;安装于所述机器人主体的惯性传感器83;以及可通信地连接于所述rgb-d摄像模组和所述惯性传感器的数据处理装置84,其中,所述数据处理装置用于执行所述的基于视觉slam的用于移动机器人的构图方法,或者,所述的基于视觉slam的用于移动机器人的定位方法。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献