光电工程  2019, Vol. 46 Issue (3): 180561      DOI: 10.12086/oee.2019.180561     
一种基于信息物理集成的光盘自动标识系统
姚杰1 , 张一凡1 , 曹强1,2 , 谢长生2     
1. 华中科技大学计算机学院,信息存储教育部重点实验室,湖北 武汉 430074;
2. 武汉光电国家实验室,湖北 武汉 430074
摘要:光盘能够进行可靠、低成本地离线长期数据存储,当对保存的海量数据进行查询时,需要能够快速逻辑定位到查询结果,并且能够确定所属光盘的物理位置,进行数据读取。这要求光盘在信息及物理世界中拥有唯一的标识,从而方便、可信地统一管理海量数据。本文设计一种批量光盘自动标识系统,它集成普通商用的刻录机、打印机和摄像头,实现批量光盘的自动化物理标签打印和逻辑标识刻录。考虑到每个部件都具有内部独立的时序控制、特定的存取接口。本研究设计并开发了定制化机械结构,以及全局软件调度机制,统一协调物理和逻辑控制。实验结果表明,单套系统能够一次连续地标识200张光盘,平均每张2 min。
关键词光盘自动标识    信息物理集成系统    二维码图像识别    机械控制    
An integrated cyber-physical system for automatic identification of massive discs
Yao Jie1, Zhang Yifan1, Cao Qiang1,2, Xie Changsheng2     
1. College of Computer Science, Huazhong University of Science and Technology, Wuhan, Hubei 430074, China;
2. Wuhan National Laboratory for Optoelectronics, Wuhan, Hubei 430074, China
Abstract: Optical discs can reliably preserve massive data for long-term in low-cost. When querying these accumulative data, it is necessary to quickly obtain the query results, and to seek the physical location of the corresponding optical disc. To this end, it demands each disc have a unique identifier in both the cyber and physical worlds, make massive data be managed effectively, conveniently, and credibly. This paper designs a batch-disc automatic identification system, which integrates common optical disc recorders, printers, and cameras, automatically to print physical label and to burn logical identification on each disc. Consider that each commodity component has its own internal independent timing control and a specific external interface. This study designed and developed a customized mechanical structure, as well as a global software scheduling mechanism to coordinate physical behavior and logical control. The experimental results show that the system can continuously identify 200 discs at once, averaging 2 minutes per disc.
Keywords: automatic identification of discs    integrated cyber-physical system    2D code image recognition    mechanical control    

1 引言

当前存储技术和应用飞速发展,但仍然不能普遍长期地保存个人及企事业单位的数据,一个重要的原因是长期保存数据需要高昂的维护成本。另一方面,大数据应用也需要依赖于长期保存的数据[1]。光盘作为一种重要存储介质,由塑料加镀膜构成,具有寿命长(超过30年)、采购成本低(单盘25 GB为例,2元/盘)与维护成本低(保存环境无特殊要求,数据退化过程长且连续退化)的优势;此外存储介质能够完全和读取装置分离,方便离线保存。但是与其他主流存储介质相比,如硬盘单盘容量为4 TB~10 TB,磁带单盒容量为6 TB~10 TB,当前蓝光光盘的容量仍然很低(单盘容量为25 GB、50 GB、100 GB或300 GB)。虽然预计下一代全息光盘,每盘的存储容量高达10 TB[2],但短时间无法进入市场普及;未来双干涉、多维玻璃等新技术虽然能够达到几十上百TB单盘容量,却仍处于早期研发阶段。而在系统层面,简单地堆叠光盘就可以获得更大的体容量(50片/10 cm)。利用光盘可以安全长久地以离线方式存储,不经常使用的光盘可以简单地离线放置在办公室书架上,而无需昂贵的服务器和电源设备,以及环境控制装置(对于硬盘和磁带是必不可少的),从而节省整体投资和维护成本。因此,光盘非常适合大规模冷数据的长期保存,仅仅需要在访问时,才将光盘装入光驱,读取所需数据[3]

