基于Glscene的弹药存放管理三维仿真模型及实现

2020-03-16 08:33戴祥军兰榕杰
物流工程与管理 2020年2期
关键词:堆垛数据结构弹药

□ 戴祥军,兰榕杰,李 江

(1.陆军工程大学石家庄校区,河北 石家庄 050003; 2.76173部队,广东 乐昌 512243)

目前,在弹药存放管理工作中,堆码设计主要依靠经验,难以处理复杂的多批、多层、多垛形的问题,库房资源利用率较低,时常会因方案不合理而返工,造成人力、物力的浪费,极大的制约了弹药的信息化管理和快速化保障。为此,引入自动化仓库管理模式,将库房内的弹药堆垛以三维实体化仿真模型的形式进行管理,将大大提高工作效率。本文基于Delphi的Glscene开发环境,通过研究分析目前弹药存放管理的基本形式,提出了方垛、梯垛、塔垛等七种堆积管理模型,建立相应的三维场景,实现了弹药堆积设计和管理的可视化。

1 弹药堆垛模型

1.1 堆垛模型分析

弹药基本垛形可分为方垛和梯垛[1],梯垛又可分为压行垛、压列垛和塔垛,根据高度不同,又可分为二层垛和多层垛,堆垛模型分类如图1所示。建立如图2所示的空间坐标系,以行和高为基本堆积面,沿列方向进行堆积[2]。

方垛、二层压行和压列梯垛在引文[1]中已详细说明,下面主要对多层压列、压行梯垛以及塔垛模型进行分析与算法设计。

1.2 二层塔垛模型

塔垛实质上是在行和列两个方向上进行错位堆码的堆垛形式,如图3所示。如将二层塔垛首批下层垛的第一列垛面

图1 堆垛模型分类

图2 弹药堆垛模型结构图

(深色部分)去掉,剩余的垛即可视为错位的二层压行梯垛,因此,我们将首批下层第一列垛面的列坐标定为0,先从整体堆垛中去除,剩余部分按二层压行梯垛计算,最终再将0垛面加上。其垛形数据结构如表1所示。

图3 二层塔垛

表1 二层塔垛数据结构表

塔垛中除首批外其它批次计算与压行梯垛[1]相同,首批计算式如下:

(1)

式(1)中,当W=0时,按W=H-1进行计算。

1.3 三层压行梯垛模型

三层压行梯垛,其上、中、下层垛在行的方向上相对错位半箱,如图4所示。此种垛形的难点在于,其行数不再是定值,根据所处层数的不同,下层为H行,中层为H-1行,上层为H-2。其垛形数据结构如表2所示:

图4 三层压行

表2 三层压行梯垛数据结构表

三层压行梯垛中某批次的批量:

当W=0时,W按W所在层的H进行计算。

1.4 三层压列梯垛

三层压列梯垛,其上、中、下层堆垛间在列的方向上相对错位半个箱位,如图5所示。三层压列梯垛是方形垛的一种错位堆法,若将首批下层垛的前两列列垛面和中层第一列列垛面(深色部分)去掉即可视为错位方形垛,其堆垛数据结构如表3所示:

图5 三层压列梯垛

表3 三层压列梯垛数据结构表

三层压列梯垛中除首批外的其他批次批量计算与方形垛完全相同。首批计算式如式(2):

N=H×[(L2-L1)×G+G2-G1+1]+2×G0×H+G3×H+W

(2)

1.5 三层塔垛模型

三层塔垛在三层压行梯垛的基础上进行列方向上的错位,如图6所示,若将三层塔垛首批下层垛的前两列列垛面和中层第一列列垛面(深色部分)去掉,即可视为三层压行梯垛,其垛形数据结构如表4所示:

图6 三层塔垛

表4 三层塔垛数据结构表

三层塔垛中除首批外的其他批次批量计算与三层压行梯垛完全相同。首批计算式如下:

当W=0时,W按W所在层的H进行计算。

2 三维仿真场景实现

2.1 设计思路

运用Delphi的 3D模型控制插件Glscene,模拟弹药存放管理过程,实施弹药堆积可视化管理。首先建立三维仿真场景,在场景中引入虚拟物体GLDummyCube模拟弹药堆垛,为GLDummyCube添加子物体,模拟弹药箱,设置子物体的间距、大小,依据弹药堆垛模型,确定子物体的位置,实现对多种弹药堆垛的三维仿真。将GLDummyCube与Camera(摄像机)连接,通过Camera的视角对物体进行缩放和空间观察,为使虚拟场景与现实堆垛相吻合,设置手工调整功能,对相应弹药箱进行位置调整。软件功能框架如图7所示:

图7 软件功能框架

2.2 场景的实现

利用弹药堆垛算法模型并结合GLScene,通过选择堆垛类型,输入弹药和库房参数,即可生成弹药堆垛的三维仿真模型,如图8所示。仿真模型中不同弹药批次的区分是现实管理中的重点,也是该软件设计的难点,通过批与批之间颜色的转换,可以清楚的显示出批界,这与现实批界的标注是不同的,但更有利于信息化管理。建立场景Camera,通过改变其景深和焦距实现场景的缩放,移动其位置实现三维视角的变换。考虑到在有限的屏幕上对整个弹药堆垛三维模型进行操作,将坐标轴建立在堆垛中心位置,方便观察和调整。将三维场景进行存储,形成可视化弹药堆垛数据库,实现对多库房、多区域、多弹种和多批次弹药堆码的可视化管理。具体七种堆码模型的三维场景实现如图8到图14所示:

图8 方垛

图9 压行梯垛

图10 压列梯垛

图11 三层压行梯垛

图12 三层压列梯垛

图13 二层塔垛

图14 三层塔垛

2.3 场景的调整

为使仿真场景与现实堆码情况相一致,设置手动调整模块。通过设置单箱调整、多箱调整、整行调整、列面调整、批次调整等功能,对虚拟堆垛中的箱体进行任意位置调整,从而处理现实堆垛的各种复杂情况,实现如实仿真。调整示例如图15、图16所示:

图15 多箱调整示例

图16 列面调整示例

3 结语

本文基于Delphi的Glscene构建了弹药堆垛三维仿真场景,提出了弹药堆垛算法模型,实现了对部队常见七种典型堆垛的空间仿真,并给出了不同的尾箱处理方式,同时为适应现实的复杂情况,设置了调整功能,使三维仿真场景能与实际堆码完全吻合,最终建立了弹药存放堆积管理的基本空间模型,为库存弹药的可视化管理奠定了基础。

猜你喜欢
堆垛数据结构弹药
大口径舰炮弹药储供系统可靠性研究
美国狼弹药公司A16.5mm卡宾枪
食用菌废菌棒堆肥生产有机肥的研究
打不完的弹药
数据结构线上线下混合教学模式探讨
为什么会有“数据结构”?
某立体仓库堆垛机利用率仿真分析
高职高专数据结构教学改革探讨
高效学习数据结构
奇迹