Path planning method and path planning apparatus

By planning the spatiotemporal paths for the robot in the warehousing and logistics system, the problem of congestion and deadlock in the warehouse is solved, and more efficient path planning and calculation speed is achieved.

WO2025162067A1PCT designated stage Publication Date: 2025-08-07BEIJING GEEKPLUS TECH CO LTD

Patent Information

Application Number
PCT/CN2025/073641
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-02-04
Filing Date
2025-01-21
Publication Date
2025-08-07

AI Technical Summary

Technical Problem

In the warehousing and logistics system, as the number of robots increases, the number of conflicts occurs when multiple robots move in the warehouse increases, resulting in congestion and deadlocks. The existing technology is difficult to effectively reduce robot congestion and deadlocks under limited computing resources.

Method used

Quickly obtain the robot's spatial path through distributed path planning, and add waiting and driving states without changing the space path, converting them into space-time paths, controlling the robot to wait or drive on the space path, optimizing the waiting relationship between robots, and reducing congestion and deadlocks.

Benefits of technology

On the basis of reducing congestion and deadlock of multiple robots, reduce path search space, improve computing speed, and improve system work efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025073641_07082025_PF_FP_ABST
    Figure CN2025073641_07082025_PF_FP_ABST
Patent Text Reader

Abstract

A path planning method and a path planning apparatus. The path planning method comprises: on the basis of map information, position information of a plurality of robots and handling tasks, determining a spatial path for each robot to execute a corresponding handling task (110); on the basis of the current position and device attributes of each robot, determining required resources and held resources of each robot on the spatial path for each robot (120); on the basis of the required resources and held resources of each robot, determining a plurality of waiting robot sets and a waiting relationship between a plurality of waiting robots in each waiting robot set (130); and on the basis of the waiting relationship between the plurality of waiting robots, adding a traveling state that corresponds to at least one time node to the spatial path for each waiting robot to obtain a spatio-temporal path for each waiting robot, and controlling each waiting robot to execute the handling task along the spatio-temporal path (140).
Need to check novelty before this filing date? Find Prior Art

Description

Path planning method and path planning device

[0001] This application claims priority to Chinese patent application No. 202410155371.0 filed on February 4, 2024, the entire contents of which are incorporated by reference into this application. Technical Field

[0002] The present disclosure relates to the technical field of warehousing and logistics, and in particular to a path planning method and a path planning device. Background Art

[0003] In systems such as warehousing and logistics, and in factory manufacturing, mobile robots are often used to replace manual labor in handling tasks, improving the efficiency of warehouse systems. For example, warehouse systems can use cluster scheduling to plan routes for multiple robots from a starting point to a destination, and continuously schedule the robots to ensure that each robot reaches the destination as quickly as possible without collisions. However, as the number of robots increases, conflicts between robots moving within the warehouse also increase. Therefore, how to reduce congestion among multiple robots in a warehouse system within limited computing resources has become a pressing issue. Summary of the Invention

[0004] Embodiments of the present disclosure provide a path planning method and a path planning device.

[0005] The first aspect of the disclosed embodiment provides a path planning method, which is applied to a control device. The method includes: first, determining the spatial path for each robot to perform the corresponding handling task based on the map information of the warehouse system, the position information of multiple robots in the warehouse system, and the handling tasks corresponding to each robot. Secondly, determining the required resources and held resources of each robot on the spatial path for each robot to perform the corresponding handling task based on the current position of each robot and the equipment attributes of each robot. Then, based on the required resources and held resources of each robot, determine multiple waiting robot sets among the multiple robots, and the waiting relationship between the multiple waiting robots in each waiting robot set. Based on the waiting relationship between the multiple waiting robots in each waiting robot set, add a driving state corresponding to at least one time node to the spatial path of each waiting robot to obtain the spatiotemporal path of each waiting robot. And control each waiting robot to perform the handling task according to the spatiotemporal path; wherein the driving state includes driving or waiting.

[0006] A second aspect of the disclosed embodiments provides a path planning device, comprising a first path determination module, a resource determination module, a relationship determination module, a second path determination module, and a control module. The first path determination module is configured to determine a spatial path for each robot to perform a corresponding handling task based on map information of the warehouse system, location information of multiple robots in the warehouse system, and the handling tasks corresponding to each robot. The resource determination module is configured to determine the required resources and held resources of each robot along the spatial path for each robot to perform the corresponding handling task based on the current location of each robot and the device attributes of each robot. The relationship determination module is configured to determine, based on the required resources and held resources of each robot, multiple waiting robot sets among the multiple robots, and the waiting relationships between the multiple waiting robots in each waiting robot set. The second path determination module is configured to add, based on the waiting relationships between the multiple waiting robots in each waiting robot set, a driving state corresponding to at least one time node to the spatial path of each waiting robot, thereby obtaining a spatiotemporal path for each waiting robot; the driving state includes driving or waiting. The control module is configured to control each waiting robot to perform the handling task along the spatiotemporal path.

[0007] A third aspect of an embodiment of the present disclosure provides an electronic device, comprising: a processor and a memory, wherein the memory is used to store computer-executable instructions; and the processor is used to read the instructions from the memory and execute the instructions to implement the path planning method described in the first aspect above.

[0008] A fourth aspect of an embodiment of the present disclosure provides a computer-readable storage medium, wherein the storage medium stores computer program instructions. When a computer reads the instructions, the path planning method described in the first aspect is executed.

[0009] A fifth aspect of an embodiment of the present disclosure provides a computer program product, which includes a computer program stored on a non-transitory computer-readable storage medium, and the computer program includes program instructions. When the program instructions are executed by a computer, the computer executes the path planning method described in the first aspect above.

[0010] A sixth aspect of the embodiments of the present disclosure provides a computer program, which, when executed by a processor, can implement the path planning method described in the first aspect. BRIEF DESCRIPTION OF THE DRAWINGS

[0011] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the following briefly introduces the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0012] FIG1 is a schematic diagram of a path planning method provided by some embodiments of the present disclosure;

[0013] FIG2 is a schematic diagram of a waiting scenario provided by some embodiments of the present disclosure;

[0014] FIG3 is a schematic diagram of a deadlock scenario provided by some embodiments of the present disclosure;

[0015] FIG4 is a schematic diagram of another path planning method provided by some embodiments of the present disclosure;

[0016] FIG5 is a schematic diagram of another path planning method provided by some embodiments of the present disclosure;

[0017] FIG6 is a schematic diagram of a directed acyclic graph provided by some embodiments of the present disclosure;

[0018] FIG7 is a schematic diagram of another path planning method provided by some embodiments of the present disclosure;

[0019] FIG8 is a schematic diagram of another path planning method provided by some embodiments of the present disclosure;

[0020] FIG9 is a schematic diagram of a path planning device provided by some embodiments of the present disclosure;

[0021] FIG10 is a schematic diagram of an electronic device provided by some embodiments of the present disclosure. DETAILED DESCRIPTION

[0022] In order to enable those skilled in the art to better understand the technical solutions in the embodiments of the present invention and to make the above-mentioned purposes, features and advantages of the embodiments of the present invention more obvious and easy to understand, the technical solutions in the embodiments of the present invention are further described in detail below with reference to the accompanying drawings.

[0023] Typically, mobile robots (hereinafter referred to as robots) can be used in warehouse systems to replace human labor in handling tasks, thereby improving the efficiency of the warehouse system. For example, a control device in the warehouse system can perform cluster scheduling of multiple robots to control the movement of each robot within the warehouse system. Cluster scheduling of robots refers to planning a path from a starting point to a destination for multiple robots and continuously scheduling the robots to reach the destination as quickly as possible without collision.

[0024] In some examples, the multi-robot cluster scheduling problem can be abstracted as a multi-agent path finding (MAPF) problem and implemented by a cluster scheduling system. Typically, a multi-robot cluster scheduling system includes two levels: path planning and scheduling execution. Path planning is primarily responsible for planning paths for robots, i.e., pathfinding. Scheduling execution is primarily responsible for allocating spatial resources to robots along the planned paths, and also has the functions of collision detection and right-of-way allocation, i.e., detecting and resolving conflicts. There are two main solutions for multi-robot cluster scheduling: a distributed solution and a centralized solution.

[0025] For example, distributed solutions use distributed path planning and rule-based right-of-way allocation strategies. Distributed path planning refers to independently and parallelly calling a single-robot pathfinding algorithm for each robot. The path obtained through distributed path planning does not consider conflicts between robots. When conflicts occur, the conflicts can be resolved based on rule-based right-of-way allocation strategies. For example, conflicts can be resolved through rules based on human experience, such as preemptive allocation, first-come-first-served allocation, and straight ahead over turns. Because the path planning of the distributed solution does not consider conflicts between robots, although the calculation speed is fast, the quality of the resulting path is poor and it is unable to coordinate conflicts between the paths of the robots well. This can easily cause congestion or deadlock among multiple robots, thereby reducing the efficiency of the warehousing system.

[0026] For another example, centralized solutions often employ algorithms like MAPF, using iterative search to resolve path conflicts between robots. During path planning, a robot can move from its current location to any other location or remain stationary, thereby obtaining a conflict-free spatiotemporal path within a window. Consequently, centralized solutions yield high-quality paths with minimal conflicts. However, the MAPF algorithm requires numerous iterations, resulting in long computational time and complexity, which increases the system's computing resources and makes it suitable only for small-scale scenarios.

