Robot scheduling method and system, electronic device and storage medium

CN117519018BActive Publication Date: 2026-09-18BEIJING GEEKPLUS TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202311503482.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-11-13
Publication Date
2026-09-18
Estimated Expiration
2043-11-13

AI Technical Summary

Technical Problem

[0004]鉴于上述问题,本发明实施例提供了机器人调度方法、系统、电子设备及存储介质,用于解决现有技术中存在的机器人工作效率较低的问题

Benefits of technology

[0022] In summary, the robot scheduling method, system, electronic device, and storage medium according to embodiments of the present invention can determine a planned path for each robot based on the task information of each robot among multiple robots, identify the robot to be rotated among the multiple robots, determine the planned rotation position from multiple path points on the planned path of the robot to be rotated according to the planned path and the operating parameters of each robot, allocate multiple travel points to the robot to be rotated according to its current position during the movement of the robot to be rotated, determine candidate rotation positions based on the multiple travel points, and then determine the target rotation position based on the planned rotation position and/or candidate rotation positions, thereby generating a rotation command based on the target rotation position to instruct the robot to be rotated to rotate the shelf being transported by the robot to be rotated at the target rotation position.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117519018B_ABST
    Figure CN117519018B_ABST
Patent Text Reader

Abstract

Embodiments of the present application relate to the technical field of robots, and disclose a robot scheduling method and system, an electronic device and a storage medium. The method comprises: determining a planning path for each robot based on task information of each robot in a plurality of robots, and determining a robot to be turned in a plurality of robots; determining a planning turning position in a plurality of path points on the planning path of the robot to be turned according to the planning path of each robot and the running parameters of each robot; during travel of the robot to be turned, assigning a plurality of to-be-traveled points to the robot to be turned according to a current position of the robot to be turned, and determining a candidate turning position according to the plurality of to-be-traveled points; determining a target turning position according to the planning turning position and / or the candidate turning position; and generating a turning instruction according to the target turning position. The technical solution of the present application can reduce the requirements of robot turning on a site and improve the turning efficiency of global robots.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present invention relate to the field of robotics technology, specifically to robot scheduling methods, systems, electronic devices, and storage media. Background Technology

[0002] In fields such as smart warehousing and logistics, goods can be placed on shelves and robots can be used to move the goods on the shelves. Since shelves usually have multiple sides for placing goods, in order to process or remove the goods from each side of the shelf, it is often necessary to rotate the shelf being moved by the robot.

[0003] Currently, to control robots to turn the shelves they handle, a dedicated turning area can be set up. The robot moves the shelf to the turning area for turning, and then moves the shelf to its destination after the turning is complete. However, this method wastes space resources because it requires a dedicated turning area, and it also increases the robot's travel distance to the destination, thus reducing the robot's travel efficiency and slowing down its work. Summary of the Invention

[0004] In view of the above problems, embodiments of the present invention provide a robot scheduling method, system, electronic device and storage medium to solve the problem of low robot working efficiency in the prior art.

[0005] According to one aspect of the present invention, a robot scheduling method is provided, the method comprising: determining a planned path for each of a plurality of robots based on task information of each robot, and determining a robot to be rotated among the plurality of robots; wherein the planned path includes a plurality of path points, and the robot to be rotated is the robot among the plurality of robots whose transported shelves need to be rotated; determining a planned rotation position among the plurality of path points on the planned path of the robot to be rotated according to the planned path and the operating parameters of each robot; during the movement of the robot to be rotated, allocating a plurality of travel points to the robot to be rotated according to its current position, and determining candidate rotation positions according to the plurality of travel points; determining a target rotation position according to the planned rotation position and / or the candidate rotation positions; generating a rotation command according to the target rotation position; the rotation command instructing the robot to be rotated to rotate the shelf being transported by the robot to be rotated at the target rotation position.

[0006] In some embodiments, determining the planned turning point from multiple path points on the planned path of the robot to be turned, based on the planned paths of each robot and the operating parameters of the multiple robots, includes: determining the traffic status of each path point on the planned path of the robot to be turned, based on the planned paths of each robot and the operating parameters of the multiple robots; and determining at least one path point that meets the turning conditions as the planned turning point based on the traffic status and / or environmental parameters of each path point.

[0007] In some embodiments, determining the planned turning position from multiple path points on the planned path of the robot to be turned, based on the planned paths of each robot and the operating parameters of the multiple robots, includes: calculating the turning score of each path point on the planned path of the robot to be turned, based on the planned paths of each robot and the operating parameters of the multiple robots; and determining the planned turning position from the multiple path points based on the turning scores of each path point.

[0008] In some embodiments, the turnaround score includes a traffic volume score. The step of calculating the turnaround score for each path point on the planned path of the robot to be turned around, based on the planned paths of each robot and the operating parameters of the plurality of robots, includes: determining, based on the planned paths of each robot and the operating parameters of the plurality of robots, the number of robots traveling in the same, opposite, intersecting, or waiting directions as the robot to be turned around when it reaches the path point; and determining the traffic volume score for the path point based on the number of robots.

[0009] In some embodiments, the face-turning score includes an environmental score and / or a point feature score. The step of calculating the face-turning score for each path point on the planned path of the robot to be turned, based on the planned paths of each robot and the operating parameters of the plurality of robots, includes: determining the number of surrounding points of the path point based on the planned paths of each robot and the operating parameters of the plurality of robots, and determining the environmental score of the path point based on the number of surrounding points; and / or, determining the point features of the path point based on the planned paths of each robot, and determining the point feature score of the path point based on the point features.

[0010] In some embodiments, determining the planned turning point location among the plurality of path points based on the turning point scores of each path point includes: determining the planned turning point location based on the at least two path points when the traffic volume scores of at least two of the plurality of path points are higher than a traffic volume score threshold; or determining the planned turning point location among the plurality of path points based on the environmental scores and / or the location feature scores of the at least two path points; or determining the planned turning point location among the plurality of path points based on the environmental scores and / or the location feature scores of each of the plurality of path points when the traffic volume scores of all of the plurality of path points are lower than the traffic volume score threshold.

[0011] In some embodiments, determining the planned turning point location among the plurality of path points based on the environmental score and / or the point feature score of each path point among the plurality of path points includes: determining the location corresponding to the path point whose environmental score and / or point feature score satisfies the scoring selection conditions as the planned turning point location based on the environmental score and / or the point feature score corresponding to each path point among the plurality of path points; wherein, satisfying the scoring selection conditions includes at least one of the following: the environmental score satisfies a first condition, the point feature score satisfies a second condition, and the weighted score of the environmental score and the point feature score satisfies a third condition.

[0012] In some embodiments, allocating multiple travel points to the robot to be rotated based on its current position includes: determining the current path point of the robot to be rotated at its current position; and determining a preset number of idle path points located after the current path point in the planned path of the robot to be rotated as the travel points, wherein the idle path points are path points not occupied by other robots.

[0013] In some embodiments, determining candidate turning positions based on the plurality of points to be driven includes: calculating the number of target robots and / or the waiting time of the target robots when the robot to be driven turns at the point to be driven; wherein the target robots are robots affected by the robot to be driven turning turning at the point to be driven; calculating the turning cost of the point to be driven based on the number of target robots and / or the waiting time of the target robots; and determining the candidate turning positions among the plurality of points to be driven based on the turning costs of the plurality of points to be driven.

[0014] In some embodiments, calculating the turning cost of the point to be driven based on the number of target robots and / or the waiting time of the target robots includes: determining the turning cost based on the waiting time of the target robots when the waiting time of the target robots is greater than a time threshold; and determining the turning cost based on the number of target robots when the waiting time of the target robots is less than or equal to the time threshold.

