一种基于机器视觉控制SCARA机器人的方法及系统与流程

文档序号:28130849发布日期:2021-12-22 16:30阅读:339来源:国知局
一种基于机器视觉控制SCARA机器人的方法及系统与流程
一种基于机器视觉控制scara机器人的方法及系统
技术领域
1.本发明涉及机器人技术领域,尤其涉及一种基于机器视觉控制scara机器人的方法及系统。


背景技术:

2.scara(selective compliance assembly robot arm)即选择顺应性装配机器手臂,是一种内置四轴伺服电机、谐波减速器和制动器系统的具有四自由度的圆柱坐标型工业机器人。scara机器人具有四个自由度,包括两个水平关节以及一个既可以垂直移动又可以旋转的连杆。其中第一自由度和第二自由度是由大机械臂和小机械臂构成的旋转关节,可以使得水平连杆在水平面内进行旋转运动完成平面内快速且精确的定位;第三自由度是具有竖直升降功能的移动关节,可以完成垂直于平面的运动;第四自由度为旋转关节,可以使得末端执行器方便抓取目标。由于scara 机器人在垂直方向上既可以保证较强的刚度又可以保证较高的精度,同时在水平面内可以自由快速的转动,所以非常适合进行平面定位以及完成分拣抓取工件任务。scara 机器人的四个关节的执行器部分均使用的是交流伺服电机,可以提供较大的转矩,在机械臂的运动速度和精度上具有良好的执行效果。机器人的第一关节和第二关节基于谐波减速,而第三关节和第四关节是基于同步带进行减速。第一关节和第二关节通过各自转动,可以实现末端执行器在水平面内的移动,第三关节将电机与滚珠丝杠连接,从而可以实现机械连杆的竖直移动,第四关节是通过花键将电机和丝杠连接起来,使得丝杠可以完成相应的转动动作。
3.目前机器视觉已广泛应用于工业机器人控制系统中,现有的机器视觉都是采集图像的方式加以视觉分析,而非采集视频数据流的方式来实现,使得机器人控制器无法应对视频数据流的分析利用,导致更更精准的视觉控制手段无法在scara机器人加以展开。


技术实现要素:

