都腾飞,邵 波,朱 君,刘 新
(江苏长江智能制造研究院,江苏 常州 213164)
随着以工业4.0为代表的新一轮制造业转型变革展开[1],针对传统的制造业项目实施过程中遇到的PLC现场调试耗时耗力的问题,以融合物联网、大数据、人工智能的数字化制造技术应运而生。数字化制造技术[2]因其不消耗任何实际资源,通过在计算机上进行相应的设计、调试和运行,就能给出相应的方案结论,因此在很多行业都具有广泛的应用前景。虚拟调试技术[3]作为数字化制造的重要组成环节,在项目探讨研究的初期即可数字虚拟环境下进行建模、仿真、调试,大大缩短项目后期现场调试工作的运行周期,对加速项目的实现具有很高的优势。同时在进行多任务仿真时,通过人工智能算法对整个流程进行改进,优化批次作业的整体时间,提高物流输送效率。目前国内外基于虚拟调试的数字化仿真技术尚处于探索和研究阶段,文献[4]对机械臂的复杂系统进行建模分析,从而优化其机电系统。文献[5]为新概念汽车建立了仿真模型并评估其运动性能。文献[6]对机床的伺服系统进行数字化设计,并优化系统的动力学性能。
通过3DEXPERIENCE(3DE)平台对我院的无纺布智能物流生产线进行数字化仿真设计,并通过虚拟调试技术对入库部分的堆垛机PLC程序进行了验证。为了进一步提高运输效率,引入遗传算法[7](GA,Genetic Algorithm)和粒子群优化[8](PSO,Particle Swarm Optimization)的混合人工智能算法,对批次作业任务进行优化,最后通过3DE平台仿真作业轨迹,计算运输时间。结果表明基于3DE的数字化制造解决方案缩短了调试和研发成本,轨迹优化过程缩短了运输时间,提高了整体效率。
虚拟调试技术将编写的PLC逻辑代码输出仿真系统进行测试与反馈,调试成功的代码可以直接传输至现场待调试的设备中,从而大大减轻的现场人员的调试时间。虚拟调试的主要工作流程,如图1所示。首先项目设备在3DE平台进行虚拟建模,并将物流设备进行工作流程逻辑调试。调试通畅相应的工作流程后,针对项目中所使用的PLC品牌,真实模拟设备的动作和运行参数,并对PLC的逻辑关系进行修正与反馈,最终验证通过的代码进行输出用于工厂的实际应用。
图1 虚拟调试流程图Fig.1 Virtual Debugging Flow Chart
遗传算法作为一种进化算法,由文献[9]于1967年首先提出。该算法的流程如下:首先从表现型到基因型完成映射编码工作,产生初代种群并按照优胜劣汰原理演化产生出近似解。在迭代过程中根据问题域中个体的适应度选择个体,通过遗传算子进行组合交叉与变异,产生新的解集种群,最终迭代出最优解。遗传算法由于迭代过程中经过交叉和变异过程,因此收敛较慢,而粒子群算法具有并行性,能快速收敛达到最优解。粒子群算法在可行解空间中初始化一群例子,每个粒子都代表极值优化问题的一个潜在的最优解,通过位置、速度和适应度三项指标来表示粒子的特征。算法通过跟踪粒子个体的极值Pbest和群体极值Gbest来更新粒子在解空间的个体位置。其中,个体极值Pbest表示个体所经历的位置中通过计算适应度函数得到的最优位置。群体极值Gbest指群体中所有粒子的适应度函数最优值。粒子每更新一次位置就计算一次适应度值,通过比较新粒子适应度值和个体与群体极值的适应度大小来更新个体极值Pbest和群体极值Gbest的位置。
迭代过程中,粒子通过个体极值与群体极值更新自身速度与位置,更新公式如下:
式中:w—惯性权重;d= 1,2,…,D;i= 1,2,…,n;
k—当前的迭代次数;
—粒子速度更行值;
—粒子位置更新值;
C1、C2—加速度因子;
r1、r2—(0~1)间的随机数权重。
虚拟调试设备包含硬件设备和软件设备。硬件设备包含西门子PLC,型号S-1200,如图2所示。软件包含3DEXPERIENCE平台,OPC组态软件Kepserver和西门子的博图软件。其调试步骤,如图3所示。首先建立工厂的离散化模型,数字化制造平台定义各个设备的运动副和工作状态,其次在软件中对信号点进行定义并且编写逻辑,最后通过OPC实现3DE软件和PLC的通讯。整个调试系统,如图4所示。
图2 虚拟调试设备Fig.2 Virtual Debugging Device
图3 虚拟调试步骤Fig.3 Virtual Debugging Steps
图4 虚拟调试系统Fig.4 Virtual Debugging System
针对我院的无纺布智能物流生产线,通过3DE 平台的Part Design与Assambly Design模块建立整个工厂的数字化模型。整个无纺布智能生产车间包含两条生产线,分切线,缠膜包装线,出入库线这几个大的部分组成,如图5所示。
图5 智能车间离散化数字模型Fig.5 Discrete Digital Model of Intelligent Workshop
其中,出入库系统由于IO的交互较多,在处理复杂的订单出入库问题时往往现场调试需要花费大量的时间,因此对于出入库系统的虚拟调试就十分必要。
模型初步建立后定义各个设备的运动关系。出入库系统的运动设备包含传送带、拆盘机、RGV 小车和堆垛机四个运动设备。分别对设备的运动关节定义运动副,如图6所示。确保各个设备间的正确连接关系。
图6 设备运动副连接Fig.6 Device Motion Pair Connection
虚拟调试需要软件和PLC建立通信关系,首先要编写相应的动作使得设备进行运动,同时在软件中建立相应的I∕O口与PLC进行通讯以控制设备的启停。实际生产中只需给定PLC指定的库位号,堆垛机就可以按照程序找到指定的位置。在3DE中还需建立相关的变量参数以便将库位号和软件中的实际位置进行转换。I∕0参数表,如表1所示。
表1 3DE中I/O信号设置Tab.1 I/O Signal Settings in 3DExperience
3DE软件的库位号寻址逻辑,如图7所示。由于立体库中有四台堆垛机,每台堆垛机控制的立库排数不同,因此在PLC输入库位号时需进行判断并计算堆垛机的运行距离。逻辑编写时的相关参数,如表2所示。参数H_var和V_var分别表示的是堆垛机在仿真软件中的实时坐标位置。根据每个库位的长、宽、高可以将PLC输入的库位号转换为相应的目标坐标位置H和V,在每个扫描周期内进行一次判断H_dis和V_dis,根据库位号的不同,堆垛机在水平方向和垂直方向上的前进距离不同,只有当H_dis和V_dis同时为0时,才能判断堆垛机到达指定位置。
图7 库位寻址逻辑图Fig.7 Library Bit Addressing Logic Diagram
表2 3DE中变量参数的设置Tab.2 Settings of Variable Parameters in 3DExperience
为实现外界PLC与3DE的实时通讯,需要在3DE软件和OPC上设置相应的I∕O接口,如表3所示。项目目标是通过在PLC上输入堆垛机的层、排和列,堆垛机可以在软件中自动寻找到相应的库位并存放货物,因此在PLC中需要设置控制库位号的相关I∕O参数,其类型为Output。对应的在软件中需要设置相应的输入接口实现硬件PLC与软件3DE的通讯。将OPC设置的输出I∕O 导入3DE的逻辑控制器中,通过3DE的I∕O映射连接将相关接口一一对应,如图8所示。我院的无纺布生产线立库入库部分实体与数字化模型,通过PLC程序控制可以将来料成品无纺布放入指定的库位,同时仿真验证了入库流程有无信号点的逻辑错误,如图9所示。
图8 3DE与PLC连接设置Fig.8 Connection Settings Between 3DE and PLC
图9 立体仓库入库系统实体与数字化模型Fig.9 Solid and Digital Model of Stereo Storage System
表3 3DE与PLC接口设置Tab.3 Interface Settings Between 3DE and PLC
堆垛机作为智能仓储入库部分的重中之重设备,其运行中的路径过程选择对仓储的执行效率起到了关键作用,因此对堆垛机在运行过程的路径优化,对整个生产过程的节拍和瓶颈分析都十分有必要。这里使用了经过PSO优化的遗传算法对堆垛机的轨迹运行过程进行优化迭代,同时通过3DE仿真软件,对优化的路径进行了虚拟仿真验证。
堆垛机在实际生产过程中是批次取货,如图10所示。
图10 堆垛机多条指令作业路径图Fig.10 Multi-Instruction Operation Path Diagram of Stacker
以3条指令为例,由图10可知,堆垛机的批次作业流程。
图中A点表示原点,以三条库位指令为例,首先堆垛机从原点A运行到B点取出载货托盘并返回A点,然后取出货物后,从A点将空的托盘运送回至原货格B点,放回托盘后不回原点A,继续寻找下一个库位C点,并将C点的货物运送回原点A,如此反复直到取完所有货物。
可以总结出堆垛机在运行过程中满足下式:
式中:n—运行库位指令数;T—堆垛机的总运行时间;T0,i和Ti,0—堆垛机从原点到每个指定库位的运行和返回时间;Tn,0—完成批次任务后返回原点所用的时间。值根据任务数量值是确定的,而这一部分是一个典型的旅行商(Travelling Salesman Problem,TSP)模型问题,因此以构建遗传算法的适应度函数。
传统的遗传算法收敛速度慢,容易陷入局部最优,而粒子群算法由于其全局搜索能力强,参数更新快,能较好的弥补遗传算法的不足。如图11所示,针对堆垛机轨迹的优化问题,首先对实际问题进行抽象建模,对每个库位号进行编码操作,然后随机初始种群和粒子状态,并计算适应度函数,为了让适应度函数达到局部最优值更新粒子的速度和位置确定迭代的方向,并通过交叉和变异操作,最后进行全局极值的寻找。为了验证轨迹优化算法的可行性,现以我院的立体仓库作为研究对象。货格的规格为(2300×890×1730)mm,整个立库长70m,宽21m。堆垛机的速度为5m∕s,首先对立库的货格进行编码,如图12所示。
图11 堆垛机GA-PSO轨迹优化流程Fig.11 GA-PSO Trajectory Optimization Process of Stacker
图12 立库货格编码Fig.12 Stereo Storage Lattice Coding
随机选出了二十个库位号进行取货构建任务表,如表4 所示。由于是批次作业任务,因此针对该批次任务,堆垛机的取货顺序无先后之分,但不同的取货轨迹具有不同的运行距离,因此需要通过GA-PSO 算法来寻找出最短的轨迹路径。分别利用GA-PSO 与GA 算法优化堆垛机多任务的任务轨迹,如图13 所示。其中,惯性权重w=0.5,加速度因子C1=1.5,C2=2.0。两种算法选取的起点任务和终点任务不同,因此虽然都是最短优化路径,GA-PSO 优化的最短轨迹路径为132.4m,GA 优化的路径为140m。混合算法具有更短的路径轨迹。
表4 堆垛机取货任务表Tab.4 Task Sheet for Pick-up of Stackers
图13 GA-PSO与GA轨迹优化图Fig.13 GA-PSO and GA Trajectory Optimization Diagram
迭代200次的优化过程,GA-PSO算法迭代过程具有较快的收敛速度,如图14所示。将优化路径的轨迹点导入3DE进行运动仿真,仿真结果显示GA 优化的批次任务运行时间为1082s,GA-PSO运行的时间为1052s。经过GA-PSO轨迹优化的方法缩短了堆垛机的运行时间,提高了整个仓储环节的输送效率。
图14 GA-PSO与GA迭代收敛比较Fig.14 Comparison of Convergence of GA-PSO and GA Iterations
首先通过3DE仿真平台构建我院立体仓库物流输送系统,并通过OPC 与PLC 建立通讯协议,对立库进行虚拟调试。同时针对立库作业的调度优化问题,通过GA-PSO混合算法,优化批次作业的任务轨迹,仿真实验结果表明:
(1)通过3DE 仿真虚拟调试技术,实现了在项目构建的早期阶段对立库PLC 程序的逻辑验证,缩短了现场工作人员的调试时间。
(2)针对堆垛机了路径优化问题,GA-PSO 混合算法优化了批次作业任务轨迹,相较于传统GA算法,混合算法能具有更短的路径优化轨迹。通过3DE仿真任务轨迹发现,GA-PSO混合算法具有更短的运行时间,从而提高了整个仓储的运行效率。