一种机器人互相检测方法及装置与流程

文档序号:11100553阅读:571来源:国知局
一种机器人互相检测方法及装置与制造工艺

本发明涉及机器人领域,具体涉及一种机器人互相检测方法及装置。



背景技术:

室内机器人在导航时,需要实时地对周围环境进行检测。目前室内的移动机器人使用的传感器主要有两类:一种是RGB深度(Red Green Blue Depth,RGB-D)摄像头或者双目相机,另一种是激光雷达。由于RGB-D摄像头是通过图像信息或者点云信息作为原始数据进行障碍检测,造成其运算数据量较大,并且,其结果容易受到室内光线的影响,鲁棒性较差。而激光雷达相较于RGB-D摄像头,具有数据准确,不受环境光照影响,数据量较小等特点,因而被广泛的应用在室内机器人上,作为室内机器人的“眼睛”。因为多线激光雷达的成本较高,目前普遍采用的是单线激光雷达。安装有激光雷达的机器人,其外壳必须镂空,才能让激光雷达的射线发射出去以检测环境中的障碍物,因而当有多个机器人在室内的同一楼层中运行时,一个机器人只能看到其它机器人的雷达,而无法看到其它机器人的整体轮廓。但是雷达的物理尺寸相对于机器人的整体轮廓来说还是太小了,这造成了机器人互相之间无法进行准确的位置检测,影响到机器人在室内的运行。



技术实现要素:

本发明实施例提供一种机器人互相检测方法及装置,旨在当建筑物内运作有多个单线激光雷达机器人时,机器人之间能够准确的进行位置检测。

本发明实施例的第一方面,提供一种机器人互相检测方法,所述机器人互相检测方法包括:

第一机器人获取第二机器人在全局地图下的中心坐标;

获取所述第二机器人的轮廓信息;

根据所述第二机器人的轮廓信息及所述第二机器人在全局地图下的中心坐标,计算得到所述第二机器人在全局地图下的轮廓坐标;

将所述第二机器人在全局地图下的轮廓坐标转换为在第一局部地图下的轮廓坐标,其中,所述第一局部地图为所述第一机器人的局部地图;

在所述第一局部地图下,根据所述第二机器人在第一局部地图下的轮廓坐标,标记所述第二机器人。

本发明实施例的第二方面,提供一种机器人互相检测装置,所述机器人互相检测装置包括:

中心坐标获取单元,用于获取第二机器人在全局地图下的中心坐标;

轮廓信息获取单元,用于获取所述第二机器人的轮廓信息;

轮廓坐标计算单元,用于根据所述轮廓信息获取单元获取到的第二机器人的轮廓信息及所述中心坐标获取单元获取到的第二机器人在全局地图下的中心坐标,计算得到所述第二机器人在全局地图下的轮廓坐标;

轮廓坐标转换单元,用于将所述轮廓坐标计算单元计算得到的第二机器人在全局地图下的轮廓坐标转换为在第一局部地图下的轮廓坐标,其中,所述第一局部地图为所述第一机器人的局部地图;

第二机器人标记单元,用于在所述第一局部地图下,根据所述轮廓坐标转换单元获得的第二机器人在第一局部地图下的轮廓坐标,标记所述第二机器人。

由上可见,在本发明实施例中,首先由第一机器人获取第二机器人在全局地图下的中心坐标,并随后获取所述第二机器人的轮廓信息,然后根据所述第二机器人的轮廓信息及所述第二机器人在全局地图下的中心坐标,计算得到所述第二机器人在全局地图下的轮廓坐标,将所述第二机器人在在全局地图下的轮廓坐标转换为在第一局部地图下的轮廓坐标,其中,所述第一局部地图为所述第一机器人的局部地图,最后在所述第一局部地图下,根据所述第二机器人在第一局部地图下的轮廓坐标,标记所述第二机器人。本发明实施例使得单线激光雷达机器人能够快速获知其它机器人的位置,避免因位置检测不及时而影响到机器人的运行。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的机器人互相检测方法的实现流程图;

