Multi-robot path planning method and system and electronic equipment

By constructing the target map of SLAM map and point map, combining ECBS algorithm and nonlinear optimization, the adaptability and robustness of multi-robot path search in complex dynamic environments is solved, and efficient and accurate path planning is achieved.

CN120406463APending Publication Date: 2025-08-01BLUESWORD INTELLIGENT TECH CO LTD

Patent Information

Application Number
CN202510557774.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-29
Publication Date
2025-08-01

AI Technical Summary

Technical Problem

The prior art multi-robot path search method based on topological maps is difficult to adapt to large-scale complex dynamic environments, resulting in long path planning cycles and insufficient accuracy, and it is difficult to quickly respond to environmental changes.

Method used

The target map is constructed using the interference results of SLAM map and point map, marking obstacles, combining enhanced conflict search ECBS algorithm and nonlinear optimization, planning robot paths, and optimizing task execution using action dependency diagrams and Commit Cut mechanisms.

Benefits of technology

It improves the accuracy and efficiency of path planning, enhances the adaptability and robustness of AGV systems in complex dynamic environments, and can quickly respond to environmental changes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120406463A_ABST
    Figure CN120406463A_ABST
Patent Text Reader

Abstract

The invention provides a multi-robot path planning method and system and electronic equipment, and relates to the technical field of robots, and the method comprises the steps: firstly constructing a target map of a physical space environment where a robot is located; wherein the target map is an interference result of an SLAM map and a point location map, and obstacles in the physical space environment are marked in the target map; task parameters of a to-be-allocated task and robot state information of a plurality of robots are acquired; determining a target task allocated to each robot according to the task parameters and the robot state information; and on the basis of the target map marked with the obstacles, a target path for executing the target task is planned for each robot. According to the invention, the adaptability and robustness of the AGV system in a complex dynamic environment can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of robots, and in particular, to a multi-robot path planning method, system and electronic device. Background Art

[0002] In the field of Automated Guided Vehicle (AGV), autonomous multi-robot systems have received extensive attention due to their rich and diverse functions and higher efficiency. In a multi-robot system, many application scenarios require mobile robots to perform coordinated navigation in a complex environment, which requires generating a collision-free trajectory from the initial position of the robot to the final position. This problem is called the Marked Multi-Agent Path Finding (MAPF) problem.

[0003] Currently, multi-robot path search is mainly based on a topological map, but this method is difficult to adapt to the situation of a large map scale and a complex and dynamic environment, and there are many problems, such as: a long implementation period, inaccurate path drawing, and difficulty in quickly responding to dynamic changes. Therefore, how to improve the adaptability and robustness of the AGV system in a complex and dynamic environment has become an urgent problem to be solved. Summary of the Invention

[0004] In view of this, an object of the present invention is to provide a multi-robot path planning method, system and electronic device, which can improve the adaptability and robustness of the AGV system in a complex and dynamic environment.

[0005] In a first aspect, an embodiment of the present invention provides a multi-robot path planning method, the method comprising the following steps:

[0006] Construct a target map of the physical space environment where the robot is located; wherein, the target map is the interference result of a SLAM map and a point map, and obstacles in the physical space environment are marked in the target map;

[0007] Obtain the task parameters of the task to be assigned and the robot state information of multiple robots;

[0008] Determine the target task assigned to each robot according to the task parameters and the robot state information;

[0009] Based on the target map marked with obstacles, respectively plan a target path for each robot to execute the target task.

[0010] In some embodiments, the obstacles include static obstacles and dynamic obstacles; the constructing a target map of the physical space environment where the robot is located includes:

[0011] Model the physical space environment where the robot is located through lidar to obtain a rasterized SLAM map; wherein, static obstacles in the physical space environment are marked in the SLAM map.

[0012] Analyze the platform metadata of the platform map corresponding to the physical space environment, and construct a point map based on the platform metadata; wherein, in the point map, the platform is marked as a dynamic obstacle.

[0013] Perform interference processing on the SLAM map and the point map to obtain a target map; wherein, the interference processing includes: coordinate alignment and spatial discretization; the target map is stored in the form of key-value pairs, where the key represents the grid coordinates, and the value represents the occupancy state of the grid and the distance to the nearest obstacle to the grid label.

[0014] In some embodiments, the determining the target task assigned to each robot according to the task parameters and the robot state information includes:

[0015] Obtain the start point and end point of the task to be assigned in the task parameters.

[0016] According to the obstacles marked in the target map, determine whether there is a passable path from the start point to the end point in the target map.

[0017] If there is, then determine the target task assigned to each robot through a preset task assignment strategy and according to the robot state information and the task parameters.

[0018] In some embodiments, the planning of the target path for each robot to execute the target task based on the target map marked with obstacles includes:

[0019] Obtain the target start point and target end point of the target task to be executed by each robot.

[0020] According to the enhanced conflict-based search ECBS algorithm, search for a discrete path from the target start point to the target end point for each robot within the range of the target map marked with obstacles.

[0021] Perform non-linear optimization on the discrete path of each robot to obtain discrete trajectory points.

[0022] Segment and fit the discrete trajectory points of each robot to obtain the target path for executing the target task.

[0023] In some embodiments, the performing non-linear optimization on the discrete path of each robot to obtain an optimized path includes:

[0024] Based on the discrete paths of each of the robots, determine a triple of robots that are closest in distance within a time step;

[0025] Group and assign priorities to the robots according to the occurrence frequency of the robot triples, obtaining multiple combinations of robots with priorities;

[0026] Sequentially take each of the combinations of robots as the current combination of robots in the order of the priorities;

[0027] Take the optimized paths corresponding to the combinations of robots with high priorities as collision constraints, and perform non-linear optimization on the discrete paths of each of the robots within the current combination of robots to obtain optimized paths.

[0028] In some embodiments, the segmenting and fitting the discrete trajectory points of each of the robots to obtain a target path for performing the target task includes:

[0029] For each of the robots, obtain the trajectory information of the discrete trajectory points; wherein, the trajectory information at least includes: position;

[0030] Divide multiple consecutive discrete trajectory points with the same position among the discrete trajectory points into a segmentation group;

[0031] Based on an adaptive segmentation algorithm for error, divide the discrete trajectory points with different positions among the discrete trajectory points into multiple sub-segments;

[0032] Fit each of the sub-segments respectively to obtain trajectory segments;

[0033] Construct the sequence and dependency relationships among the trajectory segments to obtain a target path for performing the target task.

[0034] In some embodiments, the method further includes:

[0035] Construct an action dependency graph; wherein, the vertices in the action dependency graph are used to represent the actions of the robots, and the edges in the action dependency graph are used to represent the dependency relationships among the actions;

[0036] During the process of each of the robots moving along their respective target paths, control each of the robots to sequentially execute actions according to the action dependency graph.

[0037] In some embodiments, the method further includes:

[0038] When the robot is assigned multiple target tasks simultaneously, obtain the expected actions of the robot in the current target task; wherein, the remaining execution time of the expected actions is greater than a preset planning time;

[0039] Construct a reverse action dependency graph, and perform reachability search on the expected actions in the reverse action dependency graph to obtain the set of actions to be completed by the robot before switching to a new target task;

[0040] Determine the last stop action to be executed by the robot in the set of actions;

[0041] The robot continues to execute the actions in the current target task until the stop action is completed, and then starts to execute the new target task.

[0042] In a second aspect, an embodiment of the present invention provides a multi-robot path planning system, which includes the following modules:

[0043] A map construction module, configured to construct a target map of the physical space environment where the robot is located; wherein, obstacles in the physical space environment are marked in the target map;