4.本发明的目的在于克服现有技术的不足,本发明提供了一种基于机器视觉控制scara机器人的方法及系统,采用机器视觉提取待处理物品的视频数据流,触发scara机器人的轨迹运动,实现待处理物品的自动化处理过程。
5.为了解决上述问题,本发明提出了一种基于机器视觉控制scara机器人的方法,所述方法包括以下步骤:机器人控制器基于视觉传感器采集待处理物品的视频数据流;所述机器人控制器将所述视频数据流发送到上位机;所述上位机对所述视频数据流基于预设的时间间隔提取关键帧图像,并对关键帧图像进行视觉跟踪处理,基于视觉跟踪处理结果生成机械臂运动规划信息;所述上位机将所述机械臂运动规划信息发送至所述机器人控制器;所述机器人控制器基于机械臂运动规划信息将生成运动路径及轨迹指令,并将所述运动路径及轨迹指令发送至可编程逻辑控制器;
所述可编程逻辑控制器基于所述运动路径及轨迹指令解析出四个关节伺服驱动器所对应的运动控制指令,并将所对应的运动控制指令发送到所对应的关节伺服驱动器上。
6.所述上位机对所述视频数据流基于预设的时间间隔提取关键帧图像,并对关键帧图像进行视觉跟踪处理包括:基于预设的时间间隔提取关键帧图像,然后提取关键帧图像的目标区域的图像块作为目标模板,将目标模板与候选图像中所有可能的位置进行相关匹配,匹配度最高的地方即为目标所在的位置。
7.所述提取关键帧图像的目标区域的图像块作为目标模板包括:提取关键帧图像中的感兴趣区域,然后对感兴趣区域的待处理物品进行轮廓提取,得到目标模板的标准轮廓,所述感兴趣区域为目标初始所在区域上所述待处理物品经工作运动后图像要素存在变化的区域;基于标准轮廓提取标准轮廓区域内的图像块形成目标模板。
8.所述提取关键帧图像中的感兴趣区域,然后对感兴趣区域进行轮廓提取,得到目标模板的标准轮廓包括:获取关键帧图像,利用矩形截取函数来截取矩形的感兴趣区域;然后对感兴趣区域的图像进行增强;最后通过模板创建函数来创建目标模板下的图像模板,得到图像模板二值化后的标准轮廓。
9.所述通过模板创建函数来创建目标模板下的图像模板,得到图像模板二值化后的标准轮廓包括:寻找感兴趣区域的图像的灰度梯度,使用sobel算子对感兴趣区域的图像进行处理返回x方向的像素灰度值和t方向的像素灰度值;利用非极大值抑制算法来搜索梯度方向的局部极大值,抑制非极大值元素,细化边缘;采用双阈值算法提取和连接边缘,得到图像模板的标准轮廓。
10.所述机器人控制器基于机械臂运动规划信息将生成运动路径及轨迹指令包括:机器人控制器基于机械臂运动规划信息在笛卡尔空间对scara机器人进行轨迹规划,得到笛卡尔空间轨迹与各个关节空间中关节角度、角速度和角加速度的对应关系;根据scara机器人模型参数和动力学分析方法,对scara机器人进行动力学建模,得到scara机器人的动力学方程;通过动力学方程确定机器人每一个时刻输出轨迹状态,输出各个关节空间的参数维度,从而得到每一个时刻的向量表示,所述参数维度包括关节角位置和关节角速度,同时以输出轨迹状态单元的向量维度为基础给出期望轨迹状态单元的向量表示;基于所述参数维度和所述期望轨迹状态单元的向量表示生成运动路径及轨迹指令。
11.所述可编程逻辑控制器基于所述运动路径及轨迹指令解析出四个关节伺服驱动器所对应的运动控制指令包括:所述可编程逻辑控制器解析出每一个伺服驱动器的控制参数,然后根据伺服驱动器的对应地址关系将控制参数发送到所对应的伺服驱动器。
12.相应的,本发明还提出了一种scara机器人的控制系统,所述控制系统包括:视觉传感器,用于采集到待处理物品的视频数据流;机器人控制器,用于基于视觉传感器采集待处理物品的视频数据流,将所述视频数据流发送到上位机;基于机械臂运动规划信息将生成运动路径及轨迹指令,并将所述运动路径及轨迹指令发送至可编程逻辑控制器;上位机,用于对所述视频数据流基于预设的时间间隔提取关键帧图像,并对关键帧图像进行视觉跟踪处理,基于视觉跟踪处理结果生成机械臂运动规划信息;将所述机械臂运动规划信息发送至所述机器人控制器;可编程逻辑控制器,用于基于所述运动路径及轨迹指令解析出四个关节伺服驱动器所对应的运动控制指令,并将所对应的运动控制指令发送到所对应的关节伺服驱动器上。
13.所述上位机基于预设的时间间隔提取关键帧图像,然后将关键帧图像的目标区域的图像块作为目标模板,将目标模板与候选图像中所有可能的位置进行相关匹配,匹配度最高的地方即为目标所在的位置。
14.所述上位机与机器人控制器之间通过多点接口电缆实现通讯。
15.本发明采用视觉传感器采集视频数据流,将视频数据流上传到上位机进行视频图像的分析处理,使得scara机器人的控制系统能够结合视频数据流提取关键帧图像,可以结合关键帧图像匹配所对应的机器臂运动规划信息,触发scara机器人的机械臂运动,使得视频流采集的应用结合能较好适用于scara机器人的控制环节中。这里采用可编程逻辑控制器来解析分发运动控制指令到四个关节伺服驱动器上来控制scara机器人生产过程,使得整个scara机器人末端控制的可靠性更高。
附图说明
16.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见的,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
17.图1是本发明实施例中的scara机器人的控制系统结构示意图;图2是本发明实施例中的的提取关键帧图像的目标区域的图像块作为目标模板的状态变化图;图3是本发明实施例中的基于机器视觉控制scara机器人的方法流程图。
具体实施方式
18.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
19.具体的,图1示出了本发明实施例中的scara机器人的控制系统结构示意图,该控制系统包括:上位机、机器人控制器、可编程逻辑控制器、视觉传感器、第一伺服驱动器、第
二伺服驱动器、第三伺服驱动器、第四伺服驱动器、第一伺服电机、第二伺服电机、第三伺服电机、第四伺服电机、第一解码器、第二解码器、第三解码器和第四解码器等,其中:上位机可以是pc机等,上位机和机器人控制器进行数据通信,机器人控制器与可编程逻辑控制器进行数据通信,机器人控制器与视觉传感器进行数据通信,可编程逻辑控制器与第一伺服驱动器、第二伺服驱动器、第三伺服驱动器和第四伺服驱动器进行数据通信,第一伺服驱动器与第一伺服电机和第一解码器进行数据通信,第二伺服驱动器与第二伺服电机和第二解码器进行数据通信,第三伺服驱动器与第三伺服电机和第三解码器进行数据通信,第四伺服驱动器与第四伺服电机和第四解码器进行数据通信。
20.这里的视觉传感器设置在scara机器人应用场景相应的位置上,其可以采集到待处理物品的视频数据流,视觉传感器与机器人控制器之间可以采用rs485通信协议进行通信,机器人控制器基于视觉传感器采集待处理物品的视频数据流,机器人控制器将所述视频数据流发送到上位机;上位机对所述视频数据流基于预设的时间间隔提取关键帧图像,并对关键帧图像进行视觉跟踪处理,基于视觉跟踪处理结果生成机械臂运动规划信息;所述上位机将所述机械臂运动规划信息发送至所述机器人控制器;所述机器人控制器基于机械臂运动规划信息将生成运动路径及轨迹指令,并将所述运动路径及轨迹指令发送至可编程逻辑控制器;所述可编程逻辑控制器基于所述运动路径及轨迹指令解析出四个关节伺服驱动器所对应的运动控制指令,并将所对应的运动控制指令发送到所对应的关节伺服驱动器上。
21.具体的,上位机在获取到视频数据流之后,基于预设的时间间隔提取关键帧图像,然后将关键帧图像的目标区域的图像块作为目标模板,将目标模板与候选图像中所有可能的位置进行相关匹配,匹配度最高的地方即为目标所在的位置,上位机可以基于该视觉跟踪处理匹配出scara机器人目前的工作状态,从而匹配出下一步工作状态,从而基于下一步工作状态生产机械臂运动规划信息。这里时间间隔以毫秒为单位,预设的时间间隔为1ms