[0015] In some embodiments, determining the target turning position based on the planned turning position and / or the candidate turning position includes: if the planned turning position and the candidate turning position are different, determining the candidate turning position as the target turning position.

[0016] In some embodiments, determining the candidate turning position as the target turning position when the planned turning position and the candidate turning position are different further includes: determining the candidate turning position with the lowest turning cost as the target turning position when there are multiple candidate turning positions.

[0017] In some embodiments, the method further includes: if there is an intersection between the planned turning position and the candidate turning position, determining the position with the lowest turning cost in the intersection of the planned turning position and the candidate turning position as the target turning position.

[0018] In some embodiments, the method further includes: during the movement of the robot to be rotated, if the planned rotation position is the last rotation position and the robot to be rotated has not completed the rotation, then the planned rotation position is determined as the target rotation position.

[0019] According to another aspect of the present invention, a robot scheduling system is provided, the system comprising: a control device configured to determine a planned path for each of a plurality of robots based on task information of each robot; determine a robot to be rotated among the plurality of robots; determine a planned rotation position from multiple path points on the planned path of the robot to be rotated according to the planned path and the operating parameters of each robot; during the movement of the robot to be rotated, allocate multiple travel points to the robot to be rotated according to its current position; determine candidate rotation positions based on the multiple travel points; determine a target rotation position based on the planned rotation position and / or the candidate rotation positions; and generate a rotation command based on the target rotation position; wherein the planned path includes multiple path points, and the robot to be rotated is the robot among the plurality of robots whose transported shelves need to be rotated; and a plurality of robots, including the robot to be rotated, the robot to be rotated being configured to acquire the rotation command and rotate the shelf being transported by the robot to be rotated at the target rotation position according to the rotation command.

[0020] According to another aspect of the present invention, an electronic device is provided, comprising: a processor; and a memory for storing executable instructions of the processor; wherein the processor is configured to perform operations of the robot scheduling method as described above by executing the executable instructions.

[0021] According to another aspect of the present invention, a computer-readable storage medium is provided having a computer program stored thereon, characterized in that the computer program, when executed by a processor, implements the steps of the robot scheduling method as described above.

[0022] In summary, the robot scheduling method, system, electronic device, and storage medium according to embodiments of the present invention can determine a planned path for each robot based on the task information of each robot among multiple robots, identify the robot to be rotated among the multiple robots, determine the planned rotation position from multiple path points on the planned path of the robot to be rotated according to the planned path and the operating parameters of each robot, allocate multiple travel points to the robot to be rotated according to its current position during the movement of the robot to be rotated, determine candidate rotation positions based on the multiple travel points, and then determine the target rotation position based on the planned rotation position and / or candidate rotation positions, thereby generating a rotation command based on the target rotation position to instruct the robot to be rotated to rotate the shelf being transported by the robot to be rotated at the target rotation position.

[0023] By applying this solution, the planned turning point can be determined from multiple path points on the planned path of the robot to be turned, and candidate turning points can be determined based on multiple points to be traveled. Then, based on the planned turning point and candidate turning points, the target turning point for the robot to turn the shelf can be determined. There is no need to plan a special turning area for the robot, saving space, and the robot's movement can be scheduled throughout the entire area, improving the robot's operating efficiency.

[0024] The above description is merely an overview of the technical solutions of the embodiments of the present invention. In order to better understand the technical means of the embodiments of the present invention and to implement them in accordance with the contents of the specification, and to make the above and other objects, features and advantages of the embodiments of the present invention more apparent and understandable, specific embodiments of the present invention are described below. Attached Figure Description

[0025] The accompanying drawings are for illustrative purposes only and are not intended to limit the invention. Furthermore, the same reference numerals denote the same parts throughout the drawings. In the drawings:

[0026] Figure 1 A flowchart of a robot scheduling method provided by an embodiment of the present invention is shown;

[0027] Figure 2 This diagram illustrates a running area provided by an embodiment of the present invention;

[0028] Figure 3 A sub-flowchart of a robot scheduling method provided by an embodiment of the present invention is shown;

[0029] Figure 4 A sub-flowchart of another robot scheduling method provided by an embodiment of the present invention is shown;

[0030] Figure 5 A sub-flowchart of another robot scheduling method provided by an embodiment of the present invention is shown;

[0031] Figure 6 A sub-flowchart of another robot scheduling method provided by an embodiment of the present invention is shown;

[0032] Figure 7 A sub-flowchart of another robot scheduling method provided by an embodiment of the present invention is shown;

[0033] Figure 8 A sub-flowchart of another robot scheduling method provided by an embodiment of the present invention is shown;

[0034] Figure 9 A flowchart of another robot scheduling method provided by an embodiment of the present invention is shown;

[0035] Figure 10 A schematic diagram of a robot scheduling system provided by an embodiment of the present invention is shown;

[0036] Figure 11 A schematic diagram of the structure of an electronic device provided by an embodiment of the present invention is shown. Detailed Implementation

[0037] Exemplary embodiments of the invention will now be described in more detail with reference to the accompanying drawings. While exemplary embodiments of the invention are shown in the drawings, it should be understood that the invention can be implemented in various forms and should not be limited to the embodiments set forth herein.

[0038] This invention provides a robot scheduling method, which can be executed by a control device. Based on the task information of each robot among multiple robots, the method determines a planned path for each robot and identifies a robot to be rotated among the multiple robots. According to the planned paths and operating parameters of each robot, a planned rotation position is determined from multiple path points on the planned path of the robot to be rotated. During the movement of the robot to be rotated, multiple travel points are assigned to the robot to be rotated based on its current position, and candidate rotation positions are determined based on these multiple travel points. Then, based on the planned rotation position and / or candidate rotation positions, a target rotation position is determined. A rotation command is then generated based on the target rotation position to instruct the robot to rotate the shelf being handled by the robot to be rotated at the target rotation position.

[0039] By applying this solution, the planned turning point can be determined from multiple path points on the planned path of the robot to be turned, and candidate turning points can be determined based on multiple points to be traveled. Then, based on the planned turning point and candidate turning points, the target turning point for the robot to turn the shelf can be determined. There is no need to plan a special turning area for the robot, saving space, and the robot's movement can be scheduled throughout the entire area, improving the robot's operating efficiency.

[0040] Figure 1 A flowchart of a robot scheduling method provided by an embodiment of the present invention is shown, as follows: Figure 1 As shown, the method may include the following steps 110-150:

[0041] Step 110: Based on the task information of each robot among multiple robots, determine the planned path for each robot, and identify the robot to be rotated among multiple robots.

[0042] The planned path includes multiple path points, and the robot to be rotated is the one among multiple robots that needs to rotate the shelf it is handling. For example, such as... Figure 2As shown, the operating area 200 includes multiple storage racks 210, each capable of holding the same or different goods. The robot can move within the aisle formed by the multiple storage racks 210. For example, the robot can move shelf 220 from position A to position B (the robot is located at the bottom of shelf 220 in the figure, not shown). Shelf 220 is a tiered shelf with multi-faceted storage functionality. It can be seen that at position A, side a of shelf 220 faces the storage rack on the left, i.e., the storage rack in the first row and first column. At position B, side a of shelf 220 faces the aisle formed by the first and second columns of storage racks. Therefore, the orientation of shelf 220 at position A is different from its orientation at position B. In other words, when the robot moves shelf 220 from position A to position B, a rotation operation is required on shelf 220; therefore, this robot is a rotation-oriented robot.

