Pose correction method, device and equipment based on reflective sticker point cloud recognition and medium
Through the position correction method based on reflective point cloud recognition, the problem of insufficient positioning accuracy of the robot under environmental changes is solved, and the precise correction of the positioning of the robot and the improvement of navigation efficiency is achieved.
Patent Information
- Application Number
- CN202411989978.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-31
- Publication Date
- 2025-05-06
AI Technical Summary
In the field of robot application, environmental changes have caused laser scanning positioning to fail to meet the requirements of high-precision. How to improve the positioning accuracy of robots has become an urgent problem.
The position correction method based on reflective point cloud recognition is adopted. By collecting point cloud data at the current point, the reflective point cloud is selected, the reflective point cloud map is matched and the position difference is calculated, and the moving route is determined to correct the position of the robot.
Accurate correction of the robot position is achieved, positioning accuracy and navigation efficiency are improved, and positioning accuracy in complex environments is enhanced.
Smart Images

Figure CN119935139A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of artificial intelligence technology, and in particular to a posture correction method, device, equipment and medium based on reflective sticker point cloud recognition. Background Art
[0002] In the field of robot applications, many application scenarios require that the robot has a high-precision positioning method in a specific area so that the robot can move to a precise position in the area.
[0003] At present, due to the inevitable environmental changes in the scenarios where robots are used, positioning based solely on environmental information scanned by lasers cannot meet some higher-precision usage requirements.
[0004] Therefore, how to improve the positioning accuracy of the robot has become a technical problem that needs to be solved urgently. Summary of the invention
[0005] The present application provides a posture correction method, device, equipment and medium based on reflective sticker point cloud recognition, aiming to improve the positioning accuracy of the robot.
[0006] In a first aspect, the present application provides a posture correction method based on reflective sticker point cloud recognition, and the posture correction method based on reflective sticker point cloud recognition comprises the following steps:
[0007] When the robot moves to a preset range of a target point, first point cloud data of an area where the current point of the robot is located is collected;
[0008] Based on a preset point cloud intensity threshold, at least two point cloud data containing reflective tape are screened out from the first point cloud data to obtain at least two first reflective tape point clouds;
[0009] Matching the at least two first reflective sticker point clouds with a reflective sticker point cloud map corresponding to the target point, and identifying the current posture of the robot in the reflective sticker point cloud map;
[0010] Calculating a posture difference between the current posture and a target posture of the robot corresponding to the target point;
[0011] Based on the posture difference, a moving route of the robot from the current posture to the target posture is determined to control the robot to move from the current point to the target point according to the moving route.
[0012] In a second aspect, the present application further provides a posture correction device based on reflective sticker point cloud recognition, the posture correction device based on reflective sticker point cloud recognition comprises:
[0013] A first point cloud data acquisition module, used for acquiring first point cloud data of an area where the current point of the robot is located when the robot moves to a preset range of a target point;
[0014] A first reflective tape recognition module, configured to filter out at least two point cloud data containing reflective tapes from the first point cloud data based on a preset point cloud intensity threshold, and obtain at least two first reflective tape point clouds;
[0015] A current posture recognition module, used for matching the at least two first reflective sticker point clouds with the reflective sticker point cloud map corresponding to the target point, and identifying the current posture of the robot in the reflective sticker point cloud map;
[0016] A posture difference calculation module, used to calculate the posture difference between the current posture and the target posture of the robot corresponding to the target point;
[0017] The posture correction module is used to determine a moving route of the robot from a current posture to a target posture based on the posture difference, so as to control the robot to move from a current point to a target point according to the moving route.
[0018] In a third aspect, the present application also provides a computer device, comprising a processor, a memory, and a computer program stored in the memory and executable by the processor, wherein when the computer program is executed by the processor, the steps of the posture correction method based on reflective sticker point cloud recognition as described above are implemented.
[0019] In a fourth aspect, the present application also provides a computer-readable storage medium, on which a computer program is stored, wherein when the computer program is executed by a processor, the steps of the posture correction method based on reflective sticker point cloud recognition as described above are implemented.
[0020] The present application provides a posture correction method, device, computer equipment and storage medium based on reflective sticker point cloud recognition. The method of the present application provides accurate spatial information for the robot by collecting first point cloud data of the current point; screens out reflective sticker point cloud data through a point cloud intensity threshold to ensure that the robot can identify key positioning marks and enhance the reliability of positioning; matches the first reflective sticker point cloud with the reflective sticker point cloud map to achieve accurate positioning of the robot in the reflective sticker point cloud map, thereby improving the accuracy of positioning; calculates the posture difference between the current posture and the target posture to provide the robot with accurate direction and distance information of the target point, thereby facilitating the robot to perform accurate navigation; determines a moving route based on the posture difference, controls the robot to move to the target point, achieves accurate correction of the robot's posture, and improves the positioning accuracy and navigation efficiency of the robot in complex environments. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0022] Figure 1 A schematic flow chart of a first embodiment of a posture correction method based on reflective sticker point cloud recognition provided by the present application;
[0023] Figure 2 A schematic flow chart of an extended embodiment of the second step of the first embodiment of the posture correction method based on reflective sticker point cloud recognition provided in an embodiment of the present application;
[0024] Figure 3 A schematic diagram of the result of recognizing the robot's posture based on two reflective sticker point clouds provided in an embodiment of the present application;
[0025] Figure 4 A schematic flow chart of a second embodiment of a posture correction method based on reflective sticker point cloud recognition provided by the present application;
[0026] Figure 5 It is a structural schematic diagram of a first embodiment of a posture correction device based on reflective sticker point cloud recognition provided by the present application;
[0027] Figure 6 It is a schematic block diagram of the structure of a computer device provided in an embodiment of the present application.
[0028] The realization of the purpose, functional features and advantages of this application will be further explained in conjunction with embodiments and with reference to the accompanying drawings. DETAILED DESCRIPTION
[0029] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0030] The flowcharts shown in the accompanying drawings are only examples and do not necessarily include all the contents and operations / steps, nor must they be executed in the order described. For example, some operations / steps may also be decomposed, combined or partially merged, so the actual execution order may change according to actual conditions.
[0031] In conjunction with the accompanying drawings, some embodiments of the present application are described in detail below. In the absence of conflict, the following embodiments and features in the embodiments can be combined with each other.
[0032] Please refer to Figure 1 , Figure 1 A schematic flow chart of a first embodiment of a posture correction method based on reflective sticker point cloud recognition provided in this application.
[0033] like Figure 1 As shown, the posture correction method based on reflective sticker point cloud recognition includes steps S101 to S105.
[0034] S101, when the robot moves to a preset range of a target point, collecting first point cloud data of an area where the current point of the robot is located;
[0035] In one embodiment, path navigation and other means are used to move the robot to the vicinity of a recorded target point: the robot is moved to a target point that needs to be precisely positioned, but due to environmental changes, the accuracy of the path navigation at this time cannot enable the robot to accurately reach the target position of the target point that needs to be precisely positioned, but there will be a certain deviation.
[0036] Generally, robots can use SLAM (Simultaneous Localization and Mapping) technology for path planning and positioning. SLAM technology allows robots to navigate in unknown environments while building their maps, which is crucial for robots to locate in complex environments.
[0037] Environmental changes may include lighting conditions, ground conditions, weather and seasonal changes, scene layout changes, dynamic environments, reflective surfaces, and dynamically moving objects.
[0038] For example, if the robot relies on visual sensors (such as cameras) for positioning, changes in lighting conditions may affect the accuracy of the sensors. Obstacles and water stains on the ground may also block the sensors and affect the positioning accuracy. Changes in environmental conditions such as different weather and seasons will bring challenges to the basic autonomous behavior capabilities of mobile robots such as map construction and maintenance, relocation and scene understanding. Human factors such as urban facility reconstruction will cause the robot's two observations of the scene layout to be inconsistent, which will lead to the failure of its relocation. There are a large number of pedestrians and vehicles in the real-world environment, and their behavior is accidental and uncertain, which will affect the positioning accuracy of the mobile robot. Reflective surfaces and dynamic moving objects (other AMRs or workers) can cause SLAM positioning confusion.
[0039] In one embodiment, when the robot reaches the vicinity of the target point through path navigation technology, although there will be a certain deviation in posture due to environmental changes, the deviation range will not be too large. Therefore, when the robot moves to a preset range of the target point, such as 1m, through path navigation technology, the first point cloud data of the robot's current area can be collected through technologies such as laser radar.
[0040] In one embodiment, in order to improve the accuracy of the first point cloud data, the trailing point cloud can be removed by radius filtering to reduce noise or irrelevant point cloud data generated during the laser radar scanning process, thereby improving the positioning accuracy.
[0041] Specifically, for each line of laser generated point cloud, calculate the distance between each point and its left and right adjacent points. If both distance values are greater than the set distance threshold, the point is preliminarily judged to be a trailing point. For the point preliminarily judged to be a trailing point, calculate the angle corresponding to the point cloud origin in the triangle formed by the left adjacent point of the point, the point, and the point cloud origin, and the angle corresponding to the point cloud origin in the triangle formed by the right adjacent point of the point, the point, and the point cloud origin. If the angle values of the two angles are both less than the set angle threshold, the point is considered to be a trailing point and is filtered out.
[0042] Generally, the distance threshold can be set as the distance between two adjacent points of the farthest laser point cloud that the laser radar can perceive. The angle threshold should be smaller than the rotation angle resolution of the laser radar.
[0043] S102, based on a preset point cloud intensity threshold, screening out at least two point cloud data containing reflective tape from the first point cloud data, to obtain at least two first reflective tape point clouds;
[0044] In one embodiment, before performing point cloud screening, the first point cloud data may be preprocessed, including filtering out noise, removing ground points, etc., to improve the accuracy of subsequent processing. The point cloud preprocessing method may adopt the existing data processing technology related to the field, which is not described in detail in this embodiment.
[0045] In one embodiment, based on the point cloud intensity of the reflective tape segmentation, point cloud data that only contains the reflective tape is filtered out from the first point cloud data through a point cloud intensity threshold, and the first reflective tape point cloud in the first point cloud data is identified to facilitate the identification of the current regional environmental layout.
[0046] Furthermore, if Figure 2 As shown, the step S102 specifically includes:
[0047] S1021, traversing the first point cloud data, and identifying a candidate reflective sticker point cloud in the first point cloud data based on the point cloud intensity threshold;
[0048] In one embodiment, the point cloud of each laser data in the first point cloud data is traversed in the order of the index of the radar point cloud to obtain the intensity value of each point. Each point in the point cloud data usually contains multiple attributes, one of which is the intensity value. The point cloud intensity value can be obtained in a variety of ways. For example, in the PCL library, the intensity value of each point can be obtained using the point cloud of the PointXYZI type. For example, the intensity value of each point can be directly accessed through point.intensity.
[0049] Among them, the intensity value is the signal strength returned by the lidar, which depends on the incident angle, the distance between the sensor and the object surface, and the reflectivity of the surface.
[0050] In one embodiment, the point cloud intensity value of each point cloud in the first point cloud data is traversed; when the point cloud intensity value is greater than or equal to the point cloud intensity threshold, the corresponding point cloud is determined to be the candidate reflective sticker point cloud.
[0051] In one embodiment, before screening the candidate reflective sticker point cloud, a point cloud intensity threshold needs to be set to distinguish the reflective sticker from other objects. The point cloud intensity threshold can be determined based on experience or by analyzing the reflective characteristics of the reflective sticker under different conditions.
[0052] By traversing the point cloud intensity value of each point cloud in the point cloud, you can check whether the intensity value of each point cloud meets the preset threshold condition. For example, in C++, you can use the loop in the PCL library to traverse the point cloud and use conditional statements to judge the intensity value.
[0053] Specifically, the intensity value data of each point is used to determine whether it is a scanned reflective tape point cloud. If the intensity value of a point is greater than or equal to the set point cloud intensity threshold, the point can be considered to belong to the reflective tape point cloud and is marked as a candidate reflective tape point cloud. On the contrary, if the intensity value of a point is less than the set point cloud intensity threshold, the point is considered not to belong to the reflective tape point cloud and can be screened out to reduce the amount of data calculation.
[0054] By screening out candidate reflective sticker point clouds, unnecessary calculations can be reduced and data processing efficiency can be improved. For those point clouds whose intensity values are lower than the point cloud intensity threshold, they can be considered not to belong to reflective stickers and thus ignored in subsequent processing.
[0055] S1022. Based on the geometric distance between each of the candidate reflective sticker points, divide each of the candidate reflective sticker point clouds into at least two clustered point cloud blocks to obtain at least two of the first reflective sticker point clouds.
[0056] In one embodiment, each candidate reflective sticker point cloud is segmented according to the geometric distance between each candidate reflective sticker point, and the segmented candidate reflective sticker point cloud is clustered to remove discrete points.
[0057] In one embodiment, for each candidate reflective posting point in the point cloud, the Euclidean distance between each candidate reflective posting point and all other candidate reflective posting points can be calculated by calculating the three-dimensional spatial distance between the points.
[0058] Among them, Euclidean distance is based on the distance definition in Euclidean geometry, that is, the straight-line distance between two points.
[0059] For example, in three-dimensional space, if there are two points P1(x1, y1, z1) and P2(x2, y2, z2), the Euclidean distance between them can be calculated by the following formula:
[0060]
[0061] Among them, d represents the Euclidean distance between R1 and P2, which is used to represent the geometric distance between two points.
[0062] In one embodiment, when processing point cloud data, the geometric distance between each candidate reflective sticker point and other candidate reflective sticker points in the point cloud data can be calculated in batches through matrix operations to improve calculation efficiency. For example, libraries such as PyTorch or NumPy can be used to calculate the distance between multiple points at one time.
[0063] In one embodiment, when the geometric distance between two adjacent candidate reflective sticker point clouds is less than or equal to a preset distance threshold, the two adjacent candidate reflective sticker point clouds are classified into the same cluster point cloud block; when the geometric distance between two adjacent candidate reflective sticker point clouds is greater than the preset distance threshold, the two adjacent candidate reflective sticker point clouds are classified into different cluster point cloud blocks; the geometric distances between all the candidate reflective sticker points are traversed to determine the cluster point cloud block corresponding to each candidate reflective sticker point, and at least two of the first reflective sticker point clouds are obtained.
[0064] In one embodiment, the preset distance threshold may be set according to the size and distribution of the reflective tape in actual applications, and is used to determine whether two point clouds belong to the same cluster.
[0065] In one embodiment, the laser point cloud is segmented according to the geometric distance between two adjacent candidate reflective sticker points. If the geometric distance between two adjacent candidate reflective sticker point clouds is greater than a preset distance threshold, the two points belong to different point cloud blocks; if the geometric distance between two adjacent candidate reflective sticker point clouds is less than or equal to the preset distance threshold, the two points belong to the same point cloud block.
[0066] After point cloud segmentation, clustering algorithms such as DBSCAN (Density-Based Spatial Clustering of Applications with Noise) and K-means can be applied to cluster the reflective sticker point clouds belonging to the same point cloud block to obtain N clustered point cloud blocks, and the obtained clustered point clouds are saved as reflective sticker point cloud maps. If N is less than 2 (0 or 1), it is considered that there are not enough reflective stickers, and failure is returned, that is, the robot cannot locate and identify at the current point. At this time, it is necessary to move the robot further and collect reflective sticker point cloud data near the moved point until there are two or more first reflective sticker point clouds in the point cloud data collected by the robot at a certain point.
[0067] In the clustering process, some isolated reflective sticker point clouds may be generated. These reflective sticker point clouds may not be adjacent to any cluster due to noise or outliers. A minimum cluster size threshold can be set to remove clusters smaller than the threshold, thereby removing discrete points. In addition, the clustering results can be post-processed, such as merging adjacent small clusters, or adjusting the clustering results according to the actual application scenario to ensure the rationality and practicality of the clustering results.
[0068] S103, matching the at least two first reflective sticker point clouds with the reflective sticker point cloud map corresponding to the target point, and identifying the current posture of the robot in the reflective sticker point cloud map;
[0069] In one embodiment, in the robot positioning technology, the point cloud matching algorithm is one of the key technologies. By matching the first reflective sticker point cloud currently perceived by the robot with the pre-recorded reflective sticker point cloud map, the precise position and posture of the robot in the environment can be determined. For example, the ICP (Iterated Closest Points) algorithm can be used for matching. The ICP algorithm is one of the commonly used point cloud matching methods. It finds the best rotation and translation matrix by iteratively solving the error between the point clouds.
[0070] In one embodiment, based on the workstation information of the input target point, a pre-recorded and stored reflective sticker point cloud map of the target point is obtained, and then the first reflective sticker point cloud is matched with the reflective sticker point cloud map to identify the current posture of the robot in the reflective sticker point cloud map.
[0071] It can be immediately located because the reflective tape recording requires at least two reflective tapes. Figure 3As shown in the figure, in the case of two reflective stickers (A and C), if the robot is directly matched in this scene, there will be two possible poses (B and D). Therefore, it is necessary to use the pose P of the robot when recording the reflective sticker point cloud map as the initial pose for matching, so as to obtain the current correct pose of the robot. And this initial pose is also the target pose that the robot needs to achieve. The initial pose is the starting point of the matching process and is crucial to the accuracy and efficiency of the matching. If the initial pose is accurate, the matching algorithm can converge to the correct solution faster.
[0072] Specifically, during the matching process, the initial pose is first used to transform the first reflective sticker point cloud currently used for matching, and then the nearest neighbor of each point is found in the reflective sticker point cloud map. The optimal transformation matrix is solved by calculating the difference between the transformed first reflective sticker point cloud and the reflective sticker point cloud map. When two possible poses are matched, a judgment can be made based on the distance between the initial pose and the two poses: the pose that is closer to the initial pose can be selected as the current pose of the robot, because the initial pose is the pose when the map is recorded, and it is more likely to be closer to the real pose.
[0073] In one embodiment, when there are multiple reflective stickers in the environment, the accuracy and robustness of positioning can be improved by increasing the number of first reflective sticker point clouds. Each additional first reflective sticker point cloud provides additional constraints, which helps to eliminate the positioning ambiguity of the current position. For example, three non-collinear reflective stickers can uniquely determine the current position and current posture of the robot in three-dimensional space.
[0074] S104, calculating the posture difference between the current posture and the target posture of the robot corresponding to the target point;
[0075] In one embodiment, based on the result of point cloud matching, the current posture of the robot in the reflective sticker point cloud map is obtained, and then the posture difference between the current posture and the target posture is calculated to correct the current posture of the robot according to the posture difference so that it is adjusted to the target posture.
[0076] In one embodiment, the current posture or target posture includes the position coordinates of the robot in the reflective sticker point cloud map and the orientation angle of the robot.
[0077] In one embodiment, the posture difference includes a distance difference and an angle difference. Based on the current posture, the current coordinates and current posture of the robot in the reflective sticker point cloud map are determined; based on the target posture, the target coordinates and target posture of the robot in the reflective sticker point cloud map are determined; based on the current coordinates and the target coordinates, the distance difference from the current point to the target point is calculated; based on the current posture and the target posture, the angle difference from the current posture to the target posture of the robot is calculated.
[0078] In one embodiment, the robot's position and posture in the reflective sticker point cloud map may include a position (x, y) and a posture (or direction angle) θ. Based on the current position and posture (P1), the robot's current coordinates (x1, y1) and current posture θ1 in the reflective sticker point cloud map may be determined.
[0079] Specifically, the target position (P2) is obtained from the reflective sticker point cloud map, including the target coordinates (x2, y2) and the target posture θ2.
[0080] The distance difference includes the X-axis coordinate difference and the Y-axis coordinate difference:
[0081]
[0082] Specifically, the angular difference from the current posture of the robot to the target posture can be expressed using a rotation matrix or Euler angles, and the angle difference is obtained by calculating the difference between two rotation matrices, or by calculating the difference between the Euler angles of the two postures.
[0083] S105. Based on the posture difference, determine a movement route of the robot from the current posture to the target posture, so as to control the robot to move from the current point to the target point according to the movement route.
[0084] In one embodiment, the robot is controlled to move from the current coordinates to the target coordinates according to the distance difference and the angle difference, and the orientation angle (posture) of the robot is adjusted so that the robot is adjusted to the target posture.
[0085] Specifically, the pose difference includes the distance difference (Δx, Δy) and the angle difference (Δθ). According to the pose difference, a moving route can be planned. This route usually includes a sequence of translation and rotation. For example, the robot may need to rotate to the correct direction according to the angle difference (Δθ) first, and then translate to the target coordinate according to the distance difference (Δx, Δy), or translate first and then rotate, depending on the robot's kinematic constraints and environmental conditions. Convert the moving route into control instructions that the robot can execute. These instructions may include speed, direction, and rotation angle. For example, if the robot uses wheel drive, the control instructions may include the speed and rotation time of the left and right wheels. The robot moves according to the generated control instructions, and when the robot executes all control instructions, it reaches the target pose. At this point, pose matching can be performed again to verify whether the robot has accurately reached the target pose.
[0086] The present embodiment provides a posture correction method based on reflective sticker point cloud recognition, which provides accurate spatial information for the robot by collecting first point cloud data of the current point; screens out reflective sticker point cloud data through a point cloud intensity threshold to ensure that the robot can identify key positioning marks, thereby enhancing the reliability of positioning; matches the first reflective sticker point cloud with the reflective sticker point cloud map to achieve accurate positioning of the robot in the reflective sticker point cloud map, thereby improving the accuracy of positioning; calculates the posture difference between the current posture and the target posture to provide the robot with accurate direction and distance information of the target point, thereby facilitating the robot to perform accurate navigation; determines a moving route based on the posture difference, controls the robot to move to the target point, thereby achieving accurate correction of the robot's posture, thereby improving the positioning accuracy and navigation efficiency of the robot in complex environments.
[0087] In one embodiment, before correcting the position and posture of the robot at the target point, it is necessary to construct a reflective sticker point cloud map corresponding to the target point.
[0088] Please refer to Figure 4 , Figure 4 A schematic flow chart of a second embodiment of a posture correction method based on reflective sticker point cloud recognition provided in this application.
[0089] like Figure 4 As shown, the posture correction method based on reflective sticker point cloud recognition also includes steps S201 to S204.
[0090] S201, attaching reflective stickers to at least two target objects in the area where the target point is located;
[0091] In one embodiment, the robot is moved to a target point for precise positioning, and the target point may be a workstation where work needs to be performed, a charging point of the robot, etc.
[0092] In one embodiment, a target object that does not change over time is found in the surrounding environment of the target point and a reflective sticker is attached to it: it is necessary to ensure that the robot's radar can scan the reflective sticker on the target object at the target point. The target object can be a workstation that needs to be docked, a pillar in the environment, etc.
[0093] In one embodiment, when the robot is at the target point, it is necessary to ensure that the laser radar can collect the point cloud data of at least two reflective stickers to facilitate the positioning of the robot coordinates. A reflective sticker can be attached to at least two different target objects, or at least two reflective stickers can be attached to different positions of the same target object. When attaching reflective stickers to the target object, it is necessary to ensure that the laser radar can completely scan all reflective stickers when the robot is at the target point, and there needs to be a certain distance between the reflective stickers to distinguish the positions of different reflective stickers.
[0094] In one embodiment, if it is necessary to ensure a relatively high positioning accuracy between the robot and a movable target object, a reflective sticker can be attached to the target object. That is, the target object is then regarded as an object that does not change with time, and the remaining objects in the environment are objects that change with time.
[0095] S202, collecting point cloud data of the reflective stickers on each target object at the target point position to obtain second point cloud data;
[0096] In one embodiment, after the robot moves to the target point and affixes reflective stickers to multiple target objects in the surrounding environment, the laser radar on the robot collects point cloud data of the reflective stickers in the area where the target point is located, and the trailing point cloud is removed through radius filtering to obtain second point cloud data.
[0097] Specifically, the robot uses a laser radar to scan the surrounding environment and collect point cloud data containing reflective stickers. These data contain the spatial position information of all reflective stickers in the target point area.
[0098] In order to remove the tailing point cloud, that is, those abnormal points that do not conform to the normal scanning pattern, the radius filtering method can be used. This method calculates the distance between each point and its surrounding points. If the distance between a point and its surrounding points exceeds a preset threshold, the point is considered to be a tailing point and is removed.
[0099] Specifically, for each point cloud generated by a line of laser, the distance between each point and its left and right adjacent points is calculated. If both distance values are greater than the set distance threshold, the point is preliminarily judged to be a trailing point. For points preliminarily judged to be trailing points, the angle corresponding to the point cloud origin in the triangle formed by the left adjacent point of the point, the point, and the point cloud origin, as well as the angle corresponding to the point cloud origin in the triangle formed by the right adjacent point of the point, the point, and the point cloud origin are further calculated. If the angle values of the two angles are both less than the set angle threshold, the point is considered to be a trailing point and is filtered out. The distance threshold can be set to the distance between the two adjacent points of the farthest laser point cloud that the laser radar can perceive, and the angle threshold should be less than the laser radar rotation angle resolution.
[0100] S203, based on the point cloud intensity threshold, segmenting and clustering the second point cloud data to obtain at least two second reflective tape point clouds;
[0101] In one embodiment, point cloud data containing only reflective tape is filtered out according to the intensity of reflective tape segmentation.
[0102] Specifically, in the order of the radar point cloud index, the point cloud of each laser data is traversed to obtain the intensity value of each point cloud. According to the intensity value data of each point, it is determined whether it is a point cloud of the scanned reflective tape. If the intensity value of a point is greater than or equal to the set point cloud intensity threshold, the point is considered to be a candidate reflective tape point belonging to the reflective tape; if the intensity value of a point is less than the set point cloud intensity threshold, the point is considered not to be a reflective tape and can be screened out.
[0103] In one embodiment, all candidate reflective sticker point clouds are clustered and discrete points are removed. Specifically, the second point cloud data can be segmented according to the geometric distance between two adjacent candidate reflective sticker points. If the geometric distance between two adjacent candidate reflective sticker points is greater than the geometric distance threshold, the two candidate reflective sticker points belong to different point cloud blocks; if the geometric distance between two adjacent candidate reflective sticker points is less than the geometric distance threshold, the two candidate reflective sticker points belong to the same point cloud block. Then the candidate reflective sticker points belonging to the same point cloud block are clustered to obtain N second reflective sticker point clouds. Among them, if N is less than 2, it is considered that not enough reflective stickers can be found, and failure is returned. At this time, it is necessary to re-search for the target object and post the reflective sticker in the area where the target point is located, and then re-perform point cloud recognition until two or more second reflective sticker point clouds are identified.
[0104] S204: Generate the reflective sticker point cloud map corresponding to the target point based on at least two of the second reflective sticker point clouds.
[0105] In one embodiment, the clustered at least two second reflective sticker point clouds are saved as a reflective sticker point cloud map. The more second reflective sticker point clouds there are in the reflective sticker point cloud map, the more accurate the reflective sticker point cloud map is for locating the robot's position and posture.
[0106] Furthermore, the point information of the target point is obtained, wherein the point information includes the point type and the point ID; after generating the reflective sticker point cloud map, the target posture of the robot in the reflective sticker point cloud map when the robot is located at the target point is determined; the target posture and the point information are bound to the reflective sticker point cloud map to determine the correspondence between the target point and the reflective sticker point cloud map.
[0107] In one embodiment, the obtained reflective point cloud map is bound to the point information of the target point, for example, the point type and point ID of the target point are bound, such as the workstation ID of a certain type of workstation or the point ID of a robot charging point.
[0108] Specifically, the point information includes the point type and point ID, etc., which can be obtained through preset identification in the environment or direct recognition by sensors. For example, in an industrial automation scenario, each workstation can have a unique identifier (such as a QR code or RFID tag), and the robot recognizes these identifiers through a visual system or RFID reader.
[0109] In one embodiment, the generated reflective sticker point cloud map is used to determine the target posture of the robot at the target point through point cloud matching technology (such as ICP algorithm). The target posture may include the position (X, Y axis coordinates) and posture (angle θ) of the robot in the point cloud map.
[0110] The target pose and the position information of the target point are bound through a database or a specific data structure. For example, a database containing the robot poses of all points and the corresponding point IDs can be created. When the robot locates to a certain pose, the specific point where the robot is located can be determined by searching the database, or when the robot locates to a certain point, the pose of the robot at that point can be determined by searching the database.
[0111] This embodiment attaches reflective stickers around the target point, collects the point cloud data of the reflective stickers using laser radar, and generates a reflective sticker point cloud map through segmentation and clustering of the point cloud data, thereby achieving high-precision positioning of the robot at the target point, thereby improving the positioning accuracy and reliability of the robot in industrial automation scenarios. By binding the reflective sticker point cloud map with the point information of the target point (such as point type and point ID), the robot can quickly and accurately determine its position and posture in the environment, allowing the robot to perform tasks more accurately.
[0112] See also Figure 5 , Figure 5 It is a structural schematic diagram of the first embodiment of a posture correction device based on reflective sticker point cloud recognition provided in the present application. The posture correction device based on reflective sticker point cloud recognition is used to execute the aforementioned posture correction method based on reflective sticker point cloud recognition.
[0113] like Figure 5 As shown, the posture correction device 300 based on reflective sticker point cloud recognition includes: a first point cloud data acquisition module 301, a first reflective sticker recognition module 302, a current posture recognition module 303, a posture difference calculation module 304 and a posture correction module 305.
[0114] The first point cloud data acquisition module 301 is used to acquire first point cloud data of the area where the current point of the robot is located when the robot moves to a preset range of the target point;
[0115] A first reflective sticker recognition module 302 is used to filter out at least two point cloud data containing reflective stickers from the first point cloud data based on a preset point cloud intensity threshold, and obtain at least two first reflective sticker point clouds;
[0116] A current posture recognition module 303 is used to match the at least two first reflective sticker point clouds with the reflective sticker point cloud map corresponding to the target point, and recognize the current posture of the robot in the reflective sticker point cloud map;
[0117] A posture difference calculation module 304 is used to calculate the posture difference between the current posture and the target posture of the robot corresponding to the target point;
[0118] The posture correction module 305 is used to determine a moving route of the robot from the current posture to the target posture based on the posture difference, so as to control the robot to move from the current point to the target point according to the moving route.
[0119] In one embodiment, the first reflective tape recognition module 302 includes:
[0120] A candidate reflective sticker point cloud identification unit, used to traverse the first point cloud data and identify a candidate reflective sticker point cloud in the first point cloud data based on the point cloud intensity threshold;
[0121] The first reflective sticker point cloud obtaining unit is used to divide each of the candidate reflective sticker point clouds into at least two cluster point cloud blocks based on the geometric distance between each of the candidate reflective sticker points, and obtain at least two of the first reflective sticker point clouds.
[0122] In one embodiment, the first reflective sticker point cloud obtaining unit includes:
[0123] The same cluster point cloud identification subunit is used to classify two adjacent candidate reflective sticker point clouds into the same cluster point cloud block when the geometric distance between the two adjacent candidate reflective sticker point clouds is less than or equal to a preset distance threshold;
[0124] A different cluster point cloud identification subunit is used to classify two adjacent candidate reflective sticker point clouds into different cluster point cloud blocks when the geometric distance between the two adjacent candidate reflective sticker point clouds is greater than the preset distance threshold;
[0125] The point cloud clustering subunit is used to traverse the geometric distances between all the candidate reflective sticker points, determine the clustered point cloud blocks corresponding to each of the candidate reflective sticker points, and obtain at least two of the first reflective sticker point clouds.
[0126] In one embodiment, the candidate reflective sticker point cloud recognition unit includes:
[0127] A point cloud pre-degree recognition subunit, used for traversing the point cloud intensity value of each point cloud in the first point cloud data;
[0128] The candidate reflective sticker point cloud determination subunit is used to determine that the corresponding point cloud is the candidate reflective sticker point cloud when the point cloud intensity value is greater than or equal to the point cloud intensity threshold.
[0129] In one embodiment, the posture correction device 300 based on reflective sticker point cloud recognition further includes a point cloud map construction module, including:
[0130] A reflective tape placement unit, used to affix reflective tapes on at least two target objects in the area where the target point is located;
[0131] A second point cloud data acquisition unit is used to collect point cloud data of the reflective stickers on each target object at the target point position to obtain second point cloud data;
[0132] A second reflective sticker point cloud obtaining unit, configured to segment and cluster the second point cloud data based on the point cloud intensity threshold, to obtain at least two second reflective sticker point clouds;
[0133] A point cloud map generating unit is used to generate the reflective sticker point cloud map corresponding to the target point based on at least two of the second reflective sticker point clouds.
[0134] In one embodiment, the point cloud map construction module further includes:
[0135] A point information acquisition unit, used to acquire the point information of the target point, wherein the point information includes a point type and a point ID;
[0136] A target posture determination unit, used for determining the target posture of the robot in the reflective sticker point cloud map when the robot is located at the target point after generating the reflective sticker point cloud map;
[0137] A map binding unit is used to bind the target posture and the point information with the reflective sticker point cloud map to determine the corresponding relationship between the target point and the reflective sticker point cloud map.
[0138] In one embodiment, the posture difference includes a distance difference and an angle difference;
[0139] The posture difference calculation module 304 includes:
[0140] A current posture determination unit, used to determine the current coordinates and current posture of the robot in the reflective sticker point cloud map based on the current posture;
[0141] A target posture determination unit, used for determining the target coordinates and target posture of the robot in the reflective sticker point cloud map based on the target posture;
[0142] A distance difference calculation unit, used to calculate the distance difference from the current point to the target point based on the current coordinates and the target coordinates;
[0143] The angle difference calculation unit is used to calculate the angle difference of the robot from the current posture to the target posture based on the current posture and the target posture.
[0144] It should be noted that, those skilled in the art can clearly understand that, for the sake of convenience and conciseness of description, the specific working process of the above-described device and each module can refer to the corresponding process in the aforementioned embodiment of the posture correction method based on reflective sticker point cloud recognition, and will not be repeated here.
[0145] The apparatus provided in the above embodiment may be implemented in the form of a computer program. The computer program may be Figure 6 Runs on the computer device shown.
[0146] See also Figure 6 , Figure 6 1 is a schematic block diagram of a computer device provided in an embodiment of the present application. The computer device may be a server.
[0147] See also Figure 6 The computer device includes a processor, a memory and a network interface connected through a system bus, wherein the memory may include a non-volatile storage medium and an internal memory.
[0148] The non-volatile storage medium can store an operating system and a computer program. The computer program includes program instructions, and when the program instructions are executed, the processor can execute any one of the posture correction methods based on reflective sticker point cloud recognition.
[0149] The processor is used to provide computing and control capabilities and support the operation of the entire computer equipment.
[0150] The internal memory provides an environment for the operation of the computer program in the non-volatile storage medium. When the computer program is executed by the processor, the processor can execute any posture correction method based on reflective sticker point cloud recognition.
[0151] The network interface is used for network communication, such as sending assigned tasks, etc. Those skilled in the art will appreciate that Figure 6The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.
[0152] It should be understood that the processor may be a central processing unit (CPU), and the processor may also be other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. Among them, the general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc.
[0153] In one embodiment, the processor is used to run a computer program stored in the memory to implement the following steps:
[0154] When the robot moves to a preset range of a target point, first point cloud data of an area where the current point of the robot is located is collected;
[0155] Based on a preset point cloud intensity threshold, at least two point cloud data containing reflective tape are screened out from the first point cloud data to obtain at least two first reflective tape point clouds;
[0156] Matching the at least two first reflective sticker point clouds with a reflective sticker point cloud map corresponding to the target point, and identifying the current posture of the robot in the reflective sticker point cloud map;
[0157] Calculating a posture difference between the current posture and a target posture of the robot corresponding to the target point;
[0158] Based on the posture difference, the robot is controlled to move from the current posture to the target posture to complete the posture correction of the robot.
[0159] In one embodiment, when the processor implements the method of filtering out at least two point cloud data containing reflective stickers from the first point cloud data based on a preset point cloud intensity threshold and obtaining at least two first reflective sticker point clouds, the processor is used to implement:
[0160] Traversing the first point cloud data, and identifying a candidate reflective sticker point cloud in the first point cloud data based on the point cloud intensity threshold;
[0161] Based on the geometric distance between each of the candidate reflective sticker points, each of the candidate reflective sticker point clouds is divided into at least two clustered point cloud blocks to obtain at least two of the first reflective sticker point clouds.
[0162] In one embodiment, when the processor implements the step of dividing each candidate reflective sticker point cloud into at least two clustered point cloud blocks based on the geometric distance between each candidate reflective sticker point to obtain at least two first reflective sticker point clouds, it is used to implement:
[0163] When the geometric distance between two adjacent candidate reflective sticker point clouds is less than or equal to a preset distance threshold, classifying the two adjacent candidate reflective sticker point clouds into the same clustered point cloud block;
[0164] When the geometric distance between two adjacent candidate reflective sticker point clouds is greater than the preset distance threshold, classifying the two adjacent candidate reflective sticker point clouds into different clustered point cloud blocks;
[0165] Traverse the geometric distances between all the candidate reflective sticker points, determine the cluster point cloud blocks corresponding to each of the candidate reflective sticker points, and obtain at least two of the first reflective sticker point clouds.
[0166] In one embodiment, when the processor implements the traversal of the first point cloud data and identifies the candidate reflective sticker point cloud in the first point cloud data based on the point cloud intensity threshold, it is used to implement:
[0167] Traversing the point cloud intensity value of each point cloud in the first point cloud data;
[0168] When the point cloud intensity value is greater than or equal to the point cloud intensity threshold, the corresponding point cloud is determined to be the candidate reflective sticker point cloud.
[0169] In one embodiment, the processor is further used to implement, before acquiring the first point cloud data of the area where the current point of the robot is located when the robot moves to a preset range of the target point, to implement:
[0170] affixing reflective tape on at least two target objects in the area where the target point is located;
[0171] Collecting point cloud data of the reflective stickers on each target object at the target point position to obtain second point cloud data;
[0172] Based on the point cloud intensity threshold, segmenting and clustering the second point cloud data to obtain at least two second reflective sticker point clouds;
[0173] Based on at least two of the second reflective sticker point clouds, generate the reflective sticker point cloud map corresponding to the target point.
[0174] In one embodiment, the processor is further used to implement, before acquiring the first point cloud data of the area where the current point of the robot is located when the robot moves to a preset range of the target point, to implement:
[0175] Acquire the point information of the target point, wherein the point information includes the point type and the point ID;
[0176] After generating the reflective sticker point cloud map, determining the target posture of the robot in the reflective sticker point cloud map when the robot is located at the target point;
[0177] The target posture and the point information are bound to the reflective sticker point cloud map to determine the corresponding relationship between the target point and the reflective sticker point cloud map.
[0178] In one embodiment, the posture difference includes a distance difference and an angle difference;
[0179] When the processor calculates the posture difference between the current posture and the target posture of the robot corresponding to the target point, the processor is used to implement:
[0180] Based on the current position and posture, determine the current coordinates and current posture of the robot in the reflective sticker point cloud map;
[0181] Based on the target posture, determine the target coordinates and target posture of the robot in the reflective sticker point cloud map;
[0182] Based on the current coordinates and the target coordinates, calculating the distance difference from the current point to the target point;
[0183] Based on the current posture and the target posture, the angle difference of the robot from the current posture to the target posture is calculated.
[0184] A computer-readable storage medium is also provided in an embodiment of the present application, wherein the computer-readable storage medium stores a computer program, wherein the computer program includes program instructions, and the processor executes the program instructions to implement any one of the posture correction methods based on reflective point cloud recognition provided in the embodiments of the present application.
[0185] The computer-readable storage medium may be an internal storage unit of the computer device described in the foregoing embodiment, such as a hard disk or memory of the computer device. The computer-readable storage medium may also be an external storage device of the computer device, such as a plug-in hard disk, a smart memory card (SmartMedia Card, SMC), a secure digital (Secure Digital, SD) card, a flash card (Flash Card), etc., equipped on the computer device.
[0186] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any technician familiar with the technical field can easily think of various equivalent modifications or replacements within the technical scope disclosed in the present application, and these modifications or replacements should be included in the protection scope of the present application. Therefore, the protection scope of the present application shall be based on the protection scope of the claims.
Claims
1. A posture correction method based on reflective sticker point cloud recognition, characterized in that: The method comprises: When the robot moves to a preset range of a target point, first point cloud data of an area where the current point of the robot is located is collected; Based on a preset point cloud intensity threshold, at least two point cloud data containing reflective tape are screened out from the first point cloud data to obtain at least two first reflective tape point clouds; Matching the at least two first reflective sticker point clouds with a reflective sticker point cloud map corresponding to the target point, and identifying the current posture of the robot in the reflective sticker point cloud map; Calculating a posture difference between the current posture and a target posture of the robot corresponding to the target point; Based on the posture difference, the robot is controlled to move from the current posture to the target posture to complete the posture correction of the robot.
2. The method for posture correction based on reflective sticker point cloud recognition according to claim 1, characterized in that: The method of screening out at least two point cloud data containing reflective stickers from the first point cloud data based on a preset point cloud intensity threshold, and obtaining at least two first reflective sticker point clouds, comprises: Traversing the first point cloud data, and identifying a candidate reflective sticker point cloud in the first point cloud data based on the point cloud intensity threshold; Based on the geometric distance between each of the candidate reflective sticker points, each of the candidate reflective sticker point clouds is divided into at least two clustered point cloud blocks to obtain at least two of the first reflective sticker point clouds.
3. The method for posture correction based on reflective sticker point cloud recognition according to claim 2, characterized in that: The step of dividing each of the candidate reflective sticker point clouds into at least two clustered point cloud blocks based on the geometric distance between each of the candidate reflective sticker points to obtain at least two of the first reflective sticker point clouds comprises: When the geometric distance between two adjacent candidate reflective sticker point clouds is less than or equal to a preset distance threshold, classifying the two adjacent candidate reflective sticker point clouds into the same clustered point cloud block; When the geometric distance between two adjacent candidate reflective sticker point clouds is greater than the preset distance threshold, classifying the two adjacent candidate reflective sticker point clouds into different clustered point cloud blocks; Traverse the geometric distances between all the candidate reflective sticker points, determine the cluster point cloud blocks corresponding to each of the candidate reflective sticker points, and obtain at least two of the first reflective sticker point clouds.
4. The method for posture correction based on reflective sticker point cloud recognition according to claim 2, characterized in that: The traversing the first point cloud data and identifying a candidate reflective sticker point cloud in the first point cloud data based on the point cloud intensity threshold comprises: Traversing the point cloud intensity value of each point cloud in the first point cloud data; When the point cloud intensity value is greater than or equal to the point cloud intensity threshold, the corresponding point cloud is determined to be the candidate reflective sticker point cloud.
5. The method for posture correction based on reflective sticker point cloud recognition according to claim 1, characterized in that: When the robot moves to a preset range of a target point, before collecting the first point cloud data of the area where the current point of the robot is located, the method further includes: affixing reflective tape on at least two target objects in the area where the target point is located; Collecting point cloud data of the reflective stickers on each target object at the target point position to obtain second point cloud data; Based on the point cloud intensity threshold, segmenting and clustering the second point cloud data to obtain at least two second reflective sticker point clouds; Based on at least two of the second reflective sticker point clouds, the reflective sticker point cloud map corresponding to the target point is generated.
6. The method for posture correction based on reflective sticker point cloud recognition according to claim 5, characterized in that: When the robot moves to a preset range of a target point, before collecting the first point cloud data of the area where the current point of the robot is located, the method further includes: Acquire the point information of the target point, wherein the point information includes the point type and the point ID; After generating the reflective sticker point cloud map, determining the target posture of the robot in the reflective sticker point cloud map when the robot is located at the target point; The target posture and the point information are bound to the reflective sticker point cloud map to determine the corresponding relationship between the target point and the reflective sticker point cloud map.
7. The method for posture correction based on reflective sticker point cloud recognition according to claim 1, characterized in that: The posture difference includes a distance difference and an angle difference; The calculating the posture difference between the current posture and the target posture of the robot corresponding to the target point position includes: Based on the current position and posture, determine the current coordinates and current posture of the robot in the reflective sticker point cloud map; Based on the target posture, determine the target coordinates and target posture of the robot in the reflective sticker point cloud map; Based on the current coordinates and the target coordinates, calculating the distance difference from the current point to the target point; Based on the current posture and the target posture, the angle difference of the robot from the current posture to the target posture is calculated.
8. A posture correction device based on reflective sticker point cloud recognition, characterized in that: The posture correction device based on reflective sticker point cloud recognition includes: A first point cloud data acquisition module, used for acquiring first point cloud data of an area where the current point of the robot is located when the robot moves to a preset range of a target point; A first reflective tape recognition module, configured to filter out at least two point cloud data containing reflective tapes from the first point cloud data based on a preset point cloud intensity threshold, and obtain at least two first reflective tape point clouds; A current posture recognition module, used for matching the at least two first reflective sticker point clouds with the reflective sticker point cloud map corresponding to the target point, and identifying the current posture of the robot in the reflective sticker point cloud map; A posture difference calculation module, used to calculate the posture difference between the current posture and the target posture of the robot corresponding to the target point; The posture correction module is used to determine a moving route of the robot from a current posture to a target posture based on the posture difference, so as to control the robot to move from a current point to a target point according to the moving route.
9. A computer device, characterized in that: The computer device includes a processor, a memory, and a computer program stored in the memory and executable by the processor, wherein when the computer program is executed by the processor, the steps of the posture correction method based on reflective sticker point cloud recognition as described in any one of claims 1 to 7 are implemented.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, wherein when the computer program is executed by a processor, the steps of the posture correction method based on reflective sticker point cloud recognition as described in any one of claims 1 to 7 are implemented.