Relative positioning method between wall-climbing robots

Through the lidar acquisition and processing of point cloud data, the center coordinates of arc features are extracted, which solves the relative positioning problem of the wall-climbing robot when conducting formation operations on the outer wall of the vertical metal tank, and significantly improves the positioning accuracy.

CN119887915APending Publication Date: 2025-04-25ROBOTICS RESEARCH CENTER OF YUYAO CITY +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411947718.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-27
Publication Date
2025-04-25

AI Technical Summary

Technical Problem

When performing wall-climbing robot formation operations on the outer wall of vertical metal cans, it is difficult for the prior art to achieve accurate relative positioning, which affects metrological accuracy and efficiency.

Method used

Point cloud data is obtained through lidar, filtering, format conversion, segmentation and feature extraction are performed, and the relative position of the pilot robot is obtained by using the center coordinates of the arc features.

Benefits of technology

The relative positioning error between the wall-climbing robots is within 0.005m, greatly improving the accuracy of relative positioning.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119887915A_ABST
    Figure CN119887915A_ABST
Patent Text Reader

Abstract

The invention belongs to the technical field of robot positioning, and discloses a relative positioning method between wall-climbing robots, which comprises the following steps: step 1, point cloud acquisition: a following robot acquires point cloud data through a laser radar carried by the following robot, and the point cloud data comprises environment point cloud and target point cloud; step 2, point cloud filtering; 3, converting the format of the point cloud data; step 4, point cloud segmentation; and 5, feature extraction: segmenting the filtered point cloud into three regions including an arc feature region, and extracting circle center coordinates of arc features to obtain the relative position of the piloting robot. According to the method, the relative position relation is obtained by recognizing the arc features of the target ball carried by the robot through the laser radar, the method comprises the steps of point cloud obtaining, point cloud filtering, point cloud data format conversion, point cloud segmentation, feature extraction and the like, the relative positioning error is within 0.005 m, and the relative positioning accuracy is greatly improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention belongs to the technical field of robot positioning, and in particular relates to a relative positioning method between wall-climbing robots. Background Art

[0002] Vertical metal tanks (hereinafter referred to as vertical tanks) are common containers for storing oil and are also the main measuring instruments in oil trade settlement. According to international standards and national regulations, vertical tanks need to be regularly calibrated for capacity measurement. At present, laser scanning external measurement method is widely used in actual measurement. This method sets up multiple stations outside the tank, uses laser scanners to scan each station in turn, and splices the point cloud data obtained from each station to construct a complete point cloud model of the vertical tank. However, in the process of point cloud splicing, it is necessary to manually place and move target balls between the public scanning areas of different stations as a common reference point for splicing. This process is not only cumbersome and inefficient, but also difficult to accurately achieve the expected target ball distribution, which will eventually affect the measurement accuracy. In order to improve the efficiency and accuracy of measurement, the autonomous operation of wall-climbing robots has become an alternative: multiple wall-climbing robots are equipped with target balls, and form a specific formation according to the expected target ball distribution, and perform formation movement operations between the public scanning areas of different stations.

[0003] The pilot-follower method is widely used in actual formation operations because of its simple principle and easy implementation. This method designates a certain wall-climbing robot as the pilot robot and the other wall-climbing robots as follower robots. The pilot robot tracks the given operation path in advance and is responsible for the overall movement of the formation; the follower robot tracks the pilot robot at a certain distance and angle to achieve the control of the formation. During the formation control process, the follower robot needs to obtain the relative position of the pilot robot in real time, and calculate the error based on the expected relative position relationship, and then calculate the control amount of the follower robot. Therefore, it is necessary to realize the relative positioning between the wall-climbing robots, that is, the acquisition of the relative distance and angle between the robots. However, the working environment of the wall-climbing robot is the outer wall of the vertical tank, and relatively mature positioning methods such as GPS and UWB are difficult to apply. In order to solve this problem, it is urgent to design a relative positioning method between wall-climbing robots. Summary of the invention

