人机协作分选系统及其作业方法转让专利

申请号 : CN202010438648.2

文献号 : CN111570332B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 莫卓亚罗海城

申请人 : 广东弓叶科技有限公司

摘要 :

本发明公开一种人机协作分选系统的作业方法,其包括工件数据发送步骤和接收步骤,在发送步骤中,其在工件移动至相机视野外之后再将工件数据发送给机器人来进行工件抓取,发送前后两次选中的工件数据的时间间隔较长,机器人可以依照发送的先后顺序依次收到工件数据;在接收步骤中,采用异步接收线程进行接收,主线程再读取异步接收线程的数据,减少了主线程的等待时间,进而也减少了相机的等待时间。本发明的工件数据发送方式和接收方式使得处理装置和机器人能够适应前后两帧图像之间时间间隔非常短的作业需求,从而可以在显示器以视频流的方式显示图像,分选工人可以更好地进行操作。另,本发明还公开一种人机协作分选系统。

权利要求 :

1.一种人机协作分选系统的作业方法,所述人机协作分选系统包括用于输送工件的传送带、用于获取工件的图像的相机、用于显示所述图像并接受选择操作的显示器、处理装置及用于抓取被选中工件的机器人,其特征在于,所述人机协作分选系统的作业方法包括:工件数据发送步骤,具体为:

将在所述显示器中被选中且位于相机视野内的工件数据写入预先定义的视野内工件队列;

实时计算所述视野内工件队列中各工件的坐标,将实时坐标处于相机视野外的工件数据从所述视野内工件队列中移除并写入预先定义的视野外工件队列;

将所述视野外工件队列中的工件数据发送给所述机器人进行工件抓取;及工件数据接收步骤,具体为:

通过异步接收线程接收所述工件数据,并将所述工件数据解析后写入工件缓冲区;

通过主线程判断所述工件缓冲区中是否存在工件数据,若是,执行:暂停所述异步接收线程的工件数据接收,取出所述工件缓冲区中的工件数据并写入工件抓取队列以抓取工件;若否,触发所述相机拍照。

2.如权利要求1所述的人机协作分选系统的作业方法,其特征在于,所述工件数据发送步骤中,在将所述视野外工件队列的工件数据发送给所述机器人之后,还执行:清空所述视野外工件队列。

3.如权利要求1所述的人机协作分选系统的作业方法,其特征在于,所述工件数据发送步骤还包括:

预先定义一所述视野内工件队列和一所述视野外工件队列。

4.如权利要求1所述的人机协作分选系统的作业方法,其特征在于,所述工件数据接收步骤中,在取出所述工件缓冲区中的工件数据之后,还包括:重启所述异步接收线程的工件数据接收。

5.如权利要求1所述的人机协作分选系统的作业方法,其特征在于,还包括:实时跟踪被选中的工件在每一帧图像中的坐标,并标记该被选中的工件。

6.如权利要求5所述的人机协作分选系统的作业方法,其特征在于,所述“标记该被选中的工件”具体为:在每一帧图像圈中该被选中的工件。

7.如权利要求5所述的人机协作分选系统的作业方法,其特征在于,所述“实时跟踪被选中的工件在每一帧图像中的坐标”具体为:标定机器人和传送带,获得传送带坐标转换成机器人坐标的第一转换矩阵M0,其中,传送带上设有用于记录传送带坐标的编码器;

标定相机和传送带,获得相机像素坐标转换成传送带坐标的第二转换矩阵M1及传送带坐标转换成相机像素坐标的第三转换矩阵M2;

依据下式获得工件在当前帧图像的坐标P:P=(P’*M1+△d)*M2;其中,P’为工件在上一帧图像中被选中时的对应坐标,△d为当前编码器值与上一帧图像锁存的编码器值的平移矩阵,所述编码器值由第一转换矩阵M0和编码器发送的传送带坐标获得。

8.一种人机协作分选系统,包括传送带、相机、显示器、处理装置及机器人,其特征在于,