[0043] The robot's task can be a task pre-assigned to the robot based on the task to be processed. The robot's task information can include the task name, task content, execution location, and time of the task to be performed. When the task content is a goods handling task, it can also include information such as the name of the goods, storage location, and quantity of goods to be handled.

[0044] Depending on the business scenario, robots can perform a variety of tasks, such as goods picking, inventory counting, physical stocking, and shelving. Goods picking refers to retrieving the required goods from the warehouse based on user orders or needs; inventory counting involves counting, verifying, and recording the goods stored in the warehouse to ensure the accuracy and consistency of inventory records; physical stocking involves moving the corresponding goods to designated shelves according to certain requirements to improve picking efficiency; and shelving involves placing goods obtained from suppliers in appropriate locations within the warehouse for subsequent storage and picking.

[0045] Therefore, the tasks to be processed may also include the above-mentioned different types of tasks as well as other tasks that can be performed by the robot. This embodiment does not make specific limitations on this.

[0046] After acquiring the task information of each robot from multiple robots, the control device determines a planned path for each robot to perform its corresponding task, enabling the robots to travel along the planned path and complete the task. Simultaneously, based on the task information, the control device can also determine whether each robot needs to perform shelf-turning operations, such as whether the robot needs to turn the shelf it is transporting from the starting point to the ending point. If it is determined that a robot needs to turn the shelf it is transporting, then that robot is designated as the shelf-turning robot.

[0047] In this way, the control device can perform path planning for each robot based on the task information of each robot among multiple robots, and identify the robot to be rotated among multiple robots, providing a basis for subsequent control of the robot to travel according to the planned path and for controlling the robot to be rotated to perform the rotation.

[0048] Step 120: Based on the planned paths and operating parameters of each robot, determine the planned turning point from among multiple path points on the planned path of the robot to be turned.

[0049] The operating parameters of a robot can vary depending on the specific robot type and application. For example, robot operating parameters may include the robot's travel speed, load capacity, dimensions, and power parameters.

[0050] To facilitate precise control of robots within their operating area, the planned path can be divided into multiple path points. For example, the robot's operating area can be divided into multiple cells, each serving as a path point. Each cell can be equipped with a positioning identifier, such as a QR code. When the robot moves through a cell, its identification device can scan the positioning identifier to send its position to the control device. This allows the control device to determine the real-time position of each robot, whether it is following the planned path, and which path point it is currently located on.

[0051] The planned turning point refers to the turning point where the robot to be turned can turn the shelf, which is determined according to the planned path of each robot. The planned turning point can include one or more path points. In other words, depending on the size of the shelf to be turned, the robot can occupy one or more path points when turning the shelf.

[0052] Based on the planned paths and operating parameters of each robot, it is possible to predict which path point each robot will be located on the planned path at each time. For the robot to be rotated, its location on the planned path at each time can be determined, along with the situation of other robots near that path point. This allows us to identify the path points along the entire planned path where shelf rotation can be performed, and then determine the planned rotation location based on these path points. For example, the area near the path points where shelf rotation is possible can be defined as the planned rotation location.

[0053] Using the above method, the planned turning position for shelf turning can be determined on the planned path of the robot to be turned, so that there is no need to set up a special turning area for the robot in the site, which can save the site area and improve the space utilization of the robot's operating area.

[0054] In some embodiments, reference Figure 3 As shown, step 120 can be achieved through the following method:

[0055] Step 310: Based on the planned paths of each robot and the operating parameters of multiple robots, determine the traffic status of each path point on the planned path of the robot to be rotated.

[0056] The traffic status of a path point refers to the traffic conditions at that path point and its surrounding points when the robot to be rotated arrives at that path point. For example, it may include the location, speed, and status of robots around that path point, such as whether they are moving shelves or the size of the shelves being moved.

[0057] In order to determine the planned turning point, the control device can predict the position of each robot at each time based on the planned path of each robot and the operating parameters of multiple robots, thereby determining the traffic status of each path point on the planned path of the robot to be turned, that is, to realize the prediction of the traffic status of each path point when the robot to be turned arrives at each path point on its planned path.

[0058] For example, for a robot, based on its planned path and speed in its operating parameters, the time it takes for the robot to reach each path point on its planned path from the current moment can be determined. In this way, the arrival time of each robot at each path point on its planned path can be calculated, thereby determining whether a robot is present at each path point at any given time, and which robot it is. This information can then be used to determine the traffic status at each path point when the robot to be turned arrives at its planned path.

[0059] In some embodiments, the robot's operating area can be divided into multiple road segments, each with a different travel speed. To improve calculation accuracy, the time it takes for each robot to reach the corresponding path point on the planned path can be calculated based on the road segment in which it is located and the different travel speeds.

[0060] Step 320: Based on the traffic conditions and / or environmental parameters of each path point, determine at least one path point that meets the turning conditions as the planned turning location.

[0061] Among them, environmental parameters refer to the environmental conditions surrounding the path points, which may include the location parameters of the path points, such as whether they are located at a turn, and whether there are obstacles near the path points, such as whether they are near walls, their distance from walls, and their direction. Turning conditions refer to the conditions that the robot to be turned must meet to perform the shelf turning operation, which may include the number of path points that the robot to be turned will occupy when performing the turning operation, and the conditions that the robot to be turned will not collide with other robots or obstacles during the turning.

[0062] Based on the traffic conditions and environmental parameters of each path point, the control device can determine the surrounding robot situation and environmental conditions when the robot to be rotated arrives at each path point, and then determine whether the robot to be rotated can perform shelf rotation in the area where each path point is located, thereby obtaining at least one path point that meets the rotation conditions, and thus determining the location of at least one path point as the planned rotation location.

[0063] For example, assuming that based on the traffic conditions and environmental parameters of each path point, it is determined that there are no robots or other obstacles at the two nearest path points in each direction outward from a certain path point, the robot to be rotated can perform the shelf rotation operation at that path point, and during the rotation process, when the shelf being rotated by the robot sweeps past the two nearest path points in each direction outward from that path point, no collision will occur. In this case, the location of that path point, such as the path point itself and the area corresponding to the two nearest path points in each direction outward from that path point, can be determined as the planned rotation location.

[0064] This method allows us to find path points on the planned path of the robot to be turned that meet the turning conditions based on the traffic conditions and environmental parameters of each path point. This determines the planned turning location and provides turning support for the robot to be turned to perform turning operations while traveling along the planned path.

[0065] To improve the accuracy of determining the planned turning point location, in some embodiments, reference is made to... Figure 4 As shown, step 120 can also be achieved using the following method:

[0066] Step 410: Based on the planned paths of each robot and the operating parameters of multiple robots, calculate the turning score of each path point on the planned path of the robot to be turned.

[0067] The face-turning score is an assessment of the likelihood of the robot turning at a path point. The higher the face-turning score, the higher the safety and reliability of the robot turning at the path point. Conversely, the lower the face-turning score, the more likely the robot is to encounter safety problems when turning at the path point.

[0068] Based on the planned paths of each robot and the operating parameters of multiple robots, it is possible to determine which path point each robot is located on its planned path at each time. This allows us to obtain the traffic conditions near each path point on the planned path of the robot to be turned at each time. Combined with the environmental conditions of each path point, we can calculate the turning score of each path point on the planned path of the robot to be turned.

[0069] For example, for any point on the planned path of the robot to be turned, the turning score of that point can be calculated based on the traffic conditions of that point, such as the number of robots near that point and the distance between the nearby robots and that point.

[0070] In some embodiments, turnaround rating may include a traffic volume rating, which can be used to assess the number of robots around a waypoint.