[0004] The purpose of the present invention is to provide a relative positioning method between wall-climbing robots to solve the above-mentioned technical problems.

[0005] In order to solve the above technical problems, the specific technical solution of a relative positioning method between wall-climbing robots of the present invention is as follows:

[0006] A relative positioning method between wall-climbing robots comprises the following steps:

[0007] Step 1, point cloud acquisition: The follower robot acquires point cloud data through its own laser radar, including environment point cloud and target point cloud;

[0008] Step 2, point cloud filtering;

[0009] Step 3: point cloud data format conversion;

[0010] Step 4, point cloud segmentation;

[0011] Step 5, feature extraction: Region segmentation divides the filtered point cloud into three regions, including the arc feature region, and extracts the center coordinates of the arc feature to obtain the relative position of the pilot robot.

[0012] Furthermore, the target point cloud of step 1 is the arc feature of the target ball carried by the pilot robot. The feature is segmented in the original point cloud data, and its center coordinates are extracted to obtain the relative position of the pilot robot.

[0013] Furthermore, in step 2, the laser_filters function package officially provided by ROS is used to filter the point cloud, retain the point cloud within a certain range, and filter out the rest of the point cloud.

[0014] Furthermore, step 3 converts the laser radar data sensor_msgs::LaserScan acquired by ROS into the data structure pcl::PointXYZ that can be used by the PCL point cloud library. The data form of sensor_msgs::LaserScan is similar to polar coordinates, while the data form of pcl::PointXYZ is similar to Cartesian coordinates. The following coordinate conversion is required:

[0015]

[0016] Where d is the distance value in the ranges array in the sensor_msgs::LaserScan data format; θ is the angle value corresponding to the distance in the sensor_msgs::LaserScan data format; (xy) is the coordinate of the point in the pcl::PointXYZ data format.

[0017] Furthermore, step 4 implements point cloud segmentation based on the Euclidean distance clustering algorithm, classifying points with relatively close distances in the point cloud data into one category, and classifying points with relatively far distances into different categories.

[0018] Furthermore, the specific steps of the algorithm of step 4 are as follows:

[0019] (a) Create a Kd-Tree representation for the input point set P, where P is the point cloud after filtering;

[0020] (b) Create an empty cluster list C and a queue Q for storing the points that need to be checked;

[0021] (c) Point P in point set P i Add to the current queue Q;

[0022] (d) At radius r <d th Find point P on the sphere i The neighbor set P i k ;

[0023] (e) For the neighbor set P i k For each point in, check whether it has been processed, if not, add it to the queue Q;

[0024] (f) When all points in Q have been processed, Q is added to the cluster list C and Q is set to empty;

[0025] (g) Process the next point in the point set P and repeat steps cf;

[0026] (h) The algorithm ends when all points in the point set P have been processed and are now part of the cluster list C.

[0027] Furthermore, step 5 implements the fitting of arc features and extracts the coordinates of the center of the circle based on the random sampling consensus algorithm RANSAC. The RANSAC algorithm is an iterative method that randomly selects a group of data from the point cloud data set as samples, fits a model based on the samples, and then calculates the consistency of the model with the entire sample.

[0028] Furthermore, the specific steps of the lease 5 are as follows:

[0029] (a) Point cloud data of a certain area after point cloud segmentation C i ∈P(i=1,2,3) as input;

[0030] (b) Using voxel grid to transform input point cloud data C i Downsampling to speed up calculations;

[0031] (c) From point cloud data C i Randomly select three points to fit the circle model;

[0032] (d) Calculate point cloud data C i The error between each point in and the fitted model, and determine whether it is an internal point;

[0033] (e) If enough points are inliers, the model is relatively accurate;

[0034] (f) Repeat steps ce until a termination condition is met, then step C is completed. i Fitting of regions;

[0035] (g) Take the point cloud data of the next area as input and repeat step bf until all areas are traversed.

