Multi-robot-based path planning methods and related equipment
By generating a set of topological nodes to construct and segment the environmental topology map, the problem of obstacle interference in multi-robot exploration path planning is solved, the optimal path is generated, and the efficiency of multi-robot exploration is improved.
Patent Information
- Application Number
- CN202511359437.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-09-23
- Publication Date
- 2025-12-02
- Estimated Expiration
- 2045-09-23
AI Technical Summary
Existing exploration path planning methods, in environments containing non-convex obstacles, cause robots to choose suboptimal paths to bypass obstacles or fail to find effective paths, reducing the efficiency of multi-robot exploration.
By generating a set of topological nodes, a first environmental topology map is constructed. Based on the second environmental topology map synchronized with adjacent robots, the first environmental topology map is segmented and an exploration path is planned. The nodes in the topology node set do not overlap with the point cloud information and the distance difference is less than the noise tolerance parameter. They are located in the middle of the obstacles to avoid obstacle interference.
This technology improves the efficiency of multi-robot exploration by fully considering obstacle interference, generating optimal paths, and solving the obstacle interference problem that has not been addressed in existing technologies.
Smart Images

Figure CN120846349B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of robot control technology, and in particular to a path planning method and related equipment based on multiple robots. Background Technology
[0002] Existing exploration path planning methods typically use Euclidean Voronoi partitioning for exploration task allocation, which uses the straight-line (Euclidean) distance between two points to determine the boundaries of each region. However, in environments containing non-convex obstacles, due to the interference of obstacles, directly applying the Euclidean Voronoi partitioning method for exploration task allocation may cause the robot to choose a suboptimal path to bypass the obstacles, or it may be unable to find an effective path to some regions at all, thus reducing the efficiency of multi-robot exploration. Summary of the Invention
[0003] The main purpose of this application is to provide a multi-robot-based path planning method and related equipment, which aims to solve the technical problem of reduced exploration efficiency of multi-robots.
[0004] To achieve the above objectives, this application proposes a multi-robot-based path planning method, which includes:
[0005] Based on the point cloud information at the current location, a set of topological nodes is generated that has a distance difference of less than a noise tolerance parameter with at least one pair of point clouds in the point cloud information, wherein the point cloud information includes obstacle information, and the nodes in the set of topological nodes do not overlap with the point clouds in the point cloud information.
[0006] Based on the aforementioned set of topological nodes, a first environmental topology graph is constructed;
[0007] The received second environmental topology map synchronized with the adjacent robots is fused with the first environmental topology map to obtain the fused target environmental topology map.
[0008] The target environment topology is segmented, and an exploration path is planned based on the segmented set of exploration task nodes belonging to the local area.
[0009] In one embodiment, the step of constructing a first environmental topology graph based on the set of topology nodes includes:
[0010] Select any two nodes from the set of topological nodes and connect the nodes to obtain a straight line between them;
[0011] Multiple sample points are selected from the straight lines between the nodes, and it is determined whether the distance between the sample points and the point cloud in the point cloud information is greater than a preset safe distance.
[0012] If the distance between the sample point and the point cloud is greater than the preset safe distance, then a first environmental topology map is constructed based on the straight lines between the nodes and the set of topological nodes.
[0013] In one embodiment, the step of segmenting the target environment topology map and planning an exploration path based on the segmented set of exploration task nodes belonging to the local area includes:
[0014] The topology node corresponding to the local location in the target environment topology map is taken as the first center node, and the topology node corresponding to the robot that shares a common exploration boundary with the adjacent robots is taken as the second center node.
[0015] Traverse all topological nodes in the target environment topology graph that do not include the first central node and the second central node, take the traversed topological nodes as target nodes, and calculate the first graph search distance from the target node to the first central node;
[0016] Calculate the second graph search distance from the target node to the second center node;
[0017] A target weight is determined from a preset set of weight values, and it is determined whether the difference between the search distance of the first image and the search distance of the second image is less than the target weight, wherein the target weight represents the distance deviation between the local robot and the neighboring robot;
[0018] If the difference is less than the target weight, the regions corresponding to the target node and the first central node are divided, and an exploration path is planned based on the set of exploration task nodes belonging to the local area after the division.
[0019] In one embodiment, the step of segmenting the regions corresponding to the target node and the first central node if the difference is less than the target weight, and then planning an exploration path based on the segmented set of exploration task nodes belonging to the local area, includes:
[0020] The sum of graph search distances from the first central node to the remaining nodes in the exploration task node set is calculated to obtain the first task load;
[0021] Obtain the second task load of the robot that shares an exploration boundary with the local area;
[0022] The load difference is obtained based on the first task load and the second task load;
[0023] If the absolute value of the load difference is greater than a preset difference threshold, then the weight change is determined based on the load difference, and the target weight is updated based on the weight change.
[0024] When the change in weight equals a preset threshold, the target environment topology is re-segmented based on the updated weight, and the exploration path is re-planned based on the re-segmented set of exploration task nodes belonging to the local area.
[0025] In one embodiment, the step of segmenting the target environment topology map and planning an exploration path based on the segmented set of exploration task nodes belonging to the local area includes:
[0026] The exploration is carried out based on the exploration path. If new point cloud information is obtained during the exploration, the target environment topology map is updated based on the new point cloud information.
[0027] The updated target environment topology map is segmented to obtain a segmented set of exploration task nodes belonging to the local area;
[0028] Based on the segmented set of exploration task nodes, the exploration path is replanned.
[0029] In one embodiment, the step of exploring based on the exploration path further includes:
[0030] Based on broadcast communication, obtain the newly added topology nodes sent by the adjacent robots;
[0031] Based on the newly added topology nodes, update the target environment topology map.
[0032] Furthermore, to achieve the above objectives, this application also proposes a multi-robot-based path planning device, which includes:
[0033] A generation module is used to generate a set of topological nodes based on point cloud information at the current location, wherein the distance difference between the node set and at least one pair of point clouds in the point cloud information is less than a noise tolerance parameter, wherein the point cloud information includes obstacle information, and the nodes in the set of topological nodes do not overlap with the point clouds in the point cloud information.
[0034] A construction module is used to construct a first environmental topology graph based on the set of topology nodes;
[0035] The supplementary module is used to fuse the received second environmental topology map synchronized with the adjacent robot with the first environmental topology map to obtain the fused target environmental topology map.
[0036] The segmentation module is used to segment the target environment topology map and plan an exploration path based on the segmented set of exploration task nodes belonging to the local area.
[0037] Furthermore, to achieve the above objectives, this application also proposes a multi-robot-based path planning device, the device comprising: a memory, a processor, and a computer program stored in the memory and executable on the processor, the computer program being configured to implement the steps of the multi-robot-based path planning method described above.
[0038] In addition, to achieve the above objectives, this application also proposes a storage medium, which is a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, it implements the steps of the multi-robot-based path planning method described above.
[0039] In addition, to achieve the above objectives, this application also provides a computer program product, which includes a computer program that, when executed by a processor, implements the steps of the multi-robot-based path planning method described above.
[0040] One or more technical solutions proposed in this application have at least the following technical effects:
[0041] In contrast to related technologies, where obstacles interfere with exploration task allocation, directly applying Euclidean Voronoi partitioning may lead to robots choosing suboptimal paths to bypass obstacles or failing to find effective paths to certain areas, thus reducing the efficiency of multi-robot exploration. This application constructs a first environmental topology map using a generated set of topological nodes, and then segments the target environment topology map obtained by supplementing the first environmental topology map based on a second environmental topology map synchronized with adjacent robots. Exploration paths are planned based on the segmented set of exploration task nodes belonging to the local area. Since the nodes in the topological node set do not overlap with the point clouds in the point cloud information, and the distance difference between them and at least one pair of point clouds does not exceed the noise tolerance parameter (i.e., the distances to at least one pair of point clouds are approximately equal), the nodes in the topological point cloud are located in the middle of two obstacles, i.e., points far from the obstacles. Therefore, the first environmental topology map determined by the topological node set fully considers obstacle interference, and the exploration path planning is performed using the exploration task nodes obtained from the segmented overall target environment topology map updated by the second environmental topology map synchronized with adjacent robots. This avoids obstacle interference, generates optimal paths, and improves the exploration efficiency of multi-robots. Attached Figure Description
[0042] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.
[0043] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0044] Figure 1 This is a flowchart illustrating an embodiment of the multi-robot-based path planning method of this application.
[0045] Figure 2 This is the synchronized global topology map of the multi-robot path planning method in this application;
[0046] Figure 3 This is a comparison of the converged weighted graph topology partitioning of the multi-robot-based path planning method in this application with that of traditional methods.
[0047] Figure 4 This is a comparison diagram of the exploration paths of the multi-robot-based path planning method in this application;
[0048] Figure 5 This is a flowchart illustrating Embodiment 2 of the multi-robot-based path planning method of this application;
[0049] Figure 6 This is a schematic diagram of the module structure of the multi-robot path planning device according to an embodiment of this application;
[0050] Figure 7 This is a schematic diagram of the device structure of the hardware operating environment involved in the multi-robot-based path planning method in the embodiments of this application.
[0051] The purpose, features, and advantages of this application will be further explained in conjunction with the embodiments and with reference to the accompanying drawings. Detailed Implementation
[0052] It should be understood that the specific embodiments described herein are merely illustrative of the technical solutions of this application and are not intended to limit this application.
[0053] To better understand the technical solution of this application, a detailed description will be provided below in conjunction with the accompanying drawings and specific implementation methods.
[0054] The main solution of this application embodiment is as follows: Based on the point cloud information of the current location, a set of topological nodes is generated whose distance difference with at least one pair of point clouds in the point cloud information is less than the noise tolerance parameter, wherein the point cloud information includes obstacle information, and the nodes in the topological node set do not overlap with the point clouds in the point cloud information; a first environmental topology map is constructed based on the topological node set; the received second environmental topology map synchronized with adjacent robots is fused with the first environmental topology map to obtain a fused target environmental topology map; the target environmental topology map is segmented, and an exploration path is planned based on the segmented set of exploration task nodes belonging to the local area.
[0055] Existing exploration path planning methods typically use Euclidean Voronoi partitioning for exploration task allocation, which uses the straight-line (Euclidean) distance between two points to determine the boundaries of each region. However, in environments containing non-convex obstacles, due to the interference of obstacles, directly applying the Euclidean Voronoi partitioning method for exploration task allocation may cause the robot to choose a suboptimal path to bypass the obstacles, or it may be unable to find an effective path to some regions at all, thus reducing the efficiency of multi-robot exploration.
[0056] This application constructs a first environmental topology map by generating a set of topological nodes, and segments the target environmental topology map obtained by supplementing the first environmental topology map based on a second environmental topology map synchronized with adjacent robots. It then plans an exploration path based on the segmented set of exploration task nodes belonging to the local area. Since the nodes in the topology node set do not overlap with the point clouds in the point cloud information including obstacle information, and the distance difference between them and at least one pair of point clouds does not exceed the noise tolerance parameter (i.e., the distances to at least one pair of point clouds are approximately equal), the nodes in the topology point cloud are located in the middle of two obstacles, i.e., points far from the obstacles. Therefore, the first environmental topology map determined by the topology node set fully considers the interference of obstacles, and the exploration path planning is performed using the exploration task nodes obtained by segmenting the overall target environmental topology map updated by the second environmental topology map synchronized with adjacent robots. This allows for avoiding obstacle interference, generating the optimal path, and improving the exploration efficiency of multiple robots.
[0057] It should be noted that the executing entity in this embodiment can be a computing service device with data processing, network communication, and program execution functions, such as a tablet computer, personal computer, or mobile phone; or an electronic device capable of performing the above functions, such as a multi-robot-based path planning device, wherein the multi-robot-based path planning device is subordinate to the multi-robot-based path planning device.
[0058] Based on this, embodiments of this application provide a path planning method based on multiple robots, referring to... Figure 1 , Figure 1 This is a flowchart illustrating the first embodiment of the multi-robot-based path planning method of this application.
[0059] In this embodiment, the multi-robot-based path planning method includes steps S100~S400:
[0060] Step S100: Based on the point cloud information at the current location, generate a set of topological nodes whose distance difference with at least one pair of point clouds in the point cloud information is less than the noise tolerance parameter, wherein the point cloud information includes obstacle information, and the nodes in the set of topological nodes do not overlap with the point clouds in the point cloud information.
[0061] It should be noted that the multi-robot-based path planning device can be a target robot, which can be selected from any of the multiple robots performing the exploration task. The following description uses a target robot as an example to illustrate this embodiment and the subsequent embodiments.
[0062] Additionally, it should be noted that the target robot is equipped with distance sensors, which may include LiDAR, millimeter-wave radar, and depth cameras. The noise tolerance parameter represents the tolerance for distance noise. The point cloud information is three-dimensional point cloud information, which may also include boundary information to limit the robot's exploration area. In three-dimensional space, the target robot acquires point cloud data of its surrounding environment through the equipped distance sensors. This point cloud data consists of a set of points in three-dimensional space measured by the sensors. Each point contains distance information and its corresponding coordinates, thus representing the position and shape of objects in the environment. For each point measured by the sensor, its position in space can be represented by a three-dimensional coordinate system. Specifically, as shown below:
[0063]
[0064] in, These represent the point cloud position information obtained by the distance sensor in three-dimensional space.
[0065] Furthermore, the target robot generates topological nodes in continuous space using Voronoi boundary conditions. Furthermore, the node does not overlap with the point cloud of obstacles. Specifically, the node must meet the following conditions:
[0066]
[0067] in, Point cloud information acquired for the target robot. Represents Euclidean distance. This represents the tolerance for distance noise parameters.
[0068] Furthermore, the target robot is based on all the points found. Together they constitute the topology node set In this context, any node possesses the property that: there are two obstacle point clouds in the current space whose distances to that node are within a certain range. Within the sphere, nodes are approximately equal, meaning they are located in approximately equidistant regions between obstacle point clouds, but a certain deviation is allowed (due to...). These topological nodes (for control) constitute a safe channel for robot navigation, away from obstacles and with a certain degree of redundancy.
[0069] It is understandable that, since the nodes in the topological node set do not overlap with the point cloud information including obstacle information, and the distance difference between them and at least one pair of point clouds does not exceed a preset distance threshold, i.e., the distance between them and at least one pair of point clouds is approximately equal, the nodes in the topological point cloud are located in the middle position between two obstacles, i.e., points far away from the obstacles. Therefore, the first environmental topology map determined by the topological node set fully considers the interference of obstacles. Thus, by performing step S100, the interference of obstacles during path planning can be avoided, thereby improving the exploration efficiency of multiple robots.
[0070] Step S200: Based on the set of topological nodes, construct a first environmental topology graph;
[0071] It should be noted that the environmental topology map reflects a structured representation of the free space (space without collisions with obstacles) in the target robot's environment, and can be used for tasks such as path planning, navigation, and map understanding. The target robot is based on a set of topological nodes. Construct the first environmental topology map from the perspective of the current target robot.
[0072] Step S300: The received second environmental topology map synchronized with the adjacent robot is fused with the first environmental topology map to obtain the fused target environmental topology map.
[0073] Understandably, the second environment topology map is a structural representation of the free space in the environments of other robots. The target robot obtains the second environment topology map from other robots, and after fusion and adjustment, forms the final target environment topology map.
[0074] Step S400: Segment the target environment topology map and plan an exploration path based on the segmented set of exploration task nodes belonging to the local area.
[0075] It should be noted that the exploration path is the route the robot takes to complete its exploration task in an unknown or partially known environment. The target robot divides the overall target environment topology into multiple sub-regions so that it can focus on exploring within its local region and plan its local exploration path based on the exploration task nodes within that region.
[0076] In one feasible implementation, step S200 may include the following steps:
[0077] Select any two nodes from the set of topological nodes and connect the nodes to obtain a straight line between them;
[0078] It is understandable that a straight line between nodes is a straight path between the two nodes. The target robot arbitrarily selects two nodes from the set of topological nodes and generates a straight path connecting the two nodes.
[0079] Multiple sample points are selected from the straight lines between the nodes, and it is determined whether the distance between the sample points and the point cloud in the point cloud information is greater than a preset safe distance.
[0080] It should be noted that the preset safety distance is a key parameter to ensure that the robot can safely avoid obstacles when performing tasks. This preset safety distance can be dynamically adjusted according to actual needs. The target robot uniformly selects multiple sample points along the straight path between the two nodes. For each sample point, it calculates whether the distance from it to all points in the point cloud information is greater than the preset safety distance. Since the point cloud information reflects obstacle information, by determining whether the distance from these sample points to the nearest point in the point cloud is greater than the preset safety distance, it ensures that the robot will not encounter any obstacles when moving along the path.
[0081] Furthermore, the determination of the preset safety distance can take into account various factors, such as hardware limitations, dynamic characteristics, environmental characteristics, and task requirements.
[0082] The specific factor definitions are as follows:
[0083] 1. Hardware limitations
[0084] Sensor accuracy: Since different types of sensors (such as LiDAR, millimeter-wave radar and depth cameras) have different measurement error ranges, the preset safety distance should take into account the maximum possible error of the sensor to increase the additional safety distance. For example, if the maximum error of LiDAR is ±5cm, then at least this value needs to be added as an additional safety margin to ensure that even if there is a certain measurement error, it will not lead to a collision.
[0085] Physical dimensions: This includes the dimensions of the robot itself and any parts that may extend outwards (such as robotic arms); Safety distances should be determined based on the maximum extension distance of the robot and all its attachments in any direction, and safety distances should be set accordingly. For robots with retractable or rotating parts, the maximum duty cycle of these parts in various operating states should be considered to ensure sufficient safety clearance.
[0086] 2. Dynamic characteristics
[0087] Speed: Fast-moving robots require greater safety distances to cope with suddenly appearing obstacles. This is because higher speeds mean shorter reaction times; for example, safety distances are determined based on travel distance and braking distance.
[0088] Acceleration and deceleration capabilities: If the robot has strong acceleration or deceleration capabilities, then the safety distance can be appropriately reduced; otherwise, it needs to be increased.
[0089] 3. Environmental characteristics
[0090] Terrain complexity: In environments with complex or variable terrain (such as forests and construction sites), due to the potential for unforeseen obstacles or abrupt changes in terrain, a larger safety distance is required to handle unexpected situations. Sensors can also be used to monitor the terrain ahead in real time and dynamically adjust the safety distance based on changes in the terrain. For example, when approaching the edge of a cliff or unstable ground, the safety distance can be automatically increased to prevent falls or other hazards.
[0091] Obstacle Type: Since different types of obstacles pose varying degrees of threat to robots, the safety distance needs to be adjusted according to the characteristics of different obstacle types. For large, stationary obstacles, a smaller safety distance can be used because their positions are relatively fixed; however, for small obstacles that may move (such as pedestrians or animals), the behavior of these obstacles is unpredictable and they may suddenly change direction or speed, increasing the risk of collision, thus requiring a larger buffer zone, i.e., a larger safety distance.
[0092] If the distance between the sample point and the point cloud is greater than the preset safe distance, then a first environmental topology map is constructed based on the straight lines between the nodes and the set of topological nodes.
[0093] It should be noted that if the target robot determines that the distance between all sample points and the point cloud is greater than the preset safe distance, then this straight line segment represents a safe path, and the set of topological edges is determined based on the safe path. Then based on the set of topological edges and the set of topological nodes Construct the first environment topology graph. Specifically, the first environment topology graph is represented as an undirected graph:
[0094]
[0095] In one feasible implementation, step S400 includes the following steps:
[0096] The topology node corresponding to the local location in the target environment topology map is taken as the first center node, and the topology node corresponding to the robot that shares a common exploration boundary with the adjacent robots is taken as the second center node.
[0097] Understandably, the first central node is the topological node closest to the target robot's location. The second central node is the topological node closest to the locations of other robots. In the target environment's topology map, the target robot finds the topological node closest to its current location, which becomes the first central node. The second central node is determined based on the positions of other adjacent robots sharing a common exploration boundary with the target robot in the topology map.
[0098] Traverse all topological nodes in the target environment topology graph that do not include the first central node and the second central node, take the traversed topological nodes as target nodes, and calculate the first graph search distance from the target node to the first central node;
[0099] It should be noted that the target node is an unassigned topological node in the target environment's topology graph. Graph search distance refers to the path length between nodes in the environment's topology graph, i.e., the distance between edges. The target robot randomly selects an unassigned topological node from the topology graph and uses a graph search algorithm (such as Dijkstra, A*, or BFS) to calculate the path length from the target node to the first center node.
[0100] Calculate the second graph search distance from the target node to the second center node;
[0101] Understandably, the target robot uses a graph search algorithm to calculate the path length from the target node to the second central node.
[0102] A target weight is determined from a preset set of weight values, and it is determined whether the difference between the search distance of the first image and the search distance of the second image is less than the target weight, wherein the target weight represents the distance deviation between the local robot and the neighboring robot;
[0103] It should be noted that the target robot is determined in advance based on the number of robots. Establish Group weighted graph Voronoi set and Group split set ,in, Indicates the sequence number is The central node of the weighted graph Voronoi corresponding to the robot. Indicates the sequence number is The weights of the Voronoi diagram corresponding to the robot, where, The weight set in the code is used to adjust the distance deviation between the local robot and other robots; that is, there is a distance deviation weight between the target robot and each other robot. Represents the set of nodes that are split. This represents the set of nodes that cannot be classified. Since the set of nodes that cannot be classified may be nodes in a dead end, no processing is performed on the set of nodes that cannot be classified.
[0104] Additionally, it should be noted that the target robot, based on the target weight corresponding to the distance deviation of different robots, sequentially determines whether the difference between the search distance of the first image and the search distance of the second image is less than the target weight, and then determines whether the unassigned topology node belongs to the local area.
[0105] Specifically, the target robot for any node To belong to the local area, the following inequalities must be satisfied. ,Right now, ,in, This represents the graph search distance along the graph topology.
[0106] Furthermore, after receiving the synchronized second environment topology map from other robots, the target robot, when updating the second environment topology map, will identify robots that share a common exploration boundary with the local robot. It will only calculate the difference between the search distance in the second map and the search distance in the first map for robots with a common exploration boundary, thereby determining whether a node belongs to the local robot. Since the number of nodes in the topology map can be large, comparing the distance to each robot across robots would rapidly increase the computational load. Moreover, most nodes are either very close to the local robot or very far from remote robots, making their affiliation very clear. Only nodes in the boundary region have a problem with ambiguous affiliation. Therefore, by simply determining affiliation based on the weight corresponding to the distance deviation between the local robot and robots with a common exploration boundary, the efficiency of node affiliation determination can be improved, thereby enhancing the multi-robot exploration efficiency.
[0107] If the difference is less than the target weight, the regions corresponding to the target node and the first central node are divided, and an exploration path is planned based on the set of exploration task nodes belonging to the local area after the division.
[0108] Understandably, if the target robot determines that the difference between the search distance of the first image and the search distance of the second image is less than the target weight, it will assign the nodes that meet the above conditions to the area under the responsibility of the local robot and plan the exploration path based on the above nodes.
[0109] In one feasible implementation, if the difference is less than the target weight, the region corresponding to the target node and the first central node is segmented, and the exploration path is planned based on the segmented set of exploration task nodes belonging to the local area, followed by the following steps:
[0110] The sum of graph search distances from the first central node to the remaining nodes in the exploration task node set is calculated to obtain the first task load;
[0111] It should be noted that the target robot calculates the sum of the graph search distances from its local central node to all local task nodes to obtain the first task load. Specifically, the task load calculation formula is as follows:
[0112]
[0113] in, express The current sequence number is The exploration task load corresponding to the robot.
[0114] Obtain the second task load of the robot that shares an exploration boundary with the local area;
[0115] Understandably, the target robot obtains its second task payload by communicating with a robot that shares a common exploration boundary with it locally.
[0116] The load difference is obtained based on the first task load and the second task load;
[0117] It should be noted that the target robot calculates the difference between the workload of the first task and the workload of the second task to obtain the workload difference. Specifically, the formula for calculating the workload difference is:
[0118]
[0119] If the absolute value of the load difference is greater than a preset difference threshold, then the weight change is determined based on the load difference, and the target weight is updated based on the weight change.
[0120] Understandably, the preset difference threshold is a key parameter used to determine whether task allocation weights need to be adjusted. If the target robot determines that the absolute value of the load difference is greater than the preset difference threshold, it indicates a task imbalance, requiring weight adjustment. Based on the obtained load difference, the weight change is calculated, and the target weights are updated. Specifically, the formula for calculating the weight change is:
[0121]
[0122] in, Indicates the iteration step size. This represents the tolerance threshold parameter for exploration equilibrium, i.e., the preset difference threshold.
[0123] The target weight update formula is:
[0124]
[0125] When the change in weight equals a preset threshold, the target environment topology is re-segmented based on the updated weight, and the exploration path is re-planned based on the re-segmented set of exploration task nodes belonging to the local area.
[0126] It should be noted that the preset threshold for change can be set to 0. When When the value is 0, it means that the exploration task load has converged to equilibrium. The target robot then re-determines the node affiliation and divides the region based on the updated weights, using the newly divided local task node set. Then, the path planning algorithm is called again to replan the path.
[0127] Specifically, if the target robot is in an unknown two-dimensional indoor environment of 30m × 30m, containing some fixed obstacle walls, and three robots are deployed in this unknown two-dimensional indoor environment to explore and build its planar structure map, each of the three robots uses an onboard distance sensor to autonomously perceive the environment and construct a topology map, and performs lightweight topology map synchronization with each other. The synchronized global topology map is as follows: Figure 2 As shown.
[0128] Then, each robot performs weighted graph Voronoi partitioning iterations based on the synchronized global topology map until the iterations converge. The comparison results of the converged weighted graph topology partitioning with the traditional method are shown in the figure below. Figure 3 As shown.
[0129] Finally, based on the weighted graph topology partitioning results, the exploration tasks were assigned, and the three robots planned their own exploration paths. The results of these paths were compared with those of traditional methods, as follows: Figure 4 As shown, Figure 4A comparison map of exploration paths is provided, from Figure 4 As can be seen, after implementing the exploration path planning method described in this invention, the robot's exploration path is effectively shortened, greatly improving the efficiency of multi-robot collaborative exploration.
[0130] In this embodiment, obstacle constraints can be considered in real time by using topology-guided Voronoi partitioning of the graph, and exploration tasks can be allocated in a systematic way to improve the exploration efficiency of multiple robots. Moreover, different robots only need to communicate with lightweight topology maps, without communicating with point clouds or voxel maps, which greatly reduces communication bandwidth.
[0131] Based on the first embodiment of this application, in the second embodiment of this application, the content that is the same as or similar to that in the first embodiment described above can be referred to the above description, and will not be repeated hereafter. Based on this, please refer to... Figure 5 After step S400, the multi-robot-based path planning method further includes steps S01 to S03:
[0132] Step S01: Explore based on the exploration path. If new point cloud information is obtained during the exploration, update the target environment topology map based on the new point cloud information.
[0133] It should be noted that the new point cloud information can reflect newly appearing obstacles, previously undetected areas, and changes in connectivity between certain nodes in the map. The target robot moves along the exploration path and uses distance sensors to collect new point cloud information, updating the target environment topology map.
[0134] Step S02: Segment the updated target environment topology map to obtain the segmented set of exploration task nodes belonging to the local area;
[0135] Understandably, the target robot can re-segment the target environment topology based on the updated topology map and re-establish which nodes belong to the local exploration task node set.
[0136] Step S03: Based on the segmented set of exploration task nodes, replan the exploration path.
[0137] It should be noted that the target robot can re-plan its path using a new set of local task nodes.
[0138] In one feasible implementation, the step of exploring based on the exploration path further includes the following step:
[0139] Based on broadcast communication, obtain the newly added topology nodes sent by the adjacent robots;
[0140] Understandably, to ensure all robots receive newly added topology node information, a broadcast communication mechanism can be used. In a robot network, each robot can periodically broadcast information about newly discovered nodes via a wireless communication module (such as Wi-Fi, ZigBee, etc.), maintaining high communication robustness even in the event of network topology changes or node failures. The target robot incrementally updates each robot solely through broadcast communication. The set of newly added nodes at any time With edge set This means that only the parts that have changed are adjusted locally rather than the entire graph structure is rebuilt, which improves the efficiency of topological map reconstruction.
[0141] Furthermore, since the multi-robot exploration task allocation framework of this application is a distributed framework, each robot in the multi-robot system performs the steps of the multi-robot path planning method. Each robot plans a safe path based on the local map according to its calculated local task area, while avoiding path conflicts with other robots. Moreover, through the distributed framework, there is no need for a centralized server or to establish stable global communication, which improves the robustness of the multi-robot system.
[0142] Based on the newly added topology nodes, update the target environment topology map.
[0143] It should be noted that when the target robot receives information about newly added topology nodes broadcast by other robots, it needs to process this information and update the target environment topology map stored locally.
[0144] In this embodiment, only the changed parts are locally adjusted instead of the entire graph structure is reconstructed, which improves the efficiency of topology map reconstruction. Furthermore, the distributed framework is used for exploration task allocation, which does not require a centralized server or the establishment of stable global communication, thus improving the robustness of the multi-robot system.
[0145] It should be noted that the above examples are only for understanding this application and do not constitute a limitation on the multi-robot-based path planning method of this application. Any simple modifications based on this technical concept are within the protection scope of this application.
[0146] This application also provides a path planning device based on multiple robots, please refer to... Figure 6 The multi-robot-based path planning device includes:
[0147] The generation module 10 is used to generate a set of topological nodes based on the point cloud information at the current location, wherein the distance difference between the node and at least one pair of point clouds in the point cloud information is less than the noise tolerance parameter, wherein the point cloud information includes obstacle information, and the nodes in the set of topological nodes do not overlap with the point clouds in the point cloud information.
[0148] Construction module 20 is used to construct a first environmental topology graph based on the set of topology nodes;
[0149] Supplementary module 30 is used to fuse the received second environmental topology map synchronized with the first environmental topology map to obtain a fused target environmental topology map.
[0150] The segmentation module 40 is used to segment the target environment topology map and plan an exploration path based on the segmented set of exploration task nodes belonging to the local area.
[0151] Optionally, the building module includes:
[0152] The connection submodule is used to select any two nodes from the topology node set and connect the nodes to obtain a straight line between the nodes; select multiple sample points from the straight line between the nodes and determine whether the distance between the sample points and the point cloud information is greater than a preset safe distance; if the distance between the sample points and the point cloud is greater than the preset safe distance, then a first environmental topology map is constructed based on the straight line between the nodes and the topology node set.
[0153] Optionally, the segmentation module includes:
[0154] The judgment submodule is used to: designate the topological node corresponding to the local location in the target environment topology map as the first center node, and the topological node corresponding to the robot with a common exploration boundary among the adjacent robots as the second center node; traverse all topological nodes in the target environment topology map excluding the first and second center nodes, designate the traversed topological nodes as target nodes, calculate the first graph search distance from the target node to the first center node; calculate the second graph search distance from the target node to the second center node; determine the target weight from a preset set of weight values, and determine whether the difference between the first graph search distance and the second graph search distance is less than the target weight, wherein the target weight represents the distance deviation between the local location and the adjacent robots; if the difference is less than the target weight, then segment the region corresponding to the target node and the first center node, and plan an exploration path based on the segmented set of exploration task nodes belonging to the local location.
[0155] The update submodule is used to explore based on the exploration path. If new point cloud information is obtained during the exploration, the target environment topology map is updated based on the new point cloud information. The updated target environment topology map is segmented to obtain a set of exploration task nodes belonging to the local area. The exploration path is replanned based on the set of exploration task nodes.
[0156] Optionally, the determination submodule includes:
[0157] The difference unit is used to calculate the sum of graph search distances from the first central node to the remaining nodes in the set of exploration task nodes to obtain the first task load; obtain the second task load of the robot that shares a common exploration boundary with the local area; obtain the load difference based on the first task load and the second task load; if the absolute value of the load difference is greater than a preset difference threshold, determine the weight change based on the load difference, and update the target weight based on the weight change; when the weight change is equal to a preset change threshold, re-segment the target environment topology graph based on the updated weight, and re-plan the exploration path based on the re-segmented set of exploration task nodes belonging to the local area.
[0158] Optionally, the update submodule includes:
[0159] The acquisition unit is used to acquire newly added topology nodes sent by the neighboring robots based on broadcast communication; and to update the target environment topology map based on the newly added topology nodes.
[0160] The multi-robot-based path planning device provided in this application employs the multi-robot-based path planning method described in the above embodiments, and can solve the technical problems of multi-robot-based path planning. Compared with the prior art, the beneficial effects of the multi-robot-based path planning device provided in this application are the same as those of the multi-robot-based path planning method provided in the above embodiments, and other technical features in the multi-robot-based path planning device are the same as those disclosed in the methods of the above embodiments, and will not be repeated here.
[0161] This application provides a multi-robot-based path planning device, which includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, which are executed by the at least one processor to enable the at least one processor to execute the multi-robot-based path planning method in Embodiment 1 above.
[0162] The following is for reference. Figure 7The diagram illustrates a structural schematic of a multi-robot-based path planning device suitable for implementing embodiments of this application. The multi-robot-based path planning device in the embodiments of this application may include, but is not limited to, mobile terminals such as mobile phones, laptops, tablets, digital broadcast receivers, PDAs (Personal Digital Assistants), PMPs (Portable Media Players), in-vehicle terminals (e.g., in-vehicle navigation terminals), and fixed terminals such as digital TVs and desktop computers. Figure 7 The multi-robot-based path planning device shown is merely an example and should not impose any limitations on the functionality and scope of use of the embodiments of this application.
[0163] like Figure 7 As shown, the multi-robot-based path planning device may include a processing unit 1001 (e.g., a central processing unit, a graphics processing unit, etc.), which can perform various appropriate actions and processes according to a program stored in read-only memory (ROM) 1002 or a program loaded from storage device 1003 into random access memory (RAM) 1004. The RAM 1004 also stores various programs and data required for the operation of the multi-robot-based path planning device. The processing unit 1001, ROM 1002, and RAM 1004 are interconnected via a bus 1005. An input / output (I / O) interface 1006 is also connected to the bus. Typically, the following systems can be connected to I / O interface 1006: input devices 1007 including, for example, touchscreens, touchpads, keyboards, mice, image sensors, microphones, accelerometers, gyroscopes, etc.; output devices 1008 including, for example, liquid crystal displays (LCDs), speakers, vibrators, etc.; storage devices 1003 including, for example, magnetic tapes, hard disks, etc.; and communication devices 1009. Communication device 1009 allows the multi-robot-based path planning device to exchange data wirelessly or via wired communication with other devices. Although a multi-robot-based path planning device with various systems is shown in the figure, it should be understood that it is not required to implement or possess all the systems shown. More or fewer systems can be implemented alternatively.
[0164] Specifically, according to the embodiments disclosed in this application, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments disclosed in this application include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via a communication device, or installed from storage device 1003, or installed from ROM 1002. When the computer program is executed by processing device 1001, it performs the functions defined in the methods of the embodiments disclosed in this application.
[0165] The multi-robot-based path planning device provided in this application, employing the multi-robot-based path planning method described in the above embodiments, can solve the technical problems of multi-robot-based path planning. Compared with the prior art, the beneficial effects of the multi-robot-based path planning device provided in this application are the same as those of the multi-robot-based path planning method provided in the above embodiments, and other technical features of this multi-robot-based path planning device are the same as those disclosed in the previous embodiment method, and will not be repeated here.
[0166] It should be understood that the various parts disclosed in this application can be implemented using hardware, software, firmware, or a combination thereof. In the description of the above embodiments, specific features, structures, materials, or characteristics can be combined in any suitable manner in one or more embodiments or examples.
[0167] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
[0168] This application provides a computer-readable storage medium having computer-readable program instructions (i.e., a computer program) stored thereon, the computer-readable program instructions being used to execute the multi-robot-based path planning method in the above embodiments.
[0169] The computer-readable storage medium provided in this application may be, for example, a USB flash drive, but is not limited to, electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices, or any combination thereof. More specific examples of computer-readable storage media may include, but are not limited to: electrical connections having one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof. In this embodiment, the computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, system, or device. The program code contained on the computer-readable storage medium may be transmitted using any suitable medium, including but not limited to: wires, optical cables, RF (Radio Frequency), etc., or any suitable combination thereof.
[0170] The aforementioned computer-readable storage medium may be included in a multi-robot-based path planning device; or it may exist independently and not be assembled into a multi-robot-based path planning device.
[0171] The aforementioned computer-readable storage medium carries one or more programs that, when executed by a multi-robot-based path planning device, cause the multi-robot-based path planning device to: generate a set of topological nodes whose distance difference with at least one pair of point clouds in the current location is less than a noise tolerance parameter, based on point cloud information of the current location, wherein the point cloud information includes obstacle information, and the nodes in the topological node set do not overlap with the point clouds in the point cloud information; construct a first environmental topology map based on the topological node set; fuse the received second environmental topology map synchronized by adjacent robots with the first environmental topology map to obtain a fused target environmental topology map; segment the target environmental topology map, and plan an exploration path based on the segmented set of exploration task nodes belonging to the local area.
[0172] Computer program code for performing the operations of this application can be written in one or more programming languages or a combination thereof, including object-oriented programming languages such as Java, Smalltalk, and C++, and conventional procedural programming languages such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a Local Area Network (LAN) or a Wide Area Network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0173] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0174] The modules described in the embodiments of this application can be implemented in software or hardware. The names of the modules do not necessarily limit the functionality of the unit itself.
[0175] The readable storage medium provided in this application is a computer-readable storage medium that stores computer-readable program instructions (i.e., a computer program) for executing the above-described multi-robot-based path planning method, thereby solving the technical problem of multi-robot-based path planning. Compared with the prior art, the beneficial effects of the computer-readable storage medium provided in this application are the same as those of the multi-robot-based path planning method provided in the above embodiments, and will not be repeated here.
[0176] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the steps of the multi-robot-based path planning method described above.
[0177] The computer program product provided in this application can solve the technical problem of multi-robot-based path planning. Compared with the prior art, the beneficial effects of the computer program product provided in this application are the same as those of the multi-robot-based path planning method provided in the above embodiments, and will not be repeated here.
[0178] The above description is only a part of the embodiments of this application and does not limit the patent scope of this application. All equivalent structural transformations made under the technical concept of this application and using the contents of the specification and drawings of this application, or direct / indirect applications in other related technical fields, are included in the patent protection scope of this application.
Claims
1. A path planning method based on multiple robots, characterized in that, Applied to a target robot, the multi-robot-based path planning method includes: Based on the point cloud information at the current location, a set of topological nodes is generated that has a distance difference of less than a noise tolerance parameter with at least one pair of point clouds in the point cloud information, wherein the point cloud information includes obstacle information, and the nodes in the set of topological nodes do not overlap with the point clouds in the point cloud information. Based on the aforementioned set of topological nodes, a first environmental topology graph is constructed; The received second environmental topology map synchronized with the adjacent robots is fused with the first environmental topology map to obtain the fused target environmental topology map. The target environment topology is segmented, and an exploration path is planned based on the segmented set of exploration task nodes belonging to the local area.
2. The multi-robot-based path planning method as described in claim 1, characterized in that, The step of constructing the first environment topology graph based on the set of topology nodes includes: Select any two nodes from the set of topological nodes and connect the nodes to obtain a straight line between them; Multiple sample points are selected from the straight lines between the nodes, and it is determined whether the distance between the sample points and the point cloud in the point cloud information is greater than a preset safe distance. If the distance between the sample point and the point cloud is greater than the preset safe distance, then a first environmental topology map is constructed based on the straight lines between the nodes and the set of topological nodes.
3. The multi-robot-based path planning method as described in claim 1, characterized in that, The steps of segmenting the target environment topology map and planning an exploration path based on the segmented set of exploration task nodes belonging to the local area include: The topology node corresponding to the local location in the target environment topology map is taken as the first center node, and the topology node corresponding to the robot that shares a common exploration boundary with the adjacent robots is taken as the second center node. Traverse all topological nodes in the target environment topology graph that do not include the first central node and the second central node, take the traversed topological nodes as target nodes, and calculate the first graph search distance from the target node to the first central node; Calculate the second graph search distance from the target node to the second center node; A target weight is determined from a preset set of weight values, and it is determined whether the difference between the search distance of the first image and the search distance of the second image is less than the target weight, wherein the target weight represents the distance deviation between the local robot and the neighboring robot; If the difference is less than the target weight, the regions corresponding to the target node and the first central node are divided, and an exploration path is planned based on the set of exploration task nodes belonging to the local area after the division.
4. The multi-robot-based path planning method as described in claim 3, characterized in that, If the difference is less than the target weight, then the region corresponding to the target node and the first central node is segmented, and an exploration path is planned based on the segmented set of exploration task nodes belonging to the local area. This step then includes: The sum of graph search distances from the first central node to the remaining nodes in the exploration task node set is calculated to obtain the first task load; Obtain the second task load of the robot that shares an exploration boundary with the local area; The load difference is obtained based on the first task load and the second task load; If the absolute value of the load difference is greater than a preset difference threshold, then the weight change is determined based on the load difference, and the target weight is updated based on the weight change. When the change in weight equals a preset threshold, the target environment topology is re-segmented based on the updated weight, and the exploration path is re-planned based on the re-segmented set of exploration task nodes belonging to the local area.
5. The multi-robot-based path planning method as described in claim 1, characterized in that, The step of segmenting the target environment topology map and planning an exploration path based on the segmented set of exploration task nodes belonging to the local area includes: The exploration is carried out based on the exploration path. If new point cloud information is obtained during the exploration, the target environment topology map is updated based on the new point cloud information. The updated target environment topology map is segmented to obtain a segmented set of exploration task nodes belonging to the local area; Based on the segmented set of exploration task nodes, the exploration path is replanned.
6. The multi-robot-based path planning method as described in claim 5, characterized in that, The step of exploring based on the exploration path also includes: Based on broadcast communication, obtain the newly added topology nodes sent by the adjacent robots; Based on the newly added topology nodes, update the target environment topology map.
7. A path planning device based on multiple robots, characterized in that, The device includes: A generation module is used to generate a set of topological nodes based on point cloud information at the current location, wherein the distance difference between the node set and at least one pair of point clouds in the point cloud information is less than a noise tolerance parameter, wherein the point cloud information includes obstacle information, and the nodes in the set of topological nodes do not overlap with the point clouds in the point cloud information. A construction module is used to construct a first environmental topology graph based on the set of topology nodes; The supplementary module is used to fuse the received second environmental topology map synchronized with the adjacent robot with the first environmental topology map to obtain the fused target environmental topology map. The segmentation module is used to segment the target environment topology map and plan an exploration path based on the segmented set of exploration task nodes belonging to the local area.
8. A path planning device based on multiple robots, characterized in that, The device includes: a memory, a processor, and a computer program stored in the memory and executable on the processor, the computer program being configured to implement the steps of the multi-robot-based path planning method as described in any one of claims 1 to 6.
9. A storage medium, characterized in that, The storage medium is a computer-readable storage medium, and a computer program is stored on the storage medium. When the computer program is executed by a processor, it implements the steps of the multi-robot-based path planning method as described in any one of claims 1 to 6.
10. A computer program product, characterized in that, The computer program product includes a computer program that, when executed by a processor, implements the steps of the multi-robot-based path planning method as described in any one of claims 1 to 6.
Citation Information
Patent Citations
Robot environment exploration method and system in unknown environment
CN112828883A
Path planning method, device and equipment used in complex environment and medium
CN118192592A