[0071] Therefore, for reference Figure 5 As shown, the turning score of each path point on the planned path of the robot to be turned can be calculated using the following method:

[0072] Step 510: Based on the planned paths of each robot and the operating parameters of multiple robots, determine the number of robots that are in the same, opposite, intersecting, or waiting states when the robot to be rotated reaches the path point.

[0073] Among them, the robots that travel in the same, opposite, or intersecting directions as the robot to be rotated, or that are in a waiting state, can be robots determined within a certain range of the path points of the robot to be rotated, or they can be robots determined within the entire operating area, including other robots that need to be rotated or do not need to be rotated.

[0074] For example, for each robot, the time at each path point on the planned path can be estimated based on the robot's operating parameters. When the robot to be rotated reaches a certain path point, the number of robots that are traveling in the same direction as, opposite to, intersecting with, or waiting in the path point can be determined based on the operating status of the robots near that path point at that moment.

[0075] Step 520: Determine the traffic volume score for each path point based on the number of robots.

[0076] Once the number of robots traveling in the same, opposite, intersecting, or waiting directions as the robot to be rotated is obtained, the traffic volume score for the corresponding path points can be calculated based on this number of robots. For example, the traffic volume score for each path point on the planned path of the robot to be rotated can be calculated using the formula: Traffic Volume Score = 1 - Number of Robots %

[0077] Through steps 510-520, the control device can calculate the traffic volume score of each path point based on the traffic volume of the robot to be turned at each path point, providing data support for assessing the possibility of turning at each path point.

[0078] In some embodiments, the face-turning score may include an environmental score and / or a point feature score. The environmental score refers to the environmental score around a path point, which can be determined based on the number of points around the path point. Generally, the number of points around a path point refers to the number of unoccupied path points around that path point. For example, for path point 1, the more unoccupied path points within a radius r centered on path point 1, the higher the environmental score of path point 1. Here, r is a positive integer.

[0079] Location feature score refers to the feature score of a route point. According to the location and type of the route point, the location feature of the route point can include highway points, turning points, fixed turning area points, etc. Each location feature corresponds to a fixed location feature score. For example, the location feature score of fixed turning area points can be set to a higher score, while the location feature scores of highway points and turning points can be set to lower scores respectively.

[0080] It should be understood that the above-described location features and their scores are for illustrative purposes only. Depending on the layout and setup of the robot's operating area, location features may include different location types, and the location feature scores for each type can be customized by the operator based on the actual situation.

[0081] Therefore, for reference Figure 6 As shown, step 410 can also be achieved by any one or more of the following steps 610 and 620:

[0082] Step 610: Based on the planned paths of each robot and the operating parameters of multiple robots, determine the number of surrounding points of each path point, and determine the environmental score of the path point based on the number of surrounding points.

[0083] Accordingly, based on the planned paths of each robot and the operating parameters of multiple robots, the number of surrounding points at each path point of the robot to be rotated can be determined, and the environmental score of that path point can be determined based on the number of surrounding points. For example, assuming that the number of surrounding points for path point 1 is 8, the environmental score of that path point can be 8 / 10 = 0.8.

[0084] In some embodiments, the number of points surrounding a path point can be the number of points around that path point that are not occupied by the robot.

[0085] Step 620: Based on the planned paths of each robot, determine the location characteristics of the path points, and determine the location characteristic score of the path points based on these location characteristics.

[0086] Based on the planned paths of each robot, the time when the robot to be rotated arrives at each path point on the planned path can be determined. Based on the preset point feature categories, it can be determined which point feature each path point belongs to, and then the point feature score of each path point can be determined according to the point feature.

[0087] Through the above steps 610-620, the control device can combine the traffic conditions, environmental conditions and location conditions of the robot to be turned at each path point to calculate the environmental score and location feature score of the path point, which provides support for the subsequent calculation of the turning score of each path point.

[0088] Step 420: Based on the turning scores of each path point, determine the planned turning point location among multiple path points.

[0089] After obtaining the turnaround scores for each path point, path points with turnaround scores greater than a score threshold can be selected as planned turnaround locations. Alternatively, the turnaround scores of each path point can be arranged in descending order, and the path points corresponding to the top N turnaround scores can be selected as planned turnaround locations. Here, N is a positive integer, and the score threshold can be customized by the operator according to the actual situation; this embodiment does not impose specific limitations on this.

[0090] In some embodiments, reference Figure 7 As shown, the method for determining the planned turning point location among multiple path points based on the turning point score of each path point can be achieved through the following steps 710 or 720:

[0091] Step 710: If the traffic volume scores of multiple route points, including at least two route points, are higher than the traffic volume score threshold, determine the planned turning point location based on the aforementioned at least two route points, or determine the planned turning point location among multiple route points based on the environmental scores and / or location characteristic scores of the aforementioned at least two route points.

[0092] The traffic volume scoring threshold can be customized by the operator or set as a default value by the system.

[0093] If at least two of the multiple waypoints have traffic volume scores higher than the traffic volume score threshold, it indicates that the safety of the robot turning the shelf at these two waypoints is relatively high. Therefore, the planned turning location can be determined based on these two waypoints. For example, if the two waypoints are adjacent, the location of these two waypoints can be determined as the planned turning location. If the two waypoints are not adjacent, the location of the waypoint with the higher traffic volume score can be selected as the planned turning location.

[0094] In some embodiments, the control device may also determine the planned turning point location among two path points based on the environmental score and point feature score of two path points whose traffic volume score is higher than the traffic volume score threshold.

[0095] For example, the control device can select the location of the path point with a higher environmental score from two path points with traffic volume scores higher than the traffic volume score threshold, as the planned turning point location, or it can select the location of the path point with a higher point feature score as the planned turning point location.

[0096] Step 720: If the traffic volume scores of multiple route points are all lower than the traffic volume score threshold, determine the planned turning point location among the multiple route points based on the environmental score and / or point characteristic score of each route point.

[0097] If the traffic volume scores of multiple path points are all below the traffic volume score threshold, it indicates that there are a relatively large number of robots near each path point at the corresponding time. In this case, the traffic volume score parameter can be ignored, and the planned turning point can be determined among multiple path points based on the environmental score and / or point feature score of each path point.

[0098] For example, the control device can select the location of the path point with the highest environmental score as the planned turning point, or it can select the location of the path point with the highest feature score as the planned turning point.

[0099] In some embodiments, the control device may determine the location corresponding to the path point whose environmental score and / or point feature score meets the score selection criteria as the planned turning point based on the environmental score and / or point feature score corresponding to each path point among multiple path points.

[0100] The criteria for selecting the scoring can include at least one of the following: the environmental score meets the first condition; the location feature score meets the second condition; and the weighted score of the environmental score and the location feature score meets the third condition. For example, the first condition could be that the environmental score is greater than an environmental score threshold, or that the environmental scores are arranged in descending order, and the top X scores are selected; the second condition could be that the location feature score is greater than a location feature score threshold, or that the location feature scores are arranged in descending order, and the top Y scores are selected; and the third condition could be that the weighted score of the environmental score and the location feature score is greater than a weighted score threshold, or that the weighted score of the environmental score and the location feature score is arranged in descending order, and the top Z scores are selected.

[0101] In the above conditions, the environmental scoring threshold, the location feature scoring threshold, and the weighted scoring threshold, as well as X, Y, and Z, can all be customized by the operator. This embodiment does not impose specific limitations on this.