[0027] Therefore, in the cluster scheduling process of multiple robots, both distributed solutions and centralized solutions have disadvantages. The distributed solution cannot better coordinate the path conflicts between the robots, which affects the work efficiency of the warehousing system. The centralized solution has high computational complexity and high requirements for system computing resources. In order to solve the above problems, the embodiment of the present disclosure provides a path planning method, which quickly obtains the spatial path of the robot through distributed path planning, and only adds waiting and driving states to the spatial path without changing the spatial path, and converts it into a space-time path. During low-level pathfinding, the robot can only move to the next path point along the spatial path or wait at the current path point. The waiting and driving of the robot are further decided from the overall optimal perspective, and the robot is controlled to pass through the conflict area in an orderly manner. The path planning method provided by the embodiment of the present disclosure can reduce the path search space and speed up the calculation speed of the system on the basis of reducing congestion and deadlock of multiple robots.

[0028] The path planning method provided by the embodiments of the present disclosure is described below with reference to the accompanying drawings.

[0029] FIG1 is a schematic diagram of a path planning method provided by some embodiments of the present disclosure.

[0030] In some examples, the path planning method shown in Figure 1 can be implemented by a control device in a warehouse system. For example, the control device can be a server or a terminal device, or a device equipped with a robot scheduling system. The terminal device can include at least one of a personal computer, a laptop computer, a smartphone, a tablet computer, and a portable wearable device; the server can include a standalone server or a server cluster consisting of multiple servers, although this disclosure is not limited to these.

[0031] As shown in FIG1 , the path planning method includes steps 110 to 140 as shown below.

[0032] Step 110 , determining a spatial path for each robot to perform the corresponding handling task based on the map information of the warehousing system, the position information of multiple robots in the warehousing system, and the handling tasks corresponding to each robot.

[0033] In some examples, the map information may include a grid map and a road network map. The control device may obtain the corresponding map information in the warehouse system and, based on the location information and handling tasks of each robot, perform distributed path planning for each robot to obtain a corresponding spatial path for each robot. The map information may be pre-generated and stored. When the distribution method in the warehouse system changes, the map information may be updated and stored.

[0034] In some examples, a warehouse system includes multiple handling devices, which can be robots that are traveling, performing handling tasks, or not performing handling tasks in the warehouse. For example, the robots can be intelligent mobile robots used to carry containers or carriers in the warehouse system, such as handling robots, etc., although this disclosure is not limited to this.

[0035] For example, the carrier can be a movable shelf, a turnover vehicle, a cage truck, a cargo box, a material box, a raw box, a pallet, etc. The carrier can accommodate multiple containers, and the robot can move the carrier. The container can be a supporting product designed specifically for the carrier, or it can be an ordinary cargo box (also called a material box), or the container can be the packaging of the goods (also called a raw box), which is not limited in the embodiments of the present disclosure.

[0036] For example, carriers can include fixed carriers and movable carriers. If the carrier is fixed, the robot can move the container placed on it; if the carrier is movable, the robot can also directly move the carrier. For example, the robot can move the container or carrier to a workstation in the warehouse system for picking operations, or the robot can move the picked container or carrier to the inventory area for storage operations.

[0037] In some embodiments, the above step 110 may include: determining at least one planned path for each robot to perform the handling task on the map information based on the position information of each robot and the task starting point and task end point of the handling task corresponding to each robot; and determining a spatial path in at least one planned path.

[0038] In some examples, a transport task may include a task start point and a task end point. Based on the transport task, the robot may move from its current position to the task start point, and after transporting the target container or target carrier from the task start point, move the load to the task end point. The task start point may include the location of the task start point, such as the start point coordinates, and the task end point may include the location of the task end point, such as the end point coordinates.

[0039] For example, when an object to be transported (container or carrier) in the inventory area needs to be transported to a workstation for picking, the task starting point is the location of the object to be transported in the inventory area, and the task end point is the location of the workstation.

[0040] In some examples, in the map information, the robot moves from the current position to the task starting point, and under the load state, there may be at least one path (i.e., a planned path) from the task starting point to the task end point. For example, after the robot moves to the task starting point position (such as the location of the object to be transported), it transports the object to be transported from the task starting point position, and then moves from the task starting point position to the task end point position (such as the location of the workstation). At least one path can be planned between the task starting point position and the task end point position based on different parameter information.

[0041] In some examples, when there is only one planned path, the planned path can be determined as the robot's spatial path; when there are multiple planned paths, the robot's spatial path can be determined from the multiple planned paths.

[0042] Exemplarily, the spatial path may be a path with the lowest cost among the at least one planned path, and / or the spatial path may be a path that does not include a preset heat area among the at least one planned path.

[0043] In some examples, if the robot has multiple planned paths for performing a transport task, the control device may determine the path with the lowest cost among the multiple planned paths as the spatial path for the robot to perform the transport task. For example, the path with the lowest cost may be the path with the shortest distance among the multiple planned paths, or the path with the lowest cost may be the planned path that minimizes the estimated time it takes for the robot to travel from its current location to its destination, or the path with the lowest cost may be the planned path that minimizes the estimated time it takes for the robot to travel from its starting point to its destination, although this disclosure is not limited to this.

[0044] In other examples, a planned path that does not include a preset heat area may also be determined as the robot's spatial path.

[0045] For example, a warehousing system may include at least one preset hot zone, which may be an area in the warehouse where congestion or deadlock is likely to occur. The preset hot zone may be a narrow area, a corridor area, a fire escape area, or the like in the warehousing system; or, the preset hot zone may be an area in the warehouse with a large robot flow. For example, the preset hot zone may be determined based on the robot flow and the number of congestion occurrences over a period of time. It should be noted that the preset hot zone may also be set as needed, and the disclosed embodiment does not limit the number and setting of the preset hot zones.

[0046] In some other examples, when there is only one planned path among multiple planned paths that does not include a preset heat area, the planned path is determined as a spatial path; when there are multiple planned paths that do not include a preset heat area, the planned path that does not include a preset heat area with the lowest cost among the multiple planned paths that do not include a preset heat area can be determined as the spatial path for the robot to perform the handling task.

[0047] The path planning method provided by the embodiment of the present disclosure can improve the robot's passage efficiency and handling efficiency by determining a planned path with the lowest cost and / or not including a preset heat area as the robot's spatial path among at least one planned path for each robot to perform a handling task.

[0048] Step 120 : Determine the required resources and held resources of each robot on the spatial path where each robot performs the corresponding handling task based on the current position of each robot and the device attributes of each robot.

[0049] In some examples, after determining the robot's spatial path, the control device controls the robot to perform the transport task along the corresponding spatial path. As each robot moves along the spatial path, the control device can pre-assign a waiting area for the robot to travel along the spatial path based on the robot's current position. The control device continuously assigns waiting areas to the robot to ensure that the robot moves along the spatial path to the task endpoint. The waiting area is the next section of the path that the robot needs to traverse.

[0050] For example, the area to be traveled can be a preset distance on a spatial path, such as the path three meters backward from the robot's current position. Alternatively, the area to be traveled can be a path that the robot will traverse within a preset time window, such as the path that the robot will travel over three time steps starting from its current position. A time step is the search unit of the MAPF algorithm in the time dimension. In the MAPF algorithm, one time step is required for the robot to move one square or stay in place for one step.

[0051] In some examples, a spatial path may be composed of multiple path points, and the area to be traveled may include at least one path point. When the point at the robot's current location is referred to as the current path point, the area to be traveled may include the next path point after the current path point. Path points may be in the form of cells or line segments, which are not limited in the present embodiments. The following embodiments are illustrative using cells representing points on the path to be traveled as an example.

[0052] Exemplarily, the device attributes of the robot may include at least one of the following: the robot's body size information, the robot's angle information, the size information of the target container or target carrier carried by the robot, and the size information and angle information of the robot when carrying the target container or target carrier.

[0053] For example, when the robot is unloaded, the robot's device properties may include the robot's body size information and the robot's angle information; when the robot is loaded, the robot's device properties may include the size information of the target container or target carrier carried by the robot, as well as the size information and angle information when the robot is loaded with the target container or target carrier.

[0054] In some examples, the envelope information of each robot can be determined based on the device attributes of each robot, wherein the envelope information of the robot can include the motion envelope and the static envelope of the robot.

[0055] In some embodiments, the above step 120 may include: determining the motion envelope of each robot when it moves from the current path point where the current position is located to the next path point based on the current position of each robot, the equipment properties of each robot, and the spatial path of each robot performing the corresponding handling task; and determining the motion envelope of each robot when it moves from the current path point to the next path point as the required resources of each robot.

[0056] In some examples, a motion envelope indicates the spatial resources occupied by a robot's trajectory as it moves from one pathpoint to another along a spatial path. For example, the motion envelope can be the spatial resources occupied by the robot during its unloaded motion or the spatial resources occupied by the robot during its loaded motion.

[0057] For example, the current and next path points of each robot can be determined based on its current position and spatial path. The motion envelope of each robot moving from the current path point to the next path point can then be determined based on its device properties, and this motion envelope can be used as the required resources for the robot. In other words, the required resources of a robot can be the spatial resources that the robot will occupy at the next time step.

[0058] In some embodiments, the above step 120 may also include: determining the stationary envelope of each robot when it is located at the current path point based on the current position of each robot and the equipment properties of each robot; and determining the stationary envelope of each robot when it is located at the current path point as the held resource of each robot.

[0059] In some examples, the stationary envelope indicates the spatial resources occupied by a robot when it is stationary. If the robot remains stationary at the current waypoint, the stationary envelope at that point is the robot's held resources. In other words, the robot's held resources are the spatial resources occupied by the robot at the current time step.

