电路板抓取控制方法、装置、设备及存储介质转让专利

申请号 : CN202111331010.X

文献号 : CN113752268B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 魏晟杨红杰胡迪温志庆

申请人 : 季华实验室

摘要 :

本申请涉及电路板检测技术领域,并具体公开了一种电路板抓取控制方法、装置、设备及存储介质。其中方法包括:获取两个时刻拍摄电路板形成的拍摄图像;基于两个时刻对应的所述拍摄图像,计算所述电路板在两个时刻的位姿参数;基于所述电路板在两个时刻的位姿参数,计算所述电路板在两个时刻的位姿偏差;判断所述位姿偏差是否小于预设偏差;响应于所述位姿偏差小于所述预设偏差,控制机械臂夹爪抓取所述电路板。相对于在电路板移动的情况下抓取电路板的方法,本申请提供的电路板抓取控制方法可以更为精准地抓取电路板。

权利要求 :

1.一种电路板抓取控制方法,用于控制机械臂夹爪抓取皮带传输线上的电路板;其特征在于,所述方法包括:

获取两个时刻拍摄电路板形成的拍摄图像;

基于两个时刻对应的所述拍摄图像,计算所述电路板在两个时刻的位姿参数;

基于所述电路板在两个时刻的位姿参数,计算所述电路板在两个时刻的位姿偏差;

判断所述位姿偏差是否小于预设偏差;

响应于所述位姿偏差小于所述预设偏差,控制机械臂夹爪抓取所述电路板。

2.根据权利要求1所述的方法,其特征在于,所述拍摄图像包括深度图像;

所述基于两个时刻对应的所述拍摄图像,计算所述电路板在两个时刻的位姿参数,包括:

基于两个时刻拍摄的所述深度图像,生成对应的源点云;

获取两个时刻对应的所述源点云中与目标点云配准的配准点云,所述目标点云是预先获取的,表征同类电路板轮廓的点云;

基于两个时刻对应的所述配准点云,计算所述电路板在两个时刻的位姿参数。

3.根据权利要求2所述的方法,其特征在于,所述拍摄图像还包括平面图像;

所述基于两个时刻对应的所述拍摄图像,计算所述电路板在两个时刻的位姿参数,还包括:

获取两个时刻对应的所述平面图像中,与目标平面图像匹配的子图像区域,所述目标平面图像是预先获取的,表征同类电路板外观的平面图像;

基于两个时刻对应的所述子图像区域,确定对应的所述深度图像中子深度图像;

所述基于两个时刻对应的所述深度图像,生成对应的源点云,包括:基于所述两个时刻对应的所述深度图像中的子深度图像,生成对应的所述源点云。

4.根据权利要求2或3所述的方法,其特征在于,所述基于两个时刻对应的所述配准点云,计算所述电路板在两个时刻的位姿参数,包括:

基于两个时刻对应的所述配准点云,确定所述电路板中设定位置在两个时刻的位置坐标;

所述基于所述电路板在两个时刻的位姿参数,计算所述电路板在两个时刻的位姿偏差,包括:

基于所述电路板中预设位置在两个时刻的位置坐标,计算位置偏差。

5.根据权利要求2或3所述的方法,其特征在于,所述基于两个时刻对应的所述配准点云,计算所述电路板在两个时刻的位姿参数,包括:

基于所述两个时刻对应的所述配准点云,分别计算在两个时刻包围所述电路板的最小有向包围盒的主成分方向;

所述基于所述电路板在两个时刻的位姿参数,计算所述电路板在两个时刻的位姿偏差,包括:

基于两个时刻对应的所述最小有向包围盒的主成分方向,计算电路板在两个时刻的角度偏差。

6.根据权利要求1所述的方法,其特征在于,所述控制机械臂夹爪抓取所述电路板,包括:

获取所述电路板的抓取偏置参数;

基于所述电路板的抓取偏置参数和所述电路板在两个时刻中后一时刻的位姿参数,计算所述机械臂抓取所述电路板时的抓取位姿;

基于所述抓取位姿控制所述机械臂夹爪抓取所述电路板。

7.一种电路板抓取控制装置,用于控制机械臂夹爪抓取皮带传输线上的电路板;其特征在于,包括:

图像获取单元,用于获取两个时刻拍摄电路板形成的拍摄图像;

位姿参数确定单元,用于基于两个时刻对应的所述拍摄图像,计算所述电路板在两个时刻的位姿参数;

