□ 冯 焱 □ 杨 振 □ 曾氢菲 □ 刘雪梅 □ 胡小才
1.同济大学 机械与能源工程学院 上海 201804 2.上海外高桥造船有限公司 上海 200137
在船舶工业中,涂料保护作为广泛应用的船体钢材免受腐蚀的简易有效手段,具有重要作用。当前,在国内船舶涂装领域,船舶涂装装备的机械化、自动化程度不高,涂装作业主要采用人工喷涂方式。人工喷涂需要长时间高强度工作,涂料挥发和噪声等对现场工人的身心健康会有负面影响。人工喷涂的精度较低,会造成喷涂作业的返工率高,制约生产力的提高和生产能耗的降低。随着人力成本的上升和环保意识的提高,使用机器人来完成喷涂作业已成为造船业的共识及关注焦点。
在进行喷涂作业前,需要对船舶喷涂机器人发出命令,规定其应执行的动作和喷涂作业的内容,这一过程涉及机器人的示教和编程。不使用实际作业机器人,脱离实际作业环境生成示教数据的方法称为离线编程法[1]。离线编程法使用机器人的相关模型和智能算法对机器人进行仿真,通过计算机图形学得到机器人的规划轨迹,确定预定义的环境与设置的基本参数是否恰当,从而提高工作的安全性和效率,降低风险。当基本方案制订后,可以优化和改善机器人的动作顺序,通过模拟技术完成测试和评估,轻松地进行维护、修改和记录。伴随着离线编程法的应用,产生了一批机器人离线编程系统,笔者对船舶喷涂机器人离线编程系统进行研究。
船舶喷涂机器人离线编程系统的功能是根据所导入的船舶喷涂面尺寸与几何特征,进行喷涂路径规划及喷涂参数的调整优化,在人机交互界面中将喷涂的过程和效果可视化,并给出船舶喷涂机器人操作所需的指令文件,从而实现船舶喷涂机器人的离线编程与仿真,达到提高船舶喷涂质量、效率,降低喷涂成本的目的。一般而言,船舶喷涂机器人离线编程包括几何建模、基本模型库建立、运动学建模、工作单元布局、路径规划与检测、自动编程、多机协调编程、仿真与标定等内容。
设计船舶喷涂机器人离线编程系统,需要学习船舶喷涂机器人工作过程,以及几何学、运动学、动力学知识[2],建立船舶喷涂机器人和工作环境三维模型,进行船舶喷涂机器人运动仿真,基于传感器信息进行轨迹规划,实现通信功能,并具有人机交互界面功能。
目前,国内外常见的机器人离线编程系统有三种,分别为支持标准机器人的通用型机器人离线编程系统、针对专有机器人开发的专用型机器人离线编程系统、计算机辅助设计软件插件。
通用型机器人离线编程系统一般由第三方软件公司负责开发和维护,可以支持多款标准机器人的仿真、轨迹编程和后置输出。典型的通用型机器人离线编程系统功能见表1。
通用型机器人离线编程系统的优点是可以支持多款标准机器人,但是对特种机器人的支持力度不如专用型机器人离线编程系统。
专用型机器人离线编程系统一般由机器人本体设计公司、高校或其它机构开发,用于为用户提供配套的技术支持和解决方案。
RobotStudio是瑞士ABB公司针对所生产的机械臂推出的离线编程系统,建立在虚拟控制器上,复制有实际机器人控制器中的程序和配置文件,可以进行非常真实的仿真。用户应用RobotStudio,不但可以在实际构建机器人系统之前就进行设计和试运行,而且可以确认机器人是否能够到达所有编程设定的位置。RobotStudio工作界面如图1所示。
▲图1 RobotStudio工作界面
RoboGuide是日本发那科公司针对所生产的机械臂推出的离线编程系统,可以自动产生参考程序,校准仿真与实际机械臂的误差,具有碰撞检测功能,并釆用了虚拟控制器技术。RoboGuide常用的仿真模块有ChamferingPRO、HandlingPRO、WeldPRO、PalletPRO、PaintPRO等。RoboGuide工作界面如图2所示。
▲图2 RobotStudio工作界面
KUKA SIM是库卡公司针对所生产的机器人定制的离线编程系统,特点是在项目早期阶段可以为生产设备创建理想的布局图。在KUKA SIM中,能够用拖拽方式方便地将数据库中的智能组件设置于所需位置上,可以基于较小的成本检查、验证方案。客户采用KUKA SIM,基于虚拟现实插件,置身于虚拟现实中,体验设备方案。KUKA SIM工作界面如图3所示。
表1 典型通用型机器人离线编程系统功能
在国内,一些科研机构针对自身设计的机器人开发了专用型机器人离线编程系统。相比国外已投入商用的专用型机器人离线编程系统,国内这些专用型机器人离线编程系统的应用对象较为具体,在系统构建方面具有一定的相通性。国内主要专用型机器人离线编程系统见表2。
▲图3 KUKA SIM工作界面
表2 国内主要专用型机器人离线编程系统
自行开发机器人离线编程系统是一个庞大工程,将耗费大量人力与资金,导致开发的重点不能全部放在轨迹提取、优化等方面,极大提高了机器人离线编程系统的开发难度,限制了机器人离线编程系统的开发效率。近年来,计算机辅助设计软件的功能越来越强大,实体模型的几何信息越来越容易获得,以现有成熟计算机辅助设计软件为底层依托,以插件形式存在的机器人离线编程系统越来越具有可行性。
1986年,Klein[3]首次将离线编程技术应用于喷涂机器人。1991年,Suh等[4]开发了ATPS,用于解决喷涂机器人的路径规划问题。RobotWorks是典型的以计算机辅助设计软件插件形式存在的喷涂机器人离线编程系统,基于SolidWorks软件二次开发,通过多个标准接口进行数据转换,具有生成轨迹方式多样、支持多种机器人、支持外部轴等特点,可以生成多种机器人程序,功能强大。
在国内,北京航空航天大学吴瑞祥等[5]开发了机器人离线编程系统,包含机器人图形仿真系统、机器人运动学与动力学算法,以及机器人通信接口,可以对从传送带上抓取销子插入孔中的动作和喷涂作业进行规划。华南理工大学周青松联合广州数控设备有限公司[6-7],以SolidWorks软件为平台,开发了喷涂机器人离线编程系统,能够根据导入的工件和系统自动生成的机器人模型完成对工件表面喷涂点的设定,以及机器人关节运动指令文件的生成与传输。沈阳航空航天大学郭世辉[8]利用CATIA Automation和 CAA VC++技术,提出一种喷涂机器人离线编程系统,能够对喷涂机器人进行喷涂轨迹自动生成和运动仿真,可以用于飞机进气道喷涂的离线编程。
针对复杂曲面的喷涂,华南理工大学张莉[9]以SolidWorks软件为开发平台,构建了喷涂机器人的设备模型,应用SolidWorks软件提供的应用程序接口函数实现了模型的重构和运动仿真。针对大型钢结构件喷涂作业任务,东南大学徐龙[10]基于Visual Studio环境,在SolidWorks软件中开发了多机器人喷涂智能编程系统,实现了多机器人喷涂作业建模、参数优化、轨迹生成、任务规划、效果显示等功能。
当前,喷涂机器人在汽车工业涂装领域应用较多,有关的理论研究和实践也相对充分,但很多方法、设备及研究所依据的理论、所采用的模型、所得到的结论对船舶行业并不一定完全适用。船舶分段的目的是缩短造船周期。可以根据船体结构特点、船厂生产条件和建造施工工艺要求,将船体合理划分为若干个由板材和型材组合而成的,具有独立装配单元属性的船体结构区段。与汽车等喷涂对象不同,船舶分段具有尺寸大、通用性差、特殊结构节点多等特点。在同一艘船舶中,各个部位的分段承担了不同的功能,这些分段种类繁多,结构、形状各不相同,给标准化作业带来诸多不便。另外,不同于船舶外板喷涂,船舶分段中有许多结构密闭的舱室,喷涂时可能挥发的易燃易爆或有毒有害涂料、溶剂会对工人造成明显的健康危害,并产生安全隐患。由此可见,开发一种能够在大尺寸范围内活动,适应任务多样性的船舶分段喷涂机器人及其离线编程系统,替代人工喷涂,显得尤为重要。
为了能够最大程度提高系统性能和可靠性,缩短开发周期,船舶分段喷涂机器人离线编程系统以市场主流SolidWorks三维机械设计软件的独立插件形式进行开发。
在计算机辅助设计软件中,SolidWorks软件功能强大,成熟可靠,并且可以提供数量丰富的应用程序接口供用户定制专属的动态链接库。SolidWorks软件二次开发语言支持VBA、C++、C#。C#作为较新的可运行于.NET Framework框架的高级程序设计语言,既具备C++的强大功能,又具备VBA的简洁特点,适用于船舶分段喷涂机器人离线编程系统的开发[6]。笔者采用Visual Studio作为C#语言的集成开发环境。
在对船舶分段喷涂机器人离线编程系统功能进行分析的基础上,设计系统架构,如图4所示。按照功能需求,船舶分段喷涂机器人离线编程系统由四个模块组成,分别为喷涂设备建模模块、喷涂过程建模模块、喷涂轨迹规划模块、喷涂过程仿真模块。
▲图4 船舶分段喷涂机器人离线编程系统架构
船舶分段是组成船体整体的中间产品,按外形可分为平面分段、曲面分段、立体分段等,按部位可分为甲板分段、舷侧分段、舱壁分段、底部分段、艏艉分段等。喷涂机器人为在三自由度移动桁架吊下的平台上横向安置的一款IRB-52型六轴机器人,在喷涂机器人末端安装有同方向并列的四个喷枪。IRB-52型六轴机器人是一款紧凑型机器人,质量为250 kg,体形小巧,工作范围大,可以在狭小空间内实施自动化喷涂,手腕部分最大负载为7 kg,能够有效满足多枪喷涂的需求。船舶分段及喷涂机器人建模如图5所示。
将船舶分段的计算机辅助设计模型导入,然后使用SolidWorks软件的实体重建功能,对通用中间格式模型进行转换,并导入喷涂机器人装配体文件。根据船舶分段的轮廓特征点计算工件实际位置相对于离线编程系统位置的偏移量,将偏移量换算至软件系统坐标系,以实现工件在离线编程系统中与实际环境中的位置标定,完成喷涂过程显示及指标数据测算。在确定喷涂机器人各单元的相对位置后,提取工件模型的几何特征,为后续工作做好准备。
▲图5 船舶分段及喷涂机器人建模
在给定喷涂方式下分析喷涂环境参数、涂料特性参数、喷枪参数、工件几何参数、喷涂轨迹参数对喷涂效果的影响,建立贴近实际情况的漆膜厚度分布模型。在实际喷涂过程中,喷涂环境参数、涂料特性参数、喷枪参数一般是固定的,对喷涂效果产生影响的主要是工件几何参数和喷涂轨迹参数。通过对模型各待定参数进行拟合,完成漆膜厚度分布模型的建立[11-13]。通过试喷试验来验证模型中各参数的设置合理与否,并根据喷涂面几何参数对模型进行适当修正,从而在离线编程系统中模拟出工件表面的涂料分布情况。
在喷涂作业中,由于船舶分段的尺寸通常很大,而喷涂机器人的可达范围有限,因此需要在喷涂表面上进行分片操作,分割出多个结构简单且适合路径规划的子片。中间格式的船舶分段模型经过SolidWorks软件转换,得到的是基于非均匀有理B样条造型方式的参数化曲面。通过SolidWorks软件应用程序接口对工件特定喷涂面提取点、线、面等的几何参数,进行加工处理,便可以得到子片的几何信息,完成对喷涂面的曲面分片。在每个子片上规划出初始路径,根据平行次数、转折点数、最短分段长度三个标准判断初始路径的优劣,再根据喷涂目标对初始路径上的喷涂参数采用多目标进化算法进行调整优化[14-16],最后根据优化后的喷涂参数在喷涂面上生成喷枪路径点。
在喷涂过程仿真中,根据所生成的喷枪路径点,通过机器人逆运动学理论解算出喷涂机器人各个关节的角度[17-18]。基于SolidWorks软件的运动功能对喷涂机器人的运动进行仿真,检测出奇异点,对喷涂轨迹微调以通过这些奇异点。喷涂过程仿真时,显示喷涂机器人的运动参数,为喷涂机器人的功耗和机械损耗等指标提供判断依据。喷涂过程仿真结束后,对原喷涂目标函数进行计算,进而判定喷涂质量是否满足要求。
近年来,喷涂机器人的结构设计和电气控制技术日益成熟完善,凭借着高质量、高效率、低成本的优势,喷涂机器人已经应用于制造业的各个领域。笔者对现有船舶喷涂机器人离线编程系统进行研究,提出了一种船舶分段喷涂机器人离线编程系统,设计了系统架构和各模块功能,以达到提高喷涂质量、喷涂效率和节约喷涂成本的目的。