[0044] An information acquisition module, configured to acquire task parameters of tasks to be assigned and robot status information of multiple robots;

[0045] A task assignment module, configured to determine the target tasks assigned to each robot according to the task parameters and the robot status information;

[0046] A path planning module, configured to respectively plan a target path for each robot to execute the target task based on the target map marked with obstacles.

[0047] In a third aspect, an embodiment of the invention further provides an electronic device, including a memory and a processor, where a computer program executable on the processor is stored in the memory, and wherein the processor implements the steps of the multi-robot path planning method mentioned in the first aspect when executing the computer program.

[0048] The embodiments of the present invention bring at least the following beneficial effects:

[0049] The present invention provides a multi-robot path planning method, system and electronic device. The method includes: constructing a target map of the physical space environment where the robots are located; wherein, the target map is the interference result of a SLAM map and a point map, and obstacles in the physical space environment are marked in the target map; obtaining the task parameters of the tasks to be assigned and the robot state information of multiple robots; determining the target tasks assigned to each robot according to the task parameters and the robot state information; and based on the target map marked with obstacles, respectively planning target paths for each robot to execute the target tasks.

[0050] The above solution can achieve task allocation and path planning in a complex environment. Among them, first determining the target tasks assigned to each robot, and then planning target paths for the robots to specifically execute the target tasks can make the planned target paths have a high degree of matching with the target tasks, which is beneficial to reducing the implementation cost of the target tasks and improving the execution efficiency of the tasks. Moreover, for path planning, the target map used is the interference result of a SLAM map and a point map. The SLAM map is a more refined obstacle grid map that can represent the physical space environment more accurately, and the point map is convenient for multi-robot path planning through the topological results between its stations. Furthermore, based on the above target map marked with obstacles, respectively planning target paths for each robot to execute the target tasks can significantly improve the accuracy of path planning, and can be quickly applied to an environment that changes frequently, effectively enhancing the adaptability and robustness of the AGV system in a complex dynamic environment.

[0051] Other features and advantages of the present invention will be described in the subsequent specification, or, some features and advantages can be inferred from the specification or determined without doubt, or can be known by implementing the above technologies of the present invention.

[0052] To make the above objects, features and advantages of the present invention more obvious and understandable, the following specifically enumerates preferred embodiments and, in conjunction with the accompanying drawings, makes a detailed description as follows. BRIEF DESCRIPTION OF THE DRAWINGS

[0053] In order to more clearly illustrate the specific embodiments of the present invention or the technical solutions in the prior art, the following will briefly introduce the drawings required for use in the description of the specific embodiments or the prior art. Obviously, the drawings in the following description are some embodiments of the present invention. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.

[0054] Figure 1 It is a flowchart of a multi-robot path planning method provided by an embodiment of the present invention;

[0055] Figure 2Schematic diagram of a system architecture provided by an embodiment of the present invention;

[0056] Figure 3 Schematic diagram of a task management layer and a robot management layer provided by an embodiment of the present invention;

[0057] Figure 4 Flowchart of a task allocation method provided by an embodiment of the present invention;

[0058] Figure 5 Flowchart of a path planning method provided by an embodiment of the present invention;

[0059] Figure 6 Schematic diagram of a multi-robot path planning test scenario provided by an embodiment of the present invention;

[0060] Figure 7 Another schematic diagram of a multi-robot path planning test scenario provided by an embodiment of the present invention;

[0061] Figure 8 Schematic diagram of the structure of a multi-robot path planning system provided by an embodiment of the present invention;

[0062] Figure 9 Schematic diagram of the structure of an electronic device provided by an embodiment of the present invention.

[0063] Icon:

[0064] 501 - Map construction module; 502 - Information acquisition module; 503 - Task allocation module; 504 - Path planning module;

[0065] 101 - Processor; 102 - Memory; 103 - Bus; 104 - Communication interface. Detailed implementation manners

[0066] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings. Apparently, the described embodiments are some but not all of the embodiments of the present invention. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present invention without creative efforts shall fall within the protection scope of the present invention.

[0067] Currently, in the autonomous multi-robot system in the field of automatic AGV, multi-robot path search is mainly based on topological maps. Among them, the robot needs to navigate safely and efficiently from the starting point to the target point in a complex environment with dynamic moving objects such as people and obstacles. This process requires the robot to have the ability to predict the motion trajectories of future dynamic obstacles in order to plan short-term target paths, while ensuring that the path planning does not pose risks or inconveniences to people. In addition, the robot also needs to have the ability of rapid path planning. When the actual trajectory of the dynamic obstacle does not match the predicted trajectory, it can quickly generate a new path plan to avoid collisions. Effective path planning ability will significantly improve the adaptability and robustness of the robot to the dynamic environment.

[0068] In multi-robot systems, many application scenarios require mobile robots to perform coordinated navigation in complex environments, that is, they face the problem of multi-robot path search.

[0069] The relevant multi-robot path search methods mainly rely on the following two ways:

[0070] 1. Path planning method based on the position of marked stations: This method drives the AGV robot to move to the station position one by one and mark it, that is, complete a mark every time it reaches a station position. However, when the number of stations is large, the problem of time consumption of this method is particularly prominent, greatly reducing the efficiency of path planning.

[0071] 2. Path planning method based on SLAM map and manually planned topological map: This method takes the map constructed by Simultaneous Localization and Mapping (SLAM) as the background, and manually plans the topological map of stations and routes in advance. The AGV robot then travels strictly according to the manually planned route. However, this method limits the flexibility of the AGV and can only operate according to the pre-set route, making it difficult to adapt to complex and changeable dynamic environments.

[0072] Therefore, the current technology of multi-robot path search based on topological maps has many problems in the case of a large map scale and a complex environment, such as: a long implementation cycle; insufficient accuracy of the drawn path, often requiring multiple adjustments; in an environment with frequent dynamic changes, it is difficult for the topological map-based method to respond quickly and adjust the path in a timely manner.

[0073] In order to effectively alleviate at least one of the above problems, an embodiment of the present invention provides a multi-robot path planning method, system and electronic device. This method realizes task allocation and path planning in a complex environment through multi-layer collaborative control. Among them, for the target map used in the path planning process, it is the interference result of the SLAM map and the point map. The SLAM map is a more refined obstacle grid map, which can represent the physical space environment more accurately. The point map facilitates the path planning of multiple robots through the topological results between its stations. Therefore, this method can not only reduce the implementation cost of multi-robot path planning, but also improve the accuracy of path planning, and can be quickly applied to frequently changing environments, effectively enhancing the adaptability and robustness of the AGV system in complex dynamic environments.

[0074] To facilitate the understanding of this embodiment, first, a multi-robot path planning method disclosed in an embodiment of the present invention will be introduced in detail. This method is applied to a scenario where multiple robots execute tasks. As Figure 1 shown, a multi-robot path planning method includes the following steps.

[0075] Step S110, construct a target map of the physical space environment where the robot is located; among them, the target map is the interference result of the SLAM map and the point map, and obstacles in the physical space environment are marked in the target map.

[0076] Step S120, obtain the task parameters of the task to be assigned and the robot state information of multiple robots.

[0077] Step S130, determine the target task assigned to each robot according to the task parameters and the robot state information.

[0078] Step S140, based on the target map marked with obstacles, respectively plan the target path for each robot to execute the target task.

[0079] To better understand the solution, the following will describe each step in detail.

[0080] Referring to Figure 2 , this embodiment provides a system architecture for implementing a multi-robot path planning method. This system structure may include: a map construction layer, an RCS (Robat Control System) server, an on-vehicle terminal, and a scheduling system.