图2为本发明实施例提供的机器人互相检测装置的结构框图。

具体实施方式

为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

以下结合具体实施例对本发明的实现进行详细描述:

实施例一

图1示出了本发明实施例一提供的机器人互相检测方法的实现流程,详述如下:

在步骤S101中,第一机器人获取第二机器人在全局地图下的中心坐标。

在本发明实施例中,为了更好的说明本发明实施例的方案,首先对第一机器人及第二机器人作简单介绍。在同一建筑物中的所有机器人中,选定其中任意一个,作为本发明实施例中的第一机器人,并利用本发明实施例方案检测其它机器人位置。由于本发明提供的是一种机器人互相检测方法,因而除了上述第一机器人之外的其它所有机器人,都可以作为第二机器人。实际上,由于任一机器人都可以使用本发明实施例的方案检测其它机器人,因而,上述第一机器人及第二机器人可以根据实际情况选定,此处不作限定。

上述第一机器人可以获取上述第二机器人在全局地图下的中心坐标。针对室内机器人的导航,为了其安全性,通常会在机器人正式开始运作之前,运用即时定位与地图构建技术(Simultaneous Localization And Mapping,SLAM)构建室内环境地图,作为机器人的全局地图。虽然通过SLAM技术构建的先验地图由于人类活动等动态不确定因素,会导致与机器人实际运行时的地图存在些许差别,但它仍能基本反映出机器人所处的环境。对于全局地图,现有的主流方法为使用栅格地图来表示。栅格地图即为用一个个栅格来表示环境地图,其坐标轴单位为行或列。当环境中某处有障碍物时,栅格地图的对应位置也会被设置为障碍,当环境中某处不存在障碍物时,其在栅格地图的对应位置会被设置为空闲。利用SLAM技术构建的全局地图可以让机器人了解到自身所处环境的大概状况,初步确定运行轨迹。进一步地,此时获取到的第二机器人的坐标位置,为第二机器人的中心位置,而并非第二机器人的轮廓位置。可以认为,由于机器人可以具有不同的外部形状,因而获取到的第二机器人的中心坐标并不能真实反映该机器人在环境中实际占有的空间,因而,需要对获取到的中心坐标位置作进一步处理。

具体地,上述第一机器人可以与上述第二机器人建立蓝牙连接,然后由上述第一机器人的上位机通过蓝牙获取上述第二机器人在世界坐标系下的中心坐标,并根据上述全局地图中保存的与上述世界坐标系的关系,将上述第二机器人在世界坐标系下的中心坐标转换为上述第二机器人在全局地图下的中心坐标。其中,世界坐标系为物理坐标系,其坐标轴单位为米。机器人在初始启动后利用SLAM技术构建全局地图时在运行区域内行走的初始位置即为世界坐标系。在利用SLAM技术构建全局地图完毕后,上述全局地图中保存了其与上述世界坐标系之间的关系。通过上述全局地图与上述世界坐标系之间的关系,就可以将上述全局地图下的坐标与世界坐标系下的坐标进行转换。而在每个机器人运行时,机器人都可以通过自身的定位系统实时获知当前时刻自己在世界坐标系下的坐标,因此,上述第一机器人获取到的第二机器人的中心坐标实际上为上述第二机器人在世界坐标系下的中心坐标。在获取到了上述第二机器人在世界坐标系下的中心坐标后,上述第一机器人再根据全局地图中保存的与上述世界坐标系之间的关系,得到上述第二机器人在全局地图下的中心坐标。

在步骤S102中,获取上述第二机器人的轮廓信息。

在本发明实施例中,上述第一机器人可以继续获取上述第二机器人的轮廓信息。由于不同机器人可以具有不同的外部形状,因而,此处需要获取与第二机器人相对应的轮廓信息。其中,上述第二机器人相对应的轮廓信息可以与上述第二机器人的中心点相关联。