[0060] Step 130 : determining a plurality of waiting robot sets from the plurality of robots according to the required resources and held resources of each robot, and a waiting relationship between the plurality of waiting robots in each waiting robot set.

[0061] In some examples, among all robots in a warehousing system, there may be multiple robots in a waiting relationship. Robots in a waiting relationship are referred to as waiting robots, and a collection of waiting robots is referred to as a waiting robot set. It should be noted that multiple robots in a warehousing system may form at least one waiting robot set, and multiple waiting robots in each waiting robot set may have a waiting relationship. For example, multiple waiting robots in a waiting robot set may be robots in a waiting relationship within a certain area.

[0062] For example, a waiting robot set may include at least two waiting robots. The waiting relationship between the at least two waiting robots may be such that at least one robot must wait for the other to move before it can move in turn, otherwise congestion or deadlock will occur. In other words, the multiple waiting robots include waiting robots and waiting robots. A waiting robot blocks the movement of the waiting robot, and the waiting robot can only continue moving after the waiting robot moves.

[0063] In some embodiments, the above step 130 may include: if there is an intersection between the required resources of any first robot among multiple robots and the held resources of the second robot, determining that the first robot and the second robot are waiting robots, and adding the first robot and the second robot to the waiting robot set; determining that the waiting relationship between the first robot and the second robot is that the first robot waits for the second robot.

[0064] In some examples, if the required resources of any robot (e.g., the first robot) among multiple robots intersect with the held resources of another robot (e.g., the second robot), the first robot and the second robot are determined to be waiting robots and are added to the same waiting robot set. For example, when the next path point (i.e., the required resource) of the first robot is the current path point (i.e., the held resource) of the second robot, the first robot and the second robot are waiting robots. The second robot may block the movement of the first robot, and the first robot must wait for the second robot to move before it can continue moving.

[0065] For example, when a third robot exists among multiple robots, if the second robot needs to wait for the third robot to move before it can move, then it is determined that the second and third robots have a waiting relationship. Since the first and second robots have a waiting relationship, and the second and third robots also have a waiting relationship, the first, second, and third robots can be added to a waiting robot set. Alternatively, if the third robot needs to wait for the first robot to move before it can move, then it is determined that the third robot has a waiting relationship with the first robot. Since the first and second robots also have a waiting relationship, the first, second, and third robots can be added to a waiting robot set. The third robot is different from the first and second robots. In other words, multiple robots in a waiting relationship can be added to a waiting robot set.

[0066] In some examples, if the first robot's required resources include resources held by the second robot, the second robot may affect the first robot's continued movement. The first robot must wait for the second robot to pass through its held resources before continuing to move, thus avoiding a conflict with the second robot. Therefore, the waiting relationship between the first and second robots is that the first robot waits for the second robot.

[0067] In some examples, because the warehouse system includes multiple models of robots, and the sizes of different models of robots may vary, or the sizes of each grid (e.g., a grid may be a waypoint) in the grid map of the warehouse system may be different, when each robot requests required resources (such as the next waypoint), the resources required by that robot may be occupied by another robot or by multiple (e.g., two) other robots. In other words, the resources required by any robot in the embodiments of the present disclosure may intersect with the resources held by another robot or multiple other robots, and the embodiments of the present disclosure are not limited to this.

[0068] Figure 2 is a schematic diagram of a waiting scenario provided by some embodiments of the present disclosure. As shown in Figure 2, there is a waiting relationship between robots R11, R12, R13, R14, and R15; and there is a waiting relationship between robots R21, R21, and R23.

[0069] As shown in Figure 2, at the current moment, if the required resources of robot R11 are the motion envelope of moving from way point B2 to way point C2, and the held resources of robot R12 are the static envelope when robot R12 is at way point C2, then there is an intersection between the required resources of robot R11 and the held resources of robot R12. Therefore, robot R11 and robot R12 are waiting robots, that is, there is a waiting relationship between robot R11 and robot R12, and robot R11 and robot R12 can be added to the first waiting robot set.

[0070] Since robot R12's required resources are the motion envelope from waypoint C2 to waypoint D2, and robot R13's held resources are the stationary envelope when robot R13 is at waypoint D2, there is an intersection between robot R12's required resources and robot R13's held resources. Therefore, robot R13 is also a waiting robot. That is, a waiting relationship exists among robots R11, R12, and R13, and robot R13 can be added to the first waiting robot set. Similarly, the multiple waiting robots in the first waiting robot set with a waiting relationship can include robots R11, R12, R13, R14, and R15.

[0071] In some examples, the waiting relationship between the waiting robots in the first waiting robot set is as follows: robot R11 waits for robot R12, robot R12 waits for robot R13, robot R13 waits for robot R14, and robot R14 waits for robot R15. Because the resources required by robot R15 do not overlap with the resources held by other robots, robot R15 does not need to wait and can continue driving.

[0072] As shown in Figure 2, at the current moment, robots R21, R22, and R23 are also in a waiting relationship in another area. Therefore, robots R21, R22, and R23 can be added to the second waiting robot set. That is, the multiple waiting robots in the second waiting robot set that are in a waiting relationship can include robots R21, R22, and R23.

[0073] In some examples, the waiting relationship between the waiting robots in the second waiting robot set is: robot R21 waits for robot R22, and robot R22 waits for robot R23. Since the resources required by robot R23 do not overlap with the resources held by other robots, robot R23 does not need to wait and can continue driving.

[0074] As shown in FIG2 , the first waiting robot set and the second waiting robot set may be different waiting robot sets composed of multiple waiting robots in a waiting relationship in different areas at the same time.

[0075] In some embodiments, the waiting robot set does not include a deadlocked robot, that is, deadlock will not occur between multiple waiting robots in the waiting robot set.

[0076] Exemplarily, if there is an intersection between the required resources of any first robot among the multiple robots and the held resources of the second robot, and there is no intersection between the required resources of the second robot and the held resources of the first robot, the first robot and the second robot are determined to be waiting robots.

[0077] In some examples, when there is an intersection between the required resources of the first robot and the held resources of the second robot, and there is also an intersection between the required resources of the second robot and the held resources of the first robot, it indicates that a deadlock occurs between the first robot and the second robot. In this case, the first robot and the second robot cannot be added to the waiting robot set.

[0078] That is, when a waiting relationship exists between two robots in the waiting robot set (e.g., robot R1 and robot R2), the waiting relationship between robots R1 and R2 is either robot R1 waiting for robot R2 or robot R2 waiting for robot R1. The waiting relationship between robots R1 and R2 cannot be one in which robot R1 waits for robot R2 and robot R2 waits for robot R1. In this case, a deadlock occurs between robots R1 and R2.

[0079] FIG3 is a schematic diagram of a deadlock scenario provided by some embodiments of the present disclosure.

[0080] As shown in Figure 3, the spatial path of robot r1 is (B2, C2, C3), and the spatial path of robot r2 is (C2, B2, A2). As shown in Figure 3, at the current moment, robot r1's required resources are the motion envelope from waypoint B2 to waypoint C2, and robot r2's held resources are the stationary envelope of robot r2 at waypoint C2. Therefore, robot r1's required resources and robot r2's held resources intersect, and the waiting relationship between robots r1 and r2 is robot r1 waiting for robot r2. Simultaneously, robot r2's required resources are the motion envelope from waypoint C2 to waypoint B2, and robot r1's held resources are the stationary envelope of robot r1 at waypoint B2. Therefore, robot r2's required resources and robot r1's held resources also intersect, and the waiting relationship between robots r1 and r2 is robot r2 waiting for robot r1. In other words, if robot r1 waits for robot r2, and robot r2 also waits for robot r1, a deadlock occurs between robots r1 and r2.

[0081] In some examples, when a deadlock occurs between robot r1 and robot r2, robot r1 and robot r2 will wait indefinitely, and the deadlocked robots cannot resolve the deadlock by waiting. Therefore, the waiting robot set in the embodiment of the present disclosure excludes the deadlocked robots, that is, each waiting robot in the waiting robot set can resolve the conflict by waiting.

[0082] In some examples, if there are three or more robots forming a deadlock loop with the head and tail waiting, these deadlocked robots can be excluded from the waiting robot set.

[0083] It should be noted that the robots in a waiting relationship in the embodiment of the present disclosure may be multiple robots queuing at a workstation or a lane.

[0084] Step 140, based on the waiting relationship between multiple waiting robots in each waiting robot set, add at least one driving state corresponding to a time node to the spatial path of each waiting robot to obtain the space-time path of each waiting robot, and control each waiting robot to perform the handling task according to the space-time path.

[0085] Exemplarily, the driving state includes driving or waiting. That is, the control device can obtain the spatiotemporal path of each waiting robot by adding a waiting action or a driving action corresponding to at least one time node to the spatial path of each waiting robot.

[0086] In some examples, the spatial path of each robot may be composed of multiple path points, each of which may correspond to a driving state at at least one time node, where a time node may be a time step.

[0087] For example, continuing to refer to Figure 2, the waiting relationship between robot R21, robot R22 and robot R23 is that robot R21 waits for robot R22, and robot R22 waits for robot R23. Therefore, at the current time node (time node 0), the driving status of robot R21 at path point B5 is waiting, the driving status of robot R22 at path point C5 is also waiting, and the driving status of robot R23 at path point D5 is driving, that is, robot R23 moves from path point D5 to path point E5. When arriving at time node 1, since robot R23 moves from path point D5 to path point E5, path point D5 is idle, therefore, the driving state of R22 at path point C5 is driving, that is, robot R22 moves from path point C5 to path point D5; the driving state of R21 at path point B5 is waiting; when arriving at time node 2, since robot R22 moves from path point C5 to path point D5, path point C5 is idle, therefore, the driving state of R21 at path point B5 is driving, that is, robot R21 moves from path point B5 to path point C5.

