Full Coverage Optimal Path Planning Method, System, Device and Readable Storage Medium

Through the tag dual Petri network model and integer linear programming model, dynamically planning full coverage optimal paths is solved, which solves the problem of difficulty in real-time adjustment of paths in the existing technology, and realizes efficient operation of robots in complex environments.

CN117850430BActive Publication Date: 2025-06-27HARBIN INST OF TECH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202410045503.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-01-12
Publication Date
2025-06-27
Estimated Expiration
2044-01-12

AI Technical Summary

Technical Problem

The existing full coverage path planning method is difficult to dynamically plan the full coverage optimal path in sweeping robots, agricultural robots and other systems, especially when obstacles change, and it is difficult to adjust the path in real time.

Method used

The tag double Petri net model and integer linear programming model are used to dynamically plan the optimal path covering the full coverage. By acquiring map information, establishing a Petri network model, establishing a mathematical model and solving an integer linear planning model, the robot can move forward along the planning path and update the path dynamically.

Benefits of technology

Dynamic path adjustment when obstacles change is realized, the robot's efficient operation ability in complex environments is improved, and real-time update of full coverage of optimal paths is ensured.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117850430B_ABST
    Figure CN117850430B_ABST
Patent Text Reader

Abstract

The present invention relates to a full-coverage optimal path planning method, comprising the following steps: Step 1: Obtain map information; Step 2: Establish a labeled double Petri net model; Step 3: Establish a mathematical model; Step 4: Establish an integer linear programming model; Step 5: Solve the integer linear programming model to implement a dynamic full-coverage path planning method. The robot optimal path dynamic planning method of the present invention can establish a labeled double Petri net model according to map information, record the horizontal or vertical movement corresponding to the transition through the label information of the transition, so as to observe whether the robot turns during movement.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of intelligent control, and particularly relates to a full-coverage optimal path dynamic programming method, system, device and readable storage medium. Background Art

[0002] With the continuous development of society and the increasing improvement of people's living standards, the application fields of mobile robots have gradually expanded from military, industrial and other fields to rural, household and other fields. In the research of mobile robot related technologies, as one of the core technologies to realize the autonomous movement of robots, path planning has been widely studied. In the research related to path planning, according to the characteristics of the obtained path, path planning can be divided into two categories: "point-to-point" and "full-coverage". The former can be applied to fields such as autonomous driving and logistics transportation, and the latter can be applied to scenarios that require traversing a certain area, such as floor cleaning, lawn mowers, mine-sweeping robots and underwater search.

[0003] With the continuous expansion of the demand for robots such as floor-sweeping robots and agricultural robots, full-coverage paths have been widely studied. A full-coverage path refers to a path that a robot needs to traverse all areas in the working area except obstacles. The full-coverage optimal path is a path with the minimum cost considering multiple factors such as moving distance, turning times, and U-turn times while effectively avoiding all obstacles during the traversal process. It can effectively liberate labor and improve the operation efficiency of the machine. However, this problem belongs to a kind of permutation and combination problem with variable dimensions and is a kind of NP-hard problem. Therefore, there is an urgent need for a full-coverage optimal path planning method.

[0004] Existing full-coverage path planning methods are mainly based on heuristic algorithms such as A*, genetic algorithms, and ant colony algorithms. However, while considering additional penalties such as turning and U-turns, the variable-dimension path nodes in the algorithm also greatly increase the difficulty of the algorithm. Therefore, it is difficult for such heuristic algorithms to find the optimal full-coverage path. In addition, most full-coverage paths belong to static planning of global paths. However, when encountering newly emerged obstacles during the forward journey or when the original obstacles on the map disappear, the existing methods are difficult to make real-time path changes.

[0005] Therefore, how to dynamically plan the full-coverage optimal path in systems such as floor-sweeping robots and agricultural robots to ensure the efficient operation of the robot has become an urgent technical problem to be solved. Summary of the Invention

[0006] The present invention comprehensively considers the movement path, turning, and number of U-turns, and proposes a full-coverage optimal path planning method, system, device, and readable storage medium for the problem of dynamically programming the full-coverage optimal path. Based on the initial map information, a global optimal group coverage path is planned, that is, a path with the minimum cost considering multiple factors such as moving distance, number of turns, and number of U-turns while effectively avoiding all obstacles starting from the starting point. While the robot moves forward along the planned path, the map information is continuously updated, and the full-coverage optimal path of the remaining uncovered area is dynamically programmed.