[0036] A relative positioning method between wall-climbing robots of the present invention has the following advantages: the present invention obtains the relative position relationship by using a laser radar to identify the arc features of a target ball carried by the robot, which is divided into the steps of point cloud acquisition, point cloud filtering, point cloud data format conversion, point cloud segmentation, feature extraction, etc., so that the relative positioning error is within 0.005m, which greatly improves the relative positioning accuracy. BRIEF DESCRIPTION OF THE DRAWINGS

[0037] Figure 1 This is a schematic diagram of relative positioning of the wall-climbing robot;

[0038] Figure 2 A schematic diagram of point cloud data obtained by following robot 1;

[0039] Figure 3 Schematic diagram of the point cloud after filtering;

[0040] Figure 4 This is a schematic diagram of the point cloud after data conversion;

[0041] Figure 5 This is a schematic diagram of the point cloud after point cloud segmentation;

[0042] Figure 6 Schematic diagram of arc feature fitting effect. DETAILED DESCRIPTION

[0043] In order to better understand the purpose, structure and function of the present invention, a relative positioning method between wall-climbing robots of the present invention is further described in detail below in conjunction with the accompanying drawings.

[0044] The relative positioning method between wall-climbing robots of the present invention obtains the relative position relationship by using laser radar to identify the arc features of the target ball carried by the robot, which is divided into the steps of point cloud acquisition, point cloud filtering, point cloud data format conversion, point cloud segmentation, feature extraction, etc., so that the relative positioning error is within 0.005m. The details are as follows:

[0045] Step 1, point cloud acquisition. The follower robot acquires point cloud data through its own laser radar, which includes environment point cloud and target point cloud. The target point cloud is the arc feature of the target ball carried by the pilot robot. It is necessary to segment the feature in the original point cloud data and extract its center coordinates to obtain the relative position of the pilot robot;

[0046] Step 2: Point cloud filtering. In order to reduce the interference of environmental point clouds, speed up the subsequent point cloud processing and improve real-time performance, the laser_filters function package officially provided by ROS is used to filter the point cloud. Point clouds within a certain range are retained and the rest are filtered out;

[0047] Step 3: Convert point cloud data format. Convert the laser radar data sensor_msgs::LaserScan obtained by ROS into the data structure pcl::PointXYZ that can be used by the PCL point cloud library. The data format of sensor_msgs::LaserScan is similar to polar coordinates, while the data format of pcl::PointXYZ is similar to Cartesian coordinates. The following coordinate conversion is required:

[0048]

[0049] Where d is the distance value in the ranges array in the sensor_msgs::LaserScan data format; θ is the angle value corresponding to the distance in the sensor_msgs::LaserScan data format; (xy) is the coordinate of the point in the pcl::PointXYZ data format;

[0050] Step 4, point cloud segmentation. The filtered point cloud data consists of three parts. Next, the point cloud needs to be segmented into three different areas for subsequent arc feature extraction. The present invention implements point cloud segmentation based on the Euclidean Cluster Extraction algorithm. The main idea is to classify points with relatively close distances in the point cloud data into one category and points with relatively far distances into different categories. The specific steps of the algorithm are as follows:

[0051] (a) Create a Kd-Tree representation for the input point set P (point cloud after filtering);

[0052] (b) Create an empty cluster list C and a queue Q for storing the points that need to be checked;

[0053] (c) Point P in point set P i Add to the current queue Q;

[0054] (d) At radius r <d th Find point P on the sphere i The neighbor set P i k ;

[0055] (e) For the neighbor set P i k For each point in, check whether it has been processed, if not, add it to the queue Q;

[0056] (f) When all points in Q have been processed, Q is added to the cluster list C and Q is set to empty;

[0057] (g) Process the next point in the point set P and repeat steps cf;

[0058] (h) The algorithm ends when all points in the point set P have been processed and are now part of the cluster list C;

