Method for planning shortest traversal weld seam path for spherical tank inspection robot
By converting the 2D map of the spherical tank into an undirected connected graph and using the odd-even graphing method and the depth-first search algorithm to obtain the shortest path, the complexity of weld path planning for the spherical tank was solved, and efficient weld inspection and autonomous robot line navigation were achieved.
Patent Information
- Application Number
- CN202411380119.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-30
- Publication Date
- 2025-11-11
- Estimated Expiration
- 2044-09-30
AI Technical Summary
Existing spherical tank weld path planning algorithms cannot effectively handle complex weld intersections, leading to incorrect path selection, increasing planning complexity and difficulty, and failing to achieve the shortest traversal.
The 2D map of the spherical tank is transformed into an undirected connected graph, and the shortest path is obtained through the odd-even graph construction method and the depth-first search algorithm to ensure the traversal of the Eulerian circuit.
It improves the efficiency and accuracy of weld inspection, reduces repetitive movements in complex environments, enhances the intelligence level and inspection accuracy of the spherical tank climbing robot, and provides reliable data support for the safe operation of the spherical tank.
Smart Images

Figure CN119304862B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to a method for inspecting weld seams in spherical tanks, and in particular to a method for planning the shortest traversal weld seam path for a spherical tank inspection robot. Background Technology
[0002] Spherical tanks are a common type of industrial storage tank. Due to their unique spherical structure, they possess excellent load-bearing capacity and high storage efficiency, making them widely used in the petroleum, chemical, and natural gas industries. Spherical tanks are primarily used to store various liquid or gaseous materials, such as liquefied petroleum gas, liquid nitrogen, and liquid oxygen. The safety and stability of these stored materials are crucial. Spherical tanks are typically designed with high sealing and pressure resistance to effectively prevent leaks and explosions even under extreme conditions. Therefore, the maintenance and monitoring of spherical tanks are particularly important.
[0003] In the maintenance and construction of spherical tanks, weld inspection and repair are crucial for ensuring the structural safety of the tank. Due to the complex and diverse distribution of welds in spherical tanks, traditional manual inspection is not only inefficient but also poses significant safety risks, especially in high-pressure and hazardous working environments. Therefore, developing wall-climbing robots to perform weld inspection and repair tasks has become an effective solution. These robots can move on the curved surfaces of spherical tanks, automating high-precision inspection and welding work, significantly improving work efficiency and reducing human risk.
[0004] Currently, although some path planning algorithms have been proposed, path planning methods for spherical tank climbing robots still need to consider their unique spherical structure. The curvature of the spherical tank surface varies greatly, and the weld seams are densely distributed and vary in shape. Existing path planning algorithms often fail to achieve ideal results when dealing with the complex paths of the spherical tank weld seams. For example, traditional algorithms often lead to path selection errors, increasing the complexity and difficulty of the planning process.
[0005] Therefore, a new path planning method is urgently needed, which can not only effectively handle complex weld intersections but also provide the shortest traversal path through intelligent algorithms. The implementation of this new method will have a significant impact on improving the maintenance efficiency of spherical tanks and ensuring their safety, while also opening up new directions for the development of automation technologies in related fields. Summary of the Invention
[0006] The technical problem this invention aims to solve is to address the shortcomings of existing technologies by providing a method for planning the shortest traversal weld seam path for a spherical tank inspection robot. This method transforms the 2D map of the spherical tank into an undirected connected graph, then converts the undirected connected graph into an Eulerian circuit using an odd-even graph construction method. Finally, it obtains the shortest path that traverses all paths of the Eulerian circuit using a depth-first search algorithm. This method not only significantly improves the efficiency of weld seam inspection but also provides a fundamental basis for the line-following control and weld seam quality assessment of automated equipment, which is of great significance for ensuring the safe operation of special equipment such as spherical tanks.
[0007] To solve the above-mentioned technical problems, the technical solution adopted by the present invention is as follows:
[0008] A method for planning the shortest traversal weld seam path for a spherical tank inspection robot includes the following steps.
[0009] Step 1: Construct a 2D map of the spherical tank: Map the welds and weld intersections in the 3D spherical tank onto a 2D plane to form a 2D map of the spherical tank.
[0010] Step 2: Construct an undirected connected graph G: Form a weld point set V from all weld intersections in the 2D map of the spherical tank, and form a weld edge set E from all welds in the 2D map of the spherical tank. Construct an undirected connected graph G = [V, E, W]. t ()];wherein, W t () represents the weld edge weight in the weld edge set E, which is proportional to the path length of the weld and is greater than or equal to 0.
[0011] Step 3: Determine if the Euler circuit is satisfied at each weld intersection in the undirected connected graph G.
[0012] When there are weld intersections that do not meet the requirements of an Euler circuit, all weld intersections that do not meet the requirements of an Euler circuit are recorded in V. E The collection is then processed, and step 4 is initiated.
[0013] When all weld intersections meet the Euler circuit requirements, proceed to step 7.
[0014] Step 4: Construct a locally undirected connected graph G″: Based on V E Construct a locally undirected connected graph G″=[V″,E″,W] using sets. t "()]; where V″ is the weld point set V only retains the point set V E Includes all weld intersections; E″ is the weld edge set obtained from weld edge set E that connects to the weld intersections in V″; W t "() is from W t The weld edge weights obtained from the weld edge set E″ are the weld edge weights obtained in ().
[0015] Step 5: Add repeating edges: Set an empty set E'. Using the odd-even graphing method, add the weld edges in the local undirected connected graph G″ to set E' to form the repeating edge set E'.
[0016] Step 6: Update the undirected connected graph: Add the set of repeated edges E' from step 5 to the undirected connected graph G from step 1, forming an updated undirected connected graph G′ = [V, E, E′, W] that satisfies an Eulerian circuit. t ′()];wherein, W t ′() represents the weld edge weights in weld edge sets E and E'.
[0017] Step 7: Solve for the Eulerian circuit: For an undirected connected graph G that satisfies the Eulerian circuit or to update the undirected connected graph G′, use the depth-first search algorithm to solve for the Eulerian circuit and obtain the shortest traversal weld path for the spherical tank inspection robot.
[0018] In step 3, the method for determining whether an Eulerian circuit is satisfied is as follows: determine the parity of the number of connecting edges at each weld intersection in the undirected connected graph G; when the number of connecting edges at each weld intersection is even, it is considered to satisfy an Eulerian circuit.
[0019] Step 5, which uses the odd-even construction method to add repeating edges, includes the following steps:
[0020] Step 5-1: Select weld intersection point: From the weld point set V″ of the locally undirected connected graph G″, arbitrarily select a weld intersection point v″. m .
[0021] Step 5-2: Select the edge with the minimum weight for welding: Traverse v” m The weights of all weld edges are calculated, and the weld edge with the smallest weight, e(v), is selected. m ,v' n '); where, e" (v) m ,v' n ') indicates the weld intersection v” m and weld intersection v' n The connecting edge between '.
[0022] Step 5-3, Add repeating edges: Add repeating edges to the connection edge e (v). m ,v' n As a repeating edge, add it to the weld edge set E' of the updated undirected connected graph G', and remove the weld intersection v" from the local undirected connected graph G″. m 、v” n 、v” m All connected edges, and v” n All connected edges.
[0023] Step 5-4: Add virtual edges: In the locally undirected connected graph G″ except for v” m and v' n For each weld intersection other than ', determine the parity of the number of connected edges at the weld intersection; if it is even, add a virtual edge to make it odd.
[0024] Step 5-5: Repeat steps 5-1 to 5-4 until the local undirected connected graph G″ becomes an empty set; at this point, the weld edge set E' is the repeated edge set that has been added.
[0025] Step 7, which uses a depth-first search algorithm to solve for Eulerian circuits, includes the following steps.
[0026] Step 7-1: Define stack S: Define an empty stack S to store the traversed paths, and set k to point to the top of the current stack S. Initially, k = 0.
[0027] Step 7-2, Select the starting point of the path: Randomly select a weld intersection point v0 from the weld intersection point set V as the starting point of the path ε; let v p v represents the weld intersection currently being traversed. p =v0;
[0028] Step 7-3, Determine the array array Used to store the currently traversed weld intersection v p The edges that have already been traversed; for each v p All checks whether an array exists. as well as Is it non-empty?
[0029] Step 7-5: Locate the intersection point v of adjacent welds q Based on the judgment result of step 7-3, the search is performed as follows:
[0030] A. When no array exists When that happens, define an empty array. v q To be with v p Any intersection of connected weld seams.
[0031] B. When an array exists and When it is empty, v q To be with v p Any intersection of connected weld seams.
[0032] C. When an array exists and If it is not empty, arbitrarily select one that is not in Welding edge A appears in the image, and the intersection of the weld seams corresponding to welding edge A is taken as v. q .
[0033] Step 7-6: Update the array weld edge e(v) p ,v q Store in an array middle.
[0034] Step 7-7, Push onto stack: Push the welding edge e(v) onto the stack. p ,v q Push the edge e(v) onto the stack S, and increment k; simultaneously, delete the welded edge e(v) in the updated undirected connected graph G'. p ,v q ).
[0035] Steps 7-8: Update the current traversal point: update the current traversal weld intersection point v. p Updated to the v found in steps 7-5 q That is, v p =v q .
[0036] Steps 7-9: Check for omissions: For the currently traversed weld intersections v p In updating the undirected connected graph G', check if there are any other untraversed paths; if so, proceed to step 7-11; otherwise, proceed to step 7-10.
[0037] Steps 7-10: Restore the data of the weld intersection points from the previous pass: Return to the weld intersection point v from the previous pass. p The intersection point v of the previous weld seam p The following welding edge data was used to restore the data.
[0038] A. Weld edge data recovery: In updating the undirected connected graph G', the deleted weld intersection points v from the previous pass will be restored. p welding edge e(v) p ,v q Data recovery.
[0039] B. Weld edge popping: Push the weld edge v from the previous pass through the stack into S. p welding edge e(v) p ,v q Pop the stack and update the top of stack S, and decrement k by one.
[0040] C. Arrays Update the welding edge: Store it in an array The previous pass weld intersection v p welding edge e(v) p ,vq ) to delete.
[0041] Step 7-11: Repeat steps 7-3 to 7-10 until k = n.
[0042] Step 7-12: Obtain the shortest traversal path ε: The path from the bottom to the top of the stack S is the obtained shortest traversal path ε.
[0043] In steps 7-12, the paths at the top of stack S are popped one by one and sorted in reverse order of popping time to obtain the shortest traversal path ε.
[0044] The three-dimensional spherical tank includes a middle zone, an upper pole zone above the middle zone, and a lower pole zone below the middle zone; wherein, the middle zone refers to the upper circumferential weld, the lower circumferential weld, and the spherical tank area between the upper circumferential weld and the lower circumferential weld; steps 1 to 7 are repeated for the upper pole zone, the middle zone, and the lower pole zone.
[0045] The present invention has the following beneficial effects:
[0046] 1. This invention first transforms the 2D map of the spherical tank welds into an undirected connected graph. By determining whether the weld intersections meet the requirements of an Eulerian circuit, and using the odd-even graphing method and depth-first search algorithm, the shortest path Eulerian circuit is constructed. This method ensures that the spherical tank climbing robot can efficiently traverse all welds on the shortest path, improving the accuracy and efficiency of path planning and providing reliable data support for the autonomous line-following navigation of the spherical tank climbing robot. Because the distance between the weld intersections in the spherical tank is relatively short, the weld length is usually short, and the surface of the spherical tank is a uniform sphere with isotropic properties, it is suitable to use the odd-even graphing method to construct Eulerian circuits. This ensures the connectivity and continuity of each weld during traversal. Furthermore, since the spherical tank is spherical, the number of welds is much greater than that of the cylindrical tank. The Eulerian circuit formed by the welds may contain many smaller Eulerian circuits. Using other methods, it is easy to only traverse some small Eulerian circuits and not be able to traverse all paths of the large Eulerian circuit at once. However, using the depth-first search algorithm, although it is a brute-force solution, will eventually obtain a path that can traverse the entire Eulerian circuit, which can avoid getting trapped in local optima.
[0047] 2. The path planning method of this invention can significantly improve the intelligence level and detection technology level of the spherical tank climbing robot. By optimizing the weld seam traversal path, repetitive movements and unnecessary paths of the robot in complex environments are reduced, thereby improving work efficiency and detection accuracy.
[0048] 3. The efficient path control scheme provided by this invention makes the robot more stable and accurate when performing weld inspection and maintenance operations, providing a solid guarantee for subsequent defect detection and maintenance work.
[0049] 4. Compared to path planning on 2D planar maps, traditional path planning methods may require a large number of path adjustments in multiple iterations. However, the odd-even graphing method can transform the problem into a graph traversal problem in graph theory, forming an Eulerian circuit to ensure that there is always a traversal path, thus simplifying the complexity of path planning. Attached Figure Description
[0050] Figure 1 This is a flowchart of the odd-even plotting method.
[0051] Figure 2 This is a flowchart of the path planning process for the depth-first search algorithm.
[0052] Figure 3 This is an Eulerian circuit graph constructed in an undirected connected graph of the upper polar zone using the odd-even construction method.
[0053] Figure 4 This is an Eulerian circuit diagram constructed in an undirected connected graph of the lower polar zone using the odd-even plotting method.
[0054] Figure 5 This is an Eulerian circuit graph constructed in an undirected connected graph with intermediate zones using the odd-even plotting method.
[0055] Figure 6 The upper polar zone path map is planned using the depth-first search algorithm.
[0056] Figure 7 The lower polar band path map is planned using the depth-first search algorithm.
[0057] Figure 8 The intermediate path graph planned using the depth-first search algorithm.
[0058] Figure 9 This is a schematic diagram showing the division of the spherical tank area. Detailed Implementation
[0059] The present invention will now be described in further detail with reference to the accompanying drawings and specific preferred embodiments.
[0060] In the description of this invention, it should be understood that the terms "left side," "right side," "upper part," "lower part," etc., indicate the orientation or positional relationship based on the orientation or positional relationship shown in the accompanying drawings. They are only for the convenience of describing this invention and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation. "First," "second," etc., do not indicate the importance of the components, and therefore should not be construed as a limitation of this invention. The specific dimensions used in this embodiment are only for illustrating the technical solution and do not limit the scope of protection of this invention.
[0061] A method for planning the shortest traversal weld seam path for a spherical tank inspection robot includes the following steps.
[0062] Step 1: Construct a 2D map of the spherical tank: Map the welds and weld intersections in the 3D spherical tank onto a 2D plane to form a 2D map of the spherical tank.
[0063] A method for constructing a 2D map of a petrochemical spherical tank for a high-altitude wall-climbing inspection robot includes the following steps.
[0064] Step 1: Divide the spherical tank area
[0065] like Figure 9 As shown, the spherical tank has an upper circumferential weld 40, a middle circumferential weld 50, and a lower circumferential weld 60. The area of the spherical tank above the upper circumferential weld is called the upper polar zone 10, the area of the spherical tank below the lower circumferential weld is called the lower polar zone 30, the area of the spherical tank between the upper circumferential weld and the middle circumferential weld is called the upper warm zone 21, and the area of the spherical tank between the lower circumferential weld and the middle circumferential weld is called the lower warm zone 22. The upper warm zone and the lower warm zone together constitute the intermediate zone 20.
[0066] In this embodiment, it is preferable to repeat steps 1 to 7 for the upper electrode band, the middle electrode band, and the lower electrode band.
[0067] Step 2, Weld Measurement: Measure the actual length l of each weld on the spherical tank. r .
[0068] Step 3: Construct a two-dimensional map of the upper electrode weld seam.
[0069] like Figure 2 As shown, from the top view of the spherical tank, the distribution of weld intersections and relative positions of the welds in the upper electrode zone is obtained. The actual weld lengths in the upper electrode zone are projected onto a 2D plane to construct a 2D map of the upper electrode zone welds with relative weld positions. In the 2D map of the upper electrode zone welds, each line segment intersection represents an actual weld intersection, also known as upper electrode zone weld intersection point 15, denoted by the letters A1-An.
[0070] like Figure 3As shown, the upper electrode zone preferably has four types of welds of different lengths, namely, the upper electrode zone oblique weld (such as A1A2, etc.), the upper electrode zone transverse edge weld (such as A2A3, etc.), the upper electrode zone transverse center weld (such as A3A4, etc.), and the upper electrode zone longitudinal weld (such as A2A11, etc.).
[0071] Step 4: Construct a two-dimensional map of the lower electrode weld seam.
[0072] like Figure 4 As shown, from the bottom view of the spherical tank, the distribution of weld intersections and relative positions of the welds in the lower electrode zone is obtained. The actual weld lengths in the lower electrode zone are projected onto a 2D plane to construct a 2D map of the lower electrode zone welds with relative weld positions. In the 2D map of the lower electrode zone welds, each line segment intersection represents an actual weld intersection, also known as a lower electrode zone weld intersection point 35, denoted by the letters B1-Bn.
[0073] The lower electrode strip preferably has four types of welds of different lengths: the lower electrode strip oblique weld, the lower electrode strip transverse edge weld, the lower electrode strip transverse center weld, and the lower electrode strip longitudinal weld.
[0074] Step 5: Construct a 2D map of the intermediate weld seam.
[0075] By setting the mapping scaling factor, the upper circumferential weld and the weld intersections on the upper circumferential weld, the lower circumferential weld and the weld intersections on the lower circumferential weld, as well as all welds and intersections between the upper and lower circumferential welds are scaled and deformed to form a two-dimensional map of the middle zone.
[0076] Furthermore, preferably, by setting mapping coefficients [η1, η2, η3, η4, η5], the weld seam and welding intersections are scaled and deformed to form a two-dimensional map of the intermediate zone; wherein:
[0077] η1 is used to synchronously scale the upper circumferential weld and all weld intersections on the upper circumferential weld.
[0078] η2 is used to synchronously scale the weld length in the upper temperature zone.
[0079] η3 is used to synchronously scale the circumferential weld and all weld intersections on the circumferential weld.
[0080] η4 is used to synchronously scale the weld length in the lower temperature zone, preferably η2 = η4 = 2η1.
[0081] η5 is used to synchronously scale the lower circumferential weld and all weld intersections on the lower circumferential weld.
[0082] Where η5 > η3 > η1, the upper, middle, and lower circumferential welds form a concentric circular structure arranged sequentially from the inside out in the two-dimensional map of the middle zone. Both the upper and lower temperature zone welds are arranged radially and staggered circumferentially. The two ends of the upper temperature zone weld are connected to the upper and middle circumferential welds, respectively, and the two ends of the lower temperature zone weld are connected to the middle and lower circumferential welds, respectively.
[0083] like Figure 5 and Figure 8 As shown, the method for constructing the above-mentioned two-dimensional map with intermediate weld seams includes the following steps.
[0084] Step 5-1: Construct the upper circumferential weld: Simultaneously scale the upper circumferential weld and all weld intersections C1-Cn located on the upper circumferential weld with a mapping coefficient η1; wherein, the length l1' of each upper circumferential weld after scaling is η1 times its true length l1; the coordinates of each upper circumferential weld intersection are η1 times the true coordinates.
[0085] Step 5-2: Construct the upper temperature zone weld: Starting from the intersection point C1-Cn of the upper circumferential weld, construct upper temperature zone welds with a length of l'2 along the radial direction, with the tail endpoints D1-Dn respectively; where l'2=l2·η2, and l2 is the actual length of the upper temperature zone weld.
[0086] Step 5-3: Construct the circumferential weld: Simultaneously scale the circumferential weld and some weld intersection points F1-Fn located on the circumferential weld with a mapping coefficient η3, so that the tail endpoints D1-Dn are all located on the circumferential weld, and are staggered at equal intervals along the circumference with weld intersection points F1-Fn; wherein, the length l3' of each circumferential weld after scaling is η3 times its true length l3; the coordinates of each circumferential weld intersection point are η3 times the true coordinates; D1-Dn and F1-Fn together constitute the circumferential weld intersection point.
[0087] Step 5-4: Constructing the lower temperature zone weld: Starting from the intersection point F1-Fn of the middle circumferential weld, construct the lower temperature zone weld with a length of l'4 along the radial direction, with the tail endpoints E1-En respectively; where l'4=l4·η4, and l4 is the actual length of the lower temperature zone weld.
[0088] Step 5-5: Construct the lower circumferential weld: Scale the lower circumferential weld with a mapping coefficient η5, and ensure that the tail endpoints E1-En are all located on the lower circumferential weld, forming the lower circumferential weld intersection point; wherein, the length l5' of each lower circumferential weld after scaling is η5 times its true length l5; the coordinates of each lower circumferential weld intersection point are η5 times the true coordinates.
[0089] Step 6: Construct a dataset of weld lengths for spherical tanks: For each weld constructed in steps 3 to 5, save the actual weld length measured in step 2. r .
[0090] Furthermore, based on the weld length of the spherical tank, the welds are preferably divided into n categories, and n weld length coefficients [k1,k2,k3,L,k] are set. n This allows the storage of the true length of each weld seam. Specifically, the method for storing the true length of the i-th type of weld seam is as follows: l ri =k i πR c Among them, l ri R represents the length coefficient of the i-th type of weld, 1≤i≤n; c Let be the radius of the spherical tank.
[0091] In this embodiment, N=8, which are the oblique welds of the upper / lower electrode zone (such as A1A2, A5A6, etc.), the transverse edge welds of the upper / lower electrode zone (such as A2A3, A4A5, etc.), the transverse center welds of the upper / lower electrode zone (such as A3A4, A9A10, etc.), the longitudinal welds of the upper / lower electrode zone (such as A2A11, A3A10, etc.), the upper / lower circumferential welds, the upper temperature zone welds, the middle circumferential welds, and the lower temperature zone welds; by setting 8 weld length coefficients [k1,k2,k3,L,k8], the actual lengths of the 8 types of welds are stored.
[0092] The preferred values for the above eight weld length coefficients are: k1 = 0.0645; k2 = 0.0967; k3 = 0.0806; k4 = 0.2546; k5 = 0.0707; k6 = 0.2220; k7 = 0.0978 and k8 = 0.2779.
[0093] In this embodiment, the 2D maps of the upper polar zone, the middle polar zone, and the lower polar zone are preferably constructed separately.
[0094] Step 2: Construct an undirected connected graph G: Form a weld point set V from all weld intersections in the 2D map of the spherical tank, and form a weld edge set E from all welds in the 2D map of the spherical tank. Construct an undirected connected graph G = [V, E, W]. t ()];wherein, W t () represents the weld edge weight in the weld edge set E, which is proportional to the path length of the weld and is greater than or equal to 0.
[0095] Step 3: Determine if an Eulerian circuit is satisfied. For each weld intersection in the undirected connected graph G, determine whether it meets the requirements of an Eulerian circuit. The preferred method for determining if an Eulerian circuit is satisfied is to determine the parity of the number of connected edges at each weld intersection in the undirected connected graph G. When the number of connected edges at each weld intersection is even, it is considered to satisfy the requirements of an Eulerian circuit.
[0096] When there are weld intersections that do not meet the requirements of an Euler circuit, all weld intersections that do not meet the requirements of an Euler circuit are recorded in V. E The collection is then processed, and step 4 is initiated.
[0097] When all weld intersections meet the Euler circuit requirements, proceed to step 7.
[0098] Step 4: Construct a locally undirected connected graph G″: Based on V E Construct a locally undirected connected graph G″=[V″,E″,W] using sets. t "()]; where V″ is the weld point set V only retains the point set V E Includes all weld intersections; E″ is the weld edge set obtained from weld edge set E that connects to the weld intersections in V″; W t "() is from W t The weld edge weights obtained from the weld edge set E″ are the weld edge weights obtained in ().
[0099] Step 5: Add repeating edges: Set an empty set E'. Using the odd-even graphing method, add the weld edges in the local undirected connected graph G″ to set E' to form the repeating edge set E'.
[0100] like Figure 1 As shown, the method for adding repeating edges using the odd-even construction method preferably includes the following steps:
[0101] Step 5-1: Select weld intersection point: From the weld point set V″ of the locally undirected connected graph G″, arbitrarily select a weld intersection point v″. m .
[0102] Step 5-2: Select the edge with the minimum weight for welding: Traverse v” m The weights of all weld edges are calculated, and the weld edge with the smallest weight, e(v), is selected. m ,v' n '); where, e" (v) m ,v' n ') indicates the weld intersection v” m and weld intersection v' n The connecting edge between '.
[0103] Step 5-3, Add repeating edges: Add repeating edges to the connection edge e (v). m ,v' n As a repeating edge, add it to the weld edge set E' of the updated undirected connected graph G', and remove the weld intersection v" from the local undirected connected graph G″. m 、v” n 、v” mAll connected edges, and v” n All connected edges.
[0104] Step 5-4: Add virtual edges: In the locally undirected connected graph G″ except for v” m and v” n For each weld intersection other than the one mentioned above, determine the parity of the number of connected edges at the weld intersection; if the number is even, add a virtual edge to make it odd.
[0105] Step 5-5: Repeat steps 5-1 to 5-4 until the local undirected connected graph G″ becomes an empty set; at this point, the weld edge set E' is the repeated edge set that has been added.
[0106] In this embodiment, the Eulerian circuit diagrams constructed on the upper pole zone, lower pole zone, and intermediate zone are respectively as follows: Figure 3 , Figure 4 and Figure 5 As shown.
[0107] Step 6: Update the undirected connected graph: Add the set of repeated edges E' from step 5 to the undirected connected graph G from step 1, forming an updated undirected connected graph G′ = [V, E, E′, W] that satisfies an Eulerian circuit. t ′()];wherein, W t ′() represents the weld edge weights in weld edge sets E and E'.
[0108] Step 7: Solve for the Eulerian circuit: For an undirected connected graph G that satisfies the Eulerian circuit or to update the undirected connected graph G′, use the depth-first search algorithm to solve for the Eulerian circuit and obtain the shortest traversal weld path for the spherical tank inspection robot.
[0109] like Figure 2 As shown, the method for solving Eulerian circuits using a depth-first search algorithm includes the following steps:
[0110] Step 7-1: Define stack S: Define an empty stack S to store the traversed paths, and set k to point to the top of the current stack S. Initially, k = 0.
[0111] Step 7-2, Select the starting point of the path: Randomly select a weld intersection point v0 from the set of weld intersection points V as the starting point of the path ε; let v p v represents the weld intersection currently being traversed. p =v0;
[0112] Step 7-3, Determine the array array Used to store the currently traversed weld intersection v p The edges that have already been traversed; for each v p All checks whether an array exists. as well as Is it non-empty?
[0113] Step 7-5: Locate the intersection point v of adjacent welds q Based on the judgment result of step 7-3, the search is performed as follows:
[0114] A. When no array exists When that happens, define an empty array. v q To be with v p Any intersection of connected weld seams.
[0115] B. When an array exists and When it is empty, v q To be with v p Any intersection of connected weld seams.
[0116] C. When an array exists and If it is not empty, arbitrarily select one that is not in Welding edge A appears in the image, and the intersection of the weld seams corresponding to welding edge A is taken as v. q .
[0117] Step 7-6: Update the array weld edge e(v) p ,v q Store in an array middle.
[0118] Step 7-7, Push onto stack: Push the welding edge e(v) onto the stack. p ,v q Push the edge e(v) onto the stack S, and increment k; simultaneously, delete the welded edge e(v) in the updated undirected connected graph G'. p ,v q ).
[0119] Steps 7-8: Update the current traversal point: update the current traversal weld intersection point v. p Updated to the v found in steps 7-5 q That is, v p =v q .
[0120] Steps 7-9: Check for omissions: For the currently traversed weld intersections v p In updating the undirected connected graph G', check if there are any other untraversed paths; if so, proceed to step 7-11; otherwise, proceed to step 7-10.
[0121] The purpose of this step is to prevent the algorithm from getting stuck in an infinite loop, such as... Figure 3In the process of traversing from A1 to A2 and then back from A2 to A1, if there are no other paths to traverse near A1, the algorithm will enter an infinite loop. In this case, return to the previous traversal point A2, restore the path data from A2 to A1, and select other adjacent points besides A1, such as A3 or A11, as the next traversal point.
[0122] Steps 7-10: Restore the data of the weld intersection points from the previous pass: Return to the weld intersection point v from the previous pass. p The intersection point v of the previous weld seam p The following welding edge data was used to restore the data.
[0123] A. Weld edge data recovery: In updating the undirected connected graph G', the deleted weld intersection points v from the previous pass will be restored. p welding edge e(v) p ,v q Data recovery.
[0124] B. Weld edge popping: Push the weld edge v from the previous pass through the stack into S. p welding edge e(v) p ,v q Pop the stack and update the top of stack S, and decrement k by one.
[0125] C. Arrays Middle welding edge update: Stored to array The previous pass weld intersection v p welding edge e(v) p ,v q ) to delete.
[0126] Step 7-11: Repeat steps 7-3 to 7-10 until k = n.
[0127] Steps 7-12: Obtain the shortest traversal path ε: The path from the bottom to the top of the stack S is the obtained shortest traversal path ε. Further, the paths at the top of the stack S can be popped sequentially and sorted in reverse order of popping time to obtain the shortest traversal path ε.
[0128] In this embodiment, the shortest traversal paths solved in the upper polar band, lower polar band, and intermediate band are respectively as follows: Figure 6 , Figure 7 and Figure 8 As shown. In Figure 8 In the middle, starting from C1, the path is:
[0129] C1.C2.C3.C4.C5.C6.C7.C8.C9.C10.C11.C12.C13.C14.C15.C16.C17.C18.C19.C20. C1.D1.F20.D20.C20.C19.D19.F18.D18.C18.C17.D17.F16.D16.C16.C15.D15.F14.D 14.C14.C13.D13.F12.D12.C12.C11.D11.F10.D10.C10.C9.D9.F8.D8.C8.C7.D7.F6. D6.C6.C5.D5.F4.D4.C4.C3.D3.F2.E2.E3.F3.D3.F3.D4.F4.E4.E3.E4.E5.F5.D5.F5. D6.F6.E6.E5.E6.E7.F7.D7.F7.D8.F8.E8.E7.E8.E9.F9.D9.F9.D10.F10.E10.E9.E1 0.E11.F11.D11.F11.D12.F12.E12.E11.E12.E13.F13.D13.F13.D14.F14.E14.E13.E1 4.E15.F15.D15.F15.D16.F16.E16.E15.E16.E17.F17.D17.F17.D18.F18.E18.E17.E 18.E19.F19.D19.F19.D20.F20.E20.E19.E20.E1.E2.E1.F1.D1.F1.D2.F2.D2.C2.C1.
[0130] The preferred embodiments of the present invention have been described in detail above. However, the present invention is not limited to the specific details in the above embodiments. Within the scope of the technical concept of the present invention, various equivalent transformations can be made to the technical solutions of the present invention, and these equivalent transformations all fall within the protection scope of the present invention.
Claims
1. A method for planning the shortest traversal weld path for a spherical tank inspection robot, characterized in that: Includes the following steps: Step 1: Construct a 2D map of the spherical tank: Map the welds and weld intersections in the 3D spherical tank onto a 2D plane to form a 2D map of the spherical tank; Step 2: Construct an undirected connected graph G: Form a weld point set V from all weld intersections in the 2D map of the spherical tank, and form a weld edge set E from all welds in the 2D map of the spherical tank. Construct an undirected connected graph G = [V, E, W]. t ()];wherein, W t () represents the weld edge weight in the weld edge set E, which is proportional to the path length of the weld and is greater than or equal to 0. Step 3: Determine if an Eulerian circuit is satisfied at each weld intersection in the undirected connected graph G. If any weld intersection does not satisfy the Eulerian circuit requirement, record all weld intersections that do not satisfy the Eulerian circuit requirement in V. E In the set, proceed to step 4; When all weld intersections meet the Euler circuit requirements, proceed to step 7. Step 4: Construct a locally undirected connected graph G″: Based on V E Construct a locally undirected connected graph G″=[V″,E″,W] using sets. t "()]; where V″ is the weld point set V only retains the point set V E Includes all weld intersections; E″ is the weld edge set obtained from weld edge set E that connects to the weld intersections in V″; W t "() is from W t The weld edge weights obtained in () are the weld edge weights in the weld edge set E″. Step 5: Add repeating edges: Set an empty set E', and use the odd-even graphing method to add the weld edges in the local undirected connected graph G″ to set E', forming a repeating edge set E'; Step 6: Update the undirected connected graph: Add the set of repeated edges E' from step 5 to the undirected connected graph G from step 1, forming an updated undirected connected graph G′ = [V, E, E′, W] that satisfies an Eulerian circuit. t ′()];wherein, W t ′() represents the weld edge weights in weld edge sets E and E'; Step 7: Solve for the Eulerian circuit: For an undirected connected graph G that satisfies the Eulerian circuit or to update the undirected connected graph G′, use the depth-first search algorithm to solve for the Eulerian circuit and obtain the shortest traversal weld path for the spherical tank inspection robot.
2. The method for planning the shortest traversal weld seam path for a spherical tank inspection robot according to claim 1, characterized in that: In step 3, the method for determining whether an Eulerian circuit is satisfied is as follows: determine the parity of the number of connecting edges at each weld intersection in the undirected connected graph G; when the number of connecting edges at each weld intersection is even, it is considered to satisfy an Eulerian circuit.
3. The method for planning the shortest traversal weld seam path for a spherical tank inspection robot according to claim 1, characterized in that: Step 5, which uses the odd-even construction method to add repeating edges, includes the following steps: Step 5-1: Select weld intersection point: From the weld point set V″ of the locally undirected connected graph G″, arbitrarily select a weld intersection point v″. m ; Step 5-2: Select the edge with the minimum weight for welding: Traverse v” m The weights of all weld edges are calculated, and the weld edge with the smallest weight, e(v), is selected. m ,v' n '); where, e" (v) m ,v' n ') indicates the weld intersection v” m and weld intersection v' n The connecting edge between '; Step 5-3, Add repeating edges: Add repeating edges to the connection edge e (v). m ,v' n As a repeating edge, add it to the weld edge set E' of the updated undirected connected graph G', and remove the weld intersection v" from the local undirected connected graph G″. m v' n '、v” m All connected edges, and v' n All connected edges; Step 5-4: Add virtual edges: In the locally undirected connected graph G″ except for v” m and v' n For each weld intersection other than ', determine the parity of the number of connected edges at the weld intersection; if it is even, add a virtual edge to make it odd. Step 5-5: Repeat steps 5-1 to 5-4 until the local undirected connected graph G″ becomes an empty set; at this point, the weld edge set E' is the repeated edge set that has been added.
4. The method for planning the shortest traversal weld seam of a spherical tank inspection robot according to claim 1, characterized in that: Step 7, which uses a depth-first search algorithm to solve for the Eulerian circuit, includes the following steps: Step 7-1: Define stack S: Define an empty stack S to store the traversed paths, and set k to point to the top of the current stack S. Initially, k = 0. Step 7-2, Select the starting point of the path: Randomly select a weld intersection point v0 from the weld intersection point set V as the starting point of the path ε; let v p v represents the weld intersection currently being traversed. p =v0; Step 7-3: Determine the array H vp Array H vp Used to store the currently traversed weld intersection v p The edges that have already been traversed; for each v p All determine whether array H exists. vp and H vp Is it non-empty? Step 7-5: Locate the intersection point v of adjacent welds q Based on the judgment result of step 7-3, the search is performed as follows: A. When array H does not exist vp When that happens, define an empty array H. vp v q To be with v p Any intersection of connected weld seams; B. When array H exists vp And H vp When it is empty, v q To be with v p Any intersection of connected weld seams; C. When array H exists vp And H vp If it is not empty, arbitrarily select a line that is not in H vp Welding edge A appears in the image, and the intersection of the weld seams corresponding to welding edge A is taken as v. q ; Step 7-6: Update array H vp : Weld edge e(v) p ,v q Stored in array H vp middle; Step 7-7, Push onto stack: Push the welding edge e(v) onto the stack. p ,v q Push the edge e(v) onto the stack S, and increment k; simultaneously, delete the welded edge e(v) in the updated undirected connected graph G'. p ,v q ); Steps 7-8: Update the current traversal point: update the current traversal weld intersection point v. p Updated to the v found in steps 7-5 q That is, v p =v q Steps 7-9: Check for omissions: For the currently traversed weld intersections v p In updating the undirected connected graph G', check if there are any other untraversed paths; If yes, proceed to step 7-11; otherwise, proceed to step 7-10. Steps 7-10: Restore the data of the weld intersection points from the previous pass: Return to the weld intersection point v from the previous pass. p The intersection point v of the previous weld seam p The following welding edge data was used to restore the data: A. Weld edge data recovery: In updating the undirected connected graph G', the deleted weld intersection points v from the previous pass will be restored. p welding edge e(v) p ,v q Data recovery; B. Weld edge popping: Push the weld edge v from the previous pass through the stack into S. p welding edge e(v) p ,v q Pop the stack and update the top of stack S, and decrement k by one; C, Array H vp Update the welding edge: store the data in array H vp The previous pass weld intersection v p welding edge e(v) p ,v q Delete it; Step 7-11: Repeat steps 7-3 to 7-10 until k = n; Step 7-12: Obtain the shortest traversal path ε: The path from the bottom to the top of the stack S is the obtained shortest traversal path ε.
5. The method for planning the shortest traversal weld path for a spherical tank inspection robot according to claim 4, characterized in that: In steps 7-12, the paths at the top of stack S are popped one by one and sorted in reverse order of popping time to obtain the shortest traversal path ε.
6. The method for planning the shortest traversal weld path for a spherical tank inspection robot according to claim 1, characterized in that: The three-dimensional spherical tank includes a middle zone, an upper pole zone above the middle zone, and a lower pole zone below the middle zone; wherein, the middle zone refers to the upper circumferential weld, the lower circumferential weld, and the spherical tank area between the upper circumferential weld and the lower circumferential weld; steps 1 to 7 are repeated for the upper pole zone, the middle zone, and the lower pole zone.
Citation Information
Patent Citations
Spherical tank weld joint robot operation path planning method and system based on intersection points
CN117124326A
Shortest path planning method for mobile robot
CN118010043A