Mechanical arm path planning method of tape library, electronic equipment, medium and product

By identifying and sorting multiple optional movement paths in the tape library, the failure impact caused by single track path planning is resolved, redundant path planning for the robotic arm is realized, and the operational reliability and data service quality of the tape library are improved.

CN121061850APending Publication Date: 2025-12-05INDUSTRIAL AND COMMERCIAL BANK OF CHINA
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511206757.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-08-27
Publication Date
2025-12-05

AI Technical Summary

Technical Problem

Existing robotic arm path planning methods for tape libraries are limited by the physical constraints of a single track. When one robotic arm on the track fails, the range of motion of other robotic arms is restricted, preventing them from crossing the fault area. This results in storage units becoming unreachable, causing data access interruptions and response delays, and reducing the operational reliability and data service quality of the tape library.

Method used

A method for planning the path of a robotic arm in a tape library is provided. By obtaining the position information of the target robotic arm and the storage unit, at least two optional movement paths are determined. Based on the layout of the tape library and the current position information, the optimal and safe movement path is selected to avoid the limitations and failure effects of a single path.

Benefits of technology

It improves the operational reliability and data service quality of the tape library, reduces the risk of data access interruption and response delay, achieves a balance between redundancy and dynamic efficiency in robotic arm path planning, and enhances the collaborative capabilities of multiple robotic arms and the overall rationality of track resource allocation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121061850A_ABST
    Figure CN121061850A_ABST
Patent Text Reader

Abstract

The invention discloses a mechanical arm path planning method for a tape library, electronic equipment, a medium and a product, and relates to the technical field of data storage. The method comprises the steps that current position information of a target mechanical arm and storage position information of a target storage unit are obtained; determining track position information corresponding to the target storage unit according to the storage position information to obtain target position information; based on the layout of the tape library, the current position information and the target position information, at least two selectable moving paths from the target mechanical arm to the target storage unit are determined; sorting the at least two selectable moving paths to obtain a sorting result; and a target moving path of the target mechanical arm is determined based on the sorting result and the current position information of the other mechanical arms. Through the technical scheme of the embodiment of the invention, a path redundancy mechanism can be constructed for mechanical arm operation, operation interruption is avoided, the occurrence probability of problems such as data access interruption and response delay is further reduced, and the running reliability of the tape library and the data service quality are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of data storage technology, and in particular to a robotic arm path planning method, electronic device, medium, and product for a magnetic tape library. Background Technology

[0002] In the field of data storage, tape libraries, as key devices for the long-term storage of massive amounts of data, rely heavily on the path planning mechanism of robotic arms for their operational efficiency and reliability. Currently, tape libraries mainly adopt a "single-track long strip" structural design, which involves setting up a through-type robotic arm running track along the length of the tape library, with storage units (including tape drives and tape slots) symmetrically distributed on both sides of the track, forming a long strip spatial layout with the track in the center and storage units on both sides.

[0003] In this layout, existing robotic arm path planning methods for tape libraries are constrained by the physical limitations of a single track, resulting in a unique selectable movement path. This characteristic leads to significant limitations in the path planning method: when a robotic arm on the track malfunctions (e.g., jams, stops), the fault point forms a rigid physical barrier. If another robotic arm exists in the tape library and its initial position is located to the side of the malfunctioning arm, its range of motion will be strictly limited to the same side of the fault point. It cannot cross the fault barrier area to access storage units on the other side of the track, causing a large number of storage units to be in an "unreachable" state. This leads to serious consequences such as data access interruptions and response delays, significantly reducing the operational reliability and data service quality of the tape library.

[0004] Therefore, there is an urgent need to propose a new method to solve the above problems. Summary of the Invention

[0005] This invention provides a robotic arm path planning method, electronic device, medium, and product for tape libraries. It can build a path redundancy mechanism for robotic arm operations, avoid operation interruptions, and thus reduce the probability of data access interruptions, response delays, and other problems, thereby improving the reliability of tape library operation and the quality of data services.

[0006] In a first aspect, embodiments of the present invention provide a robotic arm path planning method for a magnetic tape library, the magnetic tape library comprising a storage unit and at least two robotic arms, the method comprising:

[0007] Obtain the current position information of the target robotic arm and the storage location information of the target storage unit;

[0008] Based on the storage location information, determine the track location information corresponding to the target storage unit to obtain the target location information;

[0009] Based on the layout of the tape library, the current position information, and the target position information, at least two optional movement paths are determined from the target robotic arm to the target storage unit;

[0010] Sort the at least two optional movement paths to obtain the sorting result;

[0011] The target movement path of the target robotic arm is determined based on the sorting results and the current position information of other robotic arms.

[0012] The technical solution of this invention first obtains the current position information of the target robotic arm and the storage position information of the target storage unit, providing a data foundation for subsequently determining the target position information and optional movement paths. Next, based on the storage position information, the track position information corresponding to the target storage unit is determined, obtaining the target position information. This allows the storage unit position to be converted into a specific movement target that the robotic arm can execute, ensuring that the robotic arm accurately positions itself to the operation point when moving along the track. This avoids operational deviations caused by ambiguous position mapping (such as misalignment or inability to complete storage / retrieval actions), ensuring the effectiveness of the subsequently determined optional movement paths. Simultaneously, it avoids errors that may occur from manually calculating track positions, ensuring the accuracy of human-machine information transmission and reducing the operational error rate. Then, based on the tape library layout, current position information, and target position information, at least two optional movement paths from the target robotic arm to the target storage unit are determined. This provides a redundancy scheme for subsequently determining the target movement path of the target robotic arm, avoiding task interruptions caused by problems with a single path (such as sudden obstacles or temporary occupation by other robotic arms), reducing the limitations of single-path planning, and thus improving the operational reliability and data service quality of the tape library. Subsequently, at least two optional movement paths are sorted to obtain the sorting results, providing a data foundation for determining the target movement path of the target robotic arm. Finally, based on the sorting results and the current position information of other robotic arms, the target movement path of the target robotic arm is determined. This not only avoids ignoring real-time risks (such as the current position of other robotic arms in the path) by blindly pursuing the optimal path, but also prevents the selection of inefficient paths for obstacle avoidance, achieving a dynamic balance between efficiency and safety. Simultaneously, it reduces path intersections and interference between different robotic arms on the track, reduces task delays caused by resource competition, and thus improves the collaborative capability of multiple robotic arms and the overall rationality of track resource allocation. This prevents risks such as data access interruption and response delay, improving the operational reliability and data service quality of the tape library. Therefore, the technical solution of this invention solves the problem in existing technologies where the physical constraints of a single track lead to the uniqueness of selectable movement paths, resulting in serious consequences such as data access interruption and response delay, ultimately reducing the operational reliability and data service quality of the tape library.

[0013] Secondly, embodiments of the present invention also provide a robotic arm path planning device for a magnetic tape library, the magnetic tape library including a storage unit and at least two robotic arms, the device comprising:

[0014] The acquisition module is used to acquire the current position information of the target robotic arm and the storage location information of the target storage unit;

[0015] The first determining module is used to determine the track position information corresponding to the target storage unit based on the storage position information, thereby obtaining the target position information;

[0016] The second determining module is used to determine at least two selectable movement paths from the target robotic arm to the target storage unit based on the layout of the tape library, the current position information, and the target position information.

[0017] The sorting module is used to sort the at least two optional movement paths to obtain a sorting result;

[0018] The third determining module is used to determine the target movement path of the target robotic arm based on the sorting results and the current position information of other robotic arms.

[0019] Thirdly, embodiments of the present invention also provide an electronic device, the electronic device comprising:

[0020] At least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores a computer program executable by the at least one processor, the computer program being executed by the at least one processor to enable the at least one processor to perform the robotic arm path planning method for the tape library according to any of the first aspects.

[0021] Fourthly, embodiments of the present invention also provide a storage medium containing computer-executable instructions, which, when executed by a computer processor, implement the robotic arm path planning method for the magnetic tape library described in any of the first aspects.

[0022] Fifthly, this application provides a computer program product comprising a computer program that, when executed by a processor, implements the robotic arm path planning method for a magnetic tape library as described in any of the first aspects.

[0023] It should be noted that the aforementioned computer instructions may be stored, in whole or in part, on a computer-readable storage medium. This computer-readable storage medium may be packaged together with the processor of the robotic arm path planning device of the tape library, or it may be packaged separately from the processor of the robotic arm path planning device of the tape library; this application does not impose any limitations on this.

[0024] The descriptions of the second, third, fourth, and fifth aspects in this application can be referred to the detailed description of the first aspect; and the beneficial effects of the descriptions of the second, third, fourth, and fifth aspects can be referred to the analysis of the beneficial effects of the first aspect, which will not be repeated here.

[0025] In this application, the name of the robotic arm path planning device for the aforementioned tape library does not limit the device or functional module itself. In actual implementation, these devices or functional modules may appear under other names. As long as the function of each device or functional module is similar to that of this application, it falls within the scope of the claims of this application and its equivalents.

[0026] These or other aspects of this application will become more readily apparent in the following description. Attached Figure Description

[0027] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0028] Figure 1 A flowchart of a robotic arm path planning method for a magnetic tape library provided in an embodiment of the present invention;

[0029] Figure 2a A flowchart of another robotic arm path planning method for a magnetic tape library provided in an embodiment of the present invention;

[0030] Figure 2b This is a schematic diagram of the layout of a magnetic tape library provided in an embodiment of the present invention;

[0031] Figure 2c A schematic diagram of another tape library layout provided in an embodiment of the present invention;

[0032] Figure 2d This is a schematic diagram of an optional movement path provided in an embodiment of the present invention;

[0033] Figure 3 This is a schematic diagram of the structure of a robotic arm path planning device for a magnetic tape library, provided in an embodiment of the present invention.

[0034] Figure 4 This is a schematic diagram of the structure of an electronic device provided in an embodiment of the present invention. Detailed Implementation

[0035] The present invention will now be described in further detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and not intended to limit it. Furthermore, it should be noted that, for ease of description, the accompanying drawings show only the parts relevant to the present invention, and not all of the structures.

[0036] In this article, the term "and / or" is merely a description of the relationship between related objects, indicating that there can be three relationships. For example, A and / or B can represent three situations: A exists alone, A and B exist simultaneously, and B exists alone.

[0037] The terms "first" and "second," etc., used in the specification and drawings of this application are used to distinguish different objects or to distinguish different treatments of the same object, rather than to describe a specific order of objects.

[0038] Furthermore, the terms "comprising" and "having," and any variations thereof, used in the description of this application are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or apparatus that includes a series of steps or units is not limited to the steps or units listed, but may optionally include other steps or units not listed, or may optionally include other steps or units inherent to such process, method, product, or apparatus.

[0039] Before discussing the exemplary embodiments in more detail, it should be noted that some exemplary embodiments are described as processes or methods depicted as flowcharts. Although the flowcharts describe the operations (or steps) as sequential processes, many of these operations can be performed in parallel, concurrently, or simultaneously. Furthermore, the order of the operations can be rearranged. The process can be terminated when its operation is completed, but may also have additional steps not included in the figures. The process can correspond to a method, function, procedure, subroutine, subroutine, etc. Moreover, embodiments and features in the embodiments of the present invention can be combined with each other without conflict.

[0040] It should be noted that in the embodiments of this application, the words "exemplary" or "for example" are used to indicate examples, illustrations, or explanations. Any embodiment or design scheme described as "exemplary" or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design schemes. Specifically, the use of the words "exemplary" or "for example" is intended to present the relevant concepts in a specific manner.

[0041] In the description of this application, unless otherwise stated, "a plurality of" means two or more.

[0042] Figure 1This is a flowchart illustrating a robotic arm path planning method for a tape library, provided by an embodiment of the present invention. This embodiment is applicable to situations requiring path planning for robotic arms in a tape library, which includes storage units and at least two robotic arms. The method can be executed by a robotic arm path planning device for the tape library, which can be implemented in software and / or hardware. For example, the device can be integrated into an electronic device. (Reference) Figure 1 The robotic arm path planning method for the tape library in this embodiment specifically includes the following steps:

[0043] Step 110: Obtain the current position information of the target robotic arm and the storage location information of the target storage unit.

[0044] Specifically, a tape library refers to an automated device for centralized management of tape storage media. In this embodiment, the tape library includes storage units (including tape drives and tape slots) and at least two robotic arms. A tape drive refers to the device in the tape library used for reading and writing tape data. A tape slot refers to the physical location in the tape library used to store tape media. A robotic arm refers to an automated device in the tape library responsible for gripping, moving, and placing tapes; it can move along tracks to access storage units at different locations. A target robotic arm refers to the robotic arm currently selected or assigned to perform a specific task (such as accessing a tape). The current position information of the target robotic arm refers to the specific spatial location data of the target robotic arm within the tape library at the current moment. A target storage unit refers to the storage location of the object being operated on by the target robotic arm. Each storage unit has its fixed physical location. The storage location information of the target storage unit refers to the specific physical location information of the target storage unit within the tape library. For example, the current position information of the target robotic arm includes the current coordinates of the target robotic arm, and the storage location information of the target storage unit includes the storage coordinates of the target storage unit.

[0045] In practice, the operation instructions can first be obtained through an interface that interacts with the staff (such as the user interface of the terminal device used by the staff). These instructions are then parsed to determine the target storage unit required for the operation and the target robotic arm to perform the operation. Next, the current position information of the target robotic arm is obtained through a position detection device (such as an encoder, laser rangefinder, or visual positioning system) installed on the target robotic arm. Simultaneously, based on the identification information (such as a number) of the target storage unit, the storage location information of that target storage unit is retrieved from a database containing information on all storage units.

[0046] In this embodiment, the above steps provide a data foundation for subsequently determining the target location information and the optional movement path.

[0047] Step 120: Determine the track position information corresponding to the target storage unit based on the storage location information to obtain the target position information.

[0048] Specifically, track position information refers to the position information on the track on which the robotic arm moves, corresponding to the target storage unit. Target position information refers to the final position that the robotic arm needs to reach, i.e., the track position information corresponding to the target storage unit. It is the endpoint of the robotic arm's movement; once the robotic arm reaches this position, it can complete the operation on the target storage unit. For example, target position information includes the track coordinates corresponding to the target storage unit.

[0049] In practice, the target storage unit's storage location information can be obtained by querying the correspondence table between storage location and track location in the table based on the storage location information of the target storage unit.

[0050] It should be noted that the correspondence table between storage location and track location is established in advance based on the actual situation (such as the layout information of the tape library) or actual needs.

[0051] In this embodiment, the above steps can convert the storage unit position into a specific moving target that the robotic arm can execute, ensuring that the robotic arm accurately positions itself at the operation point when moving along the track, avoiding operational deviations caused by ambiguous position mapping (such as inaccurate alignment or inability to complete storage and retrieval actions), and ensuring the effectiveness of the subsequently determined optional movement path; at the same time, it avoids errors that may occur when manually converting track positions, ensuring the accuracy of human-machine information transmission and reducing the operation error rate.

[0052] Step 130: Based on the layout of the tape library, current position information, and target position information, determine at least two optional movement paths from the target robotic arm to the target storage unit.