[0059] Step 5, feature extraction. Region segmentation divides the filtered point cloud into three regions, including the arc feature region. The purpose of feature extraction is to extract the center coordinates of the arc feature to obtain the relative position of the pilot robot. The present invention implements the fitting of arc features and extracts the center coordinates based on the Random Sample Consensus (RANSAC) algorithm. The RANSAC algorithm is an iterative method. Its basic idea is to randomly select a group of data from the point cloud data set as a sample, fit a model based on this sample, and then calculate the consistency of the model with the entire sample. The specific steps are as follows:

[0060] (a) Point cloud data of a certain area after point cloud segmentation C i ∈P(i=1,2,3) as input;

[0061] (b) Using voxel grid to transform input point cloud data C i Downsampling to speed up calculations;

[0062] (c) From point cloud data C i Randomly select three points to fit the circle model;

[0063] (d) Calculate point cloud data C i The error between each point in and the fitted model, and determine whether it is an internal point;

[0064] (e) If enough points are inliers, the model is relatively accurate;

[0065] (f) Repeat steps ce until a termination condition is met, then step C is completed. i Fitting of regions;

[0066] (g) Take the point cloud data of the next area as input and repeat step bf until all areas are traversed.

[0067] Example:

[0068] like Figure 1 As shown, taking the follower robot 1 obtaining the relative position of the pilot robot as an example, a relative positioning method between wall-climbing robots according to an embodiment of the present invention includes the following steps:

[0069] Step 1: Follow robot 1 to obtain point cloud data. Use the LaserScan component in the Rviz software to subscribe to the / scan topic to visualize the point cloud data obtained by following robot 1 (see Figure 2 ), which includes the target point cloud and the environment point cloud. The target point cloud is the arc feature of the target ball carried by the pilot robot. It is necessary to segment the feature in the original point cloud data and extract its center coordinates to obtain the relative position of the pilot robot;

[0070] Step 2: In order to reduce the interference of the environmental point cloud, speed up the subsequent point cloud processing and improve the real-time performance, the present invention uses the laser_filters function package officially provided by ROS to filter the point cloud. The filtering method is as follows: Since the pilot robot is always in the upper right of the direction of the robot 1, the angle filter plug-in in the laser_filters function package is used to retain the point cloud within the range of [pi / 2, pi] of the laser radar coordinate system and filter out the remaining point clouds. The point cloud after filtering is as follows: Figure 3 As shown in the figure, the green part is the filtered point cloud and the red part is the original point cloud data. The topic of the filtered point cloud data in ROS is / scan_filtered;

[0071] Step 3: Create a new ROS node, subscribe to the topic / scan_filtered of the filtered point cloud data, perform coordinate conversion in the callback function and publish it to the topic / point_cloud. Use the PointCloud2 component in the Rviz software to subscribe to the message of the / point_cloud topic, and the point cloud obtained is as follows: Figure 4 As shown;

[0072] Step 4: Use the point cloud segmentation algorithm to segment the point cloud into three different areas for subsequent arc feature extraction. The effect of the filtered point cloud after point cloud segmentation is as follows: Figure 5 As shown in the results, we can see that the point cloud is divided into three different areas, represented by three colors. The green area is the target point cloud, that is, the arc feature of the target ball of the pilot robot;

[0073] Step 5: Use feature extraction algorithm to extract the center coordinates of the arc feature to obtain the relative position of the pilot robot. The result after feature extraction is as follows: Figure 6As shown in the figure, it can be seen from the results that the feature extraction algorithm of the present invention can better fit the arc point cloud features and extract the center coordinates of the arc. The radius of the extracted circle is about 5.3cm, and the error with the actual is 3mm (the radius of the target ball is 5cm); the extracted center coordinates, that is, the position coordinates of the pilot machine relative to the follower robot 1 are (-36.2cm, 56.0cm), which is basically consistent with the actual position relationship, the error in the x direction is 2mm, and the error in the y direction is 5mm.

[0074] It is to be understood that the present invention is described by some embodiments, and it is known to those skilled in the art that various changes or equivalent substitutions may be made to these features and embodiments without departing from the spirit and scope of the present invention. In addition, under the teachings of the present invention, these features and embodiments may be modified to adapt to specific circumstances and materials without departing from the spirit and scope of the present invention. Therefore, the present invention is not limited by the specific embodiments disclosed herein, and all embodiments falling within the scope of the claims of this application are within the scope of protection of the present invention.

