专利名称::基于g代码转换方法的工业机器人加工控制方法
技术领域:
:本发明涉及一种工业机器人加工控制方法。
背景技术:
:现有技术中,如北京航空航天大学负超对用于复杂空间曲面加工的机器人磨削系统展开研究,如文献l:郎志,李成群和炱超,机器人柔性抛光系统研究.机械工程师,2006(006):p.26-28;文献2:洪云飞,李成群,和员超,用于复杂空间曲面加工的机器人磨削系统.中国机械工程,2006(s2);开发的用于复杂曲面的磨削机器人磨削系统由六自由度ABB机器人和砂带磨削机组成,其工艺流程包拷工具和工件位姿标定、加工路径离线编程、自动磨削加工和检测。再如,广州工业大学赵永浚等阐述了G代码转化为机器人各关节运动轨迹数据的方法抛光中,工具也即机器人末端点沿着工件表面运动,其抛光轨迹可以根据工具型面,由MasterCAM等软件输出的NC文件获得,再由该NC文件,通过逆运动学计算,获得机器人各关节运动轨迹数据,参照文献3:张永浚,赵学堂,and许崇波.机器人模具抛光三维实体造型及运动仿真.in全国特种加工学术会议.2003.;由此,该文献提出了G代码编译的处理过程,包括输入NC文件、检查程序、获取刀位数据、插补和存储数据。又如华中科技大学对数控代码转换成机器人的轨迹转化软件展开了系统研究。文献4:韩光超,etal.,基于CAM的机器人抛光轨迹规划.华中科技大学学报(自然科学版),2008.36(5):p.60-62;文献5:张海鸥,etal.,面向熔射快速制模的机器人自动研磨系统的开发.中国机械工程,2005.16(17):p.1515-1518;根据数控铣加工刀具与抛光加工中抛光头在运动方式上具有很大的相似性,从多轴铣加工轨迹中获取加工零件的表面信息,并用于生成机器人抛光工艺的加工轨迹。文献6:韩光超,etal.,基于游离磨料的机器人抛光工艺实验研究.中国机械工程,2007.18(18):p.2152-2155;文献7:任俊,面向熔射快速制模的机器人辅助曲面自动抛光系统的研究.2006,华中科技大学武汉,其介绍了机器人刀具轨迹转化软件首先在UG的CAD模块中完成待加工工件的CAD造型,利用UG的CAM模块生成txt格式的加工代码,然后利用轨迹转化软件将txt格式的加工代码转化成机器人能够识别的JBI格式文件。文献[8]:张海鸥,etal.,机器人制造陶瓷原型系统的研究.中国机械工程,2005.16(32),对该方法进一步展开说明。以上研究强调了G代码转换的技术需求并提出了初步方案,但是没有阐述具体的实现方法。工业机器人具有柔性大、加工方式和范围灵活的特点,可应用于与焊接、搬运、喷涂、抛光等自动化生产线。现有的CAD/CAM商业软件如Pro/E、UG、CATIA等都具有CAM模块,可以根据产品三维CAD模型生成铣削路径,并输出机床加工的G代码。但由于机器人代码格式与G代码格式不同,故G代码尚无法直接用于机器人加工。
发明内容为了克服已有的工业机器人加工控制方法的无法直接采用G代码进行控O〕、实用性差的不足,本发明提供一种能够将G代码直接用于机器人加工、实用性好的基于G代码转换方法的工业机器人加工控制方法。本发明解决其技术问题所采用的技术方案是一种基于G代码转换方法的工业机器人加工控制方法,所述控制方法包括以下步骤(1)、获取用户定制数据,在图形用户界面中输入初始条件和机器人信息,包括机器人的插补模式、插补速度、路径规划工艺特征和机器人执行端的初始位姿;(2)、将G代码格式的NC文件导入及拐点坐标计算,即把G代码中包含的拐点坐标从磁盘文件读入计算机内存中,以链表的形式存储,并根据用户输入初始条件计算机器人执行端拐点坐标,并生成新的数据链表;(3)、命名待输出的工作文件,依次将链表中保存的拐点坐标写入所述工作文件;(4)、每个工作文件中写入拐点坐标后,接着写入机器人C编程或P编程代码,所述C编程或P编程代码包括机器人信息与语法格式,机器人信息包括机器人坐标系统类型、机器人杆组信息、工件、时间和插补模式,机器人代码的插补模式包括直线插补、圆弧插补和关节插补;语法格式包括开始符、结束符和程序号等;(5)、G代码通过以下规则转换为工作文件①刀轨拐点坐标的转换规则G代码包含绝对坐标与相对坐标两种坐标值,先提取用户输入的机器人执行端工作原点,即初始条件,以此为基础,结合G代码坐标系统类型及坐标值生成机器人执行端各个刀位的绝对坐标;②设定C编程或P编程语法格式C编程语法的特点机器人位姿的程序号以C开头,后加数字,然后是等号、位置坐标、姿态坐标;P编程语法的特点机器人位姿的程序号以P开头;(6)、将转换好的工作文件输出到工业机器人控制器,依照工作文件的指令控制工业机器人加工。作为优选的一种方案在所述步骤(4)中,语法格式还包括子程序调用,如果刀具的轨迹包含拐点超过999个,则生成多个以子程序执行的数据文件,新建一个主程序以调用子程序;所述步骤(5)中,规则还包括③子程序调用调用命令加文件名,串行调用或者循环调用。进一步,在所述步骤(1)中,用户定制包括①一般信息定制;包括初始条件、机器人信息和运动信息,初始条件包括机器人执行端的初始位姿,机器人信息包括坐标系统类别、杆组信息和工件信息,运动信息包括机器人插补速度;建立图形用户界面用于定制项目输入,具体编程实现时包括对话框设计、各控件属性设计、各控件对应的成员变量和各控件的消息映射函数;②语法格式定制;选择C编程或P编程格式;③插补模式定制缺省插补模式为直线插补,如果采用圆弧插补,G代码的圆弧插补指令以刀具的现时位置为圆弧起点,分别给出圆弧终点和圆心的坐标以及圆弧加工方向,在转换时需增加圆弧上某一点的坐标。本发明的技术构思为本发明G代码转化方法和基于此方法的G代码转换器可将数控加工代码转化成Motoman机器人工作文件。此外,该方法还可用于G代码转化成其他类型机器人的工作文件。在Pro/E、UG、CATIA等软件中完成待加工工件的CAD造型,利用这些软件的CAM模块生成NC文件(G代码格式),然后利用本发明G代码转换方法基础上建立的G代码转换器,将NC文件转化成机器人能够识别的JBI格式文件。生成的机器人代码包含机器人位置、姿态、速度、插补模式等信息。软件输入为包含G代码的"xt或者"ap文件,在对话框中指定机器人初始工位、插'卞;速度后,即可输出Motoman机器人的JBI文件。其技术特点为生成的机器人任务文件(*.JBI)包含代码的编程类型为"C编程",该编程类型每个数据文件最多可实现999个插补点。为了实现尽可能多的拐点以完成复杂曲面的加工任务,本软件可以自动把G代码文件包含的数据分割成多个包含999个插补点的气JBL文件。该功能可支持海量数据处理,使机器人一次执行l万条以上的插补量。本发明的有益效果主要表现在能够将G代码直接用于机器人加工、实用性好。图1是G代码转换流程图。图2是基于G代码转换方法的工业机器人加工控制方法的流程图。具体实施方式下面结合附图对本发明作进一步描述。参照图1和图2,一种基于G代码转换方法的工业机器人加工控制方法,提供一种计算机软件及方法,能把NC文件转换成Motoman机器人能够识别并执行的工作文件,并提供定制手段,使基于此方法的G代码转换器具有可拓展性。本实施例的控制方法包括以下步骤第一步,获取用户定制数据,即在图形用户界面中输入初始条件和机器人信息,如机器人的插补模式、插补速度、路径规划工艺特征、机器人执行端的初始位姿。第二步,NC文件导入及拐点坐标的计算,即把G代码中包含的拐点坐标从磁盘文件读入计算机内存中,以链表的形式存储。在此基础上根据用户输入初始条件计算机器人执行端拐点坐标,并生成新的数据链表。第三步,命名待输出的文件,即提示用户选择保存文件的路径及文件名;第四步,机器人工作文件的生成及拐点坐标的写入;根据拐点坐标数目新建不同数目的文件,依次将链表中保存的拐点坐标写入这些文件。每个文件最多储存999个拐点坐标,当拐点数目达到999个后,另起生成一个文件,依次写入链表中剩余拐点坐标...,依此类推,直至写完链表中所有拐点坐标。第五步,写入机器人工作文件的相关代码。即在上述步骤中,每个文件中写入拐点坐标后,接着写入机器人"C编程"相关代码。"C编程"的相关代码包括机器人信息与语法格式,机器人信息包括机器人坐标系统类型、机器人杆组信息、工件、时间和插补模式,机器人代码的插补模式有直线插补、圆弧插补和关节插补(本文暂不涉及)三种,分别用MOVL、MOVC禾口MOVJ表示;语法格式包括开始符和结束符、程序号、子程序调用,如NOP、END、CALL等。第六步,子程序调用,若刀具的轨迹包含拐点超过999个,则在上述步骤中会生成多个数据文件,那么必须新建一个主程序,以调用这些子程序;第七步,将转换好的工作文件输出到工业机器人控制器,依照工作文件的指令控制工业机器人加工。采用本发明G代码转换方法,输入NC文件,经过G代码转换,获得机fe人工作文件,输入输出存在着一一对应的关系,其对应关系主要体现在两个方面——数据与语法。采用文本寻址方法提取NC文件中的拐点坐标数据,结合用户输入的初始条件得到机器人工作文件中的刀轨数据;NC文件语法,即G代码格式,通过本发明的G代码转换,结合用户输入机器人信息,变成机器人能够识别并执行的语法,即"C编程"及"P编程"的语法。本发明G代码转换方法中,G代码转换是通过以下三个步骤来建立G代码转换规则第一步,刀轨拐点坐标的转换规则;G代码包含绝对坐标与相对坐标两种坐标值,不管采用哪一种,在G代码转换中都必须先提取用户输入的机器人执行端工作原点,即初始条件,以此为基础,结合G代码坐标系统类型及坐标值生成机器人执行端各个刀位的绝对坐标。第二步,设定"C编程"语法格式;C编程是Motoman机器人程序的一种语法格式,"C编程"的特点是机器人位姿的程序号以"C开头",后加数字,然后是等号、位置坐标、姿态坐标。采用"C编程",每个数据文件最多可记录999个拐点坐标。与"C编程"相对应的是"P编程",其特点是机器人位姿的程序号以"P开头",每个数据文件最多可记录128个拐点坐标;第三步,子程序调用;Motoman机器人程序的子程序调用为调用命令(CALL)加文件名,该具体使用时可以串行调用,也可以循环调用,前者无次数限制,后者最多可嵌套8次。本发明G代码转换方法中,用户定制使基于此方法的转换器具有可拓展性,用户定制通过以下三个步骤实现9第一步,一般信息定制;包括初始条件、机器人信息和运动信息,扨始条件如机器人执行端的初始位姿,机器人信息包括坐标系统类别、杆组信息、工件信息,运动信息如机器人插补速度;建立图形用户界面用于定制项目输入,具体编程实现时,包括对话框设计、各控件属性设计、各控件对应的成员变量、各控件的消息映射函数等;第二步,语法格式定制;本发明缺省的编程方法为"C编程",若采用"P编程",除了修改程序号,还要修改相应的语法格式,如表1表示两种语法格式<table>tableseeoriginaldocumentpage10</column></row><table>表l其中,n为机器人执行端拐点数;第三步,插补模式定制本发明缺省插补模式为直线插补,该方法在计算机器人位姿数据时可直接从NC文件中提取;若采用圆弧插补,由于G代码的圆弧插补指令以刀具的现时位置为圆弧起点,分别给出圆弧终点和圆心的坐标以及圆弧加工方向。因此,在转换时需增加圆弧上某一点的坐标。在Pro/E、UG、CATIA等软件中完成待加工工件的CAD造型,利用这些软件的CAM模块生成NC文件(G代码格式),然后利用本发明G代码转换方法基础上建立的G代码转换器,将NC文件转化成机器人能够识别的JBI格式文件。生成的机器人代码包含机器人位置、姿态、速度、插补模式等信息。软件输入为包含G代码的气txt或者"ap文件,在对话框中指定机器人初始工位、插补速度后,即可输出Motoman机器人的JBI文件。其技术特点为生成的机器人任务文件(*.JBI)包含代码的编程类型为"C编程",该编程类型每个数据文件最多可实现999个插补点。为了实现尽可能多的拐点以完成复杂曲面的加工任务,本软件可以自动把G代码文件包含的数据分割成多个包含999个插补点的气JBL文件。该功能可支持海量数据处理,使机器人一次执行1万条以上的插补量。图1为本发明逻辑结构示意图。在G代码中,GOl为直线插补指令;圆弧插补指令G02、G(B分别是顺时针圆弧加工指令和逆时针圆弧加工指令。机器人代码的插补方式有直线插补、圆弧插补和关节插补三种,分别用MOVL、MOVC和MOVJ表示。C编程是Motoman机器人程序的一种语法格式,该编程类型每个数据文件最多可实现999个插补点。NOP、END分别是Motoman机器人程序语句。歩骤l,打开编译生成的应用程序JBICreator.exe,跳出对话框,输入相关参数。输入机器人参数,包括姿态Additionalcoordinates(Rx,Ry,Rz):30,30,0;初始位置STATIC:(x,y,z):200,0,0运行模式包含yanshi/yunxing,缺省选择yanshi进给速度speedl,speed2,分别填写11/2。步骤2,点击"run(E)..."选择带处理数据文件路径,选择的G代码文件seq0002.tap,点击OK后跳出新的对话框,用于输入待生成气JBI文件的文件名。步骤3,跳出对话框,输入即将生成的气JBI文件名,点击OK,即完成机器人识别并能执行的数据文件,该数据文件包含6450个拐点,由于每个数据文件最多能包含999个拐点,所以软件把该6450个数据分别储存在7个文件中,每个文件的采用统一的命名方式。步骤4,通过机器人离线编程接口将上述数据文件传输到机器人控制面板,控制机器人完成特定的加工任务。权利要求1、一种基于G代码转换方法的工业机器人加工控制方法,其特征在于所述控制方法包括以下步骤(1)、获取用户定制数据,在图形用户界面中输入初始条件和机器人信息,包括机器人的插补模式、插补速度、路径规划工艺特征和机器人执行端的初始位姿;(2)、将G代码格式的NC文件导入及拐点坐标计算,即把G代码中包含的拐点坐标从磁盘文件读入计算机内存中,以链表的形式存储,并根据用户输入初始条件计算机器人执行端拐点坐标,并生成新的数据链表;(3)、命名待输出的工作文件,依次将链表中保存的拐点坐标写入所述工作文件;(4)、每个工作文件中写入拐点坐标后,接着写入机器人C编程或P编程代码,所述C编程或P编程代码包括机器人信息与语法格式,机器人信息包括机器人坐标系统类型、机器人杆组信息、工件、时间和插补模式,机器人代码的插补模式包括直线插补、圆弧插补和关节插补;语法格式包括开始符、结束符和程序号;(5)、G代码通过以下规则转换为工作文件①刀轨拐点坐标的转换规则G代码包含绝对坐标与相对坐标两种坐标值,先提取用户输入的机器人执行端工作原点,即初始条件,以此为基础,结合G代码坐标系统类型及坐标值生成机器人执行端各个刀位的绝对坐标;②设定C编程或P编程语法格式C编程语法的特点机器人位姿的程序号以C开头,后加数字,然后是等号、位置坐标、姿态坐标;P编程语法的特点机器人位姿的程序号以P开头;(6)、将转换好的工作文件输出到工业机器人控制器,依照工作文件的指令控制工业机器人加工。2、如权利要求1所述的基于G代码转换方法的工业机器人加工控制方法,其特征在于在所述步骤(4)中,语法格式还包括子程序调用,如果刀具的轨迹包含拐点超过999个,则生成多个以子程序执行的数据文件,新建一个主程序以调用子程序;所述步骤(5)中,规则还包括③子程序调用调用命令加文件名,串行调用或者循环调用。3、如权利要求1或2所述的基于G代码转换方法的工业机器人加工控制方法,其特征在于在所述步骤(1)中,用户定制包括①一般信息定制;包括初始条件、机器人信息和运动信息,初始条件包括机器人执行端的初始位姿,机器人信息包括坐标系统类别、杆组信息和工件信息,运动信息包括机器人插补速度;建立图形用户界面用于定制项目输入,具体编程实现时包括对话框设计、各控件属性设计、各控件对应的成员变量和各控件的消息映射函数;②语法格式定制;选择C编程或P编程格式;③插补模式定制缺省插补模式为直线插补,如果采用圆弧插补,G代码的圆弧插补指令以刀具的现时位置为圆弧起点,分别给出圆弧终点和圆心的坐标以及圆弧加工方向,在转换时需增加圆弧上某一点的坐标。全文摘要一种基于G代码转换方法的工业机器人加工控制方法,包括以下步骤(1)获取用户定制数据,在图形用户界面中输入初始条件和机器人信息;(2)将G代码格式的NC文件导入及拐点坐标计算;(3)命名待输出的工作文件,依次将链表中保存的拐点坐标写入所述工作文件;(4)每个工作文件中写入拐点坐标后,接着写入机器人C编程或P编程代码;(5)G代码通过以下规则转换为工作文件;(6)将转换好的工作文件输出到工业机器人控制器,依照工作文件的指令控制工业机器人加工。本发明能够将G代码直接用于机器人加工、实用性好。文档编号G05B19/18GK101673104SQ200910153450公开日2010年3月17日申请日期2009年10月10日优先权日2009年10月10日发明者应申舜,计时鸣,金明生申请人:浙江工业大学