[0053] Specifically, the layout of a tape library refers to the spatial distribution and structural arrangement of its internal components (such as storage units, tracks, and the initial position of the robotic arm). For example, a tape library can be laid out in shapes such as triangles, rectangles, squares, and circles, and it has more than one robotic arm track, meaning there is more than one accessible path from the robotic arm to each storage unit. Optional movement paths refer to the multiple feasible routes calculated based on the tape library layout, the current position information of the target robotic arm, and the target position information, allowing the target robotic arm to reach its target position from its current position.

[0054] In practice, the process begins by retrieving the tape library's layout data (including storage unit distribution, robotic arm track distribution, fixed obstacle positions, track width, etc.) from a database storing tape library-related information. This data is then combined with the current position information (starting point) and target position information (end point) of the target robotic arm to construct a virtual tape library spatial model. This model digitally recreates passable areas (such as the track network) and prohibited areas (such as storage unit entities), providing a visual environmental foundation for pathfinding.

[0055] Next, a suitable path search algorithm (such as A* algorithm, an improved version of Dijkstra's algorithm, breadth-first search, depth-first search, D algorithm, RRT algorithm, ant colony algorithm, rule-based heuristic search, or coordinate axis-based decomposition movement, etc.) can be selected based on the actual situation or needs. The selected path search algorithm is then applied by inputting the starting point (i.e., the current position information of the target robotic arm) and the ending point (i.e., the target position information) as input parameters. Simultaneously, the algorithm will preset basic constraints (such as the path must extend along a preset track network, must not cross storage units, and must meet the physical movement limitations of the robotic arm (such as turning radius, path smoothness requirements corresponding to maximum movement speed, etc.)) to ensure the feasibility of the generated path. Furthermore, to obtain multiple feasible paths, a branch expansion strategy can be adopted during the path search process: when encountering track intersections or branch points, all possible turning choices are recorded instead of only retaining the optimal direction, thus forming multiple complete paths from the starting point to the ending point, but with different branches along the way.

[0056] Finally, the initially generated multiple paths are verified: each path is checked to see if it completely connects the start and end points, whether there are invalid road segments that cross impassable areas, and whether it meets the physical motion parameters of the robotic arm (such as whether the turning angle is within the allowable range). After eliminating invalid paths that do not meet the conditions, at least two feasible paths that meet all constraints are retained as the basis for subsequent sorting and selection.

[0057] In this embodiment, the above steps provide a redundant solution for determining the target movement path of the target robotic arm, avoiding task interruption caused by problems with a single path (such as sudden obstacles, temporary occupation by other robotic arms, etc.), reducing the limitations of single path planning, and thus improving the operational reliability and data service quality of the tape library.

[0058] Step 140: Sort at least two optional movement paths to obtain the sorting results.

[0059] Specifically, the sorting result refers to the order obtained by arranging at least two optional movement paths according to certain rules (such as path length, estimated time, etc.).

[0060] In practice, after obtaining at least two optional movement paths, evaluation indicators (such as path length, number of turns of the robotic arm in the path, etc.) can be determined according to the actual situation or needs. Then, based on the determined evaluation indicators, the evaluation indicators corresponding to each optional movement path are quantified, and the comprehensive score of each optional movement path is calculated. Finally, the paths are sorted from high to low according to the score to obtain the sorting result.

[0061] In this embodiment, the above steps provide a data foundation for subsequently determining the target movement path of the target robotic arm.

[0062] Step 150: Determine the target movement path of the target robotic arm based on the sorting results and the current position information of other robotic arms.

[0063] Specifically, "other robotic arms" refers to all robotic arm devices in the tape library other than the target robotic arm. The current position information of the other robotic arms refers to the specific spatial position data of each robotic arm other than the target robotic arm at any given moment. The target movement path refers to the final determined movement route that the target robotic arm will follow.

[0064] In the specific implementation, the path with the highest score can be selected from the ranking results as a candidate movement path; the current position information of other robotic arms can be obtained through the position detection device installed on other robotic arms, and then it can be determined whether there are other robotic arms' current positions in the candidate movement path; if there are other robotic arms' current positions in the candidate movement path, the candidate movement path is removed from the ranking results, the updated ranking results are obtained, and the step of selecting the path with the highest score from the ranking results as a candidate movement path is returned to be executed; if there are no other robotic arms' current positions in the candidate movement path, the candidate movement path is determined as the target movement path.

[0065] In this embodiment, the target movement path of the target robotic arm is determined based on the ranking result and the current position information of other robotic arms. The ranking result ensures the efficiency advantage of the path (such as the highest score), while the position information of other robotic arms is used for safety verification. Therefore, the above steps, through the logic of "selecting the best path first and then avoiding obstacles," avoid ignoring real-time risks (such as the presence of the current position of other robotic arms in the path) by blindly pursuing the optimal path, and also prevent the selection of an inefficient path for obstacle avoidance. This achieves a dynamic balance between efficiency and safety, while also reducing path intersections and interference between different robotic arms on the track, reducing task delays caused by resource competition, thereby improving the collaborative capability of multiple robotic arms and the overall rationality of track resource allocation. Ultimately, it avoids risks such as data access interruption and response delay, and improves the operational reliability and data service quality of the tape library.

[0066] The robotic arm path planning method for a tape library provided in this invention first obtains the current position information of the target robotic arm and the storage position information of the target storage unit, providing a data foundation for subsequently determining the target position information and optional movement paths. Next, based on the storage position information, the track position information corresponding to the target storage unit is determined, obtaining the target position information. This transforms the storage unit position into a specific movement target that the robotic arm can execute, ensuring accurate positioning of the robotic arm to the operation point when moving along the track, avoiding operational deviations caused by ambiguous position mapping, and guaranteeing the effectiveness of the subsequently determined optional movement paths. Simultaneously, it avoids errors that may occur from manual conversion of track positions, ensuring the accuracy of human-machine information transmission and reducing the operational error rate. Then, based on the tape library layout, current position information, and target position information, at least two optional movement paths from the target robotic arm to the target storage unit are determined, providing a redundancy scheme for subsequently determining the target movement path of the target robotic arm. This avoids task interruptions caused by problems with a single path, reduces the limitations of single-path planning, and thus improves the operational reliability and data service quality of the tape library. Finally, the at least two optional movement paths are sorted to obtain the sorting result, providing a data foundation for subsequently determining the target movement path of the target robotic arm. Finally, based on the sorting results and the current position information of other robotic arms, the target movement path of the target robotic arm is determined. This not only avoids ignoring real-time risks by blindly pursuing the optimal path, but also prevents the selection of inefficient paths for obstacle avoidance, achieving a dynamic balance between efficiency and safety. Simultaneously, it reduces path intersections and interference between different robotic arms on the track, lowers task delays caused by resource competition, and thus improves the collaborative capabilities of multiple robotic arms and the overall rationality of track resource allocation. This prevents risks such as data access interruptions and response delays, improving the operational reliability and data service quality of the tape library. Therefore, the technical solution of this invention solves the problem in existing technologies where the physical constraints of a single track limit the selectable movement path, leading to serious consequences such as data access interruptions and response delays, ultimately reducing the operational reliability and data service quality of the tape library.

[0067] Figure 2a A flowchart of another robotic arm path planning method for a magnetic tape library provided in this embodiment of the invention is shown. This embodiment is a specific embodiment based on the above embodiment. In this embodiment, the method may further include:

[0068] Step 210: Obtain the current position information of the target robotic arm and the storage location information of the target storage unit.

[0069] Step 211: Determine the track position information corresponding to the target storage unit based on the storage location information to obtain the target position information.

[0070] Step 212: Based on the layout of the tape library, current position information, and target position information, determine at least two optional movement paths from the target robotic arm to the target storage unit.

[0071] Furthermore, the layout of the tape library is determined as follows: Based on the site dimensions of the tape library and the length and width of the storage units, the number of storage units in the first storage area of ​​the tape library is calculated to obtain the first storage quantity; based on the site dimensions, the width of the robotic arm track, and the width of the storage units, the number of storage unit groups in the second storage area of ​​the tape library is calculated to obtain the number of storage groups; based on the site dimensions, the width of the robotic arm track, and the length and width of the storage units, the number of storage units in each storage unit group is calculated to obtain the storage quantity within each group; and based on the number of storage groups, the number of robotic arm tracks in the second storage area is calculated to obtain the number of tracks between groups; the layout of the tape library is constructed based on the first storage quantity, the number of storage groups, the storage quantity within each group, and the number of tracks between groups.

[0072] Specifically, site dimensions refer to the spatial specifications of the actual site used to construct the tape library. It determines the spatial range of the overall tape library layout. For example, when the tape library site is rectangular, the site dimensions include the site length and width; when the tape library site is square, the site dimensions include the side lengths. The length and width of a storage unit refer to the physical dimensional parameters used to describe the independent storage structures (such as tape slots, storage cartridges, etc.) in the tape library that store tapes or tape drives. The first storage area refers to a pre-defined storage area in the tape library, used to store a certain number of storage units, based on actual conditions or needs. The first storage quantity refers to the total number of storage units that can be accommodated in the first storage area. The width of the robotic arm's track refers to the width dimension of the robotic arm's running track. The track refers to the physical structure that provides a movement path for the robotic arm; for example, the track can include inter-group tracks (separating storage unit groups) and edge transition tracks (connecting different storage areas). The second storage area refers to another storage area in the tape library besides the first storage area, consisting of multiple "storage unit groups." A storage unit group refers to a set of multiple storage units combined according to preset rules within the second storage area. The number of storage groups refers to the number of storage unit groups in the second storage area. The number of storage units within a group refers to the number of storage units that can be accommodated within each storage unit group. The number of inter-group tracks refers to the number of tracks in the second storage area that separate different storage unit groups. An edge transition track is provided between the first and second storage areas, connecting to the inter-group tracks in the second storage area. The edge transition track is the track located between the first and second storage areas; its function is to connect the inter-group tracks in the second storage area, facilitating the movement and switching of the robotic arm between different storage areas.

[0073] In practice, the difference between the site dimensions (e.g., site side length) and a preset multiple (e.g., 2 times) of the storage unit width can be calculated first to obtain the available dimensions. The ratio of the available dimensions to the storage unit length is then rounded down to obtain the storage quantity of the sub-storage area. This quantity is then multiplied by the number of sub-storage areas in the first storage area to obtain the first storage quantity. Here, the number of sub-units in the first storage area refers to the total number of sub-storage areas contained within the first storage area of ​​the tape library. Next, the difference between the site dimensions, the robot arm's track width, and the preset multiple (e.g., 2 times) of the storage unit width is calculated to obtain the available width. The sum of the track width and the preset multiple (e.g., 2 times) of the storage unit width is calculated to obtain the group width base. The ratio of the available width to the group width base is then rounded down to obtain the number of storage groups. Next, the difference between the site dimensions and the width of the storage unit (e.g., 2 times) and the width of the robotic arm track (e.g., 2 times) is calculated to obtain the available column length. The ratio of the available column length to the storage unit length is rounded down to obtain the number of columns in the storage unit group. The product of this number of columns and the preset number of rows in the storage unit group (e.g., 2 rows) is calculated to obtain the number of storage units within the group. Then, the number of storage units within the group is subtracted by one to obtain the number of tracks between groups. Finally, the tape library layout is constructed based on the first number of storage units, the number of storage groups, the number of storage units within the group, and the number of tracks between groups. For example, if the first number of storage units is 18, the number of storage groups is 3, the number of storage units within the group is 8, and the number of tracks between groups is 2, then the tape library layout can be presented as follows: Figure 2b As shown in the diagram, the dashed box represents the physical boundary of the tape library area, defining the planarable space of the entire tape library. Each small rectangular grid in the diagram represents a storage unit. The first storage area is a ring-shaped space enclosed by the edge transition tracks and the tape library area. The second storage area is a rectangular area enclosed inside the edge transition tracks. The storage unit groups and inter-group tracks are arranged vertically. Specifically, the inter-group tracks divide the second storage area into three independent storage unit groups, each of which can accommodate eight storage units.

[0074] In this embodiment, the above steps not only improve the space utilization of the tape library, but also enhance the scheduling efficiency of the robotic arm by setting up inter-group tracks and edge transition tracks, while ensuring that the accessible paths for the robotic arm to each storage unit are diverse.

[0075] Further, based on the site dimensions of the tape library and the length and width of the storage units, the number of storage units in the first storage area of ​​the tape library is calculated to obtain the first storage quantity, including: calculating the difference between the site dimensions and the width of the storage units by a first preset multiple to obtain the available dimensions; and determining the first storage quantity based on the ratio of the available dimensions to the length of the storage units.

[0076] Specifically, the available size refers to the space size that can actually be used to arrange storage units. The first preset multiple refers to a coefficient preset according to actual conditions or needs for calculating the available space of the first storage area. For example, the first preset multiple is 2. In this embodiment, the first storage area is located at the perimeter of the tape library site and includes a first horizontal partition, a second horizontal partition, a first vertical partition, and a second vertical partition.

[0077] In specific implementation, if the site size is a single side length (i.e., the tape library site is square), the difference between the side length and the width of the storage unit of the first preset multiple (i.e., the product of the first preset multiple and the width of the storage unit) is calculated to obtain the available size of each partition (four partitions) in the first storage area. The ratio of the available size of each partition to the length of the storage unit is calculated and rounded down to obtain the storage quantity of each partition. The storage quantities of the four partitions are summed to obtain the first storage quantity.

[0078] If the site dimensions are the site length and site width (i.e., the tape library site is rectangular), then calculate the difference between the site length and the width of the storage unit (a first preset multiple) to obtain the usable dimensions of the first and second horizontal partitions. Round down the ratio of the usable dimensions of the horizontal partitions to the length of the storage unit to obtain the storage capacity of the first and second horizontal partitions. Similarly, calculate the difference between the site width and the width of the storage unit (a first preset multiple) to obtain the usable dimensions of the first and second vertical partitions. Round down the ratio of the usable dimensions of the vertical partitions to the length of the storage unit to obtain the storage capacity of the first and second vertical partitions. Finally, sum the storage capacities of all four partitions (two horizontal and two vertical) to obtain the first storage capacity. For example: if the site length is l, the site width is m, the width of the storage unit is r, the length of the storage unit is d, and the first preset multiple is 2, then...

[0079] In this embodiment, the accuracy of the calculated first storage quantity is improved through the above steps.

[0080] Furthermore, based on the site dimensions, the width of the robotic arm's track, and the width of the storage units, the number of storage unit groups in the second storage area of ​​the tape library is calculated to obtain the number of storage groups. This includes: calculating the remaining available dimensions based on the site dimensions and the width of the storage units as a second preset multiple; calculating the available group width based on the remaining available dimensions and the track width; calculating the sum of the track width and the width of the storage units as a second preset multiple to obtain the group width base; and determining the number of storage groups based on the ratio of the available group width to the group width base.

[0081] Specifically, the remaining available size refers to the size calculated based on the site dimensions and the width of the storage unit using a second preset multiple, used for subsequent calculations of the number of storage groups. The available group width refers to the width that can be used to divide storage unit groups, calculated based on the remaining available size and the track width. The group width base refers to the basic width of a storage unit group. The second preset multiple refers to a coefficient set in advance according to actual conditions or needs, used to calculate the group width of the second storage area. For example, the second preset multiple is 2.

[0082] In the specific implementation, if the site size is a single side length (i.e., the tape library site is square), the difference between this side length and the width of the storage unit (i.e., the product of the second preset multiple and the width of the storage unit) is calculated to obtain the remaining available size; then the difference between the remaining available size and the track width is calculated to obtain the available group width; the sum of the track width and the width of the storage unit (which is a second preset multiple) is calculated to obtain the group width base; finally, the ratio of the available group width to the group width base is rounded down to obtain the number of storage groups.

[0083] If the site dimensions are the site length and site width (i.e., the tape library site is rectangular), then calculate the difference between the site width and the width of the storage unit (a second preset multiple), and calculate the remaining usable size; then calculate the difference between the remaining usable size and the track width to obtain the usable group width; and calculate the sum of the track width and the width of the storage unit (a second preset multiple) to obtain the group width base; finally, round down the ratio of the usable group width to the group width base to obtain the number of storage groups. For example: if the site width is m, the storage unit width is r, the second preset multiple is 2, and the track width is n, then...

[0084] In this embodiment, the above steps improve the accuracy of the storage group number calculation and avoid the situation where the track occupies too much space and the number of storage unit groups is insufficient, or the storage unit groups are too dense and squeeze the track running space when constructing the tape library layout.

[0085] Furthermore, based on the site dimensions, the track width of the robotic arm, and the length and width of the storage units, the number of storage units in the storage unit group is calculated to obtain the storage quantity within the group. This includes: calculating the difference between the site dimensions and the width of the storage units as a third preset multiple to obtain the remaining dimensions; determining the available column length within the group based on the difference between the remaining dimensions and the track width as a third preset multiple; determining the number of columns in the storage unit group based on the ratio of the available column length within the group to the length of the storage units; and calculating the product of the number of columns and the preset number of rows in the storage unit group to obtain the storage quantity within the group.

[0086] Specifically, the remaining size refers to the size obtained by calculating the difference between the site size and the width of the storage unit (a third preset multiple), used to calculate the storage capacity within the group. The available column length within the group refers to the column length that can be used to arrange the storage unit group. The preset row number refers to the number of rows in the storage unit group preset according to actual conditions or needs, used to calculate the storage capacity within the group. For example, the preset row number can be 2. The third preset multiple refers to a coefficient preset according to actual conditions or needs, used to calculate the available column length within the storage unit group. For example, the third preset multiple can be 2.

[0087] In the specific implementation, if the site size is a single side length (i.e., the tape library site is square), the difference between the site size and the width of the storage unit (i.e., the product of the third preset multiple and the width of the storage unit) is calculated to obtain the remaining size; the difference between the remaining size and the track width (i.e., the product of the third preset multiple and the track width) is calculated to obtain the available column length within the group; the ratio of the available column length within the group to the length of the storage unit is rounded down to obtain the number of columns in the storage unit group; the product of the number of columns and the preset number of rows in the storage unit group is calculated to obtain the storage quantity within the group.

[0088] If the site dimensions are the site length and site width (i.e., the tape library site is rectangular), then calculate the difference between the site length and the width of the storage unit (a third preset multiple) to obtain the remaining dimensions; calculate the difference between the remaining dimensions and the track width (a third preset multiple) to obtain the available column length within the group; round down the ratio of the available column length within the group to the length of the storage unit to obtain the number of columns in the storage unit group; calculate the product of the number of columns and the preset number of rows in the storage unit group to obtain the storage quantity within the group. For example: if the site length is l, the site width is m, the width of the storage unit is r, the third preset multiple is 2, the track width is n, and the preset number of rows is 2, then...

[0089] In this embodiment, the accuracy of the determined number of storage units within a group is improved through the above steps.

[0090] Furthermore, before constructing the tape library layout based on the first storage quantity, the number of storage groups, the number of storage units within a group, and the number of tracks between groups, the method further includes: determining the grouping remainder based on the ratio of the remaining available size to the base group width; calculating the sum of the track width and the width of the storage unit to obtain the half-group threshold; if the grouping remainder is not less than the half-group threshold, incrementing the number of tracks between groups to obtain the updated number of tracks between groups, and determining that there are storage unit subgroups in the second storage area; calculating the number of storage units in the storage unit subgroups; and constructing the tape library layout based on the first storage quantity, the number of storage groups, the number of storage units within a group, the number of storage units in the storage unit subgroups, and the updated number of tracks between groups.

[0091] Specifically, the number of columns in a storage cell subgroup is the same as the number of columns in the storage cell group, and the number of rows in a storage cell subgroup is one less than the number of rows in the storage cell group. The grouping remainder refers to the remainder when calculating the number of storage groups, divided by the group width base, used to determine whether additional storage cell subgroups need to be created. The half-group threshold is the critical value used to determine whether the grouping remainder is sufficient to form an incomplete storage cell group (i.e., a storage cell subgroup).

[0092] In the specific implementation, the remainder is calculated by taking the modulo of the ratio of the remaining available size to the base group width. The sum of the track width and the width of the storage unit is calculated to obtain the half-group threshold. Then, it is determined whether the group remainder is less than the half-group threshold. If the group remainder is less than the half-group threshold, the tape library layout is directly constructed based on the first storage quantity, the number of storage groups, the number of storage units within a group, and the number of tracks between groups. If the group remainder is not less than the half-group threshold, the number of tracks between groups is incremented by one to obtain the updated number of tracks between groups, and it is determined that there are storage unit subgroups in the second storage area. The logic for calculating the number of storage units within a group can be reused to calculate the number of storage units in the storage unit subgroup, or half of the number of storage units within a group can be directly taken as the number of storage units in the storage unit subgroup. Finally, the tape library layout is constructed based on the first storage quantity, the number of storage groups, the number of storage units within a group, the number of storage units in the storage unit subgroup, and the updated number of tracks between groups. For example, if the first storage quantity is 20, the number of storage groups is 3, the number of storage units within a group is 8, the number of tracks between groups is 3, and the number of storage units in the storage unit subgroup is 4, then the tape library layout can be presented as follows: Figure 2c As shown in the diagram, the dashed box represents the physical boundary of the tape library area, defining the planarable space of the entire tape library. Each small rectangular grid in the diagram represents a storage unit. The first storage area is a ring-shaped space enclosed by the edge transition track and the tape library area. The second storage area is a rectangular area enclosed inside the edge transition track. Storage unit groups, storage sub-unit groups, and inter-group tracks are arranged vertically. Specifically, the inter-group tracks divide the second storage area into 3 independent storage unit groups and 1 independent storage sub-unit group. Each storage unit group can accommodate 8 storage units, and each storage sub-unit group can accommodate 4 storage units.

[0093] It should be noted that if the site size is a single side length (i.e., the tape library site is square), the remaining available size is the difference between that side length and the width of the storage unit, which is a second preset multiple. If the site size is a site length and a site width (i.e., the tape library site is rectangular), the remaining available size is the difference between the site width and the width of the storage unit, which is a second preset multiple.

[0094] In this embodiment, the number of tracks is dynamically adjusted based on the remainder, avoiding the situation of "idle remainder space" and improving the space utilization of the tape library.

[0095] Step 213: Sort at least two optional movement paths to obtain the sorting results.

[0096] In practice, at least two optional movement paths can be sorted according to their length to obtain the sorting result.

[0097] Step 214: Select the shortest path from the sorting results as the candidate moving path.

[0098] Specifically, the candidate movement path refers to the shortest path selected from the sorting results.

[0099] In practice, the shortest path can be selected from the sorting results as the candidate movement path. Specifically, if the sorting result is a sort of the available movement paths in ascending order of length, the first path in the sorting result is directly selected as the candidate movement path; if the sorting result is a sort of the available movement paths in descending order of length, the last path in the sorting result is selected as the candidate movement path.

[0100] Optionally, if there are multiple shortest paths in the sorting results, the path with the fewest turns can be selected as the candidate moving path.

[0101] In this embodiment, the above steps provide a data foundation for subsequently determining the target's movement path.

[0102] Step 215: Determine whether there is current position information of other robotic arms in the candidate movement path.

[0103] If it exists, proceed to step 216; if it does not exist, proceed to step 217.

[0104] In practice, the current position information of other robotic arms is obtained through position detection devices installed on them. Then, it is determined whether the current position information of other robotic arms is within the candidate movement path. If at least one other robotic arm's current position is within the candidate movement path, the candidate movement path is removed from the sorting result, and an updated sorting result is obtained. If the current positions of all other robotic arms are not within the candidate movement path, the candidate movement path is determined as the target movement path.

[0105] In this embodiment, the reliability of the final determined execution path can be improved through the above steps.

[0106] Step 216: Remove the candidate movement paths from the sorting results to obtain the updated sorting results.

[0107] In practice, after determining that there is current position information of other robotic arms in the candidate movement path, the candidate movement path can be removed from the sorting results to obtain the updated sorting results. Then, return to step 214 (that is, the step of selecting the shortest path from the sorting results as the new candidate movement path) and re-execute the conflict detection process of the candidate path.

[0108] In this embodiment, the above steps ensure that the final determined target movement path does not conflict during execution.

[0109] Step 217: Determine the candidate movement path as the target movement path.

[0110] In practice, after determining that there is no current position information of other robotic arms in the candidate movement path, the candidate movement path is determined as the target movement path.

[0111] For example, such as Figure 2d As shown in the diagram, A represents the current position of other robotic arms, B represents the current position of the target robotic arm, and C represents the track position corresponding to the target storage unit, i.e., the target position. There are three possible movement paths from B to C: 1. A path consisting of pure dashed lines (straight along the edge transition track); 2. A path consisting of pure solid lines (circling along the edge transition track + inter-group track); 3. A path consisting of a mixture of dashed and dotted lines (another circuitous route along the edge transition track + inter-group track). The three paths are sorted from shortest to longest. Since the pure dashed line path is the shortest, it is selected as a candidate movement path. However, if the pure dashed line path contains the current position of another robotic arm (i.e., robotic arm A), it is removed from the sorted results. The shortest path is then selected again from the sorted results as a new candidate movement path, namely the pure solid line path. If the pure solid line path does not contain the current position of another robotic arm, it is determined as the target movement path.

[0112] In this embodiment, the above steps not only avoid the risk of collision when the robotic arm moves, but also maximize the optimality of the path and the execution efficiency, and simplify the decision-making process and improve the efficiency of path determination.

[0113] The robotic arm path planning method for a tape library provided in this invention first obtains the current position information of the target robotic arm and the storage position information of the target storage unit, providing a data foundation for subsequently determining the target position information and optional movement paths. Next, based on the storage position information, the track position information corresponding to the target storage unit is determined, obtaining the target position information. This transforms the storage unit position into a specific movement target that the robotic arm can execute, ensuring accurate positioning of the robotic arm to the operation point when moving along the track, avoiding operational deviations caused by ambiguous position mapping, and guaranteeing the effectiveness of the subsequently determined optional movement paths. Simultaneously, it avoids errors that may occur from manual conversion of track positions, ensuring the accuracy of human-machine information transmission and reducing the operational error rate. Then, based on the tape library layout, current position information, and target position information, at least two optional movement paths from the target robotic arm to the target storage unit are determined, providing a redundancy scheme for subsequently determining the target movement path of the target robotic arm. This avoids task interruptions caused by problems with a single path, reduces the limitations of single-path planning, and thus improves the operational reliability and data service quality of the tape library. Finally, the at least two optional movement paths are sorted to obtain the sorting result, providing a data foundation for subsequently determining the target movement path of the target robotic arm. The shortest path is then selected from the ranking results as a candidate movement path. It is then determined whether other robotic arms have current position information within the candidate movement path. If so, the candidate movement path is removed from the ranking results, resulting in an updated ranking. The process then returns to the step of selecting the shortest path from the ranking results as a new candidate movement path. If no such path exists, the candidate movement path is determined as the target movement path. This achieves a dynamic balance between conflict avoidance and efficiency priority: it avoids ignoring real-time risks by blindly pursuing the shortest path and also prevents choosing inefficient paths for obstacle avoidance. Simultaneously, this decision-making mechanism significantly reduces path intersections and interference between different robotic arms on the track, reduces task delays caused by resource competition, and thus improves the collaborative capabilities of multiple robotic arms and the overall rationality of track resource allocation. Ultimately, it effectively prevents risks such as data access interruptions and response delays, improving the operational reliability and data service quality of the tape library. Furthermore, this mechanism has lower decision-making costs and stronger real-time performance. Therefore, the technical solution of the present invention solves the problem that the existing technology is limited by the physical constraints of a single track, which leads to the uniqueness of the selectable movement path, resulting in serious consequences such as data access interruption and response delay, and ultimately reducing the reliability of tape library operation and the quality of data services.

[0114] Figure 3This is a schematic diagram of a robotic arm path planning device for a tape library provided in an embodiment of the present invention. This device belongs to the same inventive concept as the robotic arm path planning method for a tape library in the above embodiments. For details not described in detail in the embodiments of the robotic arm path planning device for a tape library, please refer to the embodiments of the robotic arm path planning method for a tape library described above.

[0115] like Figure 3 As shown, the device includes:

[0116] The acquisition module 310 is used to acquire the current position information of the target robotic arm and the storage position information of the target storage unit;

[0117] The first determining module 320 is used to determine the track position information corresponding to the target storage unit based on the storage position information, and obtain the target position information;

[0118] The second determining module 330 is used to determine at least two selectable movement paths from the target robotic arm to the target storage unit based on the layout of the tape library, the current position information, and the target position information.

[0119] The sorting module 340 is used to sort the at least two optional movement paths to obtain a sorting result;

[0120] The third determining module 350 is used to determine the target movement path of the target robotic arm based on the sorting results and the current position information of other robotic arms.

[0121] Based on the above embodiments, the third determining module 350 is specifically used for:

[0122] Select the shortest path from the sorting results as the candidate movement path;

[0123] Determine whether the current position information of other robotic arms exists in the candidate movement path;

[0124] If the candidate movement path contains the current position information of other robotic arms, then the candidate movement path is removed from the sorting result to obtain an updated sorting result, triggering the selection of the shortest path from the sorting result as a candidate movement path;

[0125] If the candidate movement path does not contain the current position information of the other robotic arm, then the candidate movement path is determined as the target movement path.

[0126] Based on the above embodiments, the layout of the tape library is determined according to the following method:

[0127] Based on the site dimensions of the tape library and the length and width of the storage units, the number of storage units in the first storage area of ​​the tape library is calculated to obtain the first storage quantity;

[0128] Based on the site dimensions, the track width of the robotic arm, and the width of the storage unit, calculate the number of storage unit groups in the second storage area of ​​the tape library to obtain the number of storage groups;

[0129] Based on the site dimensions, the track width of the robotic arm, and the length and width of the storage unit, the number of storage units in the storage unit group is calculated to obtain the storage quantity within the group; and based on the number of storage groups, the number of tracks of the robotic arm in the second storage area is calculated to obtain the number of tracks between groups;

[0130] The tape library layout is constructed based on the first storage quantity, the number of storage groups, the number of storage within a group, and the number of tracks between groups; wherein, an edge transition track is provided between the first storage area and the second storage area, and the edge transition track is connected to the track between groups in the second storage area.

[0131] Based on the above embodiments, the number of storage units in the first storage area of ​​the tape library is calculated according to the site dimensions of the tape library and the length and width of the storage units, to obtain the first storage quantity, including:

[0132] The usable size is obtained by calculating the difference between the site size and the width of the storage unit, which is a first preset multiple.

[0133] The first storage quantity is determined based on the ratio of the available size to the length of the storage unit.

[0134] Based on the above embodiments, the number of storage unit groups in the second storage area of ​​the tape library is calculated according to the site dimensions, the track width of the robotic arm, and the width of the storage unit, to obtain the number of storage groups, including:

[0135] The remaining available size is calculated based on the site dimensions and the width of the storage unit, which is a second preset multiple thereof;

[0136] Calculate the available group width based on the remaining available dimensions and the track width;

[0137] Calculate the sum of the track width and the width of the storage unit (which is a second preset multiple) to obtain the group width base.

[0138] The number of storage groups is determined based on the ratio of the available group width to the base group width.

[0139] Based on the above embodiments, the device further includes:

[0140] An update module is used to determine a grouping remainder based on the ratio of the remaining available size to the grouping width base before constructing the layout of the tape library based on the first storage quantity, the number of storage groups, the number of storage units within a group, and the number of tracks between groups; calculate the sum of the track width and the width of the storage unit to obtain a half-group threshold; if the grouping remainder is not less than the half-group threshold, increment the number of tracks between groups by one to obtain the updated number of tracks between groups, and determine that there is a storage unit subgroup in the second storage area; wherein the number of columns in the storage unit subgroup is the same as the number of columns in the storage unit group, and the number of rows in the storage unit subgroup is the number of rows in the storage unit group minus one; calculate the number of storage units in the storage unit subgroup; and construct the layout of the tape library based on the first storage quantity, the number of storage groups, the number of storage units within a group, the number of storage units in the storage unit subgroup, and the updated number of tracks between groups.

[0141] Based on the above embodiments, the number of storage units in the storage unit group is calculated based on the site dimensions, the track width of the robotic arm, and the length and width of the storage unit, to obtain the storage quantity within the group, including:

[0142] Calculate the difference between the site size and the width of the storage unit, which is a third preset multiple, to obtain the remaining size;

[0143] The available column length within the group is determined based on the difference between the remaining size and the track width of the third preset multiple.

[0144] The number of columns in the storage cell group is determined based on the ratio of the available column length within the group to the length of the storage cell.

[0145] The number of columns is calculated as a product of the number of columns and the preset number of rows in the storage unit group to obtain the storage quantity within the group.

[0146] The robotic arm path planning device for a tape library provided in this embodiment of the invention can execute the robotic arm path planning method for a tape library provided in any embodiment of the invention, and has the corresponding functional modules and beneficial effects of the execution method.

[0147] It is worth noting that in the embodiments of the robotic arm path planning device for the tape library described above, the various units and modules included are only divided according to functional logic, but are not limited to the above division, as long as the corresponding functions can be achieved; in addition, the specific names of each functional unit are only for easy differentiation and are not used to limit the scope of protection of the present invention.

[0148] Figure 4 This is a schematic diagram of the structure of an electronic device provided in an embodiment of the present invention. Figure 4A block diagram of an exemplary electronic device 4 suitable for implementing embodiments of the present invention is shown. Figure 4 The electronic device 4 shown is merely an example and should not impose any limitations on the functionality and scope of use of the embodiments of the present invention.

[0149] like Figure 4 As shown, electronic device 4 is represented in the form of a general-purpose computing electronic device. The components of electronic device 4 may include, but are not limited to: one or more processors or processing units 16, system memory 28, and bus 18 connecting different system components (including system memory 28 and processing unit 16).

[0150] Bus 18 represents one or more of several bus architectures, including a memory bus or memory controller, a peripheral bus, a graphics acceleration port, a processor, or a local bus using any of the various bus architectures. For example, these architectures include, but are not limited to, the Industry Standard Architecture (ISA) bus, the Micro Channel Architecture (MAC) bus, the Enhanced ISA bus, the Video Electronics Standards Association (VESA) local bus, and the Peripheral Component Interconnect (PCI) bus.

[0151] Electronic device 4 typically includes a variety of computer system readable media. These media can be any available media that can be accessed by electronic device 4, including volatile and non-volatile media, removable and non-removable media.

[0152] System memory 28 may include computer system readable media in the form of volatile memory, such as random access memory (RAM) 30 and / or cache memory 32. Electronic device 4 may further include other removable / non-removable, volatile / non-volatile computer system storage media. By way of example only, storage system 34 may be used to read and write non-removable, non-volatile magnetic media (… Figure 4 Not shown; usually referred to as a "hard drive"). Although Figure 4 Not shown, a disk drive for reading and writing to a removable non-volatile disk (e.g., a "floppy disk") and an optical disk drive for reading and writing to a removable non-volatile optical disk (e.g., a CD-ROM, DVD-ROM, or other optical media) may be provided. In these cases, each drive may be connected to bus 18 via one or more data media interfaces. System memory 28 may include at least one program product having a set (e.g., at least one) of program modules configured to perform the functions of the embodiments of the present invention.

[0153] A program / utility 40 having a set (at least one) of program modules 42 may be stored, for example, in system memory 28. Such program modules 42 include, but are not limited to, an operating system, one or more application programs, other program modules, and program data. Each or some combination of these examples may include an implementation of a network environment. Program modules 42 typically perform the functions and / or methods described in the embodiments of the present invention.

[0154] Electronic device 4 can also communicate with one or more external devices 14 (e.g., keyboard, pointing device, display 24, etc.), and with one or more devices that enable a user to interact with electronic device 4, and / or with any device that enables electronic device 4 to communicate with one or more other computing devices (e.g., network card, modem, etc.). This communication can be performed through input / output (I / O) interface 22. Furthermore, electronic device 4 can also communicate with one or more networks (e.g., local area network (LAN), wide area network (WAN), and / or public networks, such as the Internet) through network adapter 20. Figure 4 As shown, network adapter 20 communicates with other modules of electronic device 4 via bus 18. It should be understood that, although... Figure 4 Not shown, it can be combined with electronic device 4 to use other hardware and / or software modules, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.

[0155] Processing unit 16 executes various functional applications and page displays by running programs stored in system memory 28, such as implementing the robotic arm path planning method for a tape library provided in this embodiment of the invention. The tape library includes a storage unit and at least two robotic arms. The method includes:

[0156] Obtain the current position information of the target robotic arm and the storage location information of the target storage unit;

[0157] Based on the storage location information, determine the track location information corresponding to the target storage unit to obtain the target location information;

[0158] Based on the layout of the tape library, the current position information, and the target position information, at least two optional movement paths are determined from the target robotic arm to the target storage unit;

[0159] Sort the at least two optional movement paths to obtain the sorting result;

[0160] The target movement path of the target robotic arm is determined based on the sorting results and the current position information of other robotic arms.

[0161] Of course, those skilled in the art will understand that the processor can also implement the technical solution of the robotic arm path planning method for tape library provided in any embodiment of the present invention.

[0162] This invention provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements, for example, a robotic arm path planning method for a magnetic tape library provided in this invention. The magnetic tape library includes a storage unit and at least two robotic arms. The method includes:

[0163] Obtain the current position information of the target robotic arm and the storage location information of the target storage unit;

[0164] Based on the storage location information, determine the track location information corresponding to the target storage unit to obtain the target location information;

[0165] Based on the layout of the tape library, the current position information, and the target position information, at least two optional movement paths are determined from the target robotic arm to the target storage unit;

[0166] Sort the at least two optional movement paths to obtain the sorting result;

[0167] The target movement path of the target robotic arm is determined based on the sorting results and the current position information of other robotic arms.

[0168] The computer storage medium of this invention can be any combination of one or more computer-readable media. A computer-readable medium can be a computer-readable signal medium or a computer-readable storage medium. For example, a computer-readable storage medium can be, but is not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples (a non-exhaustive list) of computer-readable storage media include: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this document, a computer-readable storage medium can be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.

[0169] Computer-readable signal media may include data signals propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. Computer-readable signal media may also be any computer-readable medium other than computer-readable storage media, capable of sending, propagating, or transmitting programs for use by or in connection with an instruction execution system, apparatus, or device.

[0170] Program code contained on a computer-readable medium may be transmitted using any suitable medium, including but not limited to: wireless, wire, optical fiber, RF, etc., or any suitable combination thereof.

[0171] Computer program code for performing the operations of this invention can be written in one or more programming languages ​​or a combination thereof. Programming languages ​​include object-oriented programming languages ​​such as Java, Smalltalk, and C++, as well as conventional procedural programming languages—such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0172] Those skilled in the art will understand that the modules or steps of the present invention described above can be implemented using general-purpose computing devices. They can be centralized on a single computing device or distributed across a network of multiple computing devices. Optionally, they can be implemented using computer-executable program code, thereby allowing them to be stored in a storage device for execution by a computing device, or they can be fabricated as separate integrated circuit modules, or multiple modules or steps can be fabricated as a single integrated circuit module. Thus, the present invention is not limited to any particular combination of hardware and software.