[0088] That is, at pathpoint B5, robot R21 changes its driving state to "waiting" at time node 0, "waiting" at time node 1, and "driving" at time node 2. At pathpoint C5, robot R22 changes its driving state to "waiting" at time node 0 and "driving" at time node 1. At pathpoint D5, robot R23 changes its driving state to "driving" at time node 0. In this case, no envelope conflict occurs between the waiting robots at any given time node, reducing congestion or deadlock between the waiting robots.

[0089] It should be noted that, in the embodiment of the present disclosure, the driving state of the waiting robot is driving, which is used to indicate that the waiting robot drives from the current path point to the next path point of the current path point.

[0090] Therefore, after determining the space-time path of each waiting robot, the control device can control each waiting robot to perform the handling task according to its corresponding space-time path, thereby reducing congestion between the waiting robots.

[0091] The path planning method provided by the embodiment of the present disclosure converts the spatial path into a spatiotemporal path by adding waiting actions and driving actions to the spatial path of each waiting robot, thereby reducing congestion or deadlock between the waiting robots in the waiting robot set and improving the travel efficiency of each waiting robot.

[0092] FIG4 is a schematic diagram of another path planning method provided by some embodiments of the present disclosure. As shown in FIG4 , the above-mentioned step 140 includes steps 410 to 430 as shown below.

[0093] Step 410 : determining the order in which the waiting robots pass through the conflict area corresponding to the waiting robot set according to the waiting relationship among the waiting robots in the waiting robot set.

[0094] In some examples, the conflict region corresponding to the waiting robot set may include the conflict region between any two robots in a waiting relationship. For example, if a first robot and a second robot are in a waiting relationship, the conflict region between the first robot and the second robot is the region where the resources required by the first robot intersect with the resources held by the second robot.

[0095] For example, the conflict region corresponding to the waiting robot set may include at least one sub-conflict region, where a conflict occurs between two waiting robots in a waiting relationship within the waiting robot set. As shown in Figure 2, in the second waiting robot set, the first sub-conflict region between robots R21 and R22 is the region corresponding to the intersection of the motion envelope of robot R21 moving from path point B5 to path point C5 and the stationary envelope of robot R22 at path point C5. The second sub-conflict region between robots R22 and R23 is the region corresponding to the intersection of the motion envelope of robot R22 moving from path point C5 to path point D5 and the stationary envelope of robot R23 at path point D5. The conflict region corresponding to the second waiting robot set includes the first sub-conflict region and the second sub-conflict region.

[0096] In some examples, the order in which the waiting robots pass through the conflict area can be determined based on the waiting relationship between the waiting robots.

[0097] For example, when the waiting relationship between the first robot and the second robot is that the first robot waits for the second robot, the order in which the first robot and the second robot pass through the conflict area is that the second robot passes first. The first robot waits at the current path point and passes through the conflict area after the second robot passes.

[0098] The path planning method provided by the embodiment of the present disclosure can determine the order in which each waiting robot passes through the conflict area based on the waiting relationship between multiple waiting robots, thereby controlling each waiting robot to pass through the conflict area in this order, reducing congestion and deadlock between the waiting robots and improving the passage efficiency of each waiting robot.

[0099] FIG5 is a schematic diagram of another path planning method provided by some embodiments of the present disclosure. As shown in FIG5 , the above step 410 includes steps 510 to 530 as shown below.

[0100] Step 510 : Establish a topological sorting of the waiting relationships of the multiple waiting robots in the waiting robot set according to the waiting relationships of the waiting robots in the waiting robot set.

[0101] In some examples, a waiting relationship topological sort may be established for each set of waiting robots.

[0102] In some embodiments, the above step 510 may include: constructing a directed acyclic graph (DAG) with each waiting robot in the waiting robot set as a vertex and the waiting relationship of each waiting robot as an edge; arranging the waiting robots at each vertex in the directed acyclic graph into a linear sequence to obtain a topological sorting of the waiting relationship.

[0103] In some examples, a topological sorting algorithm may be used to determine a topological sorting of the waiting relationships corresponding to each waiting robot set based on the waiting relationships between the waiting robots in the waiting robot set.

[0104] For example, a directed acyclic graph can be constructed with each waiting robot in the waiting robot set as a vertex and the waiting relationships between the waiting robots as edges. Each vertex (i.e., a waiting robot) in the directed acyclic graph can only appear once; if one of two waiting robots is waiting for the other, then that robot is behind the other robot.

[0105] FIG6 is a schematic diagram of a directed acyclic graph provided by some embodiments of the present disclosure.

[0106] As shown in Figure 6, a waiting robot set (such as the third waiting robot set) includes five waiting robots, namely robots R31 to R35. For example, in the third waiting robot set, the required resources of robot R31 intersect with the resources held by robots R32 and R34, the required resources of robot R32 intersect with the resources held by robots R33 and R34, the required resources of robot R34 intersect with the resources held by robots R33 and R35, and the required resources of robot R33 intersect with the resources held by robot R35. The waiting relationship between the waiting robots in the third waiting robot set is: robot R31 waits for robots R32 and R34, robot R32 waits for robots R33 and R34, robot R33 waits for robot R35, robot R34 waits for robots R33 and R35, and robot R35 does not need to wait for other robots.

[0107] In some examples, when creating the directed acyclic graph DAG 1, with robots R31 to R35 as vertices, since robot R31 waits for robot R32 and robot R34, the edge between robot R31 and robot R32 can be determined as robot R31 pointing to robot R32, and the edge between robot R31 and robot R34 can be determined as robot R31 pointing to robot R34. Similarly, since robot R32 is waiting for robots R33 and R34, the edge between robots R32 and R33 can be determined as pointing from robot R32 to robot R33, and the edge between robots R32 and R34 can be determined as pointing from robot R32 to robot R34. Since robot R33 is waiting for robot R35, the edge between robots R33 and R35 can be determined as pointing from robot R33 to robot R35. Since robot R34 is waiting for robots R33 and R35, the edge between robots R34 and R33 can be determined as pointing from robot R34 to robot R33, and the edge between robots R34 and R35 can be determined as pointing from robot R34 to robot R35. Thus, the directed acyclic graph DAG 1 corresponding to the third set of waiting robots can be obtained, as shown in Figure 6.

[0108] For example, after determining the directed acyclic graph corresponding to the set of waiting robots, the waiting robots at each vertex in the directed acyclic graph may be arranged into a linear sequence to obtain a topological sorting of the waiting relationship.

[0109] For example, the waiting relationship topological sorting corresponding to the third waiting robot set can be obtained by the following steps:

[0110] Step 1: Select a vertex without a predecessor from the directed acyclic graph (such as DAG 1) and output it.

[0111] For example, a vertex without a predecessor is also called a vertex with in-degree 0. In a directed acyclic graph (such as DAG 1), all edges connected to a vertex with in-degree 0 start from this vertex, and the vertex with in-degree 0 will not be the end point of any edge.

[0112] As shown in DAG 1 in Figure 6, all edges connected to robot R31 start at robot 31, and robot R31 never terminates any edge. That is, robot R31 only waits for other robots, not being waited for by them. Therefore, robot R31 can be a vertex in DAG 1 without a predecessor, and robot R31 is output.

[0113] Step 2: Delete the vertex and all directed edges starting from the vertex from the directed acyclic graph to obtain the updated directed acyclic graph.

[0114] For example, as shown in FIG6 , the vertex without a predecessor in DAG 1 is robot R31. After deleting robot R31 and the edge between robot R31 and robot R32, and the edge between robot R31 and robot R34 in DAG 1, the directed acyclic graph after the first update can be obtained.

[0115] Step 3: Repeat steps 1 and 2 for the updated directed acyclic graph until the directed acyclic graph is empty.

[0116] For example, after executing step 2 to obtain the directed acyclic graph after the first update, the vertex without a predecessor in the directed acyclic graph after the first update, that is, robot R32, is output, and the vertex robot R32 without a predecessor and the edge connected to robot R32 are deleted in the directed acyclic graph after the first update, so that the directed acyclic graph after the second update can be obtained; and so on, repeat steps 1-2 until the directed acyclic graph is empty.

[0117] In some examples, after the directed acyclic graph is empty, a linear sequence 1 can be obtained according to the output order of vertices without predecessors: {robot R31, robot R32, robot R34, robot R33, robot R35}.

[0118] Exemplarily, a topological sorting of the waiting relationships corresponding to the waiting robot set is determined based on a linear sequence corresponding to the waiting robot set.

[0119] In some examples, the waiting relationship topological ordering may be the inverse of the linear sequence of waiting robots at each vertex in the directed acyclic graph. For example, the waiting relationship topological ordering corresponding to the third waiting robot set may be the inverse of linear sequence 1, i.e., the waiting relationship topological ordering may be: {robot R35, robot R33, robot R34, robot R32, robot R31}.

[0120] Step 520: Determine the planning priority of each waiting robot based on the topological sorting of the waiting relationships.

[0121] For example, after obtaining the topological sorting of the waiting relationships corresponding to each waiting robot set, the planning priority of each waiting robot in the waiting robot set may be determined.

