首页 理论教育物流可视化:生产过程研究技术路线

物流可视化:生产过程研究技术路线

【摘要】:生产过程可视化研究采用虚拟现实技术与管理信息系统相结合的方法,虚拟现实技术的使用及其与集装箱码头生产管理系统的结合是系统开发的关键。该系统的技术路线包括以下几方面内容。生产过程主要是依靠集装箱、集卡、场地吊车的运动来反应的,它们是建模的重点。数据库建模生产管理数据库是可视化系统实时性的一个重要保证。

生产过程可视化研究采用虚拟现实技术与管理信息系统相结合的方法,虚拟现实技术的使用及其与集装箱码头生产管理系统的结合是系统开发关键。该系统的技术路线包括以下几方面内容。

图9-1 实时生产过程可视化软件实现过程

(1)几何建模

考虑集装箱生产业务和机械的复杂性,在不影响场景逼真效果的前提下,对模型实体进行一些简化。把集装箱堆场上的修饰场景做适当的简化,在以建模为主的情况下,利用纹理技术建立模型。除此之外,为了逼真地反映堆场周围的环境特点,还会加入一些地形地貌和海洋特征。生产过程主要是依靠集装箱、集卡、场地吊车的运动来反应的,它们是建模的重点。对于岸吊和集装箱船而言,只在三维场景中表示出来,而不反映它们的运动方式,这也是出于必要性的考虑。

建模采用Creator软件,它拥有逻辑化的层次性景物描述数据结构——OpenFlight格式。这样图像发生器会根据数据库的结构决定何时绘制、如何绘制、绘制什么,从而生成精确、稳定、可靠的三维实时图像。此外,它还可以给几何模型的表面添加材质和纹理,设置光照条件等,从而生成更加逼真的模型模拟集装箱码头场景。几何建模的过程为最终的可视化系统提供了三维效果。

(2)数据库建模

生产管理数据库是可视化系统实时性的一个重要保证。通过开发软件PowerBuilder编制码头作业程序,把生产过程的实时信息源源不断地输入数据库。就卸船作业而言,先由计划员制定卸船计划,输入船图和舱单信息,等到船舶正式靠泊就有了船名、航次信息。当把船图、舱单和航次信息互相综合就构成比较完整的对应某一航次的集装箱的箱信息,准确无误地表达出集装箱的当前船上位置和即将流向的场地位置,指引后面的机械作业,当集装箱经过岸吊作业由船卸至集卡,再由场吊作业把集卡上的集装箱按预先计划好的箱位卸至堆场时,场吊司机最终的落位确认就成为箱子最后的准确信息被输入数据库。在建库时,考虑到后面驱动场景工作的需要,主要应包含的数据库信息是箱信息,包括船名、航次、箱号、箱型、箱位、尺寸、进出标志、卸货港、目的港、发箱顺序等字段,这样便可以利用箱位与箱号的对应信息来实时渲染三维场景,也能利用这些信息在三维堆场中按船名、航次或目的港来查询和分类显示,并能够通过航次、箱号、发箱顺序之间的关系建立发箱顺序的评判体系。

正是因为基于对一个实时变化的数据库的调用,采用虚拟现实的方法,把它作为驱动三维场景的数据源,不同于以往较多仅仅是用虚拟现实的方法按照一个已知的行为路线和过程驱动场景作为数据源,真正做到了生产过程实时可视化。生产管理数据库是实时驱动的基础。

(3) MFC ODBC访问数据库

在三维场景模型和实时数据库信息的基础上,接下来的工作就是如何将两者有机结合起来。利用VC强大的库函数调用功能,通过调用ODBC类完成与数据库的结合,通过调用VEGA类完成与三维场景的接合。

这部分完成的主要工作是与数据库的信息交换,把数据库中的信息变成能够驱动场景图的信息。ODBC类提供了一组对数据库访问的标准API。一个基于ODBC的应用程序对数据库的操作不依赖于任何DBMS,所有的数据库操作由对应的DBMS的ODBC驱动程序完成。ODBC最大的优点就在于支持对异构数据库的访问,能以统一的方式处理所有的数据库。利用ODBC编制访问数据库的应用程序涉及两方面的数据交换。首先是记录集与数据库之间的数据交换。MFC提供的CRrecord类派生出记录集类,利用RFX机制,使记录集中的每一个域数据成员与表中的某一字段相对应。然后是记录集与表单控件之间的数据交换。根据控件的ID号,利用DDX机制,找出其对应的域数据成员。表单控件实质就是应用程序的组成,由此不难看出记录集是应用程序和数据库之间的一个中转站。

最终系统通过第一部分的数据交换,把数据库中有价值的信息提取出来作为后面驱动场景的依据,实现集装箱的增减变化。通过第二部分的数据交换,将记录集信息在控件中以文字信息的方式显示出来,实现系统中按一定条件查询集装箱信息的要求,同时根据查询结果驱动三维图形相应变化。

(4)实时仿真

上面完成了VC对数据库的访问,现在要利用上面的信息完成对生成的三维场景的驱动。首先在三维仿真软件Lynx中引入在Creator中创建的三维几何模型文件。设置一些窗口参数、系统参数,引入运动对象和场景对象,建立场景。通过加入视点实现多视点的切换;通过加入驱动对象,驱动运动对象或视点按设定的运动模型运动;通过加入干涉对象,当被驱动物体与场景中的其他物体碰撞时,能够检测出物体间的干涉。同时可以设置环境效果和海浪效果,或加入光源,使运动场景更加直观和逼真。此时,会生成一个应用程序定义文件。接着利用MFC调用VEGA函数库,引入刚才生成的应用程序定义文件,同时利用刚才已经保存在VC中的记录集(即数据库信息),通过编程动态的添加和删除集装箱,实现实时的驱动。其中最主要的工作就是建立集装箱类,用来操纵对箱子的查找、增加和删除;以及建立针对VEGA的视图类和由其派生出的MFC视图类,通过各种信息的组合,实现生产过程的三维呈现。

(5)评价体系的建立

为了进一步利用三维显示的优势,这里还将对出口发箱的配载方案按照一定的原则进行评价,评价的结果在三维图形中显示出来,通过不同的颜色信息和统计出的文字信息显示出最优方案。针对一个出口航次发箱顺序的评价因素有很多,如:压箱数、场吊大车的运行时间、场吊同时作业的可能程度等,但是由于大多数的因素是比较复杂和随机的,同时考虑的难度较大,所以该系统仅仅对决定方案好坏的主要因素——压箱数进行研究,不同压箱数的集装箱用不同的颜色表示出来,使用户可以一目了然地看出哪个位置的集装箱有压箱现象,压了几个箱等。