掌桥专利:专业的专利平台
掌桥专利
首页

基于机器人移动速度控制的凹槽填充方法、装置、电子设备和存储介质

文献发布时间:2023-06-19 11:26:00


基于机器人移动速度控制的凹槽填充方法、装置、电子设备和存储介质

技术领域

本申请涉及B25智能机器人领域,更具体而言,特别涉及基于机器人移动速度控制的凹槽填充方法、基于机器人移动速度控制的凹槽填充装置、电子设备和存储介质。

背景技术

目前,随着智能程控机器人的广泛普及,已经能够借助智能程控机器人实现在物体表面的凹槽中填充填料的操作。然而,常规的智能机器人只能针对固定型号的物品以及固定的场景进行填料填充,这种情况下,机器人必须沿固定的轨迹以固定的移动速度和出料速度进行填充,该方法无法应用于固定物品以及固定场景之外的工业场景。即便借助已有的机器人视觉技术,针对不同的物品识别其表面的凹槽并确定填充轨迹进行填充,也难以做到既不欠料,也不堆料的精确的填充。一方面的难点在于无法准确识别所有的凹槽,另一方面的难点在于对具有不同的特性凹槽,使用同样的填充规则进行填充的话,很容易出现凹槽内填料的填充度不一致的问题。

发明内容

鉴于上述问题,提出了本发明以便克服上述问题或者至少部分地解决上述问题。具体地,本发明的创新之一在于,申请人发现出现上述填充度不一致的问题的原因之一在于现有技术并没有为不同的凹槽设置不同的填充方法,例如,当凹槽呈线条状时,机器人必须边移动边填充,而当凹槽为一个点时,机器人必须精确识别点的位置并在该位置填充。因此本发明提出了一种先识别出凹槽类型,再让机器人使用与该类型对应的填充方案进行填充的方法,从而大大提高了凹槽填充的精度。

本发明的创新之二在于,申请人发现,之所以难以准确识别所有的凹槽,其原因在于现有的机器人视觉技术使用物体的三维点云信息,即三维图像信息进行识别,然而如果凹槽较浅,根据三维点云信息无法识别出该凹槽。因此本发明通过获取物体表面的二维图像,并对二维图像执行均衡,分割操作,从而能够结合二维图像准确识别并提取浅凹槽,大大提高了凹槽识别的能力。

本发明的创新之三在于,申请人发现出现上述填充度不一致的问题的另一个原因在于现有技术中机器人的移动速度是固定,而出料速度也是固定的,这样当一段凹槽有宽有窄的时候,机器人以平均的移动速度和出料速度执行填充,因而无法填满宽凹槽,并且会在浅凹槽处形成填料的堆积。因此本发明在不改变出料速度的前提下,针对不同的凹槽宽度调整机器人的移动速度,由此大大提高了凹槽填充的精确度。

本发明的创新之四在于,申请人发现虽然同为线条型凹槽,闭合凹槽和非闭合凹槽的特性也完全不同,不能使用相同的填充方案,特别是,对于非闭合凹槽,有确定的开口端,不能像闭合凹槽一样任选填充的起始点,因而需要为非闭合凹槽开发专用的填充方法。因此本发明针对非闭合凹槽的特性提出了一种专用于物体表面非闭合凹槽的填充方法,从而大大提高了对非闭合凹槽填充的精度。

本申请权利要求和说明书所披露的所有方案均具有上述一个或多个创新之处,相应地,能够解决上述一个或多个技术问题。具体地,本申请提供一种基于机器人移动速度控制的凹槽填充方法、基于基于机器人移动速度控制的凹槽填充装置、电子设备和计算机可读存储介质。

本申请的实施方式的基于机器人移动速度控制的凹槽填充方法包括:

提取物体表面凹槽轮廓;

根据预设的轨迹点间隔遍历轮廓上的点,在每一个遍历的点处确定机器人移动的轨迹点;

基于所述轨迹点处的凹槽宽度Wk确定该轨迹点处的机器人移动速度Vk;

根据所确定的轨迹点及轨迹点处的移动速度执行凹槽填充。

在某些实施方式中,所述提取物体表面凹槽轮廓包括去除非凹槽轮廓。

在某些实施方式中,所述去除非凹槽轮廓包括根据像素点数量去除非凹槽轮廓。

在某些实施方式中,还包括:预设特定宽度W0对应的移动速度V0,并根据W0,V0以及Wk计算轨迹点处的机器人移动速度Vk。

在某些实施方式中,还包括:所述轨迹点处的移动速度Vk为V0与Rk的线性比例或非线性比例,其中,Rk=Wk/W0。

在某些实施方式中,所述凹槽轮廓包括内轮廓和外轮廓。

在某些实施方式中,所述根据所遍历的点确定机器人移动的轨迹点具体包括:在所遍历的每一个点处,求取该点沿局部法向方向到对应的外轮廓或内轮廓上的点,选取该点与所述对应的外轮廓或内轮廓上的点之间的点作为轨迹点。

在某些实施方式中,所述轨迹点为遍历的点与对应的外轮廓或内轮廓上的点之间的中点。

本申请的实施方式的基于机器人移动速度控制的凹槽填充装置包括:

轮廓提取模块,用于提取物体表面凹槽轮廓;