位姿偏差确定单元,用于基于所述电路板在两个时刻的位姿参数,计算所述电路板在两个时刻的位姿偏差;

判断单元,用于判断所述位姿偏差是否在预设偏差内;

抓取控制单元,用于在所述判断单元判定所述位姿偏差在所述预设偏差内的情况下,控制机械臂夹爪抓取所述电路板。

8.根据权利要求7所述的装置,其特征在于,所述拍摄图像包括深度图像;所述位姿参数确定单元包括:

源点云确定子单元,用于基于两个时刻拍摄的所述深度图像,生成对应的源点云;

配准点云确定子单元,用于获取两个时刻对应的所述源点云中,与目标点云配准的配准点云,所述目标点云是预先获取的,表征同类电路板轮廓的点云;

位姿参数确定子单元,用于基于两个时刻对应的所述配准点云,计算所述电路板在两个时刻的位姿参数。

9.一种计算设备,包括:存储器和处理器,其中,所述存储器中存储有计算机程序,当所述计算机程序被所述处理器执行时,实现如权利要求1‑6中任一项所述的电路板抓取控制方法。

10.一种计算机可读存储介质, 其中,所述存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行根据权利要求1‑6中任一项所述的电路板抓取控制方法。

说明书 :

电路板抓取控制方法、装置、设备及存储介质

技术领域

[0001] 本申请涉及电路板检测技术领域,具体涉及电路板抓取控制方法、装置、设备及存储介质。

背景技术

[0002] 相关技术中,组装完成的电路板经由皮带传输线传送至检测台附近,触发工业机器人中的拍摄相机拍摄图像。随后,工业机器人基于拍摄图像确定电路板的位姿,并基于电
路板的位姿控制自身机械臂夹爪抓取电路板。
[0003] 但是,相关技术中,机械臂夹爪抓取电路板时,电路板仍然随着皮带传输线移动,造成机械臂夹爪无法较为准确抓取电路板。

发明内容