[0007] To achieve the above object, the present invention adopts the following technical solutions: A full-coverage optimal path planning method includes the following steps:

[0008] Step 1: Obtain map information;

[0009] Step 2: Establish a labeled double Petri net model;

[0010] Step 3: Establish a mathematical model;

[0011] Step 4: Establish an integer linear programming model;

[0012] Step 5: Solve the integer linear programming model to implement the dynamic full-coverage path planning method.

[0013] The specific content of the above Step 1 is: Obtain the current map information of the working area, rasterize the map into a raster map with h rows and l columns, and label the rasters V1, V2, V3,..., V h×l , in sequence from left to right and from top to bottom, and use the set V = {V1, V2, V3,..., V h×l} to represent the set of raster nodes, where h×l represents the number of rasters in the map.

[0014] The specific content of the above Step 2 is: According to the raster stage sequence V1, V2, V3,..., V h×l , establish the Petri net model structure in sequence. Each node V i is represented by a place p i . Sequentially retrieve the adjacent nodes V i of the node V j . If there is no connection relationship between the place p i corresponding to the node V j and the place p i corresponding to the adjacent node V j in the Petri net, then add two transitions t x and t y with reverse relationships between them, that is, Pre r (p i , t x) = 1, Post r (p i , t y ) = 1, Pre r (p j , t y ) = 1, Post r (p j , t x ) = 1, In this part, h×l places and 4×h×l - 2×h - 2×l transitions will be established, and thus the Petri net N is established r = (P r , T, Pre r , Post r );

[0015] Establish the transition trigger counting place: For each pair of transitions t x and transition t y , establish the place p f to realize the counting of their trigger times, that is, Post d (p f , t x ) = 1, Post d (p f , t y ) = 1. Through this structural relationship, for transitions t x and transition t y , the place p f will have one more token. In this part, 2×h×l - h - l places will be established, and thus the Petri net N is established d = (P d , T, Pre d , Post d );

