一种工件整理归位的AI算法

文档序号:32392992发布日期:2022-11-30 09:04阅读:114来源:国知局
一种工件整理归位的AI算法
一种工件整理归位的ai算法
技术领域
1.本发明涉及计算机应用技术、嵌入式系统、人工智能领域,具体涉及一种工件整理归位的ai算法。


背景技术:

2.目前在自动分拣整理方面,大多数都采用了机械自动化操作实现。目前的方案有基于plc和机器视觉的工件自动分拣系统。但是plc运算能力不够强,因此基于plc的自动化操作并不能适应复杂的分拣环境。
3.对于外观相似的分拣物时,有方案是基于二维码的分拣方案。通过扫描枪扫描二维码图片获取目标垃圾的信息,以便分拣管理。
4.也有方案是通过颜色识别,通过颜色识别传感器来识别分拣目标。通过分拣物的不同颜色来进行区分分拣。只能对单个物件颜色进行识别,并不能对多个物件进行识别。
5.现有的分拣整理的技术缺点有:
6.针对plc的操作精度低,本发明的核心是通过ros系统,创建与机械臂的服务进行操作,可以精确控制机械臂动作,提高抓取的准确率。
7.针对扫描枪的不能同时识别多个二维码的局限性,本发明算法用的是摄像头识别二维码,可以识别同屏中多个二维码。提高分拣的速度效率。
8.针对颜色传感器无法识别多种颜色的弱点,本项目是通过摄像头来确定装纳盒的颜色进行分拣。


技术实现要素:

