节拍及路径优化

生产节拍:

生产节拍是指完成一个工件规定的处理作业内容所要求的时间,即用户规定的年产量对机器人工作站工作效率的要求。

目前大多数项目对于节拍有要求,一些项目对于节拍有极高的要求(4秒或5秒以内)。对于生产节拍要求较高的项目,待工作站能完成整个作业流程后,Mech-Mind软件系统通过视觉算法优化、机器人路径优化,节拍会有较大的提升。节拍主要包括相机拍照时间,Mech-Vision处理时间以及Mech-Viz规划到机器人处理完成的时间,因此对于整个节拍和路径优化主要分为以上三个部分,如图1所示。

../../../_images/13.png

图1 路径及节拍优化整体思路

Mech-Eye Viewer

投影时间

2D/3D曝光参数

使用Mech-Eye Viewer软件时,在一些使用场景:如识别结构复杂的金属件,细节较多的物体等,可通过切换2D曝光模式并使用两到三组不同的3D曝光时间进行投影拍照,以获取更多的信息。同时需要注意的是,在更多的场景中,如纸箱,平整工件等,可以减少曝光次数以节省时间。如下图所示。

2D/3D曝光参数的调整详见 Mech-Eye Viewer - 参数调节

更新

使用最新版本的Mech-Eye Viewer软件并同时更新相机固件版本,能够提高深度图和点云图的生成速度,对相机的拍照速度有一定提升。

相机更换

梅卡曼德的相机产品中,如Deep系列的相机,由于视野范围大,需要使用两个光机分别投影,再将获得的点云进行合成。因此在正常情况下投影时间会比Pro M和Pro S系列相机高一倍。在确定好现场的工作范围以后,使用合适的相机能够对拍照速度有提升。

深度ROI

深度图ROI即在相机视野上划分区域,减少相机需要处理的数据量。深度图ROI可以分别设置在XY方向上的ROI和深度上的限制,以在整体上减少点云数量。

XY方向的ROI设置如图2,进入后通过画框的形式确定ROI范围。

../../../_images/31.png

图2 设置深度ROI(XY)

Z方向上的限制需要在相机参数中设置,分别设置最小最大深度,能够有效减少点云数量。图中数字单位为毫米。

../../../_images/5.png

图3 设置深度ROI(Z)

Mech-Vision

Step加速

从相机获取图像

../../../_images/6.png

图4 从相机获取图像

从相机获取图像 的Step是Mech-Vision工程中最重要的Step,同时也是在大多数工程中占用了约 40% 的时间。从相机获取图像 的耗时主要可以通过上文中的方法解决。同时,也可以把 从相机获取图像 的功能进行拆分,由于相机是采集RGB图像和深度图像,并进行合成生成点云图像。在一些项目中可能同时需要点云和RGB图像进行分别处理,如需要使用深度学习的工程,则可以分别进行处理。如图5所示,由于工程是并行计算,因此可以节省更多时间。

../../../_images/7.png

图5 深度学习与点云处理并行计算

点云处理

在实际项目中,直接从相机获得的点云往往不可以直接使用,还需进行更多具体处理,如点云聚类,合并数据等等。该过程也可通过优化细节来提升节拍。下面列举若干有关点云处理,会显著影响节拍的step以及节拍优化的方法。

提取ROI内点云

通常对于场景点云来说,只有一部分包含目标工件的区域是我们关心的。此时需要截取ROI来专注于某一个区域,过滤掉绝大部分非工作区点云来大幅提升节拍。

../../../_images/8.png

图6 提取ROI内点云

点云降采样

该step用来对点云进行采样减小原始点云大小。对于大部分对点云密度没有很高要求的项目而言(如仅需进行边缘匹配,获取最高层掩膜等),加入此步骤可以很大程度上提升节拍。【采样间隔】可以控制采样倍率,根据节拍要求进行设置。

../../../_images/9.png

图7 点云降采样

计算点云的法向量并滤波

在将深度图转换为点云之后,需要计算点云的法向量并滤波。对于有合适的配套显卡(GPU)主控机,设置GPU加速的法向计算方法能显著提升节拍。

../../../_images/10.png

图8 计算点云的法向量并滤波

点过滤

该step通过设置的规则过滤点云中的点,消除噪声。为了提升节拍,可以修改用于平均距离估计的【最近邻近点数】,进行实验测试,在保证精度的基础上,可以将该参数适度调小。

../../../_images/111.png

图9 点过滤

点云聚类

在该step中包含【GPU加速】选项,在点云数目较多时勾选此选项节拍会有一定提升,否则没有明显效果。值得注意的是,显存不足时(如viz/深度学习占用过多)可能会出现不减反增的现象,要根据实际情况设置参数。

../../../_images/121.png

图10 点云聚类

3D匹配

3D匹配 由3D粗匹配,3D精匹配组成,根据模板数量还可分为单模板与多模板。其中粗匹配为了计算模板点云在空间点云中的大概位置,3D精匹配为了匹配模板与空间点云。此步骤需要计算空间中每一个点的相对位置,因此点越多则花费更多的时间,精匹配的迭代次数越多也会也会花费更多时间。因此在对这两个Step进行调整的时候,主要朝着减少处理点云数量(数据和模板)和减少迭代次数(精匹配)的方向进行。