[0173] Furthermore, the acquisition, storage, use, and processing of data in the technical solution of this invention all comply with relevant laws and regulations.

[0174] Note that the above description is merely a preferred embodiment of the present invention and the technical principles employed. Those skilled in the art will understand that the present invention is not limited to the specific embodiments described herein, and various obvious changes, readjustments, and substitutions can be made without departing from the scope of protection of the present invention. Therefore, although the present invention has been described in detail through the above embodiments, the present invention is not limited to the above embodiments, and may include many other equivalent embodiments without departing from the concept of the present invention, the scope of which is determined by the scope of the appended claims.

Claims

1. A method of planning a path of a mechanical arm of a magnetic tape library, characterized by, The magnetic tape library comprises a storage unit and at least two mechanical arms, and the method comprises: obtaining current position information of a target mechanical arm and storage position information of a target storage unit; determining track position information corresponding to the target storage unit according to the storage position information to obtain target position information; based on the layout of the magnetic tape library, the current position information and the target position information, determining at least two optional moving paths of the target mechanical arm to the target storage unit; sorting the at least two optional moving paths to obtain a sorting result; determining a target moving path of the target mechanical arm based on the sorting result and current position information of other mechanical arms.

2. The method of claim 1, wherein, Determining a target moving path of the target mechanical arm based on the sorting result and current position information of other mechanical arms comprises: selecting the shortest path from the sorting result as a candidate moving path; determining whether the current position information of the other mechanical arms exists in the candidate moving path; if the current position information of the other mechanical arms exists in the candidate moving path, removing the candidate moving path from the sorting result to obtain an updated sorting result, and triggering the selection of the shortest path from the sorting result as a candidate moving path; if the current position information of the other mechanical arms does not exist in the candidate moving path, determining the candidate moving path as the target moving path.