轨迹点确定模块,用于根据预设的轨迹点间隔遍历轮廓上的点,在每一个遍历的点处确定机器人移动的轨迹点;

移动速度确定模块,用于基于所述轨迹点处的凹槽宽度Wk确定该轨迹点处的机器人移动速度Vk;

填充模块,用于根据所确定的轨迹点及轨迹点处的移动速度执行凹槽填充。

本申请的实施方式的电子设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一实施方式的基于机器人移动速度控制的凹槽填充方法。

本申请的实施方式的计算机可读存储介质其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施方式的基于机器人移动速度控制的凹槽填充方法。

本申请的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。

附图说明

本申请的上述和/或附加的方面和优点从结合下面附图对实施方式的描述中将变得明显和容易理解,其中:

图1是本申请某些实施方式的基于凹槽识别的凹槽填充方法的流程示意图;

图2是本申请某些实施方式的物体表面浅凹槽轮廓提取方法的流程示意图;

图3和图4是本申请某些实施方式的凹槽轮廓识别及提取的示意图;

图5是本申请某些实施方式的基于机器人移动速度控制的凹槽填充方法的流程示意图;

图6是本申请某些实施方式的非闭合凹槽填充方法的流程示意图;

图7是本申请某些实施方式的非闭合凹槽填充方法的示意图;

图8是本申请某些实施方式的基于凹槽识别的凹槽填充装置的结构示意图;

图9是本申请某些实施方式的物体表面浅凹槽轮廓提取装置的结构示意图;

图10是本申请某些实施方式的基于机器人移动速度控制的凹槽填充装置的结构示意图;

图11是本申请某些实施方式的非闭合凹槽填充装置的结构示意图;

图12是本申请某些实施方式的电子设备的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

图1示出了根据本发明一个实施例的凹槽填充方法,包括:

步骤S100,提取物体表面凹槽轮廓;

步骤S200,识别凹槽轮廓的类型;

步骤S300,根据凹槽轮廓的类型确定相应的凹槽填充方案;

步骤S400,基于所述凹槽填充方案对凹槽进行填充。

在步骤S100中,可以获取物体的3D点云信息,例如可以通过3D工业相机获取点云信息,3D工业相机一般装配有两个镜头,分别从不同的角度捕捉待抓取物品组,经过处理后能够实现物体的三维图像的展示。将待抓取物品组置于视觉传感器的下方,两个镜头同时拍摄,根据所得到的两个图像的相对姿态参数,使用通用的双目立体视觉算法计算出待填充物体的各点的X、Y、Z坐标值及各点的坐标朝向,进而转变为待抓取物品组的点云数据。具体实施时,也可以使用激光探测器、LED等可见光探测器、红外探测器以及雷达探测器等元件生成点云,本发明对具体实现方式不作限定。

通过以上方式获取的点云数据是三维的数据,为了方便数据的处理,提高效率,可将获取的三维点云数据正投影映射到二维平面上。

作为一个示例,也可以生成该正投影对应的深度图。可以沿垂直于物品的深度方向获取与三维物品区域相对应的二维彩色图以及对应于二维彩色图的深度图。其中,二维彩色图对应于与预设深度方向垂直的平面区域的图像;对应于二维彩色图的深度图中的各个像素点与二维彩色图中的各个像素点一一对应,且各个像素点的取值为该像素点的深度值。

本发明可以用于工业中各种凹槽填充的场景,例如在桌板表面的凹槽涂胶的场景。在一些场景中,物品表面的凹槽较浅,在3D点云或深度图中,凹槽内外轮廓的点云无法区分,因而无法根据3D点云或深度图识别出凹槽的轮廓。为了能够提取这类浅凹槽的轮廓,申请人开发了一种浅凹槽轮廓提取方法,该方法中,结合所获取的二维图像,通过对二维图像进行处理,获取能够清晰显示凹槽的二维图像,从而准确地识别并提取凹槽轮廓,这是本发明的重点之一。

图2示出了根据本发明一个实施例的浅凹槽轮廓提取方法,包括:

步骤S110,获取物体表面二维图像;

步骤S120,对图像进行图像均衡操作;

步骤S130,对均衡后的图像进行图像分割操作;

步骤S140,根据分割后的图像确定浅凹槽并提取浅凹槽轮廓。

在步骤S110中,获取物体表面的二维图像。可以根据S100的方法获取物体三维图像,例如3D点云信息,再映射为二维图像。

在步骤S120中,对获取的二维图像执行图像均衡操作。由于图像均衡操作,原来比较少像素的灰度会被分配到别的灰度去,像素相对集中,处理后的图像灰度范围变大,对比度变大,清晰度变大,所以能识别出原本无法看清的图像细节。原二维图像中由于物体表面和浅凹槽的对比度接近而无法有效识别,为了解决这个问题,可以在保证一定光照的情况下,并进行图像均衡操作,如此处理之后,能够较为清晰地识别浅凹槽。

在步骤S130中,对执行图像均衡操作后的二维图像进一步执行图像分割操作。在物体表面和浅凹槽的对比度接近到一定程度后,即便经过图像均衡,也可能无法清晰地识别出凹槽。此时,可以对经过图像均衡操作的二维图像进行图像分割,具体地,可以将图像中具有与浅凹槽相似性质的图形进行分割并提取。在一个实施方式中,分割提取后形成如图3所示的二维图像,该二维图像中,多处浅凹槽清晰可见。