可选地,由于每个机器人都具备唯一的ID号,为了快速获取上述第二机器人的轮廓信息,可以在步骤S102之前,首先获取上述第二机器人的ID,并根据上述第二机器人的ID,确定上述第二机器人的型号。其中,由于每个机器人的ID唯一,因而可以根据获取到的第二机器人的ID快速获知第二机器人的型号。在获取到了上述第二机器人的型号之后,可以根据上述第二机器人的型号,通过不同的渠道获取上述第二机器人的轮廓信息。例如,当上述第二机器人与上述第一机器人的型号不相同时,则上述第一机器人可以从自身保存的预设的机器人轮廓信息表中查找上述第二机器人的轮廓信息;当上述第二机器人与上述第一机器人的型号相同时,则上述第一机器人可以直接读取自身的轮廓信息,并将第一机器人自身的轮廓信息作为上述第二机器人的轮廓信息。其中,上述预设的机器人轮廓信息表可以保存运行区域内存在的所有机器人型号及对应的轮廓信息,并且可以由用户根据运行区域内实际运行的机器人自行增加类别或删减类别。由于上述第一机器人可以根据上述第二机器人的ID快速确定其型号,再通过查找上述预设的机器人轮廓信息表,可以简单方便的确认上述第二机器人的轮廓信息。而在当上述第二机器人的型号跟第一机器人相同时,上述第二机器人与上述第一机器人的外形轮廓完全一致。由于上述第一机器人必然知道自身的轮廓信息,因而只需简单的读取自身的轮廓信息并将自身的轮廓信息作为上述第二机器人的轮廓信息即可。当然,也可以通过其它方法获取上述第二机器人的轮廓信息,此处不作限定。若在区域内运行的所有机器人型号都一致,则无需保存上述预设的机器人轮廓信息表。

在步骤S103中,根据上述第二机器人的轮廓信息及上述第二机器人在全局地图下的中心坐标,计算得到上述第二机器人在全局地图下的轮廓坐标。

在本发明实施例中,根据步骤S102获取到的上述第二机器人的轮廓信息及步骤S101获取到的上述第二机器人在全局地图下的中心坐标,计算得到上述第二机器人在全局地图下的轮廓坐标。由于步骤S102中获取到的第二机器人的轮廓信息与步骤S101中获取到的第二机器人的中心坐标相关联,因而可以通过该关联关系,计算得到上述第二机器人在全局地图下的轮廓坐标。

在步骤S104中,将上述第二机器人在全局地图下的轮廓坐标转换为在第一局部地图下的轮廓坐标。

在本发明实施例中,在步骤S103获取到了上述第二机器人在全局地图下的轮廓坐标后,上述第一机器人可以继续将上述第二机器人在全局地图下的轮廓坐标转换为第一局部地图下的轮廓坐标,其中,上述第一局部地图为上述第一机器人的局部地图,其为一种栅格地图,坐标轴单位为行或列。局部地图为机器人在导航时进行避障策略的基础,在以机器人为中心的预设范围内的障碍物都可以标记在其中,它随着机器人的移动而移动,不断刷新。具体地,步骤S104可以这样实现:首先由上述第一机器人将获取到的上述第二机器人在全局地图下的轮廓坐标转换为在第一机器人坐标系下的轮廓坐标,然后再根据第一局部地图保存的与第一机器人坐标系的转换关系,将上述第二机器人在第一机器人坐标系下的轮廓坐标转换为在第一局部地图下的轮廓坐标。上述机器人坐标系为机器人以自身质心作为坐标原点构建的坐标系,其坐标轴单位为米。

可选地,由于步骤S104中,只获取到了第二机器人在第一局部地图下的轮廓坐标,而机器人实际上并不仅仅只是一个轮廓或者驱壳,因而,在步骤S104之后,还包括:获取上述第二机器人在第一局部地图下的内部坐标。