[0081] In this embodiment, the map construction layer is the core foundation of the system and the core component for environmental perception and spatial modeling in the AGV navigation system. It adopts the singleton pattern to ensure a globally unique instance and provides unified map data services for processes such as path planning and task scheduling. The map construction layer can be used to construct the target map of the physical space environment where the robot is located and send the target map to the RCS server.

[0082] Correspondingly, in one embodiment, the obstacles marked in the target map include static obstacles and dynamic obstacles; for step S110, the implementation process of constructing the target map of the physical space environment where the robot is located can be divided into: the construction of the SLAM map, the construction of the point position map, and interference processing, as shown below.

[0083] Construction of the SLAM map: Model the physical space environment where the robot is located through a lidar to obtain a rasterized SLAM map; among them, static obstacles in the physical space environment are marked in the SLAM map.

[0084] In a specific embodiment, through the lidar SLAM technology, rasterize the physical space environment where the robot is located and the static obstacles in the physical space environment to generate a SLAM map including a distance map and a static obstacle map. The above-mentioned static obstacles refer to obstacles with fixed positions in the physical space environment, such as walls, equipment, etc.

[0085] In addition, the SLAM map can also be processed based on the path planning tool marked with obstacles. Through point cloud filling and denoising operations, a more accurate SLAM map can be generated.

[0086] The distance map included in the above SLAM map characterizes the spatial distance (specifically, the Euclidean distance) between the robot and the static obstacles in the physical space environment through pixel values, so as to quickly estimate the path safety. The passable area in the physical space environment can be accurately represented through the distance map.

[0087] The static obstacle map included in the above SLAM map is used to identify the two-dimensional occupancy grid of static obstacles in the physical space environment, which is used as the basic constraint condition for path search. The distribution of static obstacles in the physical space environment can be accurately represented through the static obstacle map.

[0088] Based on this, the rasterized SLAM map constructed by the lidar in this embodiment can accurately represent the distribution and passable area of static obstacles in the physical space environment.

[0089] Construction of the point position map: Analyze the station metadata of the station map corresponding to the physical space environment and construct a point position map based on the station metadata; among them, the station is marked as a dynamic obstacle in the point position map.

[0090] In a specific embodiment, the point position map is mainly related to the processing of platform-related data. This embodiment can load the platform map corresponding to the physical space environment and parse the platform metadata in the platform map; the platform metadata can include: platform ID, type (such as loading and unloading station, charging station), geometric dimensions, and operation rules (such as the vehicle body model that can dock, the allowed docking time), etc.

[0091] According to the platform metadata, model the entrance and exit lines of the platform as virtual path segments, store the starting coordinates and ending coordinates of the platform as path nodes, and store the topological connection relationship between the current platform and other platforms, thereby constructing the point position map. At the same time, in the point position map, mark the platform as a dynamic obstacle. A dynamic obstacle can be understood as: the area occupied by the current platform is regarded as impassable in the non-task state, and passable in the task state; specifically, when the robot receives a task related to the current platform (such as docking for loading and unloading), through the dynamic obstacle mask mechanism, the occupancy mark of the area occupied by the current platform will be temporarily lifted, thus allowing path planning to enter the area occupied by the current platform.

[0092] The point position map constructed in the above manner can define the passable area of the robot, including platforms, path nodes, and topological connection relationships. It should be noted that the point position map in this embodiment is only used to plan "point" structures such as platforms, and does not directly limit the driving trajectory of the robot.

[0093] Interference processing: Perform interference processing on the SLAM map and the point position map to obtain the target map; among them, the interference processing includes: coordinate alignment and spatial discretization; the target map is stored in the form of key-value pairs, where the key represents the grid coordinate, and the value represents the occupancy state of the grid and the distance to the obstacle closest to the grid coordinate.

[0094] In this embodiment, the point position map (for logical path network optimization) and the SLAM map (for physical space environment modeling) together constitute the "dual-map" basic framework for multi-robot passable path search based on obstacle marking.

[0095] Based on this, in a specific embodiment, first align the coordinates and obstacles of the SLAM map and the point position map, and then convert the aligned SLAM map and point position map into an interference map through a spatial discretization algorithm, that is, obtain the target map.

[0096] Store the target map in a hash table. In this hash table, the key is the hash value of the grid coordinate, and the value contains the occupancy state of the grid (such as: free, obstacle) and its distance to the nearest obstacle.

[0097] When the robot performs path search, for each expanded path node, it is necessary to query the occupancy status of the grid of this path node from the hash table of the target map. If the occupancy status of the grid is marked as "obstacle", the expansion in this direction is terminated; if the occupancy status of the grid is marked as "free", the distance to the nearest obstacle is further calculated, and a safety buffer is generated in combination with the radius of the robot body to ensure that the path is collision-free.

[0098] Through the above embodiments, the target map of the physical space environment where the robot is located is constructed. The target map combines the SLAM map and can represent the physical space environment more accurately. At the same time, it combines the point map and can optimize the multi-robot path planning. Based on this target map, the accuracy of subsequent path planning can be improved, enabling the robot to be quickly applied to frequently changing environments and effectively enhancing the adaptability and robustness of the AGV system in complex dynamic environments.

[0099] Combined with Figure 2 , in this embodiment, the RCS server can be used to obtain the task parameters of the task to be assigned from the scheduling system, and, obtain the robot status information of multiple robots from the vehicle-mounted terminal.

[0100] The RCS server, as the central control hub of the system, undertakes the core functions of data integration and instruction distribution. The RCS server can continuously receive the real-time robot status information of the robot uploaded by the vehicle-mounted terminal, such as: the position, power, and sensor data of the robot, etc. And, the RCS server can continuously receive the tasks and their task parameters issued by the scheduling system, such as: the starting point, ending point, and priority of the task, etc. By the RCS server receiving the robot status information of the vehicle-mounted terminal and the task parameters of the scheduling system, the synchronization of global information can be maintained.

[0101] The RCS server includes a status monitoring layer. The status monitoring layer is used to ensure the communication reliability between the RCS server and the scheduling system and the vehicle-mounted terminal through a heartbeat mechanism, track the running status of the scheduling system in real time (such as abnormal alarm, task progress update, etc.), and feedback the preset key running status (such as solution loading completed) to the downstream module.

[0102] In Figure 2 's embodiment, the scheduling system, as a global optimizer, can obtain the target map, task parameters, and robot status information from the RCS server; then, according to the task parameters and robot status information, determine the target tasks assigned to each robot; and, based on the target map marked with obstacles, plan the target paths for each robot to execute the target tasks respectively.

[0103] After the scheduling system completes the allocation between tasks and robots and the planning of the target path, the target task and the target path are sent to the robot on the vehicle-mounted side through the RCS server. The RCS server forms a two-way communication closed loop. The RCS server sends instructions regarding the target task and the target path downward (i.e., to the vehicle-mounted side) and sends the target map based on obstacle markings upward (i.e., to the scheduling system).

[0104] In this embodiment, the vehicle-mounted side serves as the execution terminal, receives the target task and the target path sent by the RCS server, drives the robot to move along the target path and execute the target task. Meanwhile, the robot on the vehicle-mounted side real-time perceives the changes in the physical space environment (such as sudden obstacles) through multi-sensor fusion. Once a path deviation or an update of the target map is detected, the vehicle-mounted side immediately triggers local replanning and transmits the corrected robot state back to the RCS server, forming a real-time control loop of "perception - decision - execution - feedback".

[0105] Moreover, as the robot on the vehicle-mounted side performs tasks and updates the map and other operations, the scheduling system can also receive feedback information such as task completion or interruption, map update, etc. fed back from the vehicle-mounted side through the RCS server, forming a closed-loop optimization mechanism of "map update - strategy generation - task execution - status backtracking".