[0122] In some examples, the planning priority of each waiting robot is positively correlated with the order of each waiting robot in the waiting relationship topological sorting. That is, the earlier the waiting robot is in the waiting relationship topological sorting, the higher its planning priority is, and the later the waiting robot is in the waiting relationship topological sorting, the lower its planning priority is.

[0123] For example, the waiting relationship topological sorting corresponding to the third waiting robot set is {robot R35, robot R33, robot R34, robot R32, robot R31}, then it can be determined that in the third waiting robot set, the planning priorities of robot R35, robot R33, robot R34, robot R32 and robot R31 are from high to low, robot R35 has the highest planning priority, and robot R31 has the lowest planning priority.

[0124] Step 530 : Determine the order in which each waiting robot passes through the conflict area corresponding to the waiting robot set according to the planning priority of each waiting robot.

[0125] In some examples, after determining the planning priority of each waiting robot in the waiting robot set, the order in which each waiting robot passes through the conflict area can be further determined. For example, the order in which each waiting robot passes through the conflict area is positively correlated with the planning priority of each waiting robot. That is, the higher the planning priority of a waiting robot, the sooner it can pass through the conflict area.

[0126] In some examples, a waiting robot with a lower planning priority waits at its current path point. After a waiting robot with a higher planning priority (i.e., one with a higher planning priority) passes through the conflict area, the waiting robot with a lower planning priority can then pass through the conflict area. For example, robot R34 can wait at its current path point, and after robot R35 passes through the conflict area, robot R34 can move to the next path point, thus avoiding a conflict.

[0127] Step 420 : Determine the driving state of each waiting robot at at least one time node at at least one path point in the conflict area according to the order in which each waiting robot passes through the conflict area.

[0128] Step 430: Based on the driving status of each waiting robot at at least one time node corresponding to at least one path point in the conflict area, the driving status of at least one time node is added to the spatial path of each waiting robot to obtain the spatiotemporal path of each waiting robot.

[0129] For example, after determining the order in which each waiting robot in the waiting robot set passes through its corresponding conflict area, it can be determined that the driving state corresponding to at least one time node of at least one path point in the conflict area of ​​each waiting robot is waiting or driving.

[0130] In some examples, in the same waiting robot set, the conflict areas where the waiting robots conflict with each other may be different on the spatial paths of the waiting robots.

[0131] For example, as shown in Figure 6, in the third waiting robot set, at the current time node (e.g., time node 0), robot R35 moves from path point E to the next path point F. Robots R31, R32, R34, and R33 wait at their respective current path points at time node 0. Upon reaching time node 1, after robot R35 moves to path point F, path point E becomes idle. Robot R33 can move from path point D to the next path point E, while robots R31, R32, and R34 continue to wait at their respective current path points. Upon reaching time node 2, after robot R33 moves to path point E, path point D becomes idle. Robot R34 can move from path point C to path point D, while robots R31 and R32 continue to wait at their respective current path points. At time node 3, robot R34 moves to waypoint D. Waypoint C is idle, and robot R32 can move from waypoint B to the next waypoint C, while robot R31 continues to wait at the current waypoint A. At time node 4, robot R32 moves to waypoint C, and robot R31 can move from waypoint A to the next waypoint B.

[0132] Therefore, in the above process, robot R31 is in the waiting state from time node 0 to time node 3 at waypoint A, and is in the driving state at time node 4. Similarly, robot R32 is in the waiting state from time node 0 to time node 2 at waypoint B, and is in the driving state at time node 3. Robot R34 is in the waiting state from time node 0 to time node 1 at waypoint C, and is in the driving state at time node 2. Robot R33 is in the waiting state at time node 0 at waypoint D, and is in the driving state at time node 1. Robot R35 is in the driving state at time node 0 at waypoint E.

[0133] It should be noted that robot R35 can continue to move along its corresponding spatial path starting from time node 1; if a new waiting relationship is generated with other robots again during the movement, the above steps can be referred to for processing.

[0134] In some examples, each waiting robot can convert its spatial path into a spatiotemporal path by adding waiting actions or continuing driving actions corresponding to different time nodes at different points along the spatial path. Each waiting robot waits through the conflict area in a sequential order, avoiding conflicts with other waiting robots.

[0135] The path planning method provided by the disclosed embodiments can determine the spatial path for each robot to perform the corresponding handling task based on map information, the location information of multiple robots, and the handling tasks corresponding to each robot. Then, based on the current position of each robot and the device attributes of each robot, the required resources and held resources of each robot are determined on the spatial path of each robot. Based on the required resources and held resources of each robot, multiple waiting robot sets and the waiting relationships between the multiple waiting robots in each waiting robot set are determined. Finally, based on the waiting relationships between the multiple waiting robots in each waiting robot set, a driving state corresponding to at least one time node is added to the spatial path of each waiting robot to obtain the spatiotemporal path of each waiting robot, and each waiting robot is controlled to perform the handling task according to the spatiotemporal path. The driving state includes driving or waiting. Based on the spatial path of each robot, the disclosed embodiments convert the spatial path of each waiting robot into a spatiotemporal path by adding the driving state (waiting or driving) of each time node to the spatial path of waiting robots with waiting relationships. This can allocate required resources to the robots while making conflict decisions, thereby avoiding congestion and deadlock between multiple waiting robots, reducing the computational complexity of the system, and accelerating the computational speed.

[0136] FIG7 is a schematic diagram of another path planning method provided by some embodiments of the present disclosure. As shown in FIG7 , after step 140 , the method further includes steps 710 to 760 as shown below.

[0137] Step 710 : Determine the space-time path corresponding to each non-waiting robot according to the spatial path of at least one non-waiting robot in the warehousing system.

[0138] In some examples, non-waiting robots are robots other than waiting robots and deadlock robots in the storage system, wherein there is no waiting relationship between the non-waiting robots or between the non-waiting robots and the waiting robots.

[0139] In some examples, the spatial path of each non-waiting robot is determined in a manner similar to the method for determining the spatial path of the waiting robot in the above-described embodiment (e.g., step 110). To avoid repetition, this method is not further described here. After obtaining the spatial path of each non-waiting robot, the spatiotemporal path of each non-waiting robot can be determined based on the spatial path of each non-waiting robot.

[0140] For example, the spacetime path of a non-waiting robot does not contain any waiting states, meaning that the non-waiting robot can travel from the current path point to the next path point at every time point. Therefore, the spacetime path of a non-waiting robot is an initial spacetime path state that does not consider path conflicts.

[0141] For example, conflicts may exist between the space-time paths of the non-waiting robots, and between the space-time paths of the non-waiting robots and the space-time paths of the waiting robots.

[0142] Step 720 : Generate a root node based on the space-time path of each waiting robot and the space-time path of at least one non-waiting robot, and add the root node to the node list.

[0143] It should be noted that, in the following embodiments, the waiting robots and non-waiting robots may be collectively referred to as candidate robots, and the space-time paths of the waiting robots and the space-time paths of the non-waiting robots may be collectively referred to as initial space-time paths.

[0144] In some examples, after obtaining each initial spatiotemporal path for each candidate robot, a root node is generated based on each initial spatiotemporal path and added to the node list. For example, a root node refers to a search node corresponding to each initial spatiotemporal path, and the root node contains the initial spatiotemporal path for each candidate robot.

[0145] In some examples, the nodes in the node list may be sorted based on node information of each node in the node list, where the node information includes path information and conflict information corresponding to the node.

[0146] For example, path information includes the cost of each path, which can be the travel time or path length required for each candidate robot to travel along the path. Conflict information includes the number of envelope conflicts on each path. When sorting nodes in a node list, nodes with the fewest envelope conflicts and / or the lowest path cost can be prioritized.

[0147] Step 730: Determine a reference node in the node list.

[0148] Exemplarily, the reference node is the node with the smallest cost in the node list. In some examples, after obtaining the node list, the node with the smallest cost can be taken from the node list as the current solution.

[0149] Step 740 : Perform envelope conflict detection on the reference node according to the device attributes of each waiting robot and each non-waiting robot, and generate an envelope conflict set corresponding to the reference node.

[0150] Due to the different spatial environments in the warehousing system, the motion trajectories of robots operating in different spatial environments are also relatively complex. The sizes of the various materials carried by each robot also vary greatly. Therefore, conflicts in body trajectories are likely to occur between robots, resulting in competition for spatial resources, low handling efficiency, path congestion, and deadlock problems.

[0151] In order to solve the above problem, the motion envelope of each candidate robot can be determined according to the device properties of each candidate robot, and the reference node can be subjected to envelope conflict detection according to the motion envelope of each candidate robot to determine whether the reference node has envelope conflict.

[0152] It should be noted that the equipment attributes of each candidate robot include at least one of the following: the body size information and angle information of the candidate robot, the size information of the container or carrier carried by the candidate robot, and the size information and angle information of the candidate robot when carrying the container or carrier.

[0153] In some embodiments, the above step 740 may include: determining the motion envelope of the waiting robot and the non-waiting robot within a preset time window based on the device properties of the waiting robot and the non-waiting robot; if there is an envelope conflict in the motion envelope of the waiting robot and the non-waiting robot at the same time step within the preset time window, the envelope conflict is added to the envelope conflict set.

[0154] In some examples, if the conflict detection time is long, the computational complexity of the conflict detection will increase and the accuracy of the conflict detection will be affected. Therefore, in order to improve the efficiency and accuracy of conflict detection, conflict detection can be performed on each node by setting a time window to reduce the computational complexity of the conflict detection.

