马 可 史朝顺 许 蒙
(河海大学机电工程学院 常州 213022)
我国制造业市场巨大,在世界上有着举足轻重的影响,但是一直以来都没有摆脱低端的标签,没有实现“中国智造”的转变[1~2]。
在智能制造工程领域,《中国制造2025》指出,要在重点领域试点建设智能工厂/数字化车间,实现关键工序智能化、关键岗位机器人替代、生产过程智能优化控制。装配是产品制造过程中的重要环节,约占产品生产总成本的40%[3],而传统的装配工艺缺乏仿真验证手段[4],导致实际生产中会出现各种问题,如机器人动作不可达,装配过程中存在静态或者动态干涉[5],机器人移动路径过于复杂等。
国外对生产仿真系统软件的研发非常成熟,并且得到了广泛应用[6]。2008 年Bzymek Z.M.等利用Quest 软件建立仿真模型,并输入某航空公司的数据,找到了瓶颈工位并对生产线进行了优化,从而达到了最佳产能[7];2012 年Anthony Waller 阐述了Witness 仿真软件的组成,以及软件可以快速搭建仿真模型的关键技术[8];2015 年Steffen Bangsow 在其著作中系统地对Plant Simulation 软件进行了介绍,通过两百多个实例演示了如何使用仿真软件及SimTalk语言对复杂的模型和任务进行处理[9]。
本文通过利用西门子数字化组合软件平台,以某项目为例,在三维环境下实现数字化、一体化的工作流程,通过虚拟仿真技术,实现装配工艺的设计、规划、仿真优化与模拟调试,从而缩短规划时间,优化资源配置,提高整个装配过程的生产效率,其输出的仿真视频可以为工艺人员提供直观的指导,并对机器人进行快速有效的编程。
本项目中需要完成装配的产品有三款,包括智能音箱、冰箱及洗衣机模型,如图1 所示。智能音箱的结构组成为:组件、下壳、螺钉(×3)和盖底。冰箱模型由箱体、门体(×2)、抽屉(×2)和铰链(×2)组成。洗衣机模型由箱体、上盖、前壳和两个滚筒组成。在充分了解三种产品的机械结构和产品装配要求的基础之上,对三种产品的装配工艺流程进行了规划与制定。智能音箱、冰箱、洗衣机模型的装配工艺流程分别如图2所示。
图1 待装配产品模型
图2 待装配产品装配工艺流程
PD/PS(Process Designer & Process Simulate)是一个多层数据库结构,将产品信息与产品制造特征、制造资源和制造工艺关联在一起,这种关联贯穿于整个产品生产制造过程中[10~11]。Process Designer 为整个产品制造过程提供给了完整的框架,可以更好地匹配和简化产品制造的规划过程,可以进行生产过程的规划、分析、确认和优化。Process Simulate 支持流程验证和详细的流程创作,它提供了从工厂级到生产线和工作单元的设计、分析、模拟和优化制造过程的功能。制造商可以在早期利用Process Simulate 对制造方法和手段进行虚拟验证,该解决方案对产品和资源的三维数据的利用能力极大地简化了复杂制造过程的验证、优化和试运行等工程任务。
图3 是PD/PS 装配过程的流程图,主要分为三个部分:模型的建立,装配过程仿真与验证,结果输出。
图3 PD/PS仿真流程图
1)数据转换
PD/PS 软件本身是具有建模的功能的,但是由于其并非一款专门建模的软件,所以直接在PD/PS内部建模的难度较大。本项目中所有模型都是用Solidworks 建立的,而适用PD/PS 软件的模型格式是cojt 文件,所以就需要将Solidworks 建立的模型转换成cojt 格式的文件,首先通过CrossManager 软件将模型转换成jt 格式的文件。通过CrossManger软件将模型转换为jt 格式后,再通过JT 转COJT 格式插件将jt 文件转换为cojt 格式的文件,最终得到所需要的文件。
2)导入模型文件
模型文件的导入是在Process Designer 里面完成的,首先新建4 个文件夹,分别命名为Resource(资源库:用来存放设备资源),Product(产品库:存放产品文件),Process(工艺库:存放相关工位资源及操作流程),Work(工作文件夹:起临时存储作用)。文件夹创建好之后需要创建工程库,将模型文件导入,模型文件导入需要对文件的类型进行指派,如图4所示,其中机器人需要设置为“Robot”,产品需要设置为“PartPrototype”,夹爪设置为“Gripper”,拧螺钉模块需要设为“Device”,工作台设置为“Work_Table”,其他模型均选择为“Fixture”。导入完成之后,在导航树窗口加载资源数据和产品数据并添加根节点,建立双胞胎结构,按照工艺任务将零件分配到相应的工位。
图4 模型类型指派
1)定义机器人组件运动学
为了实现机器人在仿真中可以自由动作,实现装配动作,需要对机器人进行运动机构的定义。在建模模式下选中机器人,利用运动学编辑器对机器人的运动机构进行定义。设置好每段杆件之后,将link0 依次连接至link6,相邻的两段杆件构成父子连杆,根据机器人运动参数(相对运动关系、旋转角度)对杆件之间的运动关系进行设置。
机器人的移动以及末端执行器的安装需要进行定位,所以还需要对机器人设置两个坐标系:基坐标系和工具坐标系。基坐标系:在仿真环境和现实中,机器人工作站中的每一个机器人都拥有一个位于机器人底座的基坐标系,该坐标系可以方便地进行机器人移动和定位。工具坐标系:工具坐标系的建立是为了方便机器人末端执行器的安装,工具坐标系设置在机器人末端法兰盘的中心。图5 为定义完成的机器人。
图5 机器人参数定义
2)可达性分析
通过对机器人抓取、放置动作以及移动路径的设置完成之后,需要对机器人可达性进行分析,通过PS 软件中的“智能放置”可以自动分析机器人的动作是否可达,通过对搜索范围的设置,选择机器人以及机器人需要执行的动作,设定机器人执行动作的大致区域,软件自动分析结果如图6 所示,图中红色区域代表机器人不可达,蓝色区域代表机器人完全可达,其在软件视图区域所对应的情况如图7 所示,从图中可以看出,机器人目前所处位置是完全可达的,证明了机器人放置位置的合理性与可行性。
图6 机器人智能放置
图7 视图区机器人智能放置图示
3)干涉分析
干涉分为静态干涉和动态干涉,静态干涉是指没有外加驱动力静止状态下,机器人与工件、设备发生的干涉[12],对于静态干涉,是设计方案中存在的缺陷,需要对设计方案进行修改。与静态干涉相对的动态干涉是指机器人抓取、放置工件的相互运动的过程中,与工件或者设备产生的干涉。对于这类干涉可以建立机器人的扫掠体,扫掠体就是机器人在整个空间运动动作的集合体,对于机器人扫掠体的建立如图8 所示,绿色部分即为机器人的扫掠体,它覆盖了两台机器人所有运动的轨迹和范围。
图8 建立扫掠体
建立扫掠体的目的是为了检查机器人的干涉,通过在之前建立的扫掠体的基础之上建立干涉体,如图9 所示,红色部分即为干涉体,它表示的是两台机器人之间可能会产生触碰而存在的干涉区域,对于这类干涉可以通过调整机器人动作位置和顺序进行优化,从而消除动态干涉的影响。
图9 建立干涉体
将编辑好时序的运动动作加载到“序列编辑器”中,序列编辑器包含两个可调整大小的区域,左侧为树状区域,右侧为甘特图区域,如图10 所示。将需要运行的操作加载到序列编辑器中,按照连接序列对序列编辑器中的对象进行排序,连接的顺序决定了操作的运行顺序。当模拟一个操作时,可以在图形查看器中看到运行的操作,并且有一条垂直的红线沿着甘特图中的操作移动,在甘特图区域显示的操作和子操作,可以看到它们的关系以及运行所需要的时间。
图10 序列编辑器
洗衣机模型和智能音箱由同一机器人进行组装,所以将音箱的装配链接在洗衣机之后,冰箱由另一台机器人单独装配,冰箱和洗衣机的装配同时进行,开始仿真,仿真过程将会以动态的形式呈现,图11 为两台机器人分别在对洗衣机和冰箱模型进行组装,从动态仿真中可以清晰直观地看出机器人的每一个装配动作,以及机器人的运动轨迹和方向。
图11 动态仿真过程
为了方便机器人虚拟仿真动画的查看,Process Simulate软件自身支持导出虚拟仿真的视频文件。Process Simulate软件中集成了“Export to Web”功能,使用“Export to Web”功能可以将创建好的3D模型数据和虚拟仿真操作转换并导出为HTML 格式文件。这样仿真人员就可以使用Web 浏览器与他人随时随地共享、查看这些内容。在Web浏览器中,用户可以从不同角度对仿真模型进行视图旋转、平移、缩放以及仿真运行等操作,而无需额外安装仿真软件。图12 为在Web 浏览器中对文件进行查看。
图12 仿真视频输出
目前机器人的编程方式主要有两种:手动在线示教编程和离线编程[13]。手动在线示教编程是通过人工的方式,一边操作机器人的运动,一边对加工路径及运动轨迹进行记录,并设置各个示教点的运行参数。手动在线示教编程过程繁琐、效率低,示教过程容易发生事故,存在安全隐患,且依赖工程师的经验,对于复杂路径的示教难以取得让人满意的效果[14]。离线编程是在计算机里重建整个工作场景的三维虚拟环境,自动对加工轨迹进行规划,在离线的环境设置运动轨迹的参数,生成加工程序的一种编程方法。离线编程克服了手动在线示教编程的许多缺点,兼容性高,充分利用了计算机的功能,减少了编写机器人程序所需的时间,简洁,高效,方便,安全[15]。
Process Simulate 支持与可编程的Simulation-Unit PNIO(ProfiNet I/O)设备的直接连接,可以与多种机器人实现无缝对接,最多可以模拟256 个,可以方便地进行机器人离线编程。在对机器人离线编程前,需要对机器人进行校准,使其虚拟与现实工作相一致。通过模块可以选择与所使用的机器人相符合的控制器,在生成的程序中设置的参数包括机器人的运行速度和加速度、机器人的运动轨迹、工具坐标、基坐标等。
要得到离线程序,首先需要对机器人属性进行相关设置,需要对机器人型号以及相应的控制器进行选择,然后设置下载离线程序的内容,设置机器人编号及工具,选择离线程序模板,选择路径的所有点,最后通过运行自动示教,示教完成后下载程序,它将机器人程序转换为可下载到机器人的文件,该命令根据分配给机器人程序的机器人控制器指定的语法来转换机器人程序,其中部分程序如图13所示。
图13 离线程序
本文以某公司机器人自动化装配项目为例,通过应用西门子数字化组合软件平台中的PD/PS 软件,实现了机器人自动化装配过程的仿真与验证,使得工艺设计、工艺流程和机器人轨迹规划等工作变得更加准确、高效,通过可达性分析和干涉分析,找出设计中不合理之处,实现了机器人装配节拍的验证和优化,避免了实际生产中可能出现的问题,提前验证了生产的可行性,实现了对机器人快速有效地离线编程,大大缩短了项目生产周期,降低了生产成本,对提高企业数字化生产水平具有重要意义。