在实际查询、存取大量光盘中保存的海量数据时,需要每张光盘是全局自描述的,即通过全局数据检索系统能够快速逻辑查询到光盘的内容,并进行物理准确定位,放入在线光盘驱动器中读取。整个冷数据存储系统需要有光盘内容与位置的自动识别机制,以准确有效地寻找所请求的盘。因此,每个光盘都应在信息(cyber)和物理世界中获得统一且唯一的标识符(identifier, ID)。此物理ID可以被机器或人识别。逻辑ID则包含光盘可识别信息数据,并能够被光盘驱动器正确读出。前者需要在光盘表面物理地打印关键信息,后者需要在光盘内部刻录相应信息,例如完整的认证链。一般而言,光盘刻录机(以下称为刻录机)和光盘打印机是两个完全独立的设备,并且具有各自不同的功能,需要通过托盘手动装入/卸载光盘。因此,为了大规模、批量自动化的给光盘增加内外统一的ID,需要构建一个低成本、自动地批量光盘自动标识系统。目前现有的光盘库无法对于单张光盘进行物理识别,部分光盘库只能给一组光盘增加一个物理光盘匣,在光盘匣上增加标识,因此光盘自身无法外在地被光盘库进行区分。本系统能够给光盘增加逻辑和物理统一的标识,实现光盘在物理和逻辑世界的统一高效自动管理。在本文中,我们提出了一种自动光盘识别系统(automatic disc identifying system, ADIS),通过开发机械部件、设计软件,实现与现有打印机、光驱和其他硬件组件间有效、高效协作,批量、自动化标记与识别大量光盘。ADIS的关键设计原则是:1)简化机械结构和抽象基本操作;2)增强软件执行复杂的工作流程;3)基于感知反应式的多级控制。

目前很多信息物理(cyber-physical)系统是集成的机电复合体,包括机械/硬件/软件组件和组件间通信网络,以实现有针对性的复杂功能和行为,如自动驾驶汽车[4-5]、工业制造[6]、智能城市[7]和智能家居[8]等,由于大部分这种系统是基于定制化开发,因此能够自顶向下的开发,实现紧耦合地全局控制。而ADIS基于现有成熟部件开发,采用自下而上的系统集成开发方案。但在多个独立功能设备上构建完全机电自动化系统是极具挑战性的,因为每个被集成的商业设备在设计之时已具有自己定义的专用功能和行为,并没有考虑与其他设备协同工作。具体说来,每个这样的商业设备具有其自己的不同硬件/软件接口、特定时间序列、用户规范和各种行为限制。此外,ADIS还必须引入专用机械子系统,设计专用的机械框架,提供多种执行器并进行控制。这使得ADIS不能直接使用传统的基于模型的预测控制[9]和基于中间件的控制架构[8]。此外,物理组件(例如打印机)的机械行为是不可预测且容易出错的,系统整体无法使用确定性模型[10]。综上,系统需要执行高层工作流程、协调多个设备,并必须确保低层反应执行和部件行为实时监督[11]。因此,ADIS需要面向业务、结构感知的机制/硬件/软件协作设计。

本文的主要工作为:1)设计了一个简单但有效的机械框架及其关键组成部分,主要机械运动进一步分解为由步进电机驱动的一系列低级操作,设计基于重做的机械异常处理机制;2)设计了全局调度机制减轻底层机械子系统对高精度和结构稳定性的严格要求,并协调电机驱动芯片、微控制器和通用处理器主机的操作;3)开发并实现了ADIS,并在生产环境中进行了性能测试。ADIS在连续自动识别200张光盘的情况下,平均每张光盘2 min,机械部件的整体利用率达到63%。

论文第二节介绍了ADIS的整体结构、关键部件和处理流程;第三节阐述了ADIS的实现机制;第四节描述了实验,给出性能分析;最后一部分是简单的总结。