[0106] Through the above system architecture including the map construction layer, the RCS server, the vehicle-mounted side, and the scheduling system, the data flow process of the entire AGV system when performing multi-robot tasks is described, and the action mechanism of the multi-robot passable path search algorithm based on obstacle markings in the entire system is elaborated. Through the RCS server, the path planned by the scheduling system is sent to the vehicle-mounted side, thereby realizing the collaborative task execution of multiple robots. This system architecture realizes efficient task scheduling and path planning in a dynamic environment through multi-layer collaborative control, significantly improving the adaptability and robustness of the AGV system in a complex dynamic environment.

[0107] Next, based on the above system architecture, this embodiment focuses on describing the task allocation described in step S130 and the path planning described in step 140.

[0108] In this embodiment, the scheduling system is responsible for the optimization of global task scheduling and path planning, and it can include: a task management layer, a robot management layer, a task allocation layer, a path planning layer, a post-optimization processing layer, and a trajectory fitting layer. Each layer structure works together to achieve efficient task allocation and path planning.

[0109] Refer to Figure 3As shown in the figure, the task management layer is the task scheduling center of the scheduling system, responsible for the full life cycle management of tasks, including task reception, cancellation, status management, and archiving. This task management layer can receive task creation instructions from the RCS server, parse the task parameters in the task creation instructions, and store the tasks in the task buffer in a scheduling custom format. The task buffer stores all unfinished tasks and supports fast retrieval and dynamic update. At the same time, the task management layer also receives task cancellation instructions and locates tasks based on the task identifier (task_id). If the task is in the "unprocessed" state, it is directly deleted from the buffer; if the task has been assigned to a robot, the robot management layer is notified to release the relevant resources of the task and roll back the task status to the unprocessed state.

[0110] The task management layer is also responsible for defining task statuses, including "unprocessed", "assigned", "executing", and "completed", etc. The task flow in different stages is driven by status tags. For example, after the task changes from the "unprocessed" state to the "assigned" state, the associated path information (maintained through a shared_ptr shared pointer) will be bound to the target robot. When the task is completed, based on the feedback information from the robot (such as reaching the end point and the speed being zero), the task is marked as "completed", deleted from the task buffer, and archived to the historical record.

[0111] The robot management layer can be used to monitor and dynamically schedule the resources of the AGV cluster to ensure the efficient utilization of robot resources and the smooth execution of tasks. This robot management layer can flexibly allocate the robot cluster, such as dynamically adding robots, deleting robots, managing the online or offline status of robots, and real-time updating the robot resource pool. When a robot goes offline, the path lock and task resources it occupies are released to ensure the reasonable allocation of resources. At the same time, the robot management layer records the real-time robot status information of each robot, such as: task path information (such as the currently executed path sequence, remaining mileage, obstacle avoidance points, etc.), task load (such as the ID, priority, and execution progress of the assigned tasks, etc.), and operating status (such as battery power, sensor data, communication status, detecting the online / offline status through the heartbeat mechanism, etc.). The robot management layer ensures the efficient utilization of robot resources and the smooth execution of tasks by monitoring and dynamically scheduling the resources of the AGV cluster.

[0112] The robot management layer is also used for the management of the task execution closed loop. The robot management layer receives the "assigned task" issued by the task management layer, adds it to the list of tasks being executed, and modifies the task status to "executing". When the robot reaches the target point and meets the completion conditions (such as the speed being zero and no pending execution instructions), the task is marked as "completed" and feedback is sent to the task management layer.

[0113] In this embodiment, the target task assigned to each robot can be determined through the task assignment layer according to the task parameters and robot state information.

[0114] Reference Figure 4 , this embodiment includes:

[0115] S301: Obtain the starting point and end point of the task to be assigned in the task parameters.

[0116] The task allocation layer is the decision engine for matching tasks with robots. It is responsible for intelligently matching and allocating tasks based on robot status information and task parameters. The task allocation layer pulls robot status information from the robot management layer for all online robots, extracts a list of "unprocessed" tasks from the task management layer, and obtains the task parameters for each pending task in the task list. These task parameters include at least the task's start and end points.

[0117] S302: Determine whether there is a passable path from the starting point to the end point in the target map based on the obstacles marked in the target map.

[0118] This embodiment can use a dual pre-check mechanism to first verify the reachability of the task from the starting point to the end point based on the target map. If all paths from the starting point to the end point are blocked by obstacles marked in the target map, it is determined that there is no passable path from the starting point to the end point in the target map. In this case, the status of the task is marked as "unreachable".

[0119] If there is a passable path from the starting point to the end point in the target map, the following step S303 is executed.

[0120] S303: If so, determine the target task assigned to each robot through a preset task allocation strategy and according to the robot state information and task parameters.

[0121] If a traversable path from the starting point to the end point exists in the target map, a pre-set task assignment strategy can be used to select a suitable robot for the task based on robot status information and task parameters. The selected robot will meet the current task requirements in terms of load capacity, size restrictions, current load, etc. Furthermore, the target task assigned to each robot is determined, or in other words, the target robot assigned to each task is determined.

[0122] In specific implementation, the task allocation layer can combine the robot status information (such as idle degree, position) with the task parameters (such as urgency), and through task allocation strategies such as the greedy algorithm or load balancing strategy, allocate the optimal robot for the task. After successful allocation, update the status of the task to "allocated", and write the task information into the execution task list of the vehicle management layer. If the task allocation fails (such as no available robot or blocked path), an alarm is triggered and the upstream system is notified to intervene.

[0123] In addition, the task allocation layer also supports a task preemption mechanism, where high-priority tasks can interrupt the execution of low-priority tasks.

[0124] In the above embodiments, through the collaborative work of the task management layer, the robot management layer, and the task allocation layer, a complete task scheduling process is formed. After the task management layer receives a new task, the task allocation layer is responsible for matching suitable robots, and the robot management layer is responsible for binding tasks and modifying the status, and then sends the path to the vehicle-mounted terminal for execution.

[0125] Refer to Figure 5 , in this embodiment, based on the target map marked with obstacles, the target paths for each robot to execute the target tasks can be planned through the path planning layer, the post-optimization processing layer, and the trajectory fitting layer. This embodiment includes the following steps S401 - S404.

[0126] S401, Obtain the target start point and target end point of the target task to be executed by each robot.

[0127] S402, According to the ECBS algorithm, within the range of the target map marked with obstacles, search for the discrete path from the target start point to the target end point for each robot.

[0128] In this embodiment, the path planning layer is the core decision-making layer of the multi-robot system, responsible for generating a spatio-temporally conflict-free, kinematically feasible, and most efficient driving trajectory in a dynamic multi-robot environment. Its workflow integrates multi-robot collaborative search, action dependency modeling, and real-time exception handling mechanisms.

[0129] [[ID=...]] In the embodiment where path preprocessing is implemented through the path planning layer, the full amount of robot status information can be pulled in real time from the robot management layer, including but not limited to pose, speed, kinematic model, and the remaining trajectory point sequence of the current path. At the same time, extract the existing path information and parse its spatio-temporal occupancy tags (such as the time window of the path segment) to provide basic data for subsequent conflict detection.

[0130] To facilitate understanding of the solution, the ECBS (Enhanced Conflict-Based Search) algorithm in this embodiment is introduced here first.

[0131] Given a graph G=(V, E) and a set of robots a1, a2, …, a k , each robot a i has a starting point s i ∈V and a goal point g i ∈V. The task is to plan a path from the starting point to the goal point for each robot such that there are no conflicts on the path, that is, at the same time point, two robots cannot occupy the same position. Meanwhile, minimize the total cost of the path as much as possible.

