SIMULTANEOUS PIVOTING AND TRANSLATION OF ROBOT ARM OF STORAGE LIBRARY
20180037409 ยท 2018-02-08
Inventors
- Joseph Paul Manes (Arvada, CO, US)
- Daniel James Plutt (Superior, CO, US)
- Timothy Craig Ostwald (Boulder, CO, US)
Cpc classification
B65G1/0428
PERFORMING OPERATIONS; TRANSPORTING
B25J9/0084
PERFORMING OPERATIONS; TRANSPORTING
G11B17/225
PHYSICS
International classification
G11B15/68
PHYSICS
B25J9/10
PERFORMING OPERATIONS; TRANSPORTING
Abstract
Utilities (e.g., systems, apparatuses, methods) that reduce robotic assembly contention in media element storage libraries by translating (e.g., displacing) a robot arm of a first robotic assembly mounted over a first storage array of a storage library away from a central reference plane as the robot arm is being pivoted into a first position adjacent the first storage array to allow a robot arm of a second robotic assembly to slide or otherwise move past the robot arm of the first robotic assembly, even when the robot arms of the first and second robot arms are disposed at the same height (e.g., along a z-axis) within the storage library. For instance, a pivot member of the robot arm may be mounted on a carriage that is configured to translate between the first and second storage arrays in response to the pivot member being pivoted about a pivot axis.
Claims
1. A method of operating a media element storage library, comprising: positioning a first robot arm of a first robotic assembly at a first position along an x-axis and a first position along a z-axis so as to face a first storage array of the media element storage library; positioning a second robot arm of a second robotic assembly at the first position along the x-axis and the first position along the z-axis so as to face a second storage array of the media element storage library, wherein the second storage array faces the first storage array; moving the first robotic assembly along the x-axis to a second position along the x-axis; first rotating the first robot arm about a pivot axis from a first rotational position adjacent the first storage array to a second rotational position adjacent the second storage array; and first translating the pivot axis towards the second storage array in direct response to and simultaneously with the first rotating step.
2. The method of claim 1, wherein the first translating includes: displacing the pivot axis along a translation axis from a first translational position to a second translational position that is disposed between the first translational position and the second storage array.
3. The method of claim 1, further including: second rotating the first robot arm about the pivot axis from the second rotational position to the first rotational position; second translating the pivot axis towards the first storage array in direct response to and simultaneously with the second rotating step.
4. The method of claim 3, wherein the second translating includes: displacing the pivot axis along a translation axis from a second translational position to a first translational position that is disposed between the second translational position and the first storage array.
5. The method of claim 1, wherein the pivot axis is parallel to the z-axis or the x-axis.
6. A method of operating a media element storage library, comprising: first positioning a first robot arm of a first robotic assembly at a first position along an x-axis and a first position along a z-axis so as to face a first storage array of the media element storage library; and positioning a second robot arm of a second robotic assembly at the first position along the x-axis and the first position along the z-axis so as to face a second storage array of the media element storage library, wherein the second storage array faces the first storage array, wherein the first and second robot arms occupy the first positions along the x-axis and z-axis simultaneously.
7. The method of claim 6, wherein the first robot arm includes a housing having a first end from which a mechanism is configured to extend for manipulating media elements, wherein the first end of the housing of the first robot arm faces the first storage array after the first robot arm is positioned, wherein the second robot arm includes a housing having a first end from which a mechanism is configured to extend for manipulating media elements, wherein the first end of the housing of the second robot arm faces the second storage array after the second robot arm is positioned.
8. A method of operating a media element storage library, comprising: positioning a first robot arm of a first robotic assembly at a first position along an x-axis and a first position along a z-axis so as to face a first storage array of the media element storage library; and moving a second robot arm of a second robotic assembly from a second position along the x-axis to a third position along the x-axis, wherein the first position along the x-axis is between the second and third positions along the x-axis, and wherein the second robot arm remains in the first position along the z-axis during the moving.
9. The method of claim 8, wherein the second robot arm remains facing a second storage array of the media element storage library during the moving, wherein the second storage array faces the first storage array.
10. The method of claim 9, further including: first rotating the first robot arm about a first pivot axis from a first rotational position adjacent the first storage array to a second rotational position adjacent the second storage array; and first translating the first pivot axis towards the second storage array in direct response to and simultaneously with the first rotating step.
11. The method of claim 10, further including: second rotating the second robot arm about a second pivot axis from a first rotational position adjacent the second storage array to a second rotational position adjacent the first storage array; and first translating the second pivot axis towards the first storage array in direct response to and simultaneously with the second rotating step.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
DETAILED DESCRIPTION
[0037] Disclosed herein are systems and apparatuses that reduce robotic assembly contention for job completions in media element storage libraries by translating (e.g., displacing) a robot arm of a first robotic assembly mounted over a first storage array of a storage library away from a central reference plane as the robot arm is being pivoted into a first position adjacent the first storage array to allow a robot arm of a second robotic assembly to slide or otherwise move past the robot arm of the first robotic assembly, even when the robot arms of the first and second robotic assemblies are disposed at the same height (e.g., along a z-axis) within the storage library. The robot arm of the disclosed robotic assembly includes any appropriate pivot apparatus or member (e.g., pivot pin or the like) that facilitates pivoting or rotation of the robot arm about the pivot axis (e.g., about the z-axis or the x-axis) between the first and second rotational positions. The pivot member is mounted on a movable carriage that is configured to slide or otherwise translate (e.g., along the y-axis or x and y-axes) between first and second translation positions relative to a mounting apparatus or member of the robotic assembly in response to the pivot member of the robot arm being pivoted about the pivot axis (via a cam assembly interconnected between the pivot member, the carriage and the mounting member).
[0038] Before discussing the disclosed systems and apparatuses in more detail, reference is now initially made to
[0039] Generally, the storage library 100 may be constructed of any appropriate upright framework or structure that allows for rapid storage and access of media elements by the robotic assemblies 200 (e.g., first, second, third and fourth robotic assemblies 200.sub.1, 200.sub.2, 200.sub.3, 200.sub.4) based on commands received from any appropriate interconnected system controller and/or host device (e.g., server, computer, etc.). As an example, the storage library 100 may include a first storage wall or array 104 and an opposite second storage wall or array 108 spaced from the first storage array 104 by an aisle or interior portion 112. Each of the first and second storage arrays 104, 108 may include a plurality of media element storage slots 116 for receiving respective media elements (not shown), where the storage cells or slots 116 of the first storage array 104 oppose or face the storage slots 116 of the second storage array 108. In one arrangement, the various storage slots 116 may be embodied within a plurality of removable storage library modules (e.g., magazines, not shown) of any appropriate form factors that are configured to be positioned within (e.g., inserted into) respective bays (not shown) formed on or in inside surfaces of the first and second storage arrays 104, 108 and removably secured to the first and second storage arrays such as via latches, thumbscrews, and/or the like (e.g., where the various bays may be spaced by any appropriate spacing such as by 1U, 2U, or the like).
[0040] Each robotic assembly 200 may be generally configured to move in a various manners and dimensions within the interior portion 112 of the storage library 100 to manipulate one or more media elements within the storage library 100. As an example, each robotic assembly 200 may include a robot arm 204 (e.g., hand assembly) housing a media element picker assembly (not shown) that is configured (e.g., based on command signals received from the system controller and/or host computer) to grab and release media elements as part of manipulating media elements in storage slots 116 of either of the first or second storage arrays 104, 108 within the storage library 100. For instance, each robotic assembly 200 may be configured to remove media elements from storage slots 116 of either of the first or second storage arrays 104, 108 and insert the same into media element players 120 (e.g., tape drives) for reading and/or writing of data, remove media elements from the media element players 120 and insert the same into the slots 116 of either of the first and second storage arrays 104, 108, read labels on the media elements or media players 120, deliver or retrieve media elements from a media element import/export opening of the storage library 100, and/or the like. The various media element players 120 may be housed within media player cabinets 124 positioned adjacent the first or second storage arrays 104, 108 for access by the robotic assemblies 200 and/or elsewhere within the storage library 100.
[0041] The storage library 100 may include a removable power/controller module (not shown) that includes, inter alia, a power supply for supplying the power required by the robotic assemblies 200 to manipulate the media elements and control electronics for generating electrical control signals to control the operation of the robotic assemblies 200. For instance, the power/controller module may be plugged into and removed from a respective bay or slot of the storage library 100. Furthermore, the power/controller module may include or be associated with any appropriate computer program products, i.e., one or more modules of computer program instructions encoded on a non-transitory computer-readable medium for execution by a data processing apparatus to control the operation of the robotic assemblies 200 and other components of the storage library 100. In this regard, the power/controller module may encompass one or more apparatuses, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers.
[0042] With reference to
[0043] With reference now to
[0044] Each robotic assembly 200 may also include a z-axis guiding apparatus 216 that is configured to facilitate translation (e.g., sliding, movement, displacement) of the robot arm 204 along or parallel to the z-axis 308. As just one example, the z-axis guiding apparatus 216 may include a rail assembly 220 extending along or parallel to the z-axis 308 and interconnected between the first and second x-axis guiding apparatuses 208, 212, and a z-axis translation member 224 appropriately interconnected to the robot arm 204 that is configured to translate (e.g., slide, move, etc.) along the rail assembly 220. For instance, the z-axis translation member 224 may include a plurality of bearing members (e.g., rollers, wheels, balls) that are configured to roll or ride along the rail assembly 220 to move the robot arm 204 along or parallel to the z-axis 308. While one arrangement for facilitating movement of the robot arm 204 along or parallel to the z-axis 308 is illustrated, it is to be understood that various other arrangements for and manners of moving the robot arm 204 along or parallel to the z-axis 308 are envisioned and encompassed herein.
[0045] As discussed previously, the robot arms of two or more existing robotic assemblies mounted on the same rail assembly over a common storage array are sometimes configured to manipulate media elements of either of first or second spaced storage arrays (e.g., such as first and second storage arrays 104, 108), such as by pivoting or rotating through 180 degrees (e.g., about a pivot axis that extends along or is otherwise parallel to the z-axis 308) or the like to access the first or second storage arrays as appropriate. However, contention between the two or more robotic assemblies often arises when one of the robotic assemblies needs to move to a location (e.g., along x-axis 300) that is past another one of the robotic assemblies resulting in media element access delays and other inefficiencies within the storage library. Even if first and second of such robotic assemblies were respectively mounted over the first and second storage arrays on different respective rail assemblies, contention would still result because the pivot axes of the robot arms are typically disposed halfway between the first and second storage arrays (e.g., halfway along y-axis 304) to allow the robot arms to access either of the first or second storage arrays by pivoting through 180.
[0046] As will be discussed in more detail in the discussion that follows, the robot arm 204 of each robotic assembly 200 is pivotable about a pivot axis 312 that translates (e.g., moves, displaces) along a translation axis 316 (e.g., parallel to the y-axis 304) away from a central reference plane 320 that is halfway between the first and second storage arrays 104, 108 and parallel to the x and z-axes 300, 308 in response to and simultaneously with the robot arm 204 being pivoted about the pivot axis 316 into a first position adjacent the storage array over which the robotic assembly 200 is mounted (e.g., the first storage array 104 for robotic assemblies 200.sub.1, 200.sub.3; the second storage array 108 for robotic assemblies 200.sub.2, 200.sub.4) to create a space 136 within the interior space 116 of the storage library through which another robotic assembly 200 mounted over the opposing storage array can pass, even when the robot arms 204 of the two robotic assemblies are disposed at the same height (e.g., along the z-axis 308) within the storage library 100. For instance, see space 136 created by robot arm 204 of first robotic assembly 200.sub.1 in
[0047] Reference is now made to
[0048] Broadly, each robot arm 204 may generally include a housing 228 (e.g., constructed of plastics, composites, etc.) that is configured to house or otherwise contain any appropriate electronics and other components for use in completing jobs within the storage library 100 such as a picker assembly (not shown) that is configured to telescope within and/or out of the housing 228 to grab media elements 232 (e.g., see
[0049] The robot arm 204 is pivotally and translatably attached to the z-axis guiding apparatus 216 through a mounting member 246, a carriage member 248 slidably attached to the mounting member 248 for movement relative to the mounting member 248 along the translation axis 316, at least one pivot member 242 (e.g., pivot pin, rod, shaft, etc., see
[0050] For instance, the mounting member 246 may be in the form of a rigid member (e.g., rigid bracket) that is rigidly or otherwise non-movably secured to the z-axis translation member 224, such as through fasteners 252 being inserted through aligned apertures 254 in the mounting member 246 and the z-axis translation member 224. The carriage member 248 may also be in the form of any appropriate rigid member or bracket that is slidably attached to the mounting member 246 so as to slide or translate along the translation axis 316 (e.g., along or parallel to the y-axis 304). As just one example, the carriage member 248 may include an elongated rod 256 (e.g., tube, post, etc.) extending along or parallel to the translation axis 316 that is configured to be slidably received in a correspondingly shaped elongated aperture 258 of the mounting member 246.
[0051] The robot arm 204 may be pivotally attached to the carriage member 248 for rotation about pivot axis 312 in any appropriate manner. As one example, the second free end 244 of the housing 228 of the robot arm 204 may be received between upper and lower portions 260, 261 (e.g., brackets, tabs, etc.) of the carriage member 248 and pivotally secured thereto such as via the pivot member 242 pivotally attaching an upper portion of the housing 228 to the upper portion 260 of the carriage member 248 and another pivot member 243 pivotally attaching a lower portion of the housing 228 to the lower portion 261 of the carriage member 248 (e.g., see
[0052] The robot arm 204 may be driven to pivot about the pivot axis 312 in any appropriate manner. As just one example, any appropriate gear 262 (e.g., bevel gear) may be rigidly (non-movably) secured to or relative to the pivot member of the robot arm 204 that is adapted to be driven by a corresponding gear 265 (e.g., bevel gear) attached to a shaft of a motor 264 that is driven under control of the system controller. See
[0053] As mentioned herein, the robotic assembly 200 also includes a cam assembly 250 that induces translation of the carriage member 248 (and thus the pivot axis 312) along or parallel to the translation axis 316 as the robot arm 204 is pivoted about pivot axis 312. See
[0054] For instance, the rotating component 268 may be in the form of a gear (e.g., spur gear) that is configured to rotate about a rotation axis (not labeled) that is parallel to the pivot axis 312, where the sliding member 267 (e.g., pin, wheel, etc.) is eccentrically attached to the gear (e.g., to an outer perimeter of the gear). As the mounting member 246 is configured to be rigidly (non-movably) attached to the z-axis guiding apparatus 216 (e.g., rigidly attached to the z-axis translation member 224, rotation of the rotating component 268 about its rotation axis in one of a clockwise or counterclockwise direction (e.g., as shown, in the counterclockwise direction) urges the sliding member 267 to slide along the slot 266 along a first course which simultaneously drives the carriage member 248 along the translation axis 316 in a direction towards the storage array over which the robotic assembly 200 is mounted (e.g., the first storage array 104 in the case of the first robotic assembly 200.sub.1 and the second storage array 108 in the case of the second robotic assembly 200.sub.2). In contrast, rotation of the rotating component 268 about its rotation axis in the other of the clockwise or counterclockwise direction (e.g., as shown, in the clockwise direction) urges the sliding member 267 to slide along the slot 266 along a second course opposite the first course which simultaneously drives the carriage member 248 along the translation axis 316 in a direction away from the storage array over which the robotic assembly 200 is mounted (e.g., the second storage array 108 in the case of the first robotic assembly 200.sub.1 and the first storage array 104 in the case of the second robotic assembly 200.sub.2).
[0055] The cam assembly 250 also includes a system for inducing rotation of the rotating component 268 about its rotation axis in one of the clockwise or counterclockwise directions simultaneous with rotation of the robot arm 204 about its pivot axis 312 in the one of the clockwise or counterclockwise directions. In one arrangement, the pivot member 242 may include a gear 269 (e.g., spur gear) rigidly (non-movably) secured to or relative to the pivot member 242 of the robot arm 204 that is configured to rotate about the pivot axis 312 as the pivot member 242 rotates about the pivot axis 312. To induce rotation of the rotating component 268 in the same rotational direction as the gear 269 (and thus the robot arm 204), the cam assembly 250 may include an intermediate gear 270 (e.g., spur gear) that is configured to simultaneously mesh with the teeth of the gear 269 and the rotating component 268. In this regard, rotation of the gear 269 in a counterclockwise direction (e.g., by driving of gear 262 in the counterclockwise direction by gear 265 of motor 264) induces simultaneous rotation of the intermediate gear 270 in a clockwise direction which, in turn, induces simultaneous rotation of the rotating component 268 in the counterclockwise direction (and vice versa). While one arrangement of gears has been shown to induce rotation of the rotating component 268 during rotation of the robot arm 204, it is to be understand that various other arrangements and type of gears and/or other components could be appropriately incorporated into the cam assembly 250 to rotate the rotating component 268 during rotation of the robot arm 204 which are hereby incorporated in the present disclosure.
[0056] To facilitate the reader's understanding of how the disclosed utilities reduce contention between robotic assemblies within a storage library, reference is now initially made to
[0057] In the case of the second and fourth robotic assemblies 200.sub.2, 200.sub.4, the carriage member 248 is positioned at a first translational position along the translation axis 316 relative to the mounting member 246 and second storage array 108 thus spacing the pivot axis 312 a first distance (not labeled) from the second storage array 108 (as the pivot axis 312 is fixed relative to the carriage member 248). Furthermore, the first free end 240 of the robot arm 204 is adjacent the second storage array 108 on one side of the pivot axis 312 for manipulation of media elements thereof (e.g., by picker assembly) or the like while the second free end 244 of the robot arm 204 is spaced from the second storage array 108 on an opposite side of the pivot axis 312 but between the central reference plane 320 and the second storage array 108.
[0058] In this regard, spaces 136 are created or otherwise exist between the central axis 320 and the second storage array 108 through which the second and fourth robotic assemblies 200.sub.2, 200.sub.4 (or other such robotic assemblies 200 mounted over the second storage array 108) can translate along or parallel to the x or z-axes 300, 308 (when the second and fourth robotic assemblies 200.sub.2, 200.sub.4 are in their first rotational and translational positions) and between the central axis 320 and the first storage array 104 through which the first and third robotic assemblies 200.sub.1, 200.sub.3 (or other such robotic assemblies 200 mounted over the first storage array 104) can translate along or parallel to the x or z-axes 300, 308 (when the first and third robotic assemblies 200.sub.1, 200.sub.3 are in their first rotational and translational positions) for completing jobs within the storage library 100. For instance, see robot arm 204 of second robotic assembly 200.sub.2 passing through space 136 in
[0059] Assume now that the system controller of the storage library 100 has received a request from a host computer for data located on a particular media element disposed within a slot 116 of the second storage array 108 and that the system controller has determined that the first robotic assembly 200.sub.1 is going to fulfill the request (e.g., by grabbing the media element and inserting the same into a media player 120 of the storage library 100). For instance, the system controller may, if necessary, instruct the first robotic assembly 200.sub.1 to translate or otherwise move along or parallel to the x-axis 300 to an x-axis coordinate that aligns with the particular media element in the second storage array 108. The system controller may also, if necessary, instruct the first robotic assembly 200.sub.1 to translate or otherwise move its robot arm 204 along or parallel to the z-axis 308 to a z-axis coordinate that aligns with the particular media element in the second storage array 108. Part of the aforementioned process may include determining whether any other robotic assemblies 200 are disposed in the path of the first robotic assembly 200.sub.1 and/or its robot arm 204 and commanding such robotic assemblies 200 to move to different locations in the storage library and/or waiting to move the first robotic assembly 200.sub.1 and/or its robot arm 204.
[0060] In any case, the system controller may then command the first robotic assembly 200.sub.1 to pivot its robot arm 204 about its pivot axis 312 in one of a clockwise or counterclockwise direction into a second rotational position which, as discussed herein, also simultaneously translates the robot arm 204 into a second translational position along or parallel to the translation axis 316 that is spaced from the first translational position away from the first storage array 104. Compare
[0061] With reference to
[0062] More specifically, had the pivot axis 312 been fixed relative to the mounting member 246 and thus the first and second storage arrays 104, 108 in
[0063] In this regard, the disclosed utilities effectively move robot arms 204 of robotic assemblies 100 mounted over one of the first and second storage arrays 104, 108 out of the path of robot arms of robotic assemblies mounted over the other of the first and second storage arrays 104, 108 to limit contention between the robotic assemblies and increase throughput of the storage library 100. Another advantage of the disclosed utilities is the ability to simultaneously pivot and translate the robot arms 204 of the robotic assemblies 200 in the manners disclosed herein through use of a single actuator or servo (e.g., the motor 264 of
[0064] It will be readily appreciated that many additions and/or deviations may be made from the specific embodiments disclosed in the specification without departing from the spirit and scope of the invention. In one arrangement, for example, the cam assembly 250 may include a worm gear driven by a motor that is configured to mesh with and drive the rotating component 268 (e.g., where the rotating component is in the form of a helical gear). In this regard, operation of the motor to drive the worm gear and rotate the rotating component 268 drives the carriage member 248 towards or away from the mounting member 246 and simultaneously rotates the robot arm 204 about the pivot axis 312. In this arrangement, the gear 262 and motor 264 would not be necessary. Furthermore, an intermediate gear may be intermeshed with the rotating component 268 and the pivot member 242 in any appropriate manner. As another example, the first and second x-axis guiding apparatuses of the first and second storage arrays 104, 108 could in some arrangements be mounted in or on a ceiling and/or floor (not labeled) of the storage library 100. Still further, the utilities disclosed herein may be applied to robot arms other than those specifically shown herein.
[0065] The illustrations and discussion herein has only been provided to assist the reader in understanding the various aspects of the present disclosure. Furthermore, one or more various combinations of the above discussed arrangements and embodiments are also envisioned. While this disclosure contains many specifics, these should not be construed as limitations on the scope of the disclosure or of what may be claimed, but rather as descriptions of features specific to particular embodiments of the disclosure. Furthermore, certain features that are described in this specification in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable subcombination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a subcombination or variation of a subcombination.
[0066] Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and/or parallel processing may be advantageous. Moreover, the separation of various system components in the embodiments described above should not be understood as requiring such separation in all embodiments, and it should be understood that the described program components and systems can generally be integrated together in a single software and/or hardware product or packaged into multiple software and/or hardware products.
[0067] The above described embodiments including the preferred embodiment and the best mode of the invention known to the inventor at the time of filing are given by illustrative examples only.