2 设计

在本节中,将详细描述ADIS的整体结构、关键部件和主要设计考量因素。

2.1 概述

图 1显示了ADIS的整体结构、关键组件和标识过程。ADIS的机械结构包括主干机械框架(machine frame, MF),机械臂(machine arm, RA),三个步进电机和两个微型舵机(齿轮),圆盘指(手指)和一系列接触传感器(contact sensor, CS)。ADIS硬件包括主机,一组微控制器(microcontroller unit, MCU),光盘打印机(disc printers, DP),光盘刻录机,电机驱动器芯片(motor drive chip,MDC)和相机。主机通过USB接口连接到打印机,MCU和摄像机,并通过传统SATA接口连接到刻录机。MCU使用硬线连接到所有MDC和传感器,直接驱动所有电机并主动捕获来自传感器的信号。所有电机均由主机电源的12 V电缆供电。手指固定在RA下方,刻录机和打印机托盘的中心孔、两个光盘堆的中心孔、组装在由RA的臂长为半径的同一圆周上,构成了机械臂的运行轨迹。因此,RA上的手指可以机械地到达这些位置并穿过这些中心孔。每台主机具有认证和光盘标识范围,两者都由根服务器统一进行分配。

图 1 ADIS的整体结构和关键部件 Fig. 1 Overview of automatic disc identifying system (ADIS), which is a complex incorporating mechanical and electrical components under a special software workflow

ADIS的工作流程大致可分为四个连续阶段。在第一阶段取空白光盘到刻录机中,ADIS从输入的空白光盘堆A机械地取出最上面的光盘并将其放入刻录机托盘中。

在第二阶段光盘逻辑标识中,刻录机首先读取盘的BCA(burst cutting area, 128 Byte)码。然后主机生成一个唯一的光盘标识符(24 Byte),一个光盘认证码(2061 Byte),一个二维码(QRC),一个条形码(BC)和一个64位序列号(SN),以便该光盘唯一对应到BCA。注意到理论上BCA是唯一的,但是在实际生产中,很多光盘具有相同的BCA码。光盘认证码是根据主机认证码(1858 Byte)和根认证码(1809 Byte)生成的。值得注意的是,带摄像头的计算机可以轻松识别QRC。SN是人类用户可读和可理解的。最后,这些标识和光盘标识符一起被刻录到光盘的最外面的轨道中。

在第三阶段打印光盘物理标识中,该被刻录标识的光盘被机械臂抓取到打印机的光盘托盘。但传统打印机需要人为机械式地推入/拉出光盘托盘。而打印机本身只能机械式地退出/吸入半个托盘,因此RA无法直接正确地将光盘放在托盘中心位置。我们必须设计一个辅助机械机构将整个托盘分别推入打印机。然后,打印机在光盘表面上打印QRC,BC,SN和另一些可定义的图像。最后,在打印完成后将整个托盘拉出打印机。

在第四阶段进行已标识光盘放置,打印机托盘上的打印光盘由机械臂抓取放置到输出光盘堆,该光盘堆保存已标识的光盘。在本阶段,通过摄像头和运行在主机上的图像识别应用程序自动扫描光盘的二维码和条形码,进行最后检查及验证,打印错误或者刻录错误的光盘会被简单的丢弃掉。除了这四个主要阶段外,ADIS还有其他阶段,如初始化和复位阶段。

光盘在输入、输出光盘堆中是以堆叠方式放置的,利用光盘内圈自带的0.1 mm的堆积环,ADIS机械臂能够正确地抓取最上面一张光盘。也就是光盘之间没有额外的隔离部件,这样的好处是光盘放置密度很高,并且简化机械结构。通过光盘长期(数月或者年)堆叠放置在一起,可能会发生光盘间的粘连。但是,ADIS中光盘主要是用于进行物理和逻辑标识,因此在两个光盘堆的放置时间相对很短,因此几乎不会严重粘连。即使发生较少数粘连情况,也可以通过刻录机和打印机报错进行判定,丢弃错误光盘。

