1. 引言
近年来,飞机制造业对飞机装配技术提出了高质量、高效率、低成本的要求,对飞机自动化柔性装配技术的要求越来越高。[1]德国宝捷公司的移动机器人钻铆系统(RACe),可以实现精密制孔、锪窝、叠层厚度检测、孔径探测以及铆接等功能。RACe采用BROETJE-SOUL OLPS V5进行离线编程,不需要第三方模拟软件便可进行离线编程、仿真,无碰撞优化数控程序。[2]但该软件套件在离线编程过程中需要来回切换多个软件平台,过程较为繁琐。美国EI公司通过改造标准KUKA机器人,开发了多功能末端执行器,实现了F/A-18E/F机翼后缘襟翼的钻孔和锪窝[3]。
相比国外,国内进行飞机部件钻铆离线编程的研究主要集中在高校,南京航空航天大学、浙江大学等都有较多研究成果。南京航空航天大学通过开发机器人误差相似度精度补偿系统,设计了基于CAA二次开发的离线编程软件系统,实验证明该系统可以将工业机器人绝对定位精度提高至±0.25 mm,快速完成飞机部件离线加工程序规划。[4] [5]浙江大学针对航空铝合金的轻切削加工需求,提出一种工业机器人轻切削作业的微机编程原理及其实现方法。目前,绝大多数通用离线编程软件只能生成标准工业机器人专用程序代码,无法满足生成相对应CNC驱动的数控机器人制孔系统后置处理程序代码[6]。
论文针对飞机前侧壁板自动制孔系统离线编程需求,设计了一套适用于数控控制机器人制孔的离线编程系统,并通过对试验件加工应用,满足相关生产需求。
2. 数控机器人制孔系统
数控机器人制孔系统包括:高精度工业机器人、多功能末端执行器、数控系统及移动气浮平台等,可以实现基准检测、法向找正、精密制孔、锪窝等航空装配加工。标准KUKA工业机器人采用KRC4控制器进行运动控制,因其绝对精度、重复定位精度无法满足航空航天柔性装配要求,所以需要对标准工业机器人控制系统进行数控化改造。前侧壁板自动制孔系统采用数控机器人对每个关节进行光栅改造提高系统重复定位精度到±0.05 mm,通过D-H参数校准和精度补偿技术提高空间绝对定位精度到±0.25 mm,最终采用西门子840Dsl进行工业机器人、主轴、辅助设备等整个加工系统控制。如图1所示为标准数控机器人制孔系统构成。
Figure 1. CNC robot hole making system
图1. 数控机器人制孔系统
3. 数控机器人制孔系统离线编程
数控机器人制孔系统离线编程系统主要分为:工艺数模导入、工艺信息提取与管理、加工任务离线规划、仿真与后置处理四大模块。系统基于DelmiaV5R20统一开发平台,采用VB脚本宏技术进行二次开发,通过编程访问自动化对象,并使用对象提供的属性和方式实现对数据进行处理。这种开发模式可以实现开发平台统一,另一方面可以不受CATIA、Delmia版本限制。
数控机器人制孔离线编程系统具有基于产品和工装的工艺数据库,可以进行加工孔位提取、工艺参数定义、加工路径规划、干涉检查、过程仿真和后置处理、NC程序输出等功能。自动钻铆离线编程系统所需主要工艺参数分为4大类,其中运动定位类参数信息主要是提供钻铆点的位置和法矢信息,为后续运动仿真模块的运动学反解算法提供依据;制孔和铆接类信息主要体现在NC离线编程代码输出模块,对自动钻铆设备的实际加工进行指令控制;其他参数类信息主要用以在软件环境下便于匹配识别、铆钉型号匹配等。[7]离线编程系统首先导入待加工产品数模、对齐坐标系,然后进行用户自定义孔加工工艺参数添加,可以通过将MBD技术与特征技术相结合的方法,实现装配孔工艺特征快速添加技术[8];最后进行点位筛选、编辑、站位划分与仿真验证,验证合格后导出符合840Dsl数控系统要求的面向对象后置处理代码,具体工作流程如图2所示。通过使离线任务规划与仿真验证过程统一在Delmia相同平台下进行,有利于简化离线编程操作过程,提高规划过程的可读性[9]。
Figure 2. System workflow
图2. 系统工作流程
4. 数控机器人制孔系统离线系统设计
4.1. 数控机器人制孔系统离线编程软件开发
数控机器人制孔系统离线编程软件分为前置处理模块与后置处理模块。前置处理模块分为加工工序规划模块和工艺模型生成模块,主要产品加工工艺信息添加、编辑、排序以及工艺模型的生成工作。孔位工艺信息添加包括:孔编号、坐标信息、法向信息、孔径、孔深、法向、锪窝深度、锪窝角度、材料、紧固件类型、是否涂胶、基准类型等类型参数[10]。工艺孔可以点选、批量选择,工艺信息编辑具备回退操作等功能。针对紧固件按零件进行提取、分类、创建集合辅助点和圆圈等重复性工作可以通过自动批量辅助处理来提升离线编程效率。[11]后置处理模块一方面要完成生成基于840Dsl数控系统的NC代码,包括主程序和加工工序解析等功能;另一方面要对代码进行面向对象封装调整,从而生成相应的赋值子程序和执行子程序。离线编程软件全部功能基于DelmiaV5R20自带功能及其VB二次开发,软件整体架构如图3所示。
Figure 3. Software architecture of offline programming system
图3. 离线编程系统软件架构
4.2. 面向对象离线编程系统后置处理开发
采用840Dsl数控系统控制KUKA机器人和末端执行器的加工模式,主要解决两个问题:一是要设计面向飞机自动制孔领域离线程序,另外是要符合CNC操作加工系统编码规范。通过采用面向对象的离线程序设计方法将离线程序规划成主子程序架构,将复杂的子功能封装成子程序,核心框架放在主程序中。面向对象的离线程序根据不同类型的加工件,生成满足数控机器人制孔系统后置处理程序的离线编程系统,主子程序系统架构。面向对象的离线程序设计方法将零件程序分为主程序和子程序,其中主程序在控制系统上选择加以处理后启动子程序,相当于系统程序框架;子程序主要是专用的加工流程程序,如制孔、铆接、基准检测、法向找正等专用功能。主程序始终在最高的程序级上运行,代号为“0”;子程序可以嵌套运行,代号“1~5”,层级最多5级。面向对象的设计方法可以提高代码的可读性,封装了离线代码的复杂程度。通过重复使用测试的程序部分提高了质量,可以建立专门的加工过程功能库,减少系统的程序存储容量。
面向对象的数控机器人制孔离线编程系统设计如图4所示,主程序由赋值子程序和换行子程序组成,其中子程序按照功能类型分为1~5级子程序,一级子程序代表机器人加工所要实现的整体功能,二级子程序代表要实现一级子程序中的加工目标所需求的基础功能,三级子程序实现基础功能分解封装,四级子程序实现超差检测,五级子程序实现各类告警。
Figure 4. Object-oriented offline system architecture
图4. 面向对象离线系统架构
机器人执行程序主要负责控制机器人去执行整个加工流程,执行程序本身不包含确定的加工工艺参数,需要操作人员通过赋值程序给予添加。执行程序的类型有相机基准检测、锪窝、制孔、移至序列安全点等工序,分别对应CAMERA_RESYNC、DRILL_COUNTERSINK、START_OPERATION等主程序。每个主程序分别对应了多个一级子程序。以CAMERA_RESYNC为例,相机基准检测主程序中包含:地标相机修正程序、刀具补偿子程序、机器人移动等二级子程序,而二级子程序下又包含了多个三级子程序,如:机器人精度补偿子程序、超差检测子程序等。操作人员可以根据加工需求,通过修改主程序中各个参数的值直接更改机器人运行轨迹。
赋值程序主要负责将操作人员所选择的工艺参数传递给机器人执行程序。操作人员根据加工工艺,通过编写人机交互界面中的参数,生成相对应的赋值程序,包括:孔径探测参数、压紧力参数、压力角参数、地标参数、安全点参数设置。根据加工工艺完成参数设置后即可生成赋值程序,如SET_CLAMPING、SET_PROBING、SET_NOSEPIECE等程序。
5. 结论
本文针对飞机前侧壁板自动制孔中应用的数控机器人,首先采用光栅改造以及通过D-H参数校准和精度补偿技术提高其定位精度。其次采用西门子840Dsl数控系统和末端执行器的加工模式,基于DelmiaV5R20统一开发平台进行二次开发,通过编程访问自动化对象,使得系统可以高效完成离线规划NC加工程序的生成,无需跨越多个软件。另外基于面向对象后置处理程序架构,封装了子程序的复杂性并且提高了代码的可读性,整体编程效率更高、操作使用简便可靠,并最终通过试验件加工证明满足航空工业飞机装配离线编程的需求。