Repository system

CN117396960BActive Publication Date: 2026-10-09MICROSOFT TECHNOLOGY LICENSING LLC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202280037949.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2021-05-25
Filing Date
2022-05-18
Publication Date
2026-10-09
Estimated Expiration
2042-05-18

Smart Images

  • Figure CN117396960B_ABST
    Figure CN117396960B_ABST
Patent Text Reader

Abstract

A storage system includes a plurality of slots for storing objects, a plurality of rails, and a robot for interacting with the objects. The robot has at least two foot devices, each foot device having a respective clamping mechanism for releasably engaging the foot device with a rail. The robot also has a transfer mechanism for moving the robot from a first position to a second position while a first one or more of the foot devices remains engaged with a first one of the rails, the one or more of the foot devices abutting the first one of the rails in the first position, the one or more of the foot devices abutting a second one of the rails in the second position. The robot also has an end effector for interacting with an object in a slot.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to repository systems. Background Technology

[0002] A storage system can provide high-capacity storage for objects (including but not limited to physical objects). A storage system includes multiple slots for holding objects and at least one robotic component for accessing the objects. For example, a storage system may include multiple rows, each containing dozens or hundreds of vertically stacked slots. One or more robots may be provided that can move between slots to, for example, retrieve objects from slots, place objects into slots, or migrate objects between two slots.

[0003] A storage system for storing physical media objects can be called a "data storage system" or "data archive." A data storage system for storing magnetic tape cartridges is usually called a "tape library" (also known as a tape drive or tape jukebox). A data storage system for storing optical discs (such as CDs, DVDs, etc.) is usually called an "optical jukebox" (also known as an optical disc library). Summary of the Invention

[0004] According to a first aspect disclosed herein, a storage container system is provided, comprising: a plurality of slots for storing objects; a plurality of rails; and a robot for interacting with the objects. The robot includes: at least one end effector (e.g., a reader, gripper, or other actuator) for interacting with the objects in the slots; at least two leg devices; and a transfer mechanism. Each leg device includes a respective gripping mechanism for releasably engaging the leg device with one of the rails. The robot also includes a drive mechanism for moving the robot along the rails. The transfer mechanism is configured and arranged to move the robot from a first position to a second position while one or more of the leg devices remain engaged with the first rail in the rails, wherein one or more of the leg devices abut against a second rail in the first position, and one or more of the leg devices abut against a third rail in the second position.

[0005] At a first position, the robot has access to one or more slots in a first group (i.e., the first position of the storage system). At a second position, the robot has access to one or more slots in a second group (i.e., the second position of the storage system). The second group of slots includes at least one slot that the robot could not access at the first position. Therefore, the robot is moved between positions to allow it to access more slots.

[0006] At least one positioning feature (e.g., RFID tag or optical marker, magnetic marker or capacitive marker) may be present to allow the robot to determine its position within the storage system. Moving the robot from a first position to a second position may include one or more of the following: rotating the robot out of the plane of the guide rail about a second leg, rotating the robot about the second leg in the plane of the guide rail, and translating the robot in the plane of the guide rail. The storage system may include multiple or "swarm"-like robots.

[0007] The present invention is provided to introduce, in a simplified form, some concepts further described below in the detailed description. The present invention is not intended to identify key or essential features of the claimed subject matter, nor is it intended to limit the scope of the claimed subject matter. The claimed subject matter is also not limited to implementations that address any or all of the shortcomings pointed out herein. Attached Figure Description

[0008] To aid in understanding this disclosure and to illustrate how embodiments can be implemented, reference is made to the accompanying drawings by way of example, wherein:

[0009] Figure 1 A repository system based on an example described herein is illustrated schematically;

[0010] Figure 2 A robot based on an example described herein is illustrated schematically;

[0011] Figure 3 A flowchart illustrating the transfer actions that the robot can perform is shown;

[0012] Figure 4 An example of a transfer action that a robot can perform is illustrated schematically;

[0013] Figure 5 An example repository system with multiple robots is illustrated schematically;

[0014] Figure 6 An example of the transfer motion between two robots is illustrated schematically.

[0015] Figure 7 This schematically illustrates another example of a transfer action that a robot can perform;

[0016] Figure 8 This schematically illustrates another example of a transfer action that a robot can perform;

[0017] Figure 9 This schematically illustrates another example of a transfer action that a robot can perform;

[0018] Figure 10a and10b An example repository system layout is illustrated schematically;

[0019] Figure 11 An example layout of slots in a repository system is shown;

[0020] Figure 12 An example layout of slots in a repository system is shown;

[0021] Figure 13 An example of Gray code printed on one side of the guide rail is shown schematically;

[0022] Figure 14 A specific example of the support leg device is shown schematically;

[0023] Figure 15a and 15b Specific examples of clamping mechanisms in open and closed states are schematically shown respectively; and

[0024] Figure 16 A specific example of a conveying mechanism is illustrated schematically. Detailed Implementation

[0025] This disclosure relates to a storage system (e.g., a data storage system) with multiple rails on which robots can operate. Each robot can move along the length of a rail to access objects at different locations within the storage system. Some, but not all, locations are accessible from a given rail. As will be described in detail below, the robot includes hardware that enables it to move itself between different rails and thereby access more locations within the storage system. Even without performing a “complete” transfer between different rails, the same hardware still enables the robot to move relative to at least one rail (e.g., a robot may move aside to allow another robot to pass). The examples described herein provide one or more of the following advantages:

[0026] Greater availability and minimal failure impact radius – robots are not limited to a pair of rails. Any failure of a robot or a single pair of rails will not cause failure of the remaining robots on that rail, which can move freely on unaffected sections and avoid the failure point by moving beyond the faulty robot / rail section.