2.2 机械子系统

机械子系统提供底层机械框架、并驱动执行器进行机械运动。ADIS内部机械子系统的设计方法与传统方法有很大不同。我们增强软件调度来补偿机械结构相对较低的精度和刚度。具体而言,ADIS的机械骨架由标准铝型材构成,这些铝型价格低廉组装灵活。而传统的机械框架由定制的钢板或者钢架制成,这确保了系统长期的高精度和严格的刚性,但具有较高的成本和开发周期。ADIS除了打印机和刻录机的自身机械操作之外,仅仅增加简单的机械操作,包括垂直和水平移动机械臂、用手指取出/释放光盘、推/拉打印机的托盘。

机械运动的精确度和正确性取决于物理空间域中的全局参考坐标系。ADIS在初始化阶段构建参考空间,并且在每执行一个或者几个操作之后,重新初始化这个参考空间,从而减少对于机械框架的刚性要求。参考空间首先确定XY维度中的坐标原点。X轴表示电动机1水平前后旋转,而Y轴表示电动机2垂直向下和向上移动。初始化后,ADIS构造了一个圆柱形空间,可通过电机运动到达所有关键位置。而所有关键位置的空间坐标(例如刻录机和打印机的托盘的中心孔)都记录在基于JSON的配置文件中。ADIS采用三个步进电机,能够进行精确运动(每毫米1080步)。每个电动机由其相应的MDC物理驱动。ADIS还使用两个基于MCU驱动的实行角度控制的微型舵机。传统的机械框架设计必须确保外部框架具有严格的刚性,以确保机械不可变,ADIS与传统的机械框架设计不同,仅涉及固定在框架中的原点的相对位移。在执行关键运动之前,ADIS通过触发特定传感器重新定位原点。这种设计避免了累积误差,并且减少了对外部机械框架的绝对精度和稳定性的要求,在传统做法中这通常由高材料强度和框架机械精度以及昂贵的成本来保证。

ADIS使用现成的普通商业打印机给光盘打印物理标识,而这种打印机需要手动装入/卸载光盘。虽然有一些定制设计修改后的打印机可以自动装载光盘,但它们不仅非常昂贵,而且由于使用量少,缺乏足够的市场测试,其运行并不是很稳定。为了将光盘自动传送到打印机,我们增加一个电机、几个传感器、转向器和特定的机械机构,能够自动地将光盘托盘推入/拉出打印机。值得注意的是,打印机并不能感知外部机械动作。只有当打印机主动拉动其托盘时,额外的推动才有效并可以成功。因此,ADIS需要确定每次推动失败后何时进行重做。

现有产品和研究主要采用专用的机械手指和额外的光盘托盘协同抓取光盘[10]。手指通常是钢质复合材料,使用专用的盘托盘或盒子,手指可以取出盘或一组盘(例如12张)。具体地,为了从光盘堆或托盘准确地取出单个盘,需要基于手指和托盘协作才能取出光盘,整个操作由可编程逻辑控制器(programmable logic controller, PLC)[11]控制。然而,额外的托盘实际上增加了系统的复杂性和成本,同时降低了光盘的放置密度和可靠性。

