System for improving RAS characteristics relating to calibration algorithms in an automated robotic system

An automated data library system employs a calibration sensor, the fiducial target and a controller in electrical communication with the calibration sensor to create a calibration sensor pixel image of a calibration area surrounding an expected location of the fiducial target within the automated data storage library by executing one or more vertical calibration sensor scans and/or one or more horizontal calibration sensor scans of the calibration area, and monitoring an output of the calibration sensor scans at defined position intervals. The expected location of the fiducial target can be on a data storage drive of the library or a storage shelf of the library. The controller can execute a debugging procedure, a diagnostic test and/or an error recovery procedure based on the calibration sensor pixel image.

FIELD OF THE INVENTION

This invention relates to automated data storage libraries, and more particularly, to an automated data storage library employing a calibration sensor on a moving accessor in order to get accurate X and Y position information from fiducial targets places at various locations and to confirm the physical presence of other objects.

BACKGROUND OF THE INVENTION

Automated data storage libraries are known for providing cost effective storage and retrieval of large quantities of-data. The data in automated data storage libraries is stored on data storage media that are, in turn, stored on storage shelves or the like inside the library in a fashion that renders the media, and its resident data, accessible for physical retrieval. Such media is commonly termed “removable media.” Data storage media may comprise any type of media on which data may be stored and which may serve as removable media, including but not limited to magnetic media (such as magnetic tape or disks), optical media (such as optical tape or disks), electronic media (such as PROM, EEPROM, flash PROM, Compactflash™, Smartmedia™, Memory Stick™, etc.), or other suitable media. Typically, the data stored in automated data storage libraries is resident on data storage media that is contained within a cartridge and referred to as a data storage media cartridge. An example of a data storage media cartridge that is widely employed in automated data storage libraries for mass data storage is a magnetic tape cartridge.

In addition to data storage media, automated data storage libraries typically contain data storage drives that store data to, and/or retrieve data from, the data storage media. The transport of data storage media between data storage shelves and data storage drives is typically accomplished by one or more robot accessors (hereinafter termed “accessors”). Such accessors have grippers for physically retrieving the selected data storage media from the storage shelves within the automated data storage library and transport such media to the data storage drives by moving in the X and Y directions. As such, it is important that accessors have the capability of being able to accurately locate storage shelves and data storage drives.

Fiducial (calibration) targets are provided within a library to align the storage shelves and data storage drives with the accessor. There is often difficulty in debugging field problems when a fiducial target cannot be found at an expected location in the library. These types of errors can be caused by a variety of reasons, including firmware or mechanical causes. As an example, if the accessor is searching for a fiducial target with its calibration sensor and cannot find it in the expected location, then the library calibration process will fail. When debugging this event from logged library event data, it doesn't provide a picture of where the calibration sensor was searching relative to the physical location of the fiducial target. All that is known is the absolute location at which the sensor was searching.

One solution to this problem would be to have a camera that would take a picture of the area in question. However, drawbacks to this solution are that it adds additional cost related to the incorporation of the camera into the accessor, requires additional firmware and hardware be added to the accessor, requires additional processor and network bandwidth in operation, and has a limited availability on existing library systems. The challenge therefore is to provide a better solution in handling library calibration errors that result in a fiducial target not being in an expected location.

SUMMARY OF THE INVENTION

The present invention provides a new and unique method of creating a low resolution image of an area surrounding an expected location of a fiducial target in question as seen by a calibration sensor.

One form of the present invention is a signal bearing medium tangibly embodying a program of machine-readable instructions executed by a processor to perform operations comprising an identification of a calibration area surrounding an expected location of a fiducial target within an automated data storage library and a creation of a calibration sensor pixel image of the calibration area.

A second form of the present invention is a controller of an automated data storage library. The controller comprises a processor and a memory storing instructions operable within the processor, the instructions being executed for identifying a calibration area surrounding an expected location of a fiducial target within an automated data storage library, and for creating a calibration sensor pixel image of the calibration area.