[0132] This embodiment uses the ECBS algorithm for path planning. This algorithm is a two-layer search algorithm. The high layer is responsible for generating a Constraint Tree (CT), and the low layer is responsible for finding the optimal path for each robot under the constraints. However, the optimality guarantee of the CBS algorithm leads to a high computational complexity when the number of robots is large. The ECBS (Enhanced CBS) algorithm introduces a bounded sub-optimal search mechanism in both the high-layer and low-layer searches, allowing sacrificing the optimality of the solution within a certain range in exchange for a faster solution speed. Specifically, the ECBS algorithm shares a bounded sub-optimal factor in the high layer and the low layer, thereby dynamically adjusting the flexibility of the high layer and the low layer. This design enables the ECBS algorithm to significantly improve the solution efficiency of the algorithm on the premise that the quality of the solution does not differ from the optimal solution by more than ω times.

[0133] In the high-layer search, the ECBS algorithm controls the search scope by maintaining a FOCAL list. The nodes in the FOCAL list satisfy the following conditions:

[0134] FOCAL = {n|n ∈ OPEN, n.cost ≤ LB·ω}

[0135] where LB is the lowest cost estimate value of all nodes in the current OPEN list, and ω is the bounded sub-optimal factor. In this way, the ECBS algorithm ensures that the high-layer search does not deviate too far from the optimal solution.

[0136] In the low-layer search, the ECBS algorithm also introduces a bounded sub-optimal search mechanism, allowing the low layer to return a path with a cost not exceeding ω times the optimal solution under the constraints. In this way, the ECBS algorithm achieves bounded sub-optimality in both the high-layer and low-layer searches, thereby significantly improving the solution efficiency of the algorithm while ensuring the quality of the solution.

[0137] Based on the above embodiment, according to the ECBS algorithm, within the range of the target map marked with obstacles, search for a discrete path from the target starting point to the target ending point for each robot.

[0138] S403, perform non-linear optimization on the discrete path of each robot to obtain discrete trajectory points.

[0139] In multi-robot trajectory planning, non-linear optimization is a key step in refining a discrete path into a smooth and dynamically feasible trajectory. Although the discrete path generated in the discrete path planning stage in step S402 can avoid obstacles, the discrete path is usually piecewise linear and contains corners, which is dynamically infeasible for a mobile robot with non-holonomic constraints. Therefore, non-linear optimization is used to further refine the path to make it smooth and conform to the dynamics of the robot.

[0140] Among them, the definition of the non-linear optimization problem is as follows:

[0141]

[0142] Among them, N represents the number of robots, H represents the number of sampling points of the discrete path, and respectively represent the state (such as including position and orientation) and control input (such as including linear velocity and angular velocity) of the i-th robot at the j-th sampling point. s i and g i respectively are the starting state and target state of the i-th robot, f is the non-linear dynamics model of the robot, is the safety corridor of the i-th robot at the j-th sampling point, U i is the control input constraint of the i-th robot, R i is the collision model radius of the i-th robot, and P and Q are weight matrices used to adjust the weights of smoothness and trajectory deviation in the optimization objective.

[0143] The optimization objective consists of two parts. The first part is to ensure the smooth change of the control input of the trajectory by constraining the difference between consecutive control inputs. The second part is to maintain the feasibility of the path by constraining the deviation between the actual trajectory of the robot and the reference trajectory. The constraint conditions include boundary conditions, dynamics constraints, safety corridor constraints, control input constraints, and collision avoidance constraints between robots. These constraints ensure that the trajectory of each robot starts from the starting state, ends at the target state, conforms to its non-linear dynamics model, and avoids collisions with obstacles and other robots in the environment.

[0144] In this case, to solve the trajectory optimization problem of a large number of robots, this embodiment can adopt a priority trajectory optimization method to perform non-linear optimization on the discrete path of each robot to obtain discrete trajectory points; specifically refer to the following content:

[0145] Based on the discrete paths of each robot, determine the robot triples with the closest distances within a time step; group and prioritize the robots according to the occurrence frequencies of the robot triples to obtain multiple robot combinations with priorities; sequentially take each robot combination as the current robot combination in the order of priority; use the optimized paths corresponding to the high-priority robot combinations that have been optimized as collision constraints to perform non-linear optimization on the discrete paths of the robots within the current robot combination to obtain discrete trajectory points.

[0146] Specifically, by analyzing the discrete paths of each robot, identify the robot triples with relatively close distances within a time step, and group and prioritize the robots according to the occurrence frequencies of the triples to obtain multiple robot combinations with priorities.

[0147] In the order of priority, first optimize the robot combinations with higher priorities. When optimizing the trajectory of the current robot combination, the collision avoidance constraints with the optimized high-priority robot combinations need to be considered. Therefore, use the optimized paths corresponding to the optimized high-priority robot combinations as collision constraints to perform non-linear optimization on the discrete paths of the robots within the current robot combination. In this process, IPOPT (Interior Point OPTimizer) can be used as the solver for the non-linear optimization problem. The optimized discrete paths are refined into discrete trajectory points of a smooth and dynamically feasible trajectory, which can satisfy the collision avoidance and dynamic constraints.

[0148] S404. Segment and fit the discrete trajectory points of each robot to obtain the target path for performing the target task.

[0149] The trajectory after non-linear optimization consists of a series of discrete trajectory points with fixed time intervals. To further process these discrete trajectory points in order to generate a smoother and more easily executable trajectory, in this embodiment, the discrete trajectory points of each robot can be segmented and fitted to obtain the target path for performing the target task. The implementation process of this step can include the following steps (1)-(3):

[0150] (1) For each robot, obtain the trajectory information of the discrete trajectory points. Specifically, the set of discrete trajectory points {point1, point2, …, point n} can be obtained from the non-linear optimization process. The trajectory information of each discrete trajectory point includes: position, timestamp, velocity, angular velocity, etc.

[0151] (2) Multiple continuous discrete trajectory points with the same position in the discrete trajectory points are divided into a segmentation group; and the discrete trajectory points with different positions in the discrete trajectory points are divided into multiple sub-segments based on the error adaptive segmentation algorithm; each sub-segment is fitted separately to obtain a trajectory segment.

[0152] Specifically, when the positions of multiple consecutive discrete trajectory points are completely consistent, these discrete trajectory points are forcibly divided into a segmentation group. In this case, the robot may be in a waiting state or rotating on the spot.

[0153] For the discrete trajectory points with inconsistent positions, reasonable segmentation is performed, and each segmented sub-segment is fitted with a straight line or Bezier curve to obtain a trajectory segment. In order to achieve smooth fitting of the trajectory, this embodiment can adopt an error-based adaptive segmentation method.

[0154] The error-based adaptive segmentation method involves setting an error threshold ε and gradually adding fitting data points starting from one end of the set of discrete trajectory points. For each subsegment, the error of the fitted line or third-order Bezier curve is calculated. If the error exceeds the threshold ε, the current discrete trajectory point is marked as a segmentation point, and fitting of a new subsegment begins again. By gradually adding more discrete trajectory points, the optimal start and end positions of each subsegment are determined, thus achieving adaptive segmentation of the trajectory and obtaining multiple subsegments. Each subsegment is then fitted with a line or third-order Bezier curve to obtain a trajectory segment, providing a more accurate trajectory description for subsequent path planning and control.