其中,可以将第一局部地图下横轴坐标相同的轮廓坐标放入同一优先级队列中,并在上述同一优先级队列中筛选出纵坐标最小及纵坐标最大的轮廓坐标点。可以简单的认为,在上述横轴坐标下,上述第二机器人占领的纵轴坐标范围即为上述筛选出的纵坐标最小的点至纵坐标最大的点。通过上述方法,即可获取到上述第二机器人在第一局部地图下的所有内部坐标。

在步骤S105中,在上述第一局部地图下,根据上述第二机器人在第一局部地图下的轮廓坐标,标记上述第二机器人。

在本发明实施例中,在上述第一局部地图下,根据步骤S104中已经获取到的第二机器人在第一局部地图下的轮廓坐标,标记出上述第二机器人作为障碍物,其中,上述第一局部地图中包括有静态层,障碍物层及膨胀层。上述静态层为构建全局地图时获得的静态的图层;上述障碍物层为标记有传感器检测到的障碍物的图层;上述膨胀层为对上述障碍物层标记的障碍物进行了膨胀处理后得到的图层。为了将上述第二机器人也在第一局部地图中得以表示,可以在上述第一局部地图中增设机器人层,其中,上述机器人层与上述第一局部地图的尺寸、坐标原点、坐标轴方向及分辨率均一致;然后基于上述第二机器人在第一局部地图下的轮廓坐标,根据点在多边形内的算法(Point in Polygon,PNPoly),在上述机器人层中筛选出被上述第二机器人占领的栅格,并标记为障碍物;在膨胀层中,将上述障碍物层及上述机器人层中已被标记为障碍物的栅格作膨胀处理;最后叠加上述机器人层、静态层,障碍物层及膨胀层,完成在上述第一局部地图下对上述第二机器人的标记。

其中,由于机器人的局部地图仅仅显示机器人预设范围内的障碍物,而上述第二机器人在第一局部地图的轮廓坐标及内部坐标实际上可能已经超出了第一局部地图所能表示的范围,这样在步骤S105中的操作过程中就可能增加不必要的计算量,导致处理系统的负担增加。为了避免这种情况的发生,在步骤S105中,运用到了PNPoly算法,以能够正确的筛选出在第一局部地图范围内的被第二机器人占领的栅格,剔除掉不在第一局部地图范围内的无效轮廓坐标和/或无效内部坐标。

可选地,为了节约机器人的运算资源,在上述步骤S101之后,上述机器人互相检测方法还包括:

检测上述第二机器人是否在上述第一机器人的预设范围内;

上述获取上述第二机器人的轮廓信息,具体为:当上述第二机器人在上述第一机器人的预设范围内时,获取上述第二机器人的轮廓信息。

其中,在获取到了上述第二机器人在全局地图下的中心坐标信息后,可以运用欧拉距离计算公式,计算上述第二机器人与第一机器人的欧拉距离,根据上述欧拉距离,上述第一机器人可以作一个初步判定,判断上述第二机器人是否在第一机器人的预设范围内。通常情况下,机器人的局部地图表示的范围为以机器人为中心,半径固定的圆形区域或者边长固定的矩形区域。显然地,当第一机器人与第二机器人相隔数十米之远时,是没有必要进行位置检测的,只有当第二机器人进入了第一机器人的预设范围内时,才有必要利用本发明实施例方案对其进行位置检测。上述第一机器人的预设范围可以由用户进行设置,也可以由第一机器人自行设置为第一局部地图能够表示的范围或者设置为第一机器人能够进行蓝牙连接的范围,此处不作限定。

由上可见,在本发明实施例中,在有多个单线激光雷达机器人运行的区域内,任一机器人均可以获取其它单线激光雷达机器人的坐标,并结合对应的轮廓信息,将其作为障碍物标记在自身的局部地图中,使得单线激光雷达机器人能够快速获知其它机器人的位置,避免因位置检测不及时而影响到机器人的运行。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,相应的程序可以存储于一计算机可读取存储介质中,上述的存储介质,如ROM/RAM、磁盘或光盘等。

实施例二