所述传送带用于承载和输送工件;

所述相机用于采集工件的图像;

所述显示器用于显示所述图像和接受选择操作,并将选中的工件数据发送至所述处理装置;

所述处理装置执行:接收所述显示器发送的工件数据;将位于相机视野内的所述工件数据写入预先定义的视野内工件队列;实时计算所述视野内工件队列中各工件的坐标,将实时坐标处于相机视野外的工件数据从所述视野内工件队列中移除并写入预先定义的视野外工件队列;将所述视野外工件队列中的工件数据发送给所述机器人进行工件抓取;

所述机器人包括控制系统和机械臂,所述控制系统执行:通过异步接收线程接收所述工件数据,并将所述工件数据解析后写入工件缓冲区;通过主线程判断所述工件缓冲区中是否存在工件数据,若是,执行:暂停所述异步接收线程的工件数据接收,取出所述工件缓冲区中的工件数据并写入工件抓取队列;若否,触发所述相机拍照;所述机械臂依据所述工件抓取队列抓取对应的工件。

9.如权利要求8所述的人机协作分选系统,其特征在于,所述处理装置还实时跟踪被选中的工件在每一帧图像中的坐标,并标记该被选中的工件。

10.如权利要求9所述的人机协作分选系统,其特征在于,所述“标记该被选中的工件”具体为:在每一帧图像圈中该被选中的工件。

说明书 :

人机协作分选系统及其作业方法

技术领域

[0001] 本发明涉及工件分选技术领域,尤其涉及一种人机协作分选系统及人机协作分选系统的作业方法。

背景技术

[0002] 人机协作分选系统一般包括传送带(设有用于记录传送带坐标的编码器)、相机、处理装置、显示器及机器人,机器人包括机械臂和用于控制机械臂动作的控制系统,相机采
集工件的图像,处理装置对图像进行处理后由显示器显示,显示器接受分选工人的操作并
将选中工件的信息传送至处理装置,而处理装置(工控机)将显示器传送的工件数据进行处
理后需要发送给控制系统,控制系统再依据工件数据控制机械臂进行工件抓取。
[0003] 现有技术中,处理装置通常是每获取到一工件数据便发送给控制系统,正常情况下,控制系统会先收到处理装置前一时间发送的工件数据,再收到处理装置后一时间发送
的工件数据。但是,在工件数据的发送频率(选中操作频率)过高时,由于前后两工件数据间
隔时间极短,若机器人的网络硬件或者网络优化设计较差,控制系统可能会同时收到处理
装置前后发送的两个工件数据,将无法正常进行数据解析,导致无法进行工件抓取。
[0004] 此外,机器人一般都自带传送带跟踪抓取功能,其控制系统在捕捉到相机发送的拍照完成信号后,记录传送带的当前编码器值,然后等待显示器发送工件数据,具体流程如
图6所示。由图6可知,机器人作业过程中,主要存在等待拍照完成信号及等待显示器发送工
件数据两个耗时等待。等待拍照完成信号的时间极短,相对于一帧图像的时间基本可忽略。
而等待显示器发送工件数据时,由于会受分选工人操作影响,具体耗时长短则变得未知;在
此过程中,控制系统将一直处于等到状态,也就使得相机不会进行下一帧图像的拍摄。这就
导致了显示器上前后两帧图像之间的时间间隔变得随机,造成卡顿现象,导致分选工人难
以适应操作,且作业效率低下。

发明内容