[0155] Through the above process, this embodiment divides the discrete trajectory points after nonlinear optimization into multiple subsegments and fits them using straight lines or Bezier curves. This method not only improves the smoothness of the trajectory but also provides a more accurate trajectory description for subsequent path planning and control, thereby significantly improving the navigation performance of the multi-robot system.

[0156] (3) Construct the sequence and dependency relationship between each trajectory segment to obtain the target path for executing the target task.

[0157] After completing the segmentation and fitting of discrete trajectory points, this embodiment further constructs an Action Dependency Graph (ADG). This ADG describes the sequence and dependencies between trajectory segments, providing an important reference for subsequent path planning and control. The ADG allows for the effective management and distribution of optimized target paths, ensuring that the robot accurately follows the intended path during mission execution.

[0158] In one embodiment, the multi-robot path planning method may further include:

[0159] Construct an action dependency graph; wherein, the vertices in the action dependency graph are used to represent the actions of the robot, and the edges in the action dependency graph are used to represent the dependency relationships between actions; during the process of each robot moving along its respective target path, control each robot to execute actions in sequence according to the action dependency graph.

[0160] In this embodiment, an action dependency graph can be used to capture the dependency relationships between robot actions. The action dependency graph is a directed graph, where the vertices represent the actions of the robot and the edges represent the dependency relationships between actions.

[0161] Constructing the action dependency graph includes: creating vertices and first directed edges, and adding second directed edges.

[0162] Among them, in the embodiment of creating vertices and first directed edges, each action of each robot (including moving, turning, lifting shelves, etc.) is represented as a vertex in the action dependency graph. For each robot, the consecutive actions are connected by first directed edges, and the first directed edges represent the action sequence of the same robot, ensuring that the robot can execute the next action only after one action is completed.

[0163] In the embodiment of adding second directed edges, the second directed edges are used to represent the action dependency relationships between different robots. If the action of one robot needs to start after the action of another robot is completed, then a second directed edge is added between these two actions. For example, if robot A needs to pass through a passage while robot B is moving in that passage, then the entry action of robot A needs to start after the exit action of robot B is completed, so a second directed edge is added between the entry action of robot A and the exit action of robot B.

[0164] In the action execution stage, each vertex (i.e., action) in the action dependency graph has three states, namely:

[0165] Staged: Indicates that the action is ready but has not been added to the execution queue;

[0166] Enqueued: Indicates that the action has been added to the execution queue and is waiting to be executed;

[0167] Finished: Indicates that the action has been completed.

[0168] During the execution of the action dependency graph, the execution order of actions is managed by tracking the status of each vertex. An action will only be added to the execution queue when all its dependent actions (predecessor actions connected by the first directed edge and the second directed edge) are completed. In this way, the action dependency graph can ensure that the robot completes actions in the planned order during actual task execution, and can avoid collisions even in the presence of time delays or dynamic changes.

[0169] To achieve seamless connection between planning and execution in a dynamic environment, this embodiment can introduce the Commit Cut mechanism. The Commit Cut mechanism is a mechanism for determining the set of the last actions that a robot must complete before switching to a new target task; its core idea is that when re-planning, the robot is allowed to continue executing some actions in the current target task, thus avoiding stagnation caused by waiting for the new target task.

[0170] Based on the Commit Cut mechanism, the multi-robot path planning method provided in this embodiment may further include:

[0171] First, in the case where a robot is assigned multiple target tasks simultaneously, obtain the expected actions of the robot in the current target task; where the remaining execution time of the expected actions is greater than the preset planning time.

[0172] Second, construct a reverse action dependency graph, and perform reachability search on the expected actions in the reverse action dependency graph to obtain the set of actions to be completed by the robot before switching to the new target task. Exemplarily, perform reachability search in the reverse action dependency graph to find all reachable actions, and these actions constitute the set of actions Committed Vertices that the robot must complete before switching to the new target task.

[0173] Next, determine the last stop action executed by the robot in the set of actions Committed Vertices, and this stop action forms the Commit Cut.

[0174] After determining the stop action Commit Cut, the robot continues to execute the actions in the current target task until it completes the stop action Commit Cut, and then starts to execute the new target task. Specifically, after the robot completes the stop action Commit Cut, it starts the new target task according to the state after the completion of the stop action Commit Cut.

[0175] Through the Commit Cut mechanism in this embodiment, the robot can start the new target task in advance while executing the current target task, thereby achieving the persistence of the system.

[0176] Based on the action dependency graph and Commit Cut mechanism adopted in the above embodiments, it provides guarantees for the robustness and persistence of the practical application of multi-robot path planning. The action dependency graph ensures that robots complete actions in the planned order during actual execution by capturing the dependency relationships between actions; while the Commit Cut mechanism ensures the continuous operation ability of the AGV system in a dynamic environment by allowing the overlap of planning and execution. The above methods not only improve the robustness and efficiency of the AGV system, but also reduce the communication requirements between robots, providing important technical support for the actual deployment of multi-robot systems.

[0177] To verify the adaptability and robustness of the multi-robot path planning method provided in the above embodiments in a complex dynamic environment, this embodiment conducts tests in an actual scenario. As Figure 6 and Figure 7 shown, this embodiment takes a long corridor area and multiple robots (such as <15) as examples of the test scenario.

[0178] From Figure 6 it can be observed that in the test scenario of the long corridor area, two robots initially travel in the same direction along the same path. When the first robot reaches the predetermined lane-changing point and performs a lane-changing operation, it no longer blocks the travel route of the second robot, enabling the two robots to continue traveling in the same direction on different paths. This path planning strategy effectively avoids direct conflicts between robots and improves the travel efficiency. When the first robot approaches the target point, it travels along a Bezier curve, which is a smooth curve commonly used in path planning and can ensure that the robot reaches the end point smoothly. At the same time, the second robot continues to move forward along a straight path without being affected by the lane change or curve travel of the first robot.

[0179] The entire test process demonstrates the effectiveness of the path planning algorithm in dealing with dynamic path planning problems in a multi-robot environment. By reasonably planning the lane-changing points and travel trajectories, the algorithm can ensure that robots travel safely and efficiently in a limited space while reducing potential traffic conflicts. This test result is of great significance for optimizing the path planning strategy in multi-robot systems.

[0180] Referring to Figure 7 the multi-robot path planning test shown, from Figure 7 it can be observed that this embodiment conducts a search for passable paths for multiple robots based on obstacle markings in the case of 10 robots. The 10 robots work together, demonstrating the path planning ability in a complex environment. The test scenario simulates the multi-robot collaborative operation situations that may be encountered in actual applications, including the travel of robots in long corridors, intersections, and narrow passages.

[0181] During the testing process, the robot needs to effectively avoid static and dynamic obstacles while maintaining a safe distance. Figure 7 As shown in Figure 7 , the robot successfully achieved navigation and obstacle avoidance in different areas through precise path planning. Especially in the long corridor area, the robots coordinated their respective driving routes to avoid conflicts with each other and ensure the smooth flow of traffic. In addition, Figure 7 Figure 7 also demonstrated the robot's path adjustment ability when approaching the target point. By dynamically adjusting the driving trajectory, the robot can adapt to changes in the environment, such as the movement of other robots or suddenly emerging obstacles, and thus reach the destination safely and accurately.

[0182] These test results verified the effectiveness and robustness of the multi-robot path planning method proposed in this embodiment when dealing with high-density traffic flow. This method not only improves the efficiency of path planning but also enhances the robot's adaptability in a dynamic environment, providing technical support for the practical deployment of multi-robot systems.