图2示出了本发明实施例二提供的机器人互相检测装置的具体结构框图,为了便于说明,仅示出了与本发明实施例相关的部分。该机器人互相检测装置2包括:中心坐标获取单元21,轮廓信息获取单元22,轮廓坐标计算单元23,轮廓坐标转换单元24,第二机器人标记单元25。

其中,中心坐标获取单元21,用于获取第二机器人在全局地图下的中心坐标;

轮廓信息获取单元22,用于获取上述第二机器人的轮廓信息;

轮廓坐标计算单元23,用于根据上述轮廓信息获取单元22获取到的第二机器人的轮廓信息及上述中心坐标获取单元21获取到的第二机器人在全局地图下的中心坐标,计算得到上述第二机器人在全局地图下的轮廓坐标;

轮廓坐标转换单元24,用于将上述轮廓坐标计算单元23计算得到的第二机器人在全局地图下的轮廓坐标转换为在第一局部地图下的轮廓坐标,其中,上述第一局部地图为上述第一机器人的局部地图;

第二机器人标记单元25,用于在上述第一局部地图下,根据上述轮廓坐标转换单元24获得的第二机器人在第一局部地图下的轮廓坐标,标记上述第二机器人。

可选地,上述机器人互相检测装置2,还包括:

距离检测单元,用于检测上述第二机器人是否在上述第一机器人的预设范围内;

上述轮廓信息获取装置22,具体用于,当上述距离检测单元检测到上述第二机器人在上述第一机器人的预设范围内时,获取上述第二机器人的轮廓信息。

可选地,上述机器人互相检测装置2还包括:

ID获取单元,用于获取上述第二机器人的ID;

型号确定单元,用于根据上述ID获取单元获取到的第二机器人的ID,确定上述第二机器人的型号;

上述轮廓信息获取装置22,具体用于,若上述第二机器人与上述第一机器人的型号不相同,则从预设的机器人轮廓信息表中查找上述第二机器人的轮廓信息,若上述第二机器人与上述第一机器人的型号相同,则读取上述第一机器人自身的轮廓信息,作为上述第二机器人的轮廓信息。

可选地,上述中心坐标获取单元21,包括:

连接建立子单元,用于与上述第二机器人建立蓝牙连接;

世界坐标获取子单元,用于通过蓝牙获取上述第二机器人在世界坐标系下的中心坐标;

世界坐标转换子单元,用于根据上述全局地图中保存的与上述世界坐标系的关系,将上述世界坐标获取子单元获取到的第二机器人在世界坐标系下的中心坐标转换为上述第二机器人在全局地图下的中心坐标。

可选地,上述第一局部地图中包括:静态层,障碍物层及膨胀层;上述第二机器人标记单元25,包括:

机器人层设置子单元,用于在上述第一局部地图中,增设机器人层,其中,上述机器人层与上述第一局部地图的尺寸、坐标原点、坐标轴方向及分辨率均一致;

机器人障碍物标记子单元,用于基于上述第二机器人在第一局部地图下的轮廓坐标,根据PNPoly算法在上述机器人设置子单元增设的机器人层中筛选出被上述第二机器人占领的栅格,并标记为障碍物;

障碍物膨胀子单元,用于在膨胀层中,将上述障碍物层及机器人层中已被标记为障碍物的栅格作膨胀处理;

图层叠加子单元,用于叠加上述机器人层、静态层,障碍物层及膨胀层,完成在上述第一局部地图下对上述第二机器人的标记。

需要说明的是,本发明实施例中的机器人互相检测装置具体可以以软件的方式(例如App的形式)和/或硬件的方式集成在机器人中。

由上可见,在本发明实施例中,在有多个单线激光雷达机器人运行的区域内,任一机器人均可以利用机器人互相检测装置,获取其它单线激光雷达机器人的坐标,并结合对应的轮廓信息,将其它单线激光雷达机器人作为障碍物标记在自身的局部地图中,使得单线激光雷达机器人能够快速获知其它机器人的位置,避免因位置检测不及时而影响到机器人的运行。

需要说明的是,在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。

以上为对本发明所提供的一种较佳实施例,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。

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