一种基于组件拼接的码垛机器人控制方法
文献发布时间:2023-06-19 16:08:01
技术领域
本发明涉及机器人控制技术领域,更具体地涉及一种基于组件拼接的码垛机器人控制方法。
背景技术
随着工业自动化进程的不断加深,工业机器人被广泛应用于码垛,其具有灵活精准、快速高效、稳定性高等特点,极大提高了生产效率,同时降低了人力成本,目前包装、物流、仓储等领域对码垛机器人的需求量巨大。
目前码垛机器人主要采用工业通用型机器人,如果采用手动示教方式编写码垛程序,需要对流水线上的抓取轨迹点以及托盘上每一层的每个垛的摆放轨迹点进行手动示教,不仅费时,而且对使用者的业务能力要求较高,需要使用者熟悉机器人的编程语言、语法格式,然后用机器人程序语言将整个的码垛作业的逻辑关系,准确的反应到程序中来。为此,研发人员针对标准码垛作业过程,在通用机器人控制系统上进行二次开发,使得使用者无需编程,仅通过少量手动示教和参数设置即可自动生成码垛程序。
现有技术的缺点:后台码垛程序逻辑相对固定,界面设置仅改变程序中的参数,灵活性差,无法适应各种复杂码垛作业流程。在使用过程中码垛需求变化时,使用者需要重新对码垛机器人进行手动示教和参数设置,或只能采用传统编程方式才能实现,工作效率低,人力维护成本高,因此提供一种基于组件拼接的码垛机器人控制方法。
发明内容
为了克服现有技术的上述缺陷,本发明提供了一种基于组件拼接的码垛机器人控制方法,以解决上述背景技术中存在的问题。
本发明提供如下技术方案:一种基于组件拼接的码垛机器人控制方法,包括以下步骤:
步骤1:创建码垛组件库:针对码垛环境中的多条流水线、多个托盘和多种产品排样方式,通过界面参数设置方式创建组件,构建码垛组件库,在组件库中,这些组件可进行新建、修改、删除等操作;
步骤2:码垛编程:根据码垛作业流程,通过添加组件拼接指令进行编程;
步骤3:轨迹调试:针对组件偏差,采用全局变量赋值方式快速调整托盘位置;根据实际调整整个码垛运行轨迹中的关节运动、直线运动速度,使码垛作业与流水线产品到达速度相匹配;
步骤4:生成程序:根据步骤2的程序流程,调用步骤1和步骤3中相关参数,系统自动生成码垛机器人程序,控制机器人进行码垛作业,通过界面参数设置创建组件,然后通过组件拼接编程快速生成码垛程序。
进一步的,所述步骤1的组件包括工具组件、托盘组件、流水线取件轨迹组件、托盘放件轨迹组件和垛排样组件,其中工具组件通过手动示教和界面参数输入方式,采用XYZ-4点法确定工具中心点TCP的位置和姿态,建立工具坐标系;
其中托盘组件通过手动示教和界面参数输入方式,确定托盘平面的原点、X轴和Y轴,建立用户坐标系,并在界面配置该托盘准备完毕输入信号端口;
其中流水线取件轨迹组件,通过界面选择当前工具组件名称,通过手动示教,在界面设置取件时的取件过渡点、准备取件点、取件点和取件离开点,以及在界面配置取件过程中的工件准备完毕输入信号端口、抓取辅助输出信号端口、夹紧完毕输入信号端口;
托盘放件轨迹组件,选择某个托盘进行手动示教,在界面选择当前工具组件名称、示教托盘组件名称,然后设置首垛放到托盘原点时的过渡点、准备放件点、放件点、放件离开点和过渡点;
垛排样组件,通过界面输入新建排样方式,然后为托盘上的每一层选择排样方式、设置层高,获得各个垛的位置数据。
进一步的,所述步骤2的码垛编程,其特征为包括组件拼接指令,通过选择工具组件、托盘组件、流水线取件轨迹组件、托盘放件轨迹组件、垛排样组件以及循环方式,添加的组件拼接指令确定了码垛机器人作业流程和相关参数;
其中的组件拼接指令,其特征为在程序保存时,流水线取件轨迹组件中的工具中心点TCP轨迹数据会转化为调用该组件的组件拼接指令中采用的工具在该流水线上取垛的TCP轨迹数据,然后进一步转化成机器人关节数据,码垛编程中只采用“组件拼接指令”就能满足大多数情况下的码垛应用需求,但实际应用中为实现更复杂的应用,还可以增加其他机器人编程基本指令,例如运动指令、I/O指令、全局变量指令、逻辑判断、循环和跳转指令等。
进一步的,所述步骤3的组件偏差,主要为托盘放置位置偏差,其特征是会为程序中的每个托盘分配3个系统全局变量,作为托盘组件的X轴偏移量、Y轴偏移量和旋转量,可通过界面输入、程序中全局变量赋值以及传感器检测写全局变量的方式设置该偏移量。
进一步的,所述码垛编程可选择按垛循环和按托盘循环,选择按垛循环,则每条组件拼接指令在完成一次取垛放垛作业后跳转至下一条指令;选择按托盘循环,则每条组件拼接指令在完成当前托盘上全部码垛作业后才会跳转至下一条指令。
进一步的,所述码垛编程可增加其他机器人编程基本指令,例如运动指令、I/O指令、全局变量指令、逻辑判断、循环和跳转指令,用于实现更为复杂、精度要求更高的码垛作业流程。
本发明的技术效果和优点:
1.本发明通过组件创建与组件拼接指令编程相结合的方式,快速实现各种复杂码垛作业流程下的码垛机器人控制,解决码垛作业需求多变时传统编程方式过于复杂、而现有技术程序逻辑相对固定,灵活性差,进而工作效率低,人力维护成本高的问题。
2.本发明通过设有码垛组件的工具组件,在工具出现问题时,则只需要更换对应的工作组件,从而加快维修速度以及减少维修方面零件的更换成本。
3.本发明通过托盘位置小范围调整,可创建新托盘组件,然后在码垛指令中选择新托盘组件,无需手动示教放垛轨迹,生成的码垛程序可直接匹配新托盘位置。
4.本发明通过针对托盘更换后存在位置误差,可通过全局变量手动或者在码垛过程中由传感器输入偏移量,微调托盘位置
5.本发明通过采用界面参数设置创建组件,然后通过组件拼接指令编程实现码垛机器人控制,在降低机器人手动示教复杂度确保快速的同时,仍具备编程的高灵活性。当码垛作业需求变化时,大多数情况下可直接通过现有组件进行重新拼接编程,即可快速创建满足新需求的码垛程序。
附图说明
图1为本发明的整体流程示意图。
图2为本发明的编程顺序示意图。
图3为本发明的控制系统界面示意图。
图4为本发明的组件库管理界面示意图。
图5为本发明的工具组件示意图。
图6为本发明托盘组件界面示意图。
图7为本发明的托盘组件示意图。
图8为本发明的工具组件、流水线取件轨迹组件以及托盘放件轨迹组件界面示意图。
图9为本发明的流水线取件轨迹组件界面示意图。
图10为本发明的托盘放件轨迹组件界面示意图。
图11为本发明的垛排样组件创建界面示意图。
图12为本发明的垛排样组件界面示意图。
图13为本发明的按垛循环编程界面示意图。
图14为本发明的按托盘循环编程界面示意图。
图15为本发明的双流水线双托盘按垛循环编程界面示意图。
图16为本发明的托盘偏移界面示意图。
图17为本发明的运动速度界面示意图。
具体实施方式
下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,另外,在以下的实施方式中记载的各结构的形态只不过是例示,本发明所涉及的基于组件拼接的码垛机器人控制方法并不限定于在以下的实施方式中记载的各结构,在本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施方式都属于本发明保护的范围。
参照图1-2,本发明提供了一种基于组件拼接的码垛机器人控制方法,包括以下步骤:
步骤1:创建码垛组件库:针对码垛环境中的多条流水线、多个托盘和多种产品排样方式,通过界面参数设置方式创建组件,构建码垛组件库,在组件库中,这些组件可进行新建、修改、删除等操作;
步骤2:码垛编程:根据码垛作业流程,通过添加组件拼接指令进行编程;
步骤3:轨迹调试:针对组件偏差,采用全局变量赋值方式快速调整托盘位置;根据实际调整整个码垛运行轨迹中的关节运动、直线运动速度,使码垛作业与流水线产品到达速度相匹配;
步骤4:生成程序:根据步骤2的程序流程,调用步骤1和步骤3中相关参数,系统自动生成码垛机器人程序,控制机器人进行码垛作业,通过界面参数设置创建组件,然后通过组件拼接编程快速生成码垛程序。
在一个优选的实施方式中,步骤1的组件包括工具组件、托盘组件、流水线取件轨迹组件、托盘放件轨迹组件和垛排样组件,其中工具组件通过手动示教和界面参数输入方式,采用XYZ-4点法确定工具中心点TCP的位置和姿态,建立工具坐标系;
其中托盘组件通过手动示教和界面参数输入方式,确定托盘平面的原点、X轴和Y轴,建立用户坐标系,并在界面配置该托盘准备完毕输入信号端口;
其中流水线取件轨迹组件,通过界面选择当前工具组件名称,通过手动示教,在界面设置取件时的取件过渡点、准备取件点、取件点和取件离开点,以及在界面配置取件过程中的工件准备完毕输入信号端口、抓取辅助输出信号端口、夹紧完毕输入信号端口;
托盘放件轨迹组件,选择某个托盘进行手动示教,在界面选择当前工具组件名称、示教托盘组件名称,然后设置首垛放到托盘原点时的过渡点、准备放件点、放件点、放件离开点和过渡点;
垛排样组件,通过界面输入新建排样方式,然后为托盘上的每一层选择排样方式、设置层高,获得各个垛的位置数据。
在一个优选的实施方式中,步骤2的码垛编程,其特征为包括组件拼接指令,通过选择工具组件、托盘组件、流水线取件轨迹组件、托盘放件轨迹组件、垛排样组件以及循环方式,添加的组件拼接指令确定了码垛机器人作业流程和相关参数;
其中的组件拼接指令,其特征为在程序保存时,流水线取件轨迹组件中的工具中心点TCP轨迹数据会转化为调用该组件的组件拼接指令中采用的工具在该流水线上取垛的TCP轨迹数据,然后进一步转化成机器人关节数据,码垛编程中只采用“组件拼接指令”就能满足大多数情况下的码垛应用需求,但实际应用中为实现更复杂的应用,还可以增加其他机器人编程基本指令,例如运动指令、I/O指令、全局变量指令、逻辑判断、循环和跳转指令等。
在一个优选的实施方式中,步骤3的组件偏差,主要为托盘放置位置偏差,其特征是会为程序中的每个托盘分配3个系统全局变量,作为托盘组件的X轴偏移量、Y轴偏移量和旋转量,可通过界面输入、程序中全局变量赋值以及传感器检测写全局变量的方式设置该偏移量。
在一个优选的实施方式中,码垛编程可选择按垛循环和按托盘循环,选择按垛循环,则每条组件拼接指令在完成一次取垛放垛作业后跳转至下一条指令;选择按托盘循环,则每条组件拼接指令在完成当前托盘上全部码垛作业后才会跳转至下一条指令。
在一个优选的实施方式中,码垛编程可增加其他机器人编程基本指令,例如运动指令、I/O指令、全局变量指令、逻辑判断、循环和跳转指令,用于实现更为复杂、精度要求更高的码垛作业流程。
本发明实施例二:
参照图3-12,码垛机器人控制系统界面包括组件库管理、码垛编程和轨迹调试:
其中组件库管理中包括工具组件、托盘组件、流水线取件轨迹组件、托盘放件轨迹组件和垛排样组件,界面参数输入方式创建工具组件的实施例,其步骤如下:
A1:选择工具类型、一般码垛工具有吸盘式、抓取式等类型,对于吸盘式工具,其工具中心点TCP位于法兰盘中心线与吸盘所在平面交点的连线上并延伸一段距离,距离的长短依据产品高度确定;抓取式的TCP一般设在法兰中心线与手爪前端面交点处;
A2:选取一个固定参考点,根据XYZ-4点法,手动示教机器人,用不同的工具姿态,将机器人工具的TCP尽可能与固定参考点刚好对碰上,读取当前数据为关键点1-4,然后将TCP分别移至X轴和Z轴正方向一个点读取数据;
A3:输入工具组件名称,点击保存,创建的工具组件将显示在左边的列表中;
其中界面参数输入方式创建托盘组件的实施例,其步骤如下:
B1:选择手动示教采用的工具组件名称;
B2:手动示教工具TCP至托盘原点,读取原点数据;
B3:手动示教工具TCP,读取X轴正方向上一个点的数据、Y轴正方向上一个点的数据,确定X、Y轴正方向,根据笛卡尔直角坐标系的右手定则,即可确定Z轴正方向;
B4:输入托盘准备完毕输入信号端口;
B5:输入托盘组件名称,点击保存,创建的托盘组件将显示在左边的列表中,多个托盘需要创建多个托盘组件;
其中,界面参数输入方式创建流水线取件轨迹组件的实施例,其步骤如下:
C1:选择手动示教采用的工具组件名称;
C2:通过手动示教,设置取件时的取件过渡点p1、准备取件点p2、取件点p3和取件离开点p4;
C3:配置取件过程中的工件准备完毕输入信号端口、抓取辅助输出信号端口、夹紧完毕输入信号端口;
C4:输入流水线取件轨迹组件名称,点击保存,创建的流水线取件轨迹组件将显示在左边的列表中,多个流水线需要创建多个流水线取件轨迹组件;
其中界面参数输入方式创建托盘放件轨迹组件的实施例,其步骤如下:
D1:选择手动示教采用的工具组件名称;
D2:选择当前手动示教的托盘组件名称;
D3:通过手动示教,设置首垛放到托盘原点时地进入过渡点p5、准备放件点p6、放件点p7、放件离开点p8和离开过渡点p9;
D4:输入托盘放件轨迹组件名称,点击保存,创建的托盘放件轨迹组件将显示在左边的列表中,多个托盘需要创建多个托盘放件轨迹组件;
其中,界面参数输入方式创建垛排样组件的实施例,其步骤如下:
E1:在“排样方式”界面输入托盘上垛摆放会采用的排样方式数量,如果只有1种排样就输入“1”,N种就输入N,输入后方框中会自动生成“排样方式1”、“排样方式2”、……、“排样方式N”;
E2:选择某个排样方式,输入垛数,即采用当前排样方式这一层所包含的垛数量,然后可以手动示教或者通过阵列式排样中选择运行走向,首垛坐标信息,确定几行几列,输入行间距、列间距等,获取每个垛位置坐标;
E3:切换到“层信息”界面,输入托盘上的层数量,如果托盘上只摆放1层货物就输入“1”,N层就输入N,输入后方框中会自动生成“第1层”、“第2层”、……、“第N层”,然后,从托盘最下面的第1层开始,逐层选择“排样方式”,设置层高和过渡点偏移高度,其中层高为当前层实际高度;
E4:输入垛排样组件名称,点击保存,创建的垛排样组件将显示在左边的列表中,多种产品、多种排样样式需要创建多个垛排样组件。
本发明实施例三:
参照图13-15,码垛编程,在本实施例中以单条流水线双托盘进行某个产品的码垛作业为例,码垛机器人使用的工具组件为t1,托盘组件分别为c1和c2,流水线取垛轨迹组件为m1,托盘放垛轨迹组件为n1和n2,垛排样组件为l1;
选择相应组件,并勾选“按垛循环”,点击“添加”指令,保存该程序并切换到自动模式运行,因为指令为“按垛循环”,则机器人将先从流水线上取一个垛放到托盘1上,再从流水线上取一个垛放到托盘2上,然后再从流水线上取一个垛放到托盘1上,……,循环进行码垛作业;
选择相应组件,并勾选“按托盘循环”,点击“添加”指令,保存该程序并切换到自动模式运行,因为指令为“按托盘循环”,则机器人将先从流水线上取一个垛放到托盘1上,再从流水线上取一个垛继续放到托盘1上,直到托盘1所有垛堆放完成,然后开始从流水线上取一个垛放到托盘2上,再从流水线上取一个垛继续放到托盘2上,直到托盘2所有垛堆放完成,循环进行码垛作业;
如果码垛作业在原有基础上增加为双流水线双托盘,即新增一条流水线,此时需要调整托盘2的位置,但放件轨迹相对托盘位置不变,则只需为增加的流水线创建流水线取垛轨迹组件为m2,为调整位置的托盘创建托盘组件c3;
选择相应组件,并勾选“按垛循环”,点击“添加”指令,保存该程序,托盘放件轨迹n2中的轨迹数据会根据组件拼接指令中所采用的托盘组件c3进行修正;切换到自动模式运行,机器人将先从流水线1上取一个垛放到托盘1上,再从流水线2上取一个垛放到托盘2上,然后再从流水线1上取一个垛放到托盘1上,再从流水线2上取一个垛放到托盘2上,……,循环进行码垛作业;
当机器人更换工具后,只需为新工具创建工具组件t2,然后将指令中的工具组件t1换成t2,在程序保存时,流水线取件轨迹组件、托盘放件轨迹组件中的TCP轨迹数据会根据组件拼接指令中所采用的工具组件t2进行修正;
在有些应用中,当托盘移动位置、或者新增流水线后,由流水线取件轨迹上的取件离开点直接到托盘放件轨迹上的进入过渡点可能存在遮挡,需要增加过渡点,可通过在组件拼接指令前增加运动指令实现,增加运动指令后,机器人在流水线2取垛后,从取件离开点先关节运动至过渡点Pa,然后再到托盘3附近的进入过渡点;放垛返回时先从托盘3的离开过渡点关节运动到Pb,然后再到流水线2取件过渡点。
本发明实施例四:
参照图16-17,步骤3的实施例以单条流水线双托盘进行某个产品的码垛作业为例,当添加组件拼接指令创建完程序后,点击“托盘偏移”按键,系统为程序中的托盘组件c1、托盘组件c2分别分配3个系统全局变量GV1、GV2、GV3和GV4、GV5、Gv6,作为托盘组件的X轴偏移量、Y轴偏移量和旋转量,针对托盘需要经常更换导致的位置偏差,可通过界面输入、程序中全局变量赋值以及传感器检测写全局变量的方式设置该偏移量;
点击“运行速度”按键,可根据实际调整整个码垛运行轨迹中的关节运动、直线运动速度,提高码垛作业效率,最后在主界面点击“保存”,则系统根据步骤二的程序流程,调用步骤1和步骤3中相关参数,自动生成码垛机器人程序,控制机器人进行码垛作业。
最后应说明的几点是:首先,在本申请的描述中,需要说明的是,除非另有规定和限定,术语“安装”、“相连”、“连接”应做广义理解,可以是机械连接或电连接,也可以是两个元件内部的连通,可以是直接相连,“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变,则相对位置关系可能发生改变;
其次:本发明公开实施例附图中,只涉及到与本公开实施例涉及到的结构,其他结构可参考通常设计,在不冲突情况下,本发明同一实施例及不同实施例可以相互组合;
最后:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
- 一种基于组件拼接的码垛机器人控制方法
- 一种基于行为克隆的布料码垛机器人控制系统及控制方法