[0016] Establish the label vector e = [e1, e2,..., e 4×h×l-2×h-2×| , where e i ∈{0, 1}, i = 1, 2,..., 4×h×l - 2×h - 2×l, and the value of e i is taken according to the following basis:

[0017]

[0018] Establish the distance vector w = [w1, w2,..., w 4×h×l-2×h-2×l , where w i represents the moving distance corresponding to the transition t i ;

[0019] Establish the initial marking of the Petri net N r Initial marking Indicates the number of robots contained in each node. Specifically:

[0020]

[0021] Establish a Petri net N d Initial marking In the initial state, this vector is a zero vector.

[0022] The specific content of Step 3 is as follows:

[0023] Assume that the robot can only move horizontally or vertically at an average speed v. The time required for the robot to turn 90° each time is q1, and the time required for each U-turn (turning 180°) is q2. When the robot moves from node V i to node V j During the process, it turns x1 times and makes U-turns x2 times. The total distance of the straight-line movement is L. Then the total time required for this movement is represented by the following mathematical model:

[0024]

[0025] If it moves in a straight line at an average speed v during this period, the distance that can be moved is:

[0026] L′ = v × Time = L + v × q1 × x1 + v × q2 × x2 (2)

[0027] Denote Q1 = v × q1 and Q2 = v × q2. Then the equivalent path length is:

[0028] L′ = L + Q1 × x1 + Q2 × x2 (3)

[0029] Since the values of v, q1, and q2 are only related to the performance of the robot itself and can be measured by experiments. When the model of the robot is determined, the parameters Q1 and Q2 are constants; the equivalent path length L′ calculated by Equation (3) can be used as an evaluation index for the quality of the path.

[0030] The specific content of Step 3 is as follows: According to the problem description, the full-coverage path planning problem is represented by the following model:

[0031] Objective function: Min L′ = L + Q1 × x1 + Q2 × x2

[0032] Constraints:

[0033] Through the Petri net, the above problem can be transformed into the following mathematical model:

[0034] Objective function:

[0035] Among them, h represents the number of steps the robot moves;

[0036] Constraint 1: This constraint is the state equation of the Petri net, which expresses the marking and the transition firing vector σ i The relationship between them specifically represents the relationship between the node where the robot is located and the movement action. Among them, the transition firing vector σ i = [σ i (t1), σ i (t2),..., σ i (t 4×h×l-2×h-2×l )], specifically:

[0037]

[0038] Constraint 2: Similarly, this constraint is the state equation of the Petri net, which expresses the marking and the transition firing vector σ i The relationship between them specifically represents the number of times the corresponding transition is fired;

[0039] Constraint 3: This constraint is the correctness constraint for the Petri net transition firing, which ensures that there is a token in the pre-place of the transition before the transition is fired, and restricts the conditions for the transition to occur;

[0040] Constraint 4: 1 T ×σ i = 1, i = 1, 2,..., h; This constraint restricts that only one element in the column vector σ i can be 1, which means that the robot can only move one step at a time;

[0041] Constraint 5: This constraint restricts the variable and the transition firing vector σ i+1 and σ i If e·σ = 1, it means that the robot's movement in this step is a horizontal movement. If e·σ = 0, it means that the robot's movement in this step is a vertical movement. Therefore, e·σ i+1 -e·σ i There are the following possibilities:

[0042]

[0043] Therefore, through this constraint, it is achieved that:

[0044]

[0045] Constraint 6: This constraint represents the number of times the robot turns;

[0046] Constraint 7: This constraint restricts the variable and the identifier and If the robot moves in the reverse direction, the direction transition t x and the transition t y are triggered in sequence, and the place p f will have one more token in sequence, that is Therefore, the vector is the zero vector, otherwise, there are 1 and -1 in the vector Therefore, through this constraint, it can be achieved that:

[0047]

[0048] Constraint 8: This constraint represents the number of U-turns of the robot;

[0049] Constraint 9: This constraint represents that the robot cannot pass through the obstacle nodes in the path, where the vector a = [a1, a2,..., a h×l represents whether each node is an obstacle according to the map information. Specifically:

[0050]

[0051] Constraint 10: This constraint restricts that all nodes except the obstacle nodes in the path are visited at least once.

[0052] The specific content of Step 4 is as follows:

[0053] Convert the non-linear constraint into a linear constraint; for Constraint 5: Introduce the 0-1 variable ζ i ∈ {0, 1}, i = 1, 2,..., k - 1, and convert Constraint 5 into the following linear constraint:

[0054]

[0055] where H is a very large number. If e·σ i+1 -e·σ i is 1 or -1 (indicating a turn), then (4) can be converted into:

[0056] ​

[0057] ζ i = 0, If e·σ i+1 -e·σ i is 0 (indicating no turning), then (4) can be transformed into:

[0058]

[0059] At this time, regardless of whether ζ i takes 0 or 1, Therefore, equation (4) realizes constraint condition 5 and transforms it into a linear constraint;

[0060] For constraint condition 7: Introduce a 0-1 variable Convert constraint condition 7 into the following linear constraint:

[0061]

[0062] The integer linear programming model (ILPP1) of the full-coverage optimal path is:

[0063]

[0064] The specific content of step five is as follows:

[0065] 5.1) Load the current map information and solve ILPP1;

[0066] 5.2) The robot moves forward according to the solution path of the current ILPP1 problem, and uses the vector b = [b1, b2,..., b h×l to record the covered nodes and continuously update the vector b during the forward movement. Specifically:

[0067]

[0068] During the forward movement of the robot, detect the surrounding environment information through sensors. If the environment changes, enter 3); if the detected environment does not change, continue to move forward; if the final state is reached, enter 5.5);

[0069] 5.3) Update the obstacle information in the environment, that is, the vector a, record the current position as and solve the following new integer linear programming model (ILPP2):

[0070]

[0071] 5.4) The robot moves forward according to the solution path of the ILPP2 problem. While moving forward, it continuously updates the vector b and detects the surrounding environment information through sensors. If the environment changes, it enters 5.3). If it detects that the environment has not changed, it continues to move forward. If it reaches the final state, it enters 5.5).

[0072] 5.5) The robot stops moving, achieving full coverage of the working area.

[0073] The present invention also relates to a full-coverage optimal path planning method system, including:

[0074] An information acquisition module, used to acquire initial map information, robot starting point information, and robot environment perception information;

[0075] An initial system module, used to establish a labeled double Petri net model according to the map information;

[0076] A path planning module, used to solve the full-coverage optimal paths of the integer linear programming problems ILPP1 and ILPP2 according to the labeled double Petri net model and environmental obstacle information.

[0077] The present invention also relates to a computer device, including a memory and a processor. The memory stores a computer program, and when the processor executes the computer program, the steps of the above method are implemented.

[0078] The present invention also relates to a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of the above method are implemented.

[0079] Beneficial effects

[0080] The optimal path dynamic programming method of the robot of the present invention can establish a labeled double Petri net model according to the map information, record the horizontal or vertical movement corresponding to the transition through the label information of the transition, so as to observe whether the robot turns.