[0004] 为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供一种电路板抓取控制方法、装置、设备及存储介质。
[0005] 一方面,本申请提供一种电路板抓取控制方法,用于控制机械臂夹爪抓取皮带传输线上的电路板;所述方法包括:
[0006] 获取两个时刻拍摄电路板形成的拍摄图像;
[0007] 基于两个时刻对应的所述拍摄图像,计算所述电路板在两个时刻的位姿参数;
[0008] 基于所述电路板在两个时刻的位姿参数,计算所述电路板在两个时刻的位姿偏差;
[0009] 判断所述位姿偏差是否小于预设偏差;
[0010] 响应于所述位姿偏差小于所述预设偏差,控制机械臂夹爪抓取所述电路板。
[0011] 可选地,所述拍摄图像包括深度图像;
[0012] 所述基于两个时刻对应的所述拍摄图像,计算所述电路板在两个时刻的位姿参数,包括:
[0013] 基于两个时刻拍摄的所述深度图像,生成对应的源点云;
[0014] 获取两个时刻对应的所述源点云中,与目标点云配准的配准点云,所述目标点云是预先获取的,表征同类电路板轮廓的点云;
[0015] 基于两个时刻对应的所述配准点云,计算所述电路板在两个时刻的位姿参数。
[0016] 可选地,所述拍摄图像还包括平面图像;
[0017] 所述基于两个时刻对应的所述拍摄图像,计算所述电路板在两个时刻的位姿参数,还包括:
[0018] 获取两个时刻对应的所述平面图像中,与目标平面图像匹配的子图像区域,所述目标平面图像是预先获取的,表征同类电路板外观的平面图像;
[0019] 基于两个时刻对应的所述子图像区域,确定对应的所述深度图像中子深度图像;
[0020] 所述基于两个时刻对应的所述深度图像,生成对应的源点云,包括:基于所述两个时刻对应的所述深度图像中的子深度图像,生成对应的所述源点云。
[0021] 可选地,所述基于两个时刻对应的所述配准点云,计算所述电路板在两个时刻的位姿参数,包括:
[0022] 基于两个时刻对应的所述配准点云,分别确定所述电路板中设定位置在两个时刻的位置坐标;
[0023] 所述基于所述电路板在两个时刻的位姿参数,计算所述电路板在两个时刻的位姿偏差,包括:
[0024] 基于所述电路板中预设位置在两个时刻的位置坐标,计算位置偏差。
[0025] 可选地,所述基于两个时刻对应的所述配准点云,计算所述电路板在两个时刻的位姿参数,包括:
[0026] 基于所述两个时刻对应的所述配准点云,分别计算在两个时刻包围所述电路板的最小有向包围盒的主成分方向;
[0027] 所述基于所述电路板在两个时刻的位姿参数,计算所述电路板在两个时刻的位姿偏差,包括:
[0028] 基于两个时刻对应的所述最小有向包围盒的主成分方向,计算电路板在两个时刻的角度偏差。
[0029] 可选地,所述控制机械臂夹爪抓取所述电路板,包括:
[0030] 获取所述电路板的抓取偏置参数;
[0031] 基于所述电路板的抓取偏置参数和所述电路板在两个时刻中后一时刻的位姿参数,计算所述机械臂抓取所述电路板时的抓取位姿;
[0032] 基于所述抓取位姿控制所述机械臂夹爪抓取所述电路板。
[0033] 另一方面,本申请提供一种电路板抓取控制装置,用于控制机械臂夹爪抓取皮带传输线上的电路板;所述装置包括:
[0034] 图像获取单元,用于获取两个时刻拍摄电路板形成的拍摄图像;
[0035] 位姿参数确定单元,用于基于两个时刻对应的所述拍摄图像,计算所述电路板在两个时刻的位姿参数;
[0036] 位姿偏差确定单元,用于基于所述电路板在两个时刻的位姿参数,计算所述电路板在两个时刻的位姿偏差;
[0037] 判断单元,用于判断所述位姿偏差是否在预设偏差内;
[0038] 抓取控制单元,用于在所述判断单元判定所述位姿偏差在所述预设偏差内的情况下,控制机械臂夹爪抓取所述电路板。
[0039] 可选地,所述拍摄图像包括深度图像;所述位姿参数确定单元包括:
[0040] 源点云确定子单元,用于分别基于两个时刻拍摄的所述深度图像,生成对应的源点云;
[0041] 配准点云确定子单元,用于获取两个时刻对应的所述源点云中,与目标点云配准的配准点云,所述目标点云是预先获取的,表征同类电路板轮廓的点云;
[0042] 位姿参数确定子单元,用于基于两个时刻对应的所述配准点云,计算所述电路板在两个时刻的位姿参数。
[0043] 再一方面,本申请提供一种计算设备,包括:存储器和处理器,其中,所述存储器中存储有计算机程序,当所述计算机程序被所述处理器执行时,实现如前所述的电路板抓取
控制方法。
[0044] 再一方面,本申请提供一种计算机可读存储介质, 其中,所述存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行如前所述的电路板抓取控制方法。
[0045] 本申请提供的技术方案与现有技术相比具有如下优点:
[0046] 本申请提供技术方案,基于两个时刻拍摄电路板形成的拍摄图像,分别计算电路板在两个时刻的位姿参数,并基于两个时刻的位姿参数计算位姿偏差。当判定位姿偏差小
于预设偏差的情况下,确定电路板已经稳定,继而控制机械臂夹爪抓取电路板。相对于在电
路板移动的情况下抓取电路板的方法,本申请提供的电路板抓取控制方法可以更为精准地
抓取电路板。

附图说明

[0047] 此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
[0048] 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,对于本领域普通技术人员而
言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图,其中:
[0049] 图1是电路板生产线检测工位区域的结构示意图;
[0050] 图2是本申请实施例提供的电路板抓取控制方法流程图;
[0051] 图3是本申请一些实施例提供的电路板抓取控制装置的结构示意图;
[0052] 图4是本申请实施例提供的一种计算机设备的结构示意图。

具体实施方式

