Control system for vertical storage equipment
RELATED APPLICATION 
     This application is a continuation in part of application Ser. No. 560,499, filed Dec. 12, 1983 now abandoned. 
    
    
     BACKGROUND OF THE INVENTION 
     This invention pertains to vertical storage and retrieval systems and, particularly, to controlling such systems to facilitate conveying any one of a plurality of vertically movable article storage carriers to an exact location at an operator&#39;s access station. 
     Vertically arranged storage and retrieval systems are used where it is desired to conserve floor space in a building. Typically, these storage systems are comprised of a vertically driven closed loop chain conveyor to which a plurality of material or article carriers are pivotally connected. The conveyor is driven to establish any of the carriers at a location or locations where articles can be inserted or withdrawn from the carriers. 
     Typical control systems for vertical storage equipment have four sensors adjustably mounted to the stationary frame of the equipment and a target mounted to the carriers. Thus, the sensors can detect the carriers as they pass on the conveyor. Proximity sensors are commonly used. The first sensor detects the carrier target when it is in close proximity to enable the locations of the carriers to be referenced to a single point. The second sensor counts the carriers as they move past it for system indexing. The third sensor senses the carriers as they pass in one direction and generates a signal that is used to interrupt power to the conveyor drive motor and to energize a brake that stops movement of the conveyor in that direction. The fourth sensor operates in a fashion similar to the third sensor, except that it senses the carriers and is used to slow and stop the conveyor when it is moving in the opposite direction. 
     One of the problems with prior art of vertical storage and retrieval (VSR) systems has been to get any selected carrier to stop exactly at the desired level at the operator access station. Inaccuracies result from tolerances or variations in the carrier support and drive mechanisms plus inability to anticipate accurately what the deceleration curve of the carries will be, especially when they are carrying markedly different loads. It is perceived that an underlying cause of poor stopping resolution in prior art systems is the one-to-one relationship that exists between the frame mounted sensors and the carriers being sensed. 
     A significant deficiency in prior art controllers is that they are dedicated to controlling a given conveyor system that is equipped with a specific number of carriers. Typically, the carriers are somewhat like open sided troughs that are compartmentalized along their length. In some applications, however, it is also desirable to subdivide one or more of the carriers with partition walls or shelves that create one or more compartments where one is above the other in a single carrier. Existing control systems do not have the capability of positioning any one of the intermediate vertically arranged compartments at a specific level at the operator access station. In some VSR installations it is desirable to have more than one access station, as, for instance on different floor levels or on opposite sides of the equipment. In this case, prior art equipment required duplicate sets of sensors and associated controls for each user access station. Separate controllers increased the cost of the equipment. Also, known control systems always require equal spacing or pitch between carriers on the conveyor which is a further limitation on their versatility. Moreover, in prior art systems the spacing of all of the sensors on the conveyor supporting frame must be individually adjusted to suit the particular carrier pitch even if the pitch or spacing between carriers is uniform. 
     In vertical storage equipment, the carriers are usually pivotally mounted to two parallel running closed loop conveyor chains. Thus, when the conveyor is being driven to establish a preselected carrier at the work station level, some of the carriers are running downwardly on one side of the chain loop and others are running upwardly on the other side. The weight of the articles in the carriers may differ so that a significant imbalance exists between the carriers on opposite sides of the conveyor. In prior art VSR systems, the accuracy with which a carrier can be positioned at the access station varies with the amount of imbalance that exists. Moreover, when there is significant imbalance, jerky starts and stops can result. The conventional solution to this problem is to interpose a speed reduction system between the drive motor and the carrier conveyor, but, this by itself, does not solve the problem of obtaining smooth starts and stops or significantly improved carrier positioning accuracy. 
     SUMMARY OF THE INVENTION 
     The vertical storage and retrieval system controller described hereinafter achieves: precise and high resolution positioning of any preselected carrier or intermediate shelf in a preselected carrier with respect to a given level at the user access station; smooth starting and stopping of the carriers: easy but rarely required setting or adjustment of the position sensors; reduction in the number of position sensors; and, automatic initialization and recalibration of the position detecting system after installation and after any adjustments are made such as tightening the conveyor chains. 
     Briefly stated, the vertical storage and retrieval equipment which employs the new controller described herein may be conventional in the respect that it comprises a pair of vertically spaced horizontal shafts that are journalled for rotation on a frame. Sprockets are fastened to the ends of each shaft and a pair of laterally spaced apart closed loop conveyor chains run over the vertically separated sprockets. Carrier members are pivotally connected to the chains and they remain in a vertical attitude when they are going up on one side of the chain loops or down on the other side or around the sprockets. A high speed motor drives a conveyor system through a speed reduction mechanism including a gear type speed reducer and a chain coupling the reducer to one of the conveyor shafts. In accordance with the invention, a flywheel is mounted on the shaft extension of the motor. In an actual embodiment, by way of example and not limitation, the motor turns at about 3500 RPM except when it is accelerating or decelerating. Thus, there is a substantial amount of available energy stored in the flywheel when it is rotating at top speed. In other words, its inertia is very high. Because of the speed reduction train between the motor and the conveyor, the inertia of the flywheel is substantially greater than the inertia of the conveyor system. In other words, the flywheel inertia is dominant and is used advantageously to make conveyor starts smooth and the stopping position of each carrier at the user access station repeatable as will be shown. 
     The new control system is governed by a programmed microprocessor and includes a first stationary sensor that is set at a zero reference level. When a reference marker or target on the conveyor chain is in proximity with this sensor, the sensor produces a signal representative of a zero reference point in time and space. There are four equiangularily spaced reference markers on the flywheel. More could be used if desired. A second sensor detects these reference markers as they pass the sensor during rotation of the flywheel and drive motor. The second sensor produces a pulse every time the motor shaft rotates through a constant predetermined angle of rotation which allows the microprocessor controller to count pulses and translate this data into data representative of the present location and destined location of any of the carriers. In a preferred embodiment, the flywheel rotates at a rotational speed of the motor and, since there are four markers on the periphery of the flywheel in the illustrative embodiment, the number of pulses per second is four times the revolutions per second of the flywheel. For example, accounting for slippage of the motor rotor, the motor may have a top speed of 3500 rpm in which case about 14,000 pulses per minute or about 233 pulses per second are generated. Because of the speed reduction mechanism between the motor and conveyor, a large number of pulses will be generated while the conveyor moves the carriers through a very small distance and this is the basis for obtaining such high carrier positioning resolution. 
     One important consequence of the new system that uses only two sensors is that whenever any adjustments or variations are made in the mechanical parts of the conveyor system such as tightening or loosening the chains of the conveyor in connection with ordinary maintenance, it is only necessary to run the chain loop through one complete revolution to thereby detect the zero marker once to find the new zero reference after which all counts of the markers on the flywheel can be referenced to it and translated to a representation of the fixed distances between the carriers. 
     The dominant inertia of the flywheel is used advantageously to position the carriers at the commanded level in the user access station. The microprocessor based controller calculates the number of pulse counts that a carrier is away from its ultimate destination. At the correct moment, the processor dictates deenergizing the drive motor. The conveyor then coasts momentarily to bring the selected carrier towards its stopping position. During this interval, and after the motor controller signals that the motor is turned off, an electromagnetic brake is actuated to bring the conveyor to a stop. In an actual embodiment, stopping accuracy to within 0.025 of an inch is obtained regardless of the magnitude of any imbalance or any differences between the loads in the various carriers since the inertia of the carriers and conveyor system is overwhelmed or dominated by the predictable inertia of the flywheel. How the foregoing and other important features of the new vertical storage and retrieval system controller are achieved will be evident in the ensuing description of a preferred embodiment of the invention which will now be set forth in reference to the drawings. 
    
    
     DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a perspective view of a vertical storage and retrieval system in which the new control system is employed; 
     FIG. 2 is a side elevation view of the interior of a vertical storage and retrieval system; 
     FIG. 3 is an irregular and partial transverse section of the apparatus taken on a line corresponding with 3--3 in FIG. 2; and 
     FIG. 4 is a block diagram of the control system and the conveyor drive system for the vertical storage and retrieval system. 
    
    
     DESCRIPTION OF A PREFERRED EMBODIMENT 
     Referring to FIGS. 1-3, the vertical storage and retrieval apparatus 1 comprises an upstanding frame which includes vertical frame members 3, 4 and 5, and horizontal frame members 7 and 9. The frame is enclosed by metal panels such as a front panel 11 and a top panel 13. 
     The frame supports a vertically movable conveyor system which is best seen in FIG. 2. The conveyor system comprises an upper shaft 17 and a lower shaft 19. These shafts are parallel and journalled for rotation on the frame. There are a pair of sprockets 21 fixed on opposite ends of upper shaft 17 and a corresponding pair of sprockets 21 fixed on opposite ends of lower shaft 19. One closed loop flexible conveyor chain 23 runs over the vertically aligned sprockets 21 at corresponding ends of the upper and lower shafts 21 and 19 and a corresponding closed loop chain 23 runs over the pair of sprockets on the opposite ends of the shafts. The lower shaft 19 is actually mounted to the frame through the agency of a conventional screw and nut arrangement 24 which is used to establish and adjust the tension in the chains. A plurality of carriers 15 comprising trough-like members are carried on the conveyor chains. The article or material carriers 15 are coupled to the chains by means of brackets 25 that have two arms 27 which have an eye in their outboard ends for receiving pins 29 that extend from opposite ends of each carrier. Thus, the carriers can pivot on the brackets such that the carriers are always maintained in a vertical attitude even as they go around the lower sprockets, which is demonstrated in FIG. 2 where one carrier 15 is negotiating the curve around the lower sprockets 21. Most commonly, the carriers are spaced at a uniform distance around the conveyor chain loop and for the sake of simplifying the explanation, that condition will be assumed to exist in the described embodiment of the equipment. 
     The conveyor chains 23 are translated or driven in reversible vertical directions by means of a power drive system that is generally designated by the numeral 30. The prime mover is a reversible electric motor 39 which is mounted within the apparatus frame as can be seen in FIG. 2. One end of the motor shaft is coupled to a speed reducer mechanism 37 which is a conventional gear reduction system. The output shaft of the speed reducer has a sprocket 35 fastened to it. This sprocket is coupled by means of a chain 33 to a sprocket 31 on lower shaft 19 to thereby transmit the driving force to the conveyor chains 23. The speed reducer 37 has a bed plate 38 for fastening it to the equipment frame. Electric motor 39 is actually integral with the speed reducer housing. The motor shaft portion which extends from the end opposite of the motor from the speed reducer is marked 57. There is an electrically actuated brake assembly 41 integrated with the housing of motor 39. This is a conventional disk brake assembly. The electromagnetic operator for the brake is not visible but it will be understood that when the operator is deenergized, the brake will be engaged by spring force and when it is energized, the brake will be released. Thus, motor rotation is enabled by electrically energizing the brake and is stopped by deenergizing the brake. 
     A flywheel 65 is fixed on motor shaft extension 57. There are, in this example, four prongs 56 extending radially from the periphery of flywheel 65. These prongs are equiangularily spaced about the periphery of the flywheel and they constitute markers which are used to detect the angular position of the flywheel at regular intervals. There is a sensor 53 secured to the frame by means of a bracket 55. This sensor detects passage of each one of the markers on the flywheel and produces an electric pulse each time a marker passes. Any suitable sensor that responds to a marker upon the flywheel aligning with it by producing a pulse signal can be used. Thus, in effect, a pulse is generated every time the motor shaft turns through a predetermined and constant angle of rotation. The pulses would not have a constant time interval between them when the motor is accelerating or decelerating but this is immaterial. What is important is that the pulse count corresponds to the distance the conveyor moves and vice versa. Stopping resolution is related to the number of markers used. 
     Due to the reduction mechanism interposed between motor 39 and conveyor shaft 19, it will be evident that a large number of electric pulses will be produced by sensor 53 for a very small increment of movement of the conveyor chains. 
     There is a second vertically adjustable sensor 47 mounted to the equipment frame by means of a bracket 49 as can be seen in FIG. 2. A prong constituting a zero reference position marker 51 is mounted to the chains. Sensor 47 detects passage of reference marker 51 and produces a signal as the reference marker passes through a position of alignment with sensor 47. Sensors 47 and 53 are the only sensors needed for the control system which will be described in detail shortly hereinafter. 
     Before discussing the control system, it may be noted that the vertical storage and retrieval equipment 1 is provided with at least one opening 43 in its cover panel through which the user may gain access to the carriers 15 for inserting or retrieving articles. In some installations, an opening similar to the one marked 43 is provided on the side opposite of said opening to provide access to both sides of the equipment. The two openings may be at the same level or at different levels or on different floors of a building. At the carrier loading and accessing station, a shelf 45 is provided. The control system, as will be seen, is capable of positioning any selected carrier precisely at the level of the shelf or at any level in the work station with high precision. In some installations, one or two shelves running lengthwise of a carrier are installed to subdivide a carrier or some of them or all of them into separate vertically arranged compartments. In FIG. 2 the carrier 15 on the left side of the conveyor chain 23 is the only carrier provided with a shelf represented by the dashed lines marked 90. It will be shown that with the new controller any one of the shelves in a carrier can be positioned precisely at the desired stopping level such as the top of table 45. 
     Refer now to FIG. 4 for a discussion of the controller 61 which is located on a table 63 in FIG. 1. This figure shows the previously discussed zero or absolute reference marker 51 mounted on chain 23 adjacent marker sensor 47. The flywheel 65 on motor shaft extension 57 and the four markers 56 and their cooperating sensor 53 are also repeated in FIG. 4. The controller is generally designated by the reference numeral 61 which is labeled microprocessor based controller. The control console is marked 81 and is provided with a key board 67 by which the operator can enter commands into the system. For instance, when the operator desires a particular one of the carriers 15 to be positioned at the work table of 45 level, the operator enters the code identification for that carrier by means of the key board 67 and the controller causes the conveyor to drive the carrier to its desired destination. 
     Assume now that installation of the vertical storage and retrieval system has been completed and that the controller is to be initialized. A command is entered which causes the electromagnetic brake 41 to be energized and released and the motor 39 to run. As a result, zero or absolute reference marker 51 will pass sensor 47 which will produce a reference signal corresponding to a count of zero. From that moment, the processor counts the high rate pulses that result from markers 56 passing sensor 53 as the motor runs. The processor is, meanwhile, counting the pulses from sensor 53. Motor operation is continued at least until another pulse is produced by zero reference sensor 47 in which case the processor stops counting the high rate pulses. It then has and stores in RAM the total number of high rate pulses for one complete rotational cycle of the chain or conveyor system. The program or instructions for doing this is, of course, stored in a read-only memory ROM, not shown. The processor then uses its arithmetic logic unit, not shown, to divide the total number of counts by the number of carriers in the system to thereby determine and store the number of pulses or counts representative of the distance between carriers in a read-write memory or RAM, not shown. If each of the carriers had one shelf in it for dividing it into two superimposed compartments, this information is stored in ROM and the microprocessor divides the total number of counts by two to get the number of counts or distance between shelves on adjacent carriers. For example, if there were twenty carriers on a conveyor in a system and each had one shelf to divide the carrier into two compartments, basically, the microprocessor multiplies the number of shelves per carrier by the number of carriers to obtain the total number of stopping places. In other words, the number of shelves is an input to the microprocessor and it uses the new number in its division and comes up with a new number of counts from level to level. With twenty carriers and two shelves in each, the index positions for the carriers are represented by 1/40 of the total number of counts. 
     In an actual embodiment, the count information is stored in a volatile RAM but there is a standby battery for the memory so that the initialization or calibration information will not be lost if there is a power supply failure. Normally, initial conditions are preserved and used until there is some maintenance work done on the equipment such as tightening or losing of the conveyor chains. In such case, it is necessary to re-initialize but this is no problem because it only requires time to run the chain conveyor through one cycle or loop length as previously described to get the counts referenced back to the zero reference level. 
     It should be noted that prior art storage systems detect all carriers individually and, therefore, can&#39;t accommodate subdivision of carriers unless they sense the subdivisions with additional sensors. 
     Assume now that the user has used the key board 67 to command a certain carrier to its destination at the work station. As will be explained later, in accordance with the invention, the microprocessor immediately makes a determination as to which direction the chain conveyor should start to run in order to bring the specified carrier to the work station level through the shortest route and in the least amount of time. When the motor rotational direction is determined, one of two output lines 82 or 83 will switch to a high logic signal level. For instance, if motor 39 is determined to run in one direction to position the carrier in the shortest possible time signal on line 82 will go to a logical high level. If the motor is to run in the other direction, the signal on line 83 will go to a logical high level. These signals are selectively input to a motor controller which is represented by the block marked 84. The motor controller, which is basically a relay or solid state switching device that makes the proper connections between the power input lines 85 and the motor to cause the motor to run in one direction or another. Substantially simultaneously but slightly before the motor 39 is energized, the microprocessor causes one of its output lines 86 to switch to a high logical level and this signal is transmitted to the brake control module 87 to effect brake release. The brake control module has relays or solid state switches for connecting the power line 88 to the electromagnetic brake operator 41. Thus, as soon as the brake is energized and released, the motor begins to run in a preselected direction. Release of the brake and starting of the motor are so nearly coincident with each other that there is no time for drifting of the carriers due to any imbalance in their loading. 
     As the carriers move, the microprocessor monitors where they are located by keeping track of the counts and, hence, the corresponding number of movement increments between the present position of the designated carrier and the zero reference position. The microprocessor is programmed to produce the logic signal which results in turning off motor 39 at a predetermined time or by a predetermined number of counts prior to the designated carrier having reached its final destination. When the motor is deenergized, it begins to decelerate but rotation is continued under the influence of the inertia of the flywheel 65 on the motor shaft. The brake signal line 86 switches back to a low logic level to deenergize the brake operator and apply the brake by a predetermined number of index counts obtained from the four reference markers on the flywheel before the designated theoretical stop level of the carrier is reached. This takes into account the brake operation release time and the dropout time of the control relays or deactivation time of the semiconductor switching devices. 
     In prior art vertical storage and retrieval systems it would not be possible to get reproducible stopping of the carriers where the motor is deenergized by a certain amount of counts or time before the carrier reaches its destination and where the brake is applied a predetermined number of counts after the motor is deenergized. This is so because the inertia of the conveyor system in prior art equipment is not only dominating by itself but is variable depending on whether the sum of the loads being lifted or moved downward on one side of the conveyor loop is greater than the sum of the loads on the other side. Moreover, the inertia of the conveyor system can vary as the various loaded carriers go around the conveyor sprockets and nothing is done to compensate for this. Similar variable inertia effects may exist in any conveyor driven with a new controller but the effects are negated by having the inertia of the flywheel overwhelm or dominate the inertia of the conveyor in accordance with the invention. Thus, with the new control system, conveyor inertia is negated and flywheel inertia follows a more constant and repeatable curve with respect to time and is predictable so that the motor deenergization and brake application events can be executed in sequence over an interval containing the same number of counts in any given vertical storage and retrieval system. Because each count derived from sensor 53 corresponds to such a small amount of movement by the conveyor, the carriers can be located with high resolution at the access station. 
     The manner in which the controller brings about determining which direction the motor should start to run in order to get the selected carrier to the work station by way of the shortest route will now be discussed. When a move command is entered by the key board 67, the microprocessor again uses the total count around a conveyor chain cycle to determine which direction the motor should rotate. The microprocessor logic divides the total count in half to determine how many counts or what the distance is half way around the conveyor chain loop. Then it compares the present location of the carriers relative to the zero reference level with the calculated destination. For example, if it must advance the designated or commanded carrier five carriers up to get to the work table level, the microprocessor will add five of the incremental numbers to the value it knows it must traverse through half of the carriers. It thereby determines what the theoretical stopping place is going to be. Then the microprocessor determines if the stopping place is more than half way around the conveyor or less than half way around. If it is less than half way around in one direction it will dictate that the designated carrier should go up to get to its destination. If it is more than half way around, it will be closer to go the other way around and it selects a motor rotation that will move the chain in the down direction. 
     Providing a vertical storage and retrieval system that uses only two sensors reduces system cost by a small amount compared to the whole but it increases reliability by a great amount. Moreover, it simplifies adjustment or calibration. It is only necessary to fix the bracket holding the zero reference level sensor 47 and input the number of carriers. If any carrier stops above or below the work table level all carriers will have the same error so it is only necessary to adjust the bracket holding the zero reference level sensor 47 and initialize. Then all carriers will be corrected by the same amount since they are equally spaced along the conveyor chains. 
     For vertical storage and retrieval equipment installations where it is desired to have a carrier access station on the opposite side of the unit from where table top 45 is located, another microprocessor based logic system is used. The second logic system is a slave to the controller 61. The second logic system is provided by the first controller with the position information and calculates its own position. 
     In an alternative implementation of the invention, not shown, instead of the processor controlling the motor brake to be applied when a designated carrier is a predetermined number of counts or movement increments from the operator station level, instaneous speed calculations are made by the processor. As the carrier approaches its destination the motor is deenergized and at a distance from the destination that varies with speed, the brake is applied. The flywheel still serves to negate the influence of carrier loading differences. Stopping is smooth and accurate. 
     In summary, a vertical storage and retrieval system controller has been provided wherein the operator can select any desired carrier or a shelf within any desired carrier by using key pad 67 to input the identification code for the carrier or shelf. The control system determines the shortest travel distance and begins to move the carrier conveyor in the direction that will result in least distance being traversed to get the carrier to the access station. At a predetermined distance from the access station, the conveyor drive motor is deenergized and at a lesser distance brake is applied. The time for motor deenergization and subsequent the brake application are predetermined and predictable because these events are to a large extent functions of the inertia of the system and the inertia is known with a good degree of accuracy because it is established by using a flywheel whose inertia dominates the conveyors inertia though the flywheel controls acceleration and deceleration time. During a conveyor starting interval, the flywheel modulates acceleration out of the motor and follows a smooth curve though the carriers do not start with a jerk despite the fact that there might be considerable imbalance between the loads on opposite vertical runs of the conveyor chains.