工业机器人的编程系统和方法

文档序号:2312593阅读:1840来源:国知局
专利名称:工业机器人的编程系统和方法
技术领域
本发明涉及一种工业机器人的编程系统和方法,具体应用于数控加工领域的工业机器人编程。
背景技术
随着先进制造技术的发展,工业机器人越来越广泛的与数控机床组合应用,以满足高速、高精、柔性等加工要求。在应用中,工业机器人的作业文件编辑和数控机床加工程序的编辑,都是加工准备阶段的重要环节。但是,工业机器人和数控机床的编程方法不同,又都具有很强的专业性,且常用的编程指令功能都有几十条,提高了对技术人员编程能力的要求,增加了工业机器人和数控机床组合应用的难度。例如·G61 GOl X_Y_Z_F1000MOVL #P0S V1600. O PLlL PR [I] %50 FINE以上三条程序语句都是进行直线运动操作的控制指令。第一条是数控系统常用的G指令格式,第二和第三条都为工业机器人控制器的指令格式。可以看出,工业机器人与通用数控系统,在编程方法上完全不同;并且,不同品牌的工业机器人的编程指令的名称与格式也有较大的区别。虽然有研究人员提出利用数控机床G代码作为中转,通过功能转换和扩展,将工业机器人和数控机床的编程统一为G代码编程。该方法利用已有的、标准化的G代码指令对具有很强应用特点的工业机器人编程指令进行直接的转换和扩展,缺少灵活性与通用性;同时,该方法还要求技术人员既精通G代码编程、又掌握扩展的G代码指令,本质上,仍对技术人员的编程能力有很高的要求。所以,目前在工业机器人和数控机床的组合应用中,技术人员需要花费大量时间掌握两种具有专用性和专业性的编程方法,增加了加工准备阶段的难度,降低了工业机器人与数控机床组合应用的效率。通用化的编程方法主要有指令式、图形式、组态式等方法,其中组态式编程方法形象、直观、简捷,利用应用软件中提供的工具、方法,即可完成工程中某一具体任务,已广泛应用于工业领域。后置处理技术是数控系统中将刀具轨迹根据特定的数控机床转化为该数控机床可以识别的G代码指令的一种有效方法。