[0183] In summary, the multi-robot path planning method provided by the embodiment of the present invention first constructs a target map of the physical space environment where the robots are located; wherein, the target map is the interference result of the SLAM map and the point map, and the obstacles in the physical space environment are marked in the target map; secondly, obtains the task parameters of the tasks to be assigned and the robot state information of multiple robots; determines the target tasks assigned to each robot according to the task parameters and the robot state information; then, based on the target map marked with obstacles, respectively plans the target paths for each robot to execute the target tasks.

[0184] The above solution can achieve task allocation and path planning in a complex environment. Among them, first determining the target tasks assigned to each robot and then planning the target paths specifically for the robots to execute the target tasks can make the planned target paths have a high degree of matching with the target tasks, which is conducive to reducing the implementation cost of the target tasks and improving the execution efficiency of the tasks. And, for path planning, the target map it uses is the interference result of the SLAM map and the point map. The SLAM map is a more refined obstacle grid map that can represent the physical space environment more accurately, and the point map facilitates the path planning of multiple robots through the topological results between its stations. Furthermore, based on the above target map marked with obstacles, respectively planning the target paths for each robot to execute the target tasks can significantly improve the accuracy of path planning and can be quickly applied to an environment with frequent changes, effectively enhancing the adaptability and robustness of the AGV system in a complex dynamic environment.

[0185] Corresponding to the above method embodiment, the embodiment of the present invention provides a multi-robot path planning system, as Figure 8 shown, the system includes the following modules:

[0186] A map construction module 501 for constructing a target map of the physical space environment where the robot is located; wherein, obstacles in the physical space environment are marked in the target map.

[0187] An information acquisition module 502 for acquiring task parameters of a task to be assigned and robot state information of multiple robots.

[0188] A task allocation module 503 for determining a target task assigned to each robot according to the task parameters and the robot state information.

[0189] A path planning module 504 for respectively planning a target path for each robot to execute the target task based on the target map marked with obstacles.

[0190] In some embodiments, the obstacles include static obstacles and dynamic obstacles; the map construction module 501 includes:

[0191] Modeling the physical space environment where the robot is located through a lidar to obtain a rasterized SLAM map; wherein, static obstacles in the physical space environment are marked in the SLAM map.

[0192] Analyzing the platform metadata of the platform map corresponding to the physical space environment and constructing a point map based on the platform metadata; wherein, platforms are marked as dynamic obstacles in the point map.

[0193] Performing interference processing on the SLAM map and the point map to obtain a target map; wherein, the interference processing includes: coordinate alignment and spatial discretization; the target map is stored in the form of key-value pairs, where the key represents the grid coordinates and the value represents the occupancy state of the grid and the distance to the nearest obstacle to the grid.

[0194] In some embodiments, the task allocation module 503 includes:

[0195] Obtaining the starting point and the ending point of the task to be assigned in the task parameters.

[0196] Judging whether there is a passable path from the starting point to the ending point in the target map according to the obstacles marked in the target map.

[0197] If there is, determining the target task assigned to each robot through a preset task allocation strategy and according to the robot state information and the task parameters.

[0198] In some embodiments, the path planning module 504 includes:

[0199] An acquisition unit for acquiring the target start point and the target end point of the target task to be executed by each of the robots;

[0200] A search unit for searching, according to the enhanced conflict-based search (ECBS) algorithm, within the range of the target map marked with obstacles, a discrete path from the target start point to the target end point for each of the robots;

[0201] An optimization unit for non-linearly optimizing the discrete path of each of the robots to obtain discrete trajectory points;

[0202] A segmentation and fitting unit for segmenting and fitting the discrete trajectory points of each of the robots to obtain a target path for executing the target task.

[0203] In some embodiments, the optimization unit includes:

[0204] Based on the discrete path of each of the robots, determining a robot triple with the closest distance within a time step;

[0205] Grouping and assigning priorities to the robots according to the occurrence frequency of the robot triple to obtain multiple robot combinations with priorities;

[0206] Sequentially taking each of the robot combinations as the current robot combination in the order of the priorities;

[0207] Taking the optimized path corresponding to the robot combination with a high priority as a collision constraint, and non-linearly optimizing the discrete paths of the robots within the current robot combination to obtain an optimized path.

[0208] In some embodiments, the segmentation and fitting unit includes:

[0209] For each of the robots, acquiring the trajectory information of the discrete trajectory points; wherein, the trajectory information at least includes: position;

[0210] Dividing multiple consecutive discrete trajectory points with the same position among the discrete trajectory points into a segmentation group;

[0211] Based on an adaptive segmentation algorithm based on error, dividing the discrete trajectory points with different positions into multiple sub-segments;

[0212] Fitting each of the sub-segments respectively to obtain trajectory segments;

[0213] Constructing the sequence and dependency relationship between the trajectory segments to obtain a target path for executing the target task.

[0214] In some embodiments, the system further includes a first action execution control module, which is used for:

[0215] Construct an action dependency graph; wherein, the vertices in the action dependency graph are used to represent the actions of the robot, and the edges in the action dependency graph are used to represent the dependency relationships between the actions;

[0216] During the process of each robot moving along its respective target path, control each robot to sequentially execute actions according to the action dependency graph.

[0217] In some embodiments, the system further includes a second action execution control module, which is used for:

[0218] In the case where the robot is simultaneously assigned multiple target tasks, obtain the expected actions of the robot in the current target task; wherein, the remaining execution time of the expected actions is greater than a preset planning time;

[0219] Construct a reverse action dependency graph, and perform reachability search on the expected actions in the reverse action dependency graph to obtain the set of actions to be completed by the robot between switching to a new target task;

[0220] Determine the last stop action executed by the robot in the set of actions;

[0221] The robot continues to execute the actions in the current target task until the stop action is completed, and then starts to execute the new target task.

[0222] The multi-robot path planning system provided in this embodiment has the same technical features as the multi-robot path planning method provided in the above embodiment, so it can also solve the same technical problems and achieve the same technical effects. For a brief description, for the parts not mentioned in the embodiment part, reference can be made to the corresponding content in the foregoing embodiment of the multi-robot path planning method.

[0223] This embodiment also provides an electronic device, and the structural schematic diagram of the electronic device is as Figure 9 shown. The device includes a processor 101 and a memory 102; wherein, the memory 102 is used to store one or more computer instructions, and the one or more computer instructions are executed by the processor to implement the above multi-robot path planning method.

[0224] Figure 9 The electronic device shown also includes a bus 103 and a communication interface 104, and the processor 101, the communication interface 104, and the memory 102 are connected through the bus 103.

[0225] Among them, the memory 102 may include high-speed random access memory (RAM), and may also include non-volatile memory, such as at least one disk memory. The bus 103 may be an ISA bus, a PCI bus, an EISA bus, etc. The bus may be divided into an address bus, a data bus, a control bus, etc. For the sake of representation, Figure 9 only a bidirectional arrow is used in Figure 9 , but it does not mean that there is only one bus or one type of bus.

[0226] The communication interface 104 is used to connect to at least one user terminal and other network units through a network interface, and send the encapsulated IPv4 packet or IPv4 packet to the user terminal through the network interface.

[0227] The processor 101 may be an integrated circuit chip with signal processing capabilities. In the implementation process, the steps of the above method may be completed by the integrated logic circuit in the hardware of the processor 101 or the instructions in the form of software. The above-mentioned processor 101 may be a general-purpose processor, including a central processing unit (CPU for short), a network processor (NP for short), etc.; it may also be a digital signal processor (DSP for short), an application specific integrated circuit (ASIC for short), a field programmable gate array (FPGA for short) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components. It can implement or execute the various methods, steps and logic block diagrams disclosed in the embodiments of the present disclosure. The general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc. The steps of the method disclosed in combination with the embodiments of the present disclosure may be directly embodied as being executed and completed by the hardware decoding processor, or executed and completed by the combination of the hardware and software modules in the decoding processor. The software module may be located in a mature storage medium in the art such as random access memory, flash memory, read-only memory, programmable read-only memory or electrically erasable programmable memory, register, etc. This storage medium is located in the memory 102, and the processor 101 reads the information in the memory 102 and combines its hardware to complete the steps of the method in the foregoing embodiments.

