用于确定机器人位置的方法、装置、终端及存储介质与流程

文档序号:24732108发布日期:2021-04-20 15:01阅读:68来源:国知局
用于确定机器人位置的方法、装置、终端及存储介质与流程

1.本申请属于机器人技术领域,尤其涉及一种用于确定机器人位置的方法、装置、终端及存储介质。


背景技术:

2.随着传感器技术、人工智能等技术的发展,机器人领域成为一个蓬勃发展的新兴领域,移动机器人作为一个重要的应用,得到越来越多的关注。一般地,在很多应用场景中,时常需要机器人获得精确的定位信息,以便于更好地进行机器人导航。
3.因此,亟需一种能够获得机器人在环境中的定位信息的方法。


技术实现要素:

4.本申请实施例提供了一种用于确定机器人位置的方法、装置、终端及存储介质,以解决现有难以获得机器人在环境中的定位信息的问题。
5.第一方面,本申请实施例提供了一种用于确定机器人位置的方法,包括:
6.获取至少两个原始图像;
7.针对每一个所述原始图像,获取所述原始图像中包含的目标物体的特征信息;
8.根据各个所述原始图像所分别包括的所述目标物体的特征信息,确定至少一个所述目标物体的位置;
9.根据至少一个所述目标物体的位置,确定所述机器人的位置。
10.采用本申请提供的用于确定机器人位置的方法,预先地获取至少两个原始图像,以通过获取的原始图像中包含的目标物体的特征信息了解机器人所处的环境情况和对应的目标物体的特征,并根据各个所述原始图像所分别包括的所述目标物体的特征信息,确定至少一个所述目标物体的位置,进一步地根据至少一个所述目标物体的位置,确定所述机器人的位置,从而实现精确地定位机器人的位置,提升获取机器人的定位信息的鲁棒性。
11.可选的,所述针对每一个所述原始图像,获取所述原始图像中包含的目标物体的特征信息,包括:
12.针对每一个原始图像,通过检测模型或边缘检测算法获得所述原始图像中包含的目标物体的特征信息。
13.可选的,所述特征信息包括所述目标物体的类别、纹理、形状、在图像中的区域范围和在图像中的位置中的至少一种。
14.可选的,所述特征信息包括至少一个特征点的坐标;
15.所述根据各个所述原始图像所分别包括的所述目标物体的特征信息,确定至少一个所述目标物体的位置,包括:
16.针对一个原始图像中的每一个目标物体,根据各个所述原始图像中所分别包含的所述目标物体的特征点的坐标,确定所述目标物体的坐标差值;
17.若确定所述坐标差值小于预设值,则根据各个所述原始图像中所分别包含的所述
目标物体的特征点的坐标,确定所述目标物体的位置。
18.可选的,所述根据各个所述原始图像所分别包括的所述目标物体的特征信息,确定至少一个所述目标物体的位置,包括:
19.针对每一个目标物体,根据各个所述原始图像所分别包括的所述目标物体的特征信息,确定所述目标物体的初始位置;
20.确定所述目标物体的初始位置所对应的不确定度;
21.若所述不确定度小于预设阈值,则将所述目标物体的初始位置作为所述目标物体的位置。
22.可选的,所述根据至少一个所述目标物体的位置,确定所述机器人的位置,包括:
23.针对每一个目标物体,获取目标设备测得的距离信息,所述距离信息用于描述所述目标物体与所述机器人之间的距离;
24.根据所述距离信息和所述目标物体的位置,得到所述目标物体的更新后的位置;
25.根据至少一个所述目标物体所分别对应的更新后的位置,确定所述机器人的位置。
26.可选的,所述根据至少一个所述目标物体的位置,确定所述机器人的位置,包括:
27.通过目标设备获取所述机器人在不同位置采集包含所述目标物体的原始图像的相对位移;
28.根据所述相对位移和所述目标物体的位置,得到所述目标物体的更新后的位置;
29.根据至少一个所述目标物体所分别对应的更新后的位置,确定所述机器人的位置。
30.第二方面,本申请实施例提供了一种用于确定机器人位置的装置,其特征在于,包括:
31.第一获取模块,用于获取至少两个原始图像;
32.第二获取模块,用于针对每一个所述原始图像,获取所述原始图像中包含的目标物体的特征信息;
33.第一确定模块,用于根据各个所述原始图像所分别包括的所述目标物体的特征信息,确定至少一个所述目标物体的位置;
34.第二确定模块,用于根据至少一个所述目标物体的位置,确定所述机器人的位置。
35.第三方面,本申请实施例提供了一种终端,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述的方法。
36.第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述的方法。
37.第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端上运行时,使得终端执行上述第一方面中任一项所述的方法。
38.可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
39.为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
40.图1是本申请一实施例提供的用于确定机器人位置的方法的流程示意图。
41.图2是本申请一实施例提供的用于确定机器人位置的方法步骤s13的具体流程示意图。
42.图3是本申请另一实施例提供的用于确定机器人位置的方法步骤s13的具体流程示意图。
43.图4是本申请一实施例提供的用于确定机器人位置的方法的一种应用场景示意图。
44.图5是本申请一实施例提供的用于确定机器人位置的方法步骤s14的具体流程示意图。
45.图6是本申请另一实施例提供的用于确定机器人位置的方法步骤s14的具体流程示意图。
46.图7是本申请一实施例提供的用于确定机器人位置的装置的结构意图。
47.图8是本申请另一实施例提供的终端的结构示意图。
具体实施方式
48.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
49.如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0050]
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0051]
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其它一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其它方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其它方式另外特别强调。
[0052]
为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。
[0053]
请参阅图1,图1是本申请实施例提供的一种用于确定机器人位置的方法的实现流程图。本实施例中,用于确定机器人位置的方法用于在机器人的行进过程中对机器人在环
境中的位置进行定位,其执行主体为终端。该终端可以是机器人自身,也可以机器人以外的其他设备。当终端为机器人以外的其他设备时,终端与机器人之间可以进行数据通信,以实现两者之间的数据交互,以及对机器人的控制等操作。以下以终端是机器人为例进行实施例说明:
[0054]
如图1所示的用于确定机器人位置的方法包括以下步骤:
[0055]
s11:获取至少两个原始图像。
[0056]
在步骤s11中,原始图像用于描述机器人所处的物理环境。可以理解的是,为了更好地了解机器人所处的物理环境,可以通过获取多个原始图像。原始图像中包含有至少一个目标物体的投影。
[0057]
目标物体为机器人所处的物理环境可以阻碍机器人运动中的障碍物。其中,障碍物可以包括静态的障碍物,也可以包括动态的障碍物。动态的障碍物为存在于机器人所处的物理环境内且具备运动速度的障碍物。例如,机器人所处的物理环境内行走的人和动物、滚动的玩具等。相应的,静态的障碍物则是不具备运动速度的障碍物。
[0058]
在本实施例中,通过摄像设备获取机器人所处的物理环境的至少两个原始图像,由于原始图像包含机器人的环境信息,所述环境信息包括目标物体的特征信息,因此,获取原始图像即是获取机器人的所处物理环境,以便于根据该物理环境的基础上,更好地确定机器人的位置,以便于后续可以根据确定的位置,更好地进行行进导航,使得导航更流畅,机器人执行任务也更高效。
[0059]
至于何时获取至少两个原始图像,可以包括但不仅限于以下两个场景。
[0060]
场景1:当检测到配置有工作任务,且接收到启动机器人的指令时,获取至少两个原始图像。
[0061]
示例的,餐厅中布设有机器人,在检测到配有送餐任务,且检测到启动机器人的指令时,如启动按钮被触发时,获取餐厅中的至少两个原始图像,以便于机器人可以更好地确定机器人所处的餐厅环境,以便于更好地基于该餐厅环境,确定机器人的位置,以便于更好地执行送餐任务。
[0062]
场景2:机器人中的导航路径不完善,机器人基于该导航路径并不能最终地完成工作任务,故机器人为了进一步地行进以完成工作任务,当检测到机器人行进至预设路线的终点时,获取至少两个原始图像。
[0063]
示例的,机器人按着预设的导航路径执行工作任务时,若检测到行驶至导航路径的终点,且还没到达工作任务所对应的目的地时,则获取至少两个原始图像,以便于确定机器人的位置,为规划继续的导航路径提供基础。
[0064]
应当理解的是,在实际应用中,可以是通过配置在机器人上的摄像设备获取至少两个原始图像,也可以是通过与机器人通讯连接的摄像设备获取至少两个原始图像,再传送回机器人。
[0065]
在一实施例中,可通过配置在所述机器人上的单目摄像机获取原始图像。
[0066]
在一实施例中,机器人按照预设导航路径行进时,若检测到位于待通过的路口路边时,向该待通过的路口所对应的摄像设备获取路口处的至少两个原始图像。其中,预设导航路径为预先配置的执行任务的路线。
[0067]
在一实施例中,若所获取的原始图像为曲面图,则对原始图像进行预处理,将原始
图像还原成平面图。其中,曲面图是指三维图,平面图是指二维图;预处理可以是降维处理。可以理解的是,原始图像经过降低维度后,原始图像中的物理环境的维度也相应降低了,因此对目标物体进行特征提取时,需要处理的数据大大减少,降低了图像处理的难度,进一步提高了识别目标物体的效率。
[0068]
s12:针对每一个所述原始图像,获取所述原始图像中包含的目标物体的特征信息。
[0069]
在步骤s12中,特征信息为记录于原始图像中,且可用于标识目标物体的信息。可以理解的是,通过目标物体的特征信息来识别目标物体。其中,当一个原始图像中存在多个目标物体时,即可以通过各个目标物体所分别对应的特征信息,识别各个目标物体。
[0070]
作为本实施例一种可能实现的方式,所述针对每一个所述原始图像,获取所述原始图像中包含的目标物体的特征信息,包括:
[0071]
针对每一个原始图像,通过检测模型或边缘检测算法获得所述原始图像中包含的目标物体的特征信息。
[0072]
在本实施例中,终端中预先存储有预先训练好的检测模型。该检测模型是使用神经网络算法,可基于目标物体的图像样本训练集对初始检测模型训练得到。其中,初始检测模型是本申请提供一种在包括各类目标物体作为参考的情况下实现对目标物体的特征提取的神经网络模型。
[0073]
边缘检测算法用于描述对目标物体的在原始图像中的投影的边缘进行检测的逻辑过程。
[0074]
可以理解的是,检测模型可以由终端预先训练好,也可以由其他设备预先训练好后将检测模型对应的文件移植至终端中。也就是说,训练该检查模型的执行主体与使用该检测模型进行目标物体的特征检测的执行主体可以是相同的,也可以是不同的。例如,当采用其他设备训练初始检测模型时,其他设备对初始检测模型结束训练后,固定初始检测模型的模型参数,得到检测模型对应的文件。然后将该文件移植到终端中。
[0075]
终端在获取到至少两个原始图像后,利用检测模型对每一个原始图像进行处理,以确定是否可以提取到原始图像中的目标物体的特征信息,若提取到目标物体的特征信息,则确定原始图像中记录有目标物体的投影,并获取目标物体的投影所对应的特征信息。
[0076]
另外,通过边缘检测算法获得所述第二原始图像中的至少一个目标物体的图像区域,则获取每一图像区域所对应的特征信息。图像区域用于来描述目标物体在原始图像中的位置。可以理解的是,每个目标物体所对应的图像区域中会包含有该目标物体的特征。
[0077]
在一实施例中,针对每一个原始图像,为了快速地获得原始图像中的至少一个目标物体的图像区域,预先地获取原始图像中的各个特征点的分布情况,并根据各个特征点的分布情况获取到原始图像中存在的各个物体投影的图像区域的面积大小。进一步地,根据原始图像中存在的物体的图像区域的面积大小,确定面积大于预设面积的至少一个目标物体所对应的特征点初始分布区域,并对该至少一个目标物体所对应的特征点初始分布区域进行标记。进一步地,通过边缘检测算法对被标记的特征点初始分布区域进行边缘检测,以获得所述原始图像中的至少一个目标物体的图像区域。本实施例中,因无需通过边缘检查算法一一获取原始图像中存在的所有物体的图像区域,效率更高。
[0078]
在一实施例中,特征信息包括物体的大小。在通过检测模型获得所述原始图像的
目标物体的特征信息之后,根据目标物体的大小,确定原始图像中是否存在大小大于预设大小的目标物体,若存在大小大于预设大小的目标物体,则删除大小小于预设大小的目标物体的特征信息,以便于更好地确定机器人的位置。
[0079]
在一实施例中,所述特征信息包括所述目标物体的类别、纹理、形状、在图像中的区域范围、在图像中的位置和获取目标物体时所对应的角度中至少一种。
[0080]
s13:根据各个所述原始图像所分别包括的所述目标物体的特征信息,确定至少一个所述目标物体的位置。
[0081]
在步骤s13中,目标物体的位置用于描述目标物体在机器人的所处环境中的物理位置。
[0082]
在本实施例中,各个原始图像为从各个不同角度获取的图像。
[0083]
可以理解的是,因可以基于目标物体的特征信息区分各个目标物体,所以,针对一个目标物体,在根据各个原始图像所分别包括的目标物体的特征信息,先在每一个原始图像中识别体现该目标物体的特征信息,进而基于该特征信息确认同一目标物体在各个原始图像中的投影,基于目标物体在各个原始图像中的投影,从多个角度的原始图像中目标物体的投影,来确定目标物体所处的位置,机器人可以根据目标物体所处的位置执行避障动作。
[0084]
如图4所示,从a角度获取到的原始图像为a1,从b角度获取到的原始图像为b1。其中,a1图像中包括目标物体m在a1图像中的投影c,且形状为圆形,b1图像中包括目标物体m在b1图像中的投影d,且形状为圆形。故此,基于投影c和投影d,确定目标物体m的位置。
[0085]
作为本实施例的一种可能实现的方式,所述特征信息包括至少一个特征点的坐标;
[0086]
所述根据各个所述原始图像所分别包括的所述目标物体的特征信息,确定至少一个所述目标物体的位置,包括:
[0087]
s21:针对一个原始图像中的每一个目标物体,根据各个所述原始图像中所分别包含的所述目标物体的特征点的坐标,确定所述目标物体的坐标差值;
[0088]
s22:若确定所述坐标差值小于预设值,则根据各个所述原始图像中所分别包含的所述目标物体的特征点的坐标,确定所述目标物体的位置。
[0089]
在本实施例中,各个原始图像为从不同角度获取的包含目标物体的图像。可以理解的是,每一个目标物体的特征点在原始图像中具有一定的坐标,故可以通过目标物体的特征点的坐标来描述目标物体在原始图像中的位置。
[0090]
可以理解的是,坐标差值为两两原始图像中所分别包括的目标物体的特征点的坐标之间的差值。例如,第一图像中的目标物体a的特征点的坐标与第二图像中的目标物体a的特征点的坐标之间的差值。
[0091]
预设值用于描述针对一个目标物体,各个原始图像中所分别包括的目标物体为同一个目标物体时,各个原始图像中所分别包括的目标物体的特征点的坐标之间的最大坐标差值。
[0092]
另外,针对一个原始图像中的每一个目标物体,为了确定原始图像之间的物体是否为同一个物体,预先地获取各个原始图像中目标物体的特征点的坐标,以便于基于各个所述原始图像中所分别包含的所述目标物体的特征点的坐标,确定所述目标物体的坐标差
值。
[0093]
可以理解的是,用于获取图像的摄像设备的帧率相对较高,故相邻的两个原始图像中的物体可以看成连续运动,所以目标物体在各个原始图像中的坐标不会有太大位移,故当一个原始图像中的所述目标物体的特征点的坐标与另一个原始图像中的所述目标物体的特征点的坐标之间的差值小于预设值时,即表示该目标物体是相同的物体,以此类推,可以确定出其它多个原始图像中是否存在相同的目标物体。进而地,可以快速、准确地根据各个所述原始图像中所分别包含的所述目标物体的特征点的坐标,确定所述目标物体的位置。
[0094]
作为本实施例的一种可能实现方式,所述根据各个所述原始图像所分别包括的所述目标物体的特征信息,确定至少一个所述目标物体的位置,包括:
[0095]
s31:针对每一个目标物体,根据各个所述原始图像所分别包括的所述目标物体的特征信息,确定所述目标物体的初始位置;
[0096]
s32:确定所述目标物体的初始位置所对应的不确定度;
[0097]
s33:若所述不确定度小于预设阈值,则将所述目标物体的初始位置作为所述目标物体的位置。
[0098]
在本实施例中,不确定度为指的是在原始图像中提取目标物体的位置的时候,会有一定的误差,导致用于计算目标物体的位置的时候存在着相应的计算误差,这个误差的范围称之为不确定度。其中,可参考现有的相关计算不确定度的方式,计算得到初始位置所对应的不确定度。
[0099]
可以理解的是,当目标物体的初始位置所对应的不确定度大于预设阈值时,则将该初始位置存储至预设的存储空间,并在获取到该目标物体的新的初始位置时,将该存储在先的初始位置进行替换。
[0100]
s14:根据至少一个所述目标物体的位置,确定所述机器人的位置。
[0101]
在步骤s14中,机器人的位置用于描述机器人在物理环境中的参考位置。
[0102]
在一实施例中,在确定了至少一个目标物体的位置时,则标记物的位置。根据该至少一个目标物体的位置和标记物的位置,确定机器人的位置。其中,标记物为已有确定位置信息的其它物体。
[0103]
在一实施例中,存在一种可能的场景是,当机器人丢失所处的位置时,根据至少一个所述目标物体的位置,确定该至少一个目标物体在原始图像上的位置关系,基于位置关系向地面方向做投影,即可知道该至少一个目标物体之间的角度关系,并基于该角度关系与全局地图进行匹配,确定机器人的位置。
[0104]
在一实施例中,当确定至少一个目标物体的位置数量大于预设的数量时,生成局部地图,并在局部地图中标记机器人的位置,将该标记后的局部地图与全部地图进行匹配,以确定机器人的位置,从可以继续的基于全局地图进行行进导航。
[0105]
如图5所示,作为本实施例一种可能实现的方式,所述根据至少一个所述目标物体的位置,确定所述机器人的位置,包括:
[0106]
s41:针对每一个目标物体,获取目标设备对所述目标物体进行测量得到的距离信息,所述距离信息用于描述所述目标物体与所述机器人之间的距离;
[0107]
s42:根据所述距离信息所述目标物体的位置,得到所述目标物体的更新后的位
置;
[0108]
s43:根据至少一个所述目标物体所分别对应的更新后的位置,确定所述机器人的位置。
[0109]
在本实施例中,目标设备用于获取目标物体与机器人之间的距离的设备。其中,目标设备为可以设置于机器所处的物理环境中,并与机器人通信连接,也可以安装于机器人上,与机器人通信连接。例如,目标设备可以是配置在机器人上的激光雷达,其中,激光雷达用于向目标物体发射探测信号(激光束),并将接收的从目标物体反射回来信号(目标回波)与发射信号进行比较,并进行处理得到目标物体的运动参数,如目标物体与机器人的相距距离、方位,目标物体的高度、速度、姿态、形状等参数中的至少一种。
[0110]
可以理解的是,根据各个所述原始图像所分别包括的所述目标物体的特征信息,确定至少一个所述目标物体的位置,因对目标物体进行识别的算法可能存在一定的误差,导致确定的目标物体的位置与目标物体的实际位置存在一定偏差,使得目标物体与机器人之前的位置关系存在一定的偏差,故再次根据目标设备获取距离信息,以根据该距离信息对目标物体与机器人之间的位置关系进行修正,从而实现所述目标物体的物体进行修正,以进一步地减少对目标物体的位置进行确定时的误差,得到所述目标物体的新的位置。
[0111]
其中,在确定至少一个所述目标物体的位置后,利用目标设备对物理环境中的该至少一个目标物体一一地进行定位,以一一得到目标物体与所述机器人之间的距离,或是利用目标设备对物理环境中的多个目标物体进行定位,以得到该多个目标物体与所述机器人之间的距离,以根据得到的距离信息修正目标物体与机器人之间的位置关系,更好地确定各个目标物体之间的位置关系,以便于根据修正后的各个目标物体之间的位置关系和目标物体与机器人之间的位置关系,更好地确定机器人的位置。
[0112]
在一实施例中,若在确定至少一个所述目标物体的位置后,利用单目摄像机对物理环境中的目标物体进行测量,以得到机器人与目标物体之间的相对距离,则因该相对距离和机器人与目标物体之间的真实距离之间存在一个预设的比例关系,故机器人与目标物体之间的距离关系和各个目标物体之间的距离关系可以按预设比例增大或减小。
[0113]
如图6所示,作为本实施例一种可能实现的方式,所述根据至少一个所述目标物体的位置,确定所述机器人的位置,包括:
[0114]
s51:通过目标设备获取所述机器人在不同位置采集包含所述目标物体的原始图像的相对位移;
[0115]
s52:根据所述相对位移和所述目标物体的位置,得到所述目标物体的更新后的位置;
[0116]
s53:根据至少一个所述目标物体所分别对应的更新后的位置,确定所述机器人的位置。
[0117]
在本实施例中,目标设备用于获取机器人获取各个原始图像时的相对位移的设备。其中,目标设备为可以设置于机器所处的物理环境中,并与机器人通信连接,也可以安装于机器人上,与机器人通信连接。在一些实施例中,目标设备可以为测距传感器,可通过该测距传感器获取机器人获取各个原始图像时的相对位移。
[0118]
相对位移用于描述机器人获取相邻的两个原始图像时,机器人在物理环境中的位移距离。可以理解的是,当根据至少一个所述目标物体的位置,确定所述机器人的位置时,
因获取所述原始图像中包含的目标物体的特征信息时,所获取的目标物体的特征信息存在一定的误差,进而地导致根据各个所述原始图像所分别包括的所述目标物体的特征信息,确定得到的所述目标物体的位置也存在一定误差,故使得直接根据目标物体的位置确定机器人的位置时,所确定的机器人的位置存在一定的误差。所以,需要获取机器人的相对位移,以便于基于该相对位移和目标物体的位置,得到更新后的目标物体的位置,进一步地提高确定目标物体的位置的精度,从而精确地确定机器人的位置。
[0119]
示例的,通过摄像设备获取第一个包括目标物体的原始图像时,该时刻的机器人所在的位置与目标物体形成一定的角度,继续地通过摄像设备获取第二个包括目标物体的原始图像时,该时刻的机器人所在的位置又与目标物体形成一定的角度,故通过目标设备获取到该第一个原始图像和第二原始图像所对应的机器人的相对位移,便可以较好地确定目标物体的位置。
[0120]
作为本实施例一种可能实现的方式,所述特征信息包括至少一个特征点的坐标;
[0121]
所述根据各个所述原始图像所分别包括的所述目标物体的特征信息,确定至少一个所述目标物体的位置,包括:
[0122]
针对每一个目标物体,从所述至少两个原始图像中,确定包含所述目标物体的至少两个第一图像;
[0123]
根据各个第一图像中所分别包含的所述目标物体的特征点,从所述至少两个第一图像中,确定至少两个第二图像,其中,针对每一个第二图像,存在另一第二图像,所述另一第二图像与所述第二图像中存在所述目标物体的相同的特征点;
[0124]
根据各个第二图像中所分别包含的所述目标物体的特征点的坐标,确定所述目标物体的位置。
[0125]
在本实施例中,第一图像用于描述机器人所处的物理环境。可以理解的是,为了确定目标物体的位置,从所述至少两个原始图像中确定出的至少两个第一图像,该至少两个第一图像中记录有目标物体的特征点。其中,所确定的各个第一图像为在不同角度获取的包含目标物体的图像。
[0126]
特征点用于描述目标物体在第一图像中的位置。例如,在获取的第一图像中,目标物体所对应的投影是占据了那部分区域。
[0127]
第二图像用于描述目标物体。
[0128]
可以理解的是,根据各个第一图像中所分别包含的所述目标物体的特征点,从所述至少两个第一图像中,确定至少两个第二图像,即是在各个所分别包含的所述目标物体的特征点中,寻找到该目标物体相对应的特征点,并从每一个第一图像中确定出一个第二图像,所以,每一个第二图像,存在另一第二图像,所述另一第二图像与所述第二图像中存在所述目标物体的相同的特征点。进而地,根据各个第二图像中所分别包含的所述目标物体的特征点的坐标,确定所述目标物体的位置。具体地,根据各个第二图像中所分别包含的所述目标物体的特征点的坐标,通过三角关系处理,计算计算得到目标物体与机器人之间的距离,即得到目标物体的位置,从而利用该位置来确定机器人的位置。其中,三角关系处理的过程可具体地参见现有技术中的相关方案,在此不再赘述。
[0129]
在一实施例中,用于确定至少两个第二图像的至少两个第一图像是连续的不同时刻,从不同角度获取的图像。其中,获取第一图像时,可以是采用单目摄像机来获取。当第一
时刻获取到第一图像后,在第二时刻时,通过单目摄像机从另一角度获取到包含目标物体的第一图像。
[0130]
作为本实施例一种可能实现的方式,所述根据各个第一图像中所分别包含的所述目标物体的特征点,从所述至少两个第一图像中,确定至少两个第二图像,包括:
[0131]
针对每一个目标物体,获取各个第一图像中所分别包含的所述目标物体的特征点的坐标;
[0132]
根据各个第二图像中所分别包含的所述目标物体的特征点的坐标,确定出至少两个第二图像,其中,针对每一个第二图像,存在另一第二图像,所述另一第二图像中的所述目标物体的特征点的坐标与所述第二图像中的所述目标物体的特征点的坐标之间的差值小于预设值。
[0133]
在本实施例中,各个第一图像为从不同角度获取的包含目标物体的图像。可以理解的是,每一个目标物体的特征点在第一图像中具有一定的坐标,故可以通过目标物体的特征点的坐标来描述位置。
[0134]
另外,为了快速地确定第一图像中的第二图像,预先地获取目标物体的特征点的坐标,以便于基于各个第一图像所分别对应的第二图像中包含的目标物体的特征点的坐标,确定包含相同的目标物体的特征点的至少两个原始图像。可以理解的是,用于获取图像的相机的帧率相对较高,故相邻的两个第一图像之间运动是连续的,所以目标物体不会有太大位移,故当一个第一图像所对应的第二图像中的所述目标物体的特征点的坐标与另一个第一图像所对应的所述第二图像中的所述目标物体的特征点的坐标之间的差值小于预设值时,即表示该目标物体是相同的物体,以此类推,可以确定出多个第二图像。进而地,可以快速、准确地根据各个第二图像中所分别包含的所述目标物体的特征点的坐标,确定所述目标物体的位置。
[0135]
作为本实施例一种可能实现的方式,所述根据各个第二图像中所分别包含的所述目标物体的特征点的坐标,确定所述目标物体的位置,包括:
[0136]
根据各个第二图像中所分别包含的所述目标物体的特征点的坐标,确定所述目标物体的初始位置;
[0137]
在确定所述目标物体的初始位置之后,确定所述目标物体的初始位置所对应的不确定度;
[0138]
若所述不确定度小于预设阈值,则将所述目标物体的初始位置作为所述目标物体的位置。
[0139]
采用本申请提供的用于确定机器人位置的方法,预先地获取至少两个原始图像,以通过获取的原始图像了解机器人所处的环境情况和对应的目标物体的特征,并根据各个所述原始图像所分别包括的所述目标物体的特征信息,确定至少一个所述目标物体的位置,进一步地根据至少一个所述目标物体的位置,确定所述机器人的位置,从而实现精确地定位机器人的位置,提升获取机器人的定位信息的鲁棒性。
[0140]
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
[0141]
对应于上文实施例所述的用于确定机器人位置的方法,图7示出了本申请实施例
提供的用于确定机器人位置的装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
[0142]
参照图7,该装置100包括:
[0143]
第一获取模块101,用于获取至少两个原始图像;
[0144]
第二获取模块102,用于针对每一个所述原始图像,获取所述原始图像中包含的目标物体的特征信息;
[0145]
第一确定模块103,用于根据各个所述原始图像所分别包括的所述目标物体的特征信息,确定至少一个所述目标物体的位置;
[0146]
第二确定模块104,用于根据至少一个所述目标物体的位置,确定所述机器人的位置。
[0147]
可选的,第二获取模块102,还用于针对每一个原始图像,通过检测模型或边缘检测算法获得所述原始图像中包含的目标物体的特征信息。
[0148]
可选的,所述特征信息包括至少一个特征点的坐标。
[0149]
第一确定模块103,还用于针对一个原始图像中的每一个目标物体,根据各个所述原始图像中所分别包含的所述目标物体的特征点的坐标,确定所述目标物体的坐标差值;若确定所述坐标差值小于预设值,则根据各个所述原始图像中所分别包含的所述目标物体的特征点的坐标,确定所述目标物体的位置。
[0150]
可选的,第一确定模块103,还用于针对每一个目标物体,根据各个所述原始图像所分别包括的所述目标物体的特征信息,确定所述目标物体的初始位置;确定所述目标物体的初始位置所对应的不确定度;若所述不确定度小于预设阈值,则将所述目标物体的初始位置作为所述目标物体的位置。
[0151]
可选的,第二确定模块104,还用于针对每一个目标物体,获取目标设备测得的距离信息,所述距离信息用于描述所述目标物体与所述机器人之间的距离;根据所述距离信息和所述目标物体的位置,得到所述目标物体的更新后的位置;根据至少一个所述目标物体所分别对应的更新后的位置,确定所述机器人的位置。
[0152]
可选的,第二确定模块104,还用于通过目标设备获取所述机器人在不同位置采集包含所述目标物体的原始图像的相对位移;根据所述相对位移和所述目标物体的位置,得到所述目标物体的更新后的位置;根据至少一个所述目标物体所分别对应的更新后的位置,确定所述机器人的位置。
[0153]
图8为本申请一实施例提供的终端的结构示意图。如图8所示,该实施例的终端8包括:至少一个处理器80(图8中仅示出一个处理器)、存储器81以及存储在所述存储器81中并可在所述至少一个处理器80上运行的计算机程序82,所述处理器80执行所述计算机程序82时实现上述任意各个用于确定机器人位置的方法实施例中的步骤。
[0154]
所述终端8可以是移动机器人、桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。该终端可包括,但不仅限于,处理器80、存储器81。本领域技术人员可以理解,图8仅仅是终端8的举例,并不构成对终端8的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
[0155]
所述处理器80可以是中央处理单元(central processing unit,cpu),该处理器80还可以是其它通用处理器、数字信号处理器(digital signal processor,dsp)、专用集
成电路(application specific integrated circuit,asic)、现成可编程门阵列(field

programmable gate array,fpga)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0156]
所述存储器81在一些实施例中可以是所述终端8的内部存储单元,例如终端8的硬盘或内存。所述存储器81在另一些实施例中也可以是所述终端8的外部存储设备,例如所述终端8上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,所述存储器81还可以既包括所述终端8的内部存储单元也包括外部存储设备。所述存储器81用于存储操作系统、应用程序、引导装载程序(bootloader)、数据以及其它程序等,例如所述计算机程序的程序代码等。所述存储器81还可以用于暂时地存储已经输出或者将要输出的数据。
[0157]
需要说明的是,上述装置/模块之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
[0158]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0159]
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
[0160]
本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端上运行时,使得终端执行时实现可实现上述各个方法实施例中的步骤。
[0161]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到装置/终端的任何实体或装置、记录介质、计算机存储器、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质。例如u盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
[0162]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记
载的部分,可以参见其它实施例的相关描述。
[0163]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
[0164]
在本申请所提供的实施例中,应该理解到,所揭露的装置/终端和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口、装置或单元的间接耦合或通讯连接,可以是电性、机械或其它的形式。
[0165]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0166]
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1