100ms之间任一值。
22.这里的候选图像存储于上位机的中,该候选图像与scara机器人的历史工作状态相关联,若干个历史工作状态相关联的工作图片形成一个候选图像集合存储在上位机的存储空间中;该候选图像或者与scara机器人仿真工作状态相关联,若干个仿真工作状态相关联的工作图片形成一个候选图像集合存储在上位机的存储空间中,这里的关键帧图像是参考时间关系来提取的,关键帧图像参考先提取先处理的方式进行匹配过程,即第一时刻下的第一关键帧图像先与候选图像进行相关匹配,第二时刻下的第二关键帧图像接下来与候选图像进行相关匹配,按照时间轴的先后顺序生成不同时刻下的机械臂运动规划信息。
23.图2示出了本发明实施例中的提取关键帧图像的目标区域的图像块作为目标模板的状态变化图,左边是原始图像,中间是roi提取下的图像,右边是最终的目标模板,这里提取关键帧图像的目标区域的图像块作为目标模板包括:提取关键帧图像中的感兴趣区域(region of interest,roi),然后对感兴趣区域的待处理物品进行轮廓提取,得到目标模板的标准轮廓,所述感兴趣区域可以基于机器人在待处理物品上的运动区域来设定;基于标准轮廓提取标准轮廓区域内的图像块形成目标模板。
24.需要说明的是,这里提取关键帧图像中的感兴趣区域,然后对感兴趣区域进行轮廓提取,得到目标模板的标准轮廓包括:获取关键帧图像,利用矩形截取函数来截取矩形的
感兴趣区域;然后对感兴趣区域的图像进行增强;最后通过模板创建函数来创建目标模板下的图像模板,得到图像模板二值化后的标准轮廓。
25.需要说明的是,这里通过模板创建函数来创建目标模板下的图像模板,得到图像模板二值化后的标准轮廓包括:(1)寻找感兴趣区域roi的图像的灰度梯度,使用sobel算子对图像进行处理可以返回x方向的像素灰度值和t方向的像素灰度值。(2)利用非极大值抑制算法(nms )来搜索梯度方向的局部极大值,抑制非极大值元素,可以细化边缘。非最大抑制算法跟踪边缘方向的左右像素,如果当前像素的灰度值小于左、右像素灰度值,则抑制当前像素灰度。(3)采用双阈值算法提取和连接边缘,得到图像模板的标准轮廓。非极大值抑制算法处理后可能会有少量的非边缘像素被包含到结果中,所以要通过选取阈值进行取舍。双阈值选择与边缘连接方法通过假设两个阈值其中一个为高阈值th,另外一个为低阈值tl,则有:对于任意边缘像素低于tl的,则丢弃;对于任意边缘像素高于th的,则保留;任意边缘像素值在tl与th之间的,如果能通过边缘连接到一个像素大于th而且边缘所有像素大于最小阈值tl的,则保留,否则丢弃;最终边缘图像进行保存。
26.需要说明的是,上位机与机器人控制器之间可以通过多点接口(mpi)电缆实现通讯,将机械臂运动规划信息发送至机器人控制器上,所述机器人控制器基于机械臂运动规划信息将生成运动路径及轨迹指令。
27.具体的,机器人控制器基于机械臂运动规划信息将生成运动路径及轨迹指令包括:机器人控制器在笛卡尔空间对scara机器人进行轨迹规划,得到笛卡尔空间轨迹与各个关节空间中关节角度、角速度和角加速度的对应关系。需要说明的是,运动路径及轨迹指令可以使机器人末端执行器尽可能达到设定的轨迹。机器人的轨迹一般分为基本轨迹规划和最优轨迹规划。基本轨迹规划在关节空间和笛卡尔坐标空间进行,规划时必须考虑机器人运动学和动力学约束。对于关节空间轨迹规划,规划对象是机器人各关节的角度,函数生成的值就是关节值,而笛卡尔坐标空间轨迹规划函数生成的值是机器人手末端手的位姿。笛卡尔坐标空间轨迹在常见的直角坐标空间中表示,非常直观,然而笛卡尔坐标空间轨迹计算量大,需要较快的处理速度才能得到类似关节空间的计算精度。
28.具体的,机器人控制器将运动路径及轨迹指令发送到可编程逻辑控制器,可编程逻辑控制器解析出每一个伺服驱动器的控制参数,然后根据伺服驱动器的对应地址关系将控制参数发送到所对应的伺服驱动器上。该可编程逻辑控制器在收到运动路径及轨迹指令后,完成行进方向控制工作,计算获得四个伺服电机应执行的转速和转向,并通过控制不同的伺服驱动器实现,使得scara机器人完成相应的操作过程。
29.以上scara机器人的控制系统采用视觉传感器采集视频数据流,将视频数据流上传到上位机进行视频图像的分析处理,使得scara机器人的控制系统能够结合视频数据流提取关键帧图像,可以结合关键帧图像匹配所对应的机器臂运动规划信息,触发scara机器人的机械臂运动,使得视频流采集的应用结合能较好适用于scara机器人的控制环节中。这里采用可编程逻辑控制器来解析分发运动控制指令到四个关节伺服驱动器上来控制scara机器人生产过程,使得整个scara机器人末端控制的可靠性更高。
30.图3示出了本发明实施例中的基于机器视觉控制scara机器人的方法流程图,该方法包括以下步骤:s21、机器人控制器基于视觉传感器采集待处理物品的视频数据流;
s22、所述机器人控制器将所述视频数据流发送到上位机;需要说明的是,这里的视觉传感器设置在scara机器人应用场景相应的位置上,其可以采集到待处理物品的视频数据流,视觉传感器与机器人控制器之间可以采用rs485通信协议进行通信,机器人控制器基于视觉传感器采集待处理物品的视频数据流,机器人控制器将所述视频数据流发送到上位机。
31.s23、所述上位机对所述视频数据流基于预设的时间间隔提取关键帧图像,并对关键帧图像进行视觉跟踪处理,基于视觉跟踪处理结果生成机械臂运动规划信息;上位机在获取到视频数据流之后,基于预设的时间间隔提取关键帧图像,然后将关键帧图像的目标区域的图像块作为目标模板,将目标模板与候选图像中所有可能的位置进行相关匹配,匹配度最高的地方即为目标所在的位置,上位机可以基于该视觉跟踪处理匹配出scara机器人目前的工作状态,从而匹配出下一步工作状态,从而基于下一步工作状态生产机械臂运动规划信息。这里时间间隔以毫秒为单位,预设的时间间隔为1ms

