机器人、建图定位方法及存储介质与流程

文档序号:32743056发布日期:2022-12-30 20:16阅读:33来源:国知局
机器人、建图定位方法及存储介质与流程

1.本发明涉及机器人技术领域,具体涉及一种机器人、建图定位方法及存储介质。


背景技术:

2.目前,随着人口老龄化加剧,机器人技术的出现,解决了人类劳动力短缺的难题。机器人能进行复杂工作的前提,是其能时时刻刻感知到其所处的空间位置。目前机器人定位最好的方式,是使用机器人自身配备的相机构建出先验地图后,机器人通过其自身所配备的传感器,与先验地图进行对比,计算得到机器人在地图中的位置。因此构建高精准确的地图是机器人进行其他复杂工作的重中之重。然而在实际室内环境中,由于光照变化,低纹理,动态物体,以及重复纹理的影响,先验地图的构建工作变得复杂。目前用于机器人定位的先验地图,需要对环境进行改造,在环境中贴二维码,或者,使用环境中的纹理特征,利用环境中的特征点进行语义地图构建(由于纹理充分表现了图像内所包含物体的表面结构特征,因而纹理特征已成为特征提取的一个重要方面),而使用环境中纹理特征这种方式构建出地图的质量,受限于环境的纹理丰富程度。


技术实现要素:

3.鉴于上述问题,本发明实施例提供了一种机器人、建图定位方法及存储介质,用于解决现有技术中存在的建图质量不高的问题。
4.根据本发明实施例的一个方面,提供了一种机器人,所述机器人包括存储器和处理器,所述存储器内存储有可在所述处理器上运行的计算机可读指令,所述机器人搭载有多目相机,所述处理器用于调用并执行所述计算机可读指令时实现如下步骤:
5.对机器人在一个巡航周期内的运动数据进行采集,得到n组基础数据,其中,每组所述基础数据为同一时间点的数据,包括瞬时角速度、瞬时线速度、第一图像和第二图像,所述第一图像基于所述多目相机的左相机拍摄得到,所述第二图像基于所述多目相机的右相机拍摄得到;
6.基于每组基础数据中的所述瞬时角速度和所述瞬时线速度,确定所述机器人的实时位姿;
7.采用每个所述第一图像,构建第一图像集合,根据每个第二图像,构建第二图像集合,并采用所述第一图像集合和所述第二图像集合中的图像进行特征提取匹配,得到基础匹配特征;
8.根据所述基础匹配特征以及所述实时位姿,确定所述机器人每个时刻的实时空间位置,作为位置信息;
9.通过每个时刻的所述位置信息和该时刻对应的第一图像、第二图像,构建定位地图。
10.可选地,所述基于每组基础数据中的所述瞬时角速度和所述瞬时线速度,确定所述机器人的实时位姿包括:
11.基于所述瞬时角速度,计算预设时间t内的平均角速度;
12.针对巡航周期t内的任一时刻,采用所述平均角速度、所述瞬时角速度和所述瞬时线速度,计算得到所述机器人的实时位姿。
13.可选地,基于采用所述第一图像集合和所述第二图像集合中的图像进行特征提取匹配,得到基础匹配特征包括:
14.分别针对所述第一图像集合和所述第二图像集合,对同一集合内采集时刻相邻的两帧图像进行特征匹配,得到第一匹配特征,并对同一集合内第一时刻的图像和最后一个时刻的图像进行特征匹配,得到第二匹配特征;
15.将所述第一匹配特征和所述第二匹配特征,作为所述基础匹配特征。
16.可选地,所述根据所述基础匹配特征以及所述实时位姿,确定所述机器人每个时刻的实时空间位置,作为位置信息包括:
17.根据所述第一匹配特征和第一匹配特征对应的图像,确定第一位姿;
18.根据所述第二匹配特征和第二匹配特征对应的第一时刻的图像和最后一个时刻的图像,确定第二位姿和第三位姿;
19.基于所述第一位姿、所述第二位姿和所述第三位姿,采用三角化技术,计算得到所述第一匹配特征对应时刻的实时空间位置,作为所述第一匹配特征对应的位置信息。
20.可选地,所述根据所述基础匹配特征以及所述实时位姿,确定所述机器人每个时刻的实时空间位置,作为位置信息包括:
21.使用位姿图优化的方式对所述机器人的实时位姿进行优化,得到优化位姿;
22.根据所述第一匹配特征、所述第二匹配特征以及所述优化位姿,确定所述机器人的实时空间位置。
23.可选地,所述使用位姿图优化的方式对所述机器人的位姿进行优化,得到优化位姿包括:
24.采用优化方程如下:
[0025][0026]
式中,log表示从矩阵到向量的对数映射,ti表示第i时刻的位姿。
[0027]
可选地,所述左相机和所述右相机在机器人上对称安装,且所述左相机和所述右相机均斜向上30
°

