A conflict-based mobile robot path planning method and system
By building a conflict-based path planning model in multi-robot path planning, the path planning problem in dynamic environment is solved, efficient and conflict-free path planning is achieved, and the picking efficiency is improved.
Patent Information
- Application Number
- CN202210921381.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-08-02
- Publication Date
- 2025-04-01
- Estimated Expiration
- 2042-08-02
AI Technical Summary
The existing multi-robot path planning algorithms are difficult to find the global optimal path in a dynamic environment, and are prone to traffic jams and oscillations in path planning. As the number of robots increases, the solution difficulty increases exponentially.
A conflict-based path planning method for mobile robots is proposed. By constructing a path planning model including upper-level search and lower-level search, the target robot is determined based on the status information of the robot, and the path planning solution is carried out through lower-level search tasks to ensure the efficient and conflict-free paths.
It realizes the rapid determination of efficient and conflict-free multi-robot picking paths in a dynamic environment, improves the picking efficiency of the mobile robot picking system, and can effectively resolve conflicts and optimize the robot paths.
Smart Images

Figure CN115237135B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of robot path planning, and in particular relates to a conflict-based mobile robot path planning method and system. Background Art
[0002] The statements in this section merely provide background information related to the present invention and do not necessarily constitute the prior art that has been known to a person skilled in the art.
[0003] With the rapid development of the logistics industry, the traditional "people-to-goods" picking system can no longer meet the needs of market growth. Under the demand of industrial automation and manufacturing, the strategic position of intelligent warehousing has been improved, and the "goods-to-people" picking method is gradually replacing the "people-to-goods" picking method. Intelligent warehousing and picking systems have become hot issues in the field of intelligent system research.
[0004] Globally, intelligent warehousing systems with multiple mobile robots have been widely used, and path planning is one of the important optimization links. The path planning problem of multiple mobile robots can be abstracted into a multi-agent path planning problem (Multi-Agent Path Finding, MAPF). MAPF abstracts the warehouse layout into an undirected graph and the mobile robots into agents. Multiple agents are distributed in the undirected graph. Each agent has a starting position and a target position. Each agent needs to find a path, and the robots cannot collide during the movement.
[0005] At present, the robot path planning algorithms mainly include A* algorithm, D* algorithm, ant colony algorithm, cost search tree algorithm, conflict-based search algorithm (Conflict-based search, CBS), etc. The inventor found that D* algorithm and ant colony algorithm are dynamic path planning algorithms that can avoid obstacles, but cannot find the global optimal path. The intelligent warehouse is a highly dynamic environment composed of multiple mobile robots and shelves with many obstacles and real-time changes. The more robots there are, the more likely the above dynamic planning algorithm will have traffic jams and shocks in path planning. A* algorithm is a heuristic search algorithm that can find the global optimal path, but multiple robots work in a dynamic environment. A* algorithm may cause deadlock, and as the number of robots increases, the difficulty of solving it increases exponentially. The cost search tree algorithm and the conflict-based search algorithm are both divided into two-level algorithms, high-level search and low-level search, and the A* algorithm is suitable for medium-sized multi-robot path planning problems. In addition, the existing path planning methods only consider path conflicts and deadlock problems, while ignoring the impact of path congestion on sorting efficiency. Summary of the invention
[0006] In order to solve the above problems, a first aspect of the present invention provides a conflict-based mobile robot path planning method, which can determine an efficient and conflict-free multi-robot picking path and improve the picking efficiency of the mobile robot picking system.
[0007] In order to achieve the above object, the present invention mainly includes the following aspects:
[0008] In a first aspect, an embodiment of the present invention provides a conflict-based mobile robot path planning method, comprising:
[0009] Determine a target robot for completing the task according to the task to be assigned and the status information of each robot, and update the status information of the target robot;
[0010] Constructing a path planning model, the path planning model includes an upper-level search and a lower-level search; the upper-level search is a search constraint tree, the constraint tree includes a number of nodes, each node includes a set of constraints and a path that meets the constraints, and the path is obtained by the lower-level search; the lower-level search performs path planning and solving tasks according to the status information of each robot;
[0011] By solving the path planning model, the picking path of the target robot is obtained.
[0012] In a possible implementation manner, before determining a target robot for completing the task according to the task to be assigned and the status information of each robot, and updating the status information of the target robot, the method further includes:
[0013] According to the stage the robot is in, determine the status information corresponding to the robot; wherein the status information includes idle state, shelf searching state, state of being delivered to a picking point after carrying a shelf, state of being delivered to the nearest shelf location after picking is completed, state of returning to the charging area after the task is completed, state of low power and charging state.
[0014] In a possible implementation, the node includes a child node, a parent node and a root node, the root node includes a set of empty constraints, the child node inherits the constraints of the parent node, and adds a new constraint for the robot.
[0015] In a possible implementation, the specific method of searching the constraint tree includes:
[0016] When initialized, the root node of the constraint tree does not contain any constraints. A solution is generated and its cost value is calculated.
[0017] After initialization, obtain the node with the lowest cost value and determine whether the solution in the node has conflicts. If there are conflicts, expand the child node with the node as the parent node. The child node inherits the constraints of the parent node and adds new constraints. The new constraints are determined according to the conflicts. Call the lower-level search to replan the path of the child node. After the path is updated, update the cost value of the child node to determine whether the solution in the child node has conflicts. If there are conflicts, expand the child node with the child node as the parent node until a node without conflicts is returned.
[0018] In a possible implementation, when determining whether there is a conflict in a solution in a node, the priority of the conflict is determined according to the state information of the robot; and a conflict resolution strategy is determined according to the priority of the conflict.
[0019] In a possible implementation, the lower-level search introduces a global state table of the robot to constrain the robot's time and position when performing path planning and solving the problem; the cost function for the robot to move from the initial point to the target point is the sum of the cost of the robot's location node from the starting point, the cost of the robot's location node from the end point, and the robot's turning cost.
[0020] In a possible implementation manner, the path planning solution process of the lower layer search includes:
[0021] Get the grid map and input the grid map data; initial position s, target position g, generate time state t, node s with coordinates and f value, initialize priority queues OPEN and CLOSE; OPEN represents the node to be traversed, CLOSE represents the node that has been traversed, and the nodes in the OPEN queue are arranged in ascending order of f value;
[0022] Put node s into the OPEN queue;
[0023] If the OPEN queue is not empty, take out the head node H, save the head node H to the CLOSE queue, check whether the current node is the target position g, if it is the target position, the algorithm terminates;
[0024] If it is not the target position g, traverse the adjacent nodes of the head node H;
[0025] If the adjacent node L is an obstacle or the adjacent node L has been saved in the CLOSE list, ignore the node;
[0026] If the adjacent node L is not in the OPEN list and has no constraints, calculate the cost of the adjacent node L; add the adjacent node L to the OPEN list, and mark the parent node of the adjacent node L as the head node H;
[0027] If the adjacent node L is not in the OPEN list but there is a constraint, that is, the location cannot be searched at this time node; find out whether the node H is in the CLOSE list. If not, traverse the new adjacent nodes; if so, delete the node H from the CLOSE list, put the node H' with the updated time status into the OPEN list to indicate waiting, and mark the parent node of the node H' as the node H;
[0028] If the adjacent node L is in the OPEN list, check the original cost from the start node s to the node L and the cost of reaching the adjacent node L through the head node H, and update the node cost value and parent-child relationship;
[0029] The path is obtained by tracing back to the starting node according to the node affiliation relationship.
[0030] In a second aspect, an embodiment of the present invention further provides a conflict-based mobile robot path planning system, comprising:
[0031] A status update module, used to determine a target robot for completing the task according to the task to be assigned and the status information of each robot, and update the status information of the target robot;
[0032] A model building module is used to build a path planning model, wherein the path planning model includes an upper-level search and a lower-level search; the upper-level search is to search a constraint tree, wherein the constraint tree includes a number of nodes, each of which includes a set of constraints and a path that meets the constraints, and the path is obtained by the lower-level search; the lower-level search performs path planning and solving by task according to the status information of each robot;
[0033] The path acquisition module is used to obtain the picking path of the target robot by solving the path planning model.
[0034] In a third aspect, an embodiment of the present invention provides a computer device, comprising: a processor, a memory and a bus, wherein the memory stores machine-readable instructions executable by the processor, and when the computer device is running, the processor and the memory communicate through the bus, and when the machine-readable instructions are executed by the processor, the steps of the conflict-based mobile robot path planning method as described in the first aspect and any possible implementation scheme of the first aspect are performed.
[0035] In a fourth aspect, an embodiment of the present invention provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of the conflict-based mobile robot path planning method as described in the first aspect and any possible implementation scheme of the first aspect are executed.
[0036] Based on the above technical solution, the present invention has the following beneficial effects:
[0037] 1. Considering the dynamic characteristics of logistics sorting application scenarios, the present invention expands the static multi-robot path planning problem and proposes a conflict-based mobile robot path planning method. In the dynamic problem, the number of robots performing tasks in the environment and the changes in tasks are considered, and the different stages of the robot are divided into different states. According to the task to be assigned and the state information of each robot, the target robot used to complete the task is determined, and the state information of the target robot is updated. In addition, by constructing a path planning model including upper-level search and lower-level search, and solving the picking path of the target robot, an efficient and conflict-free multi-robot picking path can be quickly determined, thereby improving the picking efficiency of the mobile robot picking system.
[0038] 2. Determine the priority of the conflict based on the robot's status information, and determine the conflict resolution strategy based on the conflict priority, so that the conflict can be resolved more efficiently.
[0039] 3. When performing path planning and solving, the lower-level search introduces the robot's global state table to constrain the robot's time and position, and adds a turning cost to the cost function from the initial point to the target point, which can make the robot's path smoother.
[0040] 4. The present invention is applicable to the path planning of a Kiva-like mobile robot "goods-to-person" picking system, and can serve as a reference for other mobile robot picking systems. BRIEF DESCRIPTION OF THE DRAWINGS
[0041] The accompanying drawings in the specification, which constitute a part of the present invention, are used to provide a further understanding of the present invention. The exemplary embodiments of the present invention and their descriptions are used to explain the present invention and do not constitute improper limitations on the present invention.
[0042] Figure 1 It is a warehouse layout diagram provided by an embodiment of the present invention;
[0043] Figure 2 is a flow chart of a conflict-based mobile robot path planning method provided by an embodiment of the present invention;
[0044] Figure 3 is a task flow chart provided by an embodiment of the present invention;
[0045] Figure 4(a)-4(b) is a conflict schematic diagram provided by an embodiment of the present invention;
[0046] Figure 5 It is an experimental path diagram provided by an embodiment of the present invention;
[0047] Figure 6 is a schematic structural diagram of a conflict-based mobile robot path planning system provided by an embodiment of the present invention;
[0048] Figure 7 It is a structural schematic diagram of a computer device provided by an embodiment of the present invention.
[0049] Figure numerals: 1-picking station; 2-intersection; 3-charging area; 4-aisle; 5-mobile robot; 6-shelf. DETAILED DESCRIPTION
[0050] The present invention will be further described below in conjunction with the accompanying drawings and embodiments.
[0051] It should be noted that the following detailed descriptions are all illustrative and intended to provide further explanation of the present invention. Unless otherwise specified, all technical and scientific terms used herein have the same meanings as those commonly understood by those skilled in the art to which the present invention belongs.
[0052] It should be noted that the terms used herein are only for describing specific embodiments and are not intended to limit exemplary embodiments according to the present invention. As used herein, unless the context clearly indicates otherwise, the singular form is also intended to include the plural form. In addition, it should be understood that when the terms "comprising" and / or "including" are used in this specification, it indicates the presence of features, steps, operations, devices, components and / or combinations thereof.
[0053] The present invention mainly focuses on multi-robot path planning in the picking center sorting task scenario, such as Figure 1 As shown (schematic diagram, subject to actual situation). A large number of magnetic nails are laid underground in the picking center, and the mobile robot 5 navigates by sensing its own position. The workflow is that the mobile robot waits for tasks in the charging area 3. When a group of orders arrives, the system assigns tasks, calculates the path for the robot through the central computer and passes it to the robot, and then the robot moves along the specified path. The specific movement process is that the robot immediately moves from the current position to the target shelf 6 after receiving the command, and then moves to the target picking platform 1 after carrying the target shelf 6, and finally delivers the picked shelf to the shelf area. For the problem of multiple robots planning paths, if a single robot can complete the task faster, it can be put into the next round of tasks faster, which can improve the sorting efficiency, so the goal is to minimize the average cost of all paths. According to the application characteristics, the present invention selects the existing multi-robot path planning model as the problem model, and takes minimizing the sum of path costs as the objective function.
[0054] See also Figure 2 , Figure 2 FIG. 1 is a flow chart of a conflict-based mobile robot path planning method provided by an embodiment of the present invention. Figure 2As shown in , the conflict-based mobile robot path planning method provided in this embodiment specifically includes the following steps:
[0055] S201: Determine a target robot for completing the task according to the task to be assigned and the status information of each robot, and update the status information of the target robot.
[0056] In the specific implementation, considering the dynamic characteristics of the application scenario of logistics sorting, this embodiment expands the static multi-robot path planning problem and proposes a dynamic multi-robot path planning method. In the dynamic problem, the number of robots performing tasks in the environment and the changes in tasks are considered, and the different stages of the robots are divided into different states. According to the task to be assigned and the state information of each robot, the target robot for completing the task is determined, and the state information of the target robot is updated.
[0057] As an optional implementation manner, before determining a target robot for completing the task according to the task to be assigned and the status information of each robot and updating the status information of the target robot, the method further includes:
[0058] According to the stage the robot is in, determine the status information corresponding to the robot; wherein the status information includes idle state, shelf searching state, state of being delivered to the picking point after carrying the shelf, state of being delivered to the nearest shelf location after picking, state of returning to the charging area after task completion, state of low power and charging state.
[0059] In a specific implementation, the robot is divided into 7 states: idle state is marked as 0, searching for a shelf is marked as 1, carrying a shelf and delivering it to a picking point is marked as 2, picking is completed and delivered to the nearest shelf position is marked as 3, task is completed and returned to the charging area is marked as 4, low power is marked as 5, and charging state is marked as 6. Figure 3 As shown in the figure, the specific working steps of the robot are as follows:
[0060] (1) Update the robot status. If the available robot can complete the task, issue the task; otherwise, do not issue the task.
[0061] (2) The system sends the task to the target robots with status 0 and 4, and updates the status of the corresponding robots to 1;
[0062] (3) After the robot finds the shelf, the state is updated to 2, and the shelf is transported to the picking station;
[0063] (4) After the robot completes the picking of the shelf it transports, the robot status is updated to 3, and the shelf is sent to the corresponding position in the shelf area;
[0064] (5) After the robot completes the task of returning the shelf, the status is updated to 4, and when it returns to the charging area, the status is updated to 0; if a task is received in the middle, it returns to step (2);
[0065] (6) When the robot is in state 4, the battery is insufficient and the state is updated to 5. The robot returns to the charging area to charge. The state of charging is updated to 6 and the state of charging completion is updated to 0.
[0066] The multi-robot path planning problem can be described as follows: Given an undirected graph space G = (V, E), where V is the vertex set in the graph and E is the edge set connecting the vertices, there are a certain number of robots distributed in this space. Suppose there are n robots, and these robots are represented by the set R = (r1, r2, …, r n ), each time a task is assigned to k robots, using the set TR = (r1, r2, …, r k ). Each robot needs to perform a task from the starting point to the destination point, and its path is represented by τ i ={s i ,g i} indicates that s i ∈V represents r i The initial position, g i ∈V represents r i The destination location where the task needs to be performed. T = {0, 1, 2...} is a discretized time series, r i The path τ i :T→V is a mapping from the time series T to the vertex set V, τ i (t) represents the robot r at time t i At any time, the robot can choose to stay at the current position or move to an adjacent position. cost(τ i ) is defined as the path τ i The cost of the path is calculated using time. Assume that t s is the starting time of all robot paths, is the path τ i The end time, τ i (t s )=s i , but The multi-robot path planning problem is to find a feasible solution for each robot to find a path from the starting position to the destination position. A feasible solution means that there is no conflict between the paths of multiple robots. The definition of no conflict between all robot paths is as follows:
[0067]
[0068]
[0069] The first constraint states that no node conflict is allowed on the path, that is, any node at any time is only allowed to be occupied by one robot; the second constraint states that no transposition conflict is allowed on the path, that is, two robots are not allowed to exchange positions at any time, as shown in Figure 4 (a is a node conflict; b is a transposition conflict).
[0070] S202: Construct a path planning model, the path planning model includes an upper search and a lower search; the upper search is to search a constraint tree, the constraint tree includes a number of nodes, each node includes a set of constraints and a path that meets the constraints, the path is obtained by the lower search; the lower search performs path planning and solving tasks according to the status information of each robot. Optionally, the node includes a child node, a parent node and a root node, the root node includes a set of empty constraints, the child node inherits the constraints of the parent node, and adds a new constraint for the robot.
[0071] In the specific implementation, this embodiment is an improved two-stage algorithm based on the conflict-based search algorithm (CBS) optimization. The improved algorithm can realize the dynamic calculation of multiple robots and multiple tasks, which is called LCBS (Loop conflict-based search). First, the upper search is introduced:
[0072] The upper-level search is to search for constraint tree nodes (CT Node), each of which contains two pieces of information:
[0073] (1) A set of constraints (N.constraints). Each constraint belongs to a single robot. The root of CT contains an empty set of constraints. The child nodes of a node in CT inherit the constraints of the parent node and add a new constraint for a robot.
[0074] (2) Solution (N.solution). A set of k robot paths, one path for each robot. The agent's path must meet the constraints. These paths can be found by searching the lower level.
[0075] The objective function of multi-robot path optimization is to minimize the path cost and the total cost (N.cost) of the current solution (the sum of all single robot path costs). This cost is called the cost of node N, that is,
[0076] During initialization, the root node of the constraint tree is created. The node does not contain any constraints. Then a solution is generated and its cost value is calculated. The path of each robot in the solution of the initial node is calculated by ignoring the existence of other robots. After initialization, the algorithm continuously takes a node with the lowest cost from the OPEN queue, assuming it is N, and determines whether there is a conflict in the solution of the node. Node conflict is represented as a 4-tuple (r i ,r j ,v,t), meaning r i and r j At time t, the node v is occupied at the same time; the transposition conflict is represented as a 5-tuple (r i ,r j ,v j ,v i ,t), meaning r i and r j At time t, the node positions are swapped. Any conflict found in this node is assumed to be conflit = (r i ,r j ,v,t), we expand the node into two child nodes, both of which inherit the constraints of the parent node. Add constraints (r i ,v,t) and (r j ,v,t) (meaning that robot r cannot occupy node v at time node t), due to the constraint set for r i and r j The number of constraints has changed, so it is necessary to call the lower layer to improve A* search for r i and r j Replan the path, and update the cost value of the node after the path is updated. The same is true for transposition conflicts, and a set of constraints will be generated for the nodes in the end. When multiple robots are running, if a new task is suddenly issued, the path of the previous task remains unchanged. The robot path is calculated according to the improved A* algorithm of the lower layer, and the paths of the two tasks are merged to form a new node. Conflicts are found and resolved until a node without new conflicts is returned.
[0077] Different robot states will cause changes in the difficulty of handling conflicts. As an optional implementation, when determining whether the solution in a node conflicts, the priority of the conflict is determined based on the robot's state information; the conflict resolution strategy is determined based on the priority of the conflict. For example, easy-to-resolve conflicts are resolved first to reduce the total number of conflicts, and relatively difficult conflicts are resolved last. The robot has 7 states, 5 of which can be moved, and these five are divided into two categories, distinguished by whether it carries a robot or not. When two robots conflict, an empty robot has no obstacles when planning a path, and basically only needs to wait or move once to resolve the conflict when a conflict occurs. The robot carrying the shelves has the highest difficulty in resolving the position change conflict in the aisle, and this type of conflict is resolved last. In this way, the efficiency of conflict resolution can be improved.
[0078] In order to realize dynamic path planning, we introduce a global table of robot status, which can record the position and status of the robot at all time nodes between the current time and the end of all tasks, and also record the starting position and target position of the task at the time node. The schematic table is shown in Table 1. When a new task is sent to the corresponding robot, the system can recalculate according to the above static multi-robot path planning method, taking the node of the current robot as the starting position, the target position remains unchanged, and the obstacle distribution and conflict priority are judged according to the state. A two-stage solution is performed to obtain a new solution and realize dynamic path solving.
[0079] Table 1 Robot status global table
[0080]
[0081] The lower-level search uses an improved A* algorithm, which introduces time states to the nodes of the path and takes into account the turning cost. The turning cost is added to make the robot's walking path smoother and avoid unnecessary turns, which meets the needs of real-world scenarios.
[0082] The cost function of the robot from the initial point to the target point is:
[0083] f(n)=g(n)+h(n)+c(n)
[0084] Where: f(n) represents the total cost from the starting point through the current point to the target point; g(n) is the cost of the robot's location node n from the starting point; h(n) is the estimated cost of the robot's location node n from the end point; c(n) is the robot's turning cost.
[0085] g(n)=|x s -x n ∣+∣y s -y n ∣;
[0086] h(n)=|x g -x n ∣+∣y g -y n ∣;
[0087]
[0088] The research model is a grid map, and the position of each node can be represented by coordinates, i.e. (x, y). The robot can only move in four directions, so g(n) and g(n) are both Manhattan distances. c(n) needs to be judged whether it is a turning point. It only needs to be compared with the coordinates of the previous node and the adjacent nodes. If they are different, it is a turning point, otherwise it is walking in a straight line. If it walks in a straight line or turns to the end point, the cost is 0, and if it is a turning point, the cost is 1.
[0089] The process of the improved A* algorithm is as follows:
[0090] Step 1: Input grid map data G = (V, E), initial position s, target position g; generate node s with time state t, coordinates and total cost f, initialize priority queues OPEN and CLOSE (representing nodes to be traversed and nodes that have been traversed, respectively), where the nodes in the OPEN queue are arranged in ascending order of f value.
[0091] Step 2: Put node s into the OPEN list.
[0092] Step 3: If OPEN is not empty, take out the head node H (the node with the highest priority), save the head node H to the CLOSE list, check whether the current node is the target node g, if it is the target node, the algorithm terminates and jumps to Step 5.
[0093] Step 4: Traverse the adjacent nodes of node H.
[0094] Step 4.1: If the adjacent node L is an obstacle or the node L is already saved in the CLOSE list, ignore the node.
[0095] Step 4.2: If node L is not in the OPEN list and has no constraints, calculate the cost of node L. Add node L to the OPEN list and mark the parent node of node L as node H.
[0096] Step 4.3: If node L is not in the OPEN list but there is a constraint, that is, the location cannot be searched at this time node. Check whether node H is in the CLOSE list. If not, traverse the new adjacent nodes; if so, delete node H from the CLOSE list, put node H' with updated time status into the OPEN list to indicate waiting, and mark the parent node of node H' as node H.
[0097] Step 4.4: If node L is in the OPEN list, check the original cost from the starting node s to node L and the cost of reaching node L through node H, and update the node cost value and parent-child relationship.
[0098] Step 4.4: After traversing the adjacent nodes, jump to Step 3.
[0099] Step 5: If the algorithm finds the solution successfully, trace back to the starting node according to the node affiliation relationship to obtain the path; otherwise, the algorithm has no solution.
[0100] S203: Obtaining a picking path for the target robot by solving the path planning model.
[0101] Here, in Step 3, Open is empty, which means that all nodes have been traversed, and the end point has been found. OPEN cannot be empty before the end point is found. Here, it is actually an infinite loop before the end point is found. Taking out the head node means taking out the point with the highest priority to traverse its neighboring nodes. If all neighboring nodes meet the constraints, start the next loop. Otherwise, delete the node from CLOSE and put it back into OPEN to wait.
[0102] The embodiment of the present application proposes a conflict-based mobile robot path planning method. In the dynamic problem, the number of robots performing tasks in the environment and the changes in tasks are considered, and different stages of the robot are divided into different states. According to the task to be assigned and the state information of each robot, the target robot for completing the task is determined, and the state information of the target robot is updated. In addition, by constructing a path planning model including upper-level search and lower-level search, and solving the picking path of the target robot, an efficient and conflict-free multi-robot picking path can be quickly determined, thereby improving the picking efficiency of the mobile robot picking system.
[0103] The experimental map is as follows Figure 1 As shown. The method of the present invention is used to solve the paths of four tasks of five robots. The robot's operation process is from the charging area to the corresponding shelf in the shelf area, from the shelf area to the picking platform, and then the shelf is sent from the picking platform to the corresponding position in the shelf area, and finally the mobile robot returns to the corresponding charging area. The task is automatically issued by the system, and this method only realizes path planning. The robot task table is shown in Table 2:
[0104] Table 2 Robot task list
[0105]
[0106] The experimental results are shown in the following table:
[0107] Table 3 Robot path table
[0108]
[0109]
[0110]
[0111] Among them, the cost of robot 1 is 90, the cost of robot 2 is 85, the cost of robot 3 is 87, the cost of robot 4 is 94, the cost of robot 5 is 90, and the total cost is 446. Use the matplotlib library to draw a schematic diagram of the robot's walking path, such as Figure 5 As shown in the figure, it is set to change color when each task group is completed. Before the color changes, the other four robots have completed and started the next task.
[0112] See also Figure 6 , Figure 6 is a schematic diagram of the structure of a conflict-based mobile robot path planning system provided by an embodiment of the present invention, such as Figure 6 As shown in , this embodiment also provides a conflict-based mobile robot path planning system, and the mobile robot path planning system 600 includes:
[0113] A state updating module 610 is used to determine a target robot for completing the task according to the task to be assigned and the state information of each robot, and to update the state information of the target robot;
[0114] The model building module 620 is used to build a path planning model, wherein the path planning model includes an upper-level search and a lower-level search; the upper-level search is to search a constraint tree, wherein the constraint tree includes a plurality of nodes, each node includes a set of constraints and a path that meets the constraints, and the path is obtained by the lower-level search; the lower-level search performs path planning and solving by task according to the status information of each robot;
[0115] The path acquisition module 630 is used to obtain the picking path of the target robot by solving the path planning model.
[0116] The conflict-based mobile robot path planning system provided in this embodiment is used to implement the aforementioned conflict-based mobile robot path planning method. Therefore, the specific implementation method of the conflict-based mobile robot path planning system can be seen in the embodiment section of the conflict-based mobile robot path planning method in the previous text, and will not be repeated here.
[0117] See also Figure 7 , Figure 7 Schematic diagram of the structure of a computer device provided by an embodiment of the present invention. Figure 7As shown in , the computer device 700 includes a processor 710 , a memory 720 and a bus 730 .
[0118] The memory 720 stores machine-readable instructions executable by the processor 710. When the computer device 700 is running, the processor 710 communicates with the memory 720 via the bus 730. When the machine-readable instructions are executed by the processor 710, the above-mentioned Figure 2 The specific implementation of the steps of the conflict-based mobile robot path planning method in the method embodiment shown can be found in the method embodiment, and will not be repeated here.
[0119] Based on the same inventive concept, an embodiment of the present invention further provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of the conflict-based mobile robot path planning method described in the above method embodiment are executed.
[0120] A person skilled in the art can understand that all or part of the processes in the above-mentioned embodiments can be implemented by instructing the relevant hardware through a computer program, and the program can be stored in a computer-readable storage medium, and when the program is executed, it can include the processes of the embodiments of the above-mentioned methods. The storage medium can be a disk, an optical disk, a read-only memory (ROM) or a random access memory (RAM), etc.
[0121] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. For those skilled in the art, the present invention may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention shall be included in the protection scope of the present invention.
Claims
1. A conflict-based mobile robot path planning method, characterized in that: include: Determine a target robot for completing the task according to the task to be assigned and the status information of each robot, and update the status information of the target robot; Constructing a path planning model, the path planning model includes an upper-level search and a lower-level search; the upper-level search is a search constraint tree, the constraint tree includes a number of nodes, each node includes a set of constraints and a path that meets the constraints, and the path is obtained by the lower-level search; the lower-level search performs path planning and solving tasks according to the status information of each robot; By solving the path planning model, a picking path of the target robot is obtained; The node includes a child node, a parent node and a root node, the root node includes a set of empty constraints, the child node inherits the constraints of the parent node, and adds a new constraint for the robot; The lower-level search introduces the robot global state table to constrain the robot time and position when performing path planning and solving; the cost function of the robot from the initial point to the target point is the sum of the cost of the robot's location node from the starting point, the cost of the robot's location node from the end point, and the robot's turning cost; The lower-level search uses an improved A* algorithm. When solving the path planning problem, the robot global state table is introduced to constrain the robot time and position, and the turning cost is added to the cost function of the robot from the initial point to the target point. The path planning solution process of the lower layer search includes: Get the grid map and input the grid map data; start with node s, target position g, generate node s with coordinates and total cost f at time state t, initialize priority queues OPEN and CLOSE; OPEN indicates the node to be traversed, CLOSE indicates the node that has been traversed, and the nodes in the OPEN queue are arranged in ascending order of f value; Put node s into the OPEN queue; If the OPEN queue is not empty, take out the head node H, save the head node H to the CLOSE queue, check whether the current node is the target position g, if it is the target position, the algorithm terminates; If it is not the target position g, traverse the adjacent nodes of the head node H; If the adjacent node L is an obstacle or the adjacent node L has been saved in the CLOSE list, ignore the node; If the adjacent node L is not in the OPEN list and has no constraints, calculate the cost of the adjacent node L; add the adjacent node L to the OPEN list, and mark the parent node of the adjacent node L as the head node H; If the adjacent node L is not in the OPEN list but there is a constraint, delete the head node H from the CLOSE list, put the node H' with the updated time status into the OPEN list to indicate waiting, and mark the parent node of node H' as the head node H; If the adjacent node L is in the OPEN list, check the original cost from the start node s to the node L and the cost of reaching the adjacent node L through the head node H, and update the node cost value and parent-child relationship; According to the node affiliation relationship, trace back to the starting node to obtain the path; The objective function of multi-robot path optimization is to minimize the path cost and the total cost N.cost is the current total path cost of all single robots, which is called the cost of node N. During initialization, the root node of the constraint tree is created. The node does not contain any constraints. Then a solution is generated and its cost value is calculated. The path of each robot in the solution of the initial node is calculated by ignoring the existence of other robots. After initialization, the algorithm continuously takes a node with the lowest cost from the OPEN queue, assuming it is N, and determines whether there is a conflict in the solution of the node. The node conflict is represented by a 4-tuple (r i , r j , v, t), meaning r i and r j At time t, the node v is occupied at the same time; the transposition conflict is represented as a 5-tuple (r i , r j , v j , v i , t), meaning r i and r j At time t, the node positions are swapped; any conflict found in the node is assumed to be conflit = (r i , r j , v, t), the node expands into two child nodes on the left and right, both of which inherit the constraints of the parent node; constraints (r i , v, t) and (r j , v, t), which means that robot r cannot occupy node v at time node t, because the constraint set i and r j The number of constraints has changed, so it is necessary to call the lower layer to improve A* search for r i and r j Replan the path and update the cost value of the node after the path is updated.
2. The conflict-based mobile robot path planning method according to claim 1, characterized in that: Before determining the target robot for completing the task according to the task to be assigned and the status information of each robot and updating the status information of the target robot, the method further includes: According to the stage the robot is in, determine the status information corresponding to the robot; wherein the status information includes idle state, shelf searching state, state of being delivered to the picking point after carrying the shelf, state of being delivered to the nearest shelf location after picking, state of returning to the charging area after task completion, state of low power and charging state.
3. The conflict-based mobile robot path planning method according to claim 1, characterized in that: The specific method of searching the constraint tree includes: When initialized, the root node of the constraint tree does not contain any constraints. A solution is generated and its cost value is calculated. After initialization, obtain the node with the lowest cost value and determine whether the solution in the node has conflicts. If there are conflicts, expand the child node with the node as the parent node. The child node inherits the constraints of the parent node and adds new constraints. The new constraints are determined according to the conflicts. Call the lower-level search to replan the path of the child node. After the path is updated, update the cost value of the child node to determine whether the solution in the child node has conflicts. If there are conflicts, expand the child node with the child node as the parent node until a node without conflicts is returned.
4. The conflict-based mobile robot path planning method according to claim 3, characterized in that: When determining whether there is a conflict in the solution of a node, the priority of the conflict is determined according to the state information of the robot; and the conflict resolution strategy is determined according to the priority of the conflict.
5. A conflict-based mobile robot path planning system, characterized in that: include: A status update module, used to determine a target robot for completing the task according to the task to be assigned and the status information of each robot, and update the status information of the target robot; A model building module is used to build a path planning model, wherein the path planning model includes an upper-level search and a lower-level search; the upper-level search is to search a constraint tree, wherein the constraint tree includes a number of nodes, each of which includes a set of constraints and a path that meets the constraints, and the path is obtained by the lower-level search; the lower-level search performs path planning and solving by task according to the status information of each robot; A path acquisition module, used to obtain a picking path of the target robot by solving the path planning model; The node includes a child node, a parent node and a root node, the root node includes a set of empty constraints, the child node inherits the constraints of the parent node, and adds a new constraint for the robot; The lower-level search introduces the robot global state table to constrain the robot time and position when performing path planning and solving; the cost function of the robot from the initial point to the target point is the sum of the cost of the robot's location node from the starting point, the cost of the robot's location node from the end point, and the robot's turning cost; The lower-level search uses an improved A* algorithm. When solving the path planning problem, the robot global state table is introduced to constrain the robot time and position, and the turning cost is added to the cost function of the robot from the initial point to the target point; The path planning solution process of the lower layer search includes: Get the grid map and input the grid map data; start with node s, target position g, generate node s with coordinates and total cost f at time state t, initialize priority queues OPEN and CLOSE; OPEN indicates the node to be traversed, CLOSE indicates the node that has been traversed, and the nodes in the OPEN queue are arranged in ascending order of f value; Put node s into the OPEN queue; If the OPEN queue is not empty, take out the head node H, save the head node H to the CLOSE queue, check whether the current node is the target position g, if it is the target position, the algorithm terminates; If it is not the target position g, traverse the adjacent nodes of the head node H; If the adjacent node L is an obstacle or the adjacent node L has been saved in the CLOSE list, ignore the node; If the adjacent node L is not in the OPEN list and has no constraints, calculate the cost of the adjacent node L; add the adjacent node L to the OPEN list, and mark the parent node of the adjacent node L as the head node H; If the adjacent node L is not in the OPEN list but there is a constraint, delete the head node H from the CLOSE list, put the node H' with the updated time status into the OPEN list to indicate waiting, and mark the parent node of node H' as the head node H; If the adjacent node L is in the OPEN list, check the original cost from the start node s to the node L and the cost of reaching the adjacent node L through the head node H, and update the node cost value and parent-child relationship; According to the node affiliation relationship, trace back to the starting node to obtain the path; The objective function of multi-robot path optimization is to minimize the path cost and the total cost N.cost is the current total path cost of all single robots, which is called the cost of node N. During initialization, the root node of the constraint tree is created. The node does not contain any constraints. Then a solution is generated and its cost value is calculated. The path of each robot in the solution of the initial node is calculated by ignoring the existence of other robots. After initialization, the algorithm continuously takes a node with the lowest cost from the OPEN queue, assuming it is N, and determines whether there is a conflict in the solution of the node. The node conflict is represented by a 4-tuple (r i , r j , v, t), meaning r i and r j At time t, the node v is occupied at the same time; the transposition conflict is represented as a 5-tuple (r i , r j , v j , v i , t), meaning r i and r j At time t, the node positions are swapped; any conflict found in the node is assumed to be conflit = (r i , r j , v, t), the node expands into two child nodes on the left and right, both of which inherit the constraints of the parent node; constraints (r i , v, t) and (r j , v, t), which means that robot r cannot occupy node v at time node t, because the constraint set i and r j The number of constraints has changed, so it is necessary to call the lower layer to improve A* search for r i and r j Replan the path and update the cost value of the node after the path is updated.
6. A computer device, characterized in that: include: A processor, a memory and a bus, wherein the memory stores machine-readable instructions executable by the processor, and when the computer device is running, the processor and the memory communicate via the bus, and when the machine-readable instructions are executed by the processor, the steps of the conflict-based mobile robot path planning method as described in any one of claims 1 to 4 are performed.
7. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the conflict-based mobile robot path planning method according to any one of claims 1 to 4 are executed.
Citation Information
Patent Citations
Multi-robot path planning method based on dynamic time window conflict search
CN113311829A