[0081] In the double Petri net, it respectively includes a part of the Petri net that records the actual movement of the robot and a part of the Petri net that records the number of times the transition fires, so as to observe whether the robot turns. Subsequently, an integer linear programming model is proposed to achieve the full-coverage optimal path under the current information. Finally, considering the possibility of changes in the environmental information, the robot continuously observes the environmental information during the forward movement. If a change occurs, it recalculates the optimal feasible path. Through this method, dynamic full-coverage path planning can be achieved, while ensuring the safety of the system. Description of the drawings

[0082] Figure 1 It is a flow block diagram of the method of the present invention.

[0083] Figure 2 is the initial map information of the embodiment of the present invention.

[0084] Figure 3 is the labeled double Petri net model of the embodiment of the present invention.

[0085] Figure 4 is the full-coverage optimal path under the initial map information of the embodiment of the present invention.

[0086] Figure 5 is the map information after the environmental information changes in the embodiment of the present invention.

[0087] Figure 6 is the full-coverage path after the first detection of environmental changes in the embodiment of the present invention.

[0088] Figure 7 is the full-coverage path after the second detection of environmental changes in the embodiment of the present invention. Detailed implementation manners

[0089] The following is combined with Figures 1 to 7 to specifically describe this implementation manner.

[0090] Figure 1 is the flow block diagram of the method of the present invention. The method of the present invention includes the following steps:

[0091] Step 1: Obtain the current map information;

[0092] Obtain the current map information of the operation area, rasterize the map into a raster map with h rows and l columns, and label the rasters V1, V2, V3,..., V h×l , and use the set V = {V1, V2, V3,..., V h×l} to represent the raster node set, where h×l represents the number of rasters in the map.

[0093] In this embodiment, the map is rasterized into a raster map with 5 rows and 5 columns, as Figure 2 shown, where the obstacle nodes are represented by black squares. Label the rasters V1, V2, V3,..., V 25 , and use the set V = {V1, V2, V3,..., V5} to represent the raster node set. The number of rasters in the map is 25.

[0094] Step 2: Establish a labeled double Petri net model

[0095] According to the raster stage sequence V1, V2, V3,..., V h×lEstablish the Petri net model structure in sequence, mainly based on each node V i represented by place p i and retrieve the adjacent nodes V of node V in sequence i . If there is no connection relationship between the place p corresponding to node V j and the adjacent node V i in the Petri net, then add two transitions t with reverse relationships j and transition t i between them, that is, Pre j (p x , t y ) = 1, Post r (p i , t x ) = 1, Pre r (p i , t y ) = 1, Post r (p j , t y ) = 1, Post r (p j , t x ) = 1. In this part, h×l places and 4×h×l - 2×h - 2×l transitions will be established, thus establishing the Petri net N r =(P r , T, Pre r , Post r );

[0096] Establish the Petri net N r =(P r , T, Pre r , Post r ), where P r ={p r,1 , P r,2 ,..., p r,25} and T = {t1, t2,..., t 80}. The specific model is as shown by the solid line in Figure 3 .

[0097] Establish transition trigger counting places. For each pair of transitions t with reverse relationships x and transition t y , establish a place p f to achieve the counting of their trigger times, that is, Post d (p f , t x ) = 1, Post d (p f , t y) = 1. Through this structural relationship, the transition t x and the transition t y , the place p f will have one more token. In this part, 2×h×l - h - l places will be established, and thus the Petri net N d =(P d , T, Pre d , Post d ).

[0098] Establish the Petri net N d =(P d , T, Pre d , Post d ), where P d ={p d,1 , p d,2 ,..., p d,40}, T = {t1, t2,..., t 80}, and the specific model is as shown by the dashed line in Figure 3 .

