Multi-mobile robot scheduling method, device, storage medium and electronic device
By obtaining and utilizing nodes on the logistics mobile robot task path to apply for time and dynamically apply for and allocating resources, conflict problems in multi-mobile robot scheduling are solved and operational efficiency is improved.
Patent Information
- Application Number
- CN202411412695.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-11
- Publication Date
- 2025-02-21
- Estimated Expiration
- 2044-10-11
AI Technical Summary
In the field of logistics and warehousing, multiple logistics mobile robots are prone to conflicts during the scheduling process, resulting in a decrease in operational efficiency. How to effectively dispatch these mobile robots to ensure operational efficiency has become a problem.
By obtaining the application occupancy time of each node on the target task path, applying for node resources based on these times, and controlling the mobile robot to drive to the next node when the next applied node is next, dynamic resource allocation and scheduling are realized.
Through dynamic resource allocation and scheduling, conflicts between mobile robots are effectively avoided and the operation efficiency of mobile robots is improved.
Smart Images

Figure CN118938939B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of multi-mobile robot scheduling, and in particular to a multi-mobile robot scheduling method, device, storage medium and electronic equipment. Background Art
[0002] In the field of logistics and warehousing, automation and intelligent control technologies have developed rapidly. With the continuous increase in land and labor costs, intensive transit warehouses have higher operating efficiency because they can fully utilize space efficiency and reduce labor demand accordingly. With the popularization of stereoscopic warehouse applications, logistics mobile robots can complete integrated warehouse transportation and verification operations to meet the efficiency requirements of intensive storage in and out of the warehouse, and have become widely used transportation vehicles.
[0003] The advantage of logistics mobile robots is that they can work across lanes, which can show good flexibility. In an overall movement area, multiple logistics mobile robots work at the same time, but this will lead to conflicts in the scheduling process. How to schedule logistics mobile robots to ensure operating efficiency has become a difficult problem that technicians in this field are concerned about. Summary of the invention
[0004] The object of the present invention is to provide a multi-mobile robot scheduling method, device, storage medium and electronic device to at least partially improve the above-mentioned problem.
[0005] In order to achieve the above purpose, the technical solution adopted by the embodiment of the present invention is as follows:
[0006] In a first aspect, an embodiment of the present invention provides a multi-mobile robot scheduling method, comprising:
[0007] Obtaining the application occupancy time of each node on the target task path, wherein the target task path is the planned path corresponding to the target task;
[0008] Apply for occupying the node resources corresponding to the target task based on the application occupation time of each node;
[0009] When the next node on the target task path is an applied node, the target mobile robot is controlled to drive from the current node to the next node, wherein the target mobile robot is a mobile robot used to execute the target task, and the applied node is a node that has been applied for occupation by the target task.
[0010] Optionally, the step of obtaining the application occupancy time of each node on the target task path includes:
[0011] Let i=1;
[0012] Determine the i-th application occupation time ti of the i-th node on the target task path, wherein the i-th application occupation time is the sum of the ideal time to move from the task starting point to the i-th node along the target task path and the delay time during the movement;
[0013] Determine whether the i-th node on the target task path is an unreachable node based on the i-th application occupation time ti;
[0014] If it is not an unreachable node, determine whether the i-th node on the target task path is a blocked node based on the i-th application occupation time ti;
[0015] If the i-th node is a blocked node, determine whether the priority of the target task path is higher than the priority of the conflicting path corresponding to the i-th node, wherein the conflicting path is the previous task path that applies to occupy the i-th node at the i-th application occupation time ti;
[0016] If it is lower than or equal to, let ti=ti+L, and repeatedly determine whether the i-th node on the target task path is a blocked node based on the i-th application occupation time ti, where L is the unit time length;
[0017] If the i-th node is not a blocked node or the priority of the target task path is higher than the priority of the conflict path corresponding to the i-th node, let i=i+1, and determine whether i≤I holds, where I represents the total number of nodes in the target task path;
[0018] If it is established, the i-th application occupation time ti of the i-th node on the target task path is repeatedly determined until i>I.
[0019] Optionally, when the first formula is established, the i-th node on the target task path is determined to be an unreachable node, and the calculation formula of the first formula is:
[0020]
[0021] Wherein, Xi represents the X coordinate of the i-th node on the target task path, Yi represents the Y coordinate of the i-th node on the target task path, ti represents the i-th application occupation time of the i-th node on the target task path, XJ represents the X coordinate of the J-th node on the prior task path, YJ represents the Y coordinate of the J-th node on the prior task path, tJ represents the J-th application occupation time of the J-th node on the prior task path, 1≤i≤I, and J represents the total number of nodes on the prior task path.
[0022] Optionally, when the second formula is established, the i-th node on the target task path is determined to be a blocked node, and the calculation formula of the second formula is:
[0023]
[0024] Wherein, Xi represents the X coordinate of the ith node on the target task path, Yi represents the Y coordinate of the ith node on the target task path, ti represents the occupation time of the ith application for the ith node on the target task path, Xj represents the X coordinate of the jth node on the prior task path, Yj represents the Y coordinate of the jth node on the prior task path, tj represents the occupation time of the jth application for the jth node on the prior task path, δ represents an interval constant, 1 ≤ i ≤ I, 1 ≤ j < J, and J represents the total number of nodes on the prior task path.
[0025] Optionally, the step of determining the occupation time ti of the ith application for the ith node on the target task path includes:
[0026] Determining the movement time based on the path length from the task start point to the ith node along the target task path;
[0027] Determining the turning time based on the number of turns from the task start point to the ith node along the target task path;
[0028] Determining the ideal time of the ith node based on the movement time and the turning time;
[0029] Taking the sum of the ideal time of moving from the task start point to the ith node along the target task path and the delay time during this period as the occupation time ti of the ith application for the ith node on the target task path.
[0030] Optionally, the method further includes: if there are N partially overlapping prior task paths for the target task path, then obtaining the maximum time of the target task path;
[0031] Generating an iterative path corresponding to the target task based on the unoccupied nodes;
[0032] Obtaining the maximum time of the iterative path;
[0033] When the maximum time of the iterative path is less than the maximum time of the target task path, taking the iterative path as the new target task path.
[0034] Optionally, the step of obtaining the maximum time of the target task path includes: obtaining the maximum delay time; determining the ideal time corresponding to the target task path according to the target task path and the number of turns; determining the maximum time based on the maximum delay time and the ideal time corresponding to the target task path.
[0035] In a second aspect, an embodiment of the present invention provides a multi-mobile robot scheduling device, and the device includes:
[0036] A first processing unit is used to obtain the application occupancy time of each node on the target task path, wherein the target task path is a planned path corresponding to the target task;
[0037] The first processing unit is further used to apply for occupying the node resources corresponding to the target task based on the application occupation time of each node;
[0038] The second processing unit is used to control the target mobile robot to drive from the current node to the next node when the next node on the target task path is an applied node, wherein the target mobile robot is a mobile robot used to perform the target task, and the applied node is a node that has been applied for occupation by the target task.
[0039] In a third aspect, an embodiment of the present invention provides a storage medium having a computer program stored thereon, and the computer program implements the above method when executed by a processor.
[0040] In a fourth aspect, an embodiment of the present invention provides an electronic device, comprising: a processor and a memory, wherein the memory is used to store one or more programs; when the one or more programs are executed by the processor, the above method is implemented.
[0041] Compared with the prior art, the multi-mobile robot scheduling method, device, storage medium and electronic device provided by the embodiment of the present invention obtain the application occupation time of each node on the target task path, wherein the target task path is the planned path corresponding to the target task; based on the application occupation time of each node, apply to occupy the node resources corresponding to the target task; when the next node on the target task path is an applied node, control the target mobile robot to drive from the current node to the next node, wherein the target mobile robot is a mobile robot used to perform the target task, and the applied node is a node that has been applied for occupation by the target task. The multi-mobile robot scheduling method provided by the present invention applies for the node resources corresponding to each blocked node based on the delay time, realizes dynamic resource allocation, completes the dynamic scheduling of the mobile robot, and ensures the operation efficiency of the mobile robot.
[0042] In order to make the above-mentioned objects, features and advantages of the present invention more obvious and easy to understand, preferred embodiments are given below and described in detail with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0043] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings required for use in the embodiments will be briefly introduced below. It should be understood that the following drawings only show certain embodiments of the present invention and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying creative work.
[0044] Figure 1 A schematic diagram of the structure of an electronic device provided by an embodiment of the present invention.
[0045] Figure 2 One of the flow charts of the multi-mobile robot scheduling method provided in an embodiment of the present invention.
[0046] Figure 3 A schematic diagram of path blockage provided by an embodiment of the present invention.
[0047] Figure 4 The second flowchart of the multi-mobile robot scheduling method provided by the embodiment of the present invention.
[0048] Figure 5 A schematic diagram of a unit of a multi-mobile robot scheduling device provided in an embodiment of the present invention.
[0049] In the figure: 10 - processor; 11 - memory; 12 - bus; 13 - communication interface; 201 - first processing unit; 202 - second processing unit. DETAILED DESCRIPTION
[0050] In order to make the purpose, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Generally, the components of the embodiments of the present invention described and shown in the drawings here can be arranged and designed in various different configurations.
[0051] Therefore, the following detailed description of the embodiments of the present invention provided in the accompanying drawings is not intended to limit the scope of the invention claimed for protection, but merely represents selected embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0052] It should be noted that similar reference numerals and letters represent similar items in the following drawings, so once an item is defined in one drawing, it does not need to be further defined and explained in the subsequent drawings. At the same time, in the description of the present invention, the terms "first", "second", etc. are only used to distinguish the description and cannot be understood as indicating or implying relative importance.
[0053] It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the existence of other identical elements in the process, method, article or device including the elements.
[0054] In the description of the present invention, it should be noted that the terms "upper", "lower", "inside", "outside", etc. indicate directions or positional relationships based on the directions or positional relationships shown in the accompanying drawings, or are directions or positional relationships in which the product of the invention is usually placed when in use. They are only for the convenience of describing the present invention and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific direction, be constructed and operated in a specific direction, and therefore should not be understood as a limitation on the present invention.
[0055] In the description of the present invention, it is also necessary to explain that, unless otherwise clearly specified and limited, the terms "disposed" and "connected" should be understood in a broad sense, for example, it can be a fixed connection, a detachable connection, or an integral connection; it can be a mechanical connection or an electrical connection; it can be a direct connection, or it can be an indirect connection through an intermediate medium, or it can be the internal communication of two elements. For ordinary technicians in this field, the specific meanings of the above terms in the present invention can be understood according to specific circumstances.
[0056] Some embodiments of the present invention are described in detail below in conjunction with the accompanying drawings. In the absence of conflict, the following embodiments and features in the embodiments can be combined with each other.
[0057] The embodiment of the present invention provides an electronic device, which may be a server device, a computer device, a mobile phone device, etc. The electronic device is connected to a mobile robot (four-way shuttle) running on a rail network and can control the movement of the mobile robot. Figure 1 , a schematic diagram of the structure of an electronic device. The electronic device includes a processor 10, a memory 11, and a bus 12. The processor 10 and the memory 11 are connected via the bus 12, and the processor 10 is used to execute an executable module stored in the memory 11, such as a computer program.
[0058] The processor 10 can be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the multi-mobile robot scheduling method can be completed by the hardware integrated logic circuit in the processor 10 or the instructions in the form of software. The above-mentioned processor 10 can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components.
[0059] The memory 11 may include a high-speed random access memory (RAM), and may also include a non-volatile memory, such as at least one disk memory.
[0060] The bus 12 may be an ISA (Industry Standard Architecture) bus, a PCI (Peripheral Component Interconnect) bus, or an EISA (Extended Industry Standard Architecture) bus. Figure 1 Although only one bidirectional arrow is used in the figure, it does not mean that there is only one bus 12 or only one type of bus 12 .
[0061] The memory 11 is used to store programs, such as programs corresponding to the multi-mobile robot scheduling device. The multi-mobile robot scheduling device includes at least one software function module that can be stored in the memory 11 in the form of software or firmware or fixed in the operating system (OS) of the electronic device. After receiving the execution instruction, the processor 10 executes the program to implement the multi-mobile robot scheduling method.
[0062] Possibly, the electronic device provided by the embodiment of the present invention further includes a communication interface 13. The communication interface 13 is connected to the processor 10 via a bus.
[0063] It should be understood that Figure 1 The structure shown is only a schematic diagram of a portion of the electronic device. The electronic device may also include Figure 1 More or fewer components as shown, or with Figure 1 Different configurations are shown. Figure 1 Each component shown in the figure can be implemented by hardware, software or a combination thereof.
[0064] A multi-mobile robot scheduling method provided by an embodiment of the present invention can be applied to, but not limited to, Figure 1 For detailed procedures, please refer to the electronic equipment shown in Figure 2 , the multi-mobile robot scheduling method includes: S110, S120 and S130, which are specifically described as follows.
[0065] S110, obtaining the application occupancy time of each node on the target task path.
[0066] Among them, the target task path is the planned path corresponding to the target task.
[0067] Optionally, S110, the step of obtaining the application occupancy time of each node on the target task path, includes: S111, S112, S113, S114, S115, S116 and S117, which are specifically described as follows.
[0068] S111, let i=1.
[0069] S112, determining the i-th application occupation time ti of the i-th node on the target task path, wherein the i-th application occupation time is the sum of the ideal time to move from the task starting point to the i-th node along the target task path and the delay time during the movement.
[0070] S113, based on the i-th application occupation time ti, determine whether the i-th node on the target task path is an unreachable node. If so, re-plan the task path; if not, execute S114.
[0071] Optionally, when the first formula is established, the i-th node on the target task path is determined to be an unreachable node, and the formula of the first formula is:
[0072]
[0073] Among them, Xi represents the X coordinate of the i-th node on the target task path, Yi represents the Y coordinate of the i-th node on the target task path, ti represents the occupancy time of the i-th application of the i-th node on the target task path, XJ represents the X coordinate of the J-th node on the prior task path, YJ represents the Y coordinate of the J-th node on the prior task path, tJ represents the occupancy time of the J-th application of the J-th node on the prior task path, 1 ≤ i ≤ I, I represents the total number of nodes in the target task path, and J represents the total number of nodes on the prior task path. The J-th node on the prior task path is the end point of the prior task path.
[0074] If the i-th node is an unreachable node, it means that when the mobile robot moves along the target task path to the i-th node, the node has been normally occupied by other robots and cannot be passed. At this time, the node can only be marked as an occupied state, and the path task path is re-planned.
[0075] S114. Determine whether the i-th node on the target task path is a blocked node based on the occupancy time ti of the i-th application. If so, execute S115; if not, execute S117.
[0076] Optionally, when the second formula holds, determine that the i-th node on the target task path is a blocked node. The formula of the second formula is:
[0077]
[0078] Among them, Xi represents the X coordinate of the i-th node on the target task path, Yi represents the Y coordinate of the i-th node on the target task path, ti represents the occupancy time of the i-th application of the i-th node on the target task path, Xj represents the X coordinate of the j-th node on the prior task path, Yj represents the Y coordinate of the j-th node on the prior task path, tj represents the occupancy time of the j-th application of the j-th node on the prior task path, δ represents an interval constant, 1 ≤ i ≤ I, 1 ≤ j < J, and J represents the total number of nodes on the prior task path.
[0079] Please refer to Figure 3 , Figure 3 which is the path blockage schematic diagram provided by the embodiment of the present invention. The starting point of the target task path in the figure is starting point 2, and the end point of the target task path is end point 2. When obtaining the occupancy time of each node on the target task path, it is found that nodes A, B, C, and D belonging to the target task path are also required by other tasks (executing the transfer task from starting point 1 to end point 1), and it is necessary to determine whether they are blocked nodes through the above formula.
[0080] S115, determine whether the priority of the target task path is higher than the priority of the conflict path corresponding to the i-th node. If not, execute S116; if yes, execute S117.
[0081] The conflicting path is the previous task path that applies to occupy the i-th node at the i-th application occupation time ti.
[0082] When the end point of the conflict path is on the target task path, if the mobile robot on the conflict path reaches the end point of the conflict path first, it will occupy the node for a long time, causing the mobile robot on the target task path to be unable to pass through the node. Therefore, if the end point of the conflict path is on the target task path, the priority of the target task path is determined to be higher than the priority of the conflict path corresponding to the i-th node. In the case that the priority of the target task path is determined to be higher than the priority of the conflict path corresponding to the i-th node, the resource application time of the conflict path can be replanned, and the corresponding delay can be added before the blocked node to avoid conflicts.
[0083] When the end point of the conflict path is not on the target task path, the priority of the target task path is lower than or equal to the priority of the conflict path corresponding to the i-th node.
[0084] S116, let ti=ti+L.
[0085] Where L is the unit time length.
[0086] After S116 , S114 is repeatedly executed to determine whether the i-th node on the target task path is a blocked node based on the i-th application occupation time ti.
[0087] If the i-th node is not a blocked node or the priority of the target task path is higher than the priority of the conflicting path corresponding to the i-th node, S117 is executed.
[0088] S117, let i=i+1, and determine whether i≤I holds.
[0089] If established, S112 is repeatedly executed to determine the i-th application occupation time ti of the i-th node on the target task path until i>I.
[0090] S120, applying for the node resources corresponding to the target task based on the application occupation time of each node.
[0091] The node resources include nodes between the task start point and the task end point of the target task path, and the target task path is the planned path corresponding to the target task.
[0092] It should be understood that there are multiple mobile robots running in the track network at the same time. In order to avoid collisions between the mobile robots, it is necessary to apply for the corresponding node resources before they move. Only when the next node on the target task path is an applied node can the target mobile robot be controlled to drive from the current node to the next node.
[0093] During the process of the target mobile robot executing the target task, when the first time length is equal to the second time length corresponding to the node, the node resources corresponding to the node are applied for, and the node resources corresponding to the node can be applied for in sequence to enable orderly execution.
[0094] The first time length is the current time length of the target mobile robot on the target task path, which is the sum of the current total delay of the target mobile robot on the target task path and the current moving time length. The current total delay is the sum of the delays that have occurred during the target mobile robot's execution of the target task. The current moving time length is the time length that the target mobile robot takes to move from the task starting point to the current node. The second time length is the application occupancy time corresponding to the node.
[0095] S130, when the next node on the target task path is an applied node, control the target mobile robot to drive from the current node to the next node.
[0096] The target mobile robot is a mobile robot used to perform the target task, and the applied node is a node that has been applied for occupation by the target task.
[0097] The multi-mobile robot scheduling method provided by the embodiment of the present invention applies for node resources corresponding to each blocked node based on the delay time, realizes dynamic resource allocation, completes dynamic scheduling of multiple mobile robots, and ensures the operation efficiency of the mobile robots.
[0098] exist Figure 2 Based on the content in S112, the embodiment of the present invention also provides an optional implementation, please refer to the following. S112, the step of determining the i-th application occupation time ti of the i-th node on the target task path, includes: S112A, S112B, S112C and S112D, which are specifically described as follows.
[0099] S112A, determining the travel time based on the path length from the task starting point to the i-th node along the target task path.
[0100] It should be understood that the movement time may be determined based on the path length and a preset movement speed.
[0101] S112B, determining the turning time based on the number of turns along the target task path from the task starting point to the i-th node.
[0102] Optionally, the turning time may be determined based on the number of turns and the duration of a single turn, and the turning time is the product of the two.
[0103] S112C, determine the ideal time of the i-th node based on the movement time and the turning time.
[0104] Among them, the ideal time to determine the blocked node is the sum of the moving time and the turning time.
[0105] S112D, the sum of the ideal time and the delay time during the movement from the task starting point to the i-th node along the target task path is used as the i-th application occupation time ti of the i-th node on the target task path.
[0106] Among them, the ideal time of the i-th node and the delay time during it are the total delay time from the task starting point to the i-th node.
[0107] In order to better implement resource scheduling and improve the operating efficiency of the mobile robot, the embodiment of the present invention also provides an optional implementation method, please refer to Figure 4 , the multi-mobile robot scheduling method also includes: S210, S220, S230 and S240, which are specifically described as follows.
[0108] S210: If the target task path has N partially overlapping previous task paths, the maximum time of the target task path is obtained.
[0109] Among them, N≥1.
[0110] Optionally, the step of obtaining the maximum time of the target task path includes: S211, S212 and S213, which are specifically described as follows.
[0111] S211, obtaining a maximum delay time.
[0112] The maximum delay time is the maximum value of the delay times of the blocked nodes on the target task path.
[0113] S212, determining the ideal time corresponding to the target task path according to the target task path and the number of turns.
[0114] Optionally, the ideal time corresponding to the target task path is determined according to the path length of the target task path, the number of turns on the target task path, the single turn duration of the target mobile robot, and the moving speed of the target mobile robot.
[0115] S213: Determine the maximum time based on the maximum delay time and the ideal time corresponding to the target task path.
[0116] Optionally, the maximum time corresponding to the target task path is the sum of the maximum delay time corresponding to the target task path and the ideal time corresponding to the target task path.
[0117] S220, generating an iterative path corresponding to the target task based on unoccupied nodes.
[0118] S230, obtaining the maximum time of the iterative path.
[0119] Because the nodes in the iteration path are all unoccupied nodes, the maximum time of the iteration path is the ideal time corresponding to the iteration path.
[0120] Optionally, the ideal time corresponding to the iterative path is determined according to the path length of the iterative path, the number of turns on the iterative path, the duration of a single turn of the target mobile robot, and the moving speed of the target mobile robot.
[0121] S240: When the maximum time of the iteration path is less than the maximum time of the target task path, the iteration path is used as a new target task path.
[0122] The above mechanism can avoid a large number of cars going to the same block, causing congestion, or even avoiding the problem of turning but still having a long overall operation time. When the maximum time of the iterative path is greater than or equal to the maximum time of the target task path, the target task path remains unchanged.
[0123] Regarding the content in S220, the embodiment of the present invention also provides an optional implementation method, please refer to the following.
[0124] Add the first-class nodes to the priority queue, and record the minimum cost path and corresponding path cost of the first-class nodes. The first-class nodes are idle nodes adjacent to the task starting point, and the path cost of the minimum cost path of the first-class nodes is related to the path length of the minimum cost path of the first-class nodes and the Manhattan distance from the first-class nodes to the task end point.
[0125] Because the first-type node is adjacent to the task starting point, the minimum cost path corresponding to the first-type node is the shortest path directly from the task starting point to the first-type node.
[0126] It should be understood that when moving from the task starting point to an adjacent idle node, no turning is required by default, and the path length of the minimum cost path of the first type of node is unit length. Therefore, the minimum cost path corresponding to the first type of node can be determined based on the unit length and the Manhattan distance from the first type of node to the task end point.
[0127] Determine whether the target node is the end point of the task. The target node is the node with the lowest path cost in the priority queue. When there are multiple nodes with equal and lowest path costs in the priority queue, any one of them can be used as the target node.
[0128] If the target node is the end point of the task, the minimum cost path to the target node is determined as the iterative path of the mobile robot.
[0129] If the target node is not the end point of the task, remove the target node from the priority queue and add a verification mark to the target node.
[0130] Each second-class node corresponding to the target node is added to the priority queue, and the minimum cost path and corresponding path cost of the second-class node are recorded. The second-class node is an idle node adjacent to the target node and does not carry a verification tag.
[0131] Among them, the minimum cost path of the second type of node is the path with the lowest path cost from the task starting point to the second type of node. The minimum cost path of the second type of node is related to the path length of the minimum cost path of the second type of node, the Manhattan distance from the second type of node to the task end point, and whether to turn when moving from the target node to the second type of node. The path length of the minimum cost path of the second type of node is equal to the path length of the minimum cost path of the target node plus the unit length.
[0132] It should be noted that, in the embodiment of the present invention, the path with the lowest cost and the path with the lowest cost are both determined based on a track network with a known range.
[0133] Optionally, an optional implementation method of adding each second-category node corresponding to the target node to a priority queue and recording the minimum cost path of the second-category node and the corresponding path cost is as follows.
[0134] Get the target path cost along the target path to the second type of node.
[0135] Among them, the target path is the shortest path from the task starting point along the lowest cost path of the target node to the second type of node. The target path is the shortest path extending from the lowest cost path of the target node to the second type of node. Because the second type of node and the target node are adjacent, the shortest path from the target node to the second type of node is added after the lowest cost path along the target node, which is the target path. The target path cost is related to the target path length, the Manhattan distance from the second type of node to the task end point, and whether to turn when moving from the target node to the second type of node.
[0136] Determine whether the second type of node has been added to the priority queue.
[0137] If the second type of node is not added to the priority queue, the second type of node is added to the priority queue, the target path is used as the lowest cost path of the second type of node, and the target path cost is recorded as the path cost corresponding to the second type of node.
[0138] If the second type of node has been added to the priority queue, it is determined whether the target path cost is less than the path cost of the second type of node in the priority queue.
[0139] If the target path cost is less than the path cost of the second type of node in the priority queue, the target path is used as the lowest cost path of the second type of node, and the target path cost is recorded as the path cost corresponding to the second type of node.
[0140] When the target path cost is less than the path cost of the second type of node in the priority queue, it means that the comprehensive cost of moving from the task starting point to the second type of node along the target path is lower, so it is necessary to update the minimum cost path of the second type of node, use the target path as the minimum cost path of the second type of node, and record the target path cost as the path cost corresponding to the second type of node.
[0141] If the target path cost is greater than or equal to the path cost of the second type of node in the priority queue, keep the lowest cost path of the second type of node unchanged.
[0142] Based on the above, regarding how to obtain the target path cost of moving along the target path to the second type of node, the embodiment of the present invention also provides an optional implementation, please refer to the following. The step of obtaining the target path cost of moving along the target path to the second type of node includes: S511, S512 and S513, which are specifically described as follows.
[0143] S511, obtaining the path length of the target path.
[0144] S512, obtaining an estimated cost from the second type of node to the task endpoint.
[0145] Optionally, S512, the step of obtaining an estimated cost from the second type of node to the task endpoint, includes: S512A, S512B and S512C, which are specifically described as follows.
[0146] S512A, obtain the Manhattan distance between the task endpoint and the second type of node.
[0147] The formula for Manhattan distance is:
[0148]
[0149] Wherein, S(x) represents the Manhattan distance of the target path, that is, the Manhattan distance between the task end point and the second type of node, x1 represents the X-axis coordinate of the task end point, y1 represents the Y-axis coordinate of the task end point, x2 represents the X-axis coordinate of the second type of node, and y2 represents the Y-axis coordinate of the second type of node. In the embodiment of the present invention, the coordinates of each node are determined using the basic coordinate system of the track network.
[0150] S512B: If turning is required to move from the target node to the second type of node, the turning cost is determined according to a single turning time and the speed of the mobile robot.
[0151] Optionally, the formula for the steering cost is:
[0152]
[0153] Among them, t(x) represents the turning cost, T represents the single turning time, and V represents the speed of the mobile robot (which can be but is not limited to the average speed).
[0154] If no turning is required when moving from the target node to the second type of node, the turning cost is 0.
[0155] S512C, determine the estimated cost from the second type of node to the task endpoint based on Manhattan distance and turning cost.
[0156] Optionally, the estimated cost of the target path is calculated as:
[0157]
[0158] Among them, S(x) represents the Manhattan distance of the target path, t(x) represents the turning cost of the target path, and h(x) represents the estimated cost of the target path.
[0159] S513, determining the target path cost according to the path length and the estimated cost.
[0160] Optionally, the sum of the path length and the estimated cost is determined as the target path cost.
[0161] The formula for the target path cost is:
[0162]
[0163] Among them, h(x) represents the estimated cost of the target path, g(x) represents the path length of the target path, and f(x) represents the target path cost.
[0164] After all the second-class nodes corresponding to the target node are added to the priority queue, the node with the lowest path cost in the priority queue is determined as the new target node. Repeatedly determine whether the target node is the task end point until the target node is the task end point or the priority queue is empty.
[0165] See also Figure 5 , Figure 5 A multi-mobile robot scheduling device is provided in an embodiment of the present invention. Optionally, the multi-mobile robot scheduling device is applied to the electronic device described above.
[0166] The multi-mobile robot scheduling device includes: a first processing unit 201 and a second processing unit 202 .
[0167] The first processing unit 201 is used to obtain the application occupancy time of each node on the target task path, wherein the target task path is a planned path corresponding to the target task;
[0168] The first processing unit 201 is also used to apply for occupying the node resources corresponding to the target task based on the application occupation time of each node;
[0169] The second processing unit 202 is used to control the target mobile robot to drive from the current node to the next node when the next node on the target task path is an applied node, wherein the target mobile robot is a mobile robot used to perform the target task and the applied node is a node that has been applied for occupation by the target task.
[0170] Optionally, the first processing unit 201 is used to execute the above-mentioned S110 to S120 and S210 to S240, and the second processing unit 202 is used to execute the above-mentioned S130.
[0171] It should be noted that the multi-mobile robot scheduling device provided in this embodiment can execute the method flow shown in the above method flow embodiment to achieve the corresponding technical effect. For the sake of brief description, for parts not mentioned in this embodiment, reference can be made to the corresponding contents in the above embodiment.
[0172] The embodiment of the present invention further provides a storage medium, which stores computer instructions and programs, and when the computer instructions and programs are read and run, the multi-mobile robot scheduling method of the above embodiment is executed. The storage medium may include a memory, a flash memory, a register, or a combination thereof.
[0173] The following provides an electronic device, which may be a server device, a computer device, a mobile phone device, etc. The electronic device is as follows Figure 1As shown, the above-mentioned multi-mobile robot scheduling method can be implemented; specifically, the electronic device includes: a processor 10, a memory 11, and a bus 12. The processor 10 can be a CPU. The memory 11 is used to store one or more programs. When the one or more programs are executed by the processor 10, the multi-mobile robot scheduling method of the above-mentioned embodiment is executed.
[0174] In summary, the embodiments of the present invention provide a method, device, storage medium and electronic device for scheduling multiple mobile robots, which obtain the application occupation time of each node on the target task path, wherein the target task path is the planned path corresponding to the target task; based on the application occupation time of each node, apply to occupy the node resources corresponding to the target task; when the next node on the target task path is an applied node, control the target mobile robot to drive from the current node to the next node, wherein the target mobile robot is a mobile robot used to perform the target task, and the applied node is a node that has been applied for occupation by the target task. The multi-mobile robot scheduling method provided by the present invention applies for the node resources corresponding to each blocked node based on the delay time, realizes dynamic resource allocation, completes the dynamic scheduling of the mobile robot, and ensures the operation efficiency of the mobile robot.
[0175] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. For those skilled in the art, the present invention may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention shall be included in the protection scope of the present invention.
[0176] It will be apparent to those skilled in the art that the invention is not limited to the details of the exemplary embodiments described above and that the invention can be implemented in other specific forms without departing from the spirit or essential features of the invention. Therefore, the embodiments should be considered exemplary and non-limiting in all respects, and the scope of the invention is defined by the appended claims rather than the foregoing description, and it is intended that all variations falling within the meaning and scope of the equivalent elements of the claims be included in the invention. Any reference numeral in a claim should not be considered as limiting the claim to which it relates.
Claims
1. A multi-mobile robot scheduling method, characterized in that: The method comprises: Obtaining the application occupancy time of each node on the target task path, wherein the target task path is the planned path corresponding to the target task; Apply for occupying the node resources corresponding to the target task based on the application occupation time of each node; When the next node on the target task path is an applied node, the target mobile robot is controlled to drive from the current node to the next node, wherein the target mobile robot is a mobile robot used to perform the target task, and the applied node is a node that has been applied for occupation by the target task; The step of obtaining the application occupancy time of each node on the target task path includes: Let i=1; Determine the i-th application occupation time ti of the i-th node on the target task path, wherein the i-th application occupation time is the sum of the ideal time to move from the task starting point to the i-th node along the target task path and the delay time during the movement; Determine whether the i-th node on the target task path is an unreachable node based on the i-th application occupation time ti; If it is not an unreachable node, determine whether the i-th node on the target task path is a blocked node based on the i-th application occupation time ti; If the i-th node is a blocked node, determine whether the priority of the target task path is higher than the priority of the conflicting path corresponding to the i-th node, wherein the conflicting path is the previous task path that applies to occupy the i-th node at the i-th application occupation time ti; If it is lower than or equal to, let ti=ti+L, and repeatedly determine whether the i-th node on the target task path is a blocked node based on the i-th application occupation time ti, where L is the unit time length; If the i-th node is not a blocked node or the priority of the target task path is higher than the priority of the conflict path corresponding to the i-th node, let i=i+1, and determine whether i≤I holds, where I represents the total number of nodes in the target task path; If it is established, the i-th application occupation time ti of the i-th node on the target task path is repeatedly determined until i>I.
2. The multi-mobile robot scheduling method according to claim 1, characterized in that: When the first formula is established, it is determined that the i-th node on the target task path is an unreachable node. The formula of the first formula is: Wherein, Xi represents the X coordinate of the i-th node on the target task path, Yi represents the Y coordinate of the i-th node on the target task path, ti represents the i-th application occupation time of the i-th node on the target task path, XJ represents the X coordinate of the J-th node on the prior task path, YJ represents the Y coordinate of the J-th node on the prior task path, tJ represents the J-th application occupation time of the J-th node on the prior task path, 1≤i≤I, and J represents the total number of nodes on the prior task path.
3. The multi-mobile robot scheduling method according to claim 1, characterized in that: When the second formula is established, the i-th node on the target task path is determined to be a blocked node. The calculation formula of the second formula is: Wherein, Xi represents the X coordinate of the i-th node on the target task path, Yi represents the Y coordinate of the i-th node on the target task path, ti represents the occupation time of the i-th application for the i-th node on the target task path, Xj represents the X coordinate of the j-th node on the prior task path, Yj represents the Y coordinate of the j-th node on the prior task path, tj represents the occupation time of the j-th application for the j-th node on the prior task path, δ represents an interval constant, 1 ≤ i ≤ I, 1 ≤ j < J, and J represents the total number of nodes on the prior task path.
4. The multi-mobile robot scheduling method according to claim 1, characterized in that: The step of determining the occupation time ti of the i-th application for the i-th node on the target task path includes: Determining the movement time based on the path length from the task start point to the i-th node along the target task path; Determining the turning time based on the number of turns from the task start point to the i-th node along the target task path; Determining the ideal time of the i-th node based on the movement time and the turning time; Taking the sum of the ideal time from the task start point to the i-th node along the target task path and the delay time during this period as the occupation time ti of the i-th application for the i-th node on the target task path.
5. The multi-mobile robot scheduling method according to claim 1, characterized in that: The method further includes: If there are N partially overlapping prior task paths for the target task path, then obtaining the maximum time of the target task path; Generating an iterative path corresponding to the target task based on the unoccupied nodes; Obtaining the maximum time of the iterative path; When the maximum time of the iterative path is less than the maximum time of the target task path, taking the iterative path as the new target task path.
6. The multi-mobile robot scheduling method according to claim 5, characterized in that: The step of obtaining the maximum time of the target task path includes: Obtaining the maximum delay time; Determining the ideal time corresponding to the target task path according to the target task path and the number of turns; Determining the maximum time based on the maximum delay time and the ideal time corresponding to the target task path.
7. A multi-mobile robot scheduling device, characterized in that: The device includes: A first processing unit, configured to obtain the occupation time of each node on the target task path, where the target task path is the planned path corresponding to the target task; The first processing unit is further configured to apply for and occupy the node resources corresponding to the target task based on the occupation time of each node; A second processing unit, configured to control the target mobile robot to drive from the current node to the next node when the next node on the target task path is an already applied node, where the target mobile robot is a mobile robot for executing the target task, and the already applied node is a node that has been applied for and occupied by the target task. The method of obtaining the application occupation time of each node on the target task path includes: setting i=1; determining the i-th application occupation time ti of the i-th node on the target task path, wherein the i-th application occupation time is the sum of the ideal time for moving from the task starting point to the i-th node along the target task path and the delay time during the period; determining whether the i-th node on the target task path is an unreachable node based on the i-th application occupation time ti; if it is not an unreachable node, determining whether the i-th node on the target task path is a blocked node based on the i-th application occupation time ti; if the i-th node is a blocked node, determining whether the priority of the target task path is higher than the conflict corresponding to the i-th node The priority of the path, wherein the conflicting path is the prior task path that applies to occupy the i-th node at the i-th application occupation time ti; if it is lower than or equal to, then let ti=ti+L, and repeatedly determine whether the i-th node on the target task path is a blocked node based on the i-th application occupation time ti, wherein L is the unit time length; if the i-th node is not a blocked node or the priority of the target task path is higher than the priority of the conflicting path corresponding to the i-th node, then let i=i+1, and determine whether i≤I holds, wherein I represents the total number of nodes in the target task path; if so, then repeatedly determine the i-th application occupation time ti of the i-th node on the target task path until i>I.
8. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 6 is implemented.
9. An electronic device, characterized in that: include: A processor and a memory, the memory being used to store one or more programs; When the one or more programs are executed by the processor, the method according to any one of claims 1 to 6 is implemented.
Citation Information
Patent Citations
Path planning method, path planning device and electronic device
CN114063612A
Multi-logistics robot path planning method based on improved time window algorithm
CN115328113A