9.本发明的目的是提供一种工件整理归位的ai算法,用以实现分拣实训室工件。
10.为了实现上述任务,本发明采用以下技术方案:
11.一种工件整理归位的ai算法,通过工作台上安装机械臂,对散乱的电路板工件归位整理,整理到相应的装纳盒中;其中,机械臂为多关节结构,机械臂的的末端执行器为夹爪;在夹爪上搭载有摄像头;所述算法包括:
12.步骤1,主控模块利用预先设定好的校准图像,对摄像头拍摄图片的横轴、纵轴、大小、弯曲四个维度进行校准;
13.步骤2,初始化过程
14.通过ros系统生成ar二维码,通过二维码记录id号码,用id号码作为分拣工件的标识号;将同一种电路板工件编为同一种id的二维码,将同一种装纳盒编为同一种id的二维码;然后将生成的电路板工件的二维码、装纳盒的二维码打印后,粘贴到电路板工件的中心位置以及装纳盒的内侧壁上;
15.然后是开启服务,用于主控模块与机械臂进行通信;所述服务包括二维码服务、任务空间坐标控制服务、关节空间坐标服务、夹爪控制服务,其中:
16.二维码获取服务,用于获取摄像头捕抓到的二维码图像数据和位置数据;
17.任务空间坐标控制服务,本方案的主控模块通过此服务来把以摄像头为原点的二维码的坐标值转换为以机械臂底座中心为原点的任务空间的坐标值,并对机械臂发送任务空间坐标的值,用于进行关节空间的旋转坐标的计算;
18.关节空间坐标控制服务,用于给机械臂发送关节空间的旋转坐标,机械臂获得关节空间中各个关节的旋转角值后,即会把机械臂的位姿调整到关节空间描述的对应位置;
19.夹爪控制服务,用于给机械臂发送夹爪张开的值,机械臂会根据此值来打开/闭合机械臂;
20.步骤3,初始化完成后,将机械臂移动到识别位置,利用摄像头对桌面上待分拣的电路板工件进行图像获取;通过图像识别,获取电路板工件上的二维码图像,并将图像中所有的电路板工件的二维码的内容以及位置信息记录下来;其中,内容信息表示二维码本身所包含的信息,包括工件的id号码;位置信息则是电路板工件上的二维码相对于摄像头为原点的目标坐标系的坐标点信息;
21.步骤4,通过二维码服务,把二维码的内容信息以及位置信息发送到主控模块,在主控模块利用任务空间坐标控制服务进行坐标转换;具体内容是把以摄像头为原点的二维码的坐标值转换为以机械臂底座中心为原点的任务空间的坐标值;
22.首先在识别二维码前,机械臂会先到达一个人为设定便于检测工件二维码的固定姿态,即q0(x0,y0,z0),q0此坐标点是摄像头在任务空间中的坐标,用于坐标系转换计算;c
x
,cy,cz分别是误差补偿常数,用于各种因素导致的计算误差,是通过实际情况标定后人为设定;假设通过二维码服务获取到多个二维码的坐标,第i个二维码的坐标为x
i’,y
i’,z
i’,转换后的任务空间坐标为q(xi,yi,zi),那么可以得到公式:
[0023][0024]
步骤5,获取到电路板工件的任务空间坐标q(xi,yi,zi)后,主控模块将任务空间坐标通过任务空间坐标控制服务将任务空间坐标q(xi,yi,zi)发送给机械臂;然后机械臂利用关节空间坐标控制服务,通过机器人逆运动学方法,将任务空间的坐标q(xi,yi,zi)转为关节空间的旋转坐标;机械臂按照旋转坐标将自身姿态移动到对应目标位置,并且通过夹爪控制服务发送行程系数,控制夹爪闭合抓取电路板工件;
[0025]
步骤6,抓取到目标电路板工件后,机械臂的位姿将移动到任务空间中预设的设定的q1点,在此识别装纳盒的二维码;获取到装纳盒的二维码的中的位置信息并转换为任务空间坐标后作为目标坐标,将目标坐标以及二维码包含的内容发送到主控模块;
[0026]
步骤7,根据实际装纳盒的边缘高度设置偏移常数c,以及误差进行人为设置;假设摄像头所在的任务空间的坐标是q1(xq,yq,zq),记第i个装纳盒的二维码的目标坐标为(x
i”,y
i”,z
i”),那么通过下式获得放置点的任务空间坐标u(x,y,z);计算公式如下:
[0027]
[0028]
步骤8,使用机器人逆运动学算法,通过放置点的任务空间坐标u(x,y,z)计算出关节空间的旋转坐标;通过关节空间坐标控制服务把旋转坐标发送到机械臂,从而使得机械臂姿态到达放置点,并通过夹爪控制服务发送行程系数,使得夹爪打开,工件放置在装纳盒中;
[0029]
步骤9,机械臂回到识别位置,识别图像中是否还有未分拣整理电路板工件的二维码;如果存在,返回到步骤3继续分拣;如果已经分拣完成,则机械臂回到初始化位置,休眠待机。
[0030]
进一步地,对于夹爪控制,夹爪实际张开的距离为变量d,夹爪的最大行程值为d
max
,通过预设的行程系数m控制乘以夹爪的最大行程值来得到实际张开距离d;
[0031]
d=m
×dmax
,0≤m≤1。
[0032]
进一步地,所述关节空间的旋转坐标包含机械臂各个关节的旋转角度,用于使机械臂的末端执行器到达目标位置。
[0033]
进一步地,所述电路板工件位于机械臂前方20-50cm的桌面上,装纳盒位于机械臂侧面20-50cm的桌面上;夹爪是平移型行程夹爪,最大行程是15厘米,并在夹爪内壁侧贴上软垫以防损坏工件。
[0034]
进一步地,所述算法的硬件包括主控模块、工作台、液晶显示屏、机械臂、摄像头、末端执行器、电源适配器以及机械臂的底座。
[0035]
与现有技术相比,本发明具有以下技术特点:
[0036]
1.通过二维码进行识别。能够准确通过二维码识别出实训室工件。使用200个样本作为测试,能够达到100%的识别率。并且同屏幕最多可以识别10个二维码。
[0037]
2.通过测试,可以抓取不同位置的工件,可以通过摄像头获取到的坐标调整机械臂的抓取位置,通过不同位置的测试,以200个样本为例,194个能够正确归位整理。
[0038]
3.基于目前的算法,可以灵活地根据二维码不同的位置而调整机械臂的抓取点,能够适用于散乱的工件整理,并且整理算法中还拥有误差补偿,提高了物件分拣整理的成功率,并且能够通过偏移常数避开放置的装纳盒和装纳盒的侧面阻挡。
附图说明
[0039]
图1为本发明中校准方案的流程示意图;
[0040]
图2为校准棋盘的示意图;
[0041]
图3为二维码识别定位算法流程图;
[0042]
图4为本发明的硬件抽象图;
[0043]
图5为本发明的校准界面示意图;
[0044]
图6为机械臂的坐标轴图;
[0045]
图7为装纳盒的示意图;
[0046]
图8为行程夹爪图。
具体实施方式
[0047]
本发明实现的场景是针对于智慧实训室的开发,实现其中的实训室工件分拣,通过工作台上安装机械臂,对散乱的电路板工件归位整理,整理到相应的装纳盒中;本发明采
用视觉识别定位方案,通过校准程序,获取摄像头图像中所有物体的坐标;校准完毕后,通过摄像头识别图像中的贴有二维码的电路板工件,获取到二维码的坐标,并通过本方案的算法将二维码坐标计算出任务空间坐标,再把任务空间坐标转换为关节空间坐标,通过关节空间操控机械臂的位姿来抓取电路板工件,再通过摄像头获取装纳盒的二维码坐标,通过本方案的算法将二维码转换为关节空间坐标,然后通过关键空间操控机械臂的位姿摆放电路板工件。
[0048]
本方案硬件构成如图4,具体如下表所示:
[0049]
工作整理归位ai算法硬件表
[0050]
名字型号数量主控模块nvidia jetson tx21工作台长
×
宽:150
×
150(cm)1液晶显示屏13.3寸1关节单元(底座)vkessm-a31关节单元(臂杆)vkessm-a23摄像头1080p分辨率摄像头1末端执行器行程15厘米1末端负载2kg1电源适配器dc 12v1底座尺寸直径
×
高度:150
×
90(mm)1
[0051]
专业术语解释
[0052]
关节空间。对于一个具有n个自由度的操作臂,它的姿态可以由所有连杆组成,以一组n个关节的旋转角度作为变量来描述机械臂的姿态。每一个变量都是以关节转轴圆心作为原点的二维角坐标系,这一组n个变量通常被称为n
×
1的关节矢量,所有关节矢量组成的空间成为关节空间。
[0053]
任务空间。机器人的任务空间是指由机械臂底座作为原点,机器人的末端执行器(参考附图4)所能够到达的所有空间区域,所用的是三维的笛卡尔坐标系,也被称为笛卡尔空间。
[0054]
自由度。指物体在空间中具有6个自由度,本方案用的机械臂是4自由度的。分别是沿着三维空间笛卡尔坐标系中的x,y,z三轴的移动自由度以及围绕这三轴旋转的自由度。
[0055]
本算法是装载在tx2主控模块中,根据机械臂上的摄像头获取目标坐标,目标坐标是以摄像头为原点的笛卡尔坐标。通过本方案的算法将目标是自定义制作的二维码,目标坐标通过算法计算得到以机械臂为底座的任务空间坐标;而实际抓取点是目标坐标的附近。因此需要误差补偿来得到真实的抓取点坐标。为了到达抓取点,通过机器人逆运动学算法,将机器人的任务空间坐标转为关节空间坐标,用于控制机械臂的位姿,从而实现分拣、整理摆放的行为。
[0056]
参见附图,本发明提供了一种工件整理归位的ai算法,包括以下步骤:
[0057]
本方案用于将散乱放置的电路板工件抓取到装纳盒中,如图7所示。其中电路板工件位于机械臂前方20-50cm的桌面上,装纳盒位于机械臂侧面20-50cm的桌面上,摄像头安装在机械臂的夹爪上。夹爪是平移型行程夹爪,如图8所所示,最大行程是15厘米,并在夹爪
内壁侧贴上软垫以防损坏工件。
[0058]
步骤1,校准方案
[0059]
本方案的识别分拣的第一个步骤是校准方案。由于市面上摄像头型号不一,因此画面可能会出现误差,影响二维码目标坐标值的准确度,为了减少误差,提高分拣整理的成功率,需要进行校准。校准的实现主要是在tx2模块上进行实现,通过tx2主控模块获取摄像头图像进行校准,是预先设定好校准的标准对象,本方案选用的是如附图2的6
×
8的黑白相间的棋盘作为校准对象,每个正方形都是2.4厘米的长度。将棋盘的格子数量和格子长宽预设好,然后启动校准程序。
[0060]
校准程序打开后,校准标准为x、y、size、skew摄像头图片的横轴、纵轴、大小、弯曲四个校准标准;通过此标准校准摄像头的图像。校准的流程如附图1所示。
[0061]
步骤2,整理归位算法
[0062]
初始化算法环境。需要开启摄像头获取拍摄图像,并且开启4个服务,其中有二维码获取服务。二维码首先是通过ros系统生成ar二维码,通过二维码记录id号码,用id号码作为分拣工件的标识号;将同一种电路板工件编为同一种id的二维码,将同一种装纳盒编为同一种id的二维码;然后将生成的电路板工件的二维码、装纳盒的二维码打印后,粘贴到电路板工件的中心位置以及装纳盒的内侧壁上。
[0063]
然后是开启服务,用于主控模块与机械臂进行通信,传输数据。本方法一共是开启了4个服务,分别是二维码服务、任务空间坐标控制服务、关节空间坐标服务、夹爪控制服务:
[0064]
二维码获取服务,此服务是用于获取摄像头捕抓到的二维码图像数据和位置数据。
[0065]
任务空间坐标控制服务,本方案的主控模块通过此服务来把以摄像头为原点的二维码的坐标值转换为以机械臂底座中心为原点的任务空间的坐标值,并对机械臂发送任务空间坐标的值,用于进行关节空间的旋转坐标的计算。
[0066]
关节空间坐标控制服务,此服务用于给机械臂发送关节空间的旋转坐标,机械臂获得关节空间中各个关节的旋转角值后,即会把机械臂的位姿调整到关节空间描述的对应位置。
[0067]
夹爪控制服务,此服务用于给机械臂发送夹爪张开的值。机械臂会根据此值来打开/闭合机械臂。对于夹爪控制,夹爪实际张开的距离为变量d,夹爪的最大行程值为d
max
,通过预设的行程系数m控制乘以夹爪的最大行程值来得到实际张开距离d;实际是通过夹爪控制服务发送行程系数m来控制夹爪的值。公式如下所示:
[0068]
d=m
×dmax
,0≤m≤1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(公式3-1)
[0069]
步骤3,初始化完成后,将机械臂移动到桌面前方的识别位置,利用摄像头对桌面上待分拣的电路板工件进行图像获取;通过图像识别,获取电路板工件上的二维码图像,并将图像中所有的电路板工件的二维码的内容以及位置信息记录下来;其中,内容信息表示二维码本身所包含的信息,包括工件的id号码;位置信息则是电路板工件上的二维码相对于摄像头为原点的目标坐标系的坐标点信息。
[0070]
步骤4,通过二维码服务,把二维码的内容信息以及位置信息(目标坐标值)发送到主控模块,在主控模块进行坐标转换;具体内容是把以摄像头为原点的二维码的坐标值转
换为以机械臂底座的中心为原点的任务空间的坐标值。
[0071]
如图6所示,在该示例中,对于一个四关节机械臂,目标坐标系是以摄像头为原点的坐标系(x5,y5,z5),x5轴正方向是与底座正前方顺时针90
°
方向,y5轴正方向是垂直向下,z5轴正方向是底座正前方方向。任务空间坐标系则是(x1,y1,z1),x轴正方向是底座正前方,y轴正方向是与底座正前方顺时针90
°
方向,z轴正方向是垂直向上的的方向。
[0072]
本方案首先是通过摄像头来获取二维码的目标坐标p(x,y,z),再通过公式3-2将二维码的目标坐标转为任务空间坐标。首先在识别二维码目标前,机械臂会先到达一个人为设定便于检测工件二维码的固定姿态,即q0(x0,y0,z0),q0此坐标点是摄像头在任务空间中的坐标(也是目标坐标系的原点),用于坐标系转换计算。c
x
,cy,cz分别是误差补偿常数,用于各种因素导致的计算误差,是通过实际情况人为设定。假设通过二维码服务获取到n个二维码的坐标,第i个二维码的坐标为x
i’,y
i’,z
i’,转换后的任务空间坐标为q(xi,yi,zi),那么可以得到公式:
[0073][0074]
步骤5,获取到电路板工件的任务空间坐标q(xi,yi,zi)后,主控模块将任务空间坐标通过任务空间坐标控制服务将任务空间坐标q(xi,yi,zi)发送给机械臂,机械臂的末端执行器就会到达转换后的目标坐标点。
[0075]
关节空间坐标控制服务使用的算法是通过机器人逆运动学将任务空间的坐标q(xi,yi,zi)转为关节空间的旋转坐标r(θ1,θ2,θ3,θ4),如附图4、图6所示,该方法为现有技术中成熟的方法,下面对该方法进行展示性说明:
[0076]
θ1是表示关节1的旋转角,其坐标系对应的是(x1,y1),并且旋转轴心是z1轴;θ2是表示关节2的旋转角,其坐标系对应的而是(x2,y2),以关节2舵机旋转轴截面构建二维平面坐标;θ3是表示关节3的旋转角,以关节3舵机旋转轴截面构建二维平面坐标,θ4是表示关节4的旋转角,以关节4舵机旋转轴截面构建二维平面坐标。l1表示连杆1的长度,l2表示连杆2的长度,l3表示连杆3的长度,l4表示连杆4的长度。
[0077]
描述关节空间主要是通过d-h参数,4个关节的d-h表如下所示:
[0078][0079]
要使用机械臂逆运动学,首先要构建本方法的连杆变换矩阵,假设由第i-1连杆转换为第i连杆,那么就需要连杆矩阵连杆矩阵的计算公式如3-3所示。
[0080][0081]
其中s表示sin,sθ表示sin(θ),c表示cos,cθ表示cos(θ)。
[0082]
假设矩阵的逆矩阵是那么四个自由度的关节角通过以下公式计算,首先是θ1的计算公式:
[0083][0084]
计算后,最后得到θ1的计算值为:
[0085][0086]
其中,qy、q
x
为连杆1在y轴、x轴的分量;因为关节2、3、4都是平行的,因此左乘和的逆矩阵都不会有效果,因此2、3、4的关节转角的计算方法都是相同的,可通过构造旋转矩阵结合式3-4得到。
[0087]
得到r(θ1,θ2,θ3,θ4)后,机械臂可以按照旋转坐标将自身姿态移动到对应的目标位置,并且通过夹爪控制服务发送预设的行程系数,控制夹爪闭合抓取电路板工件。
[0088]
步骤6,抓取到目标电路板工件后,机械臂的位姿将移动到任务空间中预设的设定的q1(xq,yq,zq)点,在此识别装纳盒的二维码;获取到装纳盒的二维码的中的位置信息并转换为任务空间坐标后作为目标坐标,将目标坐标以及二维码包含的内容发送到主控模块。
[0089]
步骤7,由于放置的装纳盒的侧面会阻挡机械臂的位姿移动,因此需要把机械臂往现实世界的上方偏移一定的距离来避开侧面的阻挡;本方案设置z轴上的偏移常数c,可以根据实际装纳盒的边缘高度,以及误差进行人为设置,偏移常数c需大于所述边缘高度。假设检测到k个装纳盒的二维码信息,第i个装纳盒的二维码的目标坐标为(x
i”,y
i”,z
i”),那么通过公式3-9获得放置点的任务空间坐标u(x,y,z);计算公式如下:
[0090][0091]
步骤8,使用与步骤5一样的机器人逆运动学算法,通过放置点的任务空间坐标u(x,y,z)计算出关节空间的旋转坐标r(θ1,θ2,θ3,θ4);通过关节空间坐标控制服务把坐标数据r(θ1,θ2,θ3,θ4)发送到机械臂,从而使得机械臂姿态到达放置点,并通过夹爪控制服务发送行程系数m,使得夹爪打开,工件放置在装纳盒中。
[0092]
步骤9,机械臂回到识别位置,识别图像中是否还有未分拣整理的电路板工件的二维码。如果还存在未分拣的工件的二维码,返回到步骤3;如果已经分拣完成,则机械臂回到初始化位置,休眠待机。
[0093]
以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施
例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1