[0102] For example, the control device can determine the location of the planned turning point based on the environmental score corresponding to each path point among multiple path points, where the environmental score is greater than an environmental score threshold. Alternatively, it can determine the location of the planned turning point based on the point feature score corresponding to each path point among multiple path points, where the point feature score is greater than a point feature score threshold. Or, the control device can also perform a weighted summation of the environmental score and point feature score corresponding to each path point among multiple path points, with appropriate weights, to obtain a weighted score, and then determine the location of the path point corresponding to the weighted score greater than a weighted score threshold as the planned turning point.

[0103] Through the above steps 710 and 720, the parameters with higher influence can be selected from the traffic volume score, environmental score, and point feature score of each path point in multiple path points to determine the planned turning point position. This makes the planned turning point position more consistent with the actual operation of the robot, thus improving the accuracy of determining the planned turning point position.

[0104] In fact, by determining the turning score of each path point, the planned turning position can be determined among multiple path points. This allows for the quantification of the probability that the robot to be turned can turn the shelf at each path point, making the determination of the planned turning position more scientific and reliable.

[0105] Step 130: During the movement of the robot to be rotated, assign multiple points to be traveled to the robot based on its current position, and determine candidate rotation positions based on the multiple points to be traveled.

[0106] The current position of the robot to be rotated refers to its current location. It can be determined by the scanning operation of the robot to be rotated through the positioning markers in the cells it passes. For example, based on the time when the robot to be rotated scans the positioning markers of each cell, the position of the cell corresponding to the most recent scan time can be determined as the current position of the robot to be rotated.

[0107] The points to be traveled refer to the path points that the robot to be turned will pass through in the next period of time. For example, suppose there are 10 path points on the planned path of the robot to be turned, and these 10 path points are arranged in order. Suppose the current path point of the robot to be turned is the 3rd path point. If the number of points to be traveled is 3 each time, then the points to be traveled are the 4th, 5th and 6th path points.

[0108] It should be understood that the above-mentioned allocation of a fixed number of travel points to the robot to be rotated each time is only an illustrative example. In reality, the number of travel points allocated to the robot to be rotated each time may be different depending on the operation of other robots.

[0109] Candidate turning positions refer to the turning positions assigned to the robot to be turned based on its current position. Compared with planned turning positions, they have higher reliability because they are determined based on the real-time position of the robot to be turned during the path scheduling process.

[0110] Considering that some robots may be unable to follow the original planned path due to abnormalities or other reasons during the movement of the robot to be turned, thus preventing the robot to be turned from turning at the planned turning position, in order to further determine the turning position, the control device can allocate multiple points to be driven for the robot to be turned based on its current position during the movement of the robot to be turned, and determine the candidate turning position based on the allocated multiple points to be driven.

[0111] In some embodiments, multiple travel points can be assigned to the robot to be rotated using the following methods:

[0112] Based on the current position of the robot to be rotated, determine the current path point of the robot at the current position.

[0113] The preset number of idle path points located after the current path point in the planned path of the robot to be rotated are determined as the points to be driven.

[0114] Among them, the idle path points are the path points that are not occupied by other robots. The preset quantity refers to the number of points that the robot to be rotated can occupy in a single allocation. It can be set to a fixed value by the operator or the system, such as 3, 5, etc., or it can be set as the maximum number of points that the robot to be rotated can occupy in a single allocation, according to the actual situation.

[0115] For example, based on the current position of the robot to be rotated, the control device can determine which path point this position belongs to, obtain the current path point, and then, based on the planned path of the robot to be rotated, the control device can determine the path points that the robot to be rotated has not yet reached, and determine the preset number of empty path points after the current path point as the points to be traveled.

[0116] In fact, this method enables path scheduling based on the planned path, which means that the robot is promptly assigned path points that it can travel through during the current travel time according to the planned path. This prevents the robot from blindly following the planned path and colliding with other robots, thus ensuring the safety of robot operation.

[0117] After assigning travel points to the robot to be turned, in order to determine the candidate turning positions among the travel points, in some embodiments, reference is made to... Figure 8 As shown, the following methods can be executed:

[0118] Step 810: Calculate the number of target robots and / or the waiting time of the target robots when the robot to be rotated turns at the point to be traveled.

[0119] The target robot is the robot affected by the robot to be rotated at the designated travel point. For example, when the robot to be rotated rotates at the designated travel point, if a robot that was originally traveling normally along its planned path needs to stop and wait due to obstacle avoidance, then that robot is the target robot.

[0120] As mentioned earlier, based on the operating parameters and planned paths of each robot, the estimated time for each robot to reach the path points on its planned path can be calculated. Therefore, assuming that the robot to be turned is turning at the point to be driven, and the time required for the robot to turn is known, other robots that need to pass through the turning area occupied by the robot to be turned during this time can be identified. Since these robots cannot pass through the turning area during this time and need to switch from driving state to waiting state, these robots can be identified as target robots.

[0121] Step 820: Calculate the turning cost of the point to be traveled based on the number of target robots and / or the waiting time of the target robots.

[0122] To assess the impact of the rotating robot on all robots in the operating area when it rotates at the designated point, the control device can count the number of target robots and their waiting time. The waiting time of each target robot can be obtained by counting the time each robot waits for the rotating robot to rotate.

[0123] After obtaining the number of target robots and the waiting time of the target robots, the control device can further combine these two parameters to calculate the turning cost of the waiting point. This turning cost can be used to comprehensively evaluate the impact of the robot to be turned on other robots when it is turning the shelf at the waiting point.

[0124] In some embodiments, the turning cost of the point to be driven can be calculated using the following method:

[0125] If the waiting time of the target robot exceeds the time threshold, the turnaround cost is determined based on the waiting time of the target robot.

[0126] If the waiting time of the target robot is less than or equal to the time threshold, the cost of turning around is determined based on the number of target robots.

[0127] In some cases, waiting time has a greater impact on the robot's work efficiency. Therefore, when the waiting time of the target robot exceeds the time threshold, the waiting time can be used as the main factor to determine the turnaround cost. For example, the waiting time of the target robot can be directly mathematically converted to obtain the turnaround cost.

[0128] Conversely, when the waiting time of the target robot is less than or equal to the time threshold, it indicates that the waiting time of the target robot has little impact on the robots in the entire operating area. Therefore, the turnaround cost can be determined based on the number of target robots. For example, the number of target robots can be directly mathematically converted to obtain the turnaround cost.

[0129] Using the above method, the turning cost of the point to be traveled can be calculated based on whether the waiting time of the target robot significantly affects the operation of the robot, and according to different evaluation parameters, namely the waiting time of the target robot or the number of target robots.

[0130] Step 830: Based on the turning costs of multiple points to be driven, determine the candidate turning positions among the multiple points to be driven.

[0131] After obtaining the turning costs of multiple points to be driven, the positions corresponding to the points to be driven with turning costs less than the cost threshold can be determined as candidate turning positions. Alternatively, the turning costs can be arranged in ascending order, and the positions corresponding to the points to be driven with the first M turning costs can be determined as candidate turning positions, where M is a positive integer. The cost threshold can also be customized by the operator according to the actual situation, and this embodiment does not impose specific limitations on it.

[0132] Through the above steps 810 to 830, the candidate turning positions can be determined by predicting the turning cost of the point to be driven. The position corresponding to the point to be driven with the lowest impact can be selected from multiple points to be driven as the candidate turning position, which facilitates reducing the impact of the robot to be driven on other robots when performing shelf turning operations.

[0133] Step 140: Determine the target turning position based on the planned turning position and / or candidate turning positions.

[0134] Based on the planned turning position and candidate turning positions, the turning position with the best turning effect can be selected as the target turning position. The target turning position is the position that the robot to be turned will ultimately choose to perform the shelf turning operation.