为了克服这个问题,我们设计了一种简单、便宜的塑料手指,可以精确地撑开直径为1.5 mm的圆盘中心孔。这个专用的手指也是由现有的商品配件搭建构成,几乎没有任何高成本修改。其原理是使用接触式传感器将手指牢固地固定在RA下方,当RA向下移动时,该传感器可以辅助精确定位盘堆的上表面。因此,与RA移动相结合的手指可以准确地获取光盘堆最上面的光盘,以及打印机和刻录机的托盘上的光盘。一旦相应的传感器被触发,手臂向下移动一定距离,然后手指使用齿轮转向引擎打开微小的叶片以固定盘的中心孔,这是一个取出操作。之后,携带取出的盘的臂移动到参考空间中的任何目标位置。一旦手指的微小叶片关闭,取出的光盘就因为自身重力、自然地掉下来,这是一个释放光盘的操作。取出光盘时,ADIS可以容忍3 mm内的放置偏差。因此,ADIS不仅可以显著简化机械结构,还可以增加磁盘放置密度。

2.3 控制机制

ADIS的功能取决于与功能无关的设备和组件的协调。执行器负责机械运动。主机为每张光盘生成认证和标识。刻录机将此信息写入光盘。打印机在光盘上物理打印ID。但普通的商业设备(打印机和刻录机)有自己的内部控制和时序控制机制。因此我们需要一个全局控制机制来按照预期的工作流程正确驱动所有设备和组件。为了集成这些独立的功能,ADIS采用通用服务器和Linux操作系统作为主机,从而利用现有的驱动程序和应用程序提供系统级控制来协调这些相应的商品设备。

为了统一和全局控制所有独立现成设备,有三个关键问题需要解决。首先,主机没有特定的I/O来直接驱动传感器和机械执行器,只能被动地检查传感器从而确定系统状态。此外,执行器运动需要精确、实时和非抢先控制。第二,主机无法直接管理设备内部行为,商品设备(如打印机和刻录机)具有自己的内部控制器独立地执行其预设的工作流程,并且它们无法主动报告其运行时内部状态,并且仅向主机提供粗粒度命令接口。例如,打印机不主动通知打印任务的完成或失败。最后,ADIS需要构建一个全局状态空间和一个准确的调度程序来维护运行时的高级工作流,完成预定标识功能。

为解决上述问题,ADIS采用三级控制机制。底层操作是基本和事务/原子行为,例如精细机械运动或完整的硬件和软件操作。在底层,设备可以串行执行这些操作并处理其相关的内部异常,而无需与其他设备和主机通信。功能设备(如MDC、传感器、打印机、刻录机和相机)以故障原子方式物理执行其基本机械或硬件操作。例如,MDC独立执行基本电机控制,以精确且具体地驱动电机运动,如加速、运动和减速。MCU还直接检查传感器状态。该操作可以定义为由设备或致动器执行的指令。例如,运动指令包括具有扭矩和速度配置的移动方向和步数。主机可以将指令发送到MCU实际控制相关的MDC以驱动步进器。

在中间层,固定顺序的几个低级操作可以组合成一个中级操作,可以由一个或多个设备执行,例如手指打开/释放,刻录机加载/卸载光盘或读取/在光盘上写一条记录。中级操作表示频繁发生的行为。

在上层,可以将一组中级操作进一步合成为完成特定功能的命令,例如从输入光盘堆中取出空白盘到刻录机中。命令实际上可以由多个设备共同执行,例如,移动手臂将光盘从开始位置提取到结束位置。这意味着当RA向上移动时,MCU应定期检查传感器状态。主机还运行设备驱动程序来命令打印机打印光盘,刻录机加载/卸载光盘或读取/写入光盘上的内部轨道,摄像机捕获图像并识别其QRC。由于命令涉及由不同设备或硬件执行的多个操作,因此主机会仔细跟踪设备状态并维护全局系统状态。

