仓储是物流系统中最重要的环节之一, 其快速与安全的运营, 对整个物流系统的高效运行有十分重要的意义。由于在实际运营的仓储物流系统中开展学习与培训具局限性, 因此, 建立虚拟仓储物流系统来进行人员学习与培训变得十分必要。运用虚拟仓储物流系统, 进行仓储物流学习与培训, 不仅能够身临其境的感受物流环境, 更能够亲手操作物流业务, 还可以对各类故障与异常进行反复操作, 使学习者在短期内快速熟悉物流业务, 掌握物流操作规范, 提高物流操作技能。
许多学者对虚拟物流系统做了深入研究。刘海霞、何黎娟基于Vrml技术, 建立了虚拟物流系统, 陈榕、向东则从实验室的角度, 探讨了虚拟物流系统的建设问题;周晓风基于Virtools技术, 提出虚拟物流系统的总体设计方案和系统构成。现有的研究侧重于虚拟物流系统的开发技术以及漫游功能的实现, 很少涉及物流业务功能和物流故障功能。本文将物流业务和虚拟漫游系统结合, 设计了虚拟仓储物流系统的总体框架, 提出了虚拟仓储物流系统的基本功能, 并对系统实施技术提出了建议。
以往的研究中, 多注重虚拟物流系统的漫游设计, 忽视了虚拟物流系统的业务模拟功能和故障模拟功能, 而这正是学习人员真正需要的。该系统在虚拟漫游的功能上, 引入了业务仿真, 从而实现了业务模拟和故障模拟的功能, 让学习者身临其境的同时, 能够按照业务流程, 操作各种设备, 填制各种票据, 完成各种货物的搬运装卸, 清点与核对, 实现对仓储环境的真实模拟。
该系统由模型层, 逻辑层和数据层三个层次构成, 如图1所示。模型层负责对虚拟系统的虚拟环境进行三维构建, 包括工作场景、人员、设备、货物、票据等, 同时负责建立各种模型的运动和变化的三维动画。
数据层负责模型数据的管理和业务数据的管理。模型数据描述虚拟场景中各种设备、人员与物品的基本信息, 业务数据描述物流的出库、入库和在库业务的基本信息。
逻辑层包含两个子系统, 其中模型逻辑控制系统负责控制虚拟工作人员的走动、虚拟叉车的工作、虚拟货物的移动等, 业务逻辑控制系统负责物流业务的生成、评价、消灭以及业务故障的处理等。经过业务仿真系统的处理, 模型逻辑控制系统获取业务数据, 驱动模型层的各种实体模型, 完成物流业务操作, 然后将业务结果返回业务逻辑控制系统, 评价业务操作结果。
用户与系统的交互, 通过键盘和鼠标实现。键盘和鼠标事件传递给模型逻辑控制系统, 通过模型逻辑控制系统来驱动三维模型。
虚拟场景管理对虚拟模型进行基础性管理。这些模型包括仓库、货架等静止物体, 也包括人员、叉车、车辆、托盘以及货物等可移动物体。场景管理对所有虚拟模型的大小、尺寸、位置以及光照环境等进行基础性的管理。场景管理基本功能如下: (1) 根据实际场景中的尺寸比例来设置三维模型的缩放比例。 (2) 记录三维模型的方向和位置, 包括设备的方位、货物的方位、货物的摆放姿势等。 (3) 对场景内部的光照系统进行调节, 以模拟不同季节和天气, 甚至是白天和夜晚。
虚拟设备主要指操作者通过键盘鼠标事件可以直接控制的虚拟对象, 包括人员、电动叉车、手动叉车以及票据等。虚拟设备控制主要包括: (1) 人员控制。对人的控制包括行走、跳跃、站立、拿取东西、操作设备等基本控制。虚拟人的控制不仅实现模型的位置变换, 更重要的是实现动作与动画的配合。 (2) 叉车控制。叉车的控制包括叉车的行走、转向、制动、门架系统的起降和倾斜。这些控制由程序直接操控模型零件的位置和旋转来实现。叉车控制的另一个要求是实现叉车内部视角的模拟, 即模拟驾驶员的视线变化, 如向左看、向后看、观察车叉等动作, 这部分依靠对虚拟场景中摄像机的控制来实现。 (3) 票据控制。本系统将票据也视为一种设备, 票据是虚拟系统里传递和记录信息的载体。物流业务的许多作业功能要依赖票据来完成, 如入库单、出库单、拣货单等, 都是物流作业必不可少的单据。票据的控制包括票据的生成、票据的消灭以及票据的处理。票据的生成功能将物流业务仿真系统的数据转换成票据数据, 并显示在票据之上;票据的消灭功能是当一个作业完成后, 将票据从系统中删除;票据的处理功能完成票据的审核和票据的存储与分类。
物流虚拟系统只有实现了物理模拟才能再现真实的操作场景。物理模拟是将虚拟的三维模型赋予同实际物体相同的物理属性的功能, 是实现三维仿真的关键功能。这些属性包括碰撞、重力、摩擦、质量、速度和惯性。碰撞模拟使所有肉眼所见的三维模型之间相互碰撞而不穿越;重力模拟使所有有质量的物体都受地心引力的影响;摩擦模拟使三维模型之间产生摩擦, 从而能够实现物体的移动和放置;质量模拟的作用在于改变三维模型的摩擦与惯性等物理属性;速度模拟可以描述物体或设备的移动方式;惯性模拟可以描述物体的加速和减速以及物体发生碰撞时的变化情况。
业务的仿真功能由业务生成、业务评价、业务消灭和业务故障管理组成, 基本流程如图2所示。
1.业务生成。
业务生成功能根据业务调度算法从业务数据库中抽取符合条件的业务, 并将业务数据传递给业务故障管理系统, 流程如图3所示。由时间序列计算模块计算出所有业务的发生时间, 并将时间序列传递给时间读取模块。时间读取模块从时间序列中依次读取业务发生时间, 时间到达模块随时监测业务时间是否到达。若未到达, 则继续读取当前时间, 若到达, 则计算业务的随机序列号, 并由业务读取模块从数据库中读取对应的业务数据, 传送给故障管理模块。
2.业务故障管理。
业务故障管理的功能之一是生成与本次业务相关的故障数据, 并将故障数据加入到业务数据之中, 使业务数据中包含故障, 并将数据传递给模型逻辑控制系统。业务故障管理的另一个功能是计算得出正确的故障处理结果, 并将结果交给业务评价系统。
3.业务评价。
业务评价功能的任务比较单一, 将模型逻辑控制系统传递来的操作结果与业务故障管理系统传递来的正确结果进行比对, 以评价本次业务的操作是否正确, 同时统计错误作业的相关数据。
业务消灭的任务是判断当前业务是否结束, 如果结束, 则从系统中删除当前业务任务, 并将本次业务的所有数据进行保存。
模型的制作技术可选的比较多, 主流的三维模型制作工具如3DMAX, MAYA等均可。此项技术并不是本系统的关键技术, 但也要注意两方面问题:一是模型制作不可过于复杂, 本系统包含的物体数量较多, 不但有数量较多的设备, 而且有数量庞大的货物模型, 过于复杂的模型设计, 将带来较大的系统负荷;二是部分模型需要进行动画处理, 所选择的技术应支持动画的制作和后期处理。
此项技术选择余地很大, 文献里采用VRML的较多, 但本文并不提倡使用。首先, VRML渲染效果和速度有限, 与主流的引擎相比差距较大, 模拟的虚拟环境真实感较差。其次, VRML实现物理效果的难度较大, 需要较难的算法设计与较大的代码量。再次, VRML实现复杂的交互难度较大, 还需要借助其他技术如JAVA的帮助, 这无疑增加了系统的复杂程度。
本文建议采用成熟和先进的虚拟引擎技术, 这会在效率和效果上给系统实施带来方便。如当下流行的Virtools, Unity3D等等, 不仅能够很好的渲染逼真的虚拟场景, 又拥有好用的物理引擎, 同时还能通过内置代码无缝的实现复杂的交互功能。
目前主流的数据库, 都能够满足系统的要求, 如sqlserver, oracle, MySQL等等, 还有一些轻量级数据库如SQLite也是不错的选择。重量级数据库可以实现超大量数据的处理, 而轻量级数据库则具有速度快、节省资源、嵌入式等优点。作为单机系统, 我们建议使用SQLite, 嵌入式的特点会更适合安装与维护;而作为网络系统, 建议重量级数据库, 强大的功能可以支持复杂的网络功能。
虚拟物流系统的功能不应局限于虚拟漫游, 还应该通过物流业务和故障的真实模拟, 还原物流系统的真实功能。本文将业务处理引入到虚拟仓储物流体系之中, 提出了虚拟仓储物流系统的总体设计和功能设计方案, 并对系统实现的技术进行了对比分析, 提出了建议。本文仅针对单机单人系统提出了设计思路, 而并未探讨多人的网络系统设计思路, 这将会成为后续的研究方向。
上一篇: 关于物流仓储管理中信息系统应用的探讨
下一篇: 嘉善县仓储物流发展现状与思考