[0135] For example, if the planned turning position and the candidate turning position are different, the candidate turning position can be determined as the target turning position.

[0136] Since the candidate turning position is determined based on the real-time operation of the robot to be turned compared to the planned turning position, it has higher reliability. Therefore, when the planned turning position and the candidate turning position are different, the candidate turning position can be directly determined as the target turning position.

[0137] Furthermore, when multiple candidate turning positions exist, the candidate turning position with the lowest turning cost can be determined as the target turning position. This minimizes the impact on other robots when the robot to be turned turns at the target turning position, resulting in higher overall robot operating efficiency across the entire operating area.

[0138] In some embodiments, the control device may determine the position with the lowest turning cost in the intersection of the planned turning position and the candidate turning position as the target turning position when there is an intersection between the planned turning position and the candidate turning position.

[0139] When the planned turning point and the candidate turning point intersect, it indicates that there is partial overlap between the two. To select the target turning point, the location with the lowest turning cost in the intersection can be determined as the target turning point. This can reduce the impact of the robot turning on other robots and improve the operational efficiency of the entire robot system.

[0140] Since the candidate turning positions are determined in real time during the movement of the robot to be turned, the control device cannot predict whether there are candidate turning positions in the last assigned point of travel. Therefore, in order to ensure that the robot to be turned can complete the shelf turning, in some embodiments, if the planned turning position is the last turning position and the robot to be turned has not completed the turning, the planned turning position is determined as the target turning position.

[0141] In other words, when the robot reaches the last turning point, the control device will no longer determine the candidate turning point for the robot based on the point to be traveled, but will directly control the robot to turn the shelf at the last turning point to avoid the possibility that the robot will not have completed the shelf turning when it reaches the end point corresponding to the planned path.

[0142] Step 150: Generate a face rotation command based on the target face rotation position.

[0143] Among them, the turn-over command is used to instruct the robot to turn the shelf being handled by the robot at the target turn-over position.

[0144] After determining the target turning position, the control device can generate a turning command and send the turning command to the robot to be turned, so that the robot to be turned can turn the transported shelf when it reaches the target turning position.

[0145] In some embodiments, the control device may send a turning command to the robot to be turned when it is about to reach the target turning position, so that the robot turns the shelf being transported. Alternatively, the turning command may be sent to the robot to be turned when the turning command is generated, so that the robot turns the shelf being transported when it reaches the target turning position.

[0146] Figure 9 A flowchart of another robot scheduling method provided by an embodiment of the present invention is shown, such as... Figure 9 As shown, the control device can perform the following methods:

[0147] Step 910: Based on the task information of each robot among the multiple robots, determine the planned path for each robot, and identify the robot to be rotated among the multiple robots.

[0148] For example, the control device can generate a planned path for each robot from the starting position to the ending position corresponding to the task based on the task information, so that each robot can travel according to the corresponding planned path and complete its respective task.

[0149] Simultaneously, based on the task information, the control device can also determine whether each robot needs to perform shelf-turning operations according to the tasks assigned to each robot. For example, it can determine whether a robot needs to turn the shelf it is handling from the starting position to the ending position corresponding to the task. If it is determined that a certain robot needs to turn the shelf it is handling, then that robot is the robot to be turned.

[0150] Step 920: Based on the planned paths and operating parameters of each robot, determine the planned turning point from among multiple path points on the planned path of the robot to be turned.

[0151] Based on the planned paths and operating parameters of each robot, the control device can predict which path point each robot will be located on the planned path at each time. This allows it to determine the path points along the entire planned path where shelf turning can be performed, and ultimately, the planned turning location is determined based on these path points. For example, the area near the path points where shelf turning is possible can be defined as the planned turning location.

[0152] In some embodiments, the robot's path planning algorithm and path scheduling algorithm are decoupled, and the path planning of multiple robots is distributed path planning. After the planning is completed, the control device will pass the planned paths of all robots to the path scheduling algorithm for global robot path scheduling.

[0153] Step 930: Perform path scheduling for each robot.

[0154] For example, path scheduling is generally divided into two modules: right-of-way allocation and deadlock resolution. Right-of-way allocation refers to assigning waiting points to the robot, enabling the robot to travel within those waiting points during the current travel period. Deadlock resolution involves detecting whether the robot has been stuck in one position for an extended period and resuming operation if the robot is deadlocked.

[0155] In some embodiments, as the robot travels along a planned path, it can continuously request available travel points from the control device. Furthermore, to prevent collisions, travel points are a single resource; therefore, the same travel point and the robot's envelope—that is, the maximum external dimensions or contours the robot can achieve within its range of activity—will not be repeatedly assigned at the same time.

[0156] Based on this, when the control device assigns driving points to the robot, it can obtain the robot's position, posture, and occupied point range within the entire area, and assign multiple driving points to each robot.

[0157] Step 940: Determine if there are any robots that have not been assigned a driving point. If so, proceed to step 950 to assign a driving point to the robot that has not been assigned a driving point. If not, proceed to step 960 to determine the candidate turning positions for the robot that has been assigned a driving point.

[0158] Step 950: Assign driving points to robots that have not yet been assigned driving points.

[0159] Step 960: Determine candidate turning positions for the robot to be turned, which has been assigned driving points.

[0160] For example, the control device can determine candidate turning positions based on multiple traversal points assigned to the robot to be turned. For instance, by utilizing the sparsity of the robot, one or more traversal points can be determined from the multiple traversal points of the robot to be turned, thus obtaining candidate turning positions.

[0161] In some embodiments, candidate turning points can typically be sparsely populated intersections for robots, low-density highways, turning path points, etc.

[0162] Step 970: After confirming that all robots have been assigned to travel points, verify the accessibility of each robot's travel points.

[0163] For example, the control device can verify the travel points of each robot to determine whether there are intersections or overlaps. If there are no intersections or overlaps, it means that the travel points are passable.

[0164] Step 980: Determine the target turning position based on the planned turning position and candidate turning positions.

[0165] Based on the planned turning point and candidate turning points, the turning point with the best turning performance can be selected as the target turning point.

[0166] Step 990: Send a turning command to the robot to be turned to control the robot to turn the shelf at the target turning position.

[0167] After determining the target turning position, the control device can generate a turning command and send the turning command to the robot to be turned, so that the robot to be turned can turn the transported shelf when it reaches the target turning position.

[0168] The robot scheduling method provided by the embodiments of the present invention eliminates the need to plan a special turning area for the robot, saving space, and enables the scheduling of the robot's movement throughout the entire area, thereby improving the robot's operating efficiency.

[0169] This invention also provides a robot scheduling system, such as... Figure 10 As shown, the robot scheduling system may include a control device 1010 and multiple robots 1020.

[0170] The control device 1010 is configured to determine a planned path for each robot based on the task information of each robot among multiple robots, identify the robot to be turned among the multiple robots, and determine the planned turning position from multiple path points on the planned path of the robot to be turned according to the planned path and the operating parameters of each robot. During the movement of the robot to be turned, multiple points to be traveled are assigned to the robot to be turned according to its current position. Candidate turning positions are determined based on the multiple points to be traveled. The target turning position is determined based on the planned turning position and / or the candidate turning positions. A turning command is generated based on the target turning position.

[0171] Multiple robots 1020 include a robot to be rotated, which is configured to receive a rotation command and rotate the shelf being handled by the robot to be rotated at the target rotation location according to the rotation command.

[0172] The planned path includes multiple path points, and the robot to be rotated is the robot among multiple robots that needs to rotate the shelf being transported.