3. The method of claim 1, wherein, The layout of the magnetic tape library is determined according to the following method: According to the site size of the magnetic tape library, the length and width of the storage unit, the number of storage units in the first storage area of the magnetic tape library is calculated to obtain a first storage number; According to the site size, the track width of the mechanical arm and the width of the storage unit, the number of storage unit groups in the second storage area of the magnetic tape library is calculated to obtain a storage group number; Based on the site size, the track width of the mechanical arm, the length and width of the storage unit, the number of storage units in the storage unit group is calculated to obtain the number of storage units in the group, and based on the storage group number, the number of tracks of the mechanical arm in the second storage area is calculated to obtain the number of tracks between groups; Based on the first storage number, the storage group number, the number of storage units in the group and the number of tracks between groups, the layout of the magnetic tape library is constructed; wherein, the edge transition track is arranged between the first storage area and the second storage area, and the edge transition track is connected with the inter-group track of the second storage area.

4. The method of claim 3, wherein, According to the site size of the magnetic tape library, the length and width of the storage unit, the number of storage units in the first storage area of the magnetic tape library is calculated to obtain a first storage number, comprising: calculating the difference between the site size and the first preset multiple of the width of the storage unit to obtain an available size; determining the first storage number according to the ratio of the available size to the length of the storage unit.