在步骤S140中,根据分割后的图像确定浅凹槽并提取浅凹槽轮廓。如图3所示,虽然获得了全部凹槽,然而其中很多凹槽仅仅是物体表面的凹点,这些凹点例如可能是因为碰撞产生的,并不需要进行填充。为了剔除这些无需填充的凹槽,可以预先设定一最小像素点阈值,像素数量小于该阈值的凹槽都视为凹点,无需填充。如此,在提取凹槽轮廓时,对于每一个凹槽,可以先判断该凹槽部分的像素点数量是否大于该最小像素点阈值,大于则认为该凹槽为需要填充的凹槽,否则为无需填充的凹点。此外,还可以预先设定一最大像素点阈值,以筛除物品表面特定的凹陷结构,例如一些物体表面上可能设有放置物品的分装格。如此,只有在凹槽部分的像素点数量小于该阈值时,才将该凹槽识别为需要填充的凹槽。此外,经过图像均衡,图像分割等处理后,形成的如图3所示的二维图像中,由外自内能够识别出多层凹槽,对于位置在最外层凹槽之内的凹槽,可以将其定义为内层凹槽。这些内层凹槽,轮廓清晰,容易识别并提取。然而对于最外层凹槽,仅内轮廓能够清晰识别,外轮廓与黑色背景融为一体,无法准确识别该外轮廓的位置。为了确定该外轮廓,可以先根据之前获取的三维图像确定该最外层凹槽的外边缘的位置,即外轮廓的位置,再与二维图像结合,从而获得最外层凹槽的外轮廓。

在步骤S200中,基于提取的凹槽轮廓,识别凹槽轮廓的类型。本发明中为了准确地填充凹槽,做到填充物既能填满凹槽并且不会从凹槽溢出,因此设计了多种填充方法,每种填充方法对应于特定的轮廓类型,这是本发明的重点之一。可以根据所使用的凹槽填充方法能够填充的凹槽类型,对凹槽进行分类。在如图4所示的实施方式中,将凹槽分为闭合凹槽,开口凹槽和单点凹槽,大致来说,单点凹槽的轮廓呈单点状,闭合凹槽和开口凹槽呈线条状。其中,闭合凹槽呈闭合型线条状,没有明确的起始点和结束点。开口凹槽呈非闭合型线条状,有明确的起始点和结束点。

在步骤S300中,根据凹槽轮廓的类型确定相应的凹槽填充方案。在本发明优选的实施方式中,凹槽类型与填充方式一一对应。在其它实现方式中,也可以多种填充方式对应于一类凹槽,或者多类凹槽对应于一种填充方式,本发明对此不作限制。本发明的重点在于针对不同的凹槽调用不同的填充方案,因此可以使用任意的填充方案,本发明对此不作限制。然而,在一个优选的实施例,设计了闭合凹槽填充方法,开口凹槽填充方法和点凹槽填充方案三种不同的填充方案,分别用于闭合凹槽,开口凹槽和点凹槽的填充。

在步骤S400中,基于所述凹槽填充方案对凹槽进行填充。本发明中可以使用机器人进行凹槽填充,为此需要先规划处机器人的移动轨迹,移动速度和填料速度等,机器人按照规划好的路径和速度,在物体表面移动,并按照规划好的填料速度向凹槽中填充填料。以下对闭合凹槽填充方法,开口凹槽填充方法和点凹槽填充方案这三种不同的填充方案进行说明。

单点凹槽

可以根据获取的单点凹槽的二维轮廓,将其映射为三维点云,然后获取其三维点云的位姿信息,根据位姿信息令机器人移动到单点凹槽所在位置进行填充。

闭合凹槽

机器人在对凹槽进行填充时,会基于一定的出料速率控制出料头进行填充。出料速率,作为机器人的固有属性,影响本实施例中填充的效果。由于通常情况下机器人的出料速率是固定不变的,如果需要填充的凹槽在整条路径上的宽度不一致,而机器人在各个轨迹点都以同样的运动速度移动,则可能导致在宽凹槽处出现欠胶的情况,而在窄凹槽处出现堆胶的情况,为了解决该问题,本发明提出了一种根据凹槽的宽窄控制机器人移动速度来控制凹槽处的出料速率的方案,这也是本发明的重点之一。

图5示出了本发明的通过控制机器人移动速度的凹槽填充方法,该方法可以用于本发明中闭合凹槽和开口凹槽的填充,该方法包括:

步骤411,提取物体表面凹槽轮廓;

步骤412,根据预设的轨迹点间隔遍历轮廓上的点,在每一个遍历的点处确定机器人移动的轨迹点;

步骤413,基于所述轨迹点处的凹槽宽度Wk确定该轨迹点处的机器人移动速度Vk;

步骤414,令机器人根据所确定的轨迹点及轨迹点处的移动速度执行凹槽填充。

对于步骤411,可以采用与步骤S100类似的方法提取物体表面凹槽轮廓,此处不再赘述。