[0173] In some embodiments, the control device 1010 is configured to determine the traffic status of each path point on the planned path of the robot to be turned based on the planned paths of each robot and the operating parameters of the multiple robots; and to determine at least one path point that meets the turning conditions as the planned turning location based on the traffic status and / or environmental parameters of each path point.

[0174] In some embodiments, the control device 1010 is configured to calculate the turning score of each path point on the planned path of the robot to be turned based on the planned path of each robot and the operating parameters of the multiple robots; and to determine the planned turning position among the multiple path points based on the turning score of each path point.

[0175] In some embodiments, the turnaround score includes a traffic volume score. The control device 1010 is configured to determine, based on the planned paths of each robot and the operating parameters of multiple robots, the number of robots that are traveling in the same, opposite, intersecting, or waiting directions as the robot to be turned around when it reaches a path point; and to determine the traffic volume score of the path point based on the number of robots.

[0176] In some embodiments, the face-turning score includes an environmental score and / or a point feature score. The control device 1010 is configured to determine the number of surrounding points of the path point based on the planned paths of each robot and the operating parameters of the multiple robots, and to determine the environmental score of the path point based on the number of surrounding points; and / or, to determine the point features of the path point based on the planned paths of each robot, and to determine the point feature score of the path point based on the point features.

[0177] In some embodiments, the control device 1010 is configured to determine a planned turnaround location based on at least two route points when the traffic volume scores of at least two route points are higher than a traffic volume score threshold; or, to determine a planned turnaround location among the multiple route points based on the environmental scores and / or location feature scores of at least two route points; or, to determine a planned turnaround location among the multiple route points based on the environmental scores and / or location feature scores of each route point when the traffic volume scores of all multiple route points are lower than a traffic volume score threshold.

[0178] In some embodiments, the control device 1010 is configured to determine the location corresponding to the path point whose environmental score and / or location feature score meets the scoring selection conditions as the planned turning point location based on the environmental score and / or location feature score corresponding to each path point among a plurality of path points; wherein, meeting the scoring selection conditions includes at least one of the following: the environmental score meets a first condition, the location feature score meets a second condition, and the weighted score of the environmental score and the location feature score meets a third condition.

[0179] In some embodiments, the control device 1010 is configured to determine the current path point of the robot to be rotated at the current position based on the current position of the robot to be rotated; and to determine a preset number of free path points located after the current path point in the planned path of the robot to be rotated as the driving points, wherein the free path points are path points not occupied by other robots.

[0180] In some embodiments, the control device 1010 is configured to calculate the number of target robots and / or the waiting time of target robots when the robot to be rotated turns at the point to be traveled; wherein, the target robot is a robot affected by the robot to be rotated turning at the point to be traveled; calculate the turning cost of the point to be traveled based on the number of target robots and / or the waiting time of target robots; and determine candidate turning positions among multiple points to be traveled based on the turning costs of multiple points to be traveled.

[0181] In some embodiments, the control device 1010 is configured to determine the turnaround cost based on the waiting time of the target robot when the waiting time of the target robot is greater than a time threshold; and to determine the turnaround cost based on the number of target robots when the waiting time of the target robot is less than or equal to the time threshold.

[0182] In some embodiments, the control device 1010 is configured to determine the candidate turning position as the target turning position when the planned turning position and the candidate turning position are different.

[0183] In some embodiments, the control device 1010 is further configured to determine the candidate turn position with the lowest turn cost as the target turn position when there are multiple candidate turn positions.

[0184] In some embodiments, the control device 1010 is further configured to determine the position with the lowest turning cost in the intersection of the planned turning position and the candidate turning position as the target turning position when there is an intersection between the planned turning position and the candidate turning position.

[0185] In some embodiments, the control device 1010 is further configured to determine the planned turning position as the target turning position if, during the movement of the robot to be turned, the planned turning position is the last turning position and the robot to be turned has not completed the turning.

[0186] According to the robot scheduling system provided in the embodiments of the present invention, the planned turning position and candidate turning position can be determined for the robot to be turned by the control device. Both the planned turning position and the candidate turning position are located on the planned path of the robot to be turned. Therefore, it is not necessary to plan a special turning area for the robot, which can save space and can schedule the movement of the robot in the whole area, thereby improving the operating efficiency of the robot.

[0187] The specific details of each module in the above system have been described in detail in the implementation method section. For any undisclosed details, please refer to the implementation method section, and therefore will not be repeated here.

[0188] Figure 11 The diagram shows a structural schematic of an electronic device provided by an embodiment of the present invention. The specific embodiments of the present invention do not limit the specific implementation of the electronic device.

[0189] like Figure 11 As shown, the electronic device can be the control device in the above embodiments. Specifically, the electronic device may include: a processor 1102, a communications interface 1104, a memory 1106, and a communications bus 1108.

[0190] The processor 1102, communication interface 1104, and memory 1106 communicate with each other via communication bus 1108. Communication interface 1104 is used to communicate with other network elements, such as clients or other servers. The processor 1102 executes program 1110, specifically performing the relevant steps described above in the robot scheduling method embodiment.

[0191] Specifically, program 1111 may include program code, which includes computer-executable instructions.

[0192] Processor 1102 may be a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to implement embodiments of the present invention. The electronic device may include one or more processors of the same type, such as one or more CPUs; or it may include processors of different types, such as one or more CPUs and one or more ASICs.

[0193] Memory 1106 is used to store program 1110. Memory 1106 may include high-speed RAM memory, and may also include non-volatile memory, such as at least one disk storage device.

[0194] Specifically, program 1110 can be called by processor 1102 to cause the electronic device to execute the steps in the above-mentioned robot scheduling method.

[0195] This invention also provides a computer-readable storage medium storing at least one executable instruction that, when executed on an electronic device / robot scheduling system, causes the electronic device / robot scheduling system to perform the robot scheduling method in any of the above method embodiments.

[0196] Specifically, the executable instructions can be used to cause the electronic device / robot scheduling system to perform the steps in the robot scheduling method described above.

[0197] The algorithms or displays provided herein are not inherently related to any particular computer, virtual system, or other device. Furthermore, the embodiments of this invention are not directed to any particular programming language.

[0198] Numerous specific details are set forth in the specification provided herein. However, it will be understood that embodiments of the invention may be practiced without these specific details. Similarly, for the sake of brevity and to aid in understanding one or more aspects of the invention, in the description of exemplary embodiments of the invention above, various features of the embodiments are sometimes grouped together in a single embodiment, figure, or description thereof. The claims, which follow the detailed description, are hereby expressly incorporated into that detailed description, wherein each claim itself is a separate embodiment of the invention.

[0199] Those skilled in the art will understand that the modules in the device of the embodiment can be adaptively changed and placed in one or more devices different from that embodiment. Modules, units, or components in the embodiment can be combined into a single module, unit, or component, and further, they can be divided into multiple sub-modules, sub-units, or sub-components, except that at least some of such features and / or processes or units are mutually exclusive.

[0200] It should be noted that the above embodiments are illustrative of the invention and not restrictive, and that those skilled in the art can devise alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses should not be construed as limiting the claims. The word "comprising" does not exclude the presence of elements or steps not listed in the claims. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. The invention can be implemented by means of hardware comprising several different elements and by means of a suitably programmed computer. In the unit claims enumerating several means, several of these means may be embodied by the same item of hardware. The use of the words first, second, and third, etc., does not indicate any order. These words can be interpreted as names. The steps in the above embodiments, unless otherwise specified, should not be construed as limiting the order of execution.

Claims