[0099] Establish the label vector e of the transition = [e1, e2,..., e 4×h×l-2×h-2×l , where e i ∈{0, 1}, i = 1, 2,..., 4×h×l - 2×h - 2×l. Specifically, the value of e i is determined according to the following basis:

[0100]

[0101] In this embodiment, the label vector e = [e1, e2,..., e 80 , e1 = e2 = 1, e3 = e4 = 0, e5 = e6 = 1...... Specifically, it can be obtained according to the Figure 3 Petri net model;

[0102] Establish the distance vector w of the transition = [w1, w2,..., w 4×h×l-2×h-2×l , where w i represents the moving distance corresponding to the transition t i ;

[0103] The label vector w = [w1, w2,..., w 80 , w1 = w2 =... = w 80 = 1;

[0104] Establish the initial marking of the Petri net N r to represent the number of robots contained in each node. Specifically:

[0105] ​

[0106] Assume that the initial position of the robot is at node V1, then the Petri net N r Initial marking where M r,1 = 1, and the rest of the elements are 0;

[0107] Establish the Petri net N d Initial marking Since the function of this part of the Petri net is to record the number of transition triggers, in the initial state, this vector is a zero vector. The Petri net N d Initial marking Is a zero vector.

[0108] Step 3: Establishment of the mathematical model

[0109] Assume that the robot can only move horizontally or vertically at an average speed v. The time required for the robot to turn 90° each time is q1, and the time required for each U-turn (turning 180°) is q2. The robot moves from node V i To node V j During the process, it turns x1 times and makes U-turns x2 times. The total length of the straight-line movement is L. Then the total time required for this movement is represented by the following mathematical model as follows:

[0110]

[0111] If it moves in a straight line at an average speed v during this period, the distance that can be moved is:

[0112] L′ = v × Time = L + v × q1 × x1 + v × q2 × x2 (2)

[0113] Denote Q1 = v × q1 and Q2 = v × q2, then the equivalent path length is:

[0114] L′ = L + Q1 × x1 + Q2 × x2 (3)

[0115] Since the values of v, q1, and q2 are only related to the performance of the robot itself and can be measured by experiments. When the model of the robot is determined, the parameters Q1 and Q2 are constants. Therefore, the equivalent path length L′ calculated by Equation (3) can be used as an evaluation index for the quality of the path.

[0116] According to the problem description, the full coverage path planning problem can be expressed as the following model:

[0117] Objective function: Min L′ = L + Q1 × x1 + Q2 × x2

[0118] Constraints:

[0119] Preferably, through the Petri net, the above problem can be transformed into the following mathematical model:

[0120] Objective function:

[0121] where h represents the number of steps the robot moves;

[0122] Constraint 1: This constraint is the state equation of the Petri net, expressing the relationship between the marking and the transition firing vector σ i Specifically, it represents the relationship between the node where the robot is located and the movement action. Among them, the transition firing vector σ i = [σ i (t1), σ i (t2),..., σ i (t 4×h×l-2×h-2×l )]. Specifically:

[0123]

[0124] Constraint 2: Similarly, this constraint is the state equation of the Petri net, expressing the relationship between the marking and the transition firing vector σ i Specifically, it represents the number of times the corresponding transition is fired;

[0125] Constraint 3: This constraint is the correctness constraint for the Petri net transition firing, ensuring that there is a token in the pre-place of the transition before the transition is fired, and restricting the conditions for the transition to occur;

[0126] Constraint 4: 1 T × σ i = 1, i = 1, 2,..., h; This constraint restricts that only one element in the column vector σ i can be 1, which means that the robot can only move one step at a time;

[0127] Constraint 5: This constraint restricts the relationship between the variable and the transition firing vectors σ i+1 and σ i . If e·σ = 1, it means that the robot's movement in this step is a horizontal movement. If e·σ = 0, it means that the robot's movement in this step is a vertical movement. Therefore, e·σ i+1 - e·σ i has the following possibilities:

[0128]

[0129] Therefore, the following can be achieved through this constraint:

[0130]

[0131] Constraint 6: This constraint represents the number of turns of the robot;

[0132] Constraint 7: This constraint restricts the variable and the identifier and If the robot moves in the reverse direction, the direction transition t x and the transition t y will be triggered in sequence, and the place p f will have one more token in sequence, that is Therefore, the vector is a zero vector, otherwise, there are 1 and -1 in the vector 2× Therefore, the following can be achieved through this constraint:

[0133]

[0134] Constraint 8: This constraint represents the number of U-turns of the robot;

[0135] Constraint 9: This constraint represents that the robot cannot pass through the obstacle nodes in the path. Among them, the vector a = [a1, a2,..., a h×l represents whether each node is an obstacle according to the map information. Specifically:

[0136]

[0137] Constraint 10: This constraint restricts that all nodes except the obstacle nodes in the path are visited at least once.

[0138] Step 4: Establish an integer linear programming model:

[0139] Since Constraint 5 and Constraint 7 in Step 3 are non-linear constraints, it is difficult to solve the above mathematical model. Next, the non-linear constraints will be converted into linear constraints. For Constraint 5: Introduce a 0-1 variable ζ i ∈ {0, 1}, i = 1, 2,..., k - 1, and convert Constraint 5 into the following linear constraint:

[0140]

[0141] Among them, H is a very large number. If e·σ i+1 -e·σ i is 1 or -1 (indicating a turn), then (4) can be transformed into:

[0142]

[0143] To ensure solvability, ζ i = 0, Similarly, if e·σ i+1 -e·σ i is 0 (indicating no turn), then (4) can be transformed into:

[0144]

[0145] At this time, regardless of whether ζ i takes 0 or 1, Therefore, equation (4) realizes constraint condition 5 and transforms it into a linear constraint.

[0146] Preferably, for constraint condition 7: Introduce a 0-1 variable Convert constraint condition 7 into the following linear constraint:

[0147]

[0148] The principle of this step of transformation is similar to that of constraint 5, so it will not be redundantly elaborated here.

[0149] Preferably, an integer linear programming model (ILPP1) for the full-coverage optimal path is proposed:

[0150]

[0151] Step Five: Solve the integer linear programming model to implement the dynamic full-coverage path planning method

[0152] Since the working area of the loaded map may change dynamically, during the forward movement, it is necessary to use the robot sensor to sense the surrounding environment to determine whether the original obstacle nodes or non-obstacle nodes have changed, so as to achieve full coverage and avoid colliding with new obstacles. Accordingly, a dynamic full-coverage path planning method is proposed, which can be specifically divided into the following steps:

[0153] 5.1) Load the current map information and solve ILPP1;

[0154] 5.2) The robot moves forward according to the solution path of the current ILPP1 problem, using the vector b = [b1, b2,..., b h×lRecord the covered nodes and continuously update the vector b while moving forward. Specifically:

[0155]

[0156] During the robot's forward movement, detect the surrounding environment information through sensors. If the environment changes, enter 3); if the detected environment does not change, continue moving forward; if the final state is reached, enter 5.5).

[0157] 5.3) Update the obstacle information in the environment (i.e., vector a), record the current position as and solve the following new integer linear programming model (ILPP2):

[0158]

[0159] 5.4) The robot moves forward according to the solution path of the ILPP2 problem, continuously updates the vector b while moving forward, and detects the surrounding environment information through sensors. If the environment changes, enter 5.3); if the detected environment does not change, continue moving forward; if the final state is reached, enter 5.5).

