机器人的定位方法和装置与流程

文档序号:18274093发布日期:2019-07-27 10:01阅读:239来源:国知局
机器人的定位方法和装置与流程

本发明涉及机器人领域,具体而言,涉及一种机器人的定位方法和装置。



背景技术:

仓储机器人一般只有一个高精度激光雷达用于扫描地图,获取数据运行slam算法,生成地图点云坐标。但是存在两个问题,第一个是丢失位置,仓库结构过于规律化,货架大小,货物包装都差不多,机器人有时候扫图会出现判断错误,导致位置丢失。第二个是机器人之间存在激光器的相互干涉问题。货架之间的宽度有限,一般可以并行两台机器人,这时不存在相互干涉问题。但是对于一个过道内出现一台同时扫描到对面两台机器人运行时,偶尔会出现一些干涉问题,位置丢失,造成停滞,从而堵塞。

目前,第一个问题有两种方法。一种是安装多线激光雷达,形成3d扫描,3dslam构图,另一种是重新安装摄像头运行vslam,进行位置识别。第二个问题,有两种方法,一种方法是激光器安装相对于水平有个小倾角,。第二种方法是从调度上优化处理,使得过道最多只有两辆小车。

但是,上述解决方法都有缺点:多线激光雷达太过昂贵,目前还不适合应用到多台机器调度的物流系统,而且对整个机器人系统的硬件性能要求高,需要更换更高配置的硬件。vslam虽然可以从根本上避免以上问题的出现,但是开发起来相当复杂,相当于重新进行开发,周期也很长。安装激光倾角的方法,使得激光直接扫描地面,地图边缘数据毛刺增加,提高地图数据滤波的难度。调度优化避免干涉的方法无形中增加了系统的负担,而且随着机器人规模的增加,降低了整个系统的效率。



技术实现要素:

本发明的主要目的在于提供一种机器人的定位方法和装置,以解决现有技术中机器人在运行过程中位置丢失的问题。

为了实现上述目的,根据本发明的一个方面,提供了机器人的定位方法。所述机器人设置有高分辨率激光雷达和低分辨率激光雷达,所述方法包括:机器人按照第一地图点云的坐标运动,在机器人丢失位置的情况下,获取第一地图点云中所述机器人当前位置的第一坐标,以及第二地图点云中所述机器人当前位置的第二坐标,其中,所述第一地图点云由所述高分辨率雷达扫描得到,所述第二地图点云由所述低分辨率雷达扫描得到;根据所述第二坐标和阈值矩阵得到所述机器人当前位置在所述第一地图点云的目标坐标;在所述第一坐标和所述目标坐标的误差在预定范围内时,则按照所述第一坐标进行运动。

为了实现上述目的,根据本发明的一个方面,提供了机器人的定位装置。所述机器人设置有高分辨率激光雷达和低分辨率激光雷达,所述装置包括:第一获取单元,用于在机器人按照第一地图点云的坐标运动时,在机器人丢失位置的情况下,获取第一地图点云中所述机器人当前位置的第一坐标,以及第二地图点云中所述机器人当前位置的第二坐标,其中,所述第一地图点云由所述高分辨率雷达扫描得到,所述第二地图点云由所述低分辨率雷达扫描得到;坐标单元,用于根据所述第二坐标和阈值矩阵得到所述机器人当前位置在所述第一地图点云的目标坐标;运动单元,用于在所述第一坐标和所述目标坐标的误差在预定范围内时,则按照所述第一坐标进行运动。

应用本发明的技术方案,在机器人的运行过程中,若遇到位置丢失问题,利用根据第二地图点云(低分辨率地图点云)的定位坐标(x2,y2),查询对应阈值矩阵a[x][y]的数据,反向计算机器人当前位置在第一地图点云中的坐标,得到目标坐标(x1',y1')。再比较第一地图点云中当前位置坐标(x1,y1)和目标坐标(x1',y1'),得出误差在低分辨率雷达定位误差范围内,判断第一地图点云(高分辨率地图点云)的定位坐标(x1,y1)有效,解决了现有技术中机器人在移动过程中丢失位置的技术问题,达到了移动中及时找回位置的技术效果。

除了上面所描述的目的、特征和优点之外,本发明还有其它的目的、特征和优点。下面将参照图,对本发明作进一步详细的说明。

附图说明

构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1示出了根据本发明的激光雷达安装位置的示意图;以及

图2示出了根据本发明实施例的机器人的定位方法的流程图。