发明内容
本发明针对现有技术存在的问题,提供一种基于组态技术与后置映射方法的工业机器人编程系统和编程方法,使得不具有相关机器人编程语言的操作员能够对工业机器人进行编程,实现工业机器人直观化、简捷化、通用化的编程。本发明解决其技术问题所采用的技术方案是一种基于组态技术与后置映射方法的工业机器人编程系统,包括组态编程环境模块,组态编程环境模块为基于组态技术的工业机器人编程环境,包含有描述机器人实际运动和状态转换功能的功能组件以及进行所述功能组件间逻辑关系连接的关系组件;组态编程环境模块用于生成组件组合列表;还包括原语转换模块,编程系统内部的标准原语转换模块,统一描述组件名称及其属性的内部标准原语指令并且把工业机器人编程文件由组件封装格式转换为原语指令封装格式,最终将上述的组件组合列表转换为原语指令链表;还包括后置映射转换模块,根据不同机器人系统的指令格式,后置映射模块将上述原语指令链表映射转换为不同的机器人系统指令,生成工业机器人的作业文件。进一步的是上述的后置映射转换模块包括映射配置表,存放内部原语指令格式与各品牌工业机器人编程指令格式的转换关系;还包括映射转换模块,扫描内部原语指令文件的每一行,再查询配置表,并利用基于正则表达式进行字符串匹配的方法,映射出原语指令文件每一行所对应的机器人编程指令;还包括代码生成模块,将映射的机器人编程指令生成相应的机器人可执行代码文件。更进一步的是上述功能组件包括线性和圆弧运动功能组件,实现机器人线性 运动和圆弧运动;还包括I/o操作功能组件,机器人内外部输入输出点的读写操作;还包括辅助功能组件,主要针对机器人外部设备的复合控制;还包括轴回零操作功能组件,机器人各关节的回零操作;还包括变量操作功能组件,机器人程序中变量的赋值和运算操作;上述关系组件包括循环关系组件,描述机器人程序中的循环关系;还包括I/O等待关系组件,由输入输出状态触发的等待关系;还包括延时等待关系组件,由定时器延时触发的等待关系;还包括条件跳转关系组件,由条件表达式触发的跳转关系;还包括条件判断关系组件,由条件表达式触发的判断关系;还包括条件选择关系组件,由条件表达式触发的选择关系。上述辅助功能组件中的机器人外部设备的复合控制可以是焊接机器人的焊枪的控制和/或搬运机器人手抓的开合控制。进一步的是上述的原语转换模块一方面定义了编程系统内部标准原语指令的名称和语法结构;另一方面,原语转换模块应用图遍历方法扫描组件组合文件中各封装的组件,并生成原语指令序列链表,将组件的属性与原语的语法结构映射,把工业机器人编程文件由组件封装格式转换为控制原语指令封装格式。优选的是上述的组态编程环境模块的用户界面,包括用于编程的工具栏、组件面板、组态编程子窗体和属性窗体。本发明还提供了一种基于组态技术与后置映射方法的工业机器人的编程方法,所述方法包括进入包含有功能组件和关系组件的组态编程环境的步骤;在组态编程环境中将功能组件和关系组件拖曳到组态编程子窗体中进行编程的步骤;用双击上述组态编程子窗体中的功能组件和关系组件进行参数设置的步骤;将结束组件拖曳至组态编程子窗体中,并用无条件顺序连接关系组件按照添加组件的顺序连接相邻的组件的步骤;确认编程完成,进行封装,生成组件组合列表;确定为编程完成,返回进行重新编程的步骤;定义统一描述组件控制及逻辑关系的内部标准原语,调用编程系统内部的标准原语转换模块,把工业机器人编程文件由组件封装格式转换为原语指令封装格式的步骤;还包括进入后置映射步骤,该步骤中首先通过配置管理选择对应品牌的工业机器人的控制器的映射配置表,进行配置映射;其次,进入映射转换步骤,扫描内部原语指令文件的每一行,再查询配置表,并利用基于正则表达式进行字符串匹配的方法,映射出原语指令文件每一行所对应的机器人编程指令;最后,生成所选后置映射文件对应系统的机器人作业文件。上述方法的每一个步骤都可以手动返回至上一步骤,直至退出整个编程环境。当本控制方法应用于一些工业机器人编程场合时,在上述组态编程环境中将功能组件和关系组件拖曳到组态编程子窗体中进行编程步骤之前,还需要进行人工导引机器人末端执行器的步骤,该步骤为传统的工业机器人编程中的示教步骤中所涉及的操作方法。当本编程方法应用于机器手抓取一定数量工件时的作业流程为首先将机器人各轴回零;然后以直线运动的方式运行到原料仓位置,抓取工件;再以直线运动的方式运动到工件安装位置,松开工件;重复以上操作,直到夹取的工件数量满足条件,结束本次作业; 其中,人工导引机器人末端执行器的步骤包括人工导引机器人末端执行器到达原料仓位置以及人工导引机器人末端执行器到达工件安装位置。本发明的有益效果是I、整个编程系统通过基于组态技术的组态编程环境模块,不需要以指令的形式编写程序就能完成特定的应用开发,使得编程的环境更加的简单,便捷;2、本发明的编程方法中通过后置映射的方法,根据不同机器人系统以及数控系统的指令格式,将基于组态技术的机器人编程文件生成可应用于不同机器人系统以及数控系统的编程语言,实现了编程的通用化;并且,由于提供了映射管理功能,用户可将所应用的各种工业机器人指令系统以及数控系统的指令功能,建立相应的映射配置表,实现了指令映射的可扩展性。3、本发明中将传统的机器人指令功能封装成组件,然后以简便的“拖拽”组件代替传统的指令输入,高效、准确。综上所述,本发明基于组态技术建立组件控制及逻辑关系,替代传统的指令编程方式,通过屏蔽编程指令名称与格式的不同,实现编程的简捷化;同时,通过后置映射方法将基于组件技术的机器人编程文件生成可应用于不同机器人系统的编程语言,实现编程的通用化。