[0155] Exemplarily, the preset time window may be a preset time range for conflict detection. The size of the preset time window may be customized according to actual application conditions, and the embodiments of the present disclosure are not limited thereto.

[0156] In some examples, the first candidate robot and the second candidate robot are any two robots among a plurality of candidate robots in the warehouse system. For example, the first candidate robot may be a waiting robot and the second candidate robot may be a non-waiting robot, or both the first candidate robot and the second candidate robot may be non-waiting robots, or both the first candidate robot and the second candidate robot may be waiting robots. The embodiments of the present disclosure are not limited to this. For example, if the motion envelopes of the first candidate robot and the second candidate robot at the same time step within a preset time window have an envelope intersection, it is determined that the first candidate robot and the second candidate robot have an envelope conflict, and the envelope conflict is added to the envelope conflict set. If the motion envelopes of the first candidate robot and the second candidate robot at the same time step within the preset time window do not intersect, it is determined that the first candidate robot and the second candidate robot do not have an envelope conflict.

[0157] Step 750: Determine the child nodes corresponding to the envelope conflict set according to the envelope conflict set and a preset conflict resolution strategy.

[0158] In some examples, after determining the envelope conflict set corresponding to the reference node, the earliest envelope conflict in the node list can be identified based on the envelope conflict set as the target envelope conflict. A child node corresponding to the envelope conflict set is generated based on the target envelope conflict. The child node can eliminate the target envelope conflict in the envelope conflict set.

[0159] Exemplarily, the preset conflict resolution strategy includes waiting and continuing to travel. In some examples, the preset conflict resolution strategy can determine a subnode corresponding to resolving the target envelope conflict. A subnode is a node obtained by eliminating the envelope conflict between a candidate robot with a low planning priority and a candidate robot with a high planning priority by waiting based on the target envelope conflict node and allowing a candidate robot with a high planning priority to pass through first. The subnode does not change the spatial path of each candidate robot, but eliminates the envelope conflict by adding a driving state (such as waiting or traveling) at at least one time node based on the spatial path.

[0160] The path planning method provided by the embodiment of the present disclosure repairs and adjusts the spatiotemporal path of each candidate robot that has envelope conflicts based on the envelope conflicts between the candidate robots, thereby eliminating the envelope conflicts of the candidate robots.

[0161] Step 760, add the child node to the node list, and iteratively execute the step of determining the reference node in the node list until the envelope conflict set is empty or the iteration stop condition is met, and determine the target space-time path corresponding to each waiting robot and each non-waiting robot.

[0162] Exemplarily, after determining the target space-time paths corresponding to the waiting robots and the non-waiting robots, the waiting robots and the non-waiting robots may be controlled to perform the transporting tasks according to the corresponding target space-time paths.

[0163] In some examples, after adding the child node to the node list, an updated node list is obtained, and the above step 730 is continued to be executed on the updated node list, that is, the above steps 730 to 760 are iteratively executed until the envelope conflict set is empty or the iteration stop condition is met.

[0164] For example, if the envelope conflict set is empty, indicating that there is no envelope conflict between the space-time paths corresponding to the reference node within the time window, then the space-time paths corresponding to the reference node can be regarded as the optimal path of each candidate robot, that is, the target space-time path corresponding to each candidate robot.

[0165] In some embodiments, the iteration stopping condition includes at least one of: the node list is empty, the iteration time exceeds a preset time threshold, and the number of iterations exceeds a preset number threshold.

[0166] In some examples, during the execution of the above steps, a situation where there is no solution may occur. For example, when the iteration stop condition is met, the optimal path for each candidate robot is not found, and it is determined that there is no solution. Among them, no solution can be used to indicate that within a limited iteration time (i.e., a preset time threshold) or a preset number of iterations (i.e., a preset number of thresholds), no node with an empty envelope conflict set is found, that is, the optimal path for each candidate robot cannot be obtained; or, no solution can also be used to indicate that within a preset time threshold (i.e., a preset iteration time) or a preset number of thresholds (i.e., a preset number of iterations), the envelope conflicts between multiple candidate robots cannot be resolved, that is, the corresponding child nodes cannot be generated, thereby making the node list empty.

[0167] For example, if the optimal path for each candidate robot is not found when the iteration stopping condition is met, the node with the lowest cost can be selected as the suboptimal node, and the spatiotemporal path corresponding to the suboptimal node can be determined as the suboptimal path for each candidate robot, i.e., the target spatiotemporal path for each candidate robot. The lowest cost can be defined as the node with the lowest conflict and / or the node with the shortest distance. For example, the node in the node list that has been expanded to generate child nodes and the node that has not been expanded to generate child nodes can be selected as the suboptimal node.

[0168] It should be noted that when no solution exists, the suboptimal path returned may conflict or deadlock. When a conflict occurs, it can be resolved based on the travel priorities of the robots. When a deadlock occurs, other modules in the cluster scheduling system (such as the deadlock resolution module) can assist in resolving the deadlock. This is not limited in the present embodiment.

[0169] The path planning method provided by the disclosed embodiment optimizes the MAPF algorithm, solving the problem that when using the MAPF algorithm, the robot can move from the current point to any adjacent point or stay in place during low-level path finding, resulting in a large path search space and slow calculation speed. The disclosed embodiment converts the spatial path of each robot obtained based on distributed planning into a spatiotemporal path without changing the spatial path of each robot. During low-level path finding, the robot only moves to the next path point in the spatial path or waits at the current path point, reducing the path search space and improving the calculation speed. At the same time, it further improves the benefits of road right allocation, reduces deadlock and congestion between multiple robots, and improves traffic efficiency.

[0170] FIG8 is a schematic diagram of another path planning method provided by some embodiments of the present disclosure. As shown in FIG8 , the path planning method includes steps 801 to 812 as shown below.

[0171] Step 801: Detect the deadlocked robot set in the initial state.

[0172] For example, a deadlocked robot is determined among multiple robots, and the deadlocked robot is added to a deadlocked robot set.

[0173] Step 802: Generate an initial solution according to a heuristic strategy.

[0174] It should be noted that the process of generating the initial solution by the heuristic strategy is similar to the process of determining the spatiotemporal paths of each waiting robot in a waiting relationship in the above embodiment (i.e., steps 110 to 140). To avoid repetition, it will not be repeated here.

[0175] Step 803: Use the initial solution as the root node and perform conflict detection on the root node.

[0176] It should be noted that the initial solution includes the space-time paths of each waiting robot and the space-time path of at least one non-waiting robot. A root node is generated based on these space-time paths of each waiting robot and at least one non-waiting robot. Step 803 is similar to step 720 in the above embodiment and will not be repeated here to avoid repetition.

[0177] Step 804: Initialize the open table and the closed table, and add the root node to the open table.

[0178] For example, the open table can store the high-level nodes whose adjacent points have not been expanded in order, and the sorting priority of each node in the open table is based on the priority of least conflict and / or smallest sum of path costs, which can also be set according to needs and is not limited in the embodiments of the present disclosure. The closed table stores the high-level nodes whose adjacent points have been expanded.

[0179] Step 805: Check whether the table is empty or whether the iteration stop condition is met.

[0180] If the open table is empty or the iteration stop condition is met, step 806 is executed; if the open table is not empty and the iteration stop condition is not met, step 807 is executed.

[0181] For example, the iteration stopping condition may include that the calculation duration exceeds a preset time and / or the number of calculation iterations exceeds a maximum number of iterations.

[0182] Step 806: Return the suboptimal solution.

[0183] When the open table is empty or the iteration stop condition is met, the calculation is stopped, and the solution with the smallest cost in the open table and the closed table is selected as the suboptimal solution and the output is returned.

[0184] Step 807: Take the minimum cost node from the open table as the current solution.

[0185] When the open table is not empty and the iteration stop condition is not met, the minimum cost node is taken from the open table as the current solution.

[0186] Step 808: Check whether the conflict number of the current solution is zero.

[0187] If the conflict number of the current solution is zero, step 809 is executed; if the conflict number of the current solution is not zero, step 810 is executed.

[0188] Step 809: Return the current solution as the optimal solution.

[0189] If the number of conflicts in the current solution is zero, the calculation ends and the current solution is returned as the final solution. The space-time path corresponding to the final solution is the target space-time path of each robot.

[0190] Step 810: Generate child nodes based on the earliest conflict in the current solution and add path-finding constraints.

[0191] Step 811: call the lower-level algorithm to re-find the path for the child node.

[0192] Step 812: The child node performs conflict detection, updates the cost, and adds it to the open table.

[0193] If the number of conflicts in the current solution is non-zero, conflict resolution is performed on the current solution. For example, based on the oldest conflict in the current solution, a child node can be generated and pathfinding constraints can be added. Then, a lower-level algorithm is called to re-path the robot in the child node. If pathfinding is successful, the robot's spatiotemporal path in the child node is updated, conflict detection is re-performed for the child node, and the cost is updated and stored in the open table.

[0194] After step 812 , the process continues with step 805 .

[0195] It should be noted that steps 801 to 812 have been described in the above embodiments (such as steps 110 to 140, and steps 710 to 760), and the beneficial effects produced are similar to the beneficial effects produced by the path planning method in the above embodiments. To avoid repetition, they will not be repeated here.

[0196] FIG9 is a schematic diagram of a path planning device provided by some embodiments of the present disclosure. As shown in FIG9 , the path planning device 900 includes a first path determination module 910, a resource determination module 920, a relationship determination module 930, a second path determination module 940, and a control module 950.

