US 6988020 B2 Abstract A method to move an accessor capable of accelerating at a
_{MAX}. The method calculates a first velocity profile where the accessor travels a distance in the minimum time interval. That first velocity profile requires a first maximum acceleration change. The method calculates a second velocity profile, where that second velocity profile includes a second maximum acceleration change, where that second maximum acceleration change is less than the first maximum acceleration change. The method determines if the accessor reaches a_{MAX }using the second velocity profile. If the accessor does not reach a_{MAX }using the second velocity profile, then the method moves the accessor using the first velocity profile. Alternatively, if the accessor does reach a_{MAX }using the second velocity profile, then the method moves the accessor using the second velocity profile.Claims(30) 1. A method to move an accessor within a data storage and retrieval system, comprising the steps of:
providing an accessor comprising a velocity control program, wherein said accessor is capable of traveling at a velocity V
_{MAX }and accelerating at a maximum acceleration a_{MAX};receiving a request to move said accessor a distance from a first location to a second location;
forming a first velocity profile wherein said accessor travels said distance in the minimum time interval, and wherein said first velocity profile requires a first maximum acceleration change;
calculating a second velocity profile, wherein said second velocity profile includes a second maximum acceleration change, wherein said second maximum acceleration change is less than said first maximum acceleration change;
determining if said accessor reaches a
_{MAX }using said second velocity profile;operative if said accessor does not reach a
_{MAX }using said second velocity profile, loading said first velocity profile into said velocity control program;operative if said accessor does reach a
_{MAX }using said second velocity profile, loading said second velocity profile into said velocity control program;moving said accessor using said velocity control program.
2. The method of
forming a first acceleration profile using said first velocity profile;
calculating said second velocity profile by passing said first acceleration profile through a low pass Butterworth filter having a cutoff frequency greater than or equal to 15 hertz.
3. The method of
calculating a plurality of first velocity datapoints v
_{(i) }based upon said distance, said V_{MAX}, and said a_{MAX}, wherein said first velocity profile comprises said plurality of first velocity datapoints;averaging two or more of said first velocity datapoints v
_{(i) }to form each of a plurality of first averaged velocity datapoints v_{(i)avg};forming said second velocity profile using said plurality of first averaged velocity datapoints v
_{(i)avg}.4. The method of
_{(i)avg }using the equation:
V _{(i)avg}=(1/(2N+1))(V _{(i−2N)} +V _{(i−(2N−1))} +V _{(i−(2N−2)) } . . . +V _{(i)}),wherein N is greater than or equal to 1.
5. The method of
_{(i)avg }using the equation:
V _{(i)avg}=(1/(2N+1))(V _{(i−N)} +V _{(i−(N−1)) } . . . +V _{(i) } . . . +V _{(i+(N−1}))+V _{(i+(N)}),wherein N is greater than or equal to 1.
6. The method of
receiving a request to transport an object;
setting a threshold moment arm for said accessor;
calculating an actual moment arm for said accessor carrying said object;
determining if said actual moment arm exceeds said threshold moment arm;
operative if said actual moment arm exceeds said threshold moment arm, calculating a third velocity profile, wherein said third velocity profile includes a third maximum acceleration change, wherein said third maximum acceleration change is less than said second maximum acceleration change.
7. The method of
forming a first acceleration profile using said first velocity profile;
calculating said third velocity profile by passing said first acceleration profile through a low pass nth order Butterworth filter having a cutoff frequency less than about 15 hertz, wherein n is greater than or equal to 3.
8. The computer program product of
computer readable program code which causes said programmable computer processor to form a first acceleration profile using said first velocity profile; and
computer readable program code which causes said programmable computer processor to form said third velocity profile by passing said first acceleration profile through a low pass nth order Butterworth filter having a cutoff frequency less than about 15 hertz, wherein n is greater than 3.
9. The method of
calculating a plurality of first velocity datapoints v
_{(i) }based upon said distance, said V_{MAX}, and said a_{MAX}, wherein said first velocity profile comprises said plurality of first velocity datapoints;averaging three or more of said first velocity datapoints v
_{(i) }to form each of a plurality of second averaged velocity datapoints v_{(i)avg};forming said third velocity profile using said plurality of second averaged velocity datapoints v
_{(i)avg}.10. The method of
_{(i)avg }using the equation:
V _{(i)avg}=(1/(2N+1))(V _{(i−N)} +V _{(i−(N−1)) } . . . +V _{(i) } . . . +V _{(i+(N−1))} +V _{(i+(N)}),wherein N is greater than or equal to 2.
11. The method of
_{(i)avg }using the equation:
V _{(i)avg}=(1/(2N+1))(V _{(i−2N)} +V _{(i−(2N−1))} +V _{(i−(2N−2)) } . . . +V _{(i)}),wherein N is greater than or equal to 2.
12. An article of manufacture comprising a computer useable medium having computer readable program code disposed therein for moving an accessor from a first location to a second location within a data storage and retrieval system, wherein said accessor comprises a velocity control program, and wherein said accessor is capable of traveling at a velocity V
_{MAX }and accelerating at a maximum acceleration a_{MAX}, the computer readable program code comprising a series of computer readable program steps to effect:
receiving a request to move said accessor a distance from a first location to a second location;
forming a first velocity profile wherein said accessor travels said distance in the minimum time interval, and wherein said first velocity profile requires a first maximum acceleration change;
calculating a second velocity profile, wherein said second velocity profile includes a second maximum acceleration change, wherein said second maximum acceleration change is less than said first maximum acceleration change;
determining if said accessor reaches a
_{MAX }using said second velocity profile;operative if said accessor does not reach a
_{MAX }using said second velocity profile, loading said first velocity profile into said velocity control program;operative if said accessor does reach a
_{MAX }using said first velocity profile, loading said second velocity profile into said velocity control program;moving said accessor using said velocity control program.
13. The article of manufacture of
forming a first acceleration profile using said first velocity profile;
calculating said second velocity profile by passing said first acceleration profile through a low pass Butterworth filter having a cutoff frequency greater than or equal to about 15 hertz.
14. The article of manufacture of
calculating a plurality of first velocity datapoints v
_{(i) }based upon said distance, said V_{MAX}, and said a_{MAX}, wherein said first velocity profile comprises said plurality of first velocity datapoints;averaging two or more of said first velocity datapoints v
_{(i) }to form each of a plurality of first averaged velocity datapoints v_{(i)avg};forming said second velocity profile using said plurality of first averaged velocity datapoints v
_{(i)avg}.15. The article of manufacture of
_{(i)avg }using the equation:
V _{(i)avg}=(1/(2N+1))(V _{(i−N)} +V _{(i−(N−1)) } . . . +V _{(i) } . . . +V _{(i+(N−1))} +V _{(i+(N)}),wherein N is greater than or equal to 1.
16. The article of manufacture of
_{(i)avg }using the equation:
V _{(i)avg}=(1/(2N+1))(V _{(i−2N)} +V _{(i−(2N−1))} +V _{(i−(2N−2)) } . . . +V _{(i)}),wherein N is greater than or equal to 1.
17. The article of manufacture of
receiving a request to transport an object;
setting a threshold moment arm for said accessor;
calculating an actual moment arm for said accessor carrying said object;
determining if said actual moment arm exceeds said threshold moment arm;
operative if said actual moment arm exceeds said threshold moment arm, calculating a third velocity profile, wherein said third velocity profile includes a third maximum acceleration change, wherein said third maximum acceleration change is less than said second maximum acceleration change.
18. The article of manufacture of
forming a first acceleration profile using said first velocity profile;
calculating said third velocity profile by passing said first acceleration profile through a low pass nth order Butterworth filter having a cutoff frequency less than about 15 hertz, wherein n is greater than or equal to 3.
19. The article of manufacture of
_{(i) }based upon said distance, said V_{MAX}, and said a_{MAX}, wherein said first velocity profile comprises said plurality of first velocity datapoints;averaging three or more of said first velocity datapoints v
_{(i) }to form each of a plurality of second averaged velocity datapoints v_{(i)avg};forming said third velocity profile using said plurality of second averaged velocity datapoints v
_{(i)avg}.20. The article of manufacture of
_{(i)avg }using the equation:
V _{(i)avg}=(1/(2N+1))(V _{(i−N)} +V _{(i−(N−1)) } . . . +V _{(i) } . . . +V _{(i+(N−1))} +V _{(i+(N)}),wherein N is greater than or equal to 2.
21. The article of manufacture of
_{(i)avg }using the equation:
V _{(i)avg}=(1/(2N+1))(V _{(i−2N)} +V _{(i−(2N−1))} +V _{(i−(2N−2)) } . . . +V _{(i)}),wherein N is greater than or equal to 2.
22. A computer program product usable with a programmable computer processor having computer readable program code embodied therein for moving an accessor from a first location to a second location within a data storage and retrieval system, wherein said accessor is capable of traveling at a velocity V
_{MAX }and accelerating at a maximum acceleration a_{MAX}, comprising:
computer readable program code which causes said programmable computer processor to receive a request to move said accessor a distance from a first location to a second location;
computer readable program code which causes said programmable computer processor to form a first velocity profile wherein said accessor travels said distance in the minimum time interval, and wherein said first velocity profile requires a first maximum acceleration change;
calculate a second velocity profile, wherein said second velocity profile includes a second maximum acceleration change, wherein said second maximum acceleration change is less than said first maximum acceleration change;
computer readable program code which causes said programmable computer processor to determine if said accessor reaches a
_{MAX }using said second velocity profile;computer readable program code which, if said accessor does not reach a
_{MAX }using said second velocity profile, causes said programmable computer processor to load said first velocity profile into said velocity control program;computer readable program code which, if said accessor does reach a
_{MAX }using said second velocity profile, causes said programmable computer processor to load said second velocity profile into said velocity control program; andcomputer readable program code which causes said programmable computer processor to move said accessor using said velocity control program.
23. The computer program product of
computer readable program code which causes said programmable computer processor to form a first acceleration profile using said first velocity profile; and
computer readable program code which causes said programmable computer processor to calculate said second velocity profile by passing said first acceleration profile through a low pass Butterworth filter having a cutoff frequency greater than or equal to 15 hertz.
24. The computer program product of
computer readable program code which causes said programmable computer processor to calculate a plurality of first velocity datapoints v
_{(i) }based upon said distance, said V_{MAX}, and said a_{MAX};computer readable program code which causes said programmable computer processor to average two or more of said first velocity datapoints v
_{(i) }to form each of a plurality of first averaged velocity datapoints v_{(i)avg};computer readable program code which causes said programmable computer processor to calculate said second velocity profile using said plurality of first averaged velocity datapoints v
_{(i)avg}.25. The computer program product of
_{(i)avg }using the equation:
V _{(i)avg}=(1/(2N+1))(V _{(i−N)} +V _{(i−(N−1)) } . . . +V _{(i) } . . . +V _{(i+(N−1))} +V _{(i+(N)}),wherein N is greater than or equal to 1.
26. The computer program product of
_{(i)avg }using the equation:
V _{(i)avg}=(1/(2N+1))(V _{(i−2N)} +V _{(i−(2N−1))} +V _{(i−(2N−2)) } . . . +V _{(i)}),wherein N is greater than or equal to 1.
27. The computer program product of
computer readable program code which causes said programmable computer processor to receive a request to transport an object;
computer readable program code which causes said programmable computer processor to retrieve a predetermined threshold moment arm for said accessor;
computer readable program code which causes said programmable computer processor to calculating an actual moment arm for said accessor carrying said object;
computer readable program code which causes said programmable computer processor to determining if said actual moment arm exceeds said threshold moment arm;
computer readable program code which causes said programmable computer processor to operative if said actual moment arm exceeds said threshold moment arm, calculating a third velocity profile, wherein said third velocity profile includes a third maximum acceleration change, wherein said third maximum acceleration change is less than said second maximum acceleration change.
28. The computer program product of
computer readable program code which causes said programmable computer processor to calculate a plurality of first velocity datapoints v
_{(i) }based upon said distance, said V_{MAX}, and said a_{MAX};computer readable program code which causes said programmable computer processor to average three or more of said first velocity datapoints v
_{(i) }to form each of a plurality of second averaged velocity datapoints v_{(i)avg};computer readable program code which causes said programmable computer processor to form said third velocity profile using said plurality of second averaged velocity datapoints v
_{(i)avg}.29. The computer program product of
_{(i)avg }using the equation:
V _{(i)avg}=(1/(2N+1))(V _{(i−N)} +V _{(i−(N−1)) } . . . +V _{(i) } . . . +V _{(i+(N−1))} +V _{(i+(N)}),wherein N is greater than or equal to 2.
30. The computer program product of
_{(i)avg }using the equation:
V _{(i)avg}=(1/(2N+1))(V _{(i−2N)} +V _{(i−(2N−1))} +V _{(i−(2N−2)) } . . . +V _{(i)}),wherein N is greater than or equal to 2.
Description The present invention relates to an apparatus and method to calculate and use a velocity profile to move an accessor within a data storage and retrieval system. Automated media storage libraries are known for providing cost effective access to large quantities of stored media. Generally, media storage libraries include a large number of storage slots on which are stored portable information storage media. The typical portable information storage media is a tape cartridge, an optical cartridge, a disk cartridge, and the like. One (or more) accessor typically accesses the information storage media from the storage slots and delivers the accessed media to a information storage device for reading and/or writing data on the accessed media. Suitable electronics both operate the accessor and operate the information storage devices to transmit and/or receive data from an attached on-line host computer system. In a conventional automated media storage library, the storage slots are arranged in a planar orthogonal arrangement forming a “wall” of storage slots for holding information storage media. The plane may be a flat plane, or may be a cylindrical plane. To double the storage capacity, two “walls” of storage slots may be provided on either side of the accessor. A number of different companies manufacture automated media storage libraries today, each model displaying various different features. One example is the IBM 3494 Media Storage Library. Some of the automated media storage libraries have dual or multiple accessors to provide a level of redundancy. What is needed is an apparatus and method to move an accessor within a data storage and retrieval system, where that apparatus and method minimizes both the accessor's travel time and undesirable accessor vibrations and/or oscillations caused by rapid acceleration changes. Applicants' invention comprises an apparatus and method to expeditiously move an accessor within a data storage and retrieval system while eliminating most or all accessor vibrations and/or oscillations. Applicants' invention includes a method to move an accessor within a data storage and retrieval system. Applicants' method provides an accessor having a velocity control program, where that accessor is capable of accelerating at a maximum acceleration a The method then determines if the accessor reaches a The invention will be better understood from a reading of the following detailed description taken in conjunction with the drawings in which like reference designators are used to designate like elements, and in which: Referring to Applicants' invention comprises an automated data storage and retrieval system which includes one or more accessors, such as accessors In certain embodiments, device Referring to In the illustrated embodiment of In the embodiment shown in the block diagram of Applicants' invention includes a method to form one, two, and/or three velocity profiles to move an accessor carrying a designated object from a first location to a second location, over a transit distance Dx comprising a distance D along the X axis of Referring now to As those skilled in the art will appreciate, it is advantageous to minimize the time required to transport the designated object from its storage slot to the destination location. In step Curve portion Curve portion In the event the transit distance D is less than s Where D≧s
In certain embodiments, accessor Referring to Curve portion Curve portion As described above, the velocity profile of Moving an accessor using Applicants' first velocity profile requires a first rate of change of acceleration. Referring to Referring now to To minimize/eliminate undesirable accessor vibrations/oscillations which may result from using the Applicants' first velocity profile while maintaining an acceptable overall transport rate, Applicants' method calculates one or more “smoothed” velocity profiles. Such a smoothed velocity profile requires less abrupt acceleration changes thereby generating fewer accessor vibrations/oscillations. As described below, the degree of “smoothing” applied to the first velocity profile varies according to a number of factors. In step TABLE II recites time and velocity datapoints for the first velocity profile, described above, in the column designated “N=0”, and a second velocity profile in the column designated “N=1”. The datapoints recited in the column designated “N=0” corresponds to the datapoints of TABLE I discussed above. Where N=0, no averaging of datapoints is used.
In the embodiment of TABLE II, the velocity datapoints for the array designated N=1 each comprise an average of three datapoints from TABLE I, using equation (1):
The calculated velocity datapoints recited in TABLE II for N=1 comprise one embodiment of Applicants' second velocity profile of step Referring again to In another embodiment, the second velocity profile of step TABLE III recites in the column designated “N=0” the velocity datapoints comprising Applicants' first velocity profile discussed above. TABLE III further recites in the column designated “N=1” the calculated datapoints comprising Applicants' second velocity profile where each of those datapoints are calculated using equation (2) with N=1, and the datapoints of TABLE I.
In another embodiment of Applicant's method, step Referring now to Referring again to Alternatively, if Applicants' method determines in step In step Referring again to Alternatively, if Applicants' method determines in step TABLE IV recites time and velocity datapoints for the first velocity profile of TABLE I in the column designated “N=0”, the second velocity profile of TABLE II in the column designated “N=1”, and Applicants' third velocity profile in the column designated “N=2”.
In the embodiment of TABLE IV, the velocity datapoints comprising one embodiment of Applicants' third velocity profile each comprise an average of five datapoints from TABLE I using equation (1) with N=2. Thus, using equation (1) with N=2, the V In other embodiments, step Referring again to Using Applicants' first velocity profile requires using a first maximum rate of acceleration change as graphically depicted by curve As those skilled in the art will appreciate, the area defined by curve portions Referring again to Applicants' third velocity profile, represented by curve Applicants' invention further includes an article of manufacture comprising a computer useable medium Applicants' invention further includes a computer program product The embodiments of Applicants' method summarized in While the preferred embodiments of the present invention have been illustrated in detail, it should be apparent that modifications and adaptations to those embodiments may occur to one skilled in the art without departing from the scope of the present invention as set forth in the following claims. Patent Citations
Non-Patent Citations
Classifications
Legal Events
Rotate |