A third form of the present invention is an automated data storage library comprising a calibration sensor, a fiducial target, and a controller in electrical communication with the calibration sensor to create a calibration sensor pixel image of a calibration area surrounding an expected location of the fiducial target within the automated data storage library.

The forgoing forms and other forms as well as objects, features and advantages of the present invention will become further apparent from the following detailed description of the various embodiments of the present invention, read in conjunction with the accompanying drawings. The detailed description and drawings are merely illustrative of the present invention rather than limiting, the scope of the present invention being defined by the appended claims and equivalents thereof.

DETAILED DESCRIPTION OF THE INVENTION

This invention is described in preferred embodiments in the following description with reference to the Figures, in which like numerals represent the same or similar elements. While this invention is described in terms of the best mode for achieving this invention's objectives, it will be appreciated by those skilled in the art that it is intended to cover alternatives, modifications, and equivalents as may be included within the spirit and scope of the invention as defined by the appended claims.

The invention will be described as embodied in an automated magnetic tape library storage system for use in a data processing environment. Although the invention shown uses magnetic tape cartridges, one skilled in the art will recognize the invention equally applies to optical disk cartridges or other removable storage media and the use of either different types of cartridges or cartridges of the same type having different characteristics. Furthermore the description of an automated magnetic tape storage system is not meant to limit the invention to magnetic tape data processing applications as the invention herein can be applied to any media storage and cartridge handling systems in general.

Turning now to the Figures,FIGS. 1 and 2illustrate an automated data storage library10which stores and retrieves data storage cartridges containing data storage media (not shown) in storage shelves16. It is noted that references to “data storage media” herein refer to data storage cartridges, and for purposes herein the two terms are used synonymously. An example of an automated data storage library which may implement the present invention, and has a configuration as depicted inFIGS. 1 and 2, is the IBM 3584 UltraScalable Tape Library. The library ofFIG. 1comprises a left hand service bay13, one or more storage frames11, and right hand service bay14. As will be discussed, a frame may comprise an expansion component of the library. Frames may be added or removed to expand or reduce the size and/or functionality of the library. Frames may comprise additional storage shelves, drives, import/export stations, accessors, operator panels, etc.

FIG. 2shows an example of a storage frame11, which is the base frame of the library10and is contemplated to be the minimum configuration of the library. In this minimum configuration, there is only a single accessor (i.e., there are no redundant accessors) and there is no service bay. The library10is arranged for accessing data storage media in response to commands from at least one external host system (not shown), and comprises a plurality of storage shelves16, one front wall17and rear wall19for storing data storage cartridges that contain data storage media; at least one data storage drive15for reading and/or writing data with respect to the data storage media; and a first accessor18for transporting the data storage media between the plurality of storage shelves16and the data storage drive(s)15. The data storage drives15may be optical disk drives or magnetic tape drives, or other types of data storage drives as are used to read and/or write data with respect to the data storage media. The storage frame11may optionally comprise an operator panel23or other user interface, such as a web-based interface, which allows a user to interact with the library. The storage frame11may optionally comprise an upper I/O station24and/or a lower I/O station25, which allows data storage media to be inserted into the library and/or removed from the library without disrupting library operation. The library10may comprise one or more storage frames11, each having storage shelves16accessible by first accessor18.

As described above, the storage frames11may be configured with different components depending upon the intended function. One configuration of storage frame11may comprise storage shelves16, data storage drive(s)15, and other optional components to store and retrieve data from the data storage cartridges. The first accessor18comprises a gripper assembly20for gripping one or more data storage media and may include a bar code scanner22or other reading system, such as a cartridge memory reader or similar system, mounted on the gripper assembly20, to “read” identifying information about the data storage media.

FIG. 3illustrates an embodiment of an automated data storage library10ofFIGS. 1 and 2, which employs a distributed system of modules with a plurality of processor nodes. An example of an automated data storage library which may implement the distributed system depicted in the block diagram ofFIG. 3, and which may implement the present invention, is the IBM 3584 UltraScalable Tape Library. For a fuller understanding of a distributed control system incorporated in an automated data storage library, refer to U.S. Pat. No. 6,356,803, which is entitled “Automated Data Storage Library Distributed Control System,” which is incorporated herein for reference.