[0197] The first path determination module 910 is configured to determine a spatial path for each robot to perform a corresponding handling task based on map information of the warehouse system, position information of multiple robots in the warehouse system, and handling tasks corresponding to each robot.

[0198] The resource determination module 920 is configured to determine the required resources and held resources of each robot on the spatial path where each robot performs the corresponding handling task according to the current position of each robot and the device attributes of each robot.

[0199] The relationship determination module 930 is configured to determine a plurality of waiting robot sets among the plurality of robots, and a waiting relationship between the plurality of waiting robots in each waiting robot set according to the required resources and held resources of each robot.

[0200] The second path determination module 940 is configured to: add a driving state corresponding to at least one time node to the spatial path of each waiting robot according to the waiting relationship between multiple waiting robots in each waiting robot set, to obtain the spatiotemporal path of each waiting robot; wherein the driving state includes driving or waiting.

[0201] The control module 950 is configured to control each waiting robot to perform the transport task according to the time-space path.

[0202] In some embodiments, the resource determination module 920 is configured to: determine the motion envelope of each robot when it moves from the current path point where the current position is located to the next path point based on the current position of each robot, the equipment attributes of each robot, and the spatial path of each robot performing the corresponding handling task; determine the motion envelope of each robot when it moves from the current path point to the next path point as the required resource of each robot; determine the static envelope of each robot when it is at the current path point based on the current position of each robot and the equipment attributes of each robot; determine the static envelope of each robot when it is at the current path point as the held resource of each robot.

[0203] In some embodiments, the relationship determination module 930 is configured to: if there is an intersection between the required resources of any first robot among multiple robots and the held resources of the second robot, determine the first robot and the second robot as waiting robots, and add the first robot and the second robot to the waiting robot set; determine that the waiting relationship between the first robot and the second robot is that the first robot waits for the second robot.

[0204] In some embodiments, the second path determination module 940 is configured to: determine the order in which each waiting robot passes through the conflict area corresponding to the waiting robot set according to the waiting relationship of each waiting robot in the waiting robot set; determine the driving status of each waiting robot corresponding to at least one time node on at least one path point in the conflict area according to the order in which each waiting robot passes through the conflict area; based on the driving status of each waiting robot corresponding to at least one time node on at least one path point in the conflict area, add the driving status of at least one time node to the spatial path of each waiting robot to obtain the space-time path of each waiting robot.

[0205] In some embodiments, the second path determination module 940 is configured to: establish a topological sorting of the waiting relationships of multiple waiting robots in the waiting robot set based on the waiting relationships of each waiting robot in the waiting robot set; determine the planning priority of each waiting robot based on the topological sorting of the waiting relationships; and determine the order in which each waiting robot passes through the conflict area corresponding to the waiting robot set based on the planning priority of each waiting robot.

[0206] In some embodiments, the second path determination module 940 is configured to: construct a directed acyclic graph with each waiting robot in the waiting robot set as a vertex and the waiting relationship of each waiting robot as an edge; arrange the waiting robots at each vertex in the directed acyclic graph into a linear sequence to obtain a topological sorting of the waiting relationship.

[0207] In some embodiments, the path planning device 900 further includes a node module, a conflict detection module, and a third path determination module.

[0208] The first path determination module 910 is configured to determine the space-time path corresponding to each non-waiting robot according to the spatial path of at least one non-waiting robot in the storage system.

[0209] The node module is configured to: generate a root node based on the space-time path of each waiting robot and the space-time path of at least one non-waiting robot, and add the root node to the node list; determine a reference node in the node list; wherein the reference node is the node with the smallest cost in the node list.

[0210] The conflict detection module is configured to: perform envelope conflict detection on the reference node according to the device attributes of each waiting robot and each non-waiting robot, and generate an envelope conflict set.

[0211] The node module is further configured to: determine the child node corresponding to the envelope conflict set according to the envelope conflict set and a preset conflict resolution strategy; wherein the preset conflict resolution strategy includes waiting and continuing to drive.

[0212] The third path determination module is configured to: add the child node to the node list, and iteratively execute the step of determining the reference node in the node list until the envelope conflict set is empty or the iteration stop condition is met, and determine the target space-time path of each waiting robot and each non-waiting robot.

[0213] In some embodiments, the iteration stopping condition includes at least one of: the node list is empty, the iteration time exceeds a preset time threshold, and the number of iterations exceeds a preset number threshold.

[0214] In some embodiments, the third path determination module is configured as follows: if the envelope conflict set is empty, the space-time path corresponding to the reference node is determined as the target space-time path of each waiting robot and each non-waiting robot; if the iteration stop condition is met, the space-time path corresponding to the node with the smallest cost is determined as the target space-time path of each waiting robot and each non-waiting robot.

[0215] In some embodiments, the first path determination module 910 is configured to: determine at least one planned path for each robot to perform the handling task on the map information based on the position information of each robot and the task starting point and task end point of the handling task corresponding to each robot; determine a spatial path in at least one planned path; wherein the spatial path is the path with the lowest cost in at least one planned path, and / or the spatial path is the path in at least one planned path that does not include a preset heat area.

[0216] In some embodiments, the path planning device 900 further includes a deadlock determination module and a deadlock resolution module. The deadlock determination module is configured to determine a deadlocked robot among multiple robots based on the current position of each robot and the spatial path of each robot performing the handling task. The deadlock resolution module is configured to control the deadlocked robot to pass through the deadlocked area according to a deadlock resolution strategy; the deadlock resolution strategy includes replanning the spatial path for the deadlocked robot.

[0217] Figure 10 is a schematic diagram of an electronic device provided in some embodiments of the present disclosure. In some embodiments, the electronic device includes one or more processors and a memory. The memory is configured to store one or more programs. When the one or more programs are executed by the one or more processors, the one or more processors implement the path planning method in the above-described embodiments.

[0218] As shown in FIG10 , the electronic device 1000 includes a processor 1001 and a memory 1002 . Exemplarily, the electronic device 1000 may further include a communication interface 1003 and a communication bus 1004 .

[0219] The processor 1001, the memory 1002 and the communication interface 1003 communicate with each other via a communication bus 1004. The communication interface 1003 is used to communicate with other devices such as a client or other server network elements.

[0220] In some embodiments, the processor 1001 is configured to execute a program 1005, specifically, to execute the relevant steps in the above-mentioned path planning method embodiment. Specifically, the program 1005 may include program code, which includes computer-executable instructions.

[0221] For example, the processor 1001 may be a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of the present disclosure. The electronic device 1000 may include one or more processors of the same type, such as one or more CPUs, or different types of processors, such as one or more CPUs and one or more ASICs.

[0222] In some embodiments, the memory 1002 is used to store the program 1005. The memory 1002 may include a high-speed RAM memory, and may also include a non-volatile memory (NVM), such as at least one disk memory.

[0223] Program 1005 can be specifically called by processor 1001 to enable electronic device 1000 to perform operations of the path planning method.

[0224] An embodiment of the present disclosure provides a computer-readable storage medium storing at least one executable instruction. When the executable instruction runs on the electronic device 1000, the electronic device 1000 executes the path planning method in the above embodiment.

[0225] The executable instructions can be specifically used to enable the electronic device 1000 to perform operations of the path planning method.

[0226] For example, the computer-readable storage medium may be a read-only memory (ROM), a random access memory (RAM), a compact disc (CD-ROM), a magnetic tape, a floppy disk, an optical data storage device, and the like.

[0227] In some embodiments, the present disclosure provides a computer program product, which includes a computer program stored on a non-transitory computer-readable storage medium, and the computer program includes program instructions. When the program instructions are executed by a computer, the computer executes the path planning method described in any of the above embodiments.

[0228] In some embodiments, the present disclosure provides a computer program, which, when executed by a processor, can implement the path planning method described in any of the above embodiments.

[0229] The beneficial effects that can be achieved by the path planning device, electronic device, computer-readable storage medium, computer program product, and computer program provided in the embodiments of the present disclosure can refer to the beneficial effects of the corresponding path planning method provided above and will not be repeated here.

[0230] It should be noted that, in the application, relational terms such as first and second, etc. are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the terms "comprises," "comprising," or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, article, or apparatus comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or apparatus. In the absence of further limitations, an element defined by the phrase "comprising a..." does not exclude the presence of other identical elements in the process, method, article, or apparatus comprising the element.

[0231] Each embodiment in this specification is described in a related manner. Similar portions between the embodiments can be referred to in conjunction with each other. Each embodiment focuses on the differences from other embodiments. In particular, the device embodiments are generally similar to the method embodiments, so their description is relatively simple. For related portions, refer to the description of the method embodiments.

[0232] The logic and / or steps represented in the flowchart or otherwise described herein may be considered, for example, as an ordered list of executable instructions for implementing logical functions, and may be embodied in any computer-readable medium for use by, or in conjunction with, an instruction execution system, apparatus, or device (such as a computer-based system, a system including a processor, or other system that can fetch and execute instructions from an instruction execution system, apparatus, or device).

[0233] For the purposes of this specification, a "computer-readable medium" can be any apparatus that can contain, store, communicate, propagate, or transport the program for use by or in connection with an instruction execution system, apparatus, or device.

[0234] More specific examples (a non-exhaustive list) of computer-readable media include the following: an electrical connection having one or more wires (electronic device), a portable computer disk cartridge (magnetic device), random access memory (RAM), read-only memory (ROM), erasable and programmable read-only memory (EPROM or flash memory), fiber optic device, and a portable compact disc read-only memory (CDROM).