具体实施方式

需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,以便这里描述的本发明的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。

本发明实施例公开了一种机器人的定位方法。该机器人的定位方法可以通过设置在机器人上的高分辨率激光雷达和低分辨率激光雷达进行定位,以克服机器人在仓库等容易出现定位错误的场景下位置丢失的问题。具体地,本实施例在考虑有限增加经济成本和cpu载荷的情况下,提出了在仓储运输机器人头部安装全向低分辨率激光雷达,底部前端安装高分辨率雷达(如图1所示),进行两个slam算法,得出两个地图定位点云进行差值比较得出特征值,从而解决位置丢失的问题,同时还可以解决机器人之间的干涉问题。

该机器人的定位方法包括:

s202,机器人按照第一地图点云的坐标运动,在机器人丢失位置的情况下,获取第一地图点云中所述机器人当前位置的第一坐标,以及第二地图点云中所述机器人当前位置的第二坐标,其中,所述第一地图点云由所述高分辨率雷达扫描得到,所述第二地图点云由所述低分辨率雷达扫描得到;

机器人在按照第一地图点云的坐标运动之前,机器人先构建地图。具体步骤包括,获取目标位置在所述第一地图点云的高分辨率位置坐标,以及所述目标位置在所述第二地图点云的低分辨率位置坐标;获取所述高分辨率位置坐标和所述低分辨率位置坐标之差的绝对值;在所述绝对值与阈值矩阵中所述目标位置的阈值坐标的差值满足预设条件时,确定所述第一地图点云的高分辨率位置坐标是准确的;在所述绝对值与阈值矩阵中所述目标位置的阈值坐标的差值不满足预设条件时,标记所述第一地图点云的高分辨率位置坐标。

例如,

s1,在仓储环境下,机器人使用高分辨率激光雷达扫描地图,高分辨率激光雷达将对货架下部进行扫描构图,并进行slam算法,得到高分辨率地图点云1,即第一地图点云。

s2,机器人使用低分辨率激光雷达扫描地图,低分辨率激光雷达将对货架上部进行扫描构图,并进行slam算法,得到低分辨率地图点云2,即第二点云地图。

s3,目标位置为a位置。a位置在第一地图点云中的坐标为(x1,y1),在第二地图点云中坐标为(x2,y2),计算两个点差值的绝对值(x3,y3)。

s4,用绝对值(x3,y3)和阈值矩阵中a位置的阈值坐标相比较,若满足预设条件,则认为第一地图点云中a位置的坐标是准确的,保留在第一地图点云中;若不满足预设条件,则认为第一地图点云中a位置的坐标可能是有偏差的,对其做标记,以便对该坐标校准。

在本实施例中,阈值矩阵可以是一个经验阈值的矩阵,可以是二维矩阵a[x][y],该阈值矩阵可以预先存储在rom中,需要时从rom中调取。从阈值矩阵中提去位置a所在区域的阈值点(x4,y4),比较绝对值(x3,y3)和阈值点(x4,y4),如果两者的差值小于等于阈值范围,则不处理数据,若超过阈值范围的,将(x1,y1)存入误差地图点云,即存入第三地图点云。也就是说,本实施例中,预设条件可以是绝对值(x3,y3)和阈值点(x4,y4)之间的差值小于等于阈值范围。

可选地,在标记所述第一地图点云的高分辨率位置坐标之后,所述方法还包括:将所述高分辨率位置坐标存入第三地图点云;对所述第三地图点云中所述高分辨率位置坐标进行校正;若校正成功,则利用校正成功的高分辨率位置坐标更新所述目标位置在所述第一地图点云中坐标;若校正失败,则调整所述第三地图点云中所述高分辨率位置坐标使其满足大于所述第一地图点云记载的目标位置的坐标和所述第三地图点云记载的目标位置的坐标的差值绝对值,并用调整后的高分辨率位置坐标更新所述目标位置在所述第一地图点云中坐标。

存入第三地图点云的数据是可能出现误差的数据,需要进行数据处理。在第一地图点云中标记的坐标,同时显示在可视化图形中。重新对第三地图点云中的坐标进行校正,校正的过程就是重复扫描在第一地图点云中标记的位置,重复执行上述s1-s4,对于重新扫描后符合上述预设条件的点,从第三地图点云中删除,并且更新第一地图点云中相应坐标。