[0053] 下面将参照附图更详细地描述本申请的实施例。虽然附图中显示了本申请的某些实施例,然而应当理解的是,本申请可以通过各种形式来实现,而且不应该被解释为限于这
里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本申请。应当理解的
是,本申请的附图及实施例仅用于示例性作用,并非用于限制本申请的保护范围。
[0054] 本申请实施例提供一种电路板抓取控制方法,用于在确定电路板静止后再控制机械臂夹爪抓取电路板,继而提高电路板抓取的准确性。
[0055] 为了能够更为清楚地理解本实施例提供的电路板抓取控制方法,在对本申请实施例提供的电路板抓取控制方法做介绍前,首先对电路板生产流水线中的生产检测工位的结
构做介绍。
[0056] 图1是电路板生产线检测工位区域的结构示意图。如图1所示,电路板生产线检测工位区域包括皮带传输线11(为了方便起见,图1中仅示出了皮带传输线11的部分)、阻拦装
置12、来料检测传感器(图中未示出)、工业机器人13和检测台14。
[0057] 皮带传输线11用于将电路板生产线上游组装完成的电路板传输至检测工位区域。
[0058] 阻拦装置12设置在皮带传输线11的上方,用于阻拦经由皮带传输线11传输的电路板,使得电路板降速并停留在阻拦横杆的一侧。具体实施例中,阻拦装置12可以为阻拦横
杆。
[0059] 来料检测传感器设置在阻拦横杆的来料侧,用于检测阻拦横杆来料侧是否有电路板。当检测到阻拦装置的来料侧具有电路板时,来料检测传感器生成检测信号并发送给工
业机器人13,以使得工业机器人13执行电路板位姿检测和电路板的抓取操作。具体实施例
中,来料检测传感器可以是对射传感器,也可以是其他类型的传感器。
[0060] 工业机器人13用于执行电路板的位姿检测和抓取操作。具体的,工业机器人13包括拍摄相机131、计算机设备(图中未示出)、机械臂132和安装在机械臂132末端的夹爪133。
其中拍摄相机用于拍摄被阻拦装置拦截的电路板而形成拍摄图像,并将拍摄图像发送给计
算机设备。计算机设备基于拍摄图像确定电路板的位姿参数,根据电路板的位姿参数生成
控制机械臂132以及机械臂132末端夹爪133的动作的控制指令,进而控制机械臂132和机械
臂132末端夹爪133抓取电路板。
[0061] 如图1所示,本申请一些实施例中,拍摄相机安装在机械臂132末端,随着机械臂132动作而发生位置移动。在本申请的其他实施例中,拍摄相机131也可以独立于机械臂132
设置,例如可以固定在皮带传输线11的阻拦装置12上侧区域。
[0062] 图2是本申请实施例提供的电路板抓取控制方法流程图。如图2所示,本申请实施例中,电路板抓取控制方法可以包括步骤S201‑S205。应当注意的是,本申请实施例提供的
电路板抓取控制方法由工业机器人中的计算机设备执行。
[0063] S201:获取两个时刻拍摄电路板形成的拍摄图像。
[0064] 本申请实施例中,在阻拦装置的来料侧具有电路板后,拍摄相机拍摄被阻拦装置拦截的电路板而形成拍摄图像,并将拍摄图像发送给计算机设备。本申请实施例中,拍摄相
机按照设定的拍摄频率拍摄电路板,形成拍摄图像,并将拍摄图像发送给计算机设备。
[0065] 计算机设备在接收到拍摄相机在多个时刻拍摄阻拦装置拦截的电路板而形成的拍摄图像后,按照设定的抽样方法获取两个时刻对应的拍摄图像。例如,计算机设备可以按
照每秒获取一张拍摄图像的方式,对拍摄相机发送而来的拍摄图像进行采样,而得到两个
时刻对应的拍摄图像。
[0066] 应当注意的是,本申请实施例中,如果拍摄相机安装在机械臂末端,计算机设备首先控制机械臂动作,使得拍摄相机移动至皮带传输线的正上侧。随后,计算机设备控制拍摄
相机拍摄电路板而得到拍摄图像。
[0067] S202:基于两个时刻对应的拍摄图像,计算电路板在两个时刻的位姿参数。
[0068] 电路板的位姿参数是表征电路板在某一坐标系下位置和姿态的参数,电路板的位姿参数可以包括位置参数和姿态参数。
[0069] 电路板的位置参数是电路板特定部位的位置坐标,例如可以是电路板中心点或者边角点的位置坐标,或者是电路板中具有特定颜色或者特定形状的组件的位置坐标。
[0070] 电路板的姿态参数是电路板在某一坐标系下相对于参考坐标轴的偏转角度。
[0071] 应当注意的是,前述的坐标系可以是相机坐标系,也可以以工业机器人坐标原点确定的世界坐标系,本申请实施例并不做特别地限定。
[0072] 计算机设备在获取到两个时刻对应的拍摄图像后,采用相应的图像处理方法对两个拍摄图像进行处理,计算得到电路板在两个时刻的位姿参数。具体实施中,基于拍摄图像
类型的不同,计算机设备采用的图像处理方法有不同。
[0073] 在本申请的一些实施例中,拍摄相机是普通相机(也就是常规用的2D相机)。拍摄图像为平面图像。在此情况下,计算机设备基于两个时刻对应的拍摄图像计算电路板在两
个时刻的位姿参数可以包括如下的步骤。首先识别出电路板在两个时刻对应的拍摄图像中
的区域,随后采用逆透视变换的方法,基于普通相机的内部参数和外部参数对电路板在两
个时刻对应的拍摄图像中的区域进行逆透视变换,得到逆透视图像;随后基于逆透视图像
确定电路板在两个时刻的位姿参数。
[0074] 在本申请另外一些实施例中,拍摄相机是深度相机,例如可以是结构光深度相机、双目视觉相机或者光飞行时间法相机。在拍摄相机为深度相机的情况下,拍摄图像包括深
度图像。对应的,步骤S202基于两个时刻对应的拍摄图像,计算电路板在两个时刻的位姿参
数可以包括步骤S2021‑S2023。
[0075] 步骤S2021:基于两个时刻拍摄的深度图像,生成对应的源点云。
[0076] 本申请实施例中,计算机设备首先获取深度相机的内参矩阵,随后基于内参矩阵对深度图像中各个像素点的像素坐标进行转换处理,而得到两个时刻对应的源点云。
[0077] 步骤S2022:获取两个时刻对应的源点云中,与目标点云配准的配准点云。
[0078] 目标点云是预先存储的,表征同类电路板外轮廓的点云。本申请实施例中,目标点云可以是采用深度相机拍摄标准电路板而形成的点云。
[0079] 本申请实施例中,可以采用诸如迭代最近点算法(Iterative Cloest Point,ICP)或者正态分布变换算法 (Normal Distribution Transform,NDT)分别确定两个时刻对应
的源点云中,与目标电源配准的配准点云。
[0080] 步骤S2023:基于两个时刻对应的配准点云,计算电路板在两个时刻的位姿参数。
[0081] 在获取得到两个时刻的配准点云后,也就获取到了两个时刻中电路板的外观轮廓。随后可以基于配准点云,计算得到电路板在两个时刻的位姿参数。
[0082] 本申请实施例中,基于配准点云计算得到电路板在两个时刻的位姿参数包括获取位置参数和姿态参数。
[0083] 在本申请的一些实施例中,基于两个时刻对应的配准点云,确定电路板在两个时刻的位置参数可以包括步骤A:基于两个时刻对应的配准点云,确定电路板中设定位置在两
个时刻的位置坐标。具体的,可以根据配准点云中各个点的相位位置关系,确定表征电路板
设定位置的点或者距离设定位置最近的点,随后再根据前述的点的坐标确定设定位置的位
置坐标。
[0084] 在本申请的一些实施例中,基于两个时刻对应的配准点云,确定电路板在两个时刻的姿态参数可以包括步骤B:分别计算在两个时刻包围电路板的最小有向包围盒的主成
分方向,采用最小包围盒的主成分方向作为电路板的姿态参数。具体实施例中,可以采用主
成分分析方法获取两个时刻包围电路板的最小有向包围盒的主成分方向,并将最小包围盒
的主成分方向作为电路板的姿态参数。
[0085] 在本申请具体实施例中,如果直接采用前述的步骤S2021生成两个时刻深度图像对应的源点云,源点云包括深度图像中所有坐标点对应的源点云。此时,在后续步骤S2022
中基于源点云和目标点云确定配准点云可能会消耗大量的算力资源,还可能出现局部匹配
而造成得到的配准点云错误的问题。
[0086] 为了解决前述问题,在本申请的一些实施例中,拍摄相机拍摄得到的拍摄图像除了包括前述的深度图像外,还包括平面图像,平面图像可以采用与深度相机坐标关联的平
面相机拍摄得到,或者采用深度相机中的平面镜头拍摄得到。在此情况下,在执行步骤
S2021之前,还可以执行步骤S2024‑S2025。
[0087] 步骤S2024:获取两个时刻对应的平面图像中,与目标平面图像匹配的子图像区域。
[0088] 目标平面图像是预先存储的,表征同类电路板外轮廓的二维图像。
[0089] 在获得两个时刻对应的平面图像后,可以基于平面图像和目标平面图像,采用诸如平均绝对差算法、绝对误差和算法、误差平方和算法、平均误差平方和算法、归一化积相
关算法等算法,确定与目标平面图像匹配的子图像区域。
[0090] 步骤S2025:基于两个时刻对应的子图像区域,确定对应的深度图像中子深度图像。
[0091] 本申请实施例中,拍摄平面图像的平面相机与深度相机坐标关联拍摄得到,或者采用深度相机中的平面镜头拍摄得到,因此平面图像中像素点与深度图像中像素点的坐标
转换关系已知。在已知前述坐标转换关系后,并且获得两个时刻对应的子图像区域后,可以
基于子图像区域确定对应的深度图像中的子深度图像。
[0092] 对应的,前述步骤S2021可以包括:基于两个时刻对应的深度图像中的子深度图像,生成对应的源点云。
[0093] 在采用前述步骤S2024和S2025确定两个时刻对应的深度图像的子深度图像后,仅对子深度图像生成对应的源点云,可以减少源点云中包括的点的数量,继而减少步骤S2022
中基于源点云和目标点云确定配准点云时,因为源点云数据量过大而造成的算力消耗,同
时避免因为局部匹配而造成得到的配准点云错误的问题。
[0094] 步骤S203:基于电路板在两个时刻的位姿参数,计算电路板在两个时刻的位姿偏差。
[0095] 如前,电路板的位姿参数包括位置参数和姿态参数。本申请实施例中,计算电路板在两个时刻的位姿偏差可以包括计算位置偏差和姿态偏差。
[0096] 在本申请一些实施例中,在采用前述步骤A确定电路板中设定位置在两个时刻的位置坐标的情况下,步骤S203计算两个时刻的位置偏差包括步骤S2031:基于电路板中预设
位置在两个时刻的位置坐标,计算位置偏差。具体的,如果电路板中设定位置在两个时刻的
位置坐标分别为 和 ,则位置偏差为 。
[0097] 在本申请的一些实施例中,在采用采用最小包围盒的主成分方向作为电路板的姿态参数的情况下,步骤S203计算两个时刻的位置偏差包括步骤S2032:基于两个时刻对应的
最小有向包围盒的主成分方向,计算电路板在两个时刻的角度偏差。具体的,如果两个时刻
对应的最小包围盒的主成分方向分别为 和 ,则角度偏差为 。
[0098] 在确定电路板在两个时刻的位姿偏差后,可以执行步骤S204。
[0099] 步骤S204:判断位姿偏差是否小于预设偏差。若是,执行步骤S205;若否,重新执行步骤S201。
[0100] 判断位姿偏差是小于预设偏差内,包括判断位置偏差和角度偏差是否小于预设偏差内,前述的预设偏差包括预设的位置偏差和预设的角度偏差。在本申请的一些实施例中,
预设的位置偏差为1mm,预设的角度偏差为1°,如果位置偏差小于1mm并且角度偏差小于1°,
则确定电路板的位姿偏差小于预设偏差。
[0101] 步骤S205:响应于位姿偏差小于预设偏差,控制机械臂夹爪抓取电路板。
[0102] 本申请实施例中,如果位姿偏差小于预设偏差,则确定电路板被阻拦装置拦截后位置已经稳定。此时中控机控制机械臂夹爪抓取电路板。
[0103] 本申请实施例提供的电路板抓取控制方法,基于两个时刻拍摄电路板形成的拍摄图像,分别计算电路板在两个时刻的位姿参数,并基于两个时刻的位姿参数计算位姿偏差。
当判定位姿偏差小于预设偏差的情况下,确定电路板已经稳定,继而控制机械臂夹爪抓取
电路板。相对于在电路板移动的情况下抓取电路板的方法,本申请实施例提供的电路板抓
取控制方法可以更为精准地抓取电路板。
[0104] 在本申请的一些实施例中,步骤S205中控制机械臂夹爪夹取电路板具体可以包括步骤S2051‑ S2053。
[0105] 步骤S2051:获取电路板的抓取偏置参数。
[0106] 电路板的抓取偏置参数是表征机械臂夹爪的夹取位置和夹取相对于电路板的位姿参数的偏置参数。本申请一些实施例中,抓取偏置参数可以为抓取偏置矩阵表示。
[0107] 步骤S2052:基于电路板的抓取偏置参数和电路板在后一时刻的位姿参数,计算机设备械臂抓取电路板时的抓取位姿。
[0108] 本申请一些实施例中,在电路板的位姿参数为在世界坐标系下的位姿参数的情况下,可以直接采用抓取偏置参数和电路板的位置参数计算得到机械臂抓取电路板时的抓取
位姿。具体的,可以采用H(gripper pose) = H(PCBpose in base) ×T(offset)得到抓取
位姿H(gripper pose),其中H(PCBpose in base)为电路板在实际做包系下的位姿参数,T
(offset)为基于抓取偏置参数确定的转换矩阵。
[0109] 在本申请的另外一些实施例中,在电路板的位姿参数为在相机坐标系下的位姿参数的情况下,还需要将相机坐标系下的位姿参数转换为世界坐标系下的位姿参数,在基于
世界坐标系下的位姿参数和住区偏置参数,计算得到抓取位姿。例如,可以采用H(gripper 
pose) = T(Camera in base) × H( PCBpose in camera) ×T(offset)得到抓取位姿H
(gripper pose),其中T(Camera in base)为相机坐标系和世界坐标系的转换矩阵,H( 
PCBpose in camera)为电路板在相机坐标系下的位姿参数,T(offset)为基于抓取偏置参
数确定的转换矩阵。
[0110] 除了提供前述的电路板抓取控制方法外,本申请实施例还提供一种电路板抓取控制装置,用于控制机械臂夹爪抓取皮带传输线上被阻拦装置拦截的电路板。图3是本申请一
些实施例提供的电路板抓取控制装置的结构示意图。本申请实施例提供的电路板抓取控制
装置是可以是前述计算机设备的功能模块。
[0111] 如图3所示,本申请实施例提供的电路板抓取控制装置300包括图像获取单元301、位姿参数确定单元302、位姿偏差确定单元303、判断单元304和抓取控制单元305
[0112] 图像获取单元301用于获取两个时刻拍摄电路板形成的拍摄图像。
[0113] 位姿参数确定单元302用于基于两个时刻对应的拍摄图像,计算电路板在两个时刻的位姿参数。
[0114] 位姿偏差确定单元303用于基于电路板在两个时刻的位姿参数,计算电路板在两个时刻的位姿偏差。
[0115] 判断单元304用于判断位姿偏差是否在预设偏差内。
[0116] 抓取控制单元305用于在判断单元304判定位姿偏差在预设偏差内的情况下,控制机械臂夹爪抓取电路板。
[0117] 在本申请一些实施例中,拍摄图像包括深度图像。在此情况下,位姿参数确定单元302可以包括源点云确定子单元、配准点云确定子单元和位姿参数确定子单元。
[0118] 源点云确定子单元用于基于两个时刻拍摄的深度图像,生成对应的源点云。
[0119] 配准点云确定子单元用于获取两个时刻对应的源点云中,与目标点云配准的配准点云,目标点云是预先获取的,表征同类电路板轮廓的点云。
[0120] 位姿参数确定子单元用于基于两个时刻对应的配准点云,计算电路板在两个时刻的位姿参数。
[0121] 在本申请的一些实施例中,拍摄图像除了包括深度图像外,还可以包括平面图像。对应的,位姿参数确定单元302还可以包括子图像区域确定子单元和子深度图像确定子单
元。
[0122] 子图像区域确定子单元获取两个时刻对应的平面图像中,与目标平面图像匹配的子图像区域,目标平面图像是预先获取的,表征同类电路板外观的平面图像。
[0123] 子深度图像确定子单元用于基于两个时刻对应的子图像区域,确定对应的深度图像中子深度图像。
[0124] 对应的,源点云确定子单元基于两个时刻对应的深度图像,生成对应的源点云具体为:基于两个时刻对应的深度图像中的子深度图像,生成对应的源点云。
[0125] 在本申请一些实施例中,位姿参数确定单元302基于两个时刻对应的配准点云计算电路板在两个时刻的位姿参数包括:基于两个时刻对应的配准点云,确定电路板中设定
位置在两个时刻的位置坐标。对应的,位姿偏差确定单元303基于电路板中预设位置在两个
时刻的位置坐标,计算位置偏差。
[0126] 在本申请的一些实施例中,位姿参数确定单元302基于两个时刻对应的配准点云计算电路板在两个时刻的位姿参数包括:基于两个时刻对应的配准点云,分别计算在两个
时刻包围电路板的最小有向包围盒的主成分方向。对应的,位姿偏差确定单元303基于两个
时刻对应的最小有向包围盒的主成分方向,计算电路板在两个时刻的角度偏差。
[0127] 在本申请的一些实施例中,抓取控制单元305包括偏置参数获取子单元、抓取位姿确定子单元和抓取控制子单元。偏置参数获取子单元用于获取电路板的抓取偏置参数。抓
取位姿确定子单元用于基于电路板的抓取偏置参数和电路板在两个时刻中后一时刻的位
姿参数,计算机设备械臂抓取电路板时的抓取位姿。抓取控制子单元用于基于抓取位姿控
制机械臂夹爪抓取电路板。
[0128] 本申请实施例还提供一种计算机设备,该计算机设备包括处理器和存储器,其中,存储器中存储有计算机程序,当计算机程序被处理器执行时可以实现上述任一实施例的电
路板抓取控制方法。
[0129] 示例的,图4是本申请实施例提供的一种计算机设备的结构示意图。本申请实施例提供的计算机设备部署在边缘计算集群中,通过专用网络与边缘计算集群中的计算节点通
信连接。
[0130] 下面具体参考图4,其示出了适于用来实现本申请实施例中的计算机设备400的结构示意图。图4示出的计算机设备仅仅是一个示例,不应对本申请实施例的功能和使用范围
带来任何限制。
[0131] 如图4所示,计算机设备400可以包括处理装置(例如中央处理器、图形处理器等)401,其可以根据存储在只读存储器ROM402中的程序或者从存储装置408加载到随机访问存
储器RAM403中的程序而执行各种适当的动作和处理。在RAM 403中,还存储有计算机设备
400操作所需的各种程序和数据。处理装置401、ROM 402以及RAM 403通过总线404彼此相
连。输入/输出I/O接口405也连接至总线404。
[0132] 通常,以下装置可以连接至I/O接口405:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置406;包括例如液晶显示器(LCD)、扬声器、振
动器等的输出装置407;包括例如磁带、硬盘等的存储装置408;以及通信装置409。通信装置
409可以允许计算机设备400与其他设备进行无线或有线通信以交换数据。虽然图4示出了
具有各种装置的计算机设备400,但是应理解的是,并不要求实施或具备所有示出的装置。
可以替代地实施或具备更多或更少的装置。
[0133] 特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可
读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这
样的实施例中,该计算机程序可以通过通信装置409从网络上被下载和安装,或者从存储装
置408被安装,或者从ROM 402被安装。在该计算机程序被处理装置401执行时,执行本申请
实施例的方法中限定的上述功能。
[0134] 需要说明的是,本申请上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不
限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计
算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便
携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储
器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD‑ROM)、光存储器件、磁存储器件、
或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程
序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本
申请中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其
中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于
电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存
储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于
由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的
程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述
的任意合适的组合。
[0135] 在一些实施方式中,客户端、计算机设备可以利用诸如HTTP(HyperText Transfer Protocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可
以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网
(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网
络),以及任何当前已知或未来研发的网络。
[0136] 上述计算机可读介质可以是上述计算机设备中所包含的;也可以是单独存在,而未装配入该计算机设备中。
[0137] 上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该计算机设备执行时,使得该计算机设备:接收所述计算节点发送的第一镜像下载请求,所述第
一镜像下载请求包括待加载镜像的标识;基于所述待加载镜像的标识,查询本地是否存储
所述待加载镜像;响应于本地存储所述待加载镜像,将所述待加载镜像发送给所述计算节
点。
[0138] 可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、
Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语
言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立
的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或
计算机设备上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网
络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算
机(例如利用因特网服务提供商来通过因特网连接)。
[0139] 附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代
表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用
于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标
注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上
可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注
意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执
行规定的功能或操作的专用的根据硬件的系统来实现,或者可以用专用硬件与计算机指令
的组合来实现。
[0140] 描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。
[0141] 本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专
用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等
等。
[0142] 在本申请的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可
读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电
子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合
适组合。机器可读存储介质的更具体示例会包括根据一个或多个线的电气连接、便携式计
算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM
或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD‑ROM)、光学储存设备、磁储存设备、或
上述内容的任何合适组合。
[0143] 本申请实施例还提供一种计算机可读存储介质,所述存储介质中存储有计算机程序,当所述计算机程序被处理器执行时可以实现上述任一方法实施例的方法,其执行方式
和有益效果类似,在这里不再赘述。
[0144] 需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之
间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在
涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些
要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设
备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除
在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0145] 以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的
一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请
将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一
致的最宽的范围。