以打印机打印过程为例,主机会事先安装打印机驱动,该程序以模块形式运行在主机操作系统内核中,该模块会把打印机接口函数注册到系统模组中,当需要打印时,ADIS调用该模块的打印功能LP,把已生成图片作为输入,发送给打印机。打印机接受该图片,启动内部打印流程。注意到,打印机收托盘、关闭打印舱、物理地在光盘表面打印图片、开仓打印舱和最后的推出托盘是由打印机内部控制,主机无法通过接口干预该过程。主机仅仅通过打印机驱动模块的LP-status读取打印机当前状态。打印完成后,打印机通知主机正常打印完成。但打印过程中,打印机发生异常,主机只能通过接收到的异常信息进行出错处理。当打印机发生严重错误,不能正确向主机发送异常信息时,主机只能重启打印机,并通过外部摄像头了解打印机的错误表现。这个过程可能需要人工干预。不过,在前期大量测试过程中,通过简单的重启打印机、重试打印或者丢弃错误打印的光盘就能够解决大部分问题。

三级控制机制将高级逻辑流程与底层具体操作相结合。高级工作流阶段被分解为在不同组件上运行的一系列操作,但是通过有序地启动这些操作同时仔细跟踪这些组件的运行时状态,由全局调度程序精确地处理。在最上层的逻辑层面,ADIS的工作流程可以简单地视为获取,刻录,打印和放置光盘的四个连续阶段。

以取盘阶段的三个连续的命令/步骤为例,如图 2所示。在第一步,主机要求刻录机打开托盘。第二步是调用第二个命令,即将输入光盘堆中的空白光盘抓取到刻录机,称为In2Drive,这个相对复杂,并进一步划分为16个中级操作,后者又包含28个低级操作。首先,机械臂在垂直和水平方向移动多次,最终到达初始位置。然后结合传感器检查和RA移动,手指寻找正确的位置。然后,手指向下移动并打开叶片,取出光盘。最后,RA再次移动到达刻录机打开的托盘顶部的准确位置,手指释放光盘。在第三步中,刻录机关闭托盘并开始读取光盘。请注意,当打开的手指向上移动时,一旦传感器A的状态未被触及,则意味着所取出的光盘意外掉落,手指需要再次取出光盘。此外,使用托盘不能完全机械打开的普通商用刻录机,需要通过蛇形机械运动到达正确的位置,在刻录机托盘上部取出/释放光盘。所有参数(例如r1~r8)在初始化阶段都是预定义的,并记录在JSON配置文件中。这些步骤分解说明了ADIS如何在相对简单的机械基础设施上利用增强型软件控制,以低成本实现高弹性和精确度。

图 2 取盘阶段的操作分解 Fig. 2 Steps and operations within the fetching stage

依靠这样的三级控制操作的抽象,ADIS实现了多个设备之间的有效分工,可方便地扩展更多的功能。例如,ADIS可以广泛部署多台打印机和刻录机,方便地修改当前工作流程以实现并发版本,其中RA将光盘串行加载/卸载到多个刻录机和打印机中。一旦确定了刻录机和打印机的物理位置,新的工作流程就可以自动刻录并同时打印多个光盘。ADIS控制机制可以通过与视觉识别等新兴功能集成来监控系统,并通过机器学习以调整参数,从而方便引入新功能。

3 实现

我们已经完全实现ADIS系统,如图 3所示,ADIS的机械框架由标准20 mm铝型材构成。ADIS的所有硬件都是使用普通商品化硬件设备。ADIS的主机采用Intel Celeron处理器(2核)和4 GB内存。DP是彩色喷墨佳能打印机(IP7280),带有可替换墨盒。DB是先锋S09蓝光光盘驱动器。MCU使用美国TI的STM32f103C8T6。相机是常见的720P摄像头,对焦距离为3 cm~∞。200盘堆叠的高度为263 mm。ADIS的平均功率和峰值功率分别为23 W和53 W。一张光盘的刻录和打印时间分别约为60 s和65 s。CPU的峰值和平均利用率分别为50%和10%。识别QRC和条形码的平均延迟小于1 s。

图 3 ADIS系统实物图 Fig. 3 A view of the fully-implemented ADIS system