为了减少校正过程持续循环进行的可能,可以限制重复执行s1-s4的次数,例如,2次、3次、4次。当限制次数为2次时,重复校正3次后第三地图点云中的坐标还是无法满足预设条件,则更改阈值矩阵a[x][y]中的阈值,使该阈值满足大于第三地图点云和第二地图点云的差值绝对值,用该第三地图点云坐标值更新第一地图点云中坐标后从第三地图点云中清除。在第三地图点云所有数据清除后,第一地图点云构建成功。

s204,根据所述第二坐标和阈值矩阵得到所述机器人当前位置在所述第一地图点云的目标坐标;

在机器人移动定位中,根据第一地图点云(高分辨率地图点云)的定位坐标(x1,y1)定位移动。遇到位置丢失的问题,根据第二地图点云(低分辨率地图点云)的定位坐标(x2,y2),查询对应阈值矩阵a[x][y]的数据,反向计算机器人当前位置在第一地图点云中的坐标,得到目标坐标(x1',y1')。

s206,在所述第一坐标和所述目标坐标的误差在预定范围内时,则按照所述第一坐标进行运动。

该预定范围可以是低分辨率雷达定位误差范围。比较第一地图点云中当前位置坐标(x1,y1)和目标坐标(x1',y1'),得出误差在低分辨率雷达定位误差范围内,判断第一地图点云(高分辨率地图点云)的定位坐标(x1,y1)有效。可以按照定位坐标(x1,y1)继续移动。如果超出低分辨率雷达定位误差范围,判断第一地图点云(高分辨率地图点云)的定位坐标(x1,y1)无效,上报调度系统定位失败。即,根据所述第二坐标和阈值矩阵得到所述机器人当前位置在所述第一地图点云的目标坐标包括:在所述第一坐标和所述目标坐标的误差超出预定范围内时,上报定位失败信息。

本实施例在机器人的运行过程中,若遇到位置丢失问题,利用根据第二地图点云(低分辨率地图点云)的定位坐标(x2,y2),查询对应阈值矩阵a[x][y]的数据,反向计算机器人当前位置在第一地图点云中的坐标,得到目标坐标(x1',y1')。再比较第一地图点云中当前位置坐标(x1,y1)和目标坐标(x1',y1'),得出误差在低分辨率雷达定位误差范围内,判断第一地图点云(高分辨率地图点云)的定位坐标(x1,y1)有效,解决了现有技术中机器人在移动过程中丢失位置的技术问题,达到了移动中及时找回位置的技术效果。

可选地,本技术方案还可以解决机器人之间的激光干涉问题。该方法包括:

在所述机器人按照第一地图点云的坐标运动时,若遇到激光干涉,则读取所述第二地图点云的后向180度的至少三个位置点进行定位;如果成功定位,则根据第二地图点云继续运动;如果无法定位,则后退一段距离,直到第一地图点云和第二地图点云在当前位置的差值阈值范围内,完成确认当前位置。

机器人实时扫描出现激光干涉,出现地图差值异常。这时读取第二地图点云(低分辨率地图点云)的后向180度三个位置点(x1,y1)(x2,y2)(x3,y3)进行判断定位(x,y)。如果该步骤可以判断目前位置(x,y),根据第二地图点云(低分辨率地图点云)的坐标继续当前任务。如果无法定位,需要向调度系统发送过道干扰报文。同时,后退一段距离,直到可以通过重新计算第一地图点云(高分辨率地图点云)和第二地图点云(低分辨率地图点云)的差值,差值在阈值范围内的话就可以确定目前位置(x,y),确定当前位置后,等待调度系统回复。

调度系统确定过道干涉问题后,分配调度等待位置,命令其他机器人退后至其他区域。重新命令当前机器人继续任务,等待当前机器人完成任务、到达指定位置后,调度系统安排其他机器人继续任务。

从以上的描述中,可以看出,本发明上述的实施例还包括以下优点:。

1.成本低。增加一个低分辨率全向6米激光雷达的价格便宜,系统新增的负担轻。

2.开发时间快。低分辨率雷达的平面slam的开发资源很多。

3.安装方便。只需要在机器头顶上安装固定就可以,但是要保证低分辨率雷达和高分辨雷达都扫到货架。

4.抗干涉效果好。由于安装位置的限制,高分辨率雷达往往体积大,功率高只能安装在机器人前端,可视角只有180度。而低端雷达体积小,功率低,可以直接安装在头部,360度全向扫描,可以使用后端辅助定位,不存在干扰问题。