[0228] The embodiment of the present invention also provides a readable storage medium, on which a computer program is stored, and when the computer program is run by a processor, it executes the steps of the multi-robot path planning method in the foregoing embodiments.

[0229] In several embodiments provided by the present application, it should be understood that the disclosed systems, devices, and methods can be implemented in other ways. The device embodiments described above are merely illustrative. For example, the division of the units is only a logical function division. In actual implementation, there may be other division methods. For another example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed couplings or direct couplings or communication connections to each other can be through some communication interfaces. The indirect couplings or communication connections of devices or units can be in electrical, mechanical, or other forms.

[0230] The units described as separate components may or may not be physically separated. The components displayed as units may or may not be physical units, that is, they can be located in one place or distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0231] In addition, in each embodiment of the present invention, the functional units can be integrated in a processing unit, or each unit can exist physically alone, or two or more units can be integrated in one unit.

[0232] If the function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a non-volatile computer-readable storage medium executable by a processor. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or a part of this technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in each embodiment of the present invention. The foregoing storage medium includes: various media such as USB flash drives, mobile hard disks, read-only memories (ROM, Read-Only Memory), random access memories (RAM, Random Access Memory), magnetic disks, or optical discs that can store program codes.

[0233] Finally, it should be noted that the above-described embodiments are only specific embodiments of the present invention, used to illustrate the technical solutions of the present invention, rather than limiting it. The protection scope of the present invention is not limited thereto. Although the present invention has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that any person skilled in the art within the technical scope disclosed by the present invention can still modify the technical solutions described in the foregoing embodiments or can easily think of changes, or make equivalent replacements for some of the technical features; and these modifications, changes or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present invention, and should all be covered within the protection scope of the present invention. Therefore, the protection scope of the present invention should be subject to the protection scope of the claims.

Claims

1. A multi-robot path planning method, characterized in that, The method includes the following steps: Construct a target map of the physical space environment where the robot is located; wherein, the target map is the interference result of a SLAM map and a point position map, and obstacles in the physical space environment are marked in the target map; Obtain the task parameters of the task to be assigned and the robot state information of multiple robots; Determine the target task assigned to each robot according to the task parameters and the robot state information; Based on the target map marked with obstacles, plan a target path for each robot to execute the target task respectively.

2. The method according to claim 1, characterized in that, The obstacles include static obstacles and dynamic obstacles; constructing the target map of the physical space environment where the robot is located includes: Model the physical space environment where the robot is located through a lidar to obtain a rasterized SLAM map; wherein, static obstacles in the physical space environment are marked in the SLAM map; Parse the station metadata of the station map corresponding to the physical space environment, and construct a point position map based on the station metadata; wherein, the station is marked as a dynamic obstacle in the point position map; Perform interference processing on the SLAM map and the point position map to obtain a target map; wherein, the interference processing includes: coordinate alignment and spatial discretization; the target map is stored in the form of key-value pairs, the key represents the grid coordinates, and the value represents the occupancy state of the grid and the distance to the nearest obstacle of the grid label.

3. The method according to claim 1, characterized in that The determining the target task assigned to each robot according to the task parameters and the robot state information includes: Obtain the starting point and the ending point of the task to be assigned in the task parameters, Judge whether there is a passable path from the starting point to the ending point in the target map according to the obstacles marked in the target map; If it exists, determine the target task assigned to each robot through a preset task assignment strategy and according to the robot state information and the task parameters.

4. The method according to claim 1, characterized in that, The planning the target path for each robot to execute the target task respectively based on the target map marked with obstacles includes: Obtain the target starting point and the target ending point of the target task to be executed by each robot; According to the enhanced conflict-based search ECBS algorithm, search for a discrete path from the target starting point to the target ending point for each robot within the range of the target map marked with obstacles; Perform non-linear optimization on the discrete path of each robot to obtain discrete trajectory points; Perform segmentation and fitting on the discrete trajectory points of each robot to obtain a target path for executing the target task.

5. The method according to claim 4, wherein The performing non-linear optimization on the discrete path of each robot to obtain an optimized path includes: Based on the discrete path of each robot, determine the robot triple with the closest distance within a time step; Group and assign priorities to the robots according to the occurrence frequency of the robot triple to obtain multiple robot combinations with priorities; Sequentially take each of the robot combinations as the current robot combination in the order of the described priorities; Use the optimized path corresponding to the robot combination with a higher priority as a collision constraint, and perform non-linear optimization on the discrete paths of the robots within the current robot combination to obtain an optimized path.

6. The method according to claim 4, characterized in that The segmentation and fitting of the discrete trajectory points of each robot to obtain the target path for performing the target task includes: For each robot, obtain the trajectory information of the discrete trajectory points; wherein, the trajectory information at least includes: position; Divide multiple consecutive discrete trajectory points with the same position among the discrete trajectory points into a segmentation group; Based on an adaptive segmentation algorithm for error, divide the discrete trajectory points with different positions among the discrete trajectory points into multiple sub-segments; Fit each of the sub-segments respectively to obtain trajectory segments; Construct the sequence and dependency relationship between the trajectory segments to obtain the target path for performing the target task.

7. The method according to claim 1, characterized in that The method further includes: Construct an action dependency graph; wherein, the vertices in the action dependency graph are used to represent the actions of the robots, and the edges in the action dependency graph are used to represent the dependency relationship between the actions; During the process of each robot moving along its respective target path, control each robot to sequentially execute actions according to the action dependency graph.

8. The method according to claim 1, wherein The method further includes: In the case where multiple target tasks are simultaneously assigned to the robot, obtain the expected action of the robot in the current target task; wherein, the remaining execution time of the expected action is greater than a preset planning time; Construct a reverse action dependency graph, and perform reachability search on the expected action in the reverse action dependency graph to obtain the set of actions to be completed by the robot between switching to a new target task; Determine the last stop action executed by the robot in the set of actions; The robot continues to execute the actions in the current target task until the stop action is completed, and then starts to execute the new target task.

9. A multi-robot path planning system, characterized in that, The system includes the following modules: A map construction module for constructing a target map of the physical space environment where the robot is located; wherein, obstacles in the physical space environment are marked in the target map; An information acquisition module for acquiring the task parameters of the task to be assigned and the robot state information of multiple robots; A task assignment module for determining the target task assigned to each robot according to the task parameters and the robot state information; A path planning module for respectively planning the target path for each robot to perform the target task based on the target map marked with obstacles.

10. An electronic device, characterized in that, Including: A processor and a storage device; a computer program is stored on the storage device, and when the computer program is run by the processor, the steps of the multi-robot path planning method according to any one of claims 1 to 8 above are implemented.

Citation Information

Patent Citations

  • Method and system applied to scheduling and path finding of AGV cluster

    CN110531767A

  • Multi-robot path planning method

    CN115437364A

  • Cooperative scheduling method for multi-task allocation and multi-robot path planning with kinematics constraint

    CN116880507A

  • Air-ground collaborative intelligent auxiliary driving navigation method and collaborative system

    CN118408545A

  • A multi-robot path planning method, device, equipment and storage medium

    CN119756396A

Cited By

  • Battery replacement scheduling method and system for unmanned mine car

    CN121032141A