对于步骤412,闭合凹槽轮廓由内外两条轮廓组成。在一个实施例中,为了获得机器人运动的轨迹,可以预先设定轨迹点间隔,之后以内轮廓或外轮廓为基准,根据轨迹点间隔遍历该基准轮廓上的点。轨迹点间隔可以是距离,即可以设置每隔一定距离生成一个轨迹点,换句话说,也就是每隔一定的距离遍历轮廓上的一个点,以此方式遍历整个轮廓。对所遍历的每一个点P1,求取当前点P1沿局部法向方向到另一个轮廓对应的点P2,如果在内轮廓上执行遍历,则P1在内轮廓上,而P2在外轮廓上。P1到P2的距离为此处的凹槽宽度W。可以在P1与P2之间选取一个点P3,将该点作为填充轨迹点。优选的,填充轨迹点可以为凹槽宽度W的中点,即该点为宽度W上距内外轮廓的距离比为1:1的位置。根据实际填充的需要,也可以选取不同的距离比的位置作为轨迹点,例如,如果一段凹槽一边较深而另一边较浅,此时在宽度为W的凹槽的中点处填充的话,由于该点到内轮廓的横截面积大于其到外轮廓的横截面积,因此填料可能会堆积到外轮廓之外。此时,为了能够准确地填充凹槽,可以将轨迹点设在距内轮廓较近的位置,例如可以将轨迹点距内外轮廓的距离设为2:3。在其它实施方式中,也可以不用比值,而是用距离调整轨迹点的位置,例如轨迹点设为距内轮廓1mm处。以上述方式获取机器人在二维平面上全部的轨迹点,并形成完整的移动轨迹后,将这些二维轨迹点通过2D到3D的映射关系获取三维的轨迹点,已形成三维的移动轨迹。

对于步骤413,机器人在对凹槽进行填充时,会基于一定的填充速率控制出料头进行填充。出料速率,作为机器人的固有属性,影响本实施例中填充的效果。由于通常情况下机器人的出料速率是固定不变的,如果需要填充的凹槽在整条路径上的宽度不一致,而机器人在各个轨迹点都以同样的运动速度移动,则可能导致在宽凹槽处出现欠料的情况,而在窄凹槽处出现溢料的情况。在出料速率固定的情况下,不同的机器人移动速度会导致不同的出料量,大致来说,在出料速率固定的情况下,机器人移动速度越快,出料越少,反之则出料越多。一般来说,较宽的凹槽需要填充的料的量越大,因此需要机器人在该凹槽处的移动速度相对较慢。在一个实施方式中,可以预先确定一特定宽度W0对应的合适的机器人速度V0。这样,对于每一个轨迹点,可以先获取该轨迹点处凹槽的宽度Wk,如果Wk>V0,则该轨迹点处的机器人移动速度Vk应当小于V0,反之亦然。

对于步骤414,可以先计算凹槽宽度Wk与特定宽度W0的比值Rk=Wk/W0,则当前轨迹点处的移动速度Vk可以为V0和Rk的线性比例或者非线性比例。在一种实施方式中,可以下面的公式针对每个轨迹点计算该轨迹点处的机器人移动速度:

Vk=V0/Rk.

开口凹槽

闭合凹槽为两条轮廓,在设置轨迹点时,可以从内轮廓或外轮廓上任一点开始按照预设的轨迹点间隔遍历该轮廓上所有的点。与闭合凹槽不同,开口凹槽在形态上有特定的开口端点,因此必须将某一开口端点作为起始点,而另一开口端点作为结束点,如此才能根据预设的轨迹点间隔,从开口点到结束点对轮廓进行遍历。因此区别于闭合凹槽,开口凹槽还需要确定出正确的轨迹起始点和结束点才能准确地形成机器人的移动轨迹。发明人付出了大量的劳动以设计了可以用于任意的有确定起始点和结束点的凹槽,即非闭合凹槽,的凹槽填充方案,这也是本发明的重点之一。

图6示出了本发明的非闭合凹槽填充方法,包括:

步骤421,提取物体表面非闭合凹槽轮廓;

步骤422,生成轮廓的外接矩形;

步骤423,基于所述生成的外接矩形确定轮廓的两个开口端点;

步骤424,将两个开口端点分别作为起始点和结束点执行凹槽填充。

图7示出了根据本发明的一个实施例的通过外接矩形分析非闭合凹槽的开口和轮廓的示意图,以下结合图7对本发明的非闭合凹槽填充方法进行说明。

对于步骤421,可以采用与步骤S100类似的方法提取物体表面凹槽轮廓,此处不再赘述。

对于步骤422,为该开口凹槽轮廓求取最小外接矩形,可以采用任意可行的方式求取最小外接矩形,本发明对此不作限制;

对于步骤423,根据最小外接矩形确定开口端点。例如根据凹槽轮廓确定开口点位于外接矩形某一边,然后确定轮廓上与该边最近的点作为开口端点。在优选的实施方式中,可以确定两个开口端点P1和P2。