[0005] 本发明的目的在于提供一种人机协作分选系统的作业方法及人机协作分选系统,以可以适用于前后两帧图像之间时间间隔非常短时的作业情景,进而可以在显示器以视频
流的方式(高速的图片流)显示图像。
[0006] 为了实现上述目的,本发明公开了一种人机协作分选系统的作业方法,所述人机协作分选系统包括用于输送工件的传送带、用于获取工件的图像的相机、用于显示所述图
像并接受选择操作的显示器、处理装置及用于抓取被选中工件的机器人。所述人机协作分
选系统的作业方法包括工件数据发送步骤和工件数据接收步骤。其中,所述工件数据发送
步骤具体为:将在所述显示器中被选中且位于相机视野内的工件数据写入预先定义的视野
内工件队列;实时计算所述视野内工件队列中各工件的坐标,将实时坐标处于相机视野外
的工件数据从所述视野内工件队列中移除并写入预先定义的视野外工件队列;将所述视野
外工件队列中的工件数据发送给所述机器人进行工件抓取。所述工件数据接收步骤具体
为:通过异步接收线程接收所述工件数据,并将所述工件数据解析后写入工件缓冲区;通过
主线程判断所述工件缓冲区中是否存在工件数据,若是,执行:暂停所述异步接收线程的工
件数据接收,取出所述工件缓冲区中的工件数据并写入工件抓取队列以抓取工件;若否,触
发所述相机拍照。
[0007] 具体地,所述工件数据发送步骤中,在将所述视野外工件队列的工件数据发送给所述机器人之后,还执行:清空所述视野外工件队列。
[0008] 具体地,所述工件数据发送步骤还包括:预先定义一所述视野内工件队列和一所述视野外工件队列。
[0009] 具体地,所述工件数据接收步骤中,在取出所述工件缓冲区中的工件数据之后,还包括:重启所述异步接收线程的工件数据接收。
[0010] 较佳地,所述人机协作分选系统的作业方法还包括:实时跟踪被选中的工件在每一帧图像中的坐标,并标记该被选中的工件。
[0011] 具体地,所述“标记所述工件”具体为:在每一帧图像圈中该被选中的工件。
[0012] 具体地,所述“实时跟踪被选中的工件在每一帧图像中的坐标”具体为:标定机器人和传送带,获得传送带坐标转换成机器人坐标的第一转换矩阵M0,其中,传送带上设有用
于记录传送带坐标的编码器;标定相机和传送带,获得相机像素坐标转换成传送带坐标的
第二转换矩阵M1及传送带坐标转换成相机像素坐标的第三转换矩阵M2;依据下式获得工件
在当前帧图像的坐标P:P=(P’*M1+△d)*M2;其中,P’为工件在上一帧图像中被选中时的对
应坐标,△d为当前编码器值与上一帧图像锁存的编码器值的平移矩阵,所述编码器值由第
一转换矩阵M0和编码器发送的传送带坐标获得。
[0013] 为了实现上述目的,本发明还公开了一种人机协作分选系统,包括传送带、相机、显示器、处理装置及机器人,其中,所述传送带用于承载和输送工件;所述相机用于采集工
件的图像;所述显示器用于显示所述图像和接受选择操作,并将选中的工件数据发送至所
述处理装置;所述处理装置执行:接收所述显示器发送的工件数据;将位于相机视野内的所
述工件数据写入预先定义的视野内工件队列;实时计算所述视野内工件队列中各工件的坐
标,将实时坐标处于相机视野外的工件数据从所述视野内工件队列中移除并写入预先定义
的视野外工件队列;将所述视野外工件队列中的工件数据发送给所述机器人进行工件抓
取;所述机器人包括控制系统和机械臂,所述控制系统执行:通过异步接收线程接收所述工
件数据,并将所述工件数据解析后写入工件缓冲区;通过主线程判断所述工件缓冲区中是
否存在工件数据,若是,执行:暂停所述异步接收线程的工件数据接收,取出所述工件缓冲
区中的工件数据并写入工件抓取队列;若否,触发所述相机拍照;所述机械臂依据所述工件
抓取队列抓取对应的工件。
[0014] 较佳地,所述处理装置还实时跟踪被选中的工件在每一帧图像中的坐标,并标记该被选中的工件。
[0015] 具体地,所述“标记所述工件”具体为:在每一帧图像圈中该被选中的工件。
[0016] 与现有技术相比,本发明的处理装置是待工件移动至相机视野外才将工件数据发送给机器人来进行工件抓取,由于工件从相机视野内移动到相机视野外需要耗费的时间较
长,因此发送前后两次选中的工件数据的时间间隔较长,这就使得机器人的控制系统可以
依照工件数据发送的先后顺序依次收到工件数据,进而确保了控制系统能够正常进行工件
数据解析以进行工件抓取,能够适应于选中操作比较频繁的情形;同时,也有效减轻了以太
网网卡的负担。而机器人的控制系统接收处理装置发送的工件数据时,是采用异步接收线
程进行接收,主线程再读取异步接收线程的数据,大大减少了主线程的等待时间,进而也减
少了相机的等待时间,提高了作业效率。即是,本发明的工件数据发送方式和接收方式使得
处理装置和机器人可以适应前后两帧图像之间时间间隔非常短的作业需求,从而可以在显
示器以视频流的方式(高速的图片流)显示图像,更好地模拟工件在现场的真实环境,图像
显示也更加顺畅,分选工人可以更好地进行操作。