5. The method of claim 3, wherein, According to the site size, the track width of the mechanical arm and the width of the storage unit, the number of storage unit groups in the second storage area of the magnetic tape library is calculated to obtain a storage group number, comprising: calculating a remaining available size based on the site size and a width of the storage unit multiplied by a second preset multiple; calculating an available grouping width based on the remaining available size and the track width; calculating a grouping width base value as a sum of the track width and the width of the storage unit multiplied by the second preset multiple; determining the number of storage groups based on a ratio of the available grouping width to the grouping width base value.

6. The method of claim 5, wherein, Before constructing the layout of the tape library based on the first storage quantity, the number of storage groups, the intra-group storage quantity, and the inter-group track number, the method further comprises: determining a grouping remainder based on a ratio of the remaining available size to the grouping width base value; calculating a half-group threshold value as a sum of the track width and the width of the storage unit; in a case where the grouping remainder is not less than the half-group threshold value, adding one to the inter-group track number to obtain an updated inter-group track number, and determining that a storage unit sub-group exists in the second storage area; wherein a column number of the storage unit sub-group is the same as a column number of the storage unit group, and a row number of the storage unit sub-group is one less than a row number of the storage unit group; calculating a storage unit quantity of the storage unit sub-group; constructing the layout of the tape library based on the first storage quantity, the number of storage groups, the intra-group storage quantity, the storage unit quantity of the storage unit sub-group, and the updated inter-group track number.

7. The method of claim 3, wherein, Based on the site size, the track width of the mechanical arm, the length and width of the storage unit, calculating a storage unit quantity of the storage unit group to obtain an intra-group storage quantity, comprising: calculating a remaining size as a difference between the site size and a width of the storage unit multiplied by a third preset multiple; determining an intra-group available column length based on a difference between the remaining size and a track width multiplied by the third preset multiple; determining a column number of the storage unit group based on a ratio of the intra-group available column length to the length of the storage unit; calculating the intra-group storage quantity as a product of the column number and a preset row number of the storage unit group.

8. An electronic device, comprising: The electronic device comprises: at least one processor; and a memory connected in communication with the at least one processor; wherein the memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor to enable the at least one processor to execute the method for planning a mechanical arm path of a tape library according to any one of claims 1 to 7.

9. A storage medium containing computer-executable instructions, wherein: The computer executable instructions, when executed by a computer processor, are used to execute the method for planning a mechanical arm path of a tape library according to any one of claims 1 to 7.

10. A computer program product, characterised in that, The computer program product comprises a computer program which, when executed by a processor, implements the method for planning a mechanical arm path of a tape library according to any one of claims 1 to 7.