While the automated data storage library10has been described as employing a distributed control system, the present invention may be implemented in automated data storage libraries regardless of control configuration, such as, but not limited to, an automated data storage library having one or more library controllers that are not distributed, as that term is defined in U.S. Pat. No. 6,356,803. The library ofFIG. 3comprises one or more storage frames11, a left hand service bay13and a right hand service bay14. The left hand service bay13is shown with a first accessor18. As discussed above, the first accessor18comprises a gripper assembly20and may include a reading system22to “read” identifying information about the data storage media. The right hand service bay14is shown with a second accessor28. The second accessor28comprises a gripper assembly30and may include a reading system32to “read”identifying information about the data storage media. In the event of a failure or other unavailability of the first accessor18, or its gripper assembly20, etc., the second accessor28may perform some or all of the functions of the first accessor18. The two accessors18,28may share one or more mechanical paths or they may comprise completely independent mechanical paths. In one example, the accessors18,28may have a common horizontal rail with independent vertical rails. The first accessor18and the second accessor28are described as first and second for descriptive purposes only and this description is not meant to limit either accessor to an association with either the left hand service bay13, or the right hand service bay14.

In the exemplary library, first accessor18and second accessor28move their grippers in at least two directions, called the horizontal “X” direction and vertical “Y”direction, to retrieve and grip, or to deliver and release the data storage media at the storage shelves16and to load and unload the data storage media at the data storage drives15.

The exemplary library10receives commands from one or more host systems40,41or42. The host systems, such as host servers, communicate with the library directly, e.g., on path80, through one or more control ports (not shown), or through one or more data storage drives15on paths81,82, providing commands to access particular data storage media and move the media, for example, between the storage shelves16and the data storage drives15. The commands are typically logical commands identifying the media and/or logical locations for accessing the media. The terms “commands” and “work requests” are used interchangeably herein to refer to such communications from the host system40,41or42to the library10as are intended to result in accessing particular data storage media within the library10.

The exemplary library is controlled by a distributed control system receiving the logical commands from hosts, determining the required actions, and converting the actions to physical movements of first accessor18and/or second accessor28.

In the exemplary library, the distributed control system comprises a plurality of processor nodes, each having one or more processors. In one example of a distributed control system, a communication processor node50may be located in a storage frame11. The communication processor node provides a communication link for receiving the host commands, either directly or through the drives15, via at least one external interface, e.g., coupled to line80.

The communication processor node50may additionally provide a communication link70for communicating with the data storage drives15. The communication processor node50may be located in the frame11, close to the data storage drives15. Additionally, in an example of a distributed processor system, one or more additional work processor nodes are provided, which may comprise, e.g., a work processor node52that may be located at first accessor18, and that is coupled to the communication processor node50via a network60,157. Each work processor node may respond to received commands that are broadcast to the work processor nodes from any communication processor node, and the work processor nodes may also direct the operation of the accessors, providing move commands. An XY processor node55may be provided and may be located at an XY system of first accessor18. The XY processor node55is coupled to the network60,157, and is responsive to the move commands, operating the XY system to position the gripper assembly20.

Also, an operator panel processor node59may be provided at the optional operator panel23for providing an interface for communicating between the operator panel and the communication processor node50, the work processor nodes52,252, and the XY processor nodes55,255.

A network, for example comprising a common bus60, is provided, coupling the various processor nodes. The network may comprise a robust wiring network, such as the commercially available CAN (Controller Area Network) bus system, which is a multi-drop network, having a standard access protocol and wiring standards, for example, as defined by CiA, the CAN in Automation Association, Am Weich Selgarten 26, D-91058 Erlangen, Germany. Other networks, such as Ethernet, or a wireless network system, such as RF or infrared, may be employed in the library as is known to those of skill in the art. In addition, multiple independent networks may also be used to couple the various processor nodes.