附图说明

[0017] 图1是本发明人机协作分选系统的组成结构框图。
[0018] 图2是本发明人机协作分选系统一实施例的结构示意图。
[0019] 图3是本发明人机协作分选系统另一实施例的结构示意图。
[0020] 图4是本发明人机协作分选系统又一实施例的结构示意图。
[0021] 图5是本发明处理装置发送工件数据的流程图。
[0022] 图6是现有技术中机器人接收工件数据的流程图。
[0023] 图7是本发明机器人接收工件数据的流程图。

具体实施方式

[0024] 为详细说明本发明的内容、构造特征、所实现目的及效果,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例
仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技
术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范
围。
[0025] 请参阅图1和图2,本实施例提供一种人机协作分选系统,包括传送带1、相机2、处理装置3、显示器4及机器人5,处理装置3与相机2、显示器4通信连接,机器人5包括控制系统
51和机械臂52,控制系统51与处理装置3通信连接,传送带1、相机2、机器人5设置在分选车
间现场,显示器4设置在分选车间现场之外。其中,传送带1用于承载和输送工件。相机2用于
采集工件的图像。显示器4用于显示图像和接受选择操作,并将选中的工件数据发送至处理
装置3。处理装置3执行:接收显示器4发送的工件数据;将位于相机视野内(相机2当前时刻
可以拍摄到工件)的工件数据写入预先定义的视野内工件队列;实时计算视野内工件队列
中各工件的坐标,将实时坐标处于相机视野外(相机2当前时刻已拍摄不到工件)的工件数
据从视野内工件队列中移除并写入预先定义的视野外工件队列;将视野外工件队列中的工
件数据发送给机器人5进行工件抓取(如图5所示)。控制系统51执行:预先创建一异步接收
线程和一主线程;通过异步接收线程接收工件数据,并将工件数据解析后写入工件缓冲区。
与此同时,通过主线程判断工件缓冲区中是否存在工件数据,若否,直接触发相机2拍照;若
是,执行:暂停异步接收线程的工件数据接收;接着,取出工件缓冲区中的工件数据,将工件
数据写入工件抓取队列,并清空工件缓冲区;接着,重启异步接收线程的工件数据接收,然
后触发相机2拍照;接着,判断是否有接收到相机2发送的拍照完成信号,若是,记录传送带1
的当前编码器值,退出回调函数(如图7所示)。机械臂52依据工件抓取队列抓取对应的工
件。
[0026] 图2所示人机协作分选系统的相机2和机器人5均横跨在传送带1之上,相机2和机器人5分别通过一支撑架61、62支撑,相机2和机器人5沿工件的前进方向依次设置。在一些
实施例中,相机2横跨在传送带1之上,相机2通过一支撑架6支撑,机器人5则设置在传送带1
的一侧,且机器人5的底部设有多个车轮53,当机器人5受到移动驱动力时,车轮53将相对地
面移动,使得机器人5的位置调整方便省力(如图3所示)。在一些实施例中,相机2和机器人5
均横跨在传送带1之上,相机2和机器人5集成在一起并通过同一支撑架6支撑(如图4所示)。
[0027] 其中,相机2为2D相机,处理装置3可以为任何具备图像处理能力和数据运算能力的装置,例如PC机等。显示器4为具有显示和触控功能的触屏显示器,选择操作即为分选工
人10的手指触控显示器4,手指触控到图像中的哪一工件,该工件即被选中。当然,显示器4
也可以仅具有显示功能,具体实施中还可以通过鼠标点选显示器4的显示屏来选中欲抓取
的工件。
[0028] 传统方式中,前后两帧图像之间时间间隔较长(低速的图片流的方式),可以额外通过控制相机2的拍照范围来使得同一工件只会被相机2拍到一次,即同一工件只会在一帧
图像中出现。但是,采用本发明将前后两帧图像之间的时间间隔非常短(视频流的方式,即
高速的图片流,每秒大致能闪过24张图片,人眼感受不到停顿)时,为了保证流畅性,无法再
进行人为干预相机2的拍照范围,因此,同一工件会在前后多张图像中出现。当工件比较堆
积的时候现场的分选工人可能会在多次选中前后帧图像中的同一工件。
[0029] 为此,处理装置3还实时跟踪被选中的工件在每一帧图像中的坐标,并标记该被选中的工件。“标记工件”具体为:在每一帧图像圈中该被选中的工件,从而提醒分选工人该工
件已经在前一帧图像中被选中过,防止分选工人多次选中同一工件,进而避免机器人5多次
抓取同一工件(空抓),保证作业效率。
[0030] 请参阅图2、图5及图7,本实施例提供一种人机协作分选系统的作业方法,人机协作分选系统包括传送带1、相机2、处理装置3、显示器4及机器人5,传送带1、相机2、机器人5
设置在分选车间现场,显示器4设置在分选车间现场之外。人机协作分选系统的作业方法包
括工件数据发送步骤和工件数据接收步骤。其中,工件数据发送步骤具体为:将在显示器4
中被选中且位于相机视野内(相机2当前时刻可以拍摄到工件)的工件数据写入预先定义的
视野内工件队列;实时计算视野内工件队列中各工件的坐标,将实时坐标处于相机视野外
(相机2当前时刻已拍摄不到工件)的工件数据从视野内工件队列中移除并写入预先定义的
视野外工件队列;将视野外工件队列中的工件数据发送给机器人5进行工件抓取(如图5所
示)。至于如何计算工件的实时坐标是否处于相机视野内,参阅下述“实时跟踪被选中的工
件在每一帧图像中的坐标”的具体实现方式。工件数据接收步骤具体为:预先创建一异步接
收线程和一主线程;异步接收线程实时等待接收工件数据,并判断是否接收到工件数据;若
是,则将工件数据解析,并将解析的工件数据写入工件缓冲区。与此同时,主线程实时判断
工件缓冲区中是否存在工件数据,若否,直接触发相机2拍照;若是,暂停异步接收线程的工
件数据接收;接着,取出工件缓冲区中的工件数据,将工件数据写入工件抓取队列,并清空
工件缓冲区;接着,重启异步接收线程的工件数据接收,然后触发相机2拍照;接着,判断是
否有接收到相机2发送的拍照完成信号,若是,记录传送带1的当前编码器值,退出回调函数
(如图7所示)。
[0031] 具体的,在本实施例中,工件数据发送步骤还包括:预先定义一视野内工件队列和一视野外工件队列。当然,在定义工件队列之前,还需预先声明一个数据结构,该数据结构
包括工件的实时坐标和工件类型(可通过手势或者接入外设的方式获取,此部分为现有技
术,在此不再赘述)。
[0032] 另一实施例中,在工件数据发送步骤中,还预先定义有一总工件队列;其将在显示器4中被选中的工件数据写入预先定义的总工件队列;并实时计算总工件队列中各工件的
坐标;然后将实时坐标处于相机视野内的工件数据写入视野内工件队列,将实时坐标处于
相机视野外的工件数据写入视野外工件队列,并从总工件队列中删除该处于相机视野外的
工件数据。进一步的,在该实施例中,还定时清空视野内工件队列和视野外工件队列。
[0033] 传统方式中,前后两帧图像之间时间间隔较长(低速图片流的方式),可以额外通过控制相机2的拍照范围来使得同一工件只会被相机2拍到一次,即同一工件只会在一帧图
像中出现。但是,采用本发明将前后两帧图像之间的时间间隔非常短(视频流的方式,即高
速的图片流,每秒大致能闪过24张图片,人眼感受不到停顿)时,为了保证流畅性,无法再进
行人为干预相机2的拍照范围,因此,同一工件会在前后多张图像中出现。当工件比较堆积
的时候现场分选工人可能会在多次选中前后帧图像中的同一工件。
[0034] 为此,本发明还实时跟踪被选中的工件在每一帧图像中的坐标,并标记该被选中的工件。在一实施例中,“标记工件”具体为:在每一帧图像圈中该被选中的工件,从而提醒
分选工人该工件已经在前一帧图像中被选中过,防止分选工人多次选中同一工件,进而避
免机器人5多次抓取同一工件(空抓),保证作业效率。
[0035] 具体的,在一实施例中,“实时跟踪被选中的工件在每一帧图像中的坐标”具体为:标定机器人5和传送带1(传送带1上设有用于记录传送带坐标的编码器),获得传送带坐标
转换成机器人坐标的第一转换矩阵M0,由转换矩阵M0可以准确知道编码器转一圈对应传送
带1真实移动距离为多少;标定相机2和传送带1,获得相机像素坐标转换成传送带坐标的第
二转换矩阵M1及传送带坐标转换成相机像素坐标的第三转换矩阵M2(即M1的逆矩阵),由转
换矩阵M1可以准确知道传送带1走过1mm时对应相机2走过几个像素;依据公式P=(P’*M1+
△d)*M2获得工件在当前帧图像的坐标。其中,P为工件在当前帧图像的坐标,P’为工件在上
一帧图像中被选中时的对应坐标,△d为当前编码器值与上一帧图像锁存的编码器值(即工
件在传送到的实时坐标)的平移矩阵,而编码器值由第一转换矩阵M0和传送带1的编码器发
送的传送带坐标获得。通过机器人5来间接获取编码器数据从而实现传送带1跟踪,无需额
外增加硬件成本。
[0036] 当然,在一些实施例中,也可以将处理装置3与编码器连接,通过处理装置3实时读取当前编码器值,通过处理装置3来实现传送带1跟踪功能以跟踪已经点击过的工件,在此
不再赘述。
[0037] 与现有技术相比,本发明的处理装置3是待工件移动至相机视野外才将工件数据发送给机器人5来进行工件抓取,由于工件从相机视野内移动到相机视野外需要耗费的时
间较长,因此发送前后两次选中的工件数据的时间间隔较长,这就使得机器人5的控制系统
51可以依照工件数据发送的先后顺序依次收到工件数据,进而确保了控制系统51能够正常
进行工件数据解析以进行工件抓取,能够适应于选中操作比较频繁的情形;同时,也有效减
轻了以太网网卡的负担。而机器人5的控制系统51接收处理装置3发送的工件数据时,是采
用异步接收线程进行接收,主线程再读取异步接收线程的数据,大大减少了主线程的等待
时间,进而也减少了相机2的等待时间,提高了作业效率。即是,本发明的工件数据发送方式
和接收方式使得处理装置3和机器人5可以适应前后两帧图像之间时间间隔非常短的作业
需求,从而可以在显示器4以视频流的方式(高速的图片流)显示图像,更好地模拟工件在现
场的真实环境,图像显示也更加顺畅,分选工人可以更好地进行操作。
[0038] 以上所揭露的仅为本发明的优选实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明申请专利范围所作的等同变化,仍属本发明所涵盖的范围。