黄元涛 魏立明 孙佳隆
(1.青岛杰瑞工控技术有限公司,山东 青岛 266061;2.中船重工(青岛)海洋装备研究院有限责任公司,山东 青岛 266520)
铁路站场集装箱智能装卸设备控制系统(RYECS)是实现整个自动化铁路站场方案的关键,属于铁路站场管理系统(RYMS)和集装箱装卸设备的中间系统,它的主要作用是取代了传统铁路站场的司机和相关设备终端,用电脑代替人脑,在RYMS 中获取任务后,智能地指挥设备安全、自动、高效地把集装箱搬运到任务的目的位置。RYECS 开发过程中需要连接自动化装卸设备(如ARMG、AGV/无人集卡等)进行测试,如果利用实际设备进行测试,不但成本高而且测试环境也不够安全,因此,亟须有效的仿真测试平台来辅助RYECS 的开发和测试。
目前国内关于铁路站场的仿真主要集中在铁路站场规划、作业调度和设备配置等方面[1-4]。例如李达等人利用Multi-Agent 技术搭建了铁路站场装卸线作业仿真模型,并对装卸线的布置和建设规模进行了研究。王艳青等人基于eMPlant 及时搭建的铁路集装箱货场装卸系统仿真模型,对铁路集装箱主箱区和辅助箱区的布局进行了验证。Abourraja 等人搭建了基于Multi-Agent 技术的起重机调度仿真模型,根据试验结果针对Le Havre 港口集装箱货场起重机调度提出了改进方案。梁剑等人搭建了基于离散事件与事件图方法的铁路集装箱装车作业仿真模型,并对铁路集装箱中心站装卸作业的设备配置进行了优化。
该文在分析铁路站场集装箱装卸作业区的布局及作业流程的基础上,利用Multi-Agent 技术建立装卸作业区的仿真模型,并验证了模型的有效性,为RYECS 开发测试提供支持。
铁路站场包括集装箱装卸作业区、辅助箱场和闸口等功能区。集装箱装卸作业区一般由列车、堆场和集卡3 个部分组成,如图1 所示。
铁路站场集装箱装卸区作业主要流程包括4 个部分。1)集装箱列车的集装箱卸载至堆场堆存或集卡。2) 集卡上的集装箱装卸至堆场堆存或集装箱列车上。3) 堆场中的集装箱装卸至集装箱班列或集卡上。4) 集装箱从一列集装箱列车直接装至另一列集装箱列车上,如图2 所示。
图1 某铁路站场集装箱装卸作业区横截面布置图
图2 某铁路站场集装箱装卸区作业图
为了更加真实地模拟测试环境,结合Multi-Agent 仿真建模技术和Socket 通信技术,利用AnyLogic 仿真软件搭建基于RYECS 的仿真模型[5]。模型中重要的功能模块包括4 个部分。
Main 智能体是整个仿真模型的入口和统一控制模块。其主要功能有5 个。1)实现铁路站场集装箱装卸作业区布局。2)仿真参数输入和仿真模型初始化。3)实现与本地数据库的对接。4)2D/3D 实时动态模拟模型的运行过程。5)以图表形式实时展示集装箱装卸设备的关键KPI。
RYECS 利用无线通信技术实现与集装箱装卸设备的信息交互。仿真模型中搭建Socket 服务器,RYECS 中搭建Socket 客户端,Socket 服务器实时监听通信端口,自动接收RYECS 发送的任务指令并生成相应的任务智能体。在任务执行过程中Socket 服务器实时将任务状态和设备状态反馈给RYECS。
根据ARMG 的机械结构将ARMG 智能体划分为大车控制模块、小车控制模块和吊具控制模块3 个子功能模块。分别对应仿真模型中的Crane、Part 和LS 3 个智能体。ARMG控制逻辑如图3 所示。
图3 ARMG 模型状态图
2.3.1 大车控制模块
如图3(a)所示,模型开始执行后,大车控制模块一直处于等待任务状态,并设置每隔1 s 查询是否有待执行任务,有可执行任务时跳出等待,按照任务要求移动大车,然后判断当前执行的任务是否需要集卡,需要则等待集卡到达,最后通知小车移动并回到等待状态或下一个移动阶段。
2.3.2 小车控制模块
如图3(b)所示,小车控制模块接收到大车控制模块的通知信息后开始按任务要求移动,等小车到达指定位置后通知吊具移动,然后回到等待状态或下一个移动阶段。
2.3.3 吊具控制模块
如图3(c)所示,吊具控制模块接收到小车控制模块的通知信息后,开始按任务要求进行抓放箱作业,等吊具完成操作后更新任务和设备状态,然后回到等待状态。
铁路站场的作业车辆跟据作业范围可以分为场内拖车和场外拖车2 类。场内拖车始终在站场内作业,种类较多,包括内集卡、自动导引小车(AGV)和集装箱正面吊等多种类型。场外拖车可以进出场作业,一般使用集卡车进行运输。测试平台中的作业车辆采用AGV 和外集卡,AGV 负责火车与辅助箱区、装卸作业线箱区与辅助箱区之间的集装箱运输作业,外集卡负责火车与场外箱区、装卸作业线箱区与场外箱区、辅助箱区与场外箱区之间的集装箱运输作业。两者的作业范围不同,但在集装箱装卸作业区的作业流程是一致的,如图4 所示。
图4 集卡模型状态图
AGV/外集卡接到作业指令后移动到作业位置,等到达指定位置后通知ARMG,开始执行在AGV/外集卡上的装卸箱作业,AGV/外集卡原地等待,直到接到ARMG 完成作业通知后离开集装箱装卸作业区,AGV/外集卡继续下一个任务或进行返回车站、维修等操作。
测试平台中的火车车厢均采用能够装载1 个40TEU 或2个20TEU 的标准模型。在Main 智能体中创建火车智能体群Trains,Trains 中的每个火车智能体代表1 节火车车厢,在火车智能体行动中设置车厢位置,可动态生成火车模型。
Job 智能体用于存储RYECS 下发的作业指令,每条作业指令包括集装箱装卸的起始位置、终点位置、拖车、集装箱等必要的作业信息。测试平台可以对作业指令的执行状态进行统计,用于Main 智能体中的关键KPI 展示。
Container智能体主要用于存储铁路站场所有集装箱的信息,包括集装箱的存放位置、箱重、箱门朝向等相关信息。铁路站场装卸作业区的集装箱存放区域主要包括装卸作业线箱区和火车2 个部分。测试平台根据集装箱存放区域划分,在Main 智能体中分别创建装卸作业线箱区集装箱(TContainers)和火车集装箱(YContainers)2 个集装箱智能体群,便于集装箱信息的存储和管理。
为验证模型的有效性,以某铁路站场集装箱装卸线为例,设计装卸能力30 万TEU/年。
该仿真模型采用“ARMG+AGV”的装卸工艺,作业设备包括2 台ARMG 和10 辆AGV,配比为ARMG ∶AGV=1 ∶5。为了便于建模,仿真模型内设备速度均设为匀速,参照日照港自动化堆场装卸设备速度,参数见表1。
表1 模型设备速度参数表
?
仿真模型中的集装箱数据来自RYECS 数据库,作业指令数据通过RYECS 利用Socket 通信传输获得。仿真测试模型能够完整仿真出图2 所有的作业流程,并且可以实时展示作业执行过程的2D、3D 画面和作业设备的关键KPI。图5 展示了模型运行的3D 效果。
图5 仿真模型运行3D 效果图
利用Multi-Agent 仿真模型能够较为真实地仿真出铁路站场集装箱装卸线的作业场景,可以节约资金、人力和时间,保证测试环境的安全,提高测试效率,为RYECS 的开发测试提供支持。