The communication processor node50is coupled to each of the data storage drives15of a storage frame11, via lines70, communicating with the drives and with host systems40,41and42. Alternatively, the host systems may be directly coupled to the communication processor node50, at input80for example, or to control port devices (not shown) which connect the library to the host system(s) with a library interface similar to the drive/library interface. As is known to those of skill in the art, various communication arrangements may be employed for communication with the hosts and with the data storage drives. In the example ofFIG. 3, host connections80and81are SCSI busses. Bus82comprises an example of a Fibre Channel bus which is a high speed serial data interface, allowing transmission over greater distances than the SCSI bus systems.

The data storage drives15may be in close proximity to the communication processor node50, and may employ a short distance communication scheme, such as SCSI, or a serial connection, such as RS-422. The data storage drives15are thus individually coupled to the communication processor node50by means of lines70. Alternatively, the data storage drives15may be coupled to the communication processor node50through one or more networks, such as a common bus network.

Additional storage frames11may be provided and each is coupled to the adjacent storage frame. Any of the storage frames11may comprise communication processor nodes50, storage shelves16, data storage drives15, and networks60.

Further, as described above, the automated data storage library10may comprise a plurality of accessors. A second accessor28, for example, is shown in a right hand service bay14ofFIG. 3. The second accessor28may comprise a gripper30for accessing the data storage media, and an XY system255for moving the second accessor28. The second accessor28may run on the same horizontal mechanical path as first accessor18, or on an adjacent path. The exemplary control system additionally comprises an extension network200forming a network coupled to network60of the storage frame(s)11and to the network157of left hand service bay13.

InFIG. 3and the accompanying description, the first and second accessors are associated with the left hand service bay13and the right hand service bay14respectively. This is for illustrative purposes and there may not be an actual association. In addition, network157may not be associated with the left hand service bay13and network200may not be associated with the right hand service bay14. Depending on the design of the library, it may not be necessary to have a left hand service bay13and/or a right hand service bay14.

An automated data storage library10typically comprises one or more controllers to direct the operation of the automated data storage library. Host computers and data storage drives typically comprise similar controllers. A controller may take many different forms and may comprise, for example but not limited to, an embedded system, a distributed control system, a personal computer, or a workstation, etc. In another example, one of the processor nodes50,52,55,59,252,255may comprise a controller. Still further, two or more of the processor nodes may comprise a controller. In this example, the controller may be distributed among the two or more processor nodes. Essentially, the term “controller” as used herein is intended in its broadest sense as a device or system that contains at least one processor, as such term is defined herein.FIG. 4shows a typical controller400with a processor402, RAM (Random Access Memory)403, nonvolatile memory404, device specific circuits401, and I/O interface405. Alternatively, the RAM403and/or nonvolatile memory404may be contained in the processor402as could the device specific circuits401and I/O interface405. The processor402may comprise, for example, an off-the-shelf microprocessor, custom processor, FPGA (Field Programmable Gate Array), ASIC (Application Specific Integrated Circuit), discrete logic, or the like. The RAM (Random Access Memory)403is typically used to hold variable data, stack data, executable instructions, and the like. The nonvolatile memory404may comprise any type of nonvolatile memory such as, but not limited to, EEPROM (Electrically Erasable Programmable Read Only Memory), flash PROM (Programmable Read Only Memory), battery backup RAM, and hard disk drives. The nonvolatile memory404is typically used to hold the executable firmware and any nonvolatile data. The I/O interface405comprises a communication interface that allows the processor402to communicate with devices external to the controller. Examples may comprise, but are not limited to, serial interfaces such as RS-232, USB (Universal Serial Bus), Fibre Channel, SCSI (Small Computer Systems Interface), etc. The device specific circuits401provide additional hardware to enable the controller400to perform unique functions such as, but not limited to, motor control of a cartridge gripper. The device specific circuits401may comprise electronics that provide, by way of example but not limitation, Pulse Width Modulation (PWM) control, Analog to Digital Conversion (ADC), Digital to Analog Conversion (DAC), etc. In addition, all or part of the device specific circuits401may reside outside the controller400.