[0235] In addition, the computer readable medium may even be paper or other suitable medium on which the program can be printed, because the program can be obtained electronically, for example, by optically scanning the paper or other medium, and then editing, interpreting, or processing it in other suitable ways as necessary, and then storing it in a computer memory. It should be understood that various parts of the present disclosure can be implemented in hardware, software, firmware, or a combination thereof.

[0236] In the above embodiments, multiple steps or methods can be implemented using software or firmware stored in a memory and executed by a suitable instruction execution system. For example, if implemented using hardware, as in another embodiment, any one of the following technologies known in the art or a combination thereof can be used: a discrete logic circuit having logic gate circuits for implementing logic functions on data signals, an application-specific integrated circuit having suitable combinational logic gate circuits, a programmable gate array (PGA), a field programmable gate array (FPGA), etc.

[0237] The above-described embodiments of the present disclosure do not limit the scope of protection of the present disclosure.

Claims

1. A path planning method, applied to a control device, comprising: Determining a spatial path for each robot to perform the corresponding handling task based on map information of the warehouse system, position information of multiple robots in the warehouse system, and handling tasks corresponding to each robot; Determining, based on the current position of each robot and the device attributes of each robot, the required resources and the held resources of each robot on the spatial path for each robot to perform the corresponding handling task; Determining a plurality of waiting robot sets from the plurality of robots according to the required resources and held resources of each of the robots, and a waiting relationship between the plurality of waiting robots in each of the waiting robot sets; According to the waiting relationship between the multiple waiting robots in each waiting robot set, a driving state corresponding to at least one time node is added to the spatial path of each waiting robot to obtain the space-time path of each waiting robot; and each waiting robot is controlled to perform the handling task according to the space-time path; wherein, the driving state includes driving or waiting.

2. The method according to claim 1, wherein The determining, based on the current position of each robot and the device attributes of each robot, the required resources and the held resources of each robot on the spatial path for each robot to perform the corresponding handling task includes: Determining, based on the current position of each robot, the device attributes of each robot, and the spatial path along which each robot performs the corresponding handling task, a motion envelope of each robot when moving from a current path point corresponding to the current position to a next path point; determining the motion envelope of each robot when moving from the current waypoint to the next waypoint as the required resource of each robot; Determining, based on the current position of each robot and the device attributes of each robot, a stationary envelope of each robot when the robot is located at the current path point; The stationary envelope of each robot when located at the current path point is determined as the held resource of each robot.

3. The method according to claim 2, wherein: Determining a plurality of waiting robot sets from the plurality of robots according to the required resources and held resources of each of the robots, and a waiting relationship between the plurality of waiting robots in each of the waiting robot sets, includes: If there is an intersection between the required resources of any first robot and the held resources of a second robot among the multiple robots, determining that the first robot and the second robot are the waiting robots, and adding the first robot and the second robot to the same waiting robot set; A waiting relationship between the first robot and the second robot is determined as the first robot waiting for the second robot.

4. The method according to claim 3, wherein: The step of adding at least one driving state corresponding to a time node to the spatial path of each waiting robot according to the waiting relationship between the plurality of waiting robots in each waiting robot set to obtain the spatiotemporal path of each waiting robot includes: determining, according to a waiting relationship among the waiting robots in the waiting robot set, a sequence in which the waiting robots pass through a conflict area corresponding to the waiting robot set; Determining, based on the order in which the waiting robots pass through the conflict area, a driving state of each waiting robot at at least one path point in the conflict area corresponding to at least one time node; Based on the driving status of each waiting robot corresponding to at least one time node at at least one path point in the conflict area, the driving status of at least one time node is added to the spatial path of each waiting robot to obtain the space-time path of each waiting robot.

5. The method according to claim 4, wherein The determining, based on the waiting relationship among the waiting robots in the waiting robot set, the order in which the waiting robots pass through the conflict area corresponding to the waiting robot set includes: Establishing a topological sorting of the waiting relationships of the plurality of waiting robots in the waiting robot set according to the waiting relationships of the waiting robots in the waiting robot set; Determining the planning priority of each waiting robot according to the topological sorting of the waiting relationship; The order in which the waiting robots pass through the conflict area corresponding to the waiting robot set is determined according to the planning priority of each waiting robot.

6. The method according to claim 5, wherein: The step of establishing a topological sorting of the waiting relationships of the plurality of waiting robots in the waiting robot set according to the waiting relationships of the waiting robots in the waiting robot set includes: Constructing a directed acyclic graph with each waiting robot in the waiting robot set as a vertex and the waiting relationship between each waiting robot as an edge; The waiting robots at each vertex in the directed acyclic graph are arranged into a linear sequence to obtain a topological sorting of the waiting relationship.

7. The method according to any one of claims 1 to 6, wherein After adding a driving state corresponding to at least one time node to the spatial path of each waiting robot according to the waiting relationship between the plurality of waiting robots in each waiting robot set to obtain the spatiotemporal path of each waiting robot, the method further includes: Determine the space-time path corresponding to each non-waiting robot according to the spatial path of at least one non-waiting robot in the storage system; wherein the plurality of robots includes the at least one non-waiting robot; Generate a root node according to the space-time path of each waiting robot and the space-time path of at least one non-waiting robot, and add the root node to a node list; Determining a reference node in the node list; wherein the reference node is a node with the smallest cost in the node list; Performing envelope conflict detection on the reference node according to the device attributes of each of the waiting robots and each of the non-waiting robots, and generating an envelope conflict set corresponding to the reference node; Determining a child node corresponding to the envelope conflict set according to the envelope conflict set and a preset conflict resolution strategy; wherein the preset conflict resolution strategy includes waiting and continuing driving; The child node is added to the node list, and the step of determining the reference node in the node list is iteratively executed until the envelope conflict set is empty or the iteration stop condition is met, and the target space-time path corresponding to each of the waiting robots and each of the non-waiting robots is determined.

8. The method according to claim 7, wherein: The iteration stopping condition includes at least one of: the node list is empty, the iteration time exceeds a preset time threshold, and the number of iterations exceeds a preset number threshold.

9. The method according to claim 8, wherein The step of determining target spatiotemporal paths corresponding to each of the waiting robots and each of the non-waiting robots until the envelope conflict set is empty or an iteration stop condition is satisfied comprises: If the envelope conflict set is empty, the space-time path corresponding to the reference node is determined as the target space-time path of each of the waiting robots and each of the non-waiting robots; If the iteration stopping condition is met, the space-time path corresponding to the node with the minimum cost is determined as the target space-time path of each waiting robot and each non-waiting robot.

10. The method according to any one of claims 1 to 6, wherein: The determining, based on map information of the warehousing system, position information of a plurality of robots in the warehousing system, and handling tasks corresponding to the robots, of a spatial path for each robot to perform the corresponding handling task includes: Determining, on the map information, at least one planned path for each robot to perform the transport task based on the position information of each robot and the starting point and end point of the transport task corresponding to each robot; Determine the spatial path in the at least one planned path; wherein the spatial path is a path with the lowest cost in the at least one planned path, and / or the spatial path is a path in the at least one planned path that does not include a preset heat area.

11. The method according to any one of claims 1 to 6, further comprising: Determining a deadlocked robot among the plurality of robots according to a current position of each of the robots and the spatial path of each robot in performing the transport task; According to a deadlock resolution strategy, the deadlocked robot is controlled to pass through a deadlocked area; wherein the deadlock resolution strategy includes replanning a spatial path for the deadlocked robot.

12. A path planning device, comprising: a first path determination module configured to determine a spatial path for each robot to perform a corresponding handling task based on map information of the warehouse system, position information of multiple robots in the warehouse system, and handling tasks corresponding to each robot; a resource determination module configured to determine the required resources and held resources of each robot along the spatial path for each robot to perform the corresponding handling task based on the current position of each robot and the device attributes of each robot; a relationship determination module configured to determine, from the plurality of robots, a plurality of waiting robot sets and a waiting relationship between the plurality of waiting robots in each of the waiting robot sets based on the required resources and held resources of each of the robots; A second path determination module is configured to add a driving state corresponding to at least one time node to the spatial path of each waiting robot based on the waiting relationship between the plurality of waiting robots in each waiting robot set, thereby obtaining a spatiotemporal path of each waiting robot; wherein the driving state includes driving or waiting; The control module is configured to control each of the waiting robots to perform the transport task according to the space-time path.

13. An electronic device comprising: one or more processors; and a memory configured to: store one or more programs; When the one or more programs are executed by the one or more processors, the one or more processors implement the path planning method according to any one of claims 1 to 11.

14. A computer-readable storage medium having a computer program stored thereon, wherein when the computer program is executed by a processor, the path planning method according to any one of claims 1 to 11 is implemented.

15. A computer program product, comprising a computer program, wherein when the computer program is executed by a processor, the path planning method according to any one of claims 1 to 11 is implemented.

Citation Information

Patent Citations

  • Path planning method and device

    CN117873003A

  • Multi-vehicle path planning method for closed, dense network type and automatic logistics park

    CN113566840A

  • Multi-AGV cooperative deadlock prediction unlocking method and system and storage medium

    CN115793633A

  • Multi-AGV scheduling method, device and equipment and computer readable storage medium

    CN116109022A

  • Multi-AGV (Automatic Guided Vehicle) cooperative scheduling method and system and related equipment

    CN116132943A

Cited By

  • Robot carrying scheduling method and system for warehouse logistics

    CN122175514A

  • Petri net-based multi-mobile transfer robot path-execution cooperative control method

    CN122284561A