Spherical tank detection robot shortest traversal welding seam path planning method
By converting the 2D map of the spherical tank into an undirected connectivity map and using the parity mapping method and depth-first search algorithm, the complexity problem in the weld path planning of the spherical tank is solved, efficient traversal of the shortest path is achieved, and welding is improved Seam detection efficiency and safety.
Patent Information
- Application Number
- CN202411380119.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-30
- Publication Date
- 2025-01-14
- Estimated Expiration
- 2044-09-30
AI Technical Summary
The existing spherical tank weld path planning algorithms are inefficient when dealing with complex weld crossings, difficult to achieve ideal results, and have safety risks, especially in high-pressure environments.
The 2D map of the spherical tank is converted into an undirected connected map, and converted into an Euler loop through the parity mapping method, and finally the shortest path is obtained using the depth-first search algorithm.
It significantly improves the efficiency of weld inspection, ensures the safety and maintenance efficiency of spherical tanks, provides a basis for line patrol control and weld quality assessment of automation equipment, and reduces manpower risks.
Smart Images

Figure CN119304862A_ABST
Abstract
Description
Technical Field
[0001] The invention relates to a spherical tank weld detection method, in particular to a spherical tank detection robot shortest traversal weld path planning method. Background Art
[0002] Spherical tanks are a common type of industrial storage tank. Due to their unique spherical structure, they have excellent stress-bearing properties and high storage efficiency, and are widely used in the fields of petroleum, chemical industry, and natural gas. Spherical tanks are mainly used to store various liquid or gaseous materials, such as liquefied petroleum gas, liquid nitrogen, and liquid oxygen. The storage safety and stability of these materials are crucial. The design of spherical tanks usually requires a high degree of sealing and pressure resistance to ensure that safety hazards such as leakage and explosion can be effectively prevented under extreme conditions. Therefore, the maintenance and monitoring of spherical tanks is particularly important.
[0003] During the maintenance and construction of spherical tanks, weld inspection and repair are key links to ensure the safety of the tank structure. Due to the complex and diverse distribution of welds in spherical tanks, traditional manual inspection is not only inefficient, but also poses a high safety risk, especially in high-pressure and dangerous working environments. Therefore, developing wall-climbing robots to perform weld inspection and repair tasks has become an effective solution. Such robots can move on the curved surface of spherical tanks and automatically perform high-precision inspection and welding work, significantly improving work efficiency and reducing human risks.
[0004] At present, although some path planning algorithms have been proposed, the path planning method of the spherical tank climbing robot still needs to take into account its special spherical structure. The curvature of the spherical tank surface varies greatly, and the welds are densely distributed and have different shapes. The existing path planning algorithms often fail to achieve ideal results when dealing with the complex paths of the spherical tank welds. For example, traditional algorithms often lead to errors in path selection when faced with this, which increases the complexity and difficulty of planning.
[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 an important impact on improving the maintenance efficiency of spherical tanks and ensuring the safety of storage tanks, and will also open up new directions for the development of automation technology in related fields. Summary of the invention
[0006] The technical problem to be solved by the present invention is to provide a shortest traversal weld path planning method for a spherical tank inspection robot in view of the deficiencies of the above-mentioned prior art. The shortest traversal weld path planning method for the spherical tank inspection robot converts the 2D map of the spherical tank into an undirected connected graph, and converts the undirected connected graph into an Euler circuit by an odd-even mapping method, and finally obtains the shortest path that can traverse all paths of the Euler circuit by a depth-first search algorithm. This method can not only significantly improve the efficiency of weld detection, but also provide a basic basis for line patrol control and weld quality assessment of automated equipment, which is of great significance to ensuring the safe operation of special equipment such as spherical tanks.
[0007] In order to solve the above technical problems, the technical solution adopted by the present invention is:
[0008] A method for planning the shortest traversal weld path of a spherical tank inspection robot comprises the following steps.
[0009] Step 1: Construct a 2D map of the spherical tank: map the welds and weld intersections in the three-dimensional spherical tank to the 2D plane to form a 2D map of the spherical tank.
[0010] Step 2: Construct an undirected connected graph G: All weld intersections contained in the 2D map of the spherical tank are combined into a weld point set V, and all welds contained in the 2D map of the spherical tank are combined into a weld edge set E, and an undirected connected graph G = [V, E, W t ()]; where W t () is 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 the Euler circuit: determine whether each weld intersection in the undirected connected graph G meets the Euler circuit requirements;
[0012] When there are weld intersections that do not meet the Euler loop requirements, all weld intersections that do not meet the Euler loop requirements are recorded in V E and proceed to step 4.
[0013] When all weld intersections meet the Euler circuit requirements, jump to step 7.
[0014] Step 4: Construct a local undirected connected graph G″: According to V E Construct a local undirected connected graph G″=[V″,E″,W t ”()]; where V″ is the weld point set V and only the point set V is retained E All weld intersections included; E″ is the weld edge set obtained from the weld edge set E and connected to the weld intersections in V″; W t ”() is from W t The weld edge weights of the weld edges in the weld edge set E″ obtained in ().
[0015] Step 5, add duplicate edges: set an empty set E', use the even-odd construction method to add the weld edges in the local undirected connected graph G' to the set E' to form a duplicate edge set E'.
[0016] Step 6: Update the undirected connected graph: Add the repeated edge set E' in step 5 to the undirected connected graph G in step 1 to form an updated undirected connected graph G'=[V,E,E',W t ′()]; where W t ′() is the weld edge weight in the weld edge sets E and E'.
[0017] Step 7, solving the Euler circuit: For the undirected connected graph G or the updated undirected connected graph G′ that satisfies the Euler circuit, a depth-first search algorithm is used to solve the Euler circuit to obtain the shortest traversal weld path of the spherical tank inspection robot.
[0018] In step 3, the method for determining whether the Euler circuit is satisfied is as follows: the parity of the number of connecting edges connecting each weld intersection in the weld undirected connected graph G is determined; when the number of connecting edges of each weld intersection is an even number, it is considered that the Euler circuit is satisfied.
[0019] In step 5, the method of adding repeated edges using the even-odd construction method includes the following steps:
[0020] Step 5-1, select the weld intersection point: From the weld point set V″ of the local undirected connected graph G″, arbitrarily select a weld intersection point v″ m .
[0021] Step 5-2, select the minimum weight welding edge: traverse v" m The weights of all weld edges are calculated and the weld edge with the smallest weight is selected. m ,v' n '); where e”(v” m ,v' n ') represents the weld intersection point v" m and weld intersection v' n 'The connecting edges between .
[0022] Step 5-3, add duplicate edges: connect the edge e" (v" m ,v' n ') as a duplicate edge, added to the weld edge set E' of the updated undirected connected graph G', and the weld intersection point v" is deleted from the local undirected connected graph G" m 、v” n 、v” m All connected edges of , and v" n All connected edges of .
[0023] Step 5-4, add virtual edges: remove v from the local undirected connected graph G″ m and v' n For each weld intersection other than ', the parity of the number of edges connecting the weld intersection is determined; if it is an even number, a virtual edge is added to make it an odd number.
[0024] Step 5-5, repeat step 5-1 to step 5-4 until the local undirected connected graph G″ becomes an empty set; at this time, the weld edge set E' is a repeated edge set that has been added.
[0025] In step 7, a method for solving the Euler circuit using a depth-first search algorithm includes the following steps.
[0026] Step 7-1, define stack S: define an empty stack S to store the passed path, and take k to point to the top of the current stack S. In the initial state, k = 0.
[0027] Step 7-2, select the path starting point: select any weld intersection point v0 from the weld intersection point set V as the starting point of the path ε; let v p represents the weld intersection currently being traversed, then v p =v0;
[0028] Step 7-3, judge the array Arrays Used to save the current traversal weld intersection v p The connected edges that have been traversed; for each v p , both determine whether an array exists as well as Is it non-empty?
[0029] Step 7-5: Find the intersection point v of adjacent welds q : According to the judgment result of step 7-3, search is performed, specifically:
[0030] A. When there is no array When an empty array is defined v q For v p Any weld intersection that is connected.
[0031] B. When there is an array and When it is empty, v q For v p Any weld intersection that is connected.
[0032] C. When there is an array and When it is not empty, select any one of The weld edge A appears in the figure, and the weld intersection point corresponding to the weld edge A is taken as v q .
[0033] Step 7-6: Update the array The weld edge e(v p ,v q ) to store in an array middle.
[0034] Step 7-7, stacking: weld the edge e(v p ,v q ) is pushed into S, and k is incremented by one; at the same time, the welding edge e(v p ,v q ).
[0035] Step 7-8, current traversal point update: update the current traversal weld intersection point v p Updated to v found in step 7-5 q , that is, v p =v q .
[0036] Step 7-9, leak detection: traverse the current weld intersection v p , check whether there are other paths that have not been traversed in the updated undirected connected graph G'; if so, go to step 7-11; otherwise, go to step 7-10.
[0037] Step 7-10, restore the data of the last weld intersection: return to the last weld intersection v p , the previous weld intersection v p The following welding edge data is restored.
[0038] A. Weld edge data recovery: In the update of the undirected connected graph G', the last traversal weld intersection v is deleted. p The welding edge e(v p ,v q ) data to recover.
[0039] B. Welding edge out of the stack: push the edge into the stack to the previous weld intersection point v in S p The welding edge e(v p ,v q ) is popped from the stack, and the top of stack S is updated, and k is reduced by one.
[0040] C. Array Update of weld edges: store to array The previous traversal weld intersection v in p The 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 of the stack to the top of the stack in the stack S is the obtained shortest traversal path ε.
[0043] In step 7-12, the paths at the top of the stack S are popped out one by one, and sorted in the reverse order of the popping time to obtain the shortest traversal path ε.
[0044] The three-dimensional spherical tank includes a middle zone, an upper pole zone located above the middle zone, and a lower pole zone located 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. The present invention first converts the 2D map of the spherical tank weld into an undirected connected graph, and by judging whether the weld intersection meets the Euler circuit requirements, the even-odd mapping method and the depth-first search algorithm are used to realize the construction of the shortest path Euler circuit. This method ensures that the spherical tank wall-climbing robot can efficiently traverse all welds on the shortest path, improves the accuracy and efficiency of path planning, and provides reliable data support for the autonomous line-patrolling navigation of the spherical tank wall-climbing robot. Since the distance between the intersections of the spherical tank welds is relatively close, the weld length is usually relatively short, and the surface of the spherical tank is uniformly spherical and has isotropic characteristics, it is suitable to use the even-odd mapping method to construct the Euler circuit, which can ensure the connectivity and connectivity of each weld during traversal. In addition, since the spherical tank is spherical, the number of welds is much greater than that of the cylindrical tank. The Euler circuit composed of welds may contain many smaller Euler circuits. Using other methods, it is easy to only traverse some small Euler circuits and it is impossible to traverse all the paths of the large Euler circuit at one time. Although the depth-first search algorithm is a brute force solution, it will eventually obtain a path that can traverse the entire Euler circuit, which can avoid falling into the local optimal solution.
[0047] 2. The path planning method of the present invention can significantly improve the intelligence level and detection technology level of the spherical tank wall climbing robot. By optimizing the weld traversal path, the robot's repeated movements and unnecessary paths in complex environments are reduced, and the work efficiency and detection accuracy are improved.
[0048] 3. The efficient path control solution provided by the present 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 with 2D plane map path planning, traditional path planning methods may require a large number of path adjustments in multiple iterations, while the even-odd construction method can transform the problem into a graph traversal problem in graph theory, constructing an Euler circuit to ensure that there is a traversal path, thus simplifying the complexity of path planning. BRIEF DESCRIPTION OF THE DRAWINGS
[0050] Figure 1 This is a flowchart for the even-odd construction method.
[0051] Figure 2 This is the path planning flowchart of the depth-first search algorithm.
[0052] Figure 3 It is an Euler circuit diagram constructed in the upper polar band undirected connected graph using the even-odd construction method.
[0053] Figure 4 It is an Euler circuit diagram constructed in the undirected connected graph of the lower polar band using the even-odd construction method.
[0054] Figure 5 It is an Euler circuit diagram constructed in the median undirected connected graph using the even-odd construction method.
[0055] Figure 6 This is the upper pole path diagram planned using the depth-first search algorithm.
[0056] Figure 7 This is a graph of the lower polar belt path planned using the depth-first search algorithm.
[0057] Figure 8 A graph of the median path planned using a depth-first search algorithm.
[0058] Fig. 9 This is a schematic diagram of the spherical tank area division. DETAILED DESCRIPTION
[0059] The present invention will be further described in detail below in conjunction with the accompanying drawings and specific preferred embodiments.
[0060] In the description of the present invention, it should be understood that the terms "left side", "right side", "upper part", "lower part" and the like indicate the orientation or positional relationship based on the orientation or positional relationship shown in the drawings, which is only for the convenience of describing the present invention and simplifying the description, and does not indicate or imply that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation. "First", "second" and the like do not indicate the importance of the components, and therefore cannot be understood as limiting the present invention. The specific dimensions used in this embodiment are only for illustrating the technical solution, and do not limit the scope of protection of the present invention.
[0061] A shortest traversal weld path planning method for a spherical tank inspection robot comprises the following steps.
[0062] Step 1: Construct a 2D map of the spherical tank: map the welds and weld intersections in the three-dimensional spherical tank to the 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 detection robot comprises the following steps.
[0064] Step 1: Spherical tank area division
[0065] like Fig. 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 temperature zone 21; the area of the spherical tank between the lower circumferential weld and the middle circumferential weld is called the lower temperature zone 22; the upper temperature zone and the lower temperature zone together constitute the middle zone 20.
[0066] In this embodiment, it is preferred to repeat the following steps 1 to 7 for the upper pole band, the middle band and the lower pole band.
[0067] Step 2: Weld measurement: Measure the actual length of each weld on the spherical tank. r .
[0068] Step 3: Construct a 2D map of the upper pole belt weld
[0069] like Figure 2 As shown, from the top view of the spherical tank, the intersection points of the welds in the upper pole belt and the relative position distribution of the welds are obtained, and the actual weld length in the upper pole belt is projected onto a 2D plane to construct a two-dimensional map of the upper pole belt welds with the relative position relationship of the welds. In the two-dimensional map of the upper pole belt welds, each line segment intersection represents the intersection point of the actual weld, also called the upper pole belt weld intersection 15, represented by letters A1-An.
[0070] like Figure 3As shown, the upper pole band preferably has four types of welds of different lengths, namely the upper pole band oblique weld (such as A1A2, etc.), the upper pole band transverse edge weld (such as A2A3, etc.), the upper pole band transverse center weld (such as A3A4, etc.) and the upper pole band longitudinal weld (such as A2A11, etc.).
[0071] Step 4: Construct a 2D map of the lower pole weld
[0072] like Figure 4 As shown, from the upward angle of the spherical tank, the intersection points of the welds in the lower polar zone and the relative position distribution of the welds are obtained, and the actual weld length in the lower polar zone is projected onto a 2D plane to construct a lower polar zone weld 2D map with the relative position relationship of the welds. In the lower polar zone weld 2D map, each line segment intersection point represents the intersection point of the actual weld, also called the lower polar zone weld intersection point 35, represented by letters B1-Bn.
[0073] The lower pole band preferably has four types of welds of different lengths, namely, the lower pole band oblique weld, the lower pole band transverse edge weld, the lower pole band transverse center weld and the lower pole band longitudinal weld.
[0074] Step 5: Construct a 2D map of the middle zone weld
[0075] By setting the mapping scale coefficient, the upper circular weld and the weld intersections on the upper circular weld, the lower circular weld and the weld intersections on the lower circular weld, and all welds and intersections between the upper circular weld and the lower circular weld are scaled and deformed to form a two-dimensional map of the middle zone.
[0076] Furthermore, it is preferred to set mapping coefficients [η1, η2, η3, η4, η5] to scale and deform the welds and weld intersections to form a two-dimensional map of the middle 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 temperate zone.
[0079] η3 is used to synchronously scale the mid-circumferential weld and all weld intersections on the mid-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] Among them, η5>η3>η1, so that in the two-dimensional map of the intermediate zone, the upper circumferential weld, the middle circumferential weld and the lower circumferential weld form a concentric circle structure arranged from the inside to the outside, and the upper temperate zone weld and the lower temperate zone weld are arranged radially and staggered circumferentially. The two ends of the upper temperate zone weld are respectively connected to the upper circumferential weld and the middle circumferential weld, and the two ends of the lower temperate zone weld are respectively connected to the middle circumferential weld and the lower circumferential weld.
[0083] like Figure 5 and Figure 8 As shown, the method for constructing the above-mentioned two-dimensional map of the intermediate zone weld includes the following steps.
[0084] Step 5-1, construct the upper circumferential weld: the upper circumferential weld and all weld intersections C1-Cn located on the upper circumferential weld are synchronously scaled with the mapping coefficient η1; wherein the scaled length l1' of each upper circumferential weld is η1 times its actual length l1; and the coordinates of each upper circumferential weld intersection are η1 times the actual coordinates.
[0085] Step 5-2, construct the upper temperate zone weld: starting from the intersection point C1-Cn of the upper circumferential weld, construct the upper temperate zone weld with a length of l'2 in the radial direction, and the tail end points are D1-Dn respectively; where l'2=l2·η2, l2 is the actual length of the upper temperate zone weld.
[0086] Step 5-3, constructing a mid-circumferential weld: the mid-circumferential weld and some weld intersections F1-Fn located on the mid-circumferential weld are synchronously scaled with a mapping coefficient η3, and the tail end points D1-Dn are all located on the mid-circumferential weld, and the weld intersections F1-Fn are equidistantly staggered along the circumferential direction; wherein the scaled length l3' of each mid-circumferential weld is η3 times its actual length l3; the coordinates of each mid-circumferential weld intersection are η3 times the actual coordinates; D1-Dn and F1-Fn together constitute the mid-circumferential weld intersection.
[0087] Step 5-4, construct the lower temperate zone weld: starting from the mid-circumferential weld intersection F1-Fn, construct the lower temperate zone weld with a length of l'4 in the radial direction, and the tail end points are E1-En respectively; wherein l'4=l4·η4, l4 is the actual length of the lower temperate zone weld.
[0088] Step 5-5, construct the lower circular weld: scale the lower circular weld with the mapping coefficient η5, and make the tail end points E1-En all located on the lower circular weld, and form the lower circular weld intersection; wherein, the scaled length l5' of each lower circular weld is η5 times its actual length l5; the coordinates of each lower circular weld intersection are η5 times the actual coordinates.
[0089] Step 6: Construct a spherical tank weld length dataset: For each weld constructed in steps 3 to 5, save the actual weld length l measured in step 2 r .
[0090] Furthermore, according to 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 n ], so that the true length of each weld can be saved. The true length of the i-th weld is saved as follows: ri =k i πR c ; Among them, l ri Represents the length coefficient of the i-th type weld, 1≤i≤n; R c is the radius of the spherical tank.
[0091] In this embodiment, N is preferably 8, which are the upper / lower polar band oblique welds (such as A1A2, A5A6, etc.), the upper / lower polar band transverse edge welds (such as A2A3, A4A5, etc.), the upper / lower polar band transverse center welds (such as A3A4, A9A10, etc.), the upper / lower polar band longitudinal welds (such as A2A11, A3A10, etc.), the upper / lower circumferential welds, the upper temperate zone welds, the mid-circumferential welds and the lower temperate zone welds; by setting 8 weld length coefficients [k1, k2, k3, L, k8], the actual lengths of the 8 types of welds can be saved.
[0092] The above eight weld length coefficients are preferably: 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 zone and the lower polar zone are preferably constructed separately.
[0094] Step 2: Construct an undirected connected graph G: All weld intersections contained in the 2D map of the spherical tank are combined into a weld point set V, and all welds contained in the 2D map of the spherical tank are combined into a weld edge set E, and an undirected connected graph G = [V, E, W t ()]; where W t () is 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 the Euler circuit: determine whether each weld intersection in the undirected connected graph G meets the Euler circuit requirements; the method for determining whether the Euler circuit is satisfied is preferably: determine the parity of the number of connecting edges connecting each weld intersection in the weld undirected connected graph G; when the number of connecting edges of each weld intersection is an even number, it is considered that the Euler circuit is satisfied.
[0096] When there are weld intersections that do not meet the Euler loop requirements, all weld intersections that do not meet the Euler loop requirements are recorded in V E and proceed to step 4.
[0097] When all weld intersections meet the Euler circuit requirements, jump to step 7.
[0098] Step 4: Construct a local undirected connected graph G″: According to V E Construct a local undirected connected graph G″=[V″,E″,W t ”()]; where V″ is the weld point set V and only the point set V is retained E All weld intersections included; E″ is the weld edge set obtained from the weld edge set E and connected to the weld intersections in V″; W t ”() is from W t The weld edge weights of the weld edges in the weld edge set E″ obtained in ().
[0099] Step 5, add duplicate edges: set an empty set E', use the even-odd construction method to add the weld edges in the local undirected connected graph G' to the set E' to form a duplicate edge set E'.
[0100] like Figure 1 As shown, the method of adding repeated edges using the even-odd construction method preferably includes the following steps:
[0101] Step 5-1, select the weld intersection point: From the weld point set V″ of the local undirected connected graph G″, arbitrarily select a weld intersection point v″ m .
[0102] Step 5-2, select the minimum weight welding edge: traverse v" m The weights of all weld edges are calculated and the weld edge with the smallest weight is selected. m ,v' n '); where e”(v” m ,v' n ') represents the weld intersection point v" m and weld intersection v' n 'The connecting edges between .
[0103] Step 5-3, add duplicate edges: connect the edge e" (v" m ,v' n ') as a duplicate edge, added to the weld edge set E' of the updated undirected connected graph G', and the weld intersection point v" is deleted from the local undirected connected graph G" m 、v” n 、v” mAll connected edges of , and v" n All connected edges of .
[0104] Step 5-4, add virtual edges: remove v from the local undirected connected graph G″ m and v" n For each weld intersection except , the parity of the number of edges connecting the weld intersection is judged; if it is an even number, a virtual edge is added to make it an odd number.
[0105] Step 5-5, repeat step 5-1 to step 5-4 until the local undirected connected graph G″ becomes an empty set; at this time, the weld edge set E' is a repeated edge set that has been added.
[0106] In this embodiment, the Euler circuit diagrams constructed on the upper polar belt, the lower polar belt and the intermediate belt are respectively as follows: Figure 3 , Figure 4 and Figure 5 shown.
[0107] Step 6: Update the undirected connected graph: Add the repeated edge set E' in step 5 to the undirected connected graph G in step 1 to form an updated undirected connected graph G'=[V,E,E',W t ′()]; where W t ′() is the weld edge weight in the weld edge sets E and E'.
[0108] Step 7, solving the Euler circuit: For the undirected connected graph G or the updated undirected connected graph G′ that satisfies the Euler circuit, a depth-first search algorithm is used to solve the Euler circuit to obtain the shortest traversal weld path of the spherical tank inspection robot.
[0109] like Figure 2 As shown, the method of solving the Euler circuit using the depth-first search algorithm includes the following steps:
[0110] Step 7-1, define stack S: define an empty stack S to store the passed path, and take k to point to the top of the current stack S. In the initial state, k = 0.
[0111] Step 7-2, select the path starting point: select any weld intersection point v0 from the weld intersection point set V as the starting point of the path ε; let v p represents the weld intersection currently being traversed, then v p =v0;
[0112] Step 7-3, judge the array Arrays Used to save the current traversal weld intersection v p The connected edges that have been traversed; for each v p , both determine whether an array exists as well as Is it non-empty?
[0113] Step 7-5: Find the intersection point v of adjacent welds q : According to the judgment result of step 7-3, search is performed, specifically:
[0114] A. When there is no array When an empty array is defined v q For v p Any weld intersection that is connected.
[0115] B. When there is an array and When it is empty, v q For v p Any weld intersection that is connected.
[0116] C. When there is an array and When it is not empty, select any one of The weld edge A appears in the figure, and the weld intersection point corresponding to the weld edge A is taken as v q .
[0117] Step 7-6: Update the array The weld edge e(v p ,v q ) to store in an array middle.
[0118] Step 7-7, stacking: weld the edge e(v p ,v q ) is pushed into S, and k is incremented by one; at the same time, the welding edge e(v p ,v q ).
[0119] Step 7-8, current traversal point update: update the current traversal weld intersection point v p Updated to v found in step 7-5 q , that is, v p =v q .
[0120] Step 7-9, leak detection: traverse the current weld intersection v p , check whether there are other paths that have not been traversed in the updated undirected connected graph G'; if so, go to step 7-11; otherwise, go to step 7-10.
[0121] The purpose of setting this step is to prevent the algorithm from falling into an infinite loop, such as Figure 3In the example, when A1 goes to A2 and then returns to A1, there is no other path traversed near A1, and the algorithm will fall into an infinite loop. At this time, it returns to the last traversal point A2, restores the path data from A2 to A1, and selects other adjacent points except A1, such as A3 or A11, as the next traversal point.
[0122] Step 7-10, restore the data of the last weld intersection: return to the last weld intersection v p , the previous weld intersection v p The following welding edge data is restored.
[0123] A. Weld edge data recovery: In the update of the undirected connected graph G', the last traversal weld intersection v is deleted. p The welding edge e(v p ,v q ) data to recover.
[0124] B. Welding edge out of the stack: push the edge into the stack to the previous weld intersection point v in S p The welding edge e(v p ,v q ) is popped from the stack, and the top of stack S is updated, and k is reduced by one.
[0125] C. Array Update of weld edges: store to array The previous traversal weld intersection v in p The welding edge e(v p ,v q ) to delete.
[0126] Step 7-11, repeat steps 7-3 to 7-10 until k=n.
[0127] Step 7-12, obtain the shortest traversal path ε: The path from the bottom to the top of the stack in the stack S is the obtained shortest traversal path ε. Further, the paths at the top of the stack S can be popped out one by one and sorted in the reverse order of the popping time to obtain the shortest traversal path ε.
[0128] In this embodiment, the shortest traversal paths solved on the upper polar zone, the lower polar zone and the middle zone are respectively as follows: Figure 6 , Figure 7 and Figure 8 As shown. Figure 8 , 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 are described in detail above; however, the present invention is not limited to the specific details in the above embodiments. Within 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 belong to the protection scope of the present invention.
Claims
1. A method for planning the shortest traversal weld path of a spherical tank inspection robot, characterized in that: The steps include: Step 1: Construct a 2D map of the spherical tank: map the welds and weld intersections in the three-dimensional spherical tank to the 2D plane to form a 2D map of the spherical tank; Step 2: Construct an undirected connected graph G: All weld intersections contained in the 2D map of the spherical tank are combined into a weld point set V, and all welds contained in the 2D map of the spherical tank are combined into a weld edge set E, and an undirected connected graph G = [V, E, W t ()]; where W t () is 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 the Euler circuit: Determine whether each weld intersection in the undirected connected graph G meets the Euler circuit requirements; if there is a weld intersection that does not meet the Euler circuit requirements, all weld intersections that do not meet the Euler circuit requirements are recorded in V E In the collection, go to step 4; When all weld intersections meet the Euler circuit requirements, jump to step 7; Step 4: Construct a local undirected connected graph G″: According to V E Construct a local undirected connected graph G″=[V″,E″,W t ”()]; where V″ is the weld point set V and only the point set V is retained E All weld intersections included; E″ is the weld edge set obtained from the weld edge set E and connected to the weld intersections in V″; W t ”() is from W t The weld edge weights of the weld edges in the weld edge set E″ obtained in (); Step 5, add duplicate edges: set an empty set E', use the even-odd construction method to add the weld edges in the local undirected connected graph G' to the set E' to form a duplicate edge set E'; Step 6: Update the undirected connected graph: Add the repeated edge set E' in step 5 to the undirected connected graph G in step 1 to form an updated undirected connected graph G'=[V,E,E',W t ′()]; where W t ′() is the weld edge weight in weld edge sets E and E′; Step 7, solving the Euler circuit: For the undirected connected graph G or the updated undirected connected graph G′ that satisfies the Euler circuit, a depth-first search algorithm is used to solve the Euler circuit to obtain the shortest traversal weld path of the spherical tank inspection robot.
2. The shortest traversal weld path planning method for a spherical tank inspection robot according to claim 1 is characterized in that: In step 3, the method for determining whether the Euler circuit is satisfied is as follows: the parity of the number of connecting edges connecting each weld intersection in the weld undirected connected graph G is determined; when the number of connecting edges of each weld intersection is an even number, it is considered that the Euler circuit is satisfied.
3. The shortest traversal weld path planning method for a spherical tank inspection robot according to claim 1 is characterized in that: In step 5, the method of adding repeated edges using the even-odd construction method includes the following steps: Step 5-1, select the weld intersection point: From the weld point set V″ of the local undirected connected graph G″, arbitrarily select a weld intersection point v″ m ; Step 5-2, select the minimum weight welding edge: traverse v" m The weights of all weld edges are calculated and the weld edge with the smallest weight is selected. m ,v' n '); where e”(v” m ,v' n ') represents the weld intersection point v" m and weld intersection v' n 'The connecting edges between them; Step 5-3, add duplicate edges: connect the edge e" (v" m ,v' n ') as a duplicate edge, added to the weld edge set E' of the updated undirected connected graph G', and the weld intersection point v" is deleted from the local undirected connected graph G" m 、v' n '、v" m All connected edges of , and v' n 'All connected edges; Step 5-4, add virtual edges: remove v from the local undirected connected graph G″ m and v' n 'For each other weld intersection point, the parity of the number of edges connecting the weld intersection point is determined; if it is an even number, a virtual edge is added to make it an odd number; Step 5-5, repeat step 5-1 to step 5-4 until the local undirected connected graph G″ becomes an empty set; at this time, the weld edge set E' is a repeated edge set that has been added.
4. The shortest traversal weld path planning method for a spherical tank inspection robot according to claim 1 is characterized in that: In step 7, the method of solving the Euler circuit using a depth-first search algorithm includes the following steps: Step 7-1, define stack S: define an empty stack S to store the passed path, and take k to point to the top of the current stack S. In the initial state, k = 0; Step 7-2, select the path starting point: select any weld intersection point v0 from the weld intersection point set V as the starting point of the path ε; let v p represents the weld intersection currently being traversed, then v p =v0; Step 7-3, determine array H vp : Array H vp Used to save the current traversal weld intersection v p The connected edges that have been traversed; for each v p , both determine whether there is an array H vp and H vp Is it non-empty? Step 7-5: Find the intersection point v of adjacent welds q : According to the judgment result of step 7-3, search is performed, specifically: A. When array H does not exist vp When an empty array H is defined vp , v q For v p Any connected weld intersection; B. When there is an array H vp And H vp When it is empty, v q For v p Any connected weld intersection; C. When there is an array H vp And H vp When it is not empty, select any one of the vp The weld edge A appears in the figure, and the weld intersection point corresponding to the weld edge A is taken as v q ; Step 7-6, Update array H vp :Write the weld edge e(v p ,v q ) is stored in array H vp middle; Step 7-7, stacking: weld the edge e(v p ,v q ) is pushed into S, and k is incremented by one; at the same time, the welding edge e(v p ,v q ); Step 7-8, current traversal point update: update the current traversal weld intersection point v p Updated to v found in step 7-5 q , that is, v p =v q ; Step 7-9, leak detection: traverse the current weld intersection v p , check whether there are other paths that have not been traversed in the updated undirected connected graph G'; If yes, go to step 7-11; otherwise, go to step 7-10; Step 7-10, restore the data of the last weld intersection: return to the last weld intersection v p , the previous weld intersection v p The following welding edge data is restored: A. Weld edge data recovery: In the update of the undirected connected graph G', the last traversal weld intersection v is deleted. p The welding edge e(v p ,v q ) data to be restored; B. Welding edge out of the stack: push the edge into the stack to the previous weld intersection point v in S p The welding edge e(v p ,v q ) pops the stack, updates the top of stack S, and decrements k by one; C. Array H vp Update of weld edges: store in array H vp The previous traversal weld intersection v in p The welding edge e(v p ,v q ) to delete; 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 of the stack to the top of the stack in the stack S is the obtained shortest traversal path ε.
5. The shortest traversal weld path planning method for a spherical tank inspection robot according to claim 4 is characterized in that: In step 7-12, the paths at the top of the stack S are popped out one by one, and sorted in the reverse order of the popping time to obtain the shortest traversal path ε.
6. The shortest traversal weld path planning method for a spherical tank inspection robot according to claim 1 is characterized in that: The three-dimensional spherical tank includes a middle zone, an upper pole zone located above the middle zone, and a lower pole zone located 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
Inspection robot optimal path dynamic planning method
CN108638071A
Six-axis mechanical arm motion control method suitable for hemispherical inner space
CN116766177A
Spherical tank weld joint robot operation path planning method and system based on intersection points
CN117124326A
Shortest path planning method for mobile robot
CN118010043A
Creepage path search device and creepage path search method
JP2008134948A