一种基于分布式计算与机器视觉的多码垛机器人示教方法转让专利

申请号 : CN201510290960.0

文献号 : CN104842356B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李波戴骏贤

申请人 : 电子科技大学

摘要 :

该发明公开了一种基于分布式计算与机器视觉的多码垛机器人示教方法,该方法首先通过虚拟显示技术虚拟机器人及其作业环境,使得操作者可以在不开启机器人的情况下,获得一个与实物环境相同的虚拟环境;之后本方法提供了基于机器视觉的示教方式,与传统的示教模式相比,此方式可以使得操作者通过肢体动作便可控制机器人,而不必使用键盘等方式;最后为了能够充分利用富余计算资源和加速计算速度,本方法采用了分布式技术,将虚拟显示,碰撞检测、图像处理等大计算量的工作进行分布式计算,极大的提高了计算速度。与现有的计算相比,本方法带来了示教的便利性、计算性能的提高,提高了码垛机器人的示教作业速度。

权利要求 :

1.一种基于分布式计算与机器视觉的多码垛机器人示教方法,该方法包括:步骤1:针对多码垛机器人,对各码垛机器人进行编号;

步骤2:选取需要进行示教的码垛机器人,获取选取的码垛机器人当前的机器人本体参数和作业区环境参数,并根据这些参数进行虚拟显示,最终获得虚拟三维机器人和其虚拟三维作业环境;

步骤3:采集示教员动作信息,并将示教员的动作信息转换为对机器人的指令信息;

步骤4:虚拟机器人根据指令信息完成规定动作,显示虚拟机器人的运动过程,在执行显示虚拟机器人运动的过程中,实时判断机器人运动过程中是否发生碰撞,若发生碰撞则报警,并显示错误信息。

2.如权利要求1所述的一种基于分布式计算与机器视觉的多码垛机器人示教方法,其特征在于所述步骤2对机器人和作业环境的虚拟显示过程、步骤3对采集图像处理过程、步骤4对判断机器人动作是否发生错误的过程中采用分布式计算的方法,该方法包括:S1:由示教的码垛机器人判断所有码垛机器人计算资源的空闲程度;

S2:根据各码垛机器人计算资源的空闲程度来分配当前所需计算的工作量;

S3:各码垛机器人计算完成后返回计算结果,由示教的码垛机器人对各计算结果进行处理,获得最终的结果。

3.如权利要求1所述的一种基于分布式计算与机器视觉的多码垛机器人示教方法,其特征在于所述步骤2的具体步骤为:步骤2.1:首先示教器连接需要进行示教的码垛机器人;

步骤2.2:获取当前的机器人本体参数,具体为码垛机器人四个轴当前的位置信息参数;

步骤2.3:获取当前的机器人作业区环境参数,具体为码垛机器人作业区内,流水线位置、跺盘位置信息参数;

步骤2.4:根据步骤2.2-2.3所获取的参数信息,采用虚拟显示技术,建立虚拟三维机器人和虚拟三维作业区环境。

4.如权利要求1所述的一种基于分布式计算与机器视觉的多码垛机器人示教方法,其特征在于所述步骤3的具体步骤为:步骤3.1:采集示教员的动作图像,并将动作图像回传至示教器控制节点;

步骤3.2:从采集的动作图像中提取出示教员的轮廓图像,并判断其动作类型;

步骤3.3:根据示教员的动作类型,转换成对机器人的指令信息。

说明书 :

一种基于分布式计算与机器视觉的多码垛机器人示教方法

技术领域

[0001] 本发明涉及的是一种机器人示教技术领域的方法,具体是一种面向多码垛机器人的快速、高效的示教方法。

背景技术

[0002] 当前码垛机器人示教器普遍采用的方式为在线示教和离线示教方式。在线示教需要操作人员手持示教器在现场环境下进行长时间的示教。而且在实际操作示教器时,工作人员必须在机器人周围不停的移动观察机器人的姿态是否符合要求。因此手持示教器会给工作人员带来较大的负荷。而离线示教方式不需要长时间手持示教器,在不运行机器人的情况下,通过预先设定的参数和示教系统输入的其他信息,即可自动计算出机器人自动作业的时候机器人的运动轨迹和参数。
[0003] 然而传统离线示教方式,不能直观的显示出机器人运动的轨迹和方式,操作者并不知晓当前自动计算的机器人运动轨迹是否符合实际要求。针对传统离线示教的不足,亦有提出基于虚拟仿真码垛机器人的示教方式。中国专利公开号CN101198531A公开了一种面向码垛机器人的离线仿真控制系统。对码垛作业提供前期的离线仿真验证,避免发生碰撞损毁等情况。
[0004] 此发明因为需要对机器人进行大量的虚拟仿真和碰撞检测计算,所以注定了其运行的平台只能在运算能力强大的PC机或者采用高配置的嵌入式开发板例如DSP+ARM的结构。当前大型工厂中的码垛机器人不止一台,上述的发明无论采取哪种架构,都没有充分利用工厂中其他机器人系统中富余的计算资源,以此来提高计算速度。