FIG. 5illustrates an embodiment of the front501and rear502of a data storage drive15. In the example ofFIG. 5, the data storage drive15comprises a hot-swap drive canister. This is only an example and is not meant to limit the invention to hot-swap drive canisters. In fact, any configuration of data storage drive may be used whether or not it comprises a hot-swap canister.

FIG. 6illustrates an embodiment of a data storage cartridge600with a cartridge memory610shown in a cutaway portion of the Figure. This is only an example and is not meant to limit the invention to cartridge memories. In fact, any configuration of data storage cartridge may be used whether or not it comprises a cartridge memory.

FIG. 7illustrates an embodiment of gripper assembly20employing a calibration sensor33that is operable to emit energy (e.g., light) and to detect any reflection by an object of that energy in a direction of calibration sensor33whereby calibration sensor33outputs a sensing signal indicative of a reflectivity of the object. In a first embodiment, calibration sensor33outputs the sensing signal in a digital form that is indicative of a sensing of a reflection by an object of the emitted energy in a direction of calibration sensor33or a failure to sense a reflection by an object of the emitted energy in a direction of calibration sensor33. In a second embodiment, calibration sensor33outputs the sensing signal in an analog form that is indicative of a sensing of a degree of reflection by an object of the emitted energy in a direction of calibration sensor33whereby an analog-to-digital converter may be employed to convert the sensing signal to digital form for further processing by a library controller.

Calibration sensor33may be assembled as a complete unit or components of calibration sensor33may distributed be among various locations on gripper assembly20and/or some other library component.

In operation, calibration sensor33is used on a moving accessor to get accurate X direction and Y direction position information based on calibration sensor33sensing fiducial targets placed at various locations within the library as would be appreciated by those having ordinary skill in the art, such as, for example, fiducial targets701located on data storage drive15as shown inFIG. 8, fiducial targets702located on storage shelves16as shown inFIG. 8and fiducial targets placed on I/O workstations24/25(FIG. 2). In the embodiment shown inFIG. 8, fiducial targets701and702are apertures in respective data storage drives15and storage shelves16having a zero reflectivity characteristic. As such, the sensing signal outputted by calibration sensor33will be in digital form as an indication of a non-reflective condition (i.e., an off state) in response to calibration sensor33emitting energy through one of the fiducial targets701and702or an indication of a reflective condition in (i.e., an on state) in response to calibration sensor33emitting energy at and receiving an energy reflection from a surface of one of the data storage drives15and storage shelves16.

As appreciated by those having ordinary skill in the art, an error results whenever a fiducial target701or a fiducial target702is not found via calibration sensor33in an expected location within the library. To better manage this type of error as compared to a camera picture of the expected location within the library, the present invention is premised on creating a calibration sensor pixel image of an expanded area surrounding the expected location of a fiducial target via calibration sensor33to thereby facilitate an execution of an additional calibration procedure (e.g., debugging procedure, a diagnostic test and/or an error recovery procedure) when the fiducial target can not be found at its expected location within the calibration area and/or calibration sensor33is not operating with an acceptable energy detection sensitivity level.

For example, as shown inFIG. 9, a reflective calibration area800surrounds an expected location of a non-reflective fiducial target801(e.g., fiducial targets701and702shown inFIG. 8) at a center position of calibration area800. The reflectivity characteristics of area800and fiducial target801are different whereby a creation of an exemplary calibration sensor pixel image803as shown inFIG. 10exhibits a target representation803of non-reflective fiducial target801at the center position of calibration area800. Specifically, each pixel of image803has a defined position based on a fixed vertical interval V and fixed horizontal interval H between the pixels. As the image is being created by calibration sensor33, each pixel associated with the sensing signal indicating a reflection by calibration area800of the energy emitted by reflective calibration sensor33will be displayable as a solid dot while each pixel associated with the sensing signal indicating a non-reflection by non-reflective fiducial target801of the energy emitted by calibration sensor33will be displayable as blank space.

