CN114066963A - 一种建图方法、装置及机器人 - Google Patents
一种建图方法、装置及机器人 Download PDFInfo
- Publication number
- CN114066963A CN114066963A CN202010779559.4A CN202010779559A CN114066963A CN 114066963 A CN114066963 A CN 114066963A CN 202010779559 A CN202010779559 A CN 202010779559A CN 114066963 A CN114066963 A CN 114066963A
- Authority
- CN
- China
- Prior art keywords
- coordinate system
- mark
- pose
- target
- world coordinate
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
-
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
本发明提供一种建图方法、装置及机器人,其中所述建图方法包括:获取目标区域的至少一帧目标图像,确定所述目标区域中预设标记在所述至少一帧目标图像中的对应标记在相机坐标系下的位姿;然后根据所述对应标记在相机坐标系下的位姿,确定所述对应标记在世界坐标系下的位姿;再根据所述对应标记在世界坐标系下的位姿,构建所述目标区域的目标地图。本发明基于预设标记在世界坐标系下的位姿对目标区域进行建图,生成的地图只和预设标记的绝对位姿有关,对目标区域的纹理、光照环境没有要求,对预设标记的安装精度也没有要求,避免了地图匹配的问题,且解决了回环累计误差、无纹理匹配的问题。
Description
技术领域
本发明涉及机器人技术领域,特别涉及一种建图方法。本发明同时涉及一种建图装置,一种机器人,以及一种计算机可读存储介质。
背景技术
随着计算机技术和网络技术的快速发展,各种智能机器人应运而生。实际使用过程中,机器人需要在工作环境中移动,完成相应工作,然而机器人的实际工作环境一般是未知的,在未知的环境中,机器人必须通过建图来对当前工作环境进行正确且有效的探测。
现有技术中,建图的手段主要分为视觉和激光两种,视觉是从未知的工作环境中获取海量的、冗余的纹理信息,通过视图几何和图优化等方法进行建图;而激光则可以采集分散的、具有准确角度和距离信息的点云,通过点云匹配,计算相对运动,从而进行机器人的定位和地图的更新。
然而,通过视觉手段进行建图,在无纹理环境或弱光照的环境下表现较差;通过激光的手段进行建图,则舍弃了大多数信息,导致定位的累计误差消除较为困难,进而需要更便捷更准确的方法进行建图的操作或者处理。
发明内容
有鉴于此,本发明实施例提供了一种建图方法。本发明同时涉及一种建图装置,一种机器人,以及一种计算机可读存储介质,以解决现有技术中存在的技术缺陷。
根据本发明实施例的第一方面,提供了一种建图方法,包括:
获取目标区域的至少一帧目标图像,确定所述目标区域中预设标记在所述至少一帧目标图像中的对应标记在相机坐标系下的位姿;
根据所述对应标记在相机坐标系下的位姿,确定所述对应标记在世界坐标系下的位姿;
根据所述对应标记在世界坐标系下的位姿,构建所述目标区域的目标地图。
可选的,所述根据所述对应标记在相机坐标系下的位姿,确定所述对应标记在世界坐标系下的位姿,包括:
以所述至少一帧目标图像中第一帧目标图像的相机坐标系为世界坐标系,将所述对应标记在相机坐标系下的位姿,转换为所述对应标记在世界坐标系下的位姿。
可选的,所述目标区域中包括预设数值组预设标记,每组所述预设标记对应有组编号,一组所述预设标记包括目标数值个标记点,一组所述预设标记在所述至少一帧目标图像中的对应标记也包括目标数值个标记点;
所述将所述对应标记在相机坐标系下的位姿,转换为所述对应标记在世界坐标系下的位姿,包括:
根据所述对应标记中包括的目标数值个标记点在成像平面坐标系下的坐标和在图像坐标系下的坐标,将所述对应标记在相机坐标系下的位姿,转换为所述对应标记在世界坐标系下的位姿。
可选的,所述根据所述对应标记中包括的目标数值个标记点在成像平面坐标系下的坐标和在图像坐标系下的坐标,将所述对应标记在相机坐标系下的位姿,转换为所述对应标记在世界坐标系下的位姿,包括:
按照如下公式确定所述对应标记在世界坐标系下的位姿:
其中,表示第j帧图像对应的世界坐标系到相机坐标系的坐标变换,表示世界坐标系下组编号为k的标记位姿,Pi为标记坐标系下标记点的位置,为标记点在像素坐标系下的坐标,i表示目标数值个标记点中的指定标记点,πc指将相机坐标系下的标记点投影至像素平面。
可选的,所述确定所述目标区域中预设标记在所述至少一帧目标图像中的对应标记在相机坐标系下的位姿,包括:
确定所述对应标记包括的各个标记点在所述至少一帧目标图像中的像素位置;
根据所述像素位置,确定出所述对应标记在相机坐标系下的位姿。
可选的,所述根据所述对应标记在相机坐标系下的位姿,确定所述对应标记在世界坐标系下的位姿之后,还包括:
对所述对应标记在世界坐标系下的位姿进行校正,得到所述对应标记在世界坐标系下校正后的位姿。
可选的,所述对所述对应标记在世界坐标系下的位姿进行校正,包括:
从所述至少一帧目标图像中的有效帧目标图像中选取一帧目标图像,作为第一目标图像;
将所述第一目标图像中的对应标记在世界坐标系下的位姿作为第一校正顶点,确定所述有效帧目标图像中包括所述第一校正顶点的第二目标图像,将所述第二目标图像中存在的、未被第一目标图像包括的对应标记在世界坐标系下的位姿作为固定约束条件,进行校正。
可选的,所述根据所述对应标记在世界坐标系下的位姿,构建所述目标区域的目标地图,包括:
确定所述对应标记对应的可移动区域的边界;
根据所述可移动区域的边界,确定所述对应标记对应的可移动区域;
根据所述可移动区域和所述对应标记在世界坐标系下的坐标,构建所述目标区域的目标地图。
可选的,所述确定所述对应标记对应的可移动区域的边界,包括:
根据所述目标图像的宽度、所述目标图像的中心点在水平方向的坐标和焦距、所述预设标记相对相机的安装高度以及所述预设标记的外接矩形的边长,确定所述对应标记对应的可移动区域的边界。
可选的,所述确定所述对应标记对应的可移动区域的边界,包括:
按照以下公式确定所述对应标记对应的可移动区域的边界:
其中,所述s为可移动区域的边界,所述v为所述目标图像的宽度,h为所述预设标记相对相机的安装高度,a为所述预设标记的外接矩形的边长,cy、fy分别为所述目标图像的中心点在y轴方向的坐标和焦距。
可选的,所述根据所述对应标记在世界坐标系下的位姿,构建所述目标区域的目标地图之后,还包括:
保存所述对应标记的组编号和在世界坐标系下的位姿;
在检测到地图载入请求的情况下,载入初始地图,并按照所述对应标记的组编号和在世界坐标系下的位姿,将所述对应标记保存至所述初始地图中,构建所述目标区域的目标地图。
可选的,所述根据所述对应标记在世界坐标系下的位姿,构建所述目标区域的目标地图之后,还包括:
获取在当前位置拍摄的图像,确定所述在当前位置拍摄的图像中包括的至少一组预设标记;
从所述至少一组预设标记中,选取目标预设标记;
根据选取的所述目标预设标记在世界坐标系下的位姿,确定相机位姿。
可选的,所述根据选取的所述目标预设标记在世界坐标系下的位姿,确定相机位姿,包括:
确定所述目标预设标记包括的各个标记点在所述当前位置拍摄的图像中对应的像素点;
通过所述目标预设标记包括的各个标记点在世界坐标系下的坐标和对应的像素点,计算投影关系,确定所述相机位姿。
根据本发明实施例的第二方面,提供了一种建图装置,包括:
第一确定模块,被配置为获取目标区域的至少一帧目标图像,确定所述目标区域中预设标记在所述至少一帧目标图像中的对应标记在相机坐标系下的位姿;
第二确定模块,被配置为根据所述对应标记在相机坐标系下的位姿,确定所述对应标记在世界坐标系下的位姿;
第一构建模块,被配置为根据所述对应标记在世界坐标系下的位姿,构建所述目标区域的目标地图。
可选的,所述第二确定模块进一步被配置为:
以所述至少一帧目标图像中第一帧目标图像的相机坐标系为世界坐标系,将所述对应标记在相机坐标系下的位姿,转换为所述对应标记在世界坐标系下的坐标。
可选的,所述目标区域中包括预设数值组预设标记,每组所述预设标记对应有组编号,一组所述预设标记包括目标数值个标记点,一组所述预设标记在所述至少一帧目标图像中的对应标记也包括目标数值个标记点;
所述第二确定模块进一步被配置为:
根据所述对应标记中包括的目标数值个标记点在成像平面坐标系下的坐标和在图像坐标系下的坐标,将所述对应标记在相机坐标系下的位姿,转换为所述对应标记在世界坐标系下的位姿。
可选的,所述第二确定模块进一步被配置为:
按照如下公式确定所述对应标记在世界坐标系下的位姿:
其中,表示第j帧图像对应的世界坐标系到相机坐标系的坐标变换,表示世界坐标系下组编号为k的标记位姿,Pi为标记坐标系下标记点的位置,为标记点在像素坐标系下的坐标,i表示目标数值个标记点中的指定标记点,πc指将相机坐标系下的标记点投影至像素平面。
可选的,所述第一确定模块进一步被配置为:
确定所述对应标记包括的各个标记点在所述至少一帧目标图像中的像素位置;
根据所述像素位置,确定出所述对应标记在相机坐标系下的位姿。
可选的,所述装置还包括:
校正模块,被配置为对所述对应标记在世界坐标系下的位姿进行校正,得到所述对应标记在世界坐标系下校正后的位姿。
可选的,所述校正模块进一步被配置为:
从所述至少一帧目标图像中的有效帧目标图像中选取一帧目标图像,作为第一目标图像;
将所述第一目标图像中的对应标记在世界坐标系下的位姿作为第一校正顶点,确定所述有效帧目标图像中包括所述第一校正顶点的第二目标图像,将所述第二目标图像中存在的、未被第一目标图像包括的对应标记在世界坐标系下的位姿作为固定约束条件,进行校正。
可选的,所述第一构建模块进一步被配置为:
确定所述对应标记对应的可移动区域的边界;
根据所述可移动区域的边界,确定所述对应标记对应的可移动区域;
根据所述可移动区域和所述对应标记在世界坐标系下的位姿,构建所述目标区域的目标地图。
可选的,所述第一构建模块进一步被配置为:
根据所述目标图像的宽度、所述目标图像的中心点在水平方向的坐标和焦距、所述预设标记相对相机的安装高度以及所述预设标记的外接矩形的边长,确定所述对应标记对应的可移动区域的边界。
可选的,所述第一构建模块进一步被配置为:
按照以下公式确定所述对应标记对应的可移动区域的边界:
其中,所述s为可移动区域的边界,所述v为所述目标图像的宽度,h为所述预设标记相对相机的安装高度,a为所述预设标记的外接矩形的边长,cy、fy分别为所述目标图像的中心点在y轴方向的坐标和焦距。
可选的,所述装置还包括:
保存模块,被配置为保存所述对应标记的组编号和在世界坐标系下的位姿;
第二构建模块,被配置为在检测到地图载入请求的情况下,载入初始地图,并按照所述对应标记的组编号和在世界坐标系下的位姿,将所述对应标记保存至所述初始地图中,构建所述目标区域的目标地图。
可选的,所述装置还包括:
第三确定模块,被配置为获取在当前位置拍摄的图像,确定所述在当前位置拍摄的图像中包括的至少一组预设标记;
选取模块,被配置为从所述至少一组预设标记中,选取目标预设标记;
第四确定模块,被配置为根据选取的所述目标预设标记在世界坐标系下的位姿,确定相机位姿。
可选的,所述第四确定模块进一步被配置为:
确定所述目标预设标记包括的各个标记点在所述当前位置拍摄的图像中对应的像素点;
通过所述目标预设标记包括的各个标记点在世界坐标系下的坐标和对应的像素点,计算投影关系,确定所述相机位姿。
根据本发明实施例的第三方面,提供了一种机器人,包括:
机械本体,所述机械本体上设置有至少一个处理器,以及至少一个存储计算机指令的存储器;
所述至少一个处理器用于执行计算机指令,实现以下方法:
获取目标区域的至少一帧目标图像,确定所述目标区域中预设标记在所述至少一帧目标图像中的对应标记在相机坐标系下的位姿;
根据所述对应标记在相机坐标系下的位姿,确定所述对应标记在世界坐标系下的位姿;
根据所述对应标记在世界坐标系下的位姿,构建所述目标区域的目标地图。
可选的,所述根据所述对应标记在相机坐标系下的位姿,确定所述对应标记在世界坐标系下的位姿的过程中,所述至少一个处理器还用于:
以所述至少一帧目标图像中第一帧目标图像的相机坐标系为世界坐标系,将所述对应标记在相机坐标系下的位姿,转换为所述对应标记在世界坐标系下的位姿。
可选的,所述目标区域中包括预设数值组预设标记,每组所述预设标记对应有组编号,一组所述预设标记包括目标数值个标记点,一组所述预设标记在所述至少一帧目标图像中的对应标记也包括目标数值个标记点;
所述将所述对应标记在相机坐标系下的位姿,转换为所述对应标记在世界坐标系下的位姿的过程中,所述至少一个处理器还用于:
根据所述对应标记中包括的目标数值个标记点在成像平面坐标系下的坐标和在图像坐标系下的坐标,将所述对应标记在相机坐标系下的位姿,转换为所述对应标记在世界坐标系下的位姿。
可选的,所述根据所述对应标记中包括的目标数值个标记点在成像平面坐标系下的坐标和在图像坐标系下的坐标,将所述对应标记在相机坐标系下的位姿,转换为所述对应标记在世界坐标系下的位姿的过程中,所述至少一个处理器还用于:
按照如下公式确定所述对应标记在世界坐标系下的位姿:
其中,表示第j帧图像对应的世界坐标系到相机坐标系的坐标变换,表示世界坐标系下组编号为k的标记位姿,Pi为成像平面坐标系下标记点的位置,为标记点在图像坐标系下的坐标,i表示目标数值个标记点中的指定标记点,πc指将相机坐标系下的标记点投影至像素平面。
可选的,所述确定所述目标区域中预设标记在所述至少一帧目标图像中的对应标记在相机坐标系下的位姿的过程中,所述至少一个处理器还用于:
确定所述对应标记包括的各个标记点在所述至少一帧目标图像中的像素位置;
根据所述像素位置,确定出所述对应标记在相机坐标系下的位姿。
可选的,所述根据所述对应标记在相机坐标系下的位姿,确定所述对应标记在世界坐标系下的位姿之后,所述至少一个处理器还用于:
对所述对应标记在世界坐标系下的位姿进行校正,得到所述对应标记在世界坐标系下校正后的位姿。
可选的,所述对所述对应标记在世界坐标系下的位姿进行校正的过程中,所述至少一个处理器还用于:
从所述至少一帧目标图像中的有效帧目标图像中选取一帧目标图像,作为第一目标图像;
将所述第一目标图像中的对应标记在世界坐标系下的位姿作为第一校正顶点,确定所述有效帧目标图像中包括所述第一校正顶点的第二目标图像,将所述第二目标图像中存在的、未被第一目标图像包括的对应标记在世界坐标系下的位姿作为固定约束条件,进行校正。
可选的,所述根据所述对应标记在世界坐标系下的位姿,构建所述目标区域的目标地图的过程中,所述至少一个处理器还用于:
确定所述对应标记对应的可移动区域的边界;
根据所述可移动区域的边界,确定所述对应标记对应的可移动区域;
根据所述可移动区域和所述对应标记在世界坐标系下的位姿,构建所述目标区域的目标地图。
可选的,所述确定所述对应标记对应的可移动区域的边界的过程中,所述至少一个处理器还用于:
根据所述目标图像的宽度、所述目标图像的中心点在水平方向的坐标和焦距、所述预设标记相对相机的安装高度以及所述预设标记的外接矩形的边长,确定所述对应标记对应的可移动区域的边界。
可选的,所述确定所述对应标记对应的可移动区域的边界的过程中,所述至少一个处理器还用于:
按照以下公式确定所述对应标记对应的可移动区域的边界:
其中,所述s为可移动区域的边界,所述v为所述目标图像的宽度,h为所述预设标记相对相机的安装高度,a为所述预设标记的外接矩形的边长,cy、fy分别为所述目标图像的中心点在y轴方向的坐标和焦距。
可选的,所述根据所述对应标记在世界坐标系下的位姿,构建所述目标区域的目标地图之后,所述至少一个处理器还用于:
保存所述对应标记的组编号和在世界坐标系下的位姿;
在检测到地图载入请求的情况下,载入初始地图,并按照所述对应标记的组编号和在世界坐标系下的位姿,将所述对应标记保存至所述初始地图中,构建所述目标区域的目标地图。
可选的,所述根据所述对应标记在世界坐标系下的位姿,构建所述目标区域的目标地图之后,所述至少一个处理器还用于:
获取在当前位置拍摄的图像,确定所述在当前位置拍摄的图像中包括的至少一组预设标记;
从所述至少一组预设标记中,选取目标预设标记;
根据选取的所述目标预设标记在世界坐标系下的位姿,确定相机位姿。
可选的,所述根据选取的所述目标预设标记在世界坐标系下的位姿,确定相机位姿的过程中,所述至少一个处理器还用于:
确定所述目标预设标记包括的各个标记点在所述当前位置拍摄的图像中对应的像素点;
通过所述目标预设标记包括的各个标记点在世界坐标系下的坐标和对应的像素点,计算投影关系,确定所述相机位姿。
根据本发明实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现任意所述建图方法的步骤。
本发明提供了一种建图方法,先获取目标区域的至少一帧目标图像,确定所述目标区域中预设标记在所述至少一帧目标图像中的对应标记在相机坐标系下的位姿;然后根据所述对应标记在相机坐标系下的位姿,确定所述对应标记在世界坐标系下的位姿;再根据所述对应标记在世界坐标系下的位姿,构建所述目标区域的目标地图。本发明中无需通过纹理信息进行建图的,而是预先在目标区域中设置多组预设标记,摄像机拍摄目标区域的图像后,该图像中就会包括上述预设标记,然后可以直接通过该预设标记的位姿进行建图,如此并不需要目标区域的纹理信息,因而即使在无纹理环境或弱光照的环境下,也可以准确进行建图。另外,由于预设标记安装不可测且存在不确定性,因而本发明中是先确定预设标记在相机坐标系下的位姿,然后将预设标记在相机坐标系下的位姿转换为在世界坐标系下的位姿,从而基于预设标记的绝对位姿对目标区域进行建图,生成的地图只和预设标记在世界坐标系下的绝对位姿有关,对预设标记的安装精度没有要求,避免了地图匹配的问题,且解决了回环累计误差、无纹理匹配的问题。
附图说明
图1是本发明一实施例提供的一种建图方法的流程图;
图2是本发明一实施例提供的另一种建图方法的流程图;
图3是本发明一实施例提供的一种红外图像示例图;
图4是本发明一实施例提供的一种共视状态示意图;
图5是本发明一实施例提供的一种二维栅格地图的示意图;
图6是本发明一实施例提供的另一种二维栅格地图的示意图;
图7是本发明一实施例提供的一种建图装置的结构示意图;
图8是本发明一实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施的限制。
在本发明一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明一个或多个实施例。在本发明一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本发明一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本发明一个或多个实施例涉及的名词术语进行解释。
相机坐标系:是以相机的聚焦中心为原点,以光轴为Z轴建立的三维直角坐标系,也即原点为相机的光心,x轴、y轴与图像的X、Y轴平行,z轴为相机光轴,它与图形平面垂直。
世界坐标系:相机可安放在环境中的任意位置,在环境中选择一个基准坐标系来描述相机的位置,并用它描述环境中任何物体的位置,该坐标系称为世界坐标系。相机坐标系与世界坐标系之间的关系可以用旋转矩阵与平移向量来描述。
图像坐标系:相机采集的数字图像在计算机内可以存储为数组,数组中每一个元素的值是图像点的亮度,在图像上定义直角坐标系,每一像素的坐标分别是该像素在数组总的列数和行数,也即图像坐标系为以像素为单位的坐标系,为一个二维直角坐标系。
成像平面坐标系:由于图像坐标系只表示像素位于数字图像的列数和行数,并没有用物理单位表示出该像素在图像中的物理位置,因而需要再建立以物理单位(例如,厘米)表示的成像平面坐标系,原点定义在相机光轴和图像平面的交点处,称为图像的主点,该点一般位于图像中心处。
单应性:是一个从实射影平面到射影平面的可逆变换,直线在该变换下仍映射为直线。在计算机视觉领域中,空间中同一平面的任意两幅图像通过单应性关联在一起,比如,一个物体可以通过旋转相机镜头获取两张不同的照片(这两张照片的内容不一定要完全对应,部分对应即可),可以把单应性设为一个二维矩阵M,那么照片1乘以M就是照片2。
其次,对本发明涉及的自移动设备进行示意性的解释。
该自移动设备可以指用于人工智能领域,能够在目标区域自主移动的机器人,即自移动机器人,该自移动机器人可以包括但不限于各种具有清洁功能的智能化机器人、公共服务机器人、扫货机器人、可移动空气净化器等,亦可用于无人驾驶汽车等。自移动机器人上设置有用于跟随功能的传感器,如摄像头、脉冲无线电(Ultra Wideband,UWB)、传感器等,这些传感器配合合适的算法,可以实现有效且鲁棒性好的建图功能。
其中,所述传感器包括多种,例如视觉传感器、激光测距传感器、红外传感器、激光传感器等,更加具体地,传感器可以为一个,也可以为多个,传感器可以均设置于自移动机器人的顶部,也可以分别设置于自移动机器人的周侧部,从而可以更完整地获取位于自移动机器人的各个方向的图像。
另外,本申请的自移动机器人进行区域识别的使用场景,包括家庭、商场、学校等场所的地面,也可以包括各种物体的表面,例如平整的板面等。
本申请中并不限制自移动机器人的各种形状,例如椭圆形、圆形、凸多边形等等,并且,自移动机器人可以通过在与自移动机器人配套使用的控制器中安装软件、APP或者在自移动机器人内部的相应器件中写入程序来实现控制自移动机器人行进的方法逻辑。
接下来,对本发明提供的建图方法的基本构思进行简要说明:
即时定位与地图构建(simultaneous localization and mapping,SLAM)是当前主流的建图思路,借助SLAM算法,自移动机器人可以在未知环境中,从一个未知的位置开始移动,并在移动的过程中根据位置估计和传感器数据进行自身定位,同时用增量式的方法进行地图构建。
当前建图和定位的手段主要分为视觉和激光两种,视觉是从未知的工作环境中获取海量的、冗余的纹理信息,通过视图几何和图优化等方法进行建图;而激光则可以采集分散的、具有准确角度和距离信息的点云,通过点云匹配,计算相对运动,从而进行自移动机器人的定位和地图的更新。视觉手段在无纹理环境或弱光照的环境下表现较差,激光手段则舍弃了大多数信息,导致定位的累计误差消除较为困难。
mark标记在AR、相机校准领域使用较广泛,其形式与二维码类似,通过对其进行解码来确定识别,3d-2d匹配后计算相对位置,但缺少世界坐标系下的绝对位置,仅能作为辅助定位手段,而给出绝对位置的一般对标记的安装精度要求较高,且目前缺乏mark绝对位置的获取方法。
针对现有技术中存在的建图和定位的准确性差,误差较大等基本需求,本发明提供了一种建图方法、装置及机器人,先获取目标区域的至少一帧目标图像,确定所述目标区域中预设标记在所述至少一帧目标图像中的对应标记在相机坐标系下的位姿;然后根据所述对应标记在相机坐标系下的位姿,确定所述对应标记在世界坐标系下的位姿;再根据所述对应标记在世界坐标系下的位姿,构建所述目标区域的目标地图。本发明中是先确定预设标记在相机坐标系下的位姿,然后将预设标记在相机坐标系下的位姿转换为在世界坐标系下的位姿,从而基于预设标记在世界坐标系下的位姿对目标区域进行建图,生成的地图只和预设标记在世界坐标系下的位姿有关,对目标区域的纹理、光照环境没有要求,对预设标记的安装精度也没有要求,避免了地图匹配的问题,且解决了回环累计误差、无纹理匹配的问题。
在本发明中,提供了一种建图方法,本发明同时涉及一种建图装置,一种机器人,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
图1示出了根据本发明一实施例提供的一种建图方法的流程图,具体包括以下步骤:
步骤102:获取目标区域的至少一帧目标图像,确定所述目标区域中预设标记在所述至少一帧目标图像中的对应标记在相机坐标系下的位姿。
在本实施例的一个或多个实施方式中,确定所述目标区域中预设标记在所述至少一帧目标图像中的对应标记在相机坐标系下的位姿,具体实现过程可以为:
确定所述对应标记包括的各个标记点在所述至少一帧目标图像中的像素位置;
根据所述像素位置,确定出所述对应标记在相机坐标系下的位姿。
步骤104:根据所述对应标记在相机坐标系下的位姿,确定所述对应标记在世界坐标系下的位姿。
具体的,在获取目标区域的至少一帧目标图像,确定所述目标区域中预设标记在所述至少一帧目标图像中的对应标记在相机坐标系下的位姿的基础上,进一步的,将根据所述对应标记在相机坐标系下的位姿,确定所述对应标记在世界坐标系下的位姿。
在本实施例的一个或多个实施方式中,可以以所述至少一帧目标图像中第一帧目标图像的相机坐标系为世界坐标系,然后将所述对应标记在相机坐标系下的位姿,转换为所述对应标记在世界坐标系下的位姿。
在本实施例的一个或多个实施方式中,所述目标区域中包括预设数值组预设标记,每组所述预设标记对应有组编号,一组所述预设标记包括目标数值个标记点,一组所述预设标记在所述至少一帧目标图像中的对应标记也包括目标数值个标记点,可以根据所述对应标记中包括的目标数值个标记点在成像平面坐标系下的坐标和在图像坐标系下的坐标,将所述对应标记在相机坐标系下的位姿,转换为所述对应标记在世界坐标系下的位姿。
在本实施例的一个或多个实施方式中,所述根据所述对应标记中包括的目标数值个标记点在成像平面坐标系下的坐标和在图像坐标系下的坐标,将所述对应标记在相机坐标系下的位姿,转换为所述对应标记在世界坐标系下的位姿,具体实现过程可以为:
按照如下公式确定所述对应标记在世界坐标系下的位姿:
其中,表示第j帧图像对应的世界坐标系到相机坐标系的坐标变换,表示世界坐标系下组编号为k的标记位姿,Pi为成像平面坐标系下标记点的位置,为标记点在图像坐标系下的坐标,i表示目标数值个标记点中的指定标记点,πc指将相机坐标系下的标记点投影至像素平面。
在本实施例的一个或多个实施方式中,在根据所述对应标记在相机坐标系下的位姿,确定所述对应标记在世界坐标系下的位姿之后,还可以对所述对应标记在世界坐标系下的位姿进行校正,得到所述对应标记在世界坐标系下校正后的位姿。
在本实施例的一个或多个实施方式中,所述对所述对应标记在世界坐标系下的位姿进行校正,具体实现过程可以为:
从所述至少一帧目标图像中的有效帧目标图像中选取一帧目标图像,作为第一目标图像;
将所述第一目标图像中的对应标记在世界坐标系下的位姿作为第一校正顶点,确定所述有效帧目标图像中包括所述第一校正顶点的第二目标图像,将所述第二目标图像中存在的、未被第一目标图像包括的对应标记在世界坐标系下的位姿作为固定约束条件,进行校正。
步骤106:根据所述对应标记在世界坐标系下的位姿,构建所述目标区域的目标地图。
具体的,在根据所述对应标记在相机坐标系下的位姿,确定所述对应标记在世界坐标系下的位姿的基础上,进一步的,将根据所述对应标记在世界坐标系下的位姿,构建所述目标区域的目标地图。
在本实施例的一个或多个实施方式中,根据所述对应标记在世界坐标系下的位姿,构建所述目标区域的目标地图,具体实现过程可以为:
确定所述对应标记对应的可移动区域的边界;
根据所述可移动区域的边界,确定所述对应标记对应的可移动区域;
根据所述可移动区域和所述对应标记在世界坐标系下的位姿,构建所述目标区域的目标地图。
在本实施例的一个或多个实施方式中,可以根据所述目标图像的宽度、所述目标图像的中心点在水平方向的坐标和焦距、所述预设标记相对相机的安装高度以及所述预设标记的外接矩形的边长,确定所述对应标记对应的可移动区域的边界。
在本实施例的一个或多个实施方式中,确定所述对应标记对应的可移动区域的边界,具体实现过程可以为:
按照以下公式确定所述对应标记对应的可移动区域的边界:
其中,所述s为可移动区域的边界,所述v为所述目标图像的宽度,h为所述预设标记相对相机的安装高度,a为所述预设标记的外接矩形的边长,cy、fy分别为所述目标图像的中心点在y轴方向的坐标和焦距。
在本实施例的一个或多个实施方式中,根据所述对应标记在世界坐标系下的位姿,构建所述目标区域的目标地图之后,还可以保存所述对应标记的组编号和在世界坐标系下的位姿;之后,在检测到地图载入请求的情况下,载入初始地图,并按照所述对应标记的组编号和在世界坐标系下的位姿,将所述对应标记保存至所述初始地图中,构建所述目标区域的目标地图。
在本实施例的一个或多个实施方式中,根据所述对应标记在世界坐标系下的位姿,构建所述目标区域的目标地图之后,还可以对相机当前所处的位置进行定位,具体实现过程如下:
获取在当前位置拍摄的图像,确定所述在当前位置拍摄的图像中包括的至少一组预设标记;
从所述至少一组预设标记中,选取目标预设标记;
根据选取的所述目标预设标记在世界坐标系下的位姿,确定相机位姿。
在本实施例的一个或多个实施方式中,所述根据选取的所述目标预设标记在世界坐标系下的位姿,确定相机位姿,具体实现过程可以为:
确定所述目标预设标记包括的各个标记点在所述当前位置拍摄的图像中对应的像素点;
通过所述目标预设标记包括的各个标记点在世界坐标系下的坐标和对应的像素点,计算投影关系,确定所述相机位姿。
本发明提供了一种建图方法,先获取目标区域的至少一帧目标图像,确定所述目标区域中预设标记在所述至少一帧目标图像中的对应标记在相机坐标系下的位姿;然后根据所述对应标记在相机坐标系下的位姿,确定所述对应标记在世界坐标系下的位姿;再根据所述对应标记在世界坐标系下的位姿,构建所述目标区域的目标地图。本发明中无需通过纹理信息进行建图的,而是预先在目标区域中设置多组预设标记,摄像机拍摄目标区域的图像后,该图像中就会包括上述预设标记,然后可以直接通过该预设标记的位姿进行建图,如此并不需要目标区域的纹理信息,因而即使在无纹理环境或弱光照的环境下,也可以准确进行建图。另外,由于预设标记安装不可测且存在不确定性,因而本发明中是先确定预设标记在相机坐标系下的位姿,然后将预设标记在相机坐标系下的位姿转换为在世界坐标系下的位姿,从而基于预设标记的绝对位姿对目标区域进行建图,生成的地图只和预设标记在世界坐标系下的绝对位姿有关,对预设标记的安装精度没有要求,避免了地图匹配的问题,且解决了回环累计误差、无纹理匹配的问题。
下述结合附图2,对上述附图1所示的建图方法进行进一步说明。其中,图2示出了本发明一实施例提供的另一种建图方法的流程图,具体包括以下步骤:
步骤202:获取目标区域的至少一帧目标图像,确定所述目标区域中预设标记在所述至少一帧目标图像中的对应标记在相机坐标系下的位姿。
具体的,目标区域为机器人的实际工作场景,即机器人可以移动的区域,也就是最后需要构建地图的区域;目标图像为相机拍摄的目标区域的图像;预设标记为预先安装在目标区域里的标记;对应标记为拍摄目标区域得到的图像中预设标记对应的标记。
实际应用中,用户可以预先在目标区域的顶部墙面安装预设数值组预设标记,要确保安装预设标记的顶部墙面平整无突起。另外,每组预设标记包括有目标数值个标记点,且对应有组编号,各个标记点间的距离需保证相机拍摄一帧目标图像至少能够观测到两个标记点。相应的,一组所述预设标记在所述至少一帧目标图像中的对应标记也包括目标数值个标记点。
需要说明的是,一组预设标记包括有多个标记点,该多个标记点可以构成一个平面,该平面会存在倾斜角度,如若预设标记安装在水平的房屋顶面,则此时该多个标记点构成的平面倾斜角度为0度,因而需要确定所述目标区域中预设标记在所述至少一帧目标图像中的对应标记在相机坐标系下的位姿,该位姿包括坐标和倾斜角度。而对于一组预设标记包括的单个标记点来说,其只具有在坐标系下的坐标。
机器人载有相机,在目标区域内移动,边移动边拍摄图像,此时可以获取到该至少一帧目标图像。具体移动时,在保证存在标记观测的情况下,单向移动遍历所有预设标记,整个移动过程中拍摄的图像即为所述至少一帧目标图像;另外,还可以在预设标记可观测区域内,多次来回移动,整个移动过程中拍摄的图像即为所述至少一帧目标图像。
需要说明的是,本发明不对机器人的移动过程进行具体限定,只要机器人移动过程可以遍历所有预设标记即可,且为了提供足够的约束条件,可以在移动过程中插入后退循环,即移动到某一预设标记后,反向移动回另一已观测标记;或增加遍历次数。这种情况下,可以获取到足够多的目标图像,目标图像中的对应标记可以提供足够的约束条件,使得后续确定出的目标图像中的对应标记在世界坐标系下的坐标较为准确,从而提高建图的准确率。
具体实现时,为了防止顶部射灯干扰,可以采用红外全局快门相机获取所述目标图像,以提高检出率,且避免运动模糊,目标图像获取示例如附图3所示。
在本实施例的一个或多个实施方式中,确定所述目标区域中预设标记在所述至少一帧目标图像中的对应标记在相机坐标系下的位姿,具体实现过程可以为:
确定所述对应标记包括的各个标记点在所述至少一帧目标图像中的像素位置;
根据所述像素位置,确定出所述对应标记在相机坐标系下的位姿。
实际应用中,可以采用现有的图像分析方法,确定出对应标记包括的各个标记点在所述至少一帧目标图像中的像素位置,并解码至对应标记的组编号,然后单应求出所述对应标记在相机坐标系下的位姿。
本发明中,通过机器人载着相机在目标区域内移动,可以拍摄得到目标区域的至少一张目标图像,然后确定出目标区域中预设标记在所述至少一帧目标图像中的对应标记在相机坐标系下的位姿,方便后续进一步确定所述至少一帧目标图像中的对应标记在世界坐标系下的位姿,从而构建目标区域的地图。
步骤204:以所述至少一帧目标图像中第一帧目标图像的相机坐标系为世界坐标系,将所述对应标记在相机坐标系下的位姿,转换为所述对应标记在世界坐标系下的位姿。
具体的,在获取目标区域的至少一帧目标图像,确定所述目标区域中预设标记在所述至少一帧目标图像中的对应标记在相机坐标系下的位姿的基础上,进一步的,将以所述至少一帧目标图像中第一帧目标图像的相机坐标系为世界坐标系,将所述对应标记在相机坐标系下的位姿,转换为所述对应标记在世界坐标系下的位姿。
实际应用中,相机一般安装方式为z轴向上,此时可以以至少一帧目标图像中第一帧目标图像的相机坐标系为世界坐标系,后续即可将所述对应标记在相机坐标系下的位姿,转换为所述对应标记在世界坐标系下的位姿。
在本实施例的一个或多个实施方式中,可以根据所述对应标记中包括的目标数值个标记点在成像平面坐标系下的坐标和在图像坐标系下的坐标,将所述对应标记在相机坐标系下的位姿,转换为所述对应标记在世界坐标系下的位姿,具体实现过程如下:
按照如下公式(1)确定所述对应标记在世界坐标系下的位姿:
其中,表示第j帧图像对应的世界坐标系到相机坐标系的坐标变换,表示世界坐标系下组编号为k的标记位姿,Pi为成像平面坐标系下标记点的位置,为标记点在图像坐标系下的坐标,i表示目标数值个标记点中的指定标记点,πc指将相机坐标系下的标记点投影至像素平面。
实际应用中,若一组预设标记包括6个标记点,也即一组标记使用6个像素位置,可对标记位置和相机位置产生6个约束条件,预设数值组标记就会产生平面约束条件。具体的,可以通过上述公式(1)确定所述对应标记在世界坐标系下的位姿,使公式(1)中的ξ最小,确定对应的
另外,相机在不同位置拍摄目标区域的图像,可能会观测到相同的标记,即共视状态,如图4所示,相机1可以观测到标记1,相机2可以观测到标记1、标记2,相机3可以观测到标记1、标记2、标记3,相机4可以观测到标记2、标记3,相机5可以观测到标记3。
本发明中,以所述至少一帧目标图像中第一帧目标图像的相机坐标系为世界坐标系,将所述对应标记在相机坐标系下的位姿,转换为所述对应标记在世界坐标系下的位姿,从而基于预设标记在世界坐标系下的位姿对目标区域进行建图,生成的地图只和预设标记在世界坐标系下的位姿有关,对目标区域的纹理、光照环境没有要求,对标记的安装精度也没有要求,避免了地图匹配的问题,且解决了回环累计误差、无纹理匹配的问题。
步骤206:对所述对应标记在世界坐标系下的位姿进行校正,得到所述对应标记在世界坐标系下校正后的位姿。
具体的,在将所述对应标记在相机坐标系下的位姿,转换为所述对应标记在世界坐标系下的位姿的基础上,进一步的,将对所述对应标记在世界坐标系下的位姿进行校正,得到所述对应标记在世界坐标系下校正后的位姿。
实际应用中,对所述对应标记在世界坐标系下的位姿进行校正,即对求得的对应标记在世界坐标系下的位姿进行优化(滤除、修正等)。具体实现时,对所述对应标记在世界坐标系下的位姿进行校正存在两种可能的方式,方式一为对获取到的全部目标图像的对应标记在世界坐标系下的位姿进行全部校正,具体实现过程可以为:
将全部目标图像和已确定出的标记在世界坐标系下的位姿进行全局BA优化,以标记在世界坐标系下的位姿优化顶点为基准,将对应组编号的标记的目标图像帧中标记在世界坐标系下的位姿作为另一优化顶点,将目标图像中的像素坐标构建像素重投影优化边约束,进行图优化。
具体的,BA优化为使用三维点进行投影,找出最合适的相机位姿,通过迭代调整光束,使光束满足约束平面条件。
方式二为对获取到的全部目标图像中部分目标图像的对应标记在世界坐标系下的位姿进行校正,具体实现过程可以为:
从所述至少一帧目标图像中的有效帧目标图像中选取一帧目标图像,作为第一目标图像;
将所述第一目标图像中的对应标记在世界坐标系下的位姿作为第一校正顶点,确定所述有效帧目标图像中包括所述第一校正顶点的第二目标图像,将所述第二目标图像中存在的、未被第一目标图像包括的对应标记在世界坐标系下的位姿作为固定约束条件,进行校正。
本发明中在将所述对应标记在相机坐标系下的位姿,转换为所述对应标记在世界坐标系下的位姿之后,并不是直接采用对应标记在世界坐标系下的位姿进行后续的地图构建过程,而是进一步对所述对应标记在世界坐标系下的位姿进行校正,一定程度上修正对应标记在世界坐标系下的位姿误差,可以提高后续构建目标区域的目标地图的准确性。另外,可以通过获取到的全部目标图像或部分目标图像,对所述对应标记在世界坐标系下的位姿进行校正,校正方式更灵活,适应大部分实际应用场景。
步骤208:根据所述对应标记在世界坐标系下校正后的位姿,构建所述目标区域的目标地图。
具体的,在对所述对应标记在世界坐标系下的位姿进行校正,得到所述对应标记在世界坐标系下校正后的位姿的基础上,进一步的,将根据所述对应标记在世界坐标系下校正后的位姿,构建所述目标区域的目标地图。
在本实施例的一个或多个实施方式中,根据所述对应标记在世界坐标系下校正后的位姿,构建所述目标区域的目标地图,具体实现过程可以为:
确定所述对应标记对应的可移动区域的边界;
根据所述可移动区域的边界,确定所述对应标记对应的可移动区域;
根据所述可移动区域和所述对应标记在世界坐标系下的位姿,构建所述目标区域的目标地图。
具体的,一组标记有一个外接的矩形边界,其对应能够在各种旋转和位置状态下观测到标记的最小范围,即所述可移动区域。
实际应用中,可以根据所述目标图像的宽度、所述目标图像的中心点在水平方向的坐标和焦距、所述预设标记相对相机的安装高度以及所述预设标记的外接矩形的边长,确定所述对应标记对应的可移动区域的边界,具体实现过程如下:
按照以下公式(2)确定所述对应标记对应的可移动区域的边界:
其中,所述s为可移动区域的边界,所述v为所述目标图像的宽度,h为所述预设标记相对相机的安装高度,a为所述预设标记的外接矩形的边长,cy、fy分别为所述目标图像的中心点在y轴方向的坐标和焦距。
实际实现时,如图5所示,一组标记可以根据标记相当于相机的安装高度H,投影得到一个二维栅格地图,进一步的,可以将该区域的边界栅格状态置为障碍,中间区域设置为自由状态。另外,多组标记可以投影得到多个二维栅格地图,如图6所示,标记1和标记2投影得到了2个二维栅格地图,此时可以将重叠区域内重新置为自由状态,即可得到二维可活动栅格地图,即可移动区域,生成了可行区域栅格地图,方便后续导航使用。
另外,确定出可移动区域(二维可活动栅格地图)后,还可以将可移动区域的边界设置为虚拟墙,当机器人接触到该虚拟墙后,发出越界警报,以控制机器人的行进。
在本实施例的一个或多个实施方式中,在建图完成后还可以仅使用部分特定位置区域的标记来辅助激光和视觉,以消除累计误差。
步骤210:获取在当前位置拍摄的图像,确定所述在当前位置拍摄的图像中包括的至少一组预设标记,从所述至少一组预设标记中,选取目标预设标记,根据选取的所述目标预设标记在世界坐标系下的位姿,确定相机位姿。
需要说明的是,当目标区域的地图构建完成后,机器人在目标区域内移动时,就可以通过激光、超声波等距离传感器进行避障,并根据目标区域内安装的标记点在世界坐标系下的坐标,确定出相机的位姿,由于相机是被机器人载着移动的,因而相机的位姿中的坐标即机器人的坐标,实现了根据预设标记在世界坐标系下坐标,对相机(机器人)进行定位。
实际应用中,根据选取的所述目标预设标记在世界坐标系下的位姿,确定相机位姿,具体实现过程可以为:
可以先确定所述目标预设标记包括的各个标记点在所述当前位置拍摄的图像中对应的像素点;
通过所述目标预设标记包括的各个标记点在世界坐标系下的坐标和对应的像素点,计算投影关系,进而确定所述相机位姿。
在本实施例的一个或多个实施方式中,确定出所述对应标记在世界坐标系下的位姿(或者所述对应标记在世界坐标系下校正后的位姿)后,可以先不构建目标区域的目标地图,而是先保存对应标记的组编号和在世界坐标系下的位姿;在后续检测到地图载入请求的情况下,再构建目标地图,具体的,载入初始地图,并按照所述对应标记的组编号和在世界坐标系下的位姿,将所述对应标记保存至所述初始地图中,构建所述目标区域的目标地图。保存机制可以选择保存文本或者二进制文件,以方便载入。
本发明提供了一种建图方法,先确定预设标记在相机坐标系下的位姿,然后将预设标记在相机坐标系下的位姿转换为在世界坐标系下的位姿,从而基于预设标记在世界坐标系下的位姿对目标区域进行建图,生成的地图只和预设标记在世界坐标系下的位姿有关,对目标区域的纹理、光照环境没有要求,对预设标记的安装精度也没有要求,仅需要所附顶面为平面,避免了地图匹配的问题,且解决了回环累计误差、无纹理匹配的问题。另外,建图完成后仅需要保存预设标记的位姿和对应的组编号,在定位时载入地图后,即可生成导航可用的二维栅格地图,消耗的存储资源少,方便快捷。再者,在构建目标地图后,就可以根据预设标记在空间中的绝对位置(在世界坐标系下的位姿),直接获取相机的位置。
当场景改变较频繁,且存在玻璃物体、纹理区分不明显时,就可以采用本发明提供的这种标记建图定位的方法,通过安装预设标记确定机器人可行区域,建立对应地图,即可通过预设标记给出绝对位置,其他传感器避障辅助进行导航。
与上述方法实施例相对应,本发明还提供了建图装置实施例,图7示出了本发明一实施例提供的一种建图装置的结构示意图。如图7所示,该装置包括:
第一确定模块702,被配置为获取目标区域的至少一帧目标图像,确定所述目标区域中预设标记在所述至少一帧目标图像中的对应标记在相机坐标系下的位姿;
第二确定模块704,被配置为根据所述对应标记在相机坐标系下的位姿,确定所述对应标记在世界坐标系下的位姿;
第一构建模块706,被配置为根据所述对应标记在世界坐标系下的位姿,构建所述目标区域的目标地图。
在本实施例的一个或多个实施方式中,所述第二确定模块704进一步被配置为:
以所述至少一帧目标图像中第一帧目标图像的相机坐标系为世界坐标系,将所述对应标记在相机坐标系下的位姿,转换为所述对应标记在世界坐标系下的坐标。
在本实施例的一个或多个实施方式中,所述目标区域中包括预设数值组预设标记,每组所述预设标记对应有组编号,一组所述预设标记包括目标数值个标记点,一组所述预设标记在所述至少一帧目标图像中的对应标记也包括目标数值个标记点;
所述第二确定模块704进一步被配置为:
根据所述对应标记中包括的目标数值个标记点在成像平面坐标系下的坐标和在图像坐标系下的坐标,将所述对应标记在相机坐标系下的位姿,转换为所述对应标记在世界坐标系下的位姿。
在本实施例的一个或多个实施方式中,所述第二确定模块704进一步被配置为:
按照如下公式确定所述对应标记在世界坐标系下的位姿:
其中,表示第j帧图像对应的世界坐标系到相机坐标系的坐标变换,表示世界坐标系下组编号为k的标记位姿,Pi为标记坐标系下标记点的位置,为标记点在像素坐标系下的坐标,i表示目标数值个标记点中的指定标记点,πc指将相机坐标系下的标记点投影至像素平面。
在本实施例的一个或多个实施方式中,所述第一确定模块702进一步被配置为:
确定所述对应标记包括的各个标记点在所述至少一帧目标图像中的像素位置;
根据所述像素位置,确定出所述对应标记在相机坐标系下的位姿。
在本实施例的一个或多个实施方式中,所述装置还包括:
校正模块,被配置为对所述对应标记在世界坐标系下的位姿进行校正,得到所述对应标记在世界坐标系下校正后的位姿。
在本实施例的一个或多个实施方式中,所述校正模块进一步被配置为:
从所述至少一帧目标图像中的有效帧目标图像中选取一帧目标图像,作为第一目标图像;
将所述第一目标图像中的对应标记在世界坐标系下的位姿作为第一校正顶点,确定所述有效帧目标图像中包括所述第一校正顶点的第二目标图像,将所述第二目标图像中存在的、未被第一目标图像包括的对应标记在世界坐标系下的位姿作为固定约束条件,进行校正。
在本实施例的一个或多个实施方式中,所述第一构建模块706进一步被配置为:
确定所述对应标记对应的可移动区域的边界;
根据所述可移动区域的边界,确定所述对应标记对应的可移动区域;
根据所述可移动区域和所述对应标记在世界坐标系下的位姿,构建所述目标区域的目标地图。
在本实施例的一个或多个实施方式中,所述第一构建模块706进一步被配置为:
根据所述目标图像的宽度、所述目标图像的中心点在水平方向的坐标和焦距、所述预设标记相对相机的安装高度以及所述预设标记的外接矩形的边长,确定所述对应标记对应的可移动区域的边界。
在本实施例的一个或多个实施方式中,所述第一构建模块706进一步被配置为:
按照以下公式确定所述对应标记对应的可移动区域的边界:
其中,所述s为可移动区域的边界,所述v为所述目标图像的宽度,h为所述预设标记相对相机的安装高度,a为所述预设标记的外接矩形的边长,cy、fy分别为所述目标图像的中心点在y轴方向的坐标和焦距。
在本实施例的一个或多个实施方式中,所述装置还包括:
保存模块,被配置为保存所述对应标记的组编号和在世界坐标系下的位姿;
第二构建模块,被配置为在检测到地图载入请求的情况下,载入初始地图,并按照所述对应标记的组编号和在世界坐标系下的位姿,将所述对应标记保存至所述初始地图中,构建所述目标区域的目标地图。
在本实施例的一个或多个实施方式中,所述装置还包括:
第三确定模块,被配置为获取在当前位置拍摄的图像,确定所述在当前位置拍摄的图像中包括的至少一组预设标记;
选取模块,被配置为从所述至少一组预设标记中,选取目标预设标记;
第四确定模块,被配置为根据选取的所述目标预设标记在世界坐标系下的位姿,确定相机位姿。
在本实施例的一个或多个实施方式中,所述第四确定模块进一步被配置为:
确定所述目标预设标记包括的各个标记点在所述当前位置拍摄的图像中对应的像素点;
通过所述目标预设标记包括的各个标记点在世界坐标系下的坐标和对应的像素点,计算投影关系,确定所述相机位姿。
上述为本实施例的一种建图装置的示意性方案。需要说明的是,该建图装置的技术方案与上述的建图方法的技术方案属于同一构思,建图装置的技术方案未详细描述的细节内容,均可以参见上述建图方法的技术方案的描述。
本申请一实施例公开了一种机器人,参见图8,包括机械本体80,所述机械本体上设置有至少一个处理器801,以及至少一个存储计算机指令的存储器802。
其中,所述存储器802用于存储支持该机器人执行前述实施例中的控制方法程序,所述处理器801被配置为用于执行所述存储器中存储的程序。
机械本体80上除了设有一个或多个处理器801以及一个或多个存储器802之外,还设置有机器人的一些基本组件,例如驱动组件、清扫组件、摄像头、传感器组件、电源组件等等。可选地,驱动组件可以包括驱动轮、驱动电机、万向轮等。可选地,清扫组件可以包括清扫电机、地刷、起尘刷、吸尘风机等。不同机器人所包含的这些基本组件以及基本组件的构成均会有所不同,本申请实施例列举的仅是部分示例。
值得说明的是,一个或多个处理器801、一个或多个存储器802可设置于机械本体内部,也可以设置于机械本体80的表面。
机械本体80是机器人赖以完成作业任务的执行机构,可以在确定的环境中执行处理器指定的操作。其中,机械本体80一定程度上体现了机器人的外观形态。在本实施例中,并不限定机器人的外观形态,例如可以是圆形、椭圆形、三角形、凸多边形等。
一个或多个存储器802,主要用于存储计算机指令,该计算机指令可被一个或多个处理器801执行,致使一个或多个处理器801可以控制机器人的机械本体800执行机器人控制方法。除了存储计算机指令之外,一个或多个存储器802还可被配置为存储其它各种数据以支持在机器人上的操作。这些数据的示例包括用于在机器人上操作的任何应用程序或方法的指令,机器人所在环境/场景的地图数据,待清扫区域的信息,清扫时间等等。
一个或多个存储器802,可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
一个或多个处理器801,可以看作是机器人控制系统,可用于执行一个或多个存储器802中存储的计算机指令,以实现机器人控制方法。
所述至少一个处理器801用于执行计算机指令,实现以下方法:
获取目标区域的至少一帧目标图像,确定所述目标区域中预设标记在所述至少一帧目标图像中的对应标记在相机坐标系下的位姿;
根据所述对应标记在相机坐标系下的位姿,确定所述对应标记在世界坐标系下的位姿;
根据所述对应标记在世界坐标系下的位姿,构建所述目标区域的目标地图。
可选的,所述根据所述对应标记在相机坐标系下的位姿,确定所述对应标记在世界坐标系下的位姿的过程中,所述至少一个处理器还用于:
以所述至少一帧目标图像中第一帧目标图像的相机坐标系为世界坐标系,将所述对应标记在相机坐标系下的位姿,转换为所述对应标记在世界坐标系下的坐标。
在本实施例的一个或多个实施方式中,所述目标区域中包括预设数值组预设标记,每组所述预设标记对应有组编号,一组所述预设标记包括目标数值个标记点,一组所述预设标记在所述至少一帧目标图像中的对应标记也包括目标数值个标记点;
所述将所述对应标记在相机坐标系下的位姿,转换为所述对应标记在世界坐标系下的位姿的过程中,所述至少一个处理器还用于:
根据所述对应标记中包括的目标数值个标记点在成像平面坐标系下的坐标和在图像坐标系下的坐标,将所述对应标记在相机坐标系下的位姿,转换为所述对应标记在世界坐标系下的位姿。
在本实施例的一个或多个实施方式中,所述根据所述对应标记中包括的目标数值个标记点在成像平面坐标系下的坐标和在图像坐标系下的坐标,将所述对应标记在相机坐标系下的位姿,转换为所述对应标记在世界坐标系下的位姿的过程中,所述至少一个处理器还用于:
按照如下公式确定所述对应标记在世界坐标系下的位姿:
其中,表示第j帧图像对应的世界坐标系到相机坐标系的坐标变换,表示世界坐标系下组编号为k的标记位姿,Pi为成像平面坐标系下标记点的位置,为标记点在图像坐标系下的坐标,i表示目标数值个标记点中的指定标记点,πc指将相机坐标系下的标记点投影至像素平面。
在本实施例的一个或多个实施方式中,所述确定所述目标区域中预设标记在所述至少一帧目标图像中的对应标记在相机坐标系下的位姿的过程中,所述至少一个处理器还用于:
确定所述对应标记包括的各个标记点在所述至少一帧目标图像中的像素位置;
根据所述像素位置,确定出所述对应标记在相机坐标系下的位姿。
在本实施例的一个或多个实施方式中,所述根据所述对应标记在相机坐标系下的位姿,确定所述对应标记在世界坐标系下的位姿之后,所述至少一个处理器还用于:
对所述对应标记在世界坐标系下的位姿进行校正,得到所述对应标记在世界坐标系下校正后的位姿。
在本实施例的一个或多个实施方式中,所述对所述对应标记在世界坐标系下的位姿进行校正的过程中,所述至少一个处理器还用于:
从所述至少一帧目标图像中的有效帧目标图像中选取一帧目标图像,作为第一目标图像;
将所述第一目标图像中的对应标记在世界坐标系下的位姿作为第一校正顶点,确定所述有效帧目标图像中包括所述第一校正顶点的第二目标图像,将所述第二目标图像中存在的、未被第一目标图像包括的对应标记在世界坐标系下的位姿作为固定约束条件,进行校正。
在本实施例的一个或多个实施方式中,所述根据所述对应标记在世界坐标系下的位姿,构建所述目标区域的目标地图的过程中,所述至少一个处理器还用于:
确定所述对应标记对应的可移动区域的边界;
根据所述可移动区域的边界,确定所述对应标记对应的可移动区域;
根据所述可移动区域和所述对应标记在世界坐标系下的位姿,构建所述目标区域的目标地图。
在本实施例的一个或多个实施方式中,所述确定所述对应标记对应的可移动区域的边界的过程中,所述至少一个处理器还用于:
根据所述目标图像的宽度、所述目标图像的中心点在水平方向的坐标和焦距、所述预设标记相对相机的安装高度以及所述预设标记的外接矩形的边长,确定所述对应标记对应的可移动区域的边界。
在本实施例的一个或多个实施方式中,所述确定所述对应标记对应的可移动区域的边界的过程中,所述至少一个处理器还用于:
按照以下公式确定所述对应标记对应的可移动区域的边界:
其中,所述s为可移动区域的边界,所述v为所述目标图像的宽度,h为所述预设标记相对相机的安装高度,a为所述预设标记的外接矩形的边长,cy、fy分别为所述目标图像的中心点在y轴方向的坐标和焦距。
在本实施例的一个或多个实施方式中,所述根据所述对应标记在世界坐标系下的位姿,构建所述目标区域的目标地图之后,所述至少一个处理器还用于:
保存所述对应标记的组编号和在世界坐标系下的位姿;
在检测到地图载入请求的情况下,载入初始地图,并按照所述对应标记的组编号和在世界坐标系下的位姿,将所述对应标记保存至所述初始地图中,构建所述目标区域的目标地图。
在本实施例的一个或多个实施方式中,所述根据所述对应标记在世界坐标系下的位姿,构建所述目标区域的目标地图之后,所述至少一个处理器还用于:
获取在当前位置拍摄的图像,确定所述在当前位置拍摄的图像中包括的至少一组预设标记;
从所述至少一组预设标记中,选取目标预设标记;
根据选取的所述目标预设标记在世界坐标系下的位姿,确定相机位姿。
在本实施例的一个或多个实施方式中,所述根据选取的所述目标预设标记在世界坐标系下的位姿,确定相机位姿的过程中,所述至少一个处理器还用于:
确定所述目标预设标记包括的各个标记点在所述当前位置拍摄的图像中对应的像素点;
通过所述目标预设标记包括的各个标记点在世界坐标系下的坐标和对应的像素点,计算投影关系,确定所述相机位姿。
上述为本实施例的一种机器人的示意性方案。需要说明的是,该机器人的技术方案与上述的建图方法的技术方案属于同一构思,机器人的技术方案未详细描述的细节内容,均可以参见上述建图方法的技术方案的描述。
本发明一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时以用于:
获取目标区域的至少一帧目标图像,确定所述目标区域中预设标记在所述至少一帧目标图像中的对应标记在相机坐标系下的位姿;
根据所述对应标记在相机坐标系下的位姿,确定所述对应标记在世界坐标系下的位姿;
根据所述对应标记在世界坐标系下的位姿,构建所述目标区域的目标地图。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的建图方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述建图方法的技术方案的描述。
上述对本发明特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本发明优选实施例只是用于帮助阐述本发明。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本发明的内容,可作很多的修改和变化。本发明选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。
Claims (16)
1.一种建图方法,其特征在于,所述方法包括:
获取目标区域的至少一帧目标图像,确定所述目标区域中预设标记在所述至少一帧目标图像中的对应标记在相机坐标系下的位姿;
根据所述对应标记在相机坐标系下的位姿,确定所述对应标记在世界坐标系下的位姿;
根据所述对应标记在世界坐标系下的位姿,构建所述目标区域的目标地图。
2.根据权利要求1所述的建图方法,其特征在于,所述根据所述对应标记在相机坐标系下的位姿,确定所述对应标记在世界坐标系下的位姿,包括:
以所述至少一帧目标图像中第一帧目标图像的相机坐标系为世界坐标系,将所述对应标记在相机坐标系下的位姿,转换为所述对应标记在世界坐标系下的位姿。
3.根据权利要求2所述的建图方法,其特征在于,所述目标区域中包括预设数值组预设标记,每组所述预设标记对应有组编号,一组所述预设标记包括目标数值个标记点,一组所述预设标记在所述至少一帧目标图像中的对应标记也包括目标数值个标记点;
所述将所述对应标记在相机坐标系下的位姿,转换为所述对应标记在世界坐标系下的位姿,包括:
根据所述对应标记中包括的目标数值个标记点在成像平面坐标系下的坐标和在图像坐标系下的坐标,将所述对应标记在相机坐标系下的位姿,转换为所述对应标记在世界坐标系下的位姿。
5.根据权利要求1所述的建图方法,其特征在于,所述确定所述目标区域中预设标记在所述至少一帧目标图像中的对应标记在相机坐标系下的位姿,包括:
确定所述对应标记包括的各个标记点在所述至少一帧目标图像中的像素位置;
根据所述像素位置,确定出所述对应标记在相机坐标系下的位姿。
6.根据权利要求1所述的建图方法,其特征在于,所述根据所述对应标记在相机坐标系下的位姿,确定所述对应标记在世界坐标系下的位姿之后,还包括:
对所述对应标记在世界坐标系下的位姿进行校正,得到所述对应标记在世界坐标系下校正后的位姿。
7.根据权利要求6所述的建图方法,其特征在于,所述对所述对应标记在世界坐标系下的位姿进行校正,包括:
从所述至少一帧目标图像中的有效帧目标图像中选取一帧目标图像,作为第一目标图像;
将所述第一目标图像中的对应标记在世界坐标系下的位姿作为第一校正顶点,确定所述有效帧目标图像中包括所述第一校正顶点的第二目标图像,将所述第二目标图像中存在的、未被第一目标图像包括的对应标记在世界坐标系下的位姿作为固定约束条件,进行校正。
8.根据权利要求1所述的建图方法,其特征在于,所述根据所述对应标记在世界坐标系下的位姿,构建所述目标区域的目标地图,包括:
确定所述对应标记对应的可移动区域的边界;
根据所述可移动区域的边界,确定所述对应标记对应的可移动区域;
根据所述可移动区域和所述对应标记在世界坐标系下的位姿,构建所述目标区域的目标地图。
9.根据权利要求8所述的建图方法,其特征在于,所述确定所述对应标记对应的可移动区域的边界,包括:
根据所述目标图像的宽度、所述目标图像的中心点在水平方向的坐标和焦距、所述预设标记相对相机的安装高度以及所述预设标记的外接矩形的边长,确定所述对应标记对应的可移动区域的边界。
11.根据权利要求1所述的建图方法,其特征在于,所述根据所述对应标记在世界坐标系下的位姿,构建所述目标区域的目标地图之后,还包括:
保存所述对应标记的组编号和在世界坐标系下的位姿;
在检测到地图载入请求的情况下,载入初始地图,并按照所述对应标记的组编号和在世界坐标系下的位姿,将所述对应标记保存至所述初始地图中,构建所述目标区域的目标地图。
12.根据权利要求1所述的建图方法,其特征在于,所述根据所述对应标记在世界坐标系下的位姿,构建所述目标区域的目标地图之后,还包括:
获取在当前位置拍摄的图像,确定所述在当前位置拍摄的图像中包括的至少一组预设标记;
从所述至少一组预设标记中,选取目标预设标记;
根据选取的所述目标预设标记在世界坐标系下的位姿,确定相机位姿。
13.根据权利要求12所述的建图方法,其特征在于,所述根据选取的所述目标预设标记在世界坐标系下的坐标,确定相机位姿,包括:
确定所述目标预设标记包括的各个标记点在所述当前位置拍摄的图像中对应的像素点;
通过所述目标预设标记包括的各个标记点在世界坐标系下的坐标和对应的像素点,计算投影关系,确定所述相机位姿。
14.一种建图装置,其特征在于,所述装置包括:
第一确定模块,被配置为获取目标区域的至少一帧目标图像,确定所述目标区域中预设标记在所述至少一帧目标图像中的对应标记在相机坐标系下的位姿;
第二确定模块,被配置为根据所述对应标记在相机坐标系下的位姿,确定所述对应标记在世界坐标系下的位姿;
第一构建模块,被配置为根据所述对应标记在世界坐标系下的位姿,构建所述目标区域的目标地图。
15.一种机器人,其特征在于,包括机械本体,所述机械本体上设置有至少一个处理器,以及至少一个存储计算机指令的存储器;
所述至少一个处理器用于执行计算机指令,实现以下方法:
获取目标区域的至少一帧目标图像,确定所述目标区域中预设标记在所述至少一帧目标图像中的对应标记在相机坐标系下的位姿;
根据所述对应标记在相机坐标系下的位姿,确定所述对应标记在世界坐标系下的位姿;
根据所述对应标记在世界坐标系下的位姿,构建所述目标区域的目标地图。
16.一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现权利要求1至13任意一项所述建图方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010779559.4A CN114066963A (zh) | 2020-08-05 | 2020-08-05 | 一种建图方法、装置及机器人 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010779559.4A CN114066963A (zh) | 2020-08-05 | 2020-08-05 | 一种建图方法、装置及机器人 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114066963A true CN114066963A (zh) | 2022-02-18 |
Family
ID=80232180
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010779559.4A Pending CN114066963A (zh) | 2020-08-05 | 2020-08-05 | 一种建图方法、装置及机器人 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114066963A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114782555A (zh) * | 2022-06-20 | 2022-07-22 | 深圳市海清视讯科技有限公司 | 地图映射方法、设备、及存储介质 |
-
2020
- 2020-08-05 CN CN202010779559.4A patent/CN114066963A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114782555A (zh) * | 2022-06-20 | 2022-07-22 | 深圳市海清视讯科技有限公司 | 地图映射方法、设备、及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10796151B2 (en) | Mapping a space using a multi-directional camera | |
JP6946524B2 (ja) | 機械視覚システムを使用した、同時位置測定マッピングを実施するためのシステム | |
CN110377015B (zh) | 机器人定位方法和机器人定位装置 | |
CN110136208B (zh) | 一种机器人视觉伺服系统的联合自动标定方法及装置 | |
CN109074083B (zh) | 移动控制方法、移动机器人及计算机存储介质 | |
Singh et al. | Bigbird: A large-scale 3d database of object instances | |
Prusak et al. | Pose estimation and map building with a time-of-flight-camera for robot navigation | |
CN111337947A (zh) | 即时建图与定位方法、装置、系统及存储介质 | |
Chen et al. | Active sensor planning for multiview vision tasks | |
CN112183171B (zh) | 一种基于视觉信标建立信标地图方法、装置 | |
CN108481327B (zh) | 一种增强视觉的定位装置、定位方法及机器人 | |
CN108332752B (zh) | 机器人室内定位的方法及装置 | |
KR101341204B1 (ko) | 레이저 스캐너 및 구조물을 이용한 모바일 로봇의 위치추정장치 및 방법 | |
CN110597265A (zh) | 一种扫地机器人回充方法和装置 | |
CN108544494A (zh) | 一种基于惯性和视觉特征的定位装置、方法及机器人 | |
Kim et al. | UAV-UGV cooperative 3D environmental mapping | |
WO2019136613A1 (zh) | 机器人室内定位的方法及装置 | |
CN208289901U (zh) | 一种增强视觉的定位装置及机器人 | |
JP2022530246A (ja) | 自己位置推定及び環境地図作成の同時実行 | |
CN114066963A (zh) | 一种建图方法、装置及机器人 | |
WO2019189381A1 (ja) | 移動体、制御装置、および制御プログラム | |
US20230326098A1 (en) | Generating a digital twin representation of an environment or object | |
Angladon et al. | Room floor plan generation on a project tango device | |
CN112438658A (zh) | 清洁机器人的清洁区域划分方法及清洁机器人 | |
Blaer et al. | Two stage view planning for large-scale site modeling |
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 |