发明内容

[0005] 本发明针对现有技术存在的不足,提供了一种基于分布式计算与机器视觉的多码垛机器人示教方法,针对当前多码垛机器人环境中示教系统使用的过程中,示教效率较低、富余计算资源利用不充分的问题提出了解决方案,进一步提高了示教作业的速度,合理利用了富余计算资源。
[0006] 本发明的技术方案是一种基于分布式计算与机器视觉的多码垛机器人示教方法,该方法包括:
[0007] 步骤1:针对多码垛机器人,对各码垛机器人进行编号;
[0008] 步骤2:选取需要进行示教的码垛机器人,获取选取的码垛机器人当前的机器人本体参数和作业区环境参数,并根据这些参数进行虚拟显示,最终获得虚拟三维机器人和其虚拟三维作业环境;
[0009] 步骤3:采集示教员动作信息,并将示教员的动作信息转换为对机器人的指令信息;
[0010] 步骤4:虚拟机器人根据指令信息完成规定动作,显示虚拟机器人的运动过程,在执行显示虚拟机器人运动的过程中,实时判断机器人运动过程中是否发生碰撞,若发生碰撞则报警,并显示错误信息。
[0011] 进一步的,所述步骤2对机器人和作业环境的虚拟显示的计算过程、步骤3对采集图像处理的计算过程、步骤4对判断机器人动作是否发生错误的计算过程中采用分布式计算的方法,该方法包括:
[0012] S1:由示教的码垛机器人判断所有码垛机器人计算资源的空闲程度;
[0013] S2:根据各码垛机器人计算资源的空闲程度来分配当前所需计算的工作量;
[0014] S3:各码垛机器人计算完成后返回计算结果,由示教的码垛机器人对各计算结果进行处理,获得最终的结果。
[0015] 进一步的,所述步骤2的具体步骤为:
[0016] 步骤2.1:首先示教器连接需要进行示教的码垛机器人;
[0017] 步骤2.2:获取当前的机器人本体参数,具体为码垛机器人四个轴当前的位置信息参数;
[0018] 步骤2.3:获取当前的机器人作业区环境参数,具体为码垛机器人作业区内,流水线位置、跺盘位置信息参数;
[0019] 步骤2.4:根据步骤2.2-2.3所获取的参数信息,采用虚拟显示技术,建立虚拟三维机器人和虚拟三维作业区环境。
[0020] 进一步的,所述步骤3的具体步骤为:
[0021] 步骤3.1:采集示教员的动作图像,并将动作图像回传至示教器控制节点;
[0022] 步骤3.2:从采集的动作图像中提取出示教员的轮廓图像,并判断其动作类型;
[0023] 步骤3.3:根据示教员的动作类型,转换成对机器人的指令信息。
[0024] 本发明为一种基于分布式计算与机器视觉的多码垛机器人示教方法,该方法首先通过虚拟显示技术虚拟机器人及其作业环境,使得操作者可以在不开启机器人的情况下,获得一个与实物环境相同的虚拟环境;之后本方法提供了基于机器视觉的示教方式,与传统的示教模式相比,此方式可以使得操作者通过肢体动作便可控制机器人,而不必使用键盘等方式;最后为了能够充分利用富余计算资源和加速计算速度,本方法采用了分布式技术,将虚拟显示,碰撞检测、图像处理等大计算量的工作进行分布式计算,极大的提高了计算速度。与现有的计算相比,本方法带来了示教的便利性、计算性能的提高,提高了码垛机器人的示教作业速度。

附图说明

[0025] 图1为本发明方法的系统结构图。
[0026] 图2为基于分布式并行计算与机器视觉的多码垛机器人快速示教系统工作流程图。
[0027] 图3为本发明方法的系统拓扑结构图。

具体实施方式