Also by example, as shown inFIG. 11, a reflective calibration area810surrounds an expected location of a reflective fiducial target811at a center position of calibration area810. The reflectivity characteristics of area810and fiducial target811are different whereby a creation of an exemplary calibration sensor pixel image812as shown inFIG. 12exhibits a representation813of reflective fiducial target811at the center position of calibration area810. Specifically, each pixel of image812has a defined position based on a fixed vertical interval V and fixed horizontal interval H between the pixels. As the image is being created by calibration sensor33, each pixel associated with the sensing signal indicating a reflection by calibration area810of the energy emitted by calibration sensor33will be displayable as a solid dot whereby the grey level of the dots (e.g., black as shown) represents a reflectivity characteristic of calibration area810. Similarly, each pixel associated with the sensing signal indicating a reflection by reflective fiducial target811of the energy emitted by calibration sensor33will be displayable as a solid dot whereby the grey level of the dots (e.g., grey as shown) represents a reflectivity characteristic of fiducial target811. In this example, a top row of target representation813has a darkest grey level among the rows of target representation, a middle row of target representation813has an intermediate grey level among the rows of target representation813, and a bottom row of target representation813has a lightest grey level among the rows of target representation813.

FIG. 13illustrates a flowchart900representative of a calibration sensor pixel image creation method of the present invention for creating image803(FIG. 10), image812(FIG. 12) and other images within the inventive principles of the present invention. A controller of the library is structurally configured with hardware, software and/or firmware to implement flowchart900in response to a failure for calibration sensor33to find a fiducial target of the library in an expected location within the library or in response to a diagnostics testing of calibration sensor33. As to a failure of calibration sensor33to find a fiducial target of the library in an expected location within the library, those having ordinary skill in the art will appreciate that such a determination is based on a fiducial target location policy of the library which defines what is and what is not considered a “finding” of the fiducial target at the expected location within the library.

For example, the fiducial target location policy of the library may only consider the fiducial target to be found at its expected location within the library if the fiducial target is entirely found at its expected location. Also by example, the fiducial target location policy of the library may only consider the fiducial target to be found at its expected location within the library if the fiducial target is a specified percentage of the fiducial target is found at or adjacent its expected location.

A stage S902of flowchart900encompasses the controller identifying a calibration area surrounding an expected location of the subject fiducial target within the library, such as, for example, calibration areas800and810as shown. In one embodiment of stage S902, the controller is structurally configured to outline or to retrieve an outline of a perimeter of a box of a pre-defined width (e.g., 50 mm) and a pre-defined height (e.g., 40 mm) whose center is the expected location of the fiducial target.

A stage S904of flowchart900encompasses the controller creating the calibration sensor pixel image of the calibration area identified in stage S902. In one embodiment of stage S902, the controller is structurally configured to create the image including pixels having a defined position based on a fixed vertical interval V (e.g., 2 mm) and fixed horizontal interval H (e.g., 2 mm) between the pixels. For example, the controller would create a 20×25=500 pixel monochrome image based on a perimeter of a box being a pre-defined width of 50 mm and a pre-defined height of 40 mm, and based on the fixed vertical interval V and the fixed horizontal interval H both being 2 mm.

In an error mode of stage S904, the calibration sensor pixel image being created is intended to show a non-reflective fiducial target in an unexpected location, such as, for example, a calibration sensor pixel image805exhibiting a target representation806at an unexpected location of fiducial target801within calibration area800as compared to calibration sensor pixel image803exhibiting a target representation804at an expected location of fiducial target801within calibration area800.

In a diagnostics testing mode of stage S904, the calibration sensor pixel image being created is intended to show a reflective fiducial target in an expected location within an acceptable or unacceptable energy sensitivity level, such as, for example, calibration sensor pixel image813exhibiting target representation814at an expected location of fiducial target811within calibration area810with an acceptable energy sensitivity level (i.e., each pixel has a required grey level) as compared to a calibration sensor pixel image815exhibiting a target representation816at an expected location of fiducial target811within calibration area810with an unacceptable energy sensitivity level (i.e., one or more pixels fail to shown the required grey level).