[0027] Distributed intelligence—In some examples, robots can be autonomous, meaning they can react more effectively to changes in their environment, adding an extra layer of safety. Onboard processing of sensors eliminates the need to stream sensor data from the robot to the controller via high-bandwidth communication channels, improving reliability and enabling larger clusters.

[0028] Flexible layout and reliable storage—functional elements in the storage system (such as writers, readers, storage units, etc.) are unified through a network of rails used by robots for transport. Since robots can move between rails, there are no limitations on the connections between these elements (different arrangements will be more suitable for different situations). Modularity provides resilience and the ability to scale the system based on workload attributes (e.g., increasing read / write throughput and / or system storage capacity). Furthermore, robots can be acquired independently. That is, as the workload increases, more robots can be added as needed, thus scaling the robot technology independently of storage devices.

[0029] The compact, lightweight, and agile robot design—moving along a single axis instead of supporting multiple axes—makes the robot smaller, lighter, requires fewer specialized brakes and mechanics, and operates with less power.

[0030] Service flexibility – During normal operation, robots can move between different rails, meaning any robot can access any media or any read / write drive in the library. This helps with load balancing based on workload demands. This feature also supports additional routing options, improving access to media in cases of increased congestion (traditional tape library robots have only one route between any object—media or drives—via one of a few robots, i.e., the bottleneck).

[0031] High performance – Separating the installation / unloading function from the picking / delivery function allows for media preparation in a location adjacent to the drive (potentially addressing robot congestion issues) and accelerates media exchange. This maximizes drive utilization and improves their efficiency. Functional decomposition also allows for design specifically tailored to their tasks, resulting in high performance and high reliability.

[0032] Figure 1 A storage system 100 according to an example described herein is schematically illustrated. The storage system 100 includes multiple slots 120 for receiving objects, at least one robot 200 (also referred to as a "shuttle"), and multiple guide rails 110. An optional central control system 130 is also included. Figure 1 As shown in other examples, the functionality of control system 130 can be implemented in a distributed manner across multiple robots 200. For example, there can also be a distributed control system, or in a fully autonomous system, the robots can cooperate with each other in a distributed manner.

[0033] In operation, robot 200 uses guide rails 110 to move around storage system 100 to access objects stored in slots 120. Each of the guide rails 110 may be substantially identical in construction, allowing robot 200 to operate on any one or more of the guide rails 110 at a given time. Guide rails 110 may be parallel guide rails (equidistant pairs).

[0034] Understandably, the exact arrangement and number of slots 120 and guide rails 110 can vary. In this example, slots 120 are arranged in horizontal rows 121, with horizontal guide rails 110 positioned between each row 121. Specifically, the first row 121a of slots 120 is positioned between the first guide rail 110a and the second guide rail 110b, and the second row 121b of slots 120 is positioned between the second guide rail 110b and the third guide rail 110c.

[0035] For reference, a right-handed coordinate system is introduced, in which guide rail 110 exists in the xy plane, the x-axis is parallel to guide rail 110, and the y-axis is perpendicular to guide rail 110. The z-axis can be seen in the following figures and extends into the plane away from guide rail 110. Figure 1 (Outside the page). The side of the slot 120 on which the robot 200 runs can be referred to as the "front".

[0036] When at least some of the objects housed in slot 120 are physical storage media, at least one write driver 150 for writing to the physical storage media and / or at least one read driver 160 for reading from the physical storage media can be provided, such as Figure 1 As shown.

[0037] Robot 200 can migrate a given physical storage medium to a write drive 150 that can write to that physical storage medium. Specifically, when writing a specific medium object using write drive 150, robot 200 can migrate the medium object from write drive 150 to slot 120 for storage.

[0038] Robot 200 can migrate a given physical storage medium to read drive 160, where the physical storage medium can be read. Specifically, robot 200 can migrate a specific medium object between slot 120 and read drive 160 so that data written to that medium object can be read.

[0039] In this example, there may be multiple write drives 150 (e.g., one per row 121) and / or multiple read drives 160 (e.g., one per row 121). For performance reasons, it may be preferable to position the read drives 160 closer to slot 120. In this example, the write medium may have more lenient latency requirements, so it is acceptable to position the write drives 150 further away from slot 120 (e.g., further away from storage system 100) than the read drives 160. In other examples, different numbers of write drives 150 and read drives 160 may be present; for example, read drives 160 may be present on each row 121, but only one or two write drives 150 may be present (e.g., on the bottom row 121). Examples are shown and discussed later below. Figure 11 middle.

[0040] A write drive interface 151 may be included to allow robot 200 to interface with write drive 150. A read drive interface 161 may be included to allow robot 200 to interface with read drive 160. For example, interfaces 151 and 161 can serve as temporary storage areas for media to be read, meaning robot 200 can "drop off" physical storage media at interfaces 151 and 161 to add it to a queue for later writing / reading. This means robot 200 can return to slot 120 and continue working.

[0041] exist Figure 1 In the example, the write driver 150 and the read driver 160 are separate units, but it is understood that a single driver can be provided to perform both write and read operations.

[0042] In the example, one or more of a write drive 150, a read drive 160, or a single drive used to perform write and read operations may be included within the robot 200 itself. For example, the end effector 240 of the robot 200 itself may include a write drive and / or a read drive. In such an example, some or all of the migrations described above are unnecessary. For example, the robot 200 may include an “internal” write drive 150, meaning that the robot 200 itself can write to a given physical storage medium and does not need to be migrated to an external write drive 150 (although if the robot 200 does not include an internal read drive 160, it may still need to be migrated to an external read drive 160). Similarly, the robot 200 may include an “internal” read drive 160, meaning that the robot 200 itself can read from a given physical storage medium and does not need to be migrated to an external read drive 160 (although if the robot 200 does not include an internal write drive 150, it may still need to be migrated to an external write drive 150). Robot 200, which includes both internal write drive 150 and internal read drive 160 (or a single read-write drive), may not require any migration of the physical storage media at all (although this is not excluded, as robot 200 may still migrate the physical storage media for other purposes, such as maintenance).