小技巧

  • 对于粗匹配,若选择【SurfaceMatching】,其中调整【采样设置】来调整点云密度,以减少计算时间。在降采样的点云密度不能再低,但仍需提升节拍的情况下,考虑增大【参考/被参考点采样步长】。

  • 通过前期的一些点云预处理工作,如聚类,ROI,点云滤波等操作前期去除大量无用点云。

  • 在多工件进行匹配时候,也可以适当减少同时匹配的工件数量,如每次只匹配3个工件,提高匹配速度。

  • 根据实际工件的特点,对模板文件进行简化,如大工件采用边缘模板进行匹配,或对模板进行降采样,将点云数量降低至较小的范围。

  • 点方向的计算方法:对于无法向模板,使用【StandardMode】;对于边缘平面物体模板,使用【EdgeTangent】,同时保证被识别物体已被较好地分割开。

../../../_images/16.png

图11 3D粗匹配

../../../_images/17.png

图12 3D精匹配

其他

工程中,除了 从相机获取图像3D匹配 外,还有很多其他的Step,大多数的Step的耗时可以忽略不计,若需要调整可以根据Mech-Vision :步骤使用指南 进行适当的调整。

工控机性能提升

机器视觉图像处理是十分消耗计算机资源的,一个性能好的工控机能够对整体速度有较大的提升。梅卡曼德提供最低配置为I7 8700 + 1050TI的工控机,配置更高的CPU和GPU可以带来更好的使用效果。

小技巧

3D匹配 主要消耗CPU资源, 深度学习则会消耗更多的GPU资源。

Mech-Viz、机器人

路径优化

机器人路径优化主要指的是机器人在运动过程中尽量减少非必要的定点和不必要的动作。故路径优化的中心思路为减少定点,减少弯路来实现。

小技巧

主要可以操作的包括以下内容:

  • 减少弯路,在一段没有碰撞的运动中,尽量减少多余的中间点,保证机器人的运行流畅。

  • 减少定点,在前期为了保证机器人运动。

  • 减少旋转,机器人在抓取的过程中,可能会出现夹具旋转超过180°的情况,通过对视觉工程的控制和对对称性的调整,能够减少这类情况的发生。同时使用 相对移动 能够直接避免进行过多的旋转。

  • MoveProperty ,在大多数运动类的Step中加入不等待能够对机器人的流畅性有提升,减少停顿。

  • 为了提高机器人运动路径的圆滑程度,还可以适当合理使用转弯半径的功能,避免机器人走路线上的固定点。同时使用更多的关节运动,减少使用较长的直线运动,减少机器人运动到奇异点的可能性,必要的时候使用多段关节运动代替长距离直线运动,防止长距离时运动状态不可控。转弯半径、运动类型的设置参见 BasicMoveInfo

  • 避免奇异点,根据Mech-Viz软件的设计,机器人在即将跨越奇异点的时候,机器人会进行适当降速以防止机器人报错。同样的,在工件抓取的过程中,应尽量避免机器人运动到奇异点附近,防止因奇异点导致的报错停止或慢速运行。参数设置见 RunTime Config

机器人速度

在机器人工作流程已经确定,且能够在慢速且稳定作业情况下,可以逐步将机器人速度提升至可以达到的最高速度,机器人提速能够对节拍有较大帮助。

小技巧

机器人在各个动作中的速度可以直接在Mech-Viz软件中进行调整。

移动类模块速度

Mech-viz软件在使用移动类任务时候,BasicMoveInfo 默认为加速度50%,速度100%。在完成路径优化以后,可以分别对各个模块的速度和加速度进行调整,已实现在不同情况下对机器人速度和加速度的控制。

小技巧

在机器人不抓取工件的时候,可以把速度和加速度逐步调整至允许的最大值。

../../../_images/18.png

图13 Mech-Viz中移动速度控制

拍照流程与时机

在Mech-Viz软件中,可以使用 视觉识别 模块来触发拍照,并通过Mech-Vision软件进行处理并输出结果,并且在 视觉移动 模块时获取处理的结果并控制机器人移动到指定位置。数据处理的过程是可以在后台中运行的,即可以在机器人运动的过程中,对获取到的新数据进行处理并准备下一次抓取。

小技巧

  • 在Eye to Hand模式下,可以实现机器人抓取工件并移开相机视野范围后,触发相机拍照并在后台处理,等机器人完成上一个工件后,即可马上抓取下一个工件。

  • 在Eye in Hand模式下,可以在机器人抓取工件后,回到拍照位置进行拍照,并在后台进行数据处理,待机器人完成第一个工件放置后即可直接抓取第二个工件。

提示

在一些纸箱拆垛的项目中,在保证每次抓取后其他箱子不会发生变化的情况下,可以使用一拍多抓的方案。Mech-Vision软件在每次识别的过程中,可以一次识别多个物体并给出全部的位姿。因此可以实现一次识别,机器人把所有识别到的纸箱全部抓取,并在抓取完以后重新拍照,这样能够节约大量的相机时间。

同样,若夹具足够大,也可以控制实现一次抓取多个位置的箱子,以提高抓取节拍。