对于步骤424,将整个凹槽轮廓在P1和P2处断开,形成两条分离的轮廓段S1和S2,在图7所示的实施方式中,S1为外轮廓,S2为内轮廓。如此,获得了遍历的起始点P1和终结点P2,以及P1、P2所在的外轮廓S1和与外轮廓相对的内轮廓S2。从P1出发到P2根据预设的轨迹点间隔对S1进行遍历采样。轨迹点间隔可以是距离,即可以设置每隔一定距离生成一个轨迹点,换句话说,每隔一定距离对轮廓点进行遍历。对于所遍历的每一个点P1,求取当前点P1沿局部法向方向到另一个轮廓对应的点P3。P1到P3的距离为此处的凹槽宽度W。在P1与P3之间选取一个点P4,将该点作为填充轨迹点。优选的,填充轨迹点可以为凹槽宽度W的中点,即该点为宽度W上距内外轮廓距离1:1的位置。根据实际填充的需要,也可以选取不同的距离比的位置作为轨迹点,例如,如果宽度W的中点到内轮廓的横截面积大于其到外轮廓的横截面积,则为了精确填充,可以将轨迹点设为距内轮廓较近,例如可以将轨迹点距内外轮廓的距离设为2:3。在其它实施方式中,也可以不用比值,而是用距离调整轨迹点的位置,例如轨迹点设为距内轮廓1mm处。以此方式获取机器人在二维平面上完整的移动轨迹后,将这些二维轨迹点通过2D到3D的映射关系获取三维的轨迹点。

机器人在对凹槽进行填充时,会基于一定的填充速率控制出料头进行填充。出料速率,作为机器人的固有属性,影响本实施例中填充的效果。由于通常情况下机器人的出料速率是固定不变的,如果需要填充的凹槽在整条路径上的宽度不一致,而机器人在各个轨迹点都以同样的运动速度移动,则可能导致在宽凹槽处出现欠料的情况,而在窄凹槽处出现溢料的情况。

在出料速率固定的情况下,不同的机器人移动速度会导致不同的出料量,大致来说,在出料速率固定的情况下,机器人移动速度越快,出料越少,反之则出料越多。一般来说,较宽的凹槽需要填充的料的量越大,因此需要机器人在该凹槽处的移动速度相对较慢。在一个实施方式中,可以预先确定一特定宽度W0对应的合适的机器人速度V0。这样,对于每一个轨迹点,可以先获取该轨迹点处凹槽的宽度Wk,如果Wk>V0,则该轨迹点处的机器人移动速度Vk应当小于V0,反之亦然。

可以先计算凹槽宽度Wk与特定宽度W0的比值Rk=Wk/W0,则当前轨迹点处的移动速度Vk可以为V0和Rk的线性比例或者非线性比例。在一种实施方式中,可以下面的公式针对每个轨迹点计算该轨迹点处的机器人移动速度:

Vk=V0/Rk.

根据上述实施例,首先,本发明能够针对不同的凹槽实施专用于该凹槽的填充方式,从而大大提高填充精度;其次,本发明即便在所需填充的凹槽较浅,也能够准确识别并提取;第三,本发明根据凹槽宽度控制机器人的移动速率,能够准确填充宽窄不一的凹槽,提高了填充的精度;第四,对于特殊的开口凹槽,本发明也开发了专用的方法,能够提高该类凹槽的填充精度。由此可见,本发明解决了使用机器人进行凹槽填充的过程中出现的方方面面的问题。

另外,本领域技术人员还能够针对上述实施例进行各种改动和变形:

本发明的各个实施方式中的机器人可以是工业机器人手臂,这些机器人手臂可以是通用的,也可以是专用于进行凹槽填充的。本发明可以填充任意物体表面的凹槽,例如玻璃,桌板,钢板等,本发明可以使用任何填料进行填充,例如胶,各种化学填充剂等,本发明对具体应用领域不作限制,作为优选的实施例,本发明特别适用于在桌板的凹槽中涂胶。

为了使得机器人走更少的多余轨迹,可将轨迹点的初始点设置在轨迹路径上与机器人初始位姿最为相近的位置,例如:将初始点设置在靠近机器人那条边的中间。也即是说,在确定机器人的初始位姿之后,可将距离该机器人的初始位姿最近的那条边的轨迹路径上的中间点作为轨迹点的初始点,之后可根据机器人的固有属性在轨迹路径上设置其他轨迹点,进而可以得到轨迹点信息。值得一提的是,该轨迹点信息可包括但不限于轨迹点的坐标、轨迹点的初始轨迹点以及轨迹点的走向(即轨迹点走位顺序)等。在得到轨迹点信息之后,可采用通信方式将轨迹点信息发送至机器人。机器人在接收到轨迹点信息时,可基于轨迹点信息,控制自身的喷料喷头进行凹槽填充。

在某些实施方式中,根据机器人的固有属性以及机器人初始位姿,在轨迹路径上生成轨迹点信息,包括:

确定轨迹路径中的拐角处和直线处;

根据机器人的出料速率、运动速度在拐弯处以及直线处以相应密度设置轨迹点;

根据机器人初始位姿确定轨迹点的走位顺序,以得到轨迹点信息。

具体地,确定轨迹路径中的拐角处和直线处,可以基于轨迹路径上各点的坐标值间的关系确定。拐角处相邻点的X坐标和Y坐标均会不一样,而直线处相邻点,可能其X坐标会一样或Y坐标会一样。例如:假设待填充物品的形状为矩形,则该待填充物品的轨迹路径中,四个角的拐角处相邻点的X坐标和Y坐标均会不一样,而上边直线处相邻点的Y坐标会一样而X坐标会不一样,下边直线处相邻点的Y坐标会一样而X坐标会不一样且Y坐标相对于上边直线处数值小,左边直线处相邻点的X坐标会一样而Y坐标会不一样,右边直线处相邻点的X坐标会一样而Y坐标会不一样且X坐标相对于左边直线处数值小。