[0028]
可选地,所述通过每个时刻的所述位置信息和该时刻对应的第一图像、第二图像,构建定位地图包括:
[0029]
通过lm算法,对所述位置信息进行最小化重投影,得到优化后的位置信息;
[0030]
采用所述优化后的位置信息与该时刻对应的第一图像、第二图像,构建定位地图,并将所述第一图像、所述第二图像存入到所述定位地图对应的数据库中。
[0031]
根据本发明实施例的另一方面,提供了一种建图定位方法,包括:
[0032]
对机器人在一个巡航周期t内的运动数据进行采集,得到n组基础数据,其中,每组所述基础数据为同一时间点的数据,包括瞬时角速度、瞬时线速度、第一图像和第二图像,所述第一图像基于所述机器人左相机拍摄得到,所述第二图像基于所述机器人右相机拍摄
得到;
[0033]
基于每组基础数据中的所述瞬时角速度和所述瞬时线速度,确定所述机器人的实时位姿;
[0034]
采用每个所述第一图像,构建第一图像集合,根据每个第二图像,构建第二图像集合,并采用所述第一图像集合和所述第二图像集合中的图像进行特征提取匹配,得到基础匹配特征;
[0035]
根据所述基础匹配特征以及所述实时位姿,确定所述机器人每个时刻的实时空间位置,作为位置信息;
[0036]
通过每个时刻的所述位置信息和该时刻对应的第一图像、第二图像,构建定位地图。
[0037]
根据本发明实施例的另一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现上述建图定位方法所实现的步骤。
[0038]
本发明实施例通过对机器人在一个巡航周期t内的运动数据进行采集,得到n组基础数据,基于每组基础数据中的瞬时角速度和瞬时线速度,确定机器人的实时位姿;采用每个第一图像,构建第一图像集合,根据每个第二图像,构建第二图像集合,并采用第一图像集合和第二图像集合中的图像进行特征提取匹配,得到基础匹配特征;根据基础匹配特征以及实时位姿,确定机器人每个时刻的实时空间位置,作为位置信息;通过每个时刻的位置信息和该时刻对应的第一图像、第二图像,构建定位地图,实现多个图像进行参考定位,对运动中的数据和图像进行特征匹配和定位,使得对于复杂场景和动态物体情况下,有效提升定位的准确性,有利于提高建图质量。
[0039]
上述说明仅是本发明实施例技术方案的概述,为了能够更清楚了解本发明实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本发明实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
[0040]
附图仅用于示出实施方式,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0041]
图1显示出了本发明实施例提供的机器人进行建图定位的流程示意图;
[0042]
图2显示出了本发明实施例提供的机器人进行建图定位的另一流程示意图;
[0043]
图3显示出了本发明实施例提供的机器人进行建图定位的另一流程示意图;
[0044]
图4显示出了本发明实施例提供的机器人进行建图定位的另一流程示意图。
具体实施方式
[0045]
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。
[0046]
图1示出了本发明机器人进行建图定位的实施例的流程图,该方法包括以下步骤:
[0047]
s100,对机器人在一个巡航周期t内的运动数据进行采集,得到n组基础数据,其中,每组基础数据为同一时间点的数据,包括瞬时角速度、瞬时线速度、第一图像和第二图
像,第一图像基于多目相机的左相机拍摄得到,第二图像基于多目相机的右相机的相机拍摄得到;
[0048]
其中,瞬时角速度根据惯性传感器采集得到,瞬时线速度根据里程计采集得到。
[0049]
其中,n根据实际应用需要(场景复杂程度、面积等)进行设定,此处不作具体限定,例如,n设置为100。
[0050]
其中,该多目相机至少为双目相机。
[0051]
s200,基于每组基础数据中的瞬时角速度和瞬时线速度,确定机器人的实时位姿;
[0052]
具体地,通过对瞬时角速度和瞬时线速度进行积分,将积分结果作为当前时刻机器人的实时位姿。
[0053]
可选地,步骤s200中,如图2所示,基于每组基础数据中的瞬时角速度和瞬时线速度,确定机器人的实时位姿包括:
[0054]
基于瞬时角速度,计算预设时间t内的平均角速度;
[0055]
针对巡航周期t内的任一时刻,采用平均角速度、瞬时角速度和瞬时线速度,计算得到机器人的实时位姿。
[0056]
其中,预设时间t可根据实际应用需要进行设定,t
≤t。
[0057]
s300,采用每个第一图像,构建第一图像集合,根据每个第二图像,构建第二图像集合,并采用第一图像集合和第二图像集合中的图像进行特征提取匹配,得到基础匹配特征;
[0058]
s400,根据基础匹配特征以及实时位姿,确定机器人每个时刻的实时空间位置,作为位置信息;
[0059]
进一步地,根据基础匹配特征以及实时位姿,确定机器人每个时刻的实时空间位置,作为位置信息包括:
[0060]
根据第一匹配特征和第一匹配特征对应的图像,确定第一位姿;
[0061]
根据第二匹配特征和第二匹配特征对应的第一时刻的图像和最后一个时刻的图像,确定第二位姿和第三位姿;
[0062]
基于第一位姿、第二位姿和第三位姿,采用三角化技术,计算得到第一匹配特征对应时刻的实时空间位置,作为第一匹配特征对应的位置信息。
[0063]
具体地,第一匹配特征对应的图像为时刻相邻的两帧图像的第一帧图像,根据第一匹配特征和该第一帧图像,确定第一帧图像对应的实时位姿,作为第一位姿,第二匹配特征对应的第一时刻的图像即起始时刻的图像,第二匹配特征对应的最后一个时刻的图像,即为终止时刻的图像,根据第二匹配特征和第二匹配特征对应的第一时刻的图像和最后一个时刻的图像,确定第二位姿和第三位姿,进而根据第一位姿、第二位姿和第三位姿,采用三角化技术,计算得到第一位姿对应时刻的实时空间位置,作为第一匹配特征对应的位置信息。
[0064]
其中,位姿包括姿态和位置两部分变量构成,三角化技术包括但不限于线性三角化、重投影误差三角化和基于极线搜索和块匹配技术的深度滤波器等。
[0065]
s500,通过每个时刻的位置信息和该时刻对应的第一图像、第二图像,构建定位地图。
[0066]
本发明实施例通过对机器人在一个巡航周期t内的运动数据进行采集,得到n组基
础数据,基于每组基础数据中的瞬时角速度和瞬时线速度,确定机器人的实时位姿;采用每个第一图像,构建第一图像集合,根据每个第二图像,构建第二图像集合,并采用第一图像集合和第二图像集合中的图像进行特征提取匹配,得到基础匹配特征;根据基础匹配特征以及实时位姿,确定机器人每个时刻的实时空间位置,作为位置信息;通过每个时刻的位置信息和该时刻对应的第一图像、第二图像,构建定位地图,实现运动中的数据和图像进行特征匹配和定位,有效的提升了在低纹理、重复纹理、动态物体下建图的质量,提高定位建图的精准性。
[0067]
应理解,本实施例采用两个相机,目的是获取视角范围更广的图像,在采用一个相机或者两个以上相机时,也可实现上述方案,不应理解为对上述方案的限制。
[0068]
在一种可选的方式中,所述机器人上还安装有一个惯性传感器,惯性传感器一般简写为i mu(i nert ia l measurement unit),步骤s100中,平均值av计算的是惯性传感器的角速度在时间t的平均值,利用轮式里程计的线速度数据和惯性传感器的角速度数据的积分结果作为机器人的位姿。综合相机、惯性传感器、轮式里程计计算到的结果会更加准确,并且在惯性传感器出现故障时,还能继续使用相机和轮式里程计的数据按照前段描述的方案进行计算。
[0069]
在一种可选的方式中,所述机器人的位姿包括位置和姿态,根据惯性传感器和轮式里程计采集的数据,计算机器人的位姿,有很多种计算方式,本发明中进一步地,通过如下公式计算:
[0070][0071]
式中,ri表示第i时刻机器人的姿态,wi表示第i时刻惯性传感器陀螺仪输出的角速度,pi表示第i时刻机器人的位置,vi表示第i时刻轮式里程计输出的速度,ti表示第i时间的时间;将积分出的位置pi、姿态ri以及时间ti保存得到机器人的位姿,av为瞬时角速度在一个巡航周期t内的平均值。通过对时间的积分,可以方便、快速的计算出机器人的位姿。
[0072]
在一种可选的方式中,将左右相机采集的图像分别记作第一图像l eft_images和第二图像r ight_images,得到左侧相机采集到的图像集合第一图像集合和右侧相机采集到的图像集合第二图像集合。如图3所示,分别针对第一图像集合和第二图像集合,对同一集合内采集时刻相邻的两帧图像进行特征匹配,得到第一匹配特征,并对同一集合内第一时刻的图像和最后一个时刻的图像进行特征匹配,得到第二匹配特征;将第一匹配特征和所述第二匹配特征,作为所述基础匹配特征。
[0073]
具体地,分别提取第一图像集合和第二图像集合中每个图像的orb特征点,并针对同一个图像集合,对相邻两个图像上进行orb特征点的特征匹配获得图像之间的第一匹配特征,并对同一集合内第一个图像和最后一个图像进行特征匹配获得图像之间的第二匹配特征,将得到的第一匹配特征和第二匹配特征,作为基础匹配特征。
[0074]
在一种可选的方式中,如图4所示,步骤s400中,根据基础匹配特征以及所述实时位姿,确定所述机器人每个时刻的实时空间位置,作为位置信息包括:
[0075]
s410、使用位姿图优化的方式对机器人的位姿进行优化,得到优化位姿;
[0076]
s420、根据第一匹配特征、第二匹配特征以及优化位姿,确定机器人的实时空间位置。
[0077]
优选地,本实施例采用posegraph作为位姿图。
[0078]
采用位姿图优化的方式对机器人的位姿进行优化,得到优化所用的优化方程如下:
[0079][0080]
式中,log表示从矩阵到向量的对数映射,ti表示第i时刻的位姿。
[0081]
在一种可选的方式中,两个相机在机器人上对称安装,且两个相机斜向上20
°
~40
°
,优选地,该角度为30
°
,需要说明的是,本实施例采用这种优选方式,使得视角范围最大化,有利于提高拍摄的图像质量。
[0082]
在一种可选的方式中,所述的时间t大于等于5秒,优选地,该时间t等于10秒。
[0083]
根据本发明实施例的另一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现前面任意一项所述的步骤。
[0084]
在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0085]
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0086]
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
[0087]
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0088]
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所
包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0089]
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1