CN114782528A - 机器人的定位初始化方法、电子设备及计算机存储介质 - Google Patents
机器人的定位初始化方法、电子设备及计算机存储介质 Download PDFInfo
- Publication number
- CN114782528A CN114782528A CN202210254410.3A CN202210254410A CN114782528A CN 114782528 A CN114782528 A CN 114782528A CN 202210254410 A CN202210254410 A CN 202210254410A CN 114782528 A CN114782528 A CN 114782528A
- Authority
- CN
- China
- Prior art keywords
- point cloud
- pose
- visual image
- cloud data
- current
- 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.)
- Pending
Links
- 238000011423 initialization method Methods 0.000 title claims abstract description 25
- 230000000007 visual effect Effects 0.000 claims abstract description 168
- 238000004590 computer program Methods 0.000 claims abstract description 11
- 238000000034 method Methods 0.000 claims description 53
- 238000013507 mapping Methods 0.000 claims description 20
- 230000007613 environmental effect Effects 0.000 claims description 12
- 238000000605 extraction Methods 0.000 claims description 9
- 230000008859 change Effects 0.000 claims description 3
- 230000004807 localization Effects 0.000 claims 2
- 238000004364 calculation method Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000008447 perception Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
本申请公开了一种机器人的定位初始化方法、电子设备及计算机存储介质、计算机程序产品。该定位初始化方法包括:基于环境区域的点云数据及视觉图像确定视觉地图;获取当前视觉图像,并在视觉地图中搜索与当前视觉图像最相似的视觉图像及对应的位姿;利用位姿作为先验信息,基于当前点云数据在预设范围内进行点云搜索,得到机器人的初始位姿。通过这种方式,能够提高机器人的定位初始化的效率,且减少错误召回。
Description
技术领域
本申请涉及计算机和自动化技术领域,特别是涉及一种机器人的定位初始化方法、电子设备及计算机存储介质、计算机程序产品。
背景技术
机器人在环境中进行自主移动时,需要时刻知道自身在地图中所处的位姿,当机器人在前一时刻知道自己在地图中的位姿时,一般可以采用即时定位与建图(Simultaneous Localization And Mapping,SLAM)技术,基于前一时刻的位姿以及当前时刻传感器给出的观测数据来估计当前时刻机器人的位姿。
但是,当SLAM系统刚启动时,无法得知机器人在地图中的初始位姿,或者机器人在移动过程中定位丢失,这两种情况都需要在没有前一时刻的位姿的前提下进行机器人的初始位姿估计。一般称这类问题为机器人定位初始化问题。
传统的定位初始化技术方案一般采用激光雷达的观测数据对地图进行穷举搜索,但穷举搜索所需算力高,导致初始化耗时长,且部分环境区域(如正方形房间)存在感知不足的问题,容易产生错误的召回。
发明内容
本申请提供一种机器人的定位初始化方法、电子设备及计算机存储介质、计算机程序产品,以提高机器人的定位初始化的效率,且减少错误召回。
为解决上述技术问题,本申请提出一种机器人的定位初始化方法。该机器人的定位初始化方法包括:基于环境区域的点云数据及视觉图像确定视觉地图;获取当前视觉图像,并在视觉地图中搜索与当前视觉图像最相似的视觉图像及对应的位姿;利用位姿作为先验信息,基于当前点云数据在预设范围内进行点云搜索,得到机器人的初始位姿。
其中,上述利用位姿作为先验信息,基于当前点云数据在预设范围内进行点云搜索,得到机器人的初始位姿,包括:基于位姿从视觉地图中获取预设范围的目标搜索区域,其中,目标搜索区域以位姿作为中心点;基于当前点云数据在目标搜索区域内进行点云搜索,得到机器人的初始位姿。
其中,上述基于当前点云数据在目标搜索区域内进行点云搜索,得到机器人的初始位姿,包括:将当前点云数据进行预设角度的旋转变化,得到多个候补点云数据;基于每个候补点云数据分别在目标搜索区域内进行点云搜索,得到每个候补点云数据在目标搜索区域内匹配点云数据;基于多个匹配点云数据中获取匹配度最大的匹配点云数据获取机器人的初始位姿。
其中,上述基于环境区域的点云数据及视觉图像确定视觉地图,包括:确定环境区域的点云数据的关键帧;获取与关键帧的对应的视觉图像;对关键帧对应的视觉图像进行特征提取,并获取特征描述子集合;将关键帧的特征描述子集合与对应的位姿进行关联,生成联合位姿数据;基于关键帧序列及关键帧序列中关键帧对应的联合位姿数据构建视觉地图。
其中,上述获取与关键帧的对应的视觉图像包括:为关键帧设置时间戳;基于时间戳获取与关键帧在时间上最接近的一帧视觉图像作为关键帧对应的视觉图像。
其中,上述将关键帧的特征描述子集合与对应的位姿进行关联,生成联合位姿数据,包括:将特征描述子集合插入数据库文件中,并获取特征描述子集合在数据库文件中的ID;生成ID与关键帧对应的位姿的联合位姿数据。
其中,在上述视觉地图中搜索与当前视觉图像最相似的视觉图像及对应的位姿,包括:建立ID与关键帧对应的位姿之间的映射表;对当前视觉图像进行特征提取,获取当前特征描述子集合;从数据库文件中获取与当前特征描述子集合最相似的特征描述子集合,并确定最相似的特征描述子集合的ID;基于映射表获取与最相似的特征描述子集合的ID对应的位姿。
其中,上述获取当前视觉图像,包括:获取当前点云数据,并确定当前点云数据的当前关键帧;获取与当前点云数据的获取时间最接近的当前视觉图像。
其中,上述定位初始化方法进一步包括:创建数据库文件和二进制文件;将联合位姿数据以二进制格式存储在二进制文件中;在上述视觉地图中搜索与当前视觉图像最相似的视觉图像及对应的位姿之前,进一步包括:加载数据库文件和二进制文件。
为解决上述技术问题,本申请提出一种电子设备。该电子设备包括相互耦接的存储器和处理器,处理器用于执行存储器中存储的程序数据,以实现上述机器人的定位初始化方法。
为解决上述技术问题,本申请提出一种计算机存储介质。该计算机存储介质上存储有程序数据,程序数据能够被执行以实现上述机器人的定位初始化方法。
为解决上述技术问题,本申请提出一种计算机程序产品。该计算机程序产品包括计算机程序指令,计算机程序指令使计算机实现上述机器人的定位初始化方法。
区别于现有技术:本申请机器人的定位初始化方法先基于环境区域的点云数据及视觉图像确定视觉地图,然后在视觉地图中搜索与当前视觉图像最相似的视觉图像及对应的位姿,最后利用位姿作为先验信息,基于当前点云数据在预设范围内进行点云搜索,得到机器人的初始位姿。因本申请引入了环境区域的视觉图像来辅助点云数据进行定位初始化,可以从视觉地图中获取与当前视觉图像最相似的视觉图像及对应的位姿,利用位姿作为先验信息,进而可以略过传统的定位初始化技术中的对地图进行穷举搜索的步骤,直接进行预设范围的细粒度搜索,从而能够明显降低定位初始化所需的算力,降低初始化的耗时,提高定位初始化效率。同时,本申请利用视觉图像及点云数据进行定位初始化,能够极大的丰富观测信息,能够改善一些环境区域(如正方形房间)因点云数据不完整(激光雷达感知不足)而出现错误召回的问题,因此能够减少错误召回。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,其中:
图1是本申请机器人的定位初始化方法一实施例的流程示意图;
图2是图1实施例中步骤S11的具体流程示意图;
图3是图2实施例中步骤S22的具体流程示意图;
图4是图1实施例中步骤S12的一具体流程示意图;
图5是图1实施例中步骤S12的一具体流程示意图;
图6是图1实施例中步骤S13的具体流程示意图;
图7是图6实施例中步骤S602的具体流程示意图;
图8是本申请机器人的定位初始化方法一实施例的流程示意图;
图9是本申请机器人的定位初始化方法一实施例的流程示意图;
图10是本申请机器人的定位初始化方法一实施例的过程展示示意图;
图11是本申请机器人的定位初始化装置一实施例的结构示意图;
图12是本申请电子设备一实施例的结构示意图;
图13是本申请计算机存储介质一实施例的结构示意图。
具体实施方式
下面结合附图和实施例,对本申请作进一步的详细描述。特别指出的是,以下实施例仅用于说明本申请,但不对本申请的范围进行限定。同样的,以下实施例仅为本申请的部分实施例而非全部实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在本申请实施例的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请实施例中的具体含义。
在本申请实施例中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
下面结合实施例对本申请提供的机器人的定位初始化方法、电子设备、计算机存储介质及计算机程序产品进行详细描述。
本申请首先提出一种机器人的定位初始化方法,如图1所示,图1是本申请机器人的定位初始化方法一实施例的流程示意图。本实施例的定位初始化方法具体包括以下步骤:
步骤S11:基于环境区域的点云数据及视觉图像确定视觉地图。
机器人设置有能够探测空间的环境数据的激光雷达等3D扫描设备、获取环境图像信息的图像传感器及用于移动的移动装置。机器人内还设置有处理器,能够收发指令及处理数据信息。
机器人可以通过3D扫描设备获取环境区域的点云数据;其中,点云数据是指在一个三维坐标系统中的多个点的集合;点云数据除了具有几何位置以外,有的还有颜色信息。颜色信息通常是通过深度相机获取的彩色图像,然后将对应位置的像素的颜色信息赋予点云中对应的点。
机器人可以通过图像传感器获取环境区域的视觉图像;机器人可以通过移动装置进行移动,以获取探测的整个环境区域的点云数据及视觉图像,以建立整个环境区域的视觉地图。也就是说,视觉地图包含点云数据创建的激光地图,且视觉地图还包含激光地图中每个点云数据对应的视觉特征信息。
可选地,本实施例可以通过如图2所示的方法实现步骤S11,本实施例的方法包括步骤S21至步骤S25。
步骤S21:确定环境区域的点云数据的关键帧。
3D扫描设备获取的环境区域的点云数据包括多帧点云数据。
关键帧可以减少待优化的帧数,并且可以代表其附近的帧;关键帧是在局部一系列普通帧中选出一帧作为局部帧的代表,记录局部信息。
构建地图时,都会利用三角化技术对新提取的特征点计算其在3D空间中的坐标位置,三角化需要一定程度的共视区域,所以普通帧每两帧之间会存在大量的信息冗余,如果所有帧全部参与计算,不仅浪费了算力,对内存也是极大的考验。所以关键帧主要作用是面向后端优化的算力与精度的折中。此外,关键帧选择时还会对图片质量、特征点质量等进行考察,一定程度上也发挥了滤波的作用,防止无用的或错误的信息进入优化过程而破坏定位建图的准确性。
选择关键帧时要考虑:一方面,关键帧自身质量要好,另一方面,关键帧与其他关键帧之间的关系,需要和局部地图中的其他关键帧有少量的共视关系,但大部分特征点是新特征点,以达到既存在约束,又尽量少的信息冗余的效果。
步骤S22:获取与关键帧的对应的视觉图像。
具体地,本实施例可以采用如图3所示的方法实现步骤S22。本实施例的方法包括步骤S31及步骤S32。
步骤S31:为关键帧设置时间戳。
为每一个关键帧设置时间戳。
步骤S32:基于时间戳获取与关键帧在时间上最接近的一帧视觉图像作为关键帧对应的视觉图像。
本实施例针对每一帧关键帧:获取关键帧的获取时间与每帧视觉图像的获取时间的差值,并获取该差值的绝对值的最小值对应的一帧视觉图像,即与其在时间上最接近的一帧视觉图作为关键帧对应的视觉图像。
其中关键帧的获取时间可以基于激光雷达时间戳获取。
若关键帧与所有帧视觉图像的上述绝对值都大于阈值(如0.2秒),则判定该关键帧无对应的视觉图像,不再继续后续的定位初始化步骤。
本实施例基于时间戳技术能够准确的获取关键帧在时间上最接近的一帧视觉图像,提高定位初始化的精准度。
步骤S23:对关键帧对应的视觉图像进行特征提取,并获取特征描述子集合。
本实施例可以采用Fast、Harris、HOG、SIFT或SURF等视觉特征提取算法中的一种或几种的组合对关键帧对应的视觉图像进行特征提取;本实施例可以采用ORB、LBP、Brisk、Freak、SIFT、SURF等视觉特征描述子计算算法基于视觉特征获取特征描述子集合。
步骤S24:将关键帧的特征描述子集合与对应的位姿进行关联,生成联合位姿数据。
在一实施例中,可以先将关键帧的特征描述子集合插入数据库文件中,并获取特征描述子集合在数据库文件中的ID;然后生成ID与关键帧的位姿的联合位姿数据。
在另一实施例中,还可以将通过关键帧的帧序号等信息将关键帧的特征描述子集合与其对应的位姿进行关联。
步骤S25:基于关键帧序列及关键帧序列中关键帧对应的联合位姿数据构建视觉地图。
关键帧序列包括上述确定的各个关键帧及时间上的排序信息。
本实施例可以首先通过SLAM等技术基于点云数据的关键帧序列构建环境区域的地图,然后基于整个建图过程中的关键帧序列对应的位姿、关键帧序列对应的特征描述子集合确定视觉地图。
其中,SLAM构建地图指的是机器人在自身位置不确定的条件下,在完全未知环境中创建地图,同时利用地图进行自主定位和导航。SLAM问题可以描述为:机器人在未知环境中从一个未知位置开始移动,在移动过程中根据位置估计和传感器数据进行自身定位,同时建造增量式地图。在机器人构建地图时,机器人需要知道自己在环境中的位置及记录环境中特征的位置,机器人在定位的同时建立环境地图。该地图可以是栅格地图、直接表征法、拓扑地图或特征点地图。
当然,在其它实施例中,机器人还可以采用其它技术构建环境区域的地图。
其中,机器人的位姿包括机器人的位置信息及姿态信息。机器人的位姿可以通过SLAM技术获取,或者其它方法获取,如首先根据特征提取算法提取点云特征;然后以特征点为配准点,运用随机一致性采样算法对点云进行初配准,剔除部分错误匹配点,获得初始变换矩阵;最后采用改进的迭代最近点算法进行精配准,获得点云间的最终变换矩阵,实现位姿估计。
本实施例基于点云数据的关键帧及对应的视觉图像构建视觉地图,能够降低定位初始化所需的算力,降低初始化的耗时,提高定位初始化化效率。
步骤S12:获取当前视觉图像,并在所述视觉地图中搜索与所述当前视觉图像最相似的视觉图像及对应的位姿。
由上述分析可知,在建立视觉地图时,已经构建了各个关键帧的位姿与对应的视觉图像的特征描述子集合之间的关系,因此本实施例可以基于该关系获取当前视觉图像对应的位姿。
具体地,本实施例可以采用如图4所示的方法实现上述步骤S12,本实施例的方法包括步骤S41至步骤S44。
步骤S41:建立ID与关键帧的位姿之间的映射表。
建立视觉地图中关键帧对应的视觉图像特征描述子集合在数据库文件中的ID与该关键帧的位姿之间的映射表。该映射表可以是哈希映射表。其中,哈希映射表的key为ID,value为位姿;本实施例采用哈希映射表实现ID与位姿之间的数据结构,能够提高数据访问效率。
步骤S42:对当前视觉图像进行特征提取,获取当前特征描述子集合。
具体实施方式可以参阅上述实施例。
步骤S43:从数据库文件中获取与当前特征描述子集合最相似的特征描述子集合,并确定最相似的特征描述子集合的ID。
可以将当前特征描述子集合与视觉地图中各个视觉地图的特征描述子集合进行特征匹配,并计算二者之间的特征相似度;获取特征相似度最大的特征描述子集合作为当前特征描述子集合最相似的特征描述子集合。其中,特征相似度的具体计算方法可以参阅现有技术。
步骤S44:基于映射表获取与最相似的特征描述子集合的ID对应的位姿。
从哈希映射表中查询最相似的特征描述子集合的ID对应的位姿。
在另一实施例中,本实施例还可以采用如图5所示的方法实现上述步骤S12,本实施例的方法包括步骤S51至步骤S56。
步骤S51:获取当前点云数据,并确定当前点云数据的关键帧。
步骤S52:获取与当前点云数据的获取时间最接近的当前视觉图像。
本实施例针对当前点云数据的关键帧:获取关键帧的获取时间与每帧当前视觉图像的获取时间的差值,并获取该差值的绝对值的最小值对应的一帧当前视觉图像,即与关键帧在时间上最接近的一帧当前视觉图作为关键帧对应的当前视觉图像。
若当前关键帧与所有帧视觉图像的上述绝对值都大于阈值(如0.2秒),则判定该当前关键帧无对应的视觉图像,不再继续后续的定位初始化步骤。
步骤S53:建立ID与关键帧的位姿之间的映射表。
步骤S54:对当前视觉图像进行特征提取,获取当前特征描述子集合。
步骤S55:从数据库文件中获取与当前特征描述子集合最相似的特征描述子集合,并确定最相似的特征描述子集合的ID。
步骤S56:基于映射表获取与最相似的特征描述子集合的ID对应的位姿。
步骤S53至步骤S56的具体实施例方式可以参阅上述实施例。
步骤S13:利用位姿作为先验信息,基于当前点云数据在预设范围内进行点云搜索,得到机器人的初始位姿。
在机器人的初始化过程中,先通过3D扫描设备获取的环境区域的当前点云数据及通过图像传感器获取当前视觉图像;接着利用上述方法获取视觉地图中与当前视觉图像的最相似的视觉图像对应的位姿;然后将该位姿作为先验信息,结合当前点云数据,在预设范围内(如1米半径、45度角度)进行细粒度点云配准搜索,得到定位初始化结果,及得到机器人的初始位姿。
因本实施例引入了场景的视觉图像来辅助点云数据进行定位初始化,可以从视觉地图中获取与当前视觉图像最相似的视觉图像及对应的位姿,利用位姿作为先验信息,进而可以略过传统的定位初始化技术中的对地图进行穷举搜索的步骤,直接进行预设范围的细粒度搜索,从而能够明显降低定位初始化所需的算力,降低初始化的耗时,提高定位初始化化效率。同时,本实施例利用视觉图像及点云数据进行定位初始化,能够极大的丰富观测信息,能够改善一些场景(如正方形房间)因点云数据不完整(激光雷达感知不足)而出现错误召回的问题,因此能够减少错误召回。
可选地,本实施例可以通过如图6所示的方法实现步骤S13,具体包括步骤S601及步骤S602。
步骤S601:基于位姿从视觉地图中获取预设范围的目标搜索区域,其中,目标搜索区域以位姿作为中心点。
以上述获取的位姿作为中心点,以预设尺寸为变径或者边长从视觉地图中获取预设范围的目标搜索区域。例如,以上述获取的位姿作为原点,以1m为搜索半径,并以45°为搜索角度,确定目标搜索区域。
目标搜索区域是视觉地图中的激光地图的一个子区域。
步骤S602:基于当前点云数据在目标搜索区域内进行点云搜索,得到机器人的初始位姿。
将当前点云数据与上述子区域内的点云数据进行匹配,获取匹配度最大的点云数据,并将该点云数据对应的位姿作为机器人的初始位姿。
可选地,本实施例可以通过如图7所示的方法实现步骤S602,具体包括步骤S701至步骤S703。
步骤S701:将当前点云数据进行预设角度的旋转变化,得到多个候补点云数据。
例如,将当前点云数据进行10°的旋转变化,得到36个候补点云数据。
步骤S702:基于每个候补点云数据分别在目标搜索区域内进行点云搜索,得到每个候补点云数据在目标搜索区域内匹配点云数据。
针对每一个候补点云数据,将候补点云数据与上述子区域内的点云数据进行匹配,获取匹配度最大的点云数据为匹配点云数据。因此,可以得到36个匹配点云数据。
步骤S703:基于多个匹配点云数据中获取匹配度最大的匹配点云数据获取机器人的初始位姿。
例如,从36个匹配点云数据获取匹配度最大的匹配点云数据,并将该匹配点云数据对应的位姿作为机器人的初始位姿。
通过这种方式,能过提高初始位姿的精准度。
本申请进一步提出另一实施例的机器人的定位初始化方法,如图8所示,图8是本申请机器人的定位初始化方法一实施例的流程示意图。本实施例的定位初始化方法具体包括以下步骤:
步骤S61:基于环境区域的点云数据及视觉图像确定视觉地图。
具体实施方式可以参阅上述实施例。
步骤S62:获取当前视觉图像及当前点云数据,并在所述视觉地图中搜索与所述当前视觉图像最相似的视觉图像及对应的位姿。
具体实施方式可以参阅上述实施例。
步骤S63:若搜索成功,利用位姿作为先验信息,基于当前点云数据在预设范围内进行点云搜索,得到机器人的初始位姿。
具体实施方式可以参阅上述实施例。
步骤S64:若搜索失败,基于视觉地图及当前点云数据进行穷举搜索,以得到机器人的初始位姿。
本实施例可以采用多分辨率的级联搜索方式,在粗粒度搜索的最优结果中再进行细粒度搜索得到最优解。
在上述实施例的基础上,本实施例在当前视觉图像与视觉地图的视觉图像匹配失败时,采用穷举搜索方法获取初始位姿,能够避免机器人定位初始化失败。
本申请进一步提出另一实施例的机器人的定位初始化方法,如图9所示,图9是本申请机器人的定位初始化方法一实施例的流程示意图。本实施例的定位初始化方法具体包括以下步骤:
步骤S71:创建数据库文件和二进制文件。
检测磁盘的预设路径下是否存在DBoW(bag of word)数据库文件和二进制文件,如有,则加载;否则,创建空白DBoW(bag of word)数据库文件及空白二进制文件。
步骤S72:确定环境区域的点云数据的关键帧。
步骤S73:为关键帧设置时间戳。
步骤S74:基于时间戳获取与关键帧在时间上最接近的一帧视觉图像作为关键帧对应的视觉图像。
步骤S75:对关键帧对应的视觉图像进行特征提取,并获取特征描述子集合。
步骤S76:将关键帧的特征描述子集合插入数据库文件中,并获取特征描述子集合在数据库文件中的ID。
步骤S77:生成ID与关键帧的位姿的联合位姿数据。
步骤S78:将联合位姿数据以二进制格式存储在二进制文件中。
步骤S79:基于关键帧序列及关键帧序列中关键帧对应的联合位姿数据构建视觉地图。
步骤S72至步骤S77、步骤S79的具体实施方式可以参阅上述实施例。
步骤S71至步骤S79实现视觉地图的构建。
步骤S791:加载数据库文件和所述二进制文件。
加载磁盘的预设路径下的DBoW(bag of word)数据库文件,并读取磁盘的预设路径下保存有联合位姿数据的二进制文件。
步骤S792:建立ID与关键帧的位姿之间的映射表。
步骤S793:获取当前点云数据,并确定当前点云数据的关键帧。
步骤S794:获取与当前点云数据的获取时间最接近的当前视觉图像。
步骤S795:若获取成功,则对当前视觉图像进行特征提取,获取当前特征描述子集合。
步骤S796:从数据库文件中获取与当前特征描述子集合最相似的特征描述子集合,并确定最相似的特征描述子集合的ID。
步骤S797:基于映射表获取与最相似的特征描述子集合的ID对应的位姿。
步骤S798:利用位姿作为先验信息,基于视觉地图及当前点云数据进行穷举搜索,以得到机器人的初始位姿。
步骤S799:若获取失败,基于视觉地图及当前点云数据进行穷举搜索,以得到机器人的初始位姿。
步骤S792至步骤S799的具体实施方式可以参阅上述实施例。
本实施例的定位初始化方法包括视觉地图的建图及初始化,如图10所示,在数据库文件中存储了环境区域的地图(包括位姿)及视觉图像及,在初始化时,只需要从视觉地图中搜索出与当前视觉图像最相似的视觉图像,然后获取与该视觉图像对应的位姿,并作为先验信息,就能在小范围内,基于当前点云数据进行点云搜索,以得到机器人的初始位姿,并不需要对地图进行穷举搜索,能够明显降低定位初始化所需的算力,降低初始化的耗时,提高定位初始化效率。同时,利用视觉图像及点云数据进行定位初始化,能够极大的丰富观测信息,能够改善一些环境区域因点云数据不完整而出现错误召回的问题,因此能够减少错误召回。
在一个实施例中,如图11所示,提供了一种机器人的定位初始化装置,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:视觉地图确定模块91、匹配模块92及位姿获取模块93,匹配模块92分别与视觉地图确定模块91及位姿获取模块93连接。其中,视觉地图确定模块91用于基于环境区域的点云数据及视觉图像确定视觉地图;匹配模块92获取当前视觉图像,并在视觉地图中搜索与当前视觉图像最相似的视觉图像及对应的位姿;位姿获取模块93利用位姿作为先验信息,基于当前点云数据在预设范围内进行点云搜索,得到机器人的初始位姿。
本实施例的机器人的定位初始化装置还用于实现上述机器人的定位初始化方法。
关于机器人的定位初始化装置的具体限定可以参见上文中对于机器人的定位初始化方法的限定,在此不再赘述。上述机器人的定位初始化装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
本申请进一步提出一种电子设备,如图12所示,图12是本申请电子设备一实施例的结构示意图。本实施例电子设备100包括处理器101、与处理器101耦接的存储器102、输入输出设备103以及总线104。
该处理器101、存储器102、输入输出设备103分别与总线104相连,该存储器102中存储有程序数据,处理器101用于执行程序数据以实现上述机器人的定位初始化方法。
上述实施例中的控制器可以集成在处理器101内。
在本实施例中,处理器101还可以称为CPU(Central Processing Unit,中央处理单元)。处理器101可能是一种集成电路芯片,具有信号的处理能力。处理器101还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器101也可以是任何常规的处理器等。
本实施例的电子设备100可以是机器人,进一步设置有能够探测空间障碍物的探测装置及移动装置。
本申请进一步提出一种计算机可读存储介质,如图13所示,本实施例计算机可读存储介质160用于存储上述实施例的程序数据161,程序数据161能够被执行以实现上述机器人的定位初始化方法。程序数据161已在上述方法实施例中进行了详细的叙述,这里不赘述。
本实施例计算机可读存储介质160可以是但不局限于U盘、SD卡、PD光驱、移动硬盘、大容量软驱、闪存、多媒体记忆卡、服务器等。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
区别于现有技术:本申请机器人的定位初始化方法先基于环境区域的点云数据及视觉图像确定视觉地图,然后在视觉地图中搜索与当前视觉图像最相似的视觉图像及对应的位姿,最后利用位姿作为先验信息,基于当前点云数据在预设范围内进行点云搜索,得到机器人的初始位姿。因本申请引入了环境区域的视觉图像来辅助点云数据进行定位初始化,可以从视觉地图中获取与当前视觉图像最相似的视觉图像及对应的位姿,利用位姿作为先验信息,进而可以略过传统的定位初始化技术中的对地图进行穷举搜索的步骤,直接进行预设范围的细粒度搜索,从而能够明显降低定位初始化所需的算力,降低初始化的耗时,提高定位初始化效率。同时,本申请利用视觉图像及点云数据进行定位初始化,能够极大的丰富观测信息,能够改善一些环境区域(如正方形房间)因点云数据不完整(激光雷达感知不足)而出现错误召回的问题,因此能够减少错误召回。
另外,上述功能如果以软件功能的形式实现并作为独立产品销售或使用时,可存储在一个移动终端可读取存储介质中,即,本申请还提供一种存储有程序数据的存储装置,所述程序数据能够被执行以实现上述实施例的方法,该存储装置可以为如U盘、光盘、服务器等。也就是说,本申请可以以软件产品的形式体现出来,其包括若干指令用以使得一台智能终端执行各个实施例所述方法的全部或部分步骤。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的机构、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(可以是个人计算机,服务器,网络设备或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (12)
1.一种机器人的定位初始化方法,其特征在于,包括:
基于环境区域的点云数据及视觉图像确定视觉地图;
获取当前视觉图像,并在所述视觉地图中搜索与所述当前视觉图像最相似的视觉图像及对应的位姿;
利用所述位姿作为先验信息,基于当前点云数据在预设范围内进行点云搜索,得到所述机器人的初始位姿。
2.根据权利要求1所述的定位初始化方法,其特征在于,所述利用所述位姿作为先验信息,基于当前点云数据在预设范围内进行点云搜索,得到所述机器人的初始位姿,包括:
基于所述位姿从所述视觉地图中获取预设范围的目标搜索区域,其中,所述目标搜索区域以所述位姿作为中心点;
基于当前点云数据在所述目标搜索区域内进行点云搜索,得到所述机器人的初始位姿。
3.根据权利要求2所述的定位初始化方法,其特征在于,所述基于当前点云数据在所述目标搜索区域内进行点云搜索,得到所述机器人的初始位姿,包括:
将当前点云数据进行预设角度的旋转变化,得到多个候补点云数据;
基于每个所述候补点云数据分别在所述目标搜索区域内进行点云搜索,得到每个所述候补点云数据在所述目标搜索区域内匹配点云数据;
基于多个所述匹配点云数据中获取匹配度最大的匹配点云数据获取所述机器人的初始位姿。
4.根据权利要求1所述的定位初始化方法,其特征在于,所述基于环境区域的点云数据及视觉图像确定视觉地图,包括:
确定环境区域的点云数据的关键帧;
获取与所述关键帧的对应的视觉图像;
对所述关键帧对应的视觉图像进行特征提取,并获取特征描述子集合;
将所述关键帧的特征描述子集合与对应的位姿进行关联,生成联合位姿数据;
基于关键帧序列及所述关键帧序列中关键帧对应的所述联合位姿数据构建视觉地图。
5.根据权利要求4所述的定位初始化方法,其特征在于,所述获取与所述关键帧的对应的视觉图像包括:
为所述关键帧设置时间戳;
基于所述时间戳获取与所述关键帧在时间上最接近的一帧视觉图像作为所述关键帧对应的视觉图像。
6.根据权利要求4或5所述的定位初始化方法,其特征在于,所述将所述关键帧的特征描述子集合与对应的位姿进行关联,生成联合位姿数据,包括:
将所述关键帧的特征描述子集合插入数据库文件中,并获取所述特征描述子集合在所述数据库文件中的ID;
生成所述ID与所述关键帧对应的位姿的联合位姿数据。
7.根据权利要求6所述的定位初始化方法,其特征在于,所述在所述视觉地图中搜索与所述当前视觉图像最相似的视觉图像及对应的位姿,包括:
建立所述ID与所述关键帧对应的位姿之间的映射表;
对所述当前视觉图像进行特征提取,获取当前特征描述子集合;
从所述数据库文件中获取与所述当前特征描述子集合最相似的特征描述子集合,并确定所述最相似的特征描述子集合的ID;
基于所述映射表获取与所述最相似的特征描述子集合的ID对应的位姿。
8.根据权利要求7所述的定位初始化方法,其特征在于,所述获取当前视觉图像,包括:
获取当前点云数据,并确定所述当前点云数据的当前关键帧;
获取与所述当前点云数据的获取时间最接近的当前视觉图像。
9.根据权利要求6所述的定位初始化方法,其特征在于,进一步包括:
创建所述数据库文件和二进制文件;
将所述联合位姿数据以二进制格式存储在所述二进制文件中;
在所述视觉地图中搜索与所述当前视觉图像最相似的视觉图像及对应的位姿之前,进一步包括:
加载所述数据库文件和所述二进制文件。
10.一种电子设备,其特征在于,包括:相互耦接的存储器和处理器,所述处理器用于执行所述存储器中存储的程序数据,以实现权利要求1至9任一项所述的机器人的定位初始化方法。
11.一种计算机存储介质,其特征在于,其上存储有程序数据,所述程序数据能够被执行以实现权利要求1至9任一项所述的机器人的定位初始化方法。
12.一种计算机程序产品,其特征在于,包括计算机程序指令,所述计算机程序指令使计算机实现权利要求1至9任一项所述的机器人的定位初始化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210254410.3A CN114782528A (zh) | 2022-03-15 | 2022-03-15 | 机器人的定位初始化方法、电子设备及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210254410.3A CN114782528A (zh) | 2022-03-15 | 2022-03-15 | 机器人的定位初始化方法、电子设备及计算机存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114782528A true CN114782528A (zh) | 2022-07-22 |
Family
ID=82424455
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210254410.3A Pending CN114782528A (zh) | 2022-03-15 | 2022-03-15 | 机器人的定位初始化方法、电子设备及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114782528A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106092104A (zh) * | 2016-08-26 | 2016-11-09 | 深圳微服机器人科技有限公司 | 一种室内机器人的重定位方法及装置 |
CN107657640A (zh) * | 2017-09-30 | 2018-02-02 | 南京大典科技有限公司 | 基于orb slam的智能巡防巡检管理方法 |
CN108759844A (zh) * | 2018-06-07 | 2018-11-06 | 科沃斯商用机器人有限公司 | 机器人重定位与环境地图构建方法、机器人及存储介质 |
CN112817026A (zh) * | 2021-01-29 | 2021-05-18 | 西人马帝言(北京)科技有限公司 | 运动对象的位姿确定方法、装置、设备及存储介质 |
-
2022
- 2022-03-15 CN CN202210254410.3A patent/CN114782528A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106092104A (zh) * | 2016-08-26 | 2016-11-09 | 深圳微服机器人科技有限公司 | 一种室内机器人的重定位方法及装置 |
CN107657640A (zh) * | 2017-09-30 | 2018-02-02 | 南京大典科技有限公司 | 基于orb slam的智能巡防巡检管理方法 |
CN108759844A (zh) * | 2018-06-07 | 2018-11-06 | 科沃斯商用机器人有限公司 | 机器人重定位与环境地图构建方法、机器人及存储介质 |
CN112817026A (zh) * | 2021-01-29 | 2021-05-18 | 西人马帝言(北京)科技有限公司 | 运动对象的位姿确定方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110657803B (zh) | 机器人定位方法、装置以及存储装置 | |
CN110705574B (zh) | 定位方法及装置、设备、存储介质 | |
JP6430064B2 (ja) | データを位置合わせする方法及びシステム | |
CN111311684B (zh) | 一种进行slam初始化的方法与设备 | |
Parkhiya et al. | Constructing category-specific models for monocular object-slam | |
Sheng et al. | Unsupervised collaborative learning of keyframe detection and visual odometry towards monocular deep slam | |
US10909369B2 (en) | Imaging system and method for object detection and localization | |
US20170161546A1 (en) | Method and System for Detecting and Tracking Objects and SLAM with Hierarchical Feature Grouping | |
EP1594078A2 (en) | Multi-image feature matching using multi-scale oriented patches | |
Klippenstein et al. | Quantitative evaluation of feature extractors for visual slam | |
JP4709668B2 (ja) | 3次元物体認識システム | |
Li et al. | 4FP-structure: A robust local region feature descriptor | |
KR20220074782A (ko) | 동시적 위치추정 및 지도작성(slam) 방법 및 장치 | |
Shen et al. | Semi-dense feature matching with transformers and its applications in multiple-view geometry | |
Wan et al. | Sorting unorganized photo sets for urban reconstruction | |
Liu et al. | Dense stereo correspondence with contrast context histogram, segmentation-based two-pass aggregation and occlusion handling | |
WO2022179690A1 (en) | Map processing device and method thereof | |
CN114782528A (zh) | 机器人的定位初始化方法、电子设备及计算机存储介质 | |
CN109409387B (zh) | 图像采集设备的采集方向确定方法、装置及电子设备 | |
Altwaijry et al. | Ultra-wide Baseline Aerial Imagery Matching in Urban Environments. | |
WO2017042852A1 (en) | Object recognition appratus, object recognition method and storage medium | |
CN115700507B (zh) | 地图更新方法及其装置 | |
Kwolek | Visual odometry based on gabor filters and sparse bundle adjustment | |
Wang et al. | Image-based localization and pose recovery using scale invariant features | |
WO2013173383A1 (en) | Methods and apparatus for processing image streams |
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 |