100ms之间任一值。
32.需要说明的是,这里提取关键帧图像的目标区域的图像块作为目标模板包括:提取关键帧图像中的感兴趣区域(region of interest,roi),然后对感兴趣区域的待处理物品进行轮廓提取,得到目标模板的标准轮廓,所述感兴趣区域为目标初始所在区域上所述待处理物品经工作运动后图像要素存在变化的区域;基于标准轮廓提取标准轮廓区域内的图像块形成目标模板。这里通过roi方式来提取目标区域,然后经过轮廓提取完成对待处理物品所在区域的图块块的提取处理,最终得到相应的目标模板。
33.需要说明的是,这里通过模板创建函数来创建目标模板下的图像模板,得到图像模板二值化后的标准轮廓包括:(1)寻找感兴趣区域roi的图像的灰度梯度,使用sobel算子对图像进行处理可以返回x方向的像素灰度值和t方向的像素灰度值。(2)利用非极大值抑制算法(nms )来搜索梯度方向的局部极大值,抑制非极大值元素,可以细化边缘。非最大抑制算法跟踪边缘方向的左右像素,如果当前像素的灰度值小于左、右像素灰度值,则抑制当前像素灰度。(3)采用双阈值算法提取和连接边缘,得到图像模板的标准轮廓。非极大值抑制算法处理后可能会有少量的非边缘像素被包含到结果中,所以要通过选取阈值进行取舍。双阈值选择与边缘连接方法通过假设两个阈值其中一个为高阈值th,另外一个为低阈值tl,则有:对于任意边缘像素低于tl的,则丢弃;对于任意边缘像素高于th的,则保留;任意边缘像素值在tl与th之间的,如果能通过边缘连接到一个像素大于th而且边缘所有像素大于最小阈值tl的,则保留,否则丢弃;最终边缘图像进行保存。
34.需要说明的是,这里将目标模板与候选图像中所有可能的位置进行相关匹配包括:采用 bp 神经网络对目标模板在候选图像进行相关匹配过程。这里用大量数据样本对神经网络进行不断地训练是应用 bp 神经网络对不同目标进行识别的前提,其中的样本包括训练输入和期望输出两个部分。训练输入数据往往是图像的某些特征量,而期望输出则可设置为图像对应的代号。
35.具体的,bp 神经网络属于多层前向型网络,其信号前向传播,误差反向传播。标准的 bp 神经网络是采用梯度下降法,网络权值沿着性能函数的梯度反向调整。使用bp学习算法训练前馈网络的基本思想是:首先通过一个前向过程计算训练样本中的输入特征经过前向网络后的实际输出值;然后将输出值与期望值进行比较,得到误差信号,再根据误差信
号从后向前调节各个神经元之间的连接强度;再次重复进行前向过程计算,使得误差减小,再将新的输出值与期望值进行比较,得到新的比原来小的误差信号;接着根据小的误差信号,从后向前调整各神经网络层神经元之间的连接强度,这个前向过程和后向过程不断地多次进行,直到误差满足要求为止。
36.在完成对关键帧图像的视觉跟踪处理之后,即可得到当前关键帧图像所对应的一个候选图像,该候选图像关联着scara机器人的当前运动状态,也关联着scara机器人的下一个运动状态,即上位机可以基于该视觉跟踪处理匹配出scara机器人目前的工作状态,从而匹配出下一步所需的工作状态,从而基于当前工作状态和下一步工作状态生产机械臂运动规划信息。
37.s24、所述上位机将所述机械臂运动规划信息发送至所述机器人控制器;上位机与机器人控制器之间可以通过多点接口(mpi)电缆实现通讯,将机械臂运动规划信息发送至机器人控制器上,所述机器人控制器基于机械臂运动规划信息将生成运动路径及轨迹指令。
38.s25、所述机器人控制器基于机械臂运动规划信息将生成运动路径及轨迹指令,并将所述运动路径及轨迹指令发送至可编程逻辑控制器;具体的,机器人控制器基于机械臂运动规划信息将生成运动路径及轨迹指令包括:机器人控制器在笛卡尔空间对scara机器人进行轨迹规划,得到笛卡尔空间轨迹与各个关节空间中关节角度、角速度和角加速度的对应关系。需要说明的是,运动路径及轨迹指令可以使机器人末端执行器尽可能达到设定的轨迹。机器人的轨迹一般分为基本轨迹规划和最优轨迹规划。基本轨迹规划在关节空间和笛卡尔坐标空间进行,规划时必须考虑机器人运动学和动力学约束。对于关节空间轨迹规划,规划对象是机器人各关节的角度,函数生成的值就是关节值,而笛卡尔坐标空间轨迹规划函数生成的值是机器人手末端手的位姿。笛卡尔坐标空间轨迹在常见的直角坐标空间中表示,非常直观,然而笛卡尔坐标空间轨迹计算量大,需要较快的处理速度才能得到类似关节空间的计算精度。
39.具体的,机器人控制器在笛卡尔空间对scara机器人进行轨迹规划,得到笛卡尔空间轨迹与各个关节空间中关节角度、角速度和角加速度的对应关系;根据scara机器人模型参数和动力学分析方法,对scara机器人进行动力学建模,得到scara机器人的动力学方程;通过动力学方程确定机器人每一个时刻输出轨迹状态,输出各个关节空间的参数维度,从而得到每一个时刻的向量表示,所述参数维度包括关节角位置和关节角速度,同时以输出轨迹状态单元的向量维度为基础给出期望轨迹状态单元的向量表示;基于所述参数维度和所述期望轨迹状态单元的向量表示生成运动路径及轨迹指令。
40.具体的,这里采用改进二次型迭代学习控制的scara机器人的末端运动轨迹,从而减少末端的跟踪误差,得到精准跟踪期望轨迹。
41.s26、所述可编程逻辑控制器基于所述运动路径及轨迹指令解析出四个关节伺服驱动器所对应的运动控制指令,并将所对应的运动控制指令发送到所对应的关节伺服驱动器上。
42.具体的,机器人控制器将运动路径及轨迹指令发送到可编程逻辑控制器,可编程逻辑控制器解析出每一个伺服驱动器的控制参数,然后根据伺服驱动器的对应地址关系将控制参数发送到所对应的伺服驱动器上。该可编程逻辑控制器在收到运动路径及轨迹指令
后,完成行进方向控制工作,计算获得四个伺服电机应执行的转速和转向,并通过控制不同的伺服驱动器实现,使得scara机器人完成相应的操作过程。
43.本发明实施例采用视觉传感器采集视频数据流,将视频数据流上传到上位机进行视频图像的分析处理,使得scara机器人的控制系统能够结合视频数据流提取关键帧图像,可以结合关键帧图像匹配所对应的机器臂运动规划信息,触发scara机器人的机械臂运动,使得视频流采集的应用结合能较好适用于scara机器人的控制环节中。这里采用可编程逻辑控制器来解析分发运动控制指令到四个关节伺服驱动器上来控制scara机器人生产过程,使得整个scara机器人末端控制的可靠性更高。
44.以上对本发明实施例进行了详细介绍,本文中采用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1