In practice, the present invention does not impose any limitations or any restrictions to the manner by which stage S904is implemented by the controller. Thus, the following description of one embodiment of stage S904as illustrated inFIG. 14does not limit nor restrict the scope of embodiments of stage S904.

FIG. 14illustrates a flowchart1000representative of one embodiment of stage S904. A stage S1002of flowchart1000encompasses the controller executing one or more calibration sensor scan(s) of the calibration area. In one embodiment of stage S1002, the controller operates calibration sensor33to perform vertical scans of calibration area800in a serpentine manner as shown. In a second embodiment of stage S1002, the controller operates calibration sensor33to perform horizontal scans of calibration area810in a serpentine manner as shown. In a third embodiment, the controller operates calibration sensor to perform vertical and horizontal scans of calibration area800.

A stage S1004of flowchart1000encompasses the controller monitoring the output of the calibration sensor scan(s) at defined position intervals. In one embodiment, the controller generates a table820of scan data representative of pixel data points among the defined position intervals based on the interval monitoring of the vertical scan(s) as shown. In a second embodiment, the controller generates a table821of scan data representative of pixel data points among the defined position intervals based on the interval monitoring of the horizontal scan(s) as shown. The scan data will represent a digital sensing or an analog sensing of the calibration area in dependence upon the type of calibration sensor33being employed.

Referring toFIGS. 9-14, those having ordinary skill in the art will appreciate the various benefits of creating a calibration sensor pixel image in accordance with the present invention. The following are description of exemplary calibration procedures based on a creation of a calibration sensor pixel image in accordance with the present invention.

FIG. 15illustrates a flowchart1100representative of an error debugging procedure of the present invention. A stage S1102of flowchart1100encompasses the controller storing scan data into a calibration log file, such as, for example, the controller storing scan data820(FIG. 14) into a calibration log file840. A stage S1104of flowchart1100encompasses a parsing of the stored scan data to facilitate a display of the calibration sensor pixel image, such as, for example, calibration sensor pixel image805as shown. In one embodiment of stage S1104, the controller provides the calibration log file to a workstation or server associated with the library whereby the stored scan data can be parsed for purpose of displaying the calibration sensor pixel image during error analysis of the library.

FIG. 16illustrates a flowchart1200representative of a diagnostic testing of the present invention. A stage S1202of flowchart1200encompasses an examination of the calibration sensor pixel image, such as, for example, calibration sensor pixel image815. In one embodiment of stage S1202, the calibration sensor pixel image is compared, visually or electronically, to a baseline calibration sensor pixel image exhibiting an acceptable energy detection sensitivity level of calibration sensor33, such as, for example, baseline calibration sensor pixel image813as shown. If the grey levels of both images are identical or substantially identical in accordance with a calibration policy, then the energy detection sensitivity level of calibration sensor33is deemed valid during a stage S1204of flowchart1200. Otherwise, the energy detection sensitivity level of calibration sensor33is deemed invalid during a stage S1204whereby the calibration sensor can be adjusted, repaired or replaced.

FIG. 17illustrates a flowchart1300representative of an error recovery procedure of the present invention. A stage S1302of flowchart1300encompasses the controller determining an estimated image location of the fiducial target within the library based on a pixel image location of the fiducial target within the calibration sensor pixel image, such as, for example, a pixel image location806of the fiducial target within calibration sensor pixel image805as shown. Based on the an estimated image location of the fiducial target within the library, the controller re-creates the calibration sensor pixel image of the calibration area in accordance with flowchart900(FIG. 13) to thereby either locate the fiducial target at the estimated image location whereby the controller thereafter uses the estimated image location in the library as the new expected location of the fiducial target in the library or whereby the controller will repeat flowcharts900and1300one or more time in accordance with a calibration policy.