[0043] More detailed examples of Robot 200 are as follows: Figure 2 As shown. Robot 200 includes: a first leg device 210, a second leg device 220, a conveying mechanism 230, and an end effector 240.

[0044] In this example, robot 200 also includes: controller 250, communication interface 260, power supply 270, and sensing system 280. These are optional features. As mentioned above, robot 200 may also include one or more of write driver 150 and read driver 160 (or a single driver that provides both write and read functionality).

[0045] Controller 250 controls the first leg device 210, the second leg device 220, the conveying mechanism 230, and the end effector 240. Controller 250 can be implemented, for example, using one or more processors. In the example, Figure 1 The functions of the central control system 130 shown (and described in more detail below) can instead be implemented in a distributed manner across one or more robots 200, wherein each robot 200 uses its internal controller 250.

[0046] Communication interface 260 allows robot 200 to communicate via a communication link (in Figure 1(Indicated by dashed arrows) Robot 200 receives and / or transmits data. In some examples, robot 200 may receive routing information from control system 130. In alternative or additional examples, robot 200 may communicate with one or more other robots as part of a mesh network. Preferably, the communication link is a wireless communication link, but wired communication links are not excluded. A wireless communication link is particularly advantageous when robot 200 includes an internal power supply 270, because then robot 200 can be independent of control system 130 and can move freely throughout the library. In examples, robot 200 may use, for example, low-friction components or regenerative braking to save power.

[0047] Power supply 270 is used to power robot 200. In a first example, power supply 270 can be an internal power source for robot 200, such as an onboard battery. The advantage of this is that robot 200 does not need to be connected to an external power source. In other examples, robot 200 may not include its own power supply 270, but can instead receive power from an external power source via a wired or wireless connection. The advantages of this include that robot 200 does not need an onboard power supply 270 and can be made smaller and / or lighter, and robot 200 does not need to be recharged. In a particular example, robot 200 can receive power via rail 110.

[0048] The sensing system 280 allows the robot 200 to determine its position within the storage system 100. An example of positioning will be described later. The sensing system 280 may include, for example, one or more optical sensors.

[0049] The first support leg 210 includes a first clamping mechanism 211 for releasably engaging the first support leg 210 with one of the guide rails 110. The second support leg 220 includes a second clamping mechanism 221 for releasably engaging the second support leg 220 with one of the guide rails 110. The distance between the support legs 210 and 220 is substantially equal to the distance between adjacent pairs of guide rails 110. Therefore, if the first support leg 210 engages with one of the guide rails 110, the second support leg 220 can engage with an adjacent guide rail 110. Figure 1 As shown, for example, the first support device 210 engages with the first guide rail 110a, and the second support device 220 engages with the second guide rail 110b.

[0050] Any suitable clamping mechanism that releasably engages with guide rail 110 can be used. For example, one or more of clamping mechanisms 211, 221 can be mechanical clamping mechanisms arranged to physically engage with guide rail 110 (described below). Figure 14 , 15a(An example is shown in 15b). In other examples, the guide rail 110 may be magnetic (i.e., ferromagnetic), and one or more of the clamping mechanisms 211, 221 may include at least one electromagnet for selectively engaging with the guide rail 110 via electromagnetic force. In a further example, one or more of the clamping mechanisms 211, 221 may include both mechanical and electromechanical components for clamping the guide rail 110. In an even further example, another approach is to use an air bearing, and pressurized air is injected through the bearing to obtain a low-friction buffer pad. Mechanical clamps may still be used to enclose the guide rail, utilizing air pressure to provide a bearing solution. It should also be noted that permanent magnets may be used to engage the foot assembly with the guide rail 110. These permanent magnets can be selectively engaged by mechanically moving the magnet closer to the guide rail 110.

[0051] The clamping mechanism 211 of the first leg device 210 and the clamping mechanism 221 of the second leg device 220 do not need to be of the same type.

[0052] Robot 200 also includes at least one drive mechanism for propelling robot 200 along the length of guide rail 110. In some examples, the drive mechanism is located within the main body of robot 200 (rather than one or more legs in the leg assembly). For example, the drive mechanism could be a propeller mounted on the main body that propels robot 200 along the guide rail.

[0053] In alternative or additional examples, at least one of the first leg assembly 210 and the second leg assembly 220 includes a drive mechanism for propelling the robot 200 along the length of the guide rail 110 currently engaged by the leg assembly. Figure 2 In the example, the first support device 210 and the second support device 220 are substantially the same in structure. The first support device 210 includes a first drive mechanism 212, and the second support device 220 includes a second drive mechanism 222.

[0054] In one example, the drive mechanism may include a wheel having a high-friction surface for interacting with the guide rail 110. In another example, the drive mechanism may include a circular gear (linear gear or helical gear), and the guide rail 110 includes a linear gear, with the circular gear of the drive mechanism engaging with the linear gear.

[0055] In other examples, a single mechanism may provide both the gripping mechanism 211 and the drive mechanism within one or more leg devices. For instance, the guide rail 110 may be constructed of alternating permanent magnetic poles, and the single mechanism may include multiple electromagnets that can be selectively controlled to both engage with the leg devices and propel the leg devices along the guide rail 110 (in a manner similar to a stepper motor). The advantage of this is that the gripper and the guide rail actuator (drive mechanism) are the same component, which can reduce the robot's complexity and the number of parts / cost. This setup can also be reversed, with the robot comprising an array of permanent magnets and the guide rail comprising multiple selectively controlled electromagnets.

[0056] The end effector 240 allows the robot 200 to interact with objects in the slot 120. The end effector 240 may include one or more of the following: a gripper for removing and / or placing objects into the slot 120; a reader for reading data from the objects in the slot 120; and a writer for writing data to the objects in the slot 120. To provide the robot 200 with a more stable base for interacting with objects in the slot 120 from this base, it may be preferable to activate the end effector 240 only when both legs 210 and 220 are engaged with the guide rail 110, but this is not necessary.

[0057] The specific type of end effector 240 depends on the type of object housed in slot 120. Examples of such objects include physical storage media (such as silica glass written by laser, magnetic tape, or other optical media) or non-storage computing resources, such as optical computing units.

[0058] Another example of the end effector 240 is a cleaning or maintenance device. For example, a robot 200 with such a cleaning device can roam the storage system 100 to clean or otherwise maintain objects in the tank 120. Another example of the end effector 240 is a camera. The robot 200 can send images of objects in the tank 120 and / or damaged components of the storage system 100 to another device (e.g., a central control system 130) via a communication interface 260.

[0059] Robot 200 may include two or more end effectors of the same or different types.

[0060] In some examples, the storage system 100 includes at least one robot 200 having a first type of end effector 240 and at least one robot 200 having a second type of end effector 240. This is particularly advantageous in the context of this disclosure, where each robot 200 can be moved between rails 110, since each of the robots 200 can access overlapping portions of the storage system 100 in this way. For example, one robot 200 may be a maintenance robot with maintenance equipment, while another robot 200 may be a read / write robot for accessing objects in slots 120.

[0061] The conveying mechanism 230 allows the robot 200 to perform conveying actions (also known as rail switching actions) between the guide rails 110. Various specific types of conveying actions are possible, depending on the specific structure of the robot 200, the number of legs, the arrangement of the guide rails 110, etc. In other words, the conveying mechanism 230 is constructed and arranged such that, while one or more legs are still engaged with the first guide rail, the robot 200 is moved from a first position to a second position, where one or more legs are abutted with the second guide rail in the first position, and one or more legs are abutted with the third guide rail in the second position. In other words, the robot 200 can maintain engagement of one or more legs with one guide rail and use these legs as anchors for conveying between the guide rails 110. The controller 250 can control the robot 200 to perform the conveying actions.

[0062] Figure 3 This is a flowchart illustrating an example of a transmission action. Figure 4 A series of images are shown illustrating this example transfer action performed by robot 200. In this example, robot 200 includes two outriggers (such as...). Figure 2 (Example). Initially, robot 200 is in a first position, with first leg device 210 engaged with first guide rail 110a in the first position and second leg device 220 engaged with second guide rail 110b in the first position. The transfer action then proceeds as follows:

[0063] In S301, the controller 250 controls the first clamping mechanism 211 to disengage the first foot device 210 from the first guide rail 110a. The first foot device 210 can then remain adjacent to the first guide rail 110a (although it is no longer engaged with the first guide rail 110a).

[0064] In S302, controller 250 controls transfer mechanism 230 to move robot 200 while the second leg device 220 engages with the second guide rail 110b, such that the first leg device 210 moves from abutment to the first guide rail 110a to abutment to the third guide rail 110c. In this example, moving (S302) robot 200 includes rotating the robot about the second leg device 220 out of the plane (xy plane) of guide rail 110. Specifically, robot 200 pivots approximately 180 degrees about the second guide rail 110b as an axis of rotation around the second leg device 220. In other words, the second leg device 200 (i.e., the one that remains engaged with guide rail 110) is used as an anchor to move robot 200. In this example, this movement (S302) also includes pivoting the first leg device 210 (i.e., the unclamped side of robot 200) another 180 degrees in the same direction, so that it is correctly upward at the end of the pivoting operation. These two pivoting movements can be provided by the same transmission mechanism 230. See below for reference. Figure 14 Describe an example conveyor mechanism 230 used to perform these two actions.

[0065] In S303, the controller 250 controls the first clamping mechanism 211 to engage the first support device 210 with the third guide rail 110c. The transfer action is completed.

[0066] Understandable. Figure 4 The motion shown is just an example, and other motions can be used to move robot 200 from the first position to the second position.

[0067] Figure 7 An example of a transfer motion performed by a robot 200 having four legs 220a, 220b, 220c, and 220d is shown. The robot 200 in this example has a substantially square cross-section (in the yz plane). The legs 220a, 220b, 220c, and 220d are arranged on the x-axis edge of the robot 200's body. Figure 3 and 4 Similar to the previous example, the mobile robot 200 includes a leg assembly that allows the robot 200 to rotate out of the plane (xy plane) of the guide rail 110. The leg assembly remains anchored to one guide rail (leg assembly 220a in this case). Note that in this example, the leg assembly 220d adjacent to the guide rail (the third guide rail 110c in this example) is different from the leg assembly 220b that disengages from its guide rail 110a at the start of the transfer action. Similar to the previous example, the leg assembly 220d can rotate in the same direction to properly align with the new guide rail 110c for engagement. Similar constructions can be used where the robot 200 has cross-sectional shapes of different shapes. Particularly suitable shapes include triangles, squares (such as... Figure 7Examples of regular polygons, such as pentagons and hexagons.

[0068] Figure 8 An example of a transfer motion performed by a robot 200 comprising two leg devices 210, 220 is shown. In this example, a transfer mechanism 230 rotates the robot 200 in the plane (xy plane) of the guide rail 110 about the engaging leg device (the second leg device 220 in this example). Specifically, the robot 200 pivots substantially 180 degrees in the xy plane about the second leg device 220. In this example, the motion also includes pivoting the first leg device 210 (i.e., the unclamped side of the robot 200) another 180 degrees in the same direction, thus ensuring the correct upward orientation at the end of the pivoting motion. Both pivoting motions can be provided by the same transfer mechanism 230. In other examples, the first leg device 210 may be configured to engage with the guide rail in either orientation, in which case it does not need to rotate itself before engaging with the new guide rail.

[0069] In some examples, robot 200 can perform transfer actions in two or more stages, for example, by using one or more different leg devices as "anchors" for each stage. Figure 9 An example is shown. In this example, robot 200 includes four legs: two first legs 210a and 210b and two second legs 220a and 220b. Each leg in this example is located at the end of a "leg". In this example, the transfer mechanism 230 translates robot 200 in the plane (xy plane) of guide rail 110 when performing a transfer action (i.e., without rotating in either of the aforementioned directions).

[0070] Specifically, robot 200 begins at a position where (two) first legs 210a, 210b are adjacent to first guide rail 110a and (two) second legs 220a, 220b are engaged with second guide rail 110b. Then, transfer mechanism 230 completes a first stage by using the first legs 210a, 210b as anchors to move the second legs 220a, 220b to third guide rail 110c. Then, transfer mechanism 230 completes a second stage by using the second legs 220a, 220b as anchors to move the first legs 210a, 210b to second guide rail 110b. In this example, one or more "legs" may have "knees".

[0071] The ability of robot 200 to perform transfer actions means that each robot 200 can move between rails 110 to access slots 120 on different rows 121. This has many advantages:

[0072] Robots 200 are independent because they can move anywhere. No additional hardware (such as a vertical "elevator") is needed to move robots 200 between rows 121.

[0073] Robot 200 can retrieve objects from slot 120 and deliver them to any row 121 without needing to cooperate with other robots.

[0074] The number of possible routes for robot 200 from its current position to the target slot 120 has increased significantly. This means that robots 200 can avoid each other (see...). Figure 6 (Example). This also means that robot 200 can still navigate to target slot 120, even if, for example, a portion of one of the rails in guide rail 110 has a problem or is blocked (meaning robot 200 cannot pass through that particular portion). This also means that robot 200 can potentially identify and take the optimal route to reach the target location within the warehouse system 100.

[0075] Robot 200 can be easily removed for maintenance.

[0076] There may be multiple identical robots 200 or a "cluster" of identical robots 200 in the library system 100. Figure 5 An example is shown where six robots 200 exist in a library system 100, which includes eight rows 121 of slot 120 and nine guide rails 110 (using...). Figure 1 and 3 (The same alternating guide rails are arranged). In Figure 5 The image shows a single “panel” 101 for the slot 120 and guide rail 110. In other examples described below, more panels 101 may be present.

[0077] In some examples, the drive mechanism 212, 222 of one of the footplates 210, 220 can be activated only when the footplates 210, 220 are engaged with the guide rail 110. That is, the robot 200 can move along the guide rail 110 only when engaged with a single footplate 210, 220. This allows two robots 200 to pass each other using minimal space. Examples of such passing actions include... Figure 6 As shown.

[0078] exist Figure 6In the example, there are two robots 200a and 200b. For simplicity, only three guide rails 110a to 110c are shown. The first robot 200a is in a first position in which its first leg 210a engages with the first guide rail 110a and its second leg 220a engages with the second guide rail 110b. The second robot 200b has a second leg 220b that engages with the third guide rail 110c, but its first leg 220a does not engage with any guide rail 110. Specifically, the transfer mechanism (not shown) of the second robot 200b is activated to rotate the first leg 210b of the second robot 200b out of the plane of the guide rail 110, and in particular, away from the path of the first robot 200a. This means that even with only three guide rails 110, the first robot 200a and the second robot 200b can pass each other.

[0079] Therefore, further advantages are achieved when multiple robots 200 exist in the repository system 100. For example:

[0080] The control system 130 can dynamically dispatch the robot's services to where they are needed during operation. This means that the control system 130 can balance the service load and is robust to failures.

[0081] The system is more scalable because, for example, more than 200 robots can be added to it (see the prior art, where robots on the same rail cannot pass each other, so each rail is limited to one or two robots. In the prior art, more robots can be used, but the utility of each robot decreases with each additional robot).

[0082] Adjacent shelves can share rail hardware, thereby reducing warehouse costs and simplifying storage.

[0083] In yet another example, the repository system 100 may include multiple panels 101. Figure 10a An example is shown where the repository system 100 includes a series of four panels 101. Each panel 101 may have the features described previously. Figure 5 The construction shown in the example.

[0084] In this configuration, robot 200 can also be transferred between the first panel 101 and the adjacent second panel 101 using transfer mechanism 230. For this purpose, the first leg assembly 210 disengages from the first guide rail 110a as before, but then the robot 200 is moved to an orientation where the first leg assembly 210 is adjacent to the guide rail on the adjacent second panel 101 before engaging with that guide rail. Transfer mechanism 230 can then move robot 200 again so that the second leg assembly 220 meets another guide rail on the second panel 101.

[0085] like Figure 10b As shown, a similar arrangement can be achieved by a single panel 101 with a boustrophedonic ("snaking") plane. This effectively extends the horizontal dimension of the robot 200 as it moves using its main drive system (i.e., in the x-direction, along guide rail 110).

[0086] Figure 10b The example arrangement also allows the robot to use the conveyor mechanism 230 to partially transport across the panel (in the same manner described above for transporting between different panels 101), although this is not required. This type of transport provides an alternative and potentially faster route to adjacent panel sections (compared to robot 200 moving along guide rail 110). It also allows robot 200 to avoid hardware failures and / or other robots in a similar manner as described above.

[0087] Figure 11 An example arrangement is shown where one or more drives 500 are positioned separately from panel 101. For example, the drives 500 may be one or more write drives 150 or one or more read drives 160 (as described above). At least one of the rails 110 extends from panel 101 to the drive 500 to allow robot 200 access to the drive 500. This provides another advantage for achieving transfer actions, as all robots 200 can reach the drive 500 without requiring each rail 110 to be connected to the drive 500.

[0088] Figure 12 An example arrangement is shown providing at least one non-panel rail 111, which is a rail having a similar construction to the (panel-)rail 110, but its position prevents the robot 200 from accessing objects in the slot 120 when engaged with one of the non-panel rails 111. In this example, the non-panel rail 111 is located above the panel 101. The robot 200 can use these non-panel rails 111 to transfer and / or access other parts of the storage system 100 between panels 101.

[0089] The storage system 100 may include at least one positioning feature to allow the robot 200 to determine its position within the storage system 100. The robot 200's sensing system 280 may be used to detect the at least one positioning feature, thereby enabling the robot 200 to determine its position within the storage system 100.

[0090] The first example of a positioning feature is an RFID tag, located on a rail within a guide rail. The second example of a positioning feature is an optical linear code (such as a barcode or Gray code). An example of Gray code is... Figure 13 As shown. In some examples, each of the guide rails 110 includes its own positioning features.

[0091] exist Figure 13 In this configuration, Gray code is printed on one side of guide rail 110 (top in this example). The Gray code can be optical, magnetic, or capacitive. Sensing system 280 accordingly includes optical, magnetic, or capacitive sensors. By reading the Gray code at the robot 200's current position, the robot 200 can uniquely determine its position.

[0092] In the example, robot 200 includes an internal positioning module configured to determine the position of robot 200 within media storage system 200. As mentioned, the fact that robot 200 can roam freely within storage system 100 is particularly advantageous.

[0093] Now refer to Figures 14 to 16 Describe a specific example construction of robot 200.

[0094] Figure 14 An example of the first support device 210 is shown. The construction of the second support device 220 may be substantially the same as that of the first support device 210, and therefore will not be described in detail (the construction of the second support device 220 may be a mirror image of the construction of the first support device 210).

[0095] The clamping mechanism 221 in this specific example is Figure 15a and 15b More details are shown in the middle (relative to) Figure 14 (View from the other side). Figure 15a The clamping mechanism 221 is shown in the first (closed) state, and Figure 15b The clamping mechanism 221 is shown in the second (open) state.

[0096] In this example, the clamping mechanism 221 includes a first frame 401a and a second frame 401b, which pivot about their respective first pivots 407a and second pivots 407b. A gear mechanism 405 is provided for rotating the first frame 401a and the second frame 401b in opposite directions. Each frame has one or more wheels for engaging with the guide rail 110. In this example, the first frame 401a includes two wheels 402a and 403a, and the second frame 401b also includes two wheels 402b and 403b, although other arrangements are possible. Additional wheels may be provided. Figure 14 (not shown in the image), such as wheels running in front of guide rail 110 to provide additional stability.

[0097] A motor 406 is provided, operable to move the first frame 401a and the second frame 401b between a closed state and an open state via a gear mechanism 405, such that the wheel grips and releases the side of the guide rail 110. The clamping mechanism 221... Figure 15a The diagram shows the closed state. Figure 15b It is shown as open.

[0098] Figure 14 The illustrated support device 210 also includes a drive mechanism 222 for propelling the robot 200 along the guide rail 110. In this example, the drive mechanism 222 includes a first circular gear 411a and a second circular gear 411b. The second circular gear 411b is driven by a motor 413 via a connecting link 412 (two orthogonal bevel gears in this example). The second circular gear 411b engages with the first circular gear 411a, thus the first and second circular gears rotate in opposite directions during operation. Figure 14 In the arrangement shown, the first circular gear 411a engages with the (front) teeth 111 of the guide rail 110. Typically, the first circular gear 411a will engage with the teeth 111 of any guide rail 110 currently engaged by the clamping mechanism 221.

[0099] Figure 16 A conveying mechanism 230 is shown as a specific example. The conveying mechanism includes two gear-rack arrangements, each including gears 421a and 421b (bevel gears) arranged to engage racks 422a and 422b, which have a curved profile about the x-axis. Gears 421a and 421b can be driven by a conveying motor 423. For example, when the first gear 421a is driven, it will rotate to move along the length of the curved rack 422a, thereby acting to rotate the first leg assembly 210 relative to the body of the robot 200. If the first leg assembly 210 engages with a guide rail, this will cause the robot 200 to rotate as described above. Figure 4The movement is as described. If the first support device 210 is not engaged with the guide rail, this will cause the first support device 210 to rotate. The second gear 421b and the second rack 422b operate in a similar manner.

[0100] It is understood that the examples described herein should be construed as illustrative examples of embodiments of the present invention. Further examples are given below.

[0101] The term "control module" is generally used to refer to a module used to control the robot or robot 200 of the storage system 100. As previously described, such a control module may be implemented at the controller 250 of the robot 200, the central control system 130, or any combination thereof. The control module may be configured to control the robot 200 to perform transfer actions by: controlling the gripping mechanism of one or more outriggers in the outriggers to disengage one or more outriggers from the second guide rail; controlling the transfer mechanism to move the robot from a first position to a second position while the first or more outriggers in the outriggers remain engaged with the first guide rail; and controlling the gripping mechanism of one or more outriggers in the outriggers to engage one or more outriggers with the third guide rail.

[0102] The leg assembly engaging with the new guide rail may or may not be the same leg assembly detached from the old guide rail. Therefore, the transfer mechanism can be constructed and arranged such that the robot is moved from a first position to a second position while the first leg assembly remains engaged with the first guide rail. A second leg assembly abuts against a second guide rail in the first position, and a third guide rail in the second position.

[0103] In the example, the storage system includes at least one positioning feature to allow a robot to determine its position within the storage system. Example positioning features include: an RFID tag located on at least one rail within a set of guide rails; and an optical marker located on at least one rail within a set of guide rails. The robot may include a sensing system for detecting the positioning feature to determine its position within the storage system. Examples of optical markers include barcodes, QR codes, and optical, magnetic, or capacitive linear codes (e.g., Gray code).

[0104] Moving the robot from a first position to a second position (by a conveyor mechanism) may include one or more of the following: rotating the robot about the first leg assembly out of the plane of the guide rail; rotating the robot about the first leg assembly in the plane of the guide rail; and translating the robot in the plane of the guide rail.

[0105] In some examples, the end effector can be arranged to interact with objects on more than one side of the robot. This is particularly advantageous for examples where the transfer motion performed by robot 200 involves a change in the orientation of robot 200 relative to slot 120. This can be achieved using a single end effector that can move to access different sides of robot 200, or using multiple end effectors, each arranged to operate relative to a different side of robot 200 (e.g., one per "face"). For example, in Figure 4 In the example, it is preferable that robot 200 "flips," and therefore the end effector can interact with objects on either side of robot 200. As another example, in Figure 7 In the example, robot 200 rotates 90 degrees each time it performs a transfer action, presenting different sides of robot 200 to slot 120, and thus it is preferred that the end effector be able to interact with objects on all four sides of robot 200.

[0106] The end effector can be at least one of the following, for example: a gripper; a reader; a writer; a camera; a maintenance device; and a cleaning device. The robot may include two or more end effectors of the same or different types. Preferably, the end effector is activated only when the robot 200 engages with two or more rails, although this is not strictly necessary. That is, it is not excluded that the robot 200 may be able to access the slot 120 even when engaged with only a single rail (e.g., using a single leg assembly).

[0107] At least some of the objects stored in the repository system may be physical storage media, and the repository system may include at least one drive for reading and / or writing to the physical storage media. The drive(s) may be separate from the robot, or the robot(s) may include one or more drives(s).

[0108] The repository system may have two or more robots (i.e., two, three, four, five, etc.). For example, there may be dozens or even hundreds of robots. The robots may be essentially the same or different; for example, some robots may have different types of end effectors.

[0109] In this example, the storage system includes a central control system for controlling (multiple) robots. In other examples, the robots can communicate directly with each other to collaborate.

[0110] In the example, the drive mechanism can be located within one of the foot devices of the support assembly. In this case, the drive mechanism is only active while the foot device of the drive mechanism is engaged with the guide rail.

[0111] In the example, the slots are arranged in at least two different planes, and the third guide rail to which the conveying mechanism moves the first support device is not located in the same plane as the first and second guide rails. This includes examples where the slots are arranged to occupy at least two panels occupying different planes (e.g., Figure 10a The robot may be able to move from one panel to another using a conveyor mechanism, such as by engaging rails with adjacent panels or by traversing one or more intermediate rails. This also includes panels where slots are arranged as a single “winding” panel (e.g., Figure 10b Furthermore, the robot is able to move from the first part of the panel occupying the first plane to the second part of the panel occupying a second plane that is different from the first plane.

[0112] This document describes a method for controlling a robot in a storage system, comprising: a plurality of slots for storing objects and a plurality of guide rails; the robot including: an end effector for interacting with objects in the slots; at least two legs and a drive mechanism for moving the robot along the guide rails; the method comprising causing the robot to perform a transfer action by: controlling a gripping mechanism of one or more legs to disengage one or more legs from a second guide rail; controlling the transfer mechanism to move the robot from a first position to a second position while the first or more legs remain engaged with a first guide rail; and controlling the gripping mechanism of one or more legs to engage one or more legs with a third guide rail.

[0113] Typically, a robot for use in a storage system is provided, the robot including an end effector for interacting with objects in a slot; at least two legs, each having a respective gripping mechanism for releasably engaging the legs with one of the guide rails; a drive mechanism for moving the robot along the guide rails; and a transfer mechanism configured and arranged to move the robot from a first position to a second position while the first or more legs are engaged with the first guide rail, the first position being adjacent to a second guide rail, and the second position being adjacent to a third guide rail.

[0114] It should be understood that the processor, processing system, or circuitry referred to herein may in practice be provided by a single chip or integrated circuit, or multiple chips or integrated circuits, optionally as a chipset, application-specific integrated circuit (ASIC), field-programmable gate array (FPGA), digital signal processor (DSP), graphics processing unit (GPU), etc. One or more chips may include at least one or more of the following: circuitry (and possibly firmware), components for implementing a data processor or processor, a digital signal processor or processor, baseband circuitry, and radio frequency circuitry. These chips are configurable to operate according to the exemplary embodiments described herein. In this regard, the exemplary embodiments may be implemented at least in part by computer software stored in (non-transient) memory and executable by a processor, or by hardware, or by a combination of physically stored software and hardware (and physically stored firmware).

[0115] Although at least some aspects of the embodiments described herein with reference to the accompanying drawings include computer processes executed in a processing system or processor, the invention also extends to computer programs suitable for practicing the invention, particularly computer programs on or in a carrier. The program may be in the form of non-transient source code, object code, intermediate source code, and object code in partially compiled form, or any other non-transient form suitable for implementing the processes according to the invention. The carrier may be any entity or device capable of carrying the program. For example, the carrier may include storage media such as solid-state drives (SSDs) or other semiconductor-based RAM; ROMs such as CD-ROMs or semiconductor ROMs; magnetic recording media such as floppy disks or hard disks; general optical storage devices; and so on.

[0116] The examples described herein should be understood as illustrative examples of embodiments of the invention. Further embodiments and examples are contemplated. Any feature described in connection with any example or embodiment may be used alone or in combination with other features. Furthermore, any feature described in connection with any example or embodiment may be used in combination with one or more features of any other example or embodiment, or in any combination with any other example or embodiment. Additionally, equivalents and modifications not described herein may also be employed within the scope of the invention, as defined in the claims.

Claims

1. A repository system, comprising: The first guide rail, the second guide rail, and the third guide rail are configured to be parallel to each other; as well as The robot includes: An end effector is configured to interact with an object located in one of a plurality of slots; The first support leg device and the second support leg device, each of the support leg devices having a respective clamping mechanism, are configured to releasably engage the support leg device with one of the first guide rail, the second guide rail and the third guide rail; A drive mechanism is configured to move the robot along the guide rail; and A conveying mechanism is configured to move the robot from a first position to a second position, wherein the second leg device remains engaged with the second guide rail while the first leg device disengages from the first guide rail position in the first position and engages with the third guide rail in the second position.

2. The storage system of claim 1, comprising at least one positioning feature for allowing the robot to determine its position in the storage system.

3. The storage system of claim 2, wherein the at least one positioning feature comprises one or more of the following: an RFID tag located on at least one of the guide rails and readable by the robot's sensing system; or an optical tag located on at least one of the guide rails and readable by the robot's sensing system.

4. The storage system according to any one of claims 1 to 3, wherein the conveying mechanism is configured to move the robot from the first position to the second position by rotating the robot around the second leg assembly.

5. The storage system according to any one of claims 1 to 3, wherein the conveying mechanism is configured to move the robot from the first position to the second position by translating the robot while holding the robot in the plane of the guide rail.

6. The storage system according to any one of claims 1 to 3, wherein the first leg device and the second leg device of the robot are located at the ends of the respective leg devices of the robot, and wherein the conveying mechanism is configured to move the robot from the first position to the second position by moving the respective leg devices.

7. The repository system according to any one of claims 1 to 3, wherein the object is a physical storage medium, and the repository system includes at least one drive for reading and / or writing to the physical storage medium.

8. The storage system according to any one of claims 1 to 3, wherein the end effector is arranged to interact with an object on either side of the robot.

9. The repository system of claim 8, wherein the end effector comprises at least one of the following: a grabber, a reader, a writer, a camera, a maintenance device, or a cleaning device.

10. The repository system according to any one of claims 1 to 3, comprising two or more robots.

11. The storage system according to any one of claims 1 to 3, wherein the drive mechanism is activated only when only one of the first and second support devices is engaged with the guide rail.

12. The storage system according to any one of claims 1 to 3, wherein the slots are arranged in at least two different planes, and wherein the third guide rail to which the conveying mechanism moves the first support device is not located in the same plane as the first guide rail and the second guide rail.

13. The storage system according to any one of claims 1 to 3, comprising a control module configured to control the robot to perform a transfer action in such a way as: Control the clamping mechanism of the first support leg device to disengage the first support leg device from the first guide rail; Control the conveying mechanism to move the robot from the first position to the second position while the second leg device remains engaged with the second guide rail in the guide rail; and The clamping mechanism of the first support leg is controlled to engage with the third guide rail.

14. The storage system of claim 1, wherein the plurality of slots are disposed between the first guide rail and the second guide rail, and between the second guide rail and the third guide rail.

15. A computer program for controlling a robot in a storage container system, the storage container system including a plurality of slots for storing objects and a first guide rail, a second guide rail, and a third guide rail, the first guide rail, the second guide rail, and the third guide rail being arranged parallel to each other, the robot comprising: An end effector is configured to interact with an object in one of the plurality of slots; First leg assembly and second leg assembly; as well as A drive mechanism for moving the robot along the first guide rail, the second guide rail, or the third guide rail; wherein the computer program includes instructions that, when executed by a processing unit, cause the robot to perform the following transfer actions: Control the clamping mechanism to disengage the first leg device from the first guide rail; Control the conveying mechanism to move the robot from the first position to the second position while the second leg device remains engaged with the second guide rail; as well as The clamping mechanism is controlled to engage the first support leg device with the third guide rail in the second position.

16. The computer program of claim 15, wherein the plurality of slots are disposed between the first guide rail and the second guide rail, and between the second guide rail and the third guide rail.

17. The computer program of claim 15, wherein the conveying mechanism is configured to move the robot from the first position to the second position by rotating the robot about the second leg assembly.

18. The computer program of claim 15, wherein the third guide rail is not located in the same plane as the first guide rail and the second guide rail.

19. The computer program of claim 15, wherein the first leg device and the second leg device are located at the ends of respective leg devices of the robot, and wherein the instructions cause the robot to perform a transfer action including: The conveying mechanism is controlled to move the robot from the first position to the second position by moving the respective leg devices.

Citation Information

Patent Citations

  • Management of data cartridges in multiple-cartridge cells in an automated data storage library

    CN101395667A

  • Fault tolerant transport mechanism in storage and method of controlling the same

    CN1773620A