机器人进行填充时,会基于一定的出料速率控制出料头进行填充。出料速率作为机器人的固有属性,影响本实施例中填充的效果。为了能够方便参考机器人的出料速率在轨迹路径上设置轨迹点,以避免堆料情况,可确定该机器人的出料速率。

机器人运动的固有属性还体现为,若机器人在拐角处和直线处设置同样的运动速度参数,其在拐角处和直线处的运动速度会不同,具体拐角处运动速度慢于直线处运动速度。而实际情况下机器人另一固有属性出料速率是不变的,因此对于合适直线的出料速率与运动速度参数,在拐弯处就会造成堆料情况。在某些实施方式中,在保证机器人沿着所确定的轨迹路径移动的前提下,在轨迹路径上的拐角处设置的轨迹点的间距可以比直线处设置的轨迹点间距大些,以达到直线处运动速度与拐角处运动速度的平衡,进而解决拐角可能造成的堆料现象。可在直线处设置一最小间距用于限定直线处轨迹点的间距,防止直线处由于机器人由于轨迹点数量过多而出现卡顿堆料的情况。还可在直线处和拐角处设置数值不同的运动速度参数以达到直线处运动速度与拐角处运动速度的平衡,解决由于固有属性导致的堆料问题。

根据机器人初始位姿确定轨迹点的走位顺序,以得到所述轨迹点信息。可以理解,为了使得机器人走更少的多余轨迹,设置轨迹点的初始点为靠近机器人初始位姿的点,例如:可以为待填充物品的靠近机器人那条边的中间部位对应的轨迹点。也即是说,在确定机器人的初始位姿之后,可将距离该机器人的初始位姿最近的那条边的轨迹路径上的中间点对应的轨迹点(或者距离该点最近的轨迹点)作为轨迹点的初始轨迹点,之后,可以顺时针走位其他轨迹点,也可以逆时针走位其他轨迹点。

在某些实施方式中,轨迹点信息具体可以包括轨迹点坐标,初始轨迹点坐标、轨迹点的走位顺序、轨迹点的运动速度参数等。

在某些实施方式中,轨迹点信息还包括:轮廓点对应的法向信息。

具体地,法向信息可以为各轮廓点云对应的法向量相对于一固定量的角度值,还可以为各轮廓点云中相应走位顺序在后的点云相对于其前一点云的偏离角度值。

图8示出了根据本发明又一个实施例的基于凹槽轮廓识别的凹槽填充装置的结构示意图,该装置包括:

轮廓提取模块500,用于提取物体表面凹槽轮廓,即用于实现步骤S100;

轮廓识别模块600,用于识别凹槽轮廓的类型,即用于实现步骤S200;

填充方案确定模块700,用于根据凹槽轮廓的类型确定相应的凹槽填充方案,即用于实现步骤S300;

填充模块800,用于基于所述凹槽填充方案对凹槽进行填充,即用于实现步骤S400。

可选的,轮廓提取模块500还用于去除非凹槽轮廓,例如可以根据像素点数量去除。

可选的,轮廓识别模块600可以识别的凹槽轮廓的类型包括闭合凹槽、开口凹槽、单点凹槽中的至少一种。

可选的,当填充方案确定模块700确定使用单点凹槽填充方案时,填充模块800获取该单点的3D点云,根据3D点云的位姿对凹槽进行填充。

可选的,当填充方案确定模块700确定使用闭合凹槽和/或开口凹槽填充方案时,填充模块800根据预设的轨迹点间隔遍历内轮廓或外轮廓上的点,在所遍历的每一个点处,求取该点沿局部法向方向到对应的外轮廓或内轮廓上的点,并选取该点与所述对应的外轮廓或内轮廓上的点之间的点作为轨迹点。所述轨迹点可以为遍历的点与对应的外轮廓或内轮廓上的点之间的中点。

可选的,填充模块800根据轨迹点处的凹槽宽度Wk确定该轨迹点处的填充工具的移动速度Vk。可以预设特定宽度W0对应的移动速度V0,所述轨迹点处的移动速度Vk为V0与Rk的线性比例或非线性比例,其中,Rk=Wk/W0。

图9示出了根据本发明又一个实施例的物体表面浅凹槽轮廓提取装置的结构示意图,该装置包括:

图像获取模块510,用于获取物体表面二维图像,即用于实现步骤S110;

图像均衡模块520,用于对图像进行图像均衡操作,即用于实现步骤S120;

图像分割模块530,用于对均衡后的图像进行图像分割操作,即用于实现步骤S130;

轮廓提取模块540,用于根据分割后的图像确定浅凹槽并提取浅凹槽轮廓,即用于实现步骤S140。

可选的,浅凹槽轮廓提取装置还包括三维图像获取模块,用于获取物体表面三维图像。

可选的,图像获取模块510可以通过对三维图像的映射获得二维图像。

可选的,轮廓提取模块540还用于去除非凹槽轮廓,例如可以根据像素点数量去除非凹槽轮廓。

