魏一雄,郭 磊,陈亮希,张红旗,胡祥涛,周红桥,李 广
(1.中国电子科技集团公司 第三十八研究所,安徽 合肥 230088;2.安徽省技术标准创新基地(智能设计与制造 智慧院所 军民融合),安徽 合肥 230088;3.安徽大学 电气工程与自动化学院,安徽 合肥 230601)
目前,我国制造业正处于转型升级的关键时期。据统计,国内制造企业中有60%拥有自动化产线,但其中近70%企业的相关数字化能力建设不足,有32%的制造企业实现了制造现场的基础数字化能力建设,其中仅有12%实现了对基于数据制造流程进行有效监控,在对制造车间运行状态的监控和科学管理方面尚缺乏底层的软件支撑。随着人口红利消失、产业化转型升级,企业急切需要提高生产线的自动化和智能化水平,至少40%以上的企业会对其自动化产线进行数字化改造升级,其中自动化产线监控和健康管理是改造的首要工作。然而,传统的数字化车间、生产线仿真等技术方案[1-2]大多只解决了车间布局规划和生产线优化,由于三维模型体量较大、仿真系统与硬件设备数据的实时交互性差,无法实现物理车间的实时镜像和生产过程逆时复现等,难以直接用于车间的实时可视化监控与远程运维。近年来,数字孪生(digital twin)技术的出现,为车间“三化”(数字化、智能化、网络化)提供了有效的解决方案。数字孪生车间的目标是构建多维高保真车间现场动态模型,实现物理实体或流程的实时数字化镜像,以及基于数据驱动物理车间的实时状态映射,同时结合数据分析和挖掘,实现制造车间现场的透明、高效、智能[3-4]。
针对数字孪生车间的构建,国内外学者在数字孪生车间体系架构理论、虚拟模型构建、产线数据采集、孪生车间监控系统等方面进行了深入研究[5-6]。陶飞[7-8]等提出数字孪生车间的概念,阐述了其系统组成、运行机制、特点和关键技术,设计了数字孪生车间的参考系统架构,从物理融合、模型融合、数据融合、服务融合4方面系统阐述了基础理论和支撑技术;陈振等[9]提出一种飞机数字孪生装配车间架构,并对物理装配车间数据的实时感知与采集、虚拟装配车间建模与仿真运行技术、数字孪生与数据驱动的装配车间生产管控等关键技术进行了研究;庄存波等[10]对产品数字孪生体的内涵进行了系统阐述,建立了产品数字孪生体的体系结构,并给出了产品数字孪生体在产品设计阶段、制造阶段和服务阶段的实施途径;郭东升等[11]以企业航天结构件制造车间为案例,展开数字孪生技术在制造车间的应用验证,通过对比分析案例结果,验证了数字孪生制造车间可有效提高生产效率。
在异构多源车间数据采集、轻量化、通用虚拟模型构建等数字孪生基础共性技术研究方面,聂志等[12]基于离散型车间生产过程中对零件的实时状态跟踪、生产过程数据追溯的需要,提出基于超高频射频、二维码等物联技术的数据采集与管理解决方案;曹伟等[13]提出一种基于无线射频识别技术的离散制造车间实时数据采集和可视化监控方法,设计了基于无线射频识别的车间数据采集与监控系统功能架构,并开发了相应的原型系统,通过简单的案例验证了所提方法和模型的可行性;郭磊等[14]针对智能车间现场多品牌、多接口设备数据传输的需求,研究了智能制造终端的车间生产数据采集和传输方法,该方法基于车间生产线的工控可编程序控制器(Programmable Logic Controller, PLC),采用OPC统一架构(OPC Unified Architecture, OPC UA)完成数据采集,并通过搭建Restful服务器,以JS对象简谱(JavaScript Object Notation, JSON)数据串的形式将采集的数据发送至下游数字孪生车间系统;殷庆文等[15]在构建数字化虚拟漫游平台中,根据模型特点提出相应的轻量化技术,有效降低了虚拟漫游平台对计算机资源的消耗,提高了数字化工厂规划的质量和效率,降低了工厂布局规划成本;易杨等[16]针对产品全生命周期过程中合理准确表达数字孪生几何模型的实际需求,提出以非理想表面模型为载体,实现数字孪生模型的几何参考表达方法,为数字孪生虚拟几何模型构建提供了重要的参考;刘明周等[17]设计了一种以生产运行指标为核心的车间实时监控通用模型,具有很好的可拓展性和可维护性;丁凯等[18]从逻辑关联的视角提出多维多尺度智能制造空间的内涵与特征,并结合数字孪生技术的实现逻辑,研究了智能制造空间的虚实映射建模方法、复杂多维时空域下的智能制造过程及数据建模方法。
基于科学的数字孪生车间体系架构,在虚拟模型构建方法、车间数据采集系统的支撑下,一些学者针对不同种类的自动化生产线搭建了数字孪生车间系统。尹超等[19]基于Flexsim构建了一种动态反映机加车间生产任务执行情况的三维可视化监控系统;姜康等[20]、方磊等[21]基于虚拟现实技术和信息集成技术构建了虚拟车间状态监控系统,并在Unity3D上进行了实例验证;柳林燕等[22]建立了车间生产过程数字孪生系统体系架构,并详细阐述了数字孪生建模与实现、基于OPC的数据采集,以及车间生产运行的实时映射;赵浩然等[23]分析了数字孪生车间和三维可视化实时监控之间的关系,提出一种多层次的三维可视化监控模式和实时数据驱动的虚拟车间运行模式。
综上所述,目前数字孪生车间系统研究可以基本实现车间现场状态的可视化监控,但是仍存在如下不足:①缺乏有效的数据集成与数据管理,系统在完成数据实时驱动时计算负荷较大,导致系统的交互性和可靠性较差;②现有系统只实现了基于数据触发的预定义虚拟模型动作,缺乏描述车间真实物理行为的虚拟仿真系统,达不到数字孪生多维高保真映射的技术要求,也无法满足远程运维的需求;③产线存在多源异构数据,由于缺乏统一的数据采集与传输方案,造成系统“数据信息孤岛”,影响车间的逆时复现、故障诊断、预测性维护和健康管理等;④对于数字孪生车间系统的软件架构设计仍处于初级阶段,缺乏模块化和面向时间响应的系统思想,束缚了系统的通用化与可扩展化。
针对上述问题,本文提出一种基于数据驱动的数字孪生车间系统总体架构和面向事件响应的异构多源数据管理方法,构建了面向真实物理行为高仿真映射的虚拟仿真环境,最后通过添加运动约束,实现了物理车间生产状态的实时镜像,满足了车间的实时可视化监控、分析预测、故障预警、逆时复现以及健康管理和远程运维的要求。本文所开发的系统已在车载防撞雷达自动化生产线上进行了应用。
本系统包括设备层、感知层、驱动层、应用层,如图1所示。其中:①设备层包括车间现场的各类设备,如自动老化机、装配/检测机器人、抓取机械臂等。这些设备的运行数据为数字孪生车间系统运行提供所需的基础数据。②感知层用于车间异构多源数据的实时采集和数据预处理,包括设备运动信息采集、运输行为感知、生产线上物料信息感知、设备状态感知、环境感知等。感知层利用系统的数据采集和传输模块,通过数据通讯协议读取和存储设备层多品牌、多接口、多协议的设备实时状态数据,并以JSON数据串将数据传递给数字孪生车间系统;对于没有相关数据接口的设备,通过布置传感器测算其相关状态数据进行数据信息采集。③驱动层负责对上游感知层数据的映射,并通过构建面向真实物理行为高仿真映射的虚拟仿真环境,实现物理车间与虚拟车间的同步映射。驱动层包括解析数据、变量匹配、运动控制等过程,其中数据解析过程以轮询的方式获取感知层发送的Json格式数据流,并对数据流中与运动控制相关的变量进行实时赋值;然后变量匹配过程通过名称寻找运动机构模型,并与对应的运动控制相关的变量进行匹配;最后实时驱动对应的三维模型,完成拾取、放置和推拉等动作。④应用层基于实时数据驱动的虚拟车间,实现了对车间制造资源的三维可视化导航以及车间物理动作的仿真和实时监控,同时通过触发虚拟触发信号,针对性地在三维模型上显示、分析和管理车间现场设备状态信息、生产工艺参数信息、车间物流过程、产品质量信息以及设备故障的管理诊断信息等,形成了面向车间的虚拟监控平台,实现了车间透明化生产、故障问题重现与仿真,满足了使用者对车间的追溯分析、实时监控和预测仿真等需求。
基于上述数字孪生车间系统的总体技术方案,本文构建了数字孪生车间系统架构,包括系统管理模块、数据传输模块、数据管理模块、监控视角模块、数据可视化模块、运动驱动模块、状态匹配模块等独立分系统模块,还包括独立分系统模块之间的拓扑关系以及系统扩展和维护策略,如图2所示。
数字孪生车间系统的各分系统模块相互独立,便于维护,并存在相互控制关系。具体功能如下:
(1)系统管理模块 主要用于其他6个模块间的耦合,包括数据传输、接口调用、触发信号传递等。例如数据可视化模块请求数据,需通过数据传输模块实时获取数据,再经由系统管理模块响应映射到数据管理模块中的数据列表,最后数据可视化模块通过请求响应刷新数据,得到对应的可视化界面。
(2)数据传输模块 主要管理由数据入口获取的信息数据,同时响应各个模块的数据请求。数据传输模块[14]利用OPC UA等通用协议采集制造现场的PLC、传感器、工控机等终端设备数据信息,通过搭建Restful服务器完成数据采集,并以JSON数据串的形式将数据发送至下游数字孪生车间系统。
(3)数据管理模块 用于管控整体系统中的全部数据,包括外部数据刷新、运动驱动、数据存储/分析等。数据管理模块中的数据信息单独存储为数据列表,用于映射数据传输模块传递的数据信息,对数据的操作是从数据传输模块中获取全部信息数据,并对其进行解析和映射标记,同时在数据传输模块的代理类Call Request进行方法响应,使得实时数据可被对应的模块添加到本模块进行变量映射操作,并可即时访问,达到实时响应模块请求的目的。
(4)监控视角模块 指在数字空间中,人所看到的数字化图像均用虚拟相机拍摄并呈现,操作者根据需求选择不同的视角监控车间的生产状态。
(5)数据可视化模块 是将制造现场运行的详细信息数据以直观可视化的方式进行展现的模块,包括可视化内容层级、可视化展示逻辑和可视化内容播放。可视化内容层级关系表示可视化对象的父子关系,每一个可视化对象均添加层级属性,作为内容展示的标签进行管理;可视化展示逻辑将可视化对象分为模型、界面、交互、多媒体信息4类,界面用于展示根节点,其他3类对象作为其嵌套层,交互作为其他3类对象可调用的工具,多媒体信息和模型在架构内部被定义为互斥类对象;可视化内容播放包括从数据传输模块获取数据和触发预定义播放路径两种模式,其中数据传输模块获取数据指获取模型和多媒体信息,通过将其添加到特定界面位置进行播放;触发预定义播放路径指预先定义可视化的播放内容,通过触发对应接口进行播放。
(6)运动驱动模块 包括位姿数据驱动和状态数据驱动。其中位姿数据包括旋转和位移,通过即时更新数据来保证一致性;状态数据包括夹取、吸放、启动、停止状态下的布尔值,通过触发状态位并预定义动作来保证一致性。状态位触发是在运动状态I/O信号发生变化时触发预定义动作,预定义动作指运动方向、位置、坐标均为常值的运动。
(7)状态匹配模块 负责系统初次启动时,利用实时数据和内部运算判断,将数字空间虚拟制造现场的物料状态、运动状态、加工状态等与现场匹配一致。其中,物料状态匹配包括上下料工位物料、加工线体上物料、物料仓库物料,以及自动导引小车(Automated Guided Vehicle, AGV)运送物料的数量、方位虚实映射,该过程的数据均通过数据传输模块在现场实时采集,对于不能获取的数据,则通过间接数据进行组合判断;运动状态匹配即制造现场的加工设备运动情况虚实映射,由运动驱动模块通过数据信息进行匹配,匹配过程是利用系统启动瞬间的数据来完成运动驱动过程的同步;加工状态匹配包括加工对象位置、加工对象状态、设备夹持状态的虚实映射,该项匹配过程是虚拟加工制造前的初始化过程,不能获取的数据通过间接数据获取加工状态。
本系统基于模块化分系统架构和分系统拓扑关系建立了相对独立的各个模块,可以按照定制需求快速搭建新的模块分系统,并接入数据及触发流程。同时,对任一模块分系统进行维护都不会对其他分系统模块的运行产生较大影响,例如撤销数据可视化模块功能仍然可以确保运动驱动、数据传输正常运行。
面向车间设备种类多、采集数据类型多样等状况,本系统采用基于OPCUA Server的采集方式,通过感知层从数据库或制造现场PLC、传感器、工控机等终端获取目标信息数据的接口,包括Socket传输、ftp共享传输、数据库共享传输、Message消息服务传输等。
为保证数据采集的效率,系统通过数据传输模块[14]从PLC中统一采集分配。对于没有接入PLC控制的数据,包括特定传感器、部分硬件接口未开放的机器人、AGV运输小车和检测设备数据,系统采用串口方式访问、传输控制协议/网际协议(Transmission Control Protocol/Internet Protocol, TCP/IP)协议访问、输入/输出(Input/Output, I/O)端口解析等方式获取数据,并统一存入数据列表,以便于系统访问。
系统内部数据的业务流程如图3所示。系统内数据由数据管理模块统一管理,包括数据的请求、触发、响应、驱动等行为动作,其中数据信息单独存储为数据列表,用于映射数据传输模块传递的数据信息。数据传输模块负责与系统外界和系统内部模块间的数据进行通信传递,同时刷新数据列表,实现实时数据映射。数据的驱动和可视化由管理模块驱动,用于完成车间运动仿真驱动及相应的可视化工作。
在系统内部数据业务的实现过程中,由于车间的生产产品、工艺、流程等要素会随企业需求发生变化,考虑未来数据层面采集与驱动的可扩展性和柔性需求,应尽量降低模块间的耦合关系,本文通过事件驱动和代理方式,面向不同对象进行数据管理、传输、触发、驱动和可视化等模块注册响应。各个模块仅需提前注册对应的响应方法,并将数据变量列表作为参数,即可满足模块信息数据请求响应的需求,其逻辑流程如图3中虚线所示,具体事件注册响应的流程如图4[24]所示。首先在数据传输模块中将相应的数据请求业务注册到数据管理模块中,数据管理模块在数据解析映射后遍历所有注册的数据请求,触发数据传递映射事件,并通过数据传输模块的代理类CallRequest进行方法响应,使实时数据添加到对应模块并可即时访问,从而达到响应模块实时数据请求的目的。
为将物理车间的生产状态数据同步映射在数字孪生车间,降低系统的运行负荷,需对数字孪生车间的几何模型进行超轻量处理,在满足系统要求的情况下使模型数据量尽量小。
基于现有数字孪生系统开发平台或工具,首先将制造资源和在制品的CAD模型通过多种方式进行模型轻量化处理,其中主要包括两方面:①简化细小特征的模型或结构;②基于边界表示法(Boundary representation, B-rep)、体素构造表示法(Constructive Solid Geometry, CSG)或其他表征方法,利用3DMax、PiXYZ等软件将模型转换为面片模型。需要注意的是,在模型轻量化时,需要考虑车间设备各运动部件的结构约束和运动的层级关系,避免模型结构层级影响后期运动约束的定义,确保后期构建物理模型的高保真性。
对于部分轻量化时间成本较高,或者难以借助软件平台进行理想轻量化的模型,本文采用3DMax软件对部分模型进行了重构,包括数字化车间的厂房、设备、工装、车间6S元素等。车载防撞雷达生产线总共进行了42套CAD模型的简化操作,原CAD模型文件约为4 098 MB,轻量化后的模型文件约为110 MB,降低约97.3%;原车间CAD模型面片化后的数量约为13 606万片左右,轻量化处理后模型面片数约为116万片左右,降低约90%。部分模型轻量化前后数据的比对如图5所示。
为提升数字孪生车间的可视化效果,在模型轻量化过程中,借助Toolbag,SubstancePainter等工具进行模型表面贴图渲染、动作设计、光照添加等,提升数字孪生模型与物理实体对象的一致性。图6所示为数字孪生车间和工位模型渲染图。
三坐标运动机构与机器人运动约束算法用于定义运动机构模型的父子级关系和运动约束。车间设备机构运动通常有两种模式:①完全可以采集获取运动数据的设备;②获取末端执行机构运动方位数据的设备。对于第一种设备,基于上述轻量化模型,重新定义符合物理设备的运动规范和主随动关系,通过实时获取驱动数据,可有效保证虚拟车间与物理车间的运动相匹配。同时,由于采用基于约束和结构层级的数据驱动,在生产环境、生产对象发生变化时,无需修改数字对象模型,仍然可以进行准确地孪生匹配,实现高保真的物理仿真。对于第二种,本文采用开源的反向动力学算法,首先确定每一个模型结构层级和约束条件,然后获取末端运动方位数据,并通过算法求解,得到每一个关联机构模型对应的运动方位,如图7所示。需要注意的是,基于上述的运动求解方法,仅可确保末端执行机构的方位准确,以及每一个关联机构方位和现实逻辑匹配,无法完全保证关联机构方位和物理世界对应机构的方位一致。
当物理车间设备运作时,启动数字孪生系统的同时要保证虚拟场景的物料、设备、AGV小车、检测信息等与当前物理车间状态完全一致。为保障物理车间生产和数字孪生系统同步运行,可以通过虚拟加工制造前的初始化过程,对数字孪生车间与物理车间进行全方位的状态匹配。
状态匹配包括运动状态匹配、加工状态匹配、物料状态匹配。其中,运动状态即车间所有设备运动机构的实时状态,包括伺服、气缸、AGV小车等的位置坐标和速度状态;加工状态即车间所有工位工艺流程的进行状态,包括工艺流程、生产节拍、加工时间等;物料状态包括加工对象位置、加工对象状态、单工位加工对象数量等。另外,在系统重新启动后,可以通过分析状态匹配数据并进行联合判断得到车间状态,然后通过运动驱动分系统以同样的原理驱动车间与现场状态相匹配。图8所示为某工位的系统初始状态匹配示意图。
为使系统能够全面、有效地进行可视化监控,监控视角模块提供有不同的视角切换功能,满足了使用者的监控需求。本系统通过切换虚拟相机角度方位或切换不同的虚拟相机,可以得到不同的观察角度和图像,从而实现对车间运行状态的360°监控。
如图9所示,监控视角包括闭路电视(Closed-Circuit Television, CCTV)视角、跟随视角、固定对象视角、自由视角等。其中CCTV视角通过添加多个虚拟相机的方式,将多个对象的特定角度同时显示在界面上;跟随视角针对制造全生命周期中的某一特定对象(如物料盘、在制件等),实现对该对象的全流程监控;固定对象视角是设定某一特定工位为监控对象;自由视角不限定相机位置,支持用户在虚拟空间内自由漫游。
用户根据不同的可视化显示需求,通过鼠标、虚拟按钮、快捷键等调用相关的虚拟相机驱动脚本,来监控所关注对象的详细状态,提升车间现场的实时可视化监控、故障点显示和数据可视化等。
运动驱动模块用于驱动数字孪生模型运动,包括坐标变换、旋转位移、电机伺服驱动等,其中坐标变换、旋转位移均相对于局部坐标系进行。运动驱动分为两种类型:①位姿数据驱动,包括旋转、位移,该驱动过程采用数据即时更新保证物理对象与数字孪生模型运动的一致性(按照前面所述,数据传输模块解析数据后,通过各个模块在事件上注册的方法实时更新数据);②状态数据驱动(指运动状态I/O信号发生变化时触发预定义动作),包括夹取、吸放、启动/停止等状态布尔值,它采用状态位触发和预定义动作,保证物理对象与数字孪生模型运动的一致性,例如电机驱动的上螺丝过程,由于采用的是气缸运动,方向、行程、速度等均为不变常值。
运动驱动模块由数据解析脚本、变量匹配脚本、实时驱动脚本构成,对生产线的每个工站并行驱动,其驱动过程如图10[25]所示。首先解析感知层数据,并对与运动控制相关的变量实时赋值;其次通过名称寻找运动部件模型,并匹配对应的运动变量;最后根据运动变量值改变模型位置坐标,或者调用物理动作驱动模块完成对模型的运动驱动,从而实现虚拟模型与物理车间资源同步运动。
因为数字空间不存在物理空间的物理属性,如重量、摩擦、加速度等,所以数字孪生系统中的某些物理动作必须通过数字模拟的方式实现。物理动作仿真负责数字孪生虚拟制造现场所有物理行为动作的仿真和数据驱动,包括碰撞动作、拾取动作、放置动作、推拉动作等。物理动作仿真针对每一种物理动作类型进行运动脚本编程,通过判断触发器名称或触发器父级物体名称判断触发信号的有效性,最后通过改变被作用物体父子级关系和空间位置实现对物理对象动作的仿真。
物理动作仿真由数据解析脚本、变量匹配脚本、实时驱动脚本构成,其仿真过程如图11所示[25]。首先根据物理动作中所涉及的物体结构特征,在虚拟环境的模型子级内创建碰撞触发器和光线投射触发器两种虚拟触发信号机构,为模拟物理动作提供数据源;然后对所有碰撞触发器和光线投射触发器产生的触发信号在独立的脚本中申明变量,通过Dictionary泛型类建立触发器相关模型和触发信号之间的联系,并封装成独立的触发信号单元供物理动作仿真中驱动脚本管理单元引用和查询;最后驱动脚本管理单元获取触发信号并参照触发信号管理单元,通过改变相关物体父子级关系和空间位置模拟物理动作。
在某测试工位中,三坐标执行机构需要完成拉开老化箱格子、放入产品和推上老化箱格子3个操作,其中涉及执行机构与老化箱格子之间的接触作用。当执行机构运动至老化箱格子碰撞面上时,触发其子级上的“PullTrigger”触发器,根据返回的模型信息和真实三坐标执行机构末端的力反馈信号判断是否执行有效接触,如果是,则推拉动作脚本的执行函数将老化箱格子模型设定为执行机构的子级,并执行机构运动当格子被拉到指定行程时,触发世界坐标系内的“EndPullTrigger”触发器,然后同类函数复原老化箱柜子模型的父子级关系,其实现过程如图12[25]所示。
驱动脚本管理单元根据虚拟触发信号名称等输入信息,对物理动作仿真进行调用,完成特定对象和物理动作驱动子类代码的封装和管理。例如,下文代码以作用物体名称、被作用物体名称和触发器参数为输入量,对相应对象与物理动作的子类进行编写,实现对执行机构末端夹取某类部件的分类管理,供运动驱动模块随时调用。
public Transform CatchShells(Transform whoCatch)
{
return Catch(whoCatch, checkRadius, ProductType.shells);
}
本文所提数字孪生车间系统在中电38所汽车防撞雷达组装生产线上进行了落地应用验证,如图13所示。整个生产线由物料仓、机器人上料工位、3个装配加工工位、1个老化检测工位、1个终检工位、1个机器人下料工位,两辆AGV小车和1个老化检测中心组成。物料由物料机器人放置于一个工装物料盘中,由10辆线体轨道小车带动物料盘在生产线上运动,按工位顺序完成整套装配工艺流程。
针对该智能装配线,采用本文所提出的方法设计并开发了智能装配线数字孪生系统,实现了对物理车间制造资源的实时镜像。同时针对性地显示、分析、管理车间现场设备状态信息、生产工艺参数信息、车间物流过程、产品质量信息和设备故障诊断信息等,形成了面向车间制造现场的实时可视化监控、分析预测、逆时复现、健康管理和远程运维平台,如图14所示。
本文通过搭建面向真实物理行为高保真映射的虚拟仿真环境,采用面向事件响应的数据管理方法构建了基于数据驱动的数字孪生车间系统,实现了对物理车间的实时镜像。另外,通过开发汽车防撞雷达组装生产线的数字孪生车间系统,实现了车间现场设备状态信息、生产工艺参数信息、车间物流过程、产品质量信息和设备故障诊断信息等的可视化显示、分析与管理,形成了面向车间现场的虚拟监控平台,为数字孪生技术在智能制造领域的应用与发展提供了关键支撑。未来将围绕如何快速构建数字孪生模型,以及应用中涉及的大数据分析、智能决策等展开研究。