图I为本发明编程系统的结构图;图2为本发明编程方法的流程图;图3为编程系统中的组态编程环境的用户界面;图4为本发明方法中应用的机器手抓取一定数量工件作业的原语指令链表;图5为本发明方法中应用的机器手抓取一定数量工件作业的一种机器人控制器的后置映射文件;图6为本发明方法中应用的机器手抓取一定数量工件作业的另一种机器人控制器的后置映射文件。
具体实施例方式下面结合附图及实施例描述本发明
具体实施例方式
本发明的编程系统应用如图I所示的系统结构,主要包括组态编程环境模块、原语转换模块和后置映射转换模块。组态编程环境用于建立组件组合列表,原语转换模块再将其自动生成原语指令链表,再经后置映射转换模块生成指定的机器人控制器的作业文件。上述的组态编程环境模块是在完全保留现有工业机器人编程指令的实现功能的基础上,替代传统的指令式编程环境,实现工业机器人的作业编程。上述的原语转换模块是编程系统内部的标准原语转换模块,是把工业机器人编程文件由组件封装格式转换为原语指令封装格式,是控制功能组件及逻辑关系的描述的不可分割指令单位,是组件控制及逻辑关系与后置映射系统间的桥梁。其工作过程是将单链表中关于组件的名称和参数属性等信息保存为内部原语指令要求的格式,通过遍历组件的组合文件有向图的方法生成内部原语指令链表,其中内部原语指令链表中的每一节点,代表一个具体组件及其参数属性。
上述的后置映射转换模块根据不同机器人系统的指令格式,后置映射模块将内部标准原语,映射转换为不同的机器人系统指令,生成工业机器人作业文件,实现了编程的通用化。后置映射模块主要包括映射配置表,存放本发明方法的内部原语指令格式与各品牌工业机器人编程指令格式的转换关系;映射转换模块,扫描内部原语指令文件的每一行,再查询配置表,并利用基于正则表达式进行字符串匹配的方法,映射出原语指令文件每一行所对应的机器人编程指令;代码生成模块,将映射的机器人编程指令生成相应的机器人可执行代码文件。本发明的编程方法是首先,建立基于组态技术与后置映射方法的工业机器人编程系统,以实现简捷化、通用化编程。该系统结构主要包括1、基于组态技术的机器人编程环境;2、可生成不同机器人编程语言的后置映射模块;3、统一描述组件逻辑关系的内部标准原语及原语转换模块。然后,建立基于组态技术的机器人编程环境并编程。该环境是在完全保留现有工业机器人编程指令的实现功能的基础上,替代传统的指令式编程环境,实现工业机器人的作业编程。因此,该环境根据现有机器人指令系统,开发了相应的功能组件和关系组件,以满足机器人操作功能。其中,功能组件描述机器人实际运动和状态转换的功能,主要包括线性和圆弧运动功能组件、I/o操作功能组件、辅助功能组件、轴回零操作功能组件、变量操作功能组件等;关系组件是进行功能组件间逻辑关系的连接,主要包括循环关系组件、I/O等待关系组件、延时等待关系组件、条件跳转关系组件、条件判断关系组件、条件选择关系组件、无条件顺序连接关系组件等。在该编程环境中,只要通过简单拖动、放置组件建立控制及逻辑关系,并输入各组件相关参数属性,即可完成简捷、直观、高效的机器人作业的编程。再然后,定义统一描述组件控制及逻辑关系的内部标准原语,并进行原语转换。定义的原语是控制功能组件及逻辑关系的描述的不可分割指令单位,是组件控制及逻辑关系与后置映射系统间的桥梁。通过在开发环境拖拽具体的组件和设置该组件参数属性来生成组件组合列表,该列表是以有向图的形式存储的,其中当前组件的下一可选组件是由有向图中当前节点的后继节点来确定的,这样就在有向图中形成一条以“开始”节点开始的,并以“结束”节点结尾的固定、唯一路径。在逻辑上,该路径中各组件节点是以单链表的形式存储的,即内部中间节点(除了开始节点与结束节点外的所有节点)只有唯一的前驱节点和后继节点。原语转换模块是本方法的核心模块,实现将单链表中关于组件的名称和参数属性等信息保存为内部原语指令要求的格式,通过遍历组件的组合文件有向图的方法生成内部原语指令链表,其中内部原语指令链表中的每一节点,代表一个具体组件及其参数属性。最后,实现可生成不同机器人编程语言的后置映射模块。根据不同机器人系统的指令格式,后置映射模块将内部标准原语,映射转换为不同的机器人系统指令,生成工业机器人作业文件,实现了编程的通用化。其中,后置映射模块主要包括映射配置表,存放本发明方法的内部原语指令格式与各品牌工业机器人编程指令格式的转换关系;映射转换模块,扫描内部原语指令文件的每一行,再查询配置表,并利用基于正则表达式进行字符串匹配的方法,映射出原语指令文件每一行所对应的机器人编程指令;代码生成模块,将映射的机器人编程指令生成相应的机器人可执行代码文件。 图2示出了本发明方法的流程图,整个流程可以概括为进入编程环境一在该环境中编程一将编好的程序封转成组件组合列表一进行原语转换一后置映射。本发明编程系统和发明应用于为机器手抓取一定数量工件,其作业流程为首先将机器人各轴回零;然后以直线运动的方式运行到原料仓位置,抓取工件;再以直线运动的方式运动到工件安装位置,松开工件;重复以上操作,直到夹取的工件数量满足条件,结束本次作业。具体的操作过程为首先,打开机器人编程系统程序,进入基于组态的编程环境;然后,在基于组态的环境中编程。首先通过鼠标拖动组件面板中开始组件到组态编程子窗体中,然后通过鼠标拖动组件面板中的轴回零到组态编程子窗体中,双击组件弹出属性对话框,将轴选择属性设置为所有轴,实现了机器人各关节轴回零操作;拖入变量操作组件到编程子窗体中,设置变量标号为500,初值为0,设置搬运工件计数变量初值;将标号组件拖入到编程子窗体中,设置标号属性为1,用来设置跳转位置;拖入变量操作组件到编程子窗体中,设置变量标号为500,运算操作位+ I操作,用作搬运工件计数;然后由人工导引机器人末端执行器到原料仓位置,再用动鼠标拖动组件面板中直线运动到组态编程子窗体中,双击组件弹出属性对话框,设置目标位置属性为示教点位置,同时设置运动速度属性完成到原料仓位置的直线运动,继续拖拽I/O操作到编程子窗体中,在属性对话框中设置用于手抓抓取控制的输出点序号完成抓取工件操作编程;接下来,由人工导引机器人末端执行器到工件安装位置,拖动组件面板中直线运动到组态编程子窗体中,设置属性对话框中的目标位置属性为示教点位置,同时设置运动速度属性完成到工件安装位置的直线运动,继续拖拽I/O操作到编程子窗体中,在属性对话框中设置用于手抓松开控制的输出点序号完成松开工件操作编程;继续拖入条件跳转关系组件,设置条件表达式为500号变量小于技术总数100个,跳转标号属性设置为I ;最后拖入结束组件,并用无条件顺序连接关系组件按照添加组件的顺序连接相邻的组件。设置完成后,点击“封装”图标,形成组件组合列表。再然后,点击“原语转换”图标,调用编程系统内部的标准原语转换模块,把工业机器人编程文件由组件封装格式转换为原语指令封装格式。图3为根据机器手抓取一定数量的工件作业的组件组合列表生成的原语指令链表,包括START指令、HOME指令、LABLE指令、LINE指令、Ι0_0Ρ指令、JUMP指令和END指令。其中,LINE功能指令数据结构中的成员变量t_poStion是位置型数据,表示笛卡尔坐标系下机器手位置与姿态;成员变量vel是双精度浮点型数据,表示机器手移动速度;成员变量corner_link是整形数据,表示机器手运动的拐角连接方式;成员变量Comment是字符串型数据,用来对指令进行注释;成员变量skip是布尔型数据,用来标注该行指令的是否进行跳过操作。C0N_JUMP关系指令的数据结构中的成员变量expression为字符串型数据,表示跳进跳转的条件表达式;成员变量jump_lable是整形变量,表示跳转行的标号;成员变量comment与成员变量skip类型与含义同LINE功能指令。在开发环境拖拽具体的组件和设置该组件参数属性来生成组件组合列表,该列表是以有向图的形式存储的,其中当前组件的下一可选组件是由有向图中当前节点的后继节点来确定的,这样就在有向图中形成一条以“开始”节点开始的,并以“结束”节点结尾的固定、唯一路径。在逻辑上,该路径中各组件节点是以单链表的形式存储的,即内部中间节点·(除了开始节点与结束节点外的所有节点)只有唯一的前驱节点和后继节点。原语转换模块是本方法的核心模块,实现将单链表中关于组件的名称和参数属性等信息保存为内部原语指令要求的格式,通过遍历组件的组合文件有向图的方法生成内部原语指令链表,其中内部原语指令链表中的每一节点,代表一个具体组件及其参数属性。此步骤对于使用者来说是黑盒操作,无需详细了解。最后,点击“后置映射”菜单,弹出后置配置对话框,使用者需要选择后置配置的文件,后置配置文件格式采用基于正则表达式的语法规则,配置文件的格式如图5、图6所示。图5为蓝天数控系统映射配置表,图6为FANUC工业机器人系统映射配置表。其中,lin_mov在编程系统中是直线运动LINE原语指令的描述,在蓝天数控系统中对应于GOl直线移动指令,在FANUC机器人控制器中对用与L直线运动指令,其指令参数&P%postion和P[%postion]对应于原语指令LINE的t_postion成员变量;指令参数F%F和%percent对应于原语指令LINE的vel成员变量;指令参数G%corner和%corner对应于原语指令LINE的corner_link成员变量;%nl是行结束符。条件跳转指令con_jump在编程系统中是C0N_JUMP原语指令的描述,在蓝天数控系统中对应于if [%expreesion]G0T0%lable%nl指令,在FANUC机器人控制器中对应于IF%expreesio,JMP LBL%lable%nl指令,其指令参数%expreesion对应于原语指令JUMP的成员变量expression ;指令参数%lable对应于原语指令JUMP的jump_lable成员变量,%nl是行结束符。代码生成模块将以%引导的字符串用组件属性变量转换后进行替换,最后生成所选后置映射文件对应系统的机器人作业文件。上述的蓝天是本单位的自主控制器的品牌。FANUC是日本一家著名控制器的品牌,该品牌市场应用非常广泛。上面结合附图对本发明优选实施方式作了详细说明,但是本发明不限于上述实施方式,一切以本发明的思想为基础进行的在本领域普通技术人员所具备的知识范围内的改进都落在本发明的保护范围内。不脱离本发明的构思和范围可以做出许多其他改变和改型。应当理解,本发明不限于特定的实施方式,本发明的范围由所附权利要求限定。
权利要求
1.一种基于组态技术与后置映射方法的工业机器人编程系统,包括 -组态编程环境模块,组态编程环境模块为基于组态技术的工业机器人编程环境,包含有描述机器人实际运动和状态转换功能的功能组件以及进行所述功能组件间逻辑关系连接的关系组件;组态编程环境模块用于生成组件组合列表; -原语转换模块,编程系统内部的标准原语转换模块,统一描述组件名称及其属性的内部标准原语指令并且把工业机器人编程文件由组件封装格式转换为原语指令封装格式,最终将上述的组件组合列表转换为原语指令链表; -后置映射转换模块,根据不同机器人系统的指令格式,后置映射模块将上述原语指令链表映射转换为不同的机器人系统指令,生成工业机器人的作业文件。
2.如权利要求I所述的编程系统,其特征在于所述后置映射转换模块包括 -映射配置表,存放内部原语指令格式与各品牌工业机器人编程指令格式的转换关系; -映射转换模块,扫描内部原语指令文件的每一行,再查询配置表,并利用基于正则表达式进行字符串匹配的方法,映射出原语指令文件每一行所对应的机器人编程指令; -代码生成模块,将映射的机器人编程指令生成相应的机器人可执行代码文件。
3.如权利要求I或2所述的一种编程系统,其特征在于所述功能组件主要包括 -线性和圆弧运动功能组件,实现机器人线性运动和圆弧运动; -I/o操作功能组件,机器人内外部输入输出点的读写操作; -辅助功能组件,主要针对机器人外部设备的复合控制; -轴回零操作功能组件,机器人各关节的回零操作; -变量操作功能组件,机器人程序中变量的赋值和运算操作。
所述关系组件主要包括 -循环关系组件,描述机器人程序中的循环关系; -I/O等待关系组件,由输入输出状态触发的等待关系; -延时等待关系组件,由定时器延时触发的等待关系; -条件跳转关系组件,由条件表达式触发的跳转关系; -条件判断关系组件,由条件表达式触发的判断关系; -条件选择关系组件,由条件表达式触发的选择关系。
4.如权利要求3所述的编程系统,其特征在于所述辅助功能组件中的机器人外部设备的复合控制包括焊接机器人的焊枪的控制和/或搬运机器人手抓的开合控制。
5.如权利要求I所述的编程系统,其特征在于所述的原语转换模块一方面定义了编程系统内部标准原语指令的名称和语法结构;另一方面,原语转换模块应用图遍历方法扫描组件组合文件中各封装的组件,并生成原语指令序列链表,将组件的属性与原语的语法结构映射,把工业机器人编程文件由组件封装格式转换为控制原语指令封装格式。
6.如权利要求I所述的编程系统,其特征在于所述的组态编程环境模块的用户界面,包括用于编程的工具栏、组件面板、组态编程子窗体和属性窗体。
7.一种基于组态技术与后置映射方法的工业机器人的编程方法,所述方法包括 -进入包含有功能组件和关系组件的组态编程环境; -在组态编程环境中将功能组件和关系组件拖曳到组态编程子窗体中进行编程;-用双击上述组态编程子窗体中的功能组件和关系组件进行参数设置; -将结束组件拖曳至组态编程子窗体中,并用无条件顺序连接关系组件按照添加组件的顺序连接相邻的组件; -确认编程完成,进行封装,生成组件组合列表;确定为编程完成,返回进行重新编程;-定义统一描述组件控制及逻辑关系的内部标准原语,调用编程系统内部的标准原语转换模块,把工业机器人编程文件由组件封装格式转换为原语指令封装格式; -进入后置映射步骤首先通过配置管理选择对应品牌的工业机器人的控制器的映射配置表,进行配置映射;其次,进入映射转换步骤,扫描内部原语指令文件的每一行,再查询配置表,并利用基于正则表达式进行字符串匹配的方法,映射出原语指令文件每一行所对应的机器人编程指令;最后,生成所选后置映射文件对应系统的机器人作业文件。
8.如权利要求7所述的编程方法,其特征在于所述方法的每一个步骤都可以手动返回至上一步骤,直至退出整个编程环境。
9.如权利要求7所述的编程方法,其特征在于在组态编程环境中将功能组件和关系组件拖曳到组态编程子窗体中进行编程步骤之前,还包括人工导引机器人末端执行器的步骤。
10.如权利要求9所述的编程方法,其特征在于所述编程方法应用于机器手抓取一定数量工件时的作业流程为首先将机器人各轴回零;然后以直线运动的方式运行到原料仓位置,抓取工件;再以直线运动的方式运动到工件安装位置,松开工件;重复以上操作,直到夹取的工件数量满足条件,结束本次作业; 其中,人工导引机器人末端执行器的步骤包括人工导引机器人末端执行器到达原料仓位置以及人工导引机器人末端执行器到达工件安装位置。
全文摘要
本发明提供一种工业机器人编程系统和编程方法,实现工业机器人直观化、简捷化、通用化的编程。本发明的编程系统,包括组态编程环境模块,原语转换模块,和后置映射转换模块,根据不同机器人系统的指令格式,后置映射模块将上述原语指令链表映射转换为不同的机器人系统指令,生成工业机器人的作业文件。本发明的编程方法,包括进入组态编程环境的步骤;拖曳编程的步骤;参数设置的步骤;确认编程完成,进行封装,生成组件组合列表的步骤;定义统一描述组件控制及逻辑关系的内部标准原语,调用编程系统内部的标准原语转换模块,把工业机器人编程文件由组件封装格式转换为原语指令封装格式的步骤;还包括后置映射步骤。
文档编号B25J9/16GK102950595SQ20121043230
公开日2013年3月6日 申请日期2012年10月31日 优先权日2012年10月31日
发明者王品, 郑湃 申请人:常州数控技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1