可选的,浅凹槽轮廓包括最外层凹槽轮廓和内层凹槽轮廓,最外层凹槽轮廓包括内轮廓和外轮廓。

可选的,内层凹槽轮廓以及最外层凹槽的内轮廓可以根据二维图像提取,最外层凹槽的内轮廓可以根据三维图像提取。

图10示出了根据本发明又一个实施例的基于机器人移动速度控制的凹槽填充装置的结构示意图,该装置包括:

轮廓提取模块811,用于提取物体表面凹槽轮廓,即用于实现步骤S411;

轨迹点确定模块812,用于根据预设的轨迹点间隔遍历轮廓上的点,在每一个遍历的点处确定机器人移动的轨迹点,即用于实现步骤S412;

移动速度确定模块813,用于基于所述轨迹点处的凹槽宽度Wk确定该轨迹点处的机器人移动速度Vk,即用于实现步骤S413;

填充模块814,用于令机器人根据所确定的轨迹点及轨迹点处的移动速度执行凹槽填充,即用于实现步骤S414。

可选的,轮廓提取模块811还用于去除非凹槽轮廓,例如可以根据像素点数量去除。

可选的,移动速度确定模块814根据轨迹点处的凹槽宽度Wk确定该轨迹点处的填充工具的移动速度Vk。可以预设特定宽度W0对应的移动速度V0,所述轨迹点处的移动速度Vk为V0与Rk的线性比例或非线性比例,其中,Rk=Wk/W0。

可选的,轨迹点确定模块812根据预设的轨迹点间隔遍历内轮廓或外轮廓上的点,在所遍历的每一个点处,求取该点沿局部法向方向到对应的外轮廓或内轮廓上的点,并选取该点与所述对应的外轮廓或内轮廓上的点之间的点作为轨迹点。所述轨迹点可以为遍历的点与对应的外轮廓或内轮廓上的点之间的中点。

图11示出了根据本发明又一个实施例的物体表面的非闭合凹槽填充装置的结构示意图,该装置包括:

轮廓提取模块821,用于提取物体表面凹槽轮廓,即用于实现步骤S421;

外接矩形生成模块822,生成轮廓的外接矩形,即用于实现步骤S422;

开口确定模块823,用于基于所述生成的外接矩形确定轮廓的两个开口端点,即用于实现步骤S423;

填充模块824,用于将两个开口端点分别作为起始点和结束点执行凹槽填充,即用于实现步骤S424。

可选的,填充模块824在所述起始点和结束点处断开凹槽轮廓,以形成分离的内轮廓和外轮廓。

可选的,填充模块824根据轨迹点处的凹槽宽度Wk确定该轨迹点处的填充工具的移动速度Vk。可以预设特定宽度W0对应的移动速度V0,所述轨迹点处的移动速度Vk为V0与Rk的线性比例或非线性比例,其中,Rk=Wk/W0。

可选的,填充模块824根据预设的轨迹点间隔遍历内轮廓或外轮廓上的点,在所遍历的每一个点处,求取该点沿局部法向方向到对应的外轮廓或内轮廓上的点,并选取该点与所述对应的外轮廓或内轮廓上的点之间的点作为轨迹点。所述轨迹点可以为遍历的点与对应的外轮廓或内轮廓上的点之间的中点。

上述图8-图11所示的装置实施例中,仅描述了模块的主要功能,各个模块的全部功能与方法实施例中相应步骤相对应,各个模块的工作原理同样可以参照方法实施例中相应步骤的描述,此处不再赘述。另外,虽然上述实施例中限定了功能模块的功能与方法的对应关系,然而本领域技术人员能够理解,功能模块的功能并不局限于上述对应关系,即特定的功能模块还能够实现其他方法步骤或方法步骤的一部分。例如,上述实施例描述了轮廓识别模块600用于实现步骤S200的方法,然而根据实际情况的需要,轮廓识别模块600也可以用于实现步骤S100、S300或S400的方法或方法的一部分。

本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一实施方式的方法。需要指出的是,本申请实施方式的计算机可读存储介质存储的计算机程序可以被电子设备的处理器执行,此外,计算机可读存储介质可以是内置在电子设备中的存储介质,也可以是能够插拔地插接在电子设备的存储介质,因此,本申请实施方式的计算机可读存储介质具有较高的灵活性和可靠性。

图12示出了根据本发明实施例的一种电子设备的结构示意图,本发明具体实施例并不对电子设备的具体实现做限定。

如图12所示,该电子设备可以包括:处理器(processor)902、通信接口(Communications Interface)904、存储器(memory)906、以及通信总线908。

其中:

处理器902、通信接口904、以及存储器906通过通信总线908完成相互间的通信。

通信接口904,用于与其它设备比如客户端或其它服务器等的网元通信。

处理器902,用于执行程序910,具体可以执行上述方法实施例中的相关步骤。

具体地,程序910可以包括程序代码,该程序代码包括计算机操作指令。

处理器902可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。电子设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。

存储器906,用于存放程序910。存储器906可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。

程序910具体可以用于使得处理器902执行上述方法实施例中的各项操作。

概括地说,本发明的发明内容包括:

一种基于凹槽轮廓识别的凹槽填充方法,包括:

提取物体表面凹槽轮廓;

识别凹槽轮廓的类型;