[0028] 下面对本发明的实施例作详细说明,本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
[0029] 本实施例程主要的模块包括:基于机器视觉的示教模块、分布式计算模块、虚拟显示模块、碰撞检测模块、传输模块;
[0030] 1、基于机器视觉的示教模块,采集示教员的动作图像,并将采集到的图像放入示教器数据暂存区,之后通过一系列图像处理步骤,获得示教员的动作信息类型,并最终转换为对机器人的指令信息;
[0031] 2、虚拟显示模块,根据要被示教的机器人的参数信息和作业区环境参数信息,初始化虚拟机器人和虚拟作业区环境,同时根据指令信息完成规定动作;
[0032] 3、碰撞检测模块检测在虚拟机器人完成指令信息规定的动作时有无发生碰撞;
[0033] 4、分布式计算模块在基于机器视觉的示教模块、虚拟显示模块、碰撞检测模块工作的过程中,分割计算任务,派发给各个计算节点计算,并收集数据得出结果;
[0034] 5、传输模块保证分布式计算模块的计算数据能够被有效地在各个节点间传输。
[0035] 所述基于机器视觉的示教模块,其主要分为以下的两个模块:
[0036] 1、高清工业级图像、视频采集传感器:本小模块采用高清工业摄像头MT9M001做为图像传感器,其可返回高清黑白的示教区域示教员的动作图像视频信息。此信息将通过串行非屏蔽双绞线回传至本例程示教器中的控制主板中。
[0037] 2、图型图像处理模块:本模块采用计算机视觉图像图型处理库OpenCV,利用OpenCV库主要采取以下的几个步骤获取示教员的信息:
[0038] a.采用背景差法将视频讯息中每一帧图像进行求差,获取视频讯息中示教员的动作所在的主要的图像区域
[0039] b.利用二值化、开闭运算、轮廓提取等技术提取视频图像中示教员动作类型信息。
[0040] c.采用非线性映射技术,将当前示教员动作类型信息转换成对机器人的指令信息。
[0041] 所述虚拟显示模块主要分为以下两个小模块:
[0042] 1、初始化虚拟机器人及其虚拟作业环境模块:根据需要被示教的码垛机器人的本体参数和作业区环境参数,采用OpenGL构造虚拟机器人和虚拟作业环境。
[0043] 2、虚拟机器人及其作业环境显示模块:可根据输入的机器人指令,驱动虚拟机器人完成规定的动作,并将结果显示在界面上。
[0044] 所述碰撞检测模块采用基于OBB-AABB-Sphere混合包围盒检测算法,在所述虚拟机器人及其作业环境显示模块工作的过程中,检测虚拟机器人运动过程中有无碰撞,倘若发生了碰撞,则发出报警并显示错误信息。
[0045] 所述分布式计算模块其采用hadoop做为分布式计算架构,其架构搭建于工作现场环境下的每一台工业机器人的控制主机中。当其工作时主要完成以下几个步骤:
[0046] 1、当所述基于机器视觉的示教模块、所述虚拟显示模块,所述碰撞检测模块开始工作时,所述分布式计算模块接收上述几个模块的计算任务,利用hadoop分布式架构所提供的分布式计算功能,首先判断当前各个计算节点是否空闲能够进行计算,之后将计算任务拆解并分发至现场能够进行计算的各个计算节点进行计算。
[0047] 2、各个计算节点进行计算之后,将计算的结果回传至示教器节点,分布式计算模块回收各个计算节点所计算结果,并进行组合形成最终的结算结果。
[0048] 所述传输模块采用TCP/IP协议,保证计算任务在各个计算节点之间的传输,保证要被示教的机器人的当前参数信息能够被正确传输。
[0049] 图2为本实例实施流程
[0050] 1)通过示教界面设定要示教的码垛机器人编号。
[0051] 2)获取步骤1所需的示教目标当前状态参数信息,通过参数信息初始化构造虚拟机器人及其虚拟作业环境。
[0052] 3)采用基于机器视觉的示教模块采集示教员动作信息并转换成对应的机器人指令。
[0053] 4)虚拟显示模块执行指令并显示
[0054] 5)碰撞检测模块在虚拟显示模块执行时,检测有无碰撞发生,有则报警并显示。
[0055] 6)判断当前是否已经结束示教,如果结束则登录当前机器人位置信息,否则返回步骤3
[0056] 7)在步骤3-5进行的过程中,都会提起分布式计算请求,并收集计算结果。
[0057] 图3为本实例的网络拓扑连接图
[0058] 在这个多码垛机器人系统中,仅采用一个示教器,同时有多个码垛机器人。示教器和多个码垛机器人通过无线网络相连。当需要对一个机器人进行示教时,示教中需要进行大量频繁计算的数据被分布式模块分发至各个机器人中的计算机进行计算。