5.调度负担低。调度只需要重新安排等待位置下发就可以了。

本发明实施例还提供了一种机器人的定位装置。所述装置包括:

第一获取单元,用于在机器人按照第一地图点云的坐标运动时,在机器人丢失位置的情况下,获取第一地图点云中所述机器人当前位置的第一坐标,以及第二地图点云中所述机器人当前位置的第二坐标,其中,所述第一地图点云由所述高分辨率雷达扫描得到,所述第二地图点云由所述低分辨率雷达扫描得到;

机器人在按照第一地图点云的坐标运动之前,机器人先构建地图。可选地,所述装置还包括:第二获取单元,用于在所述机器人按照第一地图点云的坐标运动之前,获取目标位置在所述第一地图点云的高分辨率位置坐标,以及所述目标位置在所述第二地图点云的低分辨率位置坐标;第三获取单元,用于获取所述高分辨率位置坐标和所述低分辨率位置坐标之差的绝对值;确定单元,用于在所述绝对值与阈值矩阵中所述目标位置的阈值坐标的差值满足预设条件时,确定所述第一地图点云的高分辨率位置坐标是准确的;标记单元,用于在所述绝对值与阈值矩阵中所述目标位置的阈值坐标的差值不满足预设条件时,标记所述第一地图点云的高分辨率位置坐标。

例如,

s1,在仓储环境下,机器人使用高分辨率激光雷达扫描地图,高分辨率激光雷达将对货架下部进行扫描构图,并进行slam算法,得到高分辨率地图点云1,即第一地图点云。

s2,机器人使用低分辨率激光雷达扫描地图,低分辨率激光雷达将对货架上部进行扫描构图,并进行slam算法,得到低分辨率地图点云2,即第二点云地图。

s3,目标位置为a位置。a位置在第一地图点云中的坐标为(x1,y1),在第二地图点云中坐标为(x2,y2),计算两个点差值的绝对值(x3,y3)。

s4,用绝对值(x3,y3)和阈值矩阵中a位置的阈值坐标相比较,若满足预设条件,则认为第一地图点云中a位置的坐标是准确的,保留在第一地图点云中;若不满足预设条件,则认为第一地图点云中a位置的坐标可能是有偏差的,对其做标记,以便对该坐标校准。

在本实施例中,阈值矩阵可以是一个经验阈值的矩阵,可以是二维矩阵a[x][y],该阈值矩阵可以预先存储在rom中,需要时从rom中调取。从阈值矩阵中提去位置a所在区域的阈值点(x4,y4),比较绝对值(x3,y3)和阈值点(x4,y4),如果两者的差值小于等于阈值范围,则不处理数据,若超过阈值范围的,将(x1,y1)存入误差地图点云,即存入第三地图点云。也就是说,本实施例中,预设条件可以是绝对值(x3,y3)和阈值点(x4,y4)之间的差值小于等于阈值范围。

可选地,所述装置还包括:存储单元,用于在标记所述第一地图点云的高分辨率位置坐标之后,将所述高分辨率位置坐标存入第三地图点云;校正单元,用于对所述第三地图点云中所述高分辨率位置坐标进行校正;若校正成功,则利用校正成功的高分辨率位置坐标更新所述目标位置在所述第一地图点云中坐标;若校正失败,调整阈值矩阵中的对应值,使得对应值大于第三地图点云与第二地图点云的差值绝对值,并用调整后的高分辨率位置坐标更新所述目标位置在所述第一地图点云中坐标。

存入第三地图点云的数据是可能出现误差的数据,需要进行数据处理。在第一地图点云中标记的坐标,同时显示在可视化图形中。重新对第三地图点云中的坐标进行校正,校正的过程就是重复扫描在第一地图点云中标记的位置,重复执行上述s1-s4,对于重新扫描后符合上述预设条件的点,从第三地图点云中删除,并且更新第一地图点云中相应坐标。

为了减少校正过程持续循环进行的可能,可以限制重复执行s1-s4的次数,例如,2次、3次、4次。当限制次数为2次时,重复校正3次后第三地图点云中的坐标还是无法满足预设条件,则更改阈值矩阵a[x][y]中的阈值,使该阈值满足大于第三地图点云和第二地图点云的差值绝对值,用该第三地图点云坐标值更新第一地图点云中坐标后从第三地图点云中清除。在第三地图点云所有数据清除后,第一地图点云构建成功。

坐标单元,用于根据所述第二坐标和阈值矩阵得到所述机器人当前位置在所述第一地图点云的目标坐标;