ADIS使用MCU进行机械运动。传统的做法采用可编程逻辑控制器(PLC)来管理复杂工业环境中的机械部件,例如电动机和传感器。然而,PLC通常不仅需要定制而且价格昂贵,并在功能、可扩展性和适用范围方面明显受限。ADIS可以部署MCU和MDC来控制常见办公场景中的机械执行器。

全局调度程序进程负责执行整个工作流并维护全局系统状态。ADIS最初创建了六个主要流程。这些进程通过传统的System-V消息传递机制相互通信。打印过程向打印机发送命令,并根据现有的驱动器API主动检查其状态。主机执行光盘认证过程以生成一套认证、光盘标识符和每个光盘的代码。主机运行电机控制进程,并向MCU发送中级操作命令。在高级操作中,全局调度程序进程连续创建新任务,以连续执行ADIS工作流程的上述四个阶段。它可以创建最多两个并发任务来重叠其刻录阶段和打印阶段,两者都需要大约1 min,这种流水方式能够提高整体吞吐量。

4 评价分析

接下来,我们将通过实验评估ADIS的有效性和性能。

ADIS在可证明的机械偏差容差范围内能够一次连续标识多达200个光盘,这是当前空白光盘堆的高度。图 4展示标识200个盘时每个盘的执行时间。光盘的总完成时间和单张平均时间分别为26581 s和133 s。根据数据可以看出,大多数光盘识别过程大约需要120 s,但在少数异常情况下,它们需要2~4倍的时间。这是因为当机械推光盘到打印机的时机不正确时,打印机会推出光盘,例如,打印机正在对于喷墨头进行内部维护。ADIS每隔105 s定期推动打印机托盘,直到打印机开始打印光盘。

图 4 200张光盘标识执行时间 Fig. 4 Execution time of identifying and labeling 200 discs

为了更好地理解性能行为,我们将所有机械操作组抽象为三个主要功能机械步骤,即In2Drive,Drive2Printer和Printer2Out。值得注意的是,Drive2Printer可能会执行零次或多次重新推送操作,每次操作都会占用105 s的执行时间。识别光盘的总执行时间约为189 s。可以看出,最长等待时间发生在打印步骤中。因此,当打印光盘时,可以将下一张光盘取入刻录机,使刻录和打印步骤重叠。通过这两个主要步骤的流水线操作,总吞吐量增加了36.5%。每个机械步骤大约需要25 s,总机械延迟大约为76 s,接近打印延迟(65 s)。请注意,当前ADIS实现中只有一个RA。因此,机械操作是串行的,不能并行化。在流水线模式下,机械的整体利用率达到约63%。

为了更好地理解机械行为,我们在表 1中列出八个主要机械命令及其各自的内部操作。主要机械命令实际上由许多低级机械操作组成。例如,In2Drive包含28个基本和简单的机械操作。请注意,ADIS不会提前知道当前最上面的光盘的位置。RA非常缓慢地向下移动,直到传感器接触到光盘表面,此时ADIS记录该位置信息。在下一次取出操作中,ADIS可以快速向下移动到该位置,然后再慢慢向下移动,以加速取出过程。虽然ADIS需要31 s才能获取200张光盘上的第一张光盘,但即使底部光盘的取出距离增加了263 mm,它也只需要27 s和28 s即可获取第二张和最后一张光盘。

表 1 机械命令和相关子操作(计数(O.C),平均,最大和最小延迟) Table 1 Mechanical command and the relevant suboperations (count(O.C), Avg., Max., and Min. latency)
CommandO.CLAvg/sLMax/sLMin/s
Reset11262626
In2Drive2828.44426
Drive2Printer1916.41715
PrinterDrop37.787
PrinterTrayin_prepare23.132
PrinterTrayin_done32.732
PrinterTrayout319.82118
Printer2Out203.9142
Repush_delay1104104104