1. A method of robot scheduling, the method comprising: The method includes: Based on the task information of each robot among multiple robots, a planned path is determined for each robot, and a robot to be rotated is identified among the multiple robots; wherein, the planned path includes multiple path points, and the robot to be rotated is the robot among the multiple robots that needs to rotate the shelf being transported; Based on the planned paths and operating parameters of each robot, a planned turning point is determined from multiple path points on the planned path of the robot to be turned; wherein, the planned turning point is one or more path points on the planned path of the robot to be turned that are capable of turning the shelf. During the movement of the robot to be rotated, multiple travel points are assigned to the robot based on its current position, and candidate rotation positions are determined based on the multiple travel points; wherein, the candidate rotation positions are rotation positions assigned to the robot based on its current position. Determine the target turning position based on the planned turning position and / or the candidate turning positions; A turning instruction is generated based on the target turning position; the turning instruction is used to instruct the robot to be turned to turn the shelf being transported by the robot at the target turning position.

2. The method of claim 1, wherein, The step of determining the planned turning position from multiple path points on the planned path of the robot to be turned, based on the planned paths of each robot and the operating parameters of the multiple robots, includes: Based on the planned paths of each robot and the operating parameters of the multiple robots, determine the traffic status of each path point on the planned path of the robot to be rotated. Based on the traffic conditions and / or environmental parameters of each path point, at least one path point that meets the turning conditions is determined as the planned turning location.

3. The method according to claim 1, characterized in that, The step of determining the planned turning position from multiple path points on the planned path of the robot to be turned, based on the planned paths of each robot and the operating parameters of the multiple robots, includes: Based on the planned paths of each robot and the operating parameters of the multiple robots, calculate the face-turning score of each path point on the planned path of the robot to be turned. Based on the turning scores of each path point, the planned turning point is determined among the multiple path points.

4. The method according to claim 3, characterized in that, The turnaround score includes a traffic volume score. The calculation of the turnaround score for each path point on the planned path of the robot to be turned around, based on the planned paths of each robot and the operating parameters of the multiple robots, includes: Based on the planned paths of each robot and the operating parameters of the multiple robots, determine the number of robots that are in the same, opposite, intersecting, or waiting states as the robot to be rotated reaches the path point. The traffic volume score for the path point is determined based on the number of robots.

5. The method according to claim 4, characterized in that, The face-turning score includes an environmental score and / or a point feature score. The step of calculating the face-turning score for each point on the planned path of the robot to be turned, based on the planned paths of each robot and the operating parameters of the multiple robots, includes: Based on the planned paths of each robot and the operating parameters of the plurality of robots, the number of surrounding points of each path point is determined, and the environmental score of each path point is determined based on the number of surrounding points; and / or, Based on the planned paths of each robot, the location features of the path points are determined, and the location feature scores of the path points are determined based on the location features.

6. The method according to claim 5, characterized in that, The step of determining the planned turning point position among the plurality of path points based on the turning point scores of each path point includes: If, when at least two of the plurality of waypoints have traffic volume scores higher than a traffic volume score threshold, the planned turnaround location is determined based on the at least two waypoints; or, the planned turnaround location is determined from the plurality of waypoints based on the environmental scores and / or the location characteristic scores of the at least two waypoints; or... If the traffic volume scores of the multiple path points are all lower than the traffic volume score threshold, the planned turning point location is determined among the multiple path points based on the environmental score and / or the point feature score of each of the multiple path points.

7. The method according to claim 6, characterized in that, The step of determining the planned turning point location among the plurality of path points based on the environmental score and / or the point feature score of each path point includes: Based on the environmental score and / or the point feature score corresponding to each of the multiple path points, the location corresponding to the path point whose environmental score and / or the point feature score meets the score selection condition is determined as the planned turning point location. The criteria for meeting the scoring selection conditions include at least one of the following: the environmental score meets a first condition; the location feature score meets a second condition; and the weighted score of the environmental score and the location feature score meets a third condition.

8. The method according to claim 1, characterized in that, The step of assigning multiple travel points to the robot to be rotated based on its current position includes: Based on the current position of the robot to be rotated, determine the current path point of the robot at the current position; A preset number of idle path points located after the current path point in the planned path of the robot to be rotated are determined as the points to be driven. The idle path points are path points that are not occupied by other robots.

9. The method according to claim 1, characterized in that, The step of determining candidate turning points based on the plurality of points to be driven includes: Calculate the number of target robots and / or the waiting time of the target robots when the robot to be rotated turns at the point to be traveled; wherein, the target robots are the robots affected by the robot to be rotated turning at the point to be traveled. Calculate the turning cost of the point to be traveled based on the number of target robots and / or the waiting time of the target robots; Based on the turning cost of the plurality of points to be driven, the candidate turning position is determined among the plurality of points to be driven.

10. The method according to claim 9, characterized in that, The step of calculating the turning cost of the point to be traversed based on the number of target robots and / or the waiting time of the target robots includes: If the waiting time of the target robot exceeds a time threshold, the face-turning cost is determined based on the waiting time of the target robot. If the waiting time of the target robot is less than or equal to the time threshold, the face-turning cost is determined based on the number of target robots.

11. The method according to claim 1, characterized in that, The step of determining the target turning position based on the planned turning position and / or the candidate turning positions includes: If the planned turning point and the candidate turning point are different, the candidate turning point will be determined as the target turning point.

12. The method according to claim 11, characterized in that, The step of determining the candidate turning point as the target turning point when the planned turning point and the candidate turning point are different further includes: If there are multiple candidate face-turning positions, the candidate face-turning position with the lowest face-turning cost is determined as the target face-turning position.

13. The method according to claim 11, characterized in that, The method further includes: If there is an intersection between the planned turning point and the candidate turning point, the position with the lowest turning cost in the intersection of the planned turning point and the candidate turning point is determined as the target turning point.

14. The method according to any one of claims 1-13, characterized in that, The method further includes: If, during the movement of the robot to be rotated, the planned rotation position is the last rotation position and the robot has not completed the rotation, then the planned rotation position is determined as the target rotation position.

15. A robot scheduling system, characterized in that, include: A control device is configured to determine a planned path for each of a plurality of robots based on the task information of each robot, identify a robot to be rotated among the plurality of robots, and determine a planned rotation position from multiple path points on the planned path of the robot to be rotated according to the planned paths and operating parameters of each robot. During the movement of the robot to be rotated, multiple travel points are assigned to the robot to be rotated based on its current position. Candidate rotation positions are determined based on the multiple travel points. A target rotation position is determined based on the planned rotation position and / or the candidate rotation positions. A rotation command is generated based on the target rotation position. The planned rotation position is one or more path points on the planned path of the robot to be rotated that allow for shelf rotation, and the candidate rotation positions are rotation positions assigned to the robot to be rotated based on its current position. The planned path includes multiple path points, and the robot to be rotated is the robot among the multiple robots that needs to rotate the shelf being transported. Multiple robots, including the robot to be rotated, the robot to be rotated is configured to receive the rotation command and rotate the shelf being transported by the robot to be rotated at the target rotation position according to the rotation command.

16. An electronic device, characterized in that, include: processor; as well as Memory for storing the executable instructions of the processor; The processor is configured to perform the operation of the robot scheduling method as described in any one of claims 1-14 by executing the executable instructions.

17. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the steps of the robot scheduling method according to any one of claims 1-14.

Citation Information

Patent Citations

  • Improved A* robot optimal path planning method suitable for warehouse environment

    CN106527448A

  • Cargo carrying method, device and equipment, robot and warehousing system

    CN113277254A