在机器人移动定位中,根据第一地图点云(高分辨率地图点云)的定位坐标(x1,y1)定位移动。遇到位置丢失的问题,根据第二地图点云(低分辨率地图点云)的定位坐标(x2,y2),查询对应阈值矩阵a[x][y]的数据,反向计算机器人当前位置在第一地图点云中的坐标,得到目标坐标(x1',y1')。

运动单元,用于在所述第一坐标和所述目标坐标的误差在预定范围内时,则按照所述第一坐标进行运动。该预定范围可以是低分辨率雷达定位误差范围。比较第一地图点云中当前位置坐标(x1,y1)和目标坐标(x1',y1'),得出误差在低分辨率雷达定位误差范围内,判断第一地图点云(高分辨率地图点云)的定位坐标(x1,y1)有效。可以按照定位坐标(x1,y1)继续移动。如果超出低分辨率雷达定位误差范围,判断第一地图点云(高分辨率地图点云)的定位坐标(x1,y1)无效,上报调度系统定位失败。即,所述坐标单元包括:上报模块,用于在所述第一坐标和所述目标坐标的误差超出预定范围内时,上报定位失败信息。

本实施例在机器人的运行过程中,若遇到位置丢失问题,利用根据第二地图点云(低分辨率地图点云)的定位坐标(x2,y2),查询对应阈值矩阵a[x][y]的数据,反向计算机器人当前位置在第一地图点云中的坐标,得到目标坐标(x1',y1')。再比较第一地图点云中当前位置坐标(x1,y1)和目标坐标(x1',y1'),得出误差在低分辨率雷达定位误差范围内,判断第一地图点云(高分辨率地图点云)的定位坐标(x1,y1)有效,解决了现有技术中机器人在移动过程中丢失位置的技术问题,达到了移动中及时找回位置的技术效果。

可选地,本技术方案还可以解决机器人之间的激光干涉问题。该装置还包括:读取单元,用于在所述机器人按照第一地图点云的坐标运动时,若遇到激光干涉,则读取所述第二地图点云的后向180度的至少三个位置点进行定位;干涉控制单元,如果成功定位,则根据第二地图点云继续运动;如果无法定位,则后退一段距离,直到第一地图点云和第二地图点云在当前位置的差值阈值范围内,完成确认当前位置。

机器人实时扫描出现激光干涉,出现地图差值异常。这时读取第二地图点云(低分辨率地图点云)的后向180度三个位置点(x1,y1)(x2,y2)(x3,y3)进行判断定位(x,y)。如果该步骤可以判断目前位置(x,y),根据第二地图点云(低分辨率地图点云)的坐标继续当前任务。如果无法定位,需要向调度系统发送过道干扰报文。同时,后退一段距离,直到可以通过重新计算第一地图点云(高分辨率地图点云)和第二地图点云(低分辨率地图点云)的差值,差值在阈值范围内的话就可以确定目前位置(x,y),确定当前位置后,等待调度系统回复。

调度系统确定过道干涉问题后,分配调度等待位置,命令其他机器人退后至其他区域。重新命令当前机器人继续任务,等待当前机器人完成任务、到达指定位置后,调度系统安排其他机器人继续任务。

除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

为了便于描述,在这里可以使用空间相对术语,如“在……之上”、“在……上方”、“在……上表面”、“上面的”等,用来描述如在图中所示的一个器件或特征与其他器件或特征的空间位置关系。应当理解的是,空间相对术语旨在包含除了器件在图中所描述的方位之外的在使用或操作中的不同方位。例如,如果附图中的器件被倒置,则描述为“在其他器件或构造上方”或“在其他器件或构造之上”的器件之后将被定位为“在其他器件或构造下方”或“在其他器件或构造之下”。因而,示例性术语“在……上方”可以包括“在……上方”和“在……下方”两种方位。该器件也可以其他不同方式定位(旋转90度或处于其他方位),并且对这里所使用的空间相对描述作出相应解释。

在本发明的描述中,需要理解的是,方位词如“前、后、上、下、左、右”、“横向、竖向、垂直、水平”和“顶、底”等所指示的方位或位置关系通常是基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,在未作相反说明的情况下,这些方位词并不指示和暗示所指的装置或元件必须具有特定的方位或者以特定的方位构造和操作,因此不能理解为对本发明保护范围的限制;方位词“内、外”是指相对于各部件本身的轮廓的内外。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1