这一结果反映了设计方法的有效性,即依靠增强软件控制来补偿和补充机械控制的相对较低的精度和可靠性。由于空间限制,省略机械操作详细解释。因此,尝试将复杂的步骤分解为一系列简单且可重复的操作,提出的三级控制机制也导致机械操作的这种分解。首先,许多机械操作是基本的,并且在不同的步骤之间执行相同操作。一般而言低级操作仅涉及一个机械部件。其次,一旦无状态机械操作失败,在大多数情况下,ADIS只是重复它而不触发高级异常处理。最后,当机械命令完成时,我们将RA移动到原点,避免累积机械误差。总而言之,ADIS使用机械操作的组合,为功能扩展和故障容忍提供了所需的灵活性。

实际上,除了其性能由各自制造商确定的刻录和打印之外,机械子系统的性能可以通过提高电动机的速度或避免经常寻找坐标原点来进一步优化。但是改进的好处是有限的,并且可能以降低系统的可靠性和灵活性为代价。此外,与刻录和打印延迟相比,机械延迟的这种改进仅占总执行时间的一小部分,因此可以忽略不计。

5 结论

作为一个典型的用例研究,ADIS基于定制化机械自动化设计,实现了一个低成本、自动化批量光盘自动标识系统,ADIS证明了在多个功能不同的已有设备上通过集成方式构造信息物理系统是可行和有效的。在低成本定制的机械结构上,通过有效地操作分解、全局控制和控制流调度的协作,ADIS实现了批量光盘的自动标识,从而能够对于光盘及其内部数据实现逻辑和物理层面上的统一管理。ADIS不足之处在于,由于机械结构缺乏严格刚性,每套机械装置在运行前需要调试自身合理机械和位置参数,后续研究进一步设定自动化参数配置机制,提升系统的整体使用效率。

参考文献
[1]
Yan W R, Yao J, Xie Q, et al. Ros: A rack-based optical storage system with inline accessibility for long-term data preservation[C]//Proceedings of 2017 European Conference on Computer Systems, Belgrade, Serbia, 2017: 161-174.
[2]
Anderson P, Black R, Čerkauskaitè A, et al. Glass: A new media for a new era?[C]//Proceedings of Hot Storage, 2018.
[3]
Corp P. Data archiver lb-dh8 series[EB/OL]. (2016). http://panasonic.net/avc/archiver/lb-dh8/.
[4]
Bradley J M, Atkins E M. Optimization and control of cyber-physical vehicle systems[J]. Sensors, 2015, 15(9): 23020-23049. [Crossref]
[5]
Li S E, Gao F, Cao D P, et al. Multiple-model switching control of vehicle longitudinal dynamics for platoon-level automation[J]. IEEE Transactions on Vehicular Technology, 2016, 65(6): 4480-4492. [Crossref]
[6]
Liu X L, Cao J N, Yang Y N, et al. CPS-based smart warehouse for industry 4.0: a survey of the underlying technologies[J]. Computers, 2018, 7(1): 13. [Crossref]
[7]
Palomar E, Chen X H, Liu Z M, et al. Component-based modelling for scalable smart city systems interoperability: A case study on integrating energy demand response systems[J]. Sensors, 2016, 16(11): 1810. [Crossref]
[8]
Criado J, Asensio J A, Padilla N, et al. Integrating cyber-physical systems in a component-based approach for smart homes[J]. Sensors, 2018, 18(7): 2156. [Crossref]
[9]
Zhou Z, De Schutter B, Lin S, et al. Two-level hierarchical model-based predictive control for large-scale urban traffic networks[J]. IEEE Transactions on Control Systems Technology, 2017, 25(2): 496-508. [Crossref]
[10]
Lee E, Reineke J, Zimmer M. Abstract PRET machines[C]//2017 IEEE Real-Time Systems Symposium, Paris, France, 2017: 1-11.
[11]
Yan Z, Jouandeau N, Cherif A A. A survey and analysis of multi-robot coordination[J]. International Journal of Advanced Robotic Systems, 2013, 10(12): 399. [Crossref]