Claims

1. A relative positioning method between wall-climbing robots, characterized in that: The steps include: Step 1, point cloud acquisition: The follower robot acquires point cloud data through its own laser radar, including environment point cloud and target point cloud; Step 2, point cloud filtering; Step 3: point cloud data format conversion; Step 4, point cloud segmentation; Step 5, feature extraction: Region segmentation divides the filtered point cloud into three regions, including the arc feature region, and extracts the center coordinates of the arc feature to obtain the relative position of the pilot robot.

2. The relative positioning method between wall-climbing robots according to claim 1, characterized in that: The target point cloud of step 1 is the arc feature of the target ball carried by the pilot robot. The feature is segmented in the original point cloud data, and its center coordinates are extracted to obtain the relative position of the pilot robot.

3. The relative positioning method between wall-climbing robots according to claim 1, characterized in that: The step 2 uses the laser_filters function package officially provided by ROS to filter the point cloud, retaining the point cloud within a certain range and filtering out the rest of the point cloud.

4. The relative positioning method between wall-climbing robots according to claim 1, characterized in that: Step 3 converts the laser radar data sensor_msgs::LaserScan acquired by ROS into the data structure pcl::PointXYZ that can be used by the PCL point cloud library. The data format of sensor_msgs::LaserScan is similar to polar coordinates, while the data format of pcl::PointXYZ is similar to Cartesian coordinates. The following coordinate conversion is required: Where d is the distance value in the ranges array in the sensor_msgs::LaserScan data format; θ is the angle value corresponding to the distance in the sensor_msgs::LaserScan data format; (xy) is the coordinate of the point in the pcl::PointXYZ data format.

5. The relative positioning method between wall-climbing robots according to claim 1, characterized in that: The step 4 implements point cloud segmentation based on the Euclidean distance clustering algorithm, classifying points with relatively close distances in the point cloud data into one category and points with relatively far distances into different categories.

6. The relative positioning method between wall-climbing robots according to claim 5, characterized in that: The specific steps of the algorithm of step 4 are as follows: (a) Create a Kd-Tree representation for the input point set P, where P is the point cloud after filtering; (b) Create an empty cluster list C and a queue Q for storing the points that need to be checked; (c) Point P in point set P i Add to the current queue Q; (d) At radius r <d th Find point P on the sphere i The neighbor set P i k ; (e) For the neighbor set P i k For each point in, check whether it has been processed, if not, add it to the queue Q; (f) When all points in Q have been processed, Q is added to the cluster list C and Q is set to empty; (g) Process the next point in the point set P and repeat steps cf; (h) The algorithm ends when all points in the point set P have been processed and are now part of the cluster list C.

7. The relative positioning method between wall-climbing robots according to claim 1, characterized in that: The step 5 implements the fitting of arc features and extracts the coordinates of the center of the circle based on the random sampling consensus algorithm RANSAC. The RANSAC algorithm is an iterative method that randomly selects a group of data from the point cloud data set as samples, fits a model based on the samples, and then calculates the consistency of the model with the entire sample.

8. The relative positioning method between wall-climbing robots according to claim 7, characterized in that: The specific steps of the lease 5 are as follows: (a) Point cloud data of a certain area after point cloud segmentation C i ∈P(i=1,2,3) as input; (b) Using voxel grid to transform input point cloud data C i Downsampling to speed up calculations; (c) From point cloud data C i Randomly select three points to fit the circle model; (d) Calculate point cloud data C i The error between each point in and the fitted model, and determine whether it is an internal point; (e) If enough points are inliers, the model is relatively accurate; (f) Repeat steps ce until a termination condition is met, then step C is completed. i Fitting of regions; (g) Take the point cloud data of the next area as input and repeat step bf until all areas are traversed.