根据凹槽轮廓的类型确定相应的凹槽填充方案;

基于所述凹槽填充方案对凹槽进行填充。

可选的,所述提取物体表面凹槽轮廓包括去除非凹槽轮廓。

可选的,所述去除非凹槽轮廓包括根据像素点数量去除非凹槽轮廓。

可选的,所述凹槽类型包括闭合凹槽和/或开口凹槽。

可选的,所述凹槽类型包括单点凹槽。

可选的,所述凹槽轮廓包括内轮廓和外轮廓。

可选的,根据预设的轨迹点间隔遍历内轮廓或外轮廓上的点。

可选的,在所遍历的每一个点处,求取该点沿局部法向方向到对应的外轮廓或内轮廓上的点。

可选的,在所遍历的每一个点处,选取该点与所述对应的外轮廓或内轮廓上的点之间的点作为轨迹点。

可选的,所述轨迹点为遍历的点与对应的外轮廓或内轮廓上的点之间的中点。

可选的,根据轨迹点处的凹槽宽度Wk确定该轨迹点处的填充工具的移动速度Vk。

可选的,预设特定宽度W0对应的移动速度V0,所述轨迹点处的移动速度Vk为V0与Rk的线性比例或非线性比例,其中,Rk=Wk/W0。

可选的,获取该单点的3D点云,根据3D点云的位姿对凹槽进行填充。

一种物体表面浅凹槽轮廓提取方法,包括:

获取物体表面二维图像;

对图像进行图像均衡操作;

对均衡后的图像进行图像分割操作;

根据分割后的图像确定浅凹槽并提取浅凹槽轮廓。

可选的,还包括获取物体表面三维图像。

可选的,所述二维图像通过对三维图像的映射获得。

可选的,所述确定浅凹槽并提取浅凹槽轮廓包括去除非凹槽轮廓。

可选的,所述去除非凹槽轮廓包括根据像素点数量去除非凹槽轮廓。

可选的,所述浅凹槽轮廓包括最外层凹槽轮廓和内层凹槽轮廓。

可选的,所述内层凹槽轮廓根据二维图像提取。

可选的,所述最外层凹槽轮廓包括内轮廓和外轮廓。

可选的,所述最外层凹槽的内轮廓根据二维图像提取。

可选的,所述最外层凹槽的外轮廓根据三维图像提取。

一种基于机器人移动速度控制的凹槽填充方法,包括:

提取物体表面凹槽轮廓;

根据预设的轨迹点间隔遍历轮廓上的点,在每一个遍历的点处确定机器人移动的轨迹点;

基于所述轨迹点处的凹槽宽度Wk确定该轨迹点处的机器人移动速度Vk;

令机器人根据所确定的轨迹点及轨迹点处的移动速度执行凹槽填充。

可选的,所述提取物体表面凹槽轮廓包括去除非凹槽轮廓。

可选的,所述去除非凹槽轮廓包括根据像素点数量去除非凹槽轮廓。

可选的,预设特定宽度W0对应的移动速度V0,并根据W0,V0以及Wk计算轨迹点处的机器人移动速度Vk。

可选的,所述轨迹点处的移动速度Vk为V0与Rk的线性比例或非线性比例,其中,Rk=Wk/W0。

可选的,所述凹槽轮廓包括内轮廓和外轮廓。

可选的,在所遍历的每一个点处,求取该点沿局部法向方向到对应的外轮廓或内轮廓上的点,选取该点与所述对应的外轮廓或内轮廓上的点之间的点作为轨迹点。

可选的,所述轨迹点为遍历的点与对应的外轮廓或内轮廓上的点之间的中点。

一种物体表面的非闭合凹槽填充方法

提取物体表面非闭合凹槽轮廓;

生成轮廓的外接矩形;

基于所述生成的外接矩形确定轮廓的两个开口端点;

将两个开口端点分别作为起始点和结束点执行凹槽填充。

可选的,在所述起始点和结束点处断开凹槽轮廓,以形成分离的内轮廓和外轮廓。

可选的,根据预设的轨迹点间隔从起始点到结束点遍历内轮廓或外轮廓上的点。

可选的,在所遍历的每一个点处,求取该点沿局部法向方向到对应的外轮廓或内轮廓上的点。

可选的,在所遍历的每一个点处,选取该点与所述对应的外轮廓或内轮廓上的点之间的点作为轨迹点。

可选的,所述轨迹点为遍历的点与对应的外轮廓或内轮廓上的点之间的中点。

可选的,根据轨迹点处的凹槽宽度Wk确定该轨迹点处的填充工具的移动速度Vk。

可选的,预设特定宽度W0对应的移动速度V0,所述轨迹点处的移动速度Vk为V0与Rk的线性比例或非线性比例,其中,Rk=Wk/W0。

在本说明书的描述中,参考术语“一个实施方式”、“一些实施方式”、“示意性实施方式”、“示例”、“具体示例”或“一些示例”等的描述意指结合所述实施方式或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理模块的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

应当理解,本申请的实施方式的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本申请的各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。

尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施方式进行变化、修改、替换和变型。

相关技术
  • 基于机器人移动速度控制的凹槽填充方法、装置、电子设备和存储介质
  • 基于机器人的物体表面非闭合凹槽填充方法、装置和介质
技术分类

06120112921933