Abstract:
A trayless film cassette transport apparatus is disclosed which includes an improved cassette gripping system which allows an x-ray film cassette to be loaded through a window; then gripped and withdrawn inwardly to a properly centered exposure position; then ejected to project partially from the window by a distance switch is automatically determined in accordance with the size of the cassette. This ensures that small cassettes project far enough from the window to be readily grasped by an operator while avoiding ejecting large cassettes so far that they are precariously balanced in the window. The novel gripper holds the cassette securely under a self-locking condition, such that the gripping force on the cassette increases in response to and at a greater rate than an improperly imposed cassette withdrawing force.

Description:
COPYRIGHT NOTICE 
     A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the U.S. Patent &amp; Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever. 
     FIELD OF THE INVENTION 
     The invention relates to the field of radiation imaging. More particularly, the invention relates to a trayless film cassette transport apparatus which includes an improved cassette gripping system. 
     BACKGROUND OF THE INVENTION 
     In the x-ray imaging art it is common practice to house sheets of film within cassettes which serve to support and mechanically protect the film as well as to shield it from ambient light. Such cassettes are generally square or rectangular in shape and come in a variety of sizes. 
     After being loaded with a sheet of unexposed film, the cassette itself must be loaded into the x-ray imaging machine and centered at a desired location prior to being exposed to radiation which has been directed through a portion of the body of a person or some other object to be imaged. Following exposure, the cassette must be removed from the imaging machine so that the exposed film can be removed from the cassette and developed. The evolution of the prior art has brought a variety of cassette handling systems for facilitating these operations. 
     As exemplified by U.S. Pat. Nos. 3,826,922 to Ingles and 3,829,698 to Goetz, one general approach has been to provide the x-ray imaging machine with a slidable drawer or Bucky tray for supporting the cassette. The interior of the tray is provided with a cassette positioning device for properly centering cassettes of different sizes. Some trays have been provided with a matrix of properly spaced holes into which pins can be inserted adjacent the edges of the cassette to hold it on center. Those are slow to use when cassette sizes must be changed and loose pins can become lost or jam the equipment. 
     Other positioning devices used inside trays, such as shown in the aforementioned Ingles patent, include two opposed pairs of cassette clamps movably mounted in guide slots and connected to a linkage of rigid members. Such linkages are constructed so that each clamp in a pair can be moved congruently toward and away from one another to effect bi-directional centering of random sizes of cassettes. These proved easier to use and therefore more efficient than the pin-matrix designs but suffered from a disadvantage common to all designs using trays. Namely, the tray itself required considerable clearance adjacent the x-ray machine to permit the tray to be fully open. To overcome this drawback, so-called &#34;trayless&#34; cassette transport systems have been developed. 
     An example of such a trayless device is described in commonly assigned U.S. Pat. No. 4,485,733 to Dieterlen et al. which is expressly incorporated herein by reference in its entirety. That device provides for the loading and unloading of a cassette into an x-ray apparatus through a window. Upon partial insertion of a cassette into the window, the cassette is engaged near its leading edge between opposing jaws of a gripper assembly which is slidably mounted on a movable carriage. Then, a pair of channels which move congruently toward one another with respect to a given axis are moved into engagement with the sides of the cassette to center the cassette about that axis. The gripper then withdraws the cassette inwardly by a distance related to the size of the cassette to center it about a second axis. The entire carriage, including the gripper, is then translated to move the cassette to an exposure position. Following exposure, the carriage is translated in the opposite direction to position the cassette in alignment with the window. To eject the cassette, the gripper is then moved toward its home position where it both stops and releases the cassette. The means by which it does so can be better understood with particular reference to FIG. 4 of the Dieterlen et al. &#39;733 patent as described below. 
     The gripper assembly (40) of the &#39;733 patent includes a cassette supporting plate (42) which carries a bearing block (48) upon which a spring-loaded upper jaw (52) is pivotably mounted. The upper jaw (52) is linked to an opposed lower jaw (64) mounted on the other side of plate (42). The lower jaw carries a roller which moves either upward through an opening in plate (42) to engage a detent on the cassette or downward through the opening to release a cassette. A spring (70) normally biases jaws (52) and (64) together to grip a cassette with a force that is limited by the strength of spring (72). However, when the gripper assembly is driven toward the window to its home location, a cam follower (73) that is connected to the lower jaw (64) by means of a follower (74) engages a cam ramp (76). This engagement overcomes spring (72) and opens jaws (52) and (64) so that they release the cassette. 
     A drawback of the above design is that the gripper cannot release the cassette until the gripper is positioned at its home position which lies a fixed distance from the window. If the home position is so located with respect to the window that a readily graspable portion of a small cassette projects unsupported from the window when the small cassette is ejected, an even larger portion of a large cassette will lie unsupported when that large cassette is ejected. This can result in the large cassette being precariously balanced upon ejection. 
     Thus, there is a need for an x-ray cassette transport apparatus which ejects a cassette by releasing it and arresting the ejection movement of the gripper at a desired ejection point whose distance from the window is determined in accordance with the size of the cassette. 
     It is also observed that in the gripper assembly described in the Dieterlen &#39;773 patent, the force with which a cassette is gripped depends on the stiffness of the spring (70). Thus, for secure gripping, a fairly stiff spring must be used. However, the spring can grow weaker over time. Also, no matter how stiff the spring, there is no guarantee that the cassette will not be subjected to a withdrawal force greater than that which the spring can effectively counteract. These possibilities increase the risk of a cassette coming loose from the gripper and becoming improperly positioned or jammed inside the x-ray machine. 
     It can also be appreciated that in the gripper of the Dieterlen &#39;733 patent, the motor which drives the gripper home must be powerful enough to overcome the spring. The requirement of having a stiff spring is contrary to the design objective of providing a less powerful and therefore less expensive motor. Accordingly, there has also been a need for an x-ray film cassette transport which can be driven with a motor of modest size, but which grips a cassette securely. In particular, there has been a need for a transport apparatus having a self-locking cassette gripper designed so that the gripping force exerted on a cassette increases in response to and at a greater rate than a cassette withdrawal force. 
     SUMMARY OF THE INVENTION 
     In order to fulfill the needs mentioned above, as well as to provide other advantages, the invention provides a trayless film cassette transport apparatus having an improved cassette gripping system which allows a cassette to be loaded through a window; then gripped and withdrawn inwardly to a properly centered exposure position; then ejected to project partially from the window by a distance which is automatically determined according to the size of the cassette. This ensures that small cassettes project far enough from the window to be readily grasped by an operator while avoiding ejecting large cassettes so far that they are precariously balanced in the window. This is achieved by means of a unique gripper mechanism and control. 
     According to the invention, the gripper is mounted for reciprocal movement along a track between a home position located adjacent the window and a retracted position spaced farther away from the window. The gripper also includes a cam follower which, as the gripper travels along the track, moves along a cam surface which, according to a further aspect of the invention, takes the form of a slot formed in the track. The cam surface includes first and second portions which lie offset from one another. A mechanical linkage connects the cam follower to a jaw which moves between cassette-engaging and cassette-disengaging positions as the cam follower moves in the direction of the aforementioned offset as a result of the gripper being driven back and forth along the length of the track. When a cassette is inserted through the window by an operator into grippable proximity of the gripper, as sensed by a novel sensing system constructed according to yet another aspect of the invention, the gripper is driven from home toward the retracted position in a cassette-loading movement. 
     The initial portion of the cassette-loading movement causes the cam follower to move in the direction of the offset between the first and second portions of the cam surface. A special linkage causes the jaw to assume its cassette-engaging position where it remains throughout most of the movement of the gripper to its final retracted position. 
     Further according to the invention, sensors generate signals which are utilized by the controller in order to determine the size of the cassette. Based on that information, the controller calculates the appropriate retracted position whereat the gripper is stopped to properly center a cassette of that particular size along the axis along which it is moved by the gripper. 
     From the retracted position, following exposure of the film inside the cassette, the gripper commences a cassette-ejecting movement back toward the home position. As the cassette-ejecting movement of the gripper proceeds, the cam follower engages the other portion of the cam surface causing the cam follower to move in the opposite sense along the direction of the offset. The gripper linkage simultaneously moves the jaw from its cassette-engaging to its cassette-disengaging position, thus releasing the cassette from the gripper before the gripper reaches its home position. The controller then stops to arrest the cassette-ejecting movement of the gripper at an ejection position whose distance from the home position is determined by the size of the cassette. The gripper remains at the ejection position until the cassette is manually withdrawn clear of an entry sensor whereupon the gripper moves back to the home position to await loading of the next cassette. 
     The invention further contemplates combining the above gripper mechanism with a pair of reciprocable guides for centering the cassette about the aforementioned axis prior to the completion of the cassette-loading movement of the gripper. 
     According to still another aspect of the invention, the gripper is designed to engage the cassette under a self-locking condition such that the gripping force on the cassette increases in response to and at a greater rate than an improperly imposed cassette-withdrawal force. 
     These and other aspects and advantages of the invention will become apparent to those of ordinary skill in the art upon review of the claims, the detailed description of the preferred embodiment and the accompanying drawings wherein like reference numerals designate like items. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a plan view of a preferred embodiment of a cassette-transport apparatus constructed according to the invention and which shows the gripper at its home position along its track and the guides at their respective home positions; 
     FIG. 2 is a plan view of the apparatus of FIG. 1 showing the gripper holding a cassette at a retracted position and the guides engaged with the side portions of the cassette; 
     FIG. 3 is an enlarged view of area A of FIG. 2; 
     FIG. 4 is a perspective view of the gripper showing mainly its underside along with a perspective of a sectioned portion of the track; 
     FIG. 5 is a side sectional view of the gripper taken along line 5--5 of FIG. 2 and showing a cassette engaged by the gripper; 
     FIG. 6 is a view similar to that of FIG. 5 except showing a cassette released from the gripper; 
     FIG. 7 is a side view of the gripper as viewed from line 7--7 of FIG. 2 wherein the gripper is in the released attitude depicted in FIG. 6; 
     FIGS. 8 through 12 are simplified flowcharts illustrating the operation of the apparatus of FIG. 1 with reference to the software program executed by the controller shown there. In particular, 
     FIG. 8 illustrates the main loop; 
     FIGS. 9A, 9B and 9C illustrate the &#34;ACL&#34; (automatic cassette load) routine; 
     FIG. 10 illustrates the &#34;ACL EJECT&#34; routine; 
     FIGS. 11A and 11B together illustrate the &#34;RUN THE GRIPPER HOME&#34; routine; and 
     FIG. 12 illustrates the &#34;GUIDES HOME&#34; routine. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
     Referring to FIG. 1, a preferred embodiment of a cassette transport apparatus 15 according to the invention includes a generally rectangular housing 16 which preferably forms part of a Bucky having an oscillatable anti-scatter grid (not shown). Housing 16 has a front wall 17 in which is formed a window 18 which takes the form of a rectangular slot through which a cassette 20 of a desired range of sizes can be passed. To facilitate loading of a cassette, an inclined loading ramp 22 preferably extends outwardly in the -y direction and slightly downwardly from front wall 17 at a location beneath window 18. An eject pushbutton 23 is mounted flushly on loading ramp 22 as is a cassette-present light 24 which is lighted to indicate whenever a cassette is present inside apparatus 15. Pushbutton 23 and light 24 each communicate directly or indirectly by way of suitable signal conditioning circuits (not shown) to a microprocessor-based controller 30 which will be described in further detail later in this document. 
     Inside window 18 there is mounted an entry sensor. In a preferred form, entry sensor comprises an infra-red LED transmitter 27 disposed above window 18 and a receiver 29 located beneath window 18. Transmitter 27 projects an infra-red beam 28 downwardly across window 18 to a receiver 29 which generates and transmits to controller 30 a signal indicating whether or not a portion of a cassette 20 obstructs a predetermined entry position 29a which lies at a point fixed along axis 50. 
     Controller 30 is preferably housed in a shielded compartment 31 inside housing 16. Also located inside compartment 31 are an optional Bucky grid driver 33 and a power supply 34. Controller 30 and grid driver 33 are each supplied operating power from power supply 34 by way of appropriate electrical connections 35 and 36. Controller 30 is also connected to optional grid driver 33 by way of other wiring connections 38 through which signals effective to initiate driving and stopping of the optional anti-scatter grid are transmitted. Preferably, electrical connections between eject pushbutton 23 and light 24 on one hand and controller 30 on the other are made at least in part by way of a large printed circuit board 40 whose non-conductive side occupies most of the base portion of housing 16 lying outside compartment 31. 
     Apparatus 15 includes a pair of guides 45 and 46 which reciprocate toward and away from one another along respective tracks 47 and 48 while always maintaining the same distance from a central axis 50 as its counterpart. That motion is also carried out under the direction of controller 30 which is operably connected to a guide motor 52 which may suitably be of the inexpensive D.C. brush type. In order to avoid operational difficulties which might otherwise be caused by the electromagnetic noise generated by motor 52, motor 52 should be connected to a suitable radio frequency interference suppression network such as a common mode filter. For the same reason, the electrical connections between motor 52 and controller 30 should be made by way of a separate shielded cable rather than by way of printed circuit board 40. 
     Motor 52 is connected to a toothed guide drive sprocket 55 around which is reaved a flexible plastic guide drive chain 56. Chain 56 is further reaved around additional sprockets 57, 58 and 59 to define a continuous, substantially L-shaped path as shown. The lower leg of that path comprises an inner portion 61 and an outer portion 62 which run parallel to one another in a direction substantially perpendicular to axis 50. The inner portion 61 of chain 56 is connected to the right-hand guide 46 at a point 63 while the outer portion 62 of chain 56 is connected to the left-hand guide 45. When guides 45 and 46 are positioned at their fully retracted home positions as illustrated in FIG. 1, a guide home limit switch 66 (shown in FIG. 2) generates and transmits to controller 30 a signal so indicating. It can be appreciated that when motor 52 drives sprocket 55 counter-clockwise, guides 45 and 46 will travel at even rates toward axis 50 and that upon reversal of motor 52, guides 45 and 46 will travel back toward their respective home positions at an similarly even rates. At least one and preferably both guides 45 and 46 have mounted thereon a sensor such as limit switches 70 and 71 for generating and transmitting to controller 30 a signal indicating engagement of guides 45 and 46 with the respective side portions S1 and S2 of cassette 20. 
     Also mounted inside housing 16, apparatus 15 includes an elongated track 80 whose longitudinal axis lies parallel to and preferably coincides with central axis 50. Track 50 is conveniently formed from a rectangular sheet of plastic or other suitable material into which has been milled or otherwise formed a straight guide slot 82 and a cam slot 83. In the preferred embodiment, cam slot 83 includes a straight upper segment 85 and a looped lower segment 86. Cam slot 83 defines a cam surface having a first portion 88 and a second portion 89. The left side wall of the right-hand side (+x direction) side of segment 86 defines first portion 88 while second portion 89 is defined by the straight left side wall which is in common with both the straight upper segment 85 and the leftmost (-x direction) side of the looped lower segment 86 of cam slot 83. Those skilled in the art will recognize that the cam surface need not be a continuous surface and that the operation of portions 88 and 89 thereof can be equivalently achieved by separate cams. 
     The upper and lower segments 85 and 86 of the aforementioned cam surface are bridged by a one-way gate which conveniently takes the form of a leaf spring 91, one end of which permanently adjoins the first portion 88 of the cam surface and whose other end is biased into contact with the second portion 89 thereof as illustrated in FIG. 1. As can best be seen with reference to FIGS. 2 and 3, the opposite end of the looped lower segment 86 of cam slot 83 is provided with a second one-way gate which conveniently takes the form of a second leaf spring 92 which extends from the rightmost side wall of segment 86 and is biased toward the opposing side wall to assume the position illustrated in FIG. 3. 
     With continuing reference to FIG. 1, there is mounted upon track 80 a gripper 100 which is slidably mounted upon track 50 for movement between at least a home position 102 which lies relatively close to window 18 and a maximum retracted position 103 which lies farther away from window 18 as measured along axis 50 in the +y direction. Mounted upon PC board 40 there is a gripper home sensor which may conveniently take the form of a limit switch 106 which is disposed in fixed relation to home position 102 for generating and transmitting to controller 30 a signal indicating when gripper assembly 100 is present at home position 102. 
     Also mounted on PC board 40 in fixed relation to home position 102, a stationarily mounted sensing element 108 which forms a portion of a cassette presence sensing system. Sensing element 108 is suitably a retroreflective type and is capable of generating and transmitting to controller 30 a signal indicating the presence of a cassette in grippable proximity to the gripper 100 when blocked by a movable actuator such as a flag plate 114 attached to a mechanical member 110. Member 110 is pivotably mounted to the body 101 of gripper 100 at a point 111 as can best be seen with reference to FIG. 7 and includes a cassette-contacting surface 113 which lies in a plane disposed for contact with the leading edge L of a cassette 20. Flag plate 114 is connected at a right angle to cassette-contacting surface 113 and is capable of pivoting into an active position lying in front of sensing element 108 when gripper 100 is positioned at its home position 102 and when the leading edge L of a cassette 20 is pressed against cassette-contacting surface 113. Upon concurrence of those two events, sensing element 108 generates and transmits to controller 30 the aforementioned signal indicating the presence of a cassette 20 in grippable proximity to gripper 100. A pair of weak springs 115 and 116 lie under slight compression between the rear of the cassette-contacting surface 113 of member 110 and the body 101 of the gripper 100 Those springs serve to normally bias flag plate 114 into an inactive position as shown in FIG. 7. When springs 115 and 116 are overcome by the leading edge L of a cassette 20 in forceable engagement with surface 113, actuating member 114 moves to an active position as indicated by the arrow in FIG. 7. 
     Gripper 100 is driven bi-directionally along track 80 by means of a gripper motor 120 which reversably drives a gripper drive sprocket 122. Aligned with sprocket 122 along an axis lying parallel to axis 50, printed circuit board 40 supports a passive sprocket 124. Around sprockets 122 and 124 there is reaved a continuous flexible, plastic gripper drive chain 125 in the form of an elongated loop running generally parallel to axis 50. For driving the gripper 100 along track 80, the leg of drive chain 125 lying adjacent gripper 100 is secured to body 101 by means of a suitable fastener 126. 
     Gripper motor 120 is driveably coupled to an optically isolated rotary encoder 127 which, whenever motor 120 is driven, generates and transmits to controller 30 pulse signals whose spacing is correlated to the distance travelled by gripper 100 along axis 50. In the preferred embodiment for example, encoder 127 provides 18 pulses per complete revolution of motor 120 and the effective gear ratio is 50 to 1. Accordingly, one revolution of gripper motor 120 moves gripper 100 along axis 50 a distance of about 0.059 inches which corresponds to about 305.084 pulses per inch. 
     In accordance with the invention, gripper 100 is so constructed as to effect a self-locking condition when it grips cassette 20. Under this self-locking condition, the cassette is ordinarily gripped securely but under relatively low force. However, if a withdrawal force is applied to cassette 20 along in the -y direction when it is engaged by gripper 100, the gripping force exerted by gripper 100 will increase in response to and at a greater rate than the withdrawal force. With particular reference now to FIGS. 2, 4, 5 and 6, further details of the structure of the gripper 100 will now be described. As seen in FIG. 4, the underside of body 101 includes at least one and preferably two projections 99 on either side thereof. These projections 99 engage in undercut formed along each of the long sides of track 80 parallel to axis 50 in order to hold gripper 100 securely on track 80. The body 101 may conveniently be formed of a rigid plastic or other suitable rigid material. Body 101 includes a planar lower shelf 129 which serves to support a portion of the bottom of a cassette 20 and provides a reaction force when the cassette is gripped by gripper 100. Opposed and parallel to shelf 129 there lies a movable cassette engaging member which, in the preferred embodiment, takes the form of a jaw 131 Jaw 131 is preferably formed from a plate of aluminum or other rigid, x-ray transparent material having affixed to its underside a layer 132 of high-friction material having a coefficient of static friction μ s  with respect to cassette 20 which is as high as practicable. In the preferred embodiment, layer 132 comprises a 0.065 inch thick layer of urethane rubber having a durometer of 50A±5. However, other suitable materials can also be used. 
     Jaw 131 is rigidly secured by means of screws 134 or other suitable means to an elevator 135 which is slidable between a lowered first position, (whereat jaw 131 assumes a cassette-engaging position with layer 132 in planar contact with the top of cassette 20 as shown in FIG. 5) and an elevated second position as illustrated in FIG. 6 (whereat jaw 131 including layer 132 are moved upward to a cassette-disengaging position as shown in FIG. 6). Elevator 135 moves between at least the aforementioned first and second positions along an inclined path defined by a low friction elevator track 137 which is disposed partially along opposed walls of a recess formed in body 101 and partially along opposite sides of elevator 135. Elevator track 137 defines an angle θ with respect to the lower surface of layer 13 and lower shelf 129 so that throughout its travel, jaw 131 remains parallel to the upper surface of shelf 129 in order to permit the selective clamping and releasing of a cassette 20 as elevator 125 moves jaw 131 between its cassette-engaging and cassette-disengaging positions as shown in FIGS. 5 and 6, respectively. In the preferred embodiment, θ is about twenty (20) degrees. 
     In order to effect the desired self-locking condition, elevator 135 should be freely movable with a minimum of friction along the path defined by track 137, but should have an absolute minimum of play in other directions. It is also important that μ s  and θ be selected such that: 
     
         TAN θ&lt;μ.sub.s.                                    EQUATION 1 
    
     As can best be seen with reference to FIG. 1, a pair of springs 138a and 138b compressively disposed between the rear of body 101 and elevator 135 normally bias elevator 135 toward its second position so that jaw 131 normally assumes its cassette-engaging position as illustrated in FIG. 5. The combined bias force exerted by springs 138a and 138b should be selected great enough to permit jaw 131 to grip cassette 20 securely when jaw 131 is in its cassette-engaging position, but small enough that the bias force can be overcome by the force transmitted to the elevator 135 in the opposing direction by the lever which will now be described. 
     A lever 141 is pivotably mounted to the underside of body 101 at a pivot point 143 as illustrated in FIG. 4. A cam follower 145 extends downwardly from one end of lever 141 and is free to travel back and forth along an arcuate slot 147 formed in the underside of body 101. The other end of lever 141 includes an upward projection 148 which engages a recess 149 located in the underside of elevator 135. Springs 138a and 138b transmitted through elevator 135 act to forceably bias lever 141 to the leftward position as shown in FIG. 4 (i.e., in the -x direction in FIG. 1). 
     When gripper 100 is positioned on track 80 just forward (-y direction) of home position 102, cam follower 145 engages the second portion 89 of the cam surface defined by track 80 where it remains as gripper 100 is retracted in the +y direction past the one-way gate defined by leaf spring 91. Thereafter, when the gripper 100 is driven forward to window 18, cam follower 145 will engage the opposite side of leaf spring 191 which will prevent it from returning along the path taken during its retraction. Instead, as gripper 100 is moved back toward window 18, leaf spring 91 forces cam follower 145 to move in the +x direction so that it then engages the first portion 88 of the cam surface. As it does so, projection 148 moves with a component in the +x direction. This causes elevator 135 to move upwardly and in the +y direction along elevator track 137 to its first position thus moving jaw 131 to its cassette-disengaging position as illustrated in FIG. 6. 
     As noted previously, the overall operation of apparatus 15 is governed by controller 30 which comprises a conventionally configured microprocessor such as the Motorola MC6HC811 which includes memory for storing a software program and has an array of I/O ports. Separate ones of the I/O ports are connected by way of suitable buffers and/or optical isolators to entry sensor 26, guide home limit switch 66, eject pushbutton 23, cassette present sensing element 108, cassette present light 24, gripper home limit switch 106, as well as to encoder 127, a &#34;grid home&#34; sensor (not shown) and grid driver 33. Others are connected to a motor driver such as a conventionally configured Motorola part number MPM3002. The outputs of the motor driver comprise two lines which are capable of supplying a D.C. current, whose magnitude and polarity can be changed by the microprocessor in order to select a particular driving speed and direction for either of the motors 52 and 120. In order to avoid the need for a separate motor driver for each motor, the output of the motor driver is selectively switched to either the guide motor 52 or the gripper motor 120 by means of a relay, whose operating coil is controlled by a motor select output of the microprocessor. 
     Having described the structure of controller 30 and its connections to the various electrical components of apparatus 15, the operation of apparatus 15 will now be described with reference to the stored software program executed by controller 30. This description will be carried out with reference to the simplified flowcharts of FIGS. 8 through 12 inclusive. Those desiring further information concerning the software program are referred to the source code listing contained in Appendix I which forms a part of this patent document. 
     In operation, controller 30 governs the movements of guides 45 and 46 as well as gripper assembly 100 in accordance with a stored software program having a main loop which will now be described with reference to FIG. 8. Upon power up, all I/O ports and registers are initialized at 152. Then, at 154, the microprocessor interrogates the status of the &#34;grid home&#34; sensor to determine whether the antiscatter grid is in its home position. If not, controller 30 executes, at 157, a routine to send the grid home by transmitting appropriate commands via electrical connections 38 effective to cause grid driver 33 to move the grid to its home position. Thereafter, controller 30 awaits closure of a Bucky start switch (not shown) which causes an optically isolated start signal 158 to be generated and transmitted to the microprocessor. If the Bucky start switch is closed, an oscillate grid routine 160 is executed. If the Bucky start switch is not closed or upon completion of the oscillate grid routine 160, the status of entry sensor 26 is checked at 163. If the infra-red beam 28 is blocked by a cassette 20, a check is made at 165 of the register whose status controls the cassette-present light 24. If a cassette 20 is already present inside apparatus 15, program flow skips to 181 where the status of eject switch 23 is checked. If the eject switch has not been closed, flow simply returns to block 159. If the eject switch has been closed, controller 30 executes an ACL EJECT routine (which will be described below with reference to FIG. 10) before returning to block 159. On the other hand, if the check at 155 determined that no cassette 20 was already present within apparatus 15, the status of the gripper home limit switch 106 is checked to determine whether the gripper is present at its home location 102. If so, an ACL routine 169 (which will be described in further detail with reference to FIGS. 9A, 9B and 9C) is executed, whereupon flow proceeds to block 181. If no cassette is already present within apparatus 15 but check 167 reveals that gripper 100 is not at home position 102, there may have been an interruption of the power to controller 30 in the midst of a previous operating cycle. To account for this condition, the microprocessor sets a software &#34;gripper error&#34; flag at 171 and flow proceeds to block 181. 
     If the check at block 163 reveals that entry sensor 26 is not interrupted by a cassette 20, the gripper error flag is fetched at 174 and its status checked at block 175. If the gripper error flag is not set, no previous power interruption has occurred and flow proceeds to block 181. Otherwise, the gripper error flag is cleared at 177 and the ACL EJECT routine is entered from 179. Upon completion of the ACL EJECT routine, program flow is redirected to block 159. At 181 the status of eject switch 23 is checked and if closed, the ACL EJECT routine entered from block 182. If eject switch 23 is not closed, flow is redirected immediately to block 159 without first executing the ACL EJECT routine. Controller 30 continuously runs through the main loop as described so long as power is applied to apparatus 15. 
     The functions of loading and bi-directionally centering a cassette 20 are governed principally by the ACL routine which will now be described with principal reference to FIGS. 9A, 9B and 9C. 
     Upon entry of the ACL routine, the status of the signal transmitted to controller 30 from the &#34;guide home&#34; limit switch 66 is checked to determine whether the guides are in their home position as shown in FIG. 1. If not, flow proceeds to the ACL eject routine at 192 and then back to the main loop at 192. If guides 45 and 46 are in their home positions, the positions of the various movable elements of apparatus 15 will be substantially as illustrated in FIG. 1 at the outset of operation. Upon insertion of a cassette 20, entry sensor 26 will send a signal to controller 30 indicating that a cassette 20 blocks entry position 29a. Further insertion of the cassette 20 into window 18 in the +y direction will cause its leading edge to abut the cassette-contacting surface 113 of member 110. This will cause member 110 to move same in the +y direction as springs 115 and 116 are overcome thereby assuming the position illustrated in FIG. 5. In that position, the flag plate 114 will be disposed in its active position in front of sensing element 108 causing sensing element 108 to generate and transmit to controller 30 a signal indicating the presence of a cassette in grippable proximity to gripper assembly 100. If that signal, which sets the gripper flag referred to at 194 is not sensed, flow returns to the main loop at 196. Otherwise, at 198, the status of guide limit switches 70 and 71 are checked at 198 to determine whether the side portions of cassette 20 are both engaged with their respective guides. If so, flow proceeds to block 211 of FIG. 9B indicating that the guides already firmly engage the sides of the cassette 20. Otherwise, flow proceeds to block 199 whereupon guide motor 52 is energized in a sense appropriate to drive guides 45 and 46 inward in the +x and -x directions respectively. 
     During the movement of guides 45 and 46, checks are made of the status of entry sensor 26 as well as sensing element 108 to determine whether the cassette 20 has been removed. These tests are indicated at block 200. If the cassette has been removed, flow proceeds to block 206 whereupon controller 30 deenergizes guide motor 52 to stop the inward movement of guides 45 and 46. Otherwise, the inward movement of guides 45 and 46 continues as the status of guide limit switches 70 and 71 are checked at block 203. Once both guide limit switches 70 and 71 close indicating that guides 45 and 46 are in firm engagement with the sides of cassette 20, controller 30 stops the inward movement of guides 45 and 46 as indicated at block 206. 
     Proceeding now with the description of FIG. 9B, the guide motor 52 is reversed at block 207 causing the guides to move slightly back toward their home positions until the S1 and S2 of the cassette are in a somewhat looser desired proximity of guides 45 and 46 as determined at 208 by again checking the status of switches 70 and 71. The desired proximity is reached when switches 70 and 71 both open. This serves to ensure that guides 45 and 46 do not unduly bind cassette 20 so as to interfere with its being moved by gripper 100. It should be appreciated that due to the fact that guides 45 and 46 move equidistantly with respect to axis 50, their inward movement serves to mechanically center cassette 20 about axis 50 such that equal portions of the cassette 20 as measured in the x direction lie on either side of axis 50. 
     Following block 209, the status of sensing element 10 is again checked at 211 to determine whether the leading edge L of cassette 20 has moved flag plate 114 to its active position. If not, the status of entry sensor 26 is checked at 213 to determine whether the cassette 20 has been withdrawn out of window 18 past entry point 29a. If not, the program loops repeatedly back to block 211 until sensing element 108 indicates that a cassette 20 is in grippable relation to the gripper assembly 100. If the check at 213 reveals that the entry sensor 26 has been cleared, the eject routine (which will be described in further detail with reference to FIG. 10) is entered at 216 and flow returns to the main loop at 217. 
     Once the check at 211 indicates that a cassette 20 is positioned as illustrated in FIG. 5, controller 30 energizes gripper motor 120 to commence a cassette-loading movement. In the preferred embodiment, the cassette-loading movement includes two distinct phases. The first phase of this movement is a latching movement which is carried out by commanding gripper motor 120 to move gripper assembly 100 forward from its initial home position 102 by a short predetermined distance sufficient to permit the cam follower 145 to move past the second portion 89 of the cam surface. This is most clearly illustrated in FIG. 3 to which reference is now made. 
     When gripper 100 is stopped at home position 102 (FIG. 1), cam follower 145 is located approximately at position 219 shown in FIG. 3. Motor 120 is subsequently energized to move gripper 100 initially a short predetermined distance in the -y direction toward window 18. When gripper 100 is advanced by that predetermined distance, cam follower 145 clears the first portion 88 of the cam surface. The action of springs 138a and 138b then urge elevator 135 to its lowered position. As this occurs, cam follower 145 is displaced in the -x direction until it engages the second portion 89 of the cam surface, thus assuming the latched position 221 shown in FIG. 3. As it does so, its jaw 131 is moved from the cassette-disengaging position (shown and described previously with reference to FIG. 6) to the cassette-engaging position illustrated in FIG. 5. In addition to moving jaw 131 into its cassette-engaging position, the short distance movement of the gripper 100 in the -y direction as just described helps to ensure that the leading edge L of the cassette 20 is in firm engagement with the cassette-contacting surface 113 of member 110 as shown in FIG. 5. 
     Returning now to consideration of the remainder of FIG. 9B, once the short latching movement of the gripper in the -y direction has been effected, the second and predominant phase of the cassette-loading movement commences. During this phase, gripper motor 120 is reversed causing gripper 100 to move in the +y direction withdrawing cassette 20 further inside housing 16. As indicated at 222, as this motion proceeds, controller 30 increments an &#34;encoder count&#34; register in accordance with pulses received from encoder 127. As it does so, it continually checks at block 224 for the trailing edge of the cassette 20 to clear entry sensor 26. As indicated at 227, controller 30 throughout the remainder of the cassette-loading movement compares the instantaneous encoder count with a stored &#34;max count&#34; value corresponding to the maximum retracted position indicated at 103 in FIG. 1. So long as the present encoder count is lower than the max count value, the maximum travel of the gripper 100 has not yet been reached and the movement of the gripper 100 in the +y direction continues until the entry sensor 26 is cleared by the trailing edge of the cassette as determined at block 224. When entry sensor 26 is cleared, the current encoder count is saved and is later used to make a calculation at block 232 of FIG. 9C. Once the trailing edge of cassette 20 clears entry sensor 26, controller 30 must compute how much farther the cassette must be withdrawn in order to center it according to its size such that the central axis of the cassette as measured in the x direction is positioned at a desired center along axis 50. To do so, the controller 30 at 232 computes a &#34;center count&#34; by subtracting the present encoder count from the stored max count value and dividing the result by two. The resulting &#34;center count&#34; defines the number of additional encoder pulses by which the gripper 100 must be further withdrawn in the +y direction in order to achieve the desired centering. When the present encoder count reaches the computed center count value as indicated at block 234, gripper motor 120 is deenergized as indicated at block 236 to stop gripper 100 at a desired retracted position as illustrated in FIG. 2. 
     Using a routine called SIZE, which is set forth in Appendix I, controller 30 then calculates the size of cassette 20 as measured along axis 50. It then executes a test at block 240 to determine whether the cassette 20 is so small that the centered position at which it was stopped along track 80 at block 236 is not yet past the +y position of the one-way gate formed by leaf spring 91. If the cassette 20 was stopped at block 236 on the -y side of leaf spring 91, controller 30 at block 241 causes motor 120 to drive the gripper 100 further in the +y direction past leaf spring 91 and then return it an equal distance in the -y direction. At 243 the controller 30 then loads a register effective to turn on the &#34;cassette present&#34; light 24 in order to indicate to an operator that a cassette 20 is loaded within apparatus 15 and returns to the main loop at 245. The cassette 20 is now properly centered inside apparatus 15, whereupon an exposure can then be taken. 
     FIG. 10 illustrates the ACL EJECT routine which commences in response to the pressing of eject pushbutton 23 or the receipt by controller 30 of an eject signal generated by the x-ray machine. At block 250 cassette present light 24 is first turned off. At 252 the status of gripper home limit switch 106 is interrogated to determine whether the gripper 100 is in its home position 102. If not, the RUN THE GRIPPER HOME routine is entered at 253. At the completion of the RUN THE GRIPPER HOME routine, a check is made at 256 to determine once more if the gripper 100 is at its home position 102. If not, the program returns to the main loop. If it is determined that the gripper 100 is at home, a check is made at 258 to determine whether the guides 45 and 46 are at their respective home positions. If not, the RUN THE GUIDES HOME routine is entered at 260. Otherwise, flow proceeds directly to the main loop from block 262. 
     The RUN THE GRIPPER HOME routine, which will now be described with reference to FIGS. 11A and 11B, operates to carry out a cassette-ejecting movement in which the gripper 100 is moved back toward window 18 and then stopped so as to present a portion of cassette 20 extending outside window 18 so that an operator can readily grasp and remove the cassette. If the cassette 20 is small enough, gripper 100 can be run completely to the home position before stopping. On the other hand, it the cassette 20 is a large one, as measured along the y axis, driving the gripper 100 all the way to its home position 102 before stopping it could result in the cassette 20 being precariously balanced or even falling out of window 18. Accordingly, the RUN THE GRIPPER HOME routine determines the stopping point of the gripper 100 based on the size of the cassette 20. 
     At block 268, the controller 30 fetches the total encoder count accumulated since the gripper 100 was last at its home position. At 272 controller 30 determines whether that count is equal to zero. If so, there has been an intervening power interruption and the size of the cassette 20 within apparatus 15 is not known by controller 30. In that event, as a safety measure, a &#34;memory error&#34; flag is set at block 275 and subsequently, in block 279 the gripper motor 120 is set to move slowly and program flow proceeds to block 281 which will be described shortly. 
     If the test at block 272 reveals the count not equal to zero, a &#34;slow count&#34; is computed by subtracting a predetermined number of counts from the total encoder count. The &#34;slow count&#34; represents the last portion of travel along axis 50 along which it is desired to advance the gripper 100 slowly rather than advance it at its normal rapid rate. At 281 the gripper motor 120 is energized to drive the gripper assembly 100 in the -y direction until entry sensor 106 is blocked by the trailing edge of cassette 20. At 284 the encoder count at the time entry sensor 26 was blocked is saved and added to an appropriate amount of pulses effective to stop the cassette at an ejection point such that less than about half and preferably only about 4.5 inches of the cassette 20 as measured along axis 50 extends unsupported outside window 18. 
     Next, a check is made of the memory error flag to determine whether any intervening power failures have occurred. If so, the gripper motor 120 is set to move slowly at 289, whereupon flow skips to block 293 which will soon be described. If the memory error flag was not set, a check is made at block 291 to determine whether the added count computed at block 284 is greater than the total count. If not, flow skips ahead to block 302. Otherwise, gripper motor 120 is driven in the -y direction until a portion, for example, 4.75 inches of cassette 20 extends from window 18 whereupon gripper motor 120 is stopped. The movement commanded by block 293 takes place at a rapid rate unless block 293 has been entered by way of block 289 whereupon the movement takes place at a slow rate. 
     At 295 entry sensor 26 is repeatedly interrogated. Once the sensor 26 is no longer blocked, indicating that the operator has removed the cassette 20, the memory error flag is checked at 299. If the memory error flag has been set, flow advances to block 307 to be described below. Otherwise, flow proceeds to block 302 where the present encoder count at the time the entry sensor is blocked at 295 is saved and subtracted from the total encoder count. If the result is not less than a predetermined distance, such as 512 counts, gripper motor 120 is energized to run the gripper 100 rapidly toward its home position until it is two hundred (200) counts away. Flow then proceeds to block 307 in which the gripper 100 is advanced at a slow rate until interrogation of the gripper home limit switch 106 at block 309 indicates that the gripper 100 is home. By moving the gripper 100 slowly during the final portion of its travel home, the possibility of the gripper overrunning home position 102 is avoided. Once gripper 100 is home, gripper motor 120 is deenergized at block 401 and, at block 403 flow returns to the eject routine previously described with reference to FIG. 10. 
     Referring now to FIG. 12, the RUN THE GUIDES HOME routine commences with a check of the status of guide home limit switch 66 to determine whether the guides 45 and 46 are at their home position as illustrated in FIG. 1. If so, flow skips ahead to block 430 which returns to the ACL EJECT routine. If the guides 45 and 46 are not home, guide motor 52 is energized at block 408 in a sense appropriate to drive sprocket 55 clockwise, thereby moving guides 45 and 46 toward their home positions as shown in FIG. 1. In blocks 411 and 412, the driving of the guides 45 and 46 toward their home positions continues until the guide home limit switch 66 indicates that the guides are home. Then the guide motor 52 is turned off and flow is redirected at block 430 to the eject routine. 
     While the apparatus described herein constitutes a preferred embodiment of the invention, it is to be understood that the invention is not limited to the particular form described since, in light of the present disclosure, those skilled in the art will readily recognize changes which can be made thereto without departing from the scope of the invention as particularly pointed out and distinctly claimed in the appended claims including all legal equivalents.