[0160] 5.5) The robot stops moving, achieving full coverage of the working area.

[0161] In this embodiment, the parameters Q1 and Q2 are taken as 2 and 4 respectively. Through Figure 2 the initial obstacle information vector a = [a1, a2,..., a 25 can be obtained, where a2 = a8 = a 19 = a 23 = 1, and the rest of the elements are 0; in this embodiment, k = 23 and H = 100000 are set, and the integer linear programming ILPP is solved to obtain the optimal full-coverage path. The path result is as Figure 4 shown, with its moving distance L = 23, the number of turns x1 = 9, the number of U-turns x2 = 2, and the equivalent moving distance L' = 49.

[0162] In this embodiment, it is assumed that the robot can sense the environmental information in the four directions of up, down, left, and right. Assume that the map environment changes, as Figure 5 shown, the node V8 becomes a non-obstacle area, and the node V 14 becomes an obstacle area. Move forward along the current path and continuously record the covered nodes. When the robot moves to the node V7 and detects that the node V8 changes from an obstacle node to a non-obstacle node, the environment changes. At this time, b = [b1, b2,..., b 25 , where b1 = b6 = b7 = b 11 = b 12 = b 16 = b 17 = b21 = b 22 = 1, and the remaining elements are all 0. Update a = [a1, a2,..., a 25 , where a2 = a 19 = a 23 = 1, where M r,7 = 1, and the remaining elements are all 0. The updated path is as shown in Figure 6 the blue line. Subsequently, the robot moves along the newly planned path. When the robot moves to node V9 and detects that node V 14 changes from a non - obstacle node to an obstacle node, the environment changes. At this time, b = [b1, b2,..., b 25 , where b1 = b6 = b7 = b8 = b9 = b 11 = b 12 = b 16 = b 17 = b 21 = b 22 = 1, and the remaining elements are all 0. Update a = [a1, a2,..., a 25 , where a2 = a 14 = a 19 = a 23 = 1, where M r,9 = 1, and the remaining elements are all 0. The updated path is as shown in Figure 7 the orange line.

[0163] The present invention also relates to a full - coverage optimal path planning method system, including:

[0164] An information acquisition module, configured to acquire initial map information, robot starting point information, and robot environment perception information;

[0165] An initial system module, configured to establish a labeled double Petri net model according to the map information;

[0166] A path planning module, configured to solve the full - coverage optimal paths of integer linear programming problems ILPP1 and ILPP2 according to the labeled double Petri net model and environmental obstacle information.

[0167] The present invention also relates to a terminal device, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the steps of the above - mentioned full - coverage optimal path planning method are implemented.

[0168] The present invention also relates to a computer-readable storage medium storing a computer program, and when the computer program is executed by a processor, the steps of the above-mentioned full-coverage optimal path planning method are implemented.

[0169] The above content is only a preferred embodiment of the present invention and is not used to limit the implementation of the present invention. Those of ordinary skill in the art can easily make corresponding adaptations or modifications according to the main concept and spirit of the present invention. Therefore, the protection scope of the present invention should be subject to the protection scope required by the claims.

Claims

1. A full coverage optimal path planning method, characterized in that: The following steps are involved: Step 1: Get map information; Step 2: Establish a labeled double Petri net model; Step 3: Establish mathematical model; Step 4: Establish an integer linear programming model; Step 5: Solve the integer linear programming model to implement a dynamic full coverage path planning method; The step 1 is specifically as follows: obtaining the current map information of the operation area, and rasterizing the map into a grid map with h rows and l columns, and labeling the grids of the grid map in order from left to right and from top to bottom: V1, V2, V3, ..., V h×l , and use the set V = {V1, V2, V3, ..., V h×l } represents a grid node set, where h×l represents the number of grids in the map; The step 2 is specifically as follows: according to the grid stage sequence V1, V2, V3, ..., V h×l The Petri net model structure is established in sequence, and each node V i Use library p i Indicates that the nodes V are retrieved in sequence i The adjacent node V j , if node V i and adjacent nodes V j The corresponding place p in the Petri net i and library j If there is no connection relationship between them, add two reverse relationship transitions between them. x and changes y , that is, Pre r (p i ,t x )=1,Post r (p i ,t y )=1,Pre r (p j ,t y )=1,Post r (p j ,t x )=1, in this part, h×l places and 4×h×l-2×h-2×l transitions will be established, thus establishing the Petri net N r =(P r ,T,Pre r ,Post r ); Establish a transition trigger counting library: for each pair of reverse relationship transitions t x and changes y , establish library p f To count the number of times they are triggered, that is, Post d (p f ,t x )=1,Post d (p f ,t y )=1, through this structural relationship, the transition t x and changes y , library p f There will be one more token, and 2×h×lhl places will be established in this part, thus establishing the Petri net N d =(P d ,T,Pre d ,post d ); Create a label vector of transition e = [e1, e2, ..., e 4×h×l-2×h-2×l ], where e i ∈{0,1},i=1,2,...,4×h×l-2×h-2×l,e i The value of is determined according to the following criteria: Establish the distance vector of transition w=[w1,w2,...,w 4×h×l-2×h-2×l ], where w i Indicates the change i The corresponding moving distance; Building Petri Net N r Initial Logo Indicates the number of robots contained in each node, specifically: Building Petri Net N d Initial Logo In the initial state, this vector is a 0 vector; The step three is specifically as follows: Assume that the robot can only move horizontally or vertically at an average speed v. The time required for the robot to turn 90° each time is q1, and the time required for each turn 180° is q2. The robot starts from node V i Move to node V j In the process, there are x1 turns and x2 U-turns. The total distance of the linear motion is L. The total time required for this movement is expressed as the following mathematical model: If the average speed v is used for straight-line motion during this period, the movable distance is: L′=v×Time=L+v×q1×x1+v×q2×x2 (2) Note that Q1 = v × q1, Q2 = v × q2, then the equivalent path length is: L′=L+Q1×x1+Q2×x2 (3) The values ​​of v and q1, q2 are only related to the robot's own performance. Once the robot model is determined, the parameters Q1 and Q2 are constants. The equivalent path length L' calculated by formula (3) can be used as an evaluation index for the quality of the path. The specific step three is as follows: According to the problem description, the full coverage path planning problem is expressed as the following model: Objective function: MinL' = L + Q1 × x1 + Q2 × x2 constraint: Through Petri nets, the above problem can be transformed into the following mathematical model: Objective function: Among them, h represents the number of robot movement steps; Constraint 1: i=1,2,...,k; this constraint is the state equation of the Petri net, expressing the identity and the transition trigger vector σ i The relationship between the node where the robot is located and the mobile action, where the transition trigger vector σ i =[σ i (t1),σ i (t2),…,σ i (t 4×h×l-2×h-2×l )], specifically: Constraint 2: i=1,2,...,k; similarly, this constraint is the state equation of the Petri net, expressing the identifier and the transition trigger vector σ i The relationship between , specifically indicates the number of triggers for the corresponding transition; Constraint 3: i=1,2,...,k; This constraint is the correctness constraint of Petri net transition emission, which ensures the existence of tokens in the pre-place of the transition before emission, and constrains the conditions for the occurrence of transition; Constraint 4: 1 T ×σ i =1,i=1,2,...,h; this constraint constrains the column vector σ i There can be only one element in 1, which means that the robot can only move one step at a time; Constraint 5: i=1,2,...,k-1; this constraint constrains the variable and the migration trigger vector σ i+1 and σ i If e·σ=1, it means that the robot moves horizontally at this step, and if e·σ=0, it means that the robot moves vertically at this step. Therefore, e·σ i+1 -e·σ i The following possibilities exist: Therefore, this constraint achieves: Constraint 6: This constraint represents the number of turns the robot can make; Constraint 7: i=1,2,...,k-1; this constraint constrains the variable With logo and If the robot moves in the opposite direction, the direction change t x and changes y Trigger in sequence, library p f There will be one more token in turn, that is So the vector is a 0 vector, Otherwise, the vector There are 1 and -1 in Therefore, this constraint can be achieved: Constraint 8: This constraint represents the number of times the robot can turn around; Constraint 9: This constraint indicates that the robot cannot pass through obstacle nodes in the path, where the vector a = [a1, a2, ..., a h×l ] indicates whether each node is an obstacle based on the map information. Specifically: Constraint 10: This constraint requires that all nodes except obstacle nodes must be visited at least once in the path.

2. The full coverage optimal path planning method according to claim 1, characterized in that: The step 4 is specifically as follows: Convert nonlinear constraints to linear constraints; for constraint 5: Introducing 0-1 variable ζ i ∈{0,1},i=1,2,...,k-1, transform constraint 5 into the following linear constraint: Among them, H is a very large number, if e·σ i+1 -e·σ i is 1 or -1, indicating a turn, then (4) can be transformed into: ζ i =0, If e·σ i+1 -e·σ i is 0, indicating no turn, then (4) can be transformed into: At this time, regardless of i Takes 0 or 1, Therefore, equation (4) realizes constraint 5 and transforms it into a linear constraint; For constraint 7: Introducing 0-1 variables i=1,2,...,h-1,j=1,2,...,h×l, transform constraint 7 into the following linear constraint: The integer linear programming model (ILPP1) of the full coverage optimal path is: min L′=L+Q1×x1+Q2×x2 3. The full coverage optimal path planning method according to claim 1, characterized in that: The step five is specifically as follows: 5.1) Load the current map information and solve ILPP1; 5.2) The robot moves forward according to the path solved by the current ILPP1 problem, using the vector b = [b1, b2, ..., b h×l ]Record the covered nodes and continuously update the vector b as it moves forward, specifically: The robot detects the surrounding environment information through sensors while moving forward. If the environment changes, it goes to 3). If the detected environment does not change, it continues to move forward. If it reaches the final state, it goes to 5.5). 5.3) Update the obstacle information in the environment, that is, vector a, and record the current position as And solve the following new integer linear programming model (ILPP2): min L′=L+Q1×x1+Q2×x2 5.4) The robot moves forward according to the solution path of the ILPP2 problem, and continuously updates the vector b while detecting the surrounding environment information through sensors. If the environment changes, it goes to 5.3). If the detected environment does not change, it continues to move forward. If it reaches the final state, it goes to 5.5); 5.5) The robot stops moving and achieves full coverage of the working area.

4. A system using the full coverage optimal path planning method according to any one of claims 1 to 3, characterized in that: include: Information acquisition module, used to obtain initial map information, robot starting point information, and robot environment perception information; The initial system module is used to establish a label double Petri net model based on map information; The path planning module is used to solve the full coverage optimal path of integer linear programming problems ILPP1 and ILPP2 based on the labeled double Petri net model and environmental obstacle information.

5. A terminal device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 3 are implemented.

6. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 3 are implemented.

Citation Information

Patent Citations

  • Real-time path planning method for multiple medical distribution robots

    CN111928849